@okta/odyssey-react-mui 1.9.6 → 1.9.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/dist/Breadcrumbs.js +4 -3
- package/dist/Breadcrumbs.js.map +1 -1
- package/dist/labs/DataTable.js +2 -0
- package/dist/labs/DataTable.js.map +1 -1
- package/dist/src/labs/DataTable.d.ts +7 -1
- package/dist/src/labs/DataTable.d.ts.map +1 -1
- package/dist/src/theme/components.d.ts.map +1 -1
- package/dist/theme/components.js +36 -18
- package/dist/theme/components.js.map +1 -1
- package/dist/tsconfig.production.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/src/Breadcrumbs.tsx +3 -3
- package/src/labs/DataTable.tsx +8 -0
- package/src/theme/components.tsx +36 -16
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,13 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [1.9.7](https://github.com/okta/odyssey/compare/v1.9.6...v1.9.7) (2023-12-19)
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
- align CircularProgress with Figma ([#2060](https://github.com/okta/odyssey/issues/2060)) ([a900bcf](https://github.com/okta/odyssey/commit/a900bcf83cd408871545e9d8e840f9756e71bd79))
|
|
11
|
+
- align radio and checkbox styles with Figma ([#2059](https://github.com/okta/odyssey/issues/2059)) ([99b7e7a](https://github.com/okta/odyssey/commit/99b7e7a193941fc8a79c7ecb16a8a7b82b086a39))
|
|
12
|
+
|
|
6
13
|
## [1.9.6](https://github.com/okta/odyssey/compare/v1.9.5...v1.9.6) (2023-12-18)
|
|
7
14
|
|
|
8
15
|
**Note:** Version bump only for package @okta/odyssey-react-mui
|
package/dist/Breadcrumbs.js
CHANGED
|
@@ -15,7 +15,7 @@ import _MenuItem from "@mui/material/MenuItem";
|
|
|
15
15
|
*/
|
|
16
16
|
import { createContext, memo, useCallback, useContext, useMemo, useState } from "react";
|
|
17
17
|
import { GroupIcon, HomeIcon, UserIcon } from "./icons.generated/index.js";
|
|
18
|
-
import {
|
|
18
|
+
import { Subordinate } from "./Typography.js";
|
|
19
19
|
import { useTranslation } from "react-i18next";
|
|
20
20
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
21
21
|
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
@@ -42,7 +42,8 @@ export const Breadcrumb = _ref => {
|
|
|
42
42
|
});
|
|
43
43
|
}
|
|
44
44
|
if (breadcrumbType === "currentPage") {
|
|
45
|
-
return _jsx(
|
|
45
|
+
return _jsx(Subordinate, {
|
|
46
|
+
color: "textPrimary",
|
|
46
47
|
children: breadcrumbContent
|
|
47
48
|
});
|
|
48
49
|
}
|
|
@@ -107,7 +108,7 @@ const BreadcrumbList = _ref2 => {
|
|
|
107
108
|
})), breadcrumbSections.insideMenu && _jsxs(_Fragment, {
|
|
108
109
|
children: [_jsx(_ButtonBase, {
|
|
109
110
|
onClick: onMenuButtonClick,
|
|
110
|
-
children: "
|
|
111
|
+
children: "..."
|
|
111
112
|
}), _jsx(_Menu, {
|
|
112
113
|
open: Boolean(anchorEl),
|
|
113
114
|
onClose: onCloseMenu,
|
package/dist/Breadcrumbs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Breadcrumbs.js","names":["createContext","memo","useCallback","useContext","useMemo","useState","GroupIcon","HomeIcon","UserIcon","Typography","useTranslation","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","BreadcrumbContext","breadcrumbType","Breadcrumb","_ref","children","href","iconName","breadcrumbContent","_MenuItem","_ButtonBase","breadcrumbProviderValue","currentPage","listItem","menuItem","defaultTruncationValue","BreadcrumbList","_ref2","homeHref","maxVisibleItems","t","anchorEl","setAnchorEl","breadcrumbSections","length","beforeMenu","insideMenu","remainingBreadcrumbs","menuStart","Math","floor","menuLength","slice","onMenuButtonClick","event","currentTarget","onCloseMenu","_Breadcrumbs","maxItems","map","breadcrumb","Provider","value","onClick","_Menu","open","Boolean","onClose","anchorOrigin","horizontal","vertical","MenuListProps","sx","minWidth","i","MemoizedBreadcrumbList","displayName"],"sources":["../src/Breadcrumbs.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 {\n ButtonBase,\n Menu,\n MenuItem,\n Breadcrumbs as MuiBreadcrumbs,\n} from \"@mui/material\";\nimport {\n MouseEventHandler,\n ReactElement,\n createContext,\n memo,\n useCallback,\n useContext,\n useMemo,\n useState,\n} from \"react\";\nimport { GroupIcon, HomeIcon, UserIcon } from \"./icons.generated\";\nimport { Typography } from \"./Typography\";\nimport { useTranslation } from \"react-i18next\";\n\nexport type BreadcrumbType = \"listItem\" | \"menuItem\" | \"currentPage\";\n\nexport type BreadcrumbProps = {\n children?: string;\n href: string;\n iconName?: \"user\" | \"group\";\n};\n\nexport type BreadcrumbsProps = {\n children: ReactElement<typeof Breadcrumb>[];\n homeHref?: string;\n maxVisibleItems?: number;\n};\n\nexport type BreadcrumbContextType = {\n breadcrumbType: BreadcrumbType;\n};\n\nexport const BreadcrumbContext = createContext<BreadcrumbContextType>({\n breadcrumbType: \"listItem\",\n});\n\nexport const Breadcrumb = ({ children, href, iconName }: BreadcrumbProps) => {\n const { breadcrumbType } = useContext(BreadcrumbContext);\n\n const breadcrumbContent = (\n <>\n {iconName === \"group\" ? (\n <GroupIcon />\n ) : iconName === \"user\" ? (\n <UserIcon />\n ) : null}\n {children}\n </>\n );\n\n if (breadcrumbType === \"menuItem\") {\n return <MenuItem href={href}>{breadcrumbContent}</MenuItem>;\n }\n\n if (breadcrumbType === \"currentPage\") {\n return <Typography>{breadcrumbContent}</Typography>;\n }\n\n // breadcrumbType === \"listItem\" is the default\n // Provided here without a conditional to get TS to be quiet\n // about potential undefined returns\n return <ButtonBase href={href}>{breadcrumbContent}</ButtonBase>;\n};\n\nconst breadcrumbProviderValue: Record<\n BreadcrumbType,\n { breadcrumbType: BreadcrumbType }\n> = {\n currentPage: {\n breadcrumbType: \"currentPage\",\n },\n listItem: {\n breadcrumbType: \"listItem\",\n },\n menuItem: {\n breadcrumbType: \"menuItem\",\n },\n};\n\nconst defaultTruncationValue = 5;\n\nconst BreadcrumbList = ({\n children,\n homeHref,\n maxVisibleItems = defaultTruncationValue,\n}: BreadcrumbsProps) => {\n const { t } = useTranslation();\n\n const [anchorEl, setAnchorEl] = useState<HTMLElement | null>(null);\n\n const breadcrumbSections = useMemo(() => {\n if (children.length <= maxVisibleItems) {\n return {\n beforeMenu: [],\n insideMenu: [],\n remainingBreadcrumbs: children,\n };\n } else {\n const menuStart = Math.floor(maxVisibleItems / 2);\n const menuLength = children.length - maxVisibleItems;\n\n return {\n beforeMenu: children.slice(0, menuStart),\n insideMenu: children.slice(menuStart, menuStart + menuLength),\n remainingBreadcrumbs: children.slice(menuStart + menuLength),\n };\n }\n }, [children, maxVisibleItems]);\n\n const onMenuButtonClick = useCallback<MouseEventHandler<HTMLButtonElement>>(\n (event) => setAnchorEl(event.currentTarget),\n []\n );\n const onCloseMenu = useCallback(() => {\n setAnchorEl(null);\n }, []);\n\n return (\n <MuiBreadcrumbs\n maxItems={children.length + 1}\n aria-label={t(\"breadcrumbs.label.text\")}\n >\n {homeHref && (\n <ButtonBase href={homeHref} aria-label={t(\"breadcrumbs.home.text\")}>\n <HomeIcon />\n </ButtonBase>\n )}\n\n {breadcrumbSections.beforeMenu.map((breadcrumb) => (\n <BreadcrumbContext.Provider value={breadcrumbProviderValue.listItem}>\n {breadcrumb}\n </BreadcrumbContext.Provider>\n ))}\n\n {breadcrumbSections.insideMenu && (\n <>\n <ButtonBase onClick={onMenuButtonClick}>…</ButtonBase>\n <Menu\n open={Boolean(anchorEl)}\n onClose={onCloseMenu}\n anchorEl={anchorEl}\n anchorOrigin={{ horizontal: \"left\", vertical: \"bottom\" }}\n MenuListProps={{\n sx: {\n minWidth: 180,\n },\n }}\n >\n <BreadcrumbContext.Provider\n value={breadcrumbProviderValue.menuItem}\n >\n {breadcrumbSections.insideMenu}\n </BreadcrumbContext.Provider>\n </Menu>\n </>\n )}\n\n {breadcrumbSections.remainingBreadcrumbs.map((breadcrumb, i) => {\n if (i === breadcrumbSections.remainingBreadcrumbs.length - 1) {\n return (\n <BreadcrumbContext.Provider\n value={breadcrumbProviderValue.currentPage}\n >\n {breadcrumb}\n </BreadcrumbContext.Provider>\n );\n }\n return (\n <BreadcrumbContext.Provider value={breadcrumbProviderValue.listItem}>\n {breadcrumb}\n </BreadcrumbContext.Provider>\n );\n })}\n </MuiBreadcrumbs>\n );\n};\n\nconst MemoizedBreadcrumbList = memo(BreadcrumbList);\nMemoizedBreadcrumbList.displayName = \"BreadcrumbList\";\n\nexport { MemoizedBreadcrumbList as BreadcrumbList };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Breadcrumbs.js","names":["createContext","memo","useCallback","useContext","useMemo","useState","GroupIcon","HomeIcon","UserIcon","Subordinate","useTranslation","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","BreadcrumbContext","breadcrumbType","Breadcrumb","_ref","children","href","iconName","breadcrumbContent","_MenuItem","color","_ButtonBase","breadcrumbProviderValue","currentPage","listItem","menuItem","defaultTruncationValue","BreadcrumbList","_ref2","homeHref","maxVisibleItems","t","anchorEl","setAnchorEl","breadcrumbSections","length","beforeMenu","insideMenu","remainingBreadcrumbs","menuStart","Math","floor","menuLength","slice","onMenuButtonClick","event","currentTarget","onCloseMenu","_Breadcrumbs","maxItems","map","breadcrumb","Provider","value","onClick","_Menu","open","Boolean","onClose","anchorOrigin","horizontal","vertical","MenuListProps","sx","minWidth","i","MemoizedBreadcrumbList","displayName"],"sources":["../src/Breadcrumbs.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 {\n ButtonBase,\n Menu,\n MenuItem,\n Breadcrumbs as MuiBreadcrumbs,\n} from \"@mui/material\";\nimport {\n MouseEventHandler,\n ReactElement,\n createContext,\n memo,\n useCallback,\n useContext,\n useMemo,\n useState,\n} from \"react\";\nimport { GroupIcon, HomeIcon, UserIcon } from \"./icons.generated\";\nimport { Subordinate } from \"./Typography\";\nimport { useTranslation } from \"react-i18next\";\n\nexport type BreadcrumbType = \"listItem\" | \"menuItem\" | \"currentPage\";\n\nexport type BreadcrumbProps = {\n children?: string;\n href: string;\n iconName?: \"user\" | \"group\";\n};\n\nexport type BreadcrumbsProps = {\n children: ReactElement<typeof Breadcrumb>[];\n homeHref?: string;\n maxVisibleItems?: number;\n};\n\nexport type BreadcrumbContextType = {\n breadcrumbType: BreadcrumbType;\n};\n\nexport const BreadcrumbContext = createContext<BreadcrumbContextType>({\n breadcrumbType: \"listItem\",\n});\n\nexport const Breadcrumb = ({ children, href, iconName }: BreadcrumbProps) => {\n const { breadcrumbType } = useContext(BreadcrumbContext);\n\n const breadcrumbContent = (\n <>\n {iconName === \"group\" ? (\n <GroupIcon />\n ) : iconName === \"user\" ? (\n <UserIcon />\n ) : null}\n {children}\n </>\n );\n\n if (breadcrumbType === \"menuItem\") {\n return <MenuItem href={href}>{breadcrumbContent}</MenuItem>;\n }\n\n if (breadcrumbType === \"currentPage\") {\n return <Subordinate color=\"textPrimary\">{breadcrumbContent}</Subordinate>;\n }\n\n // breadcrumbType === \"listItem\" is the default\n // Provided here without a conditional to get TS to be quiet\n // about potential undefined returns\n return <ButtonBase href={href}>{breadcrumbContent}</ButtonBase>;\n};\n\nconst breadcrumbProviderValue: Record<\n BreadcrumbType,\n { breadcrumbType: BreadcrumbType }\n> = {\n currentPage: {\n breadcrumbType: \"currentPage\",\n },\n listItem: {\n breadcrumbType: \"listItem\",\n },\n menuItem: {\n breadcrumbType: \"menuItem\",\n },\n};\n\nconst defaultTruncationValue = 5;\n\nconst BreadcrumbList = ({\n children,\n homeHref,\n maxVisibleItems = defaultTruncationValue,\n}: BreadcrumbsProps) => {\n const { t } = useTranslation();\n\n const [anchorEl, setAnchorEl] = useState<HTMLElement | null>(null);\n\n const breadcrumbSections = useMemo(() => {\n if (children.length <= maxVisibleItems) {\n return {\n beforeMenu: [],\n insideMenu: [],\n remainingBreadcrumbs: children,\n };\n } else {\n const menuStart = Math.floor(maxVisibleItems / 2);\n const menuLength = children.length - maxVisibleItems;\n\n return {\n beforeMenu: children.slice(0, menuStart),\n insideMenu: children.slice(menuStart, menuStart + menuLength),\n remainingBreadcrumbs: children.slice(menuStart + menuLength),\n };\n }\n }, [children, maxVisibleItems]);\n\n const onMenuButtonClick = useCallback<MouseEventHandler<HTMLButtonElement>>(\n (event) => setAnchorEl(event.currentTarget),\n []\n );\n const onCloseMenu = useCallback(() => {\n setAnchorEl(null);\n }, []);\n\n return (\n <MuiBreadcrumbs\n maxItems={children.length + 1}\n aria-label={t(\"breadcrumbs.label.text\")}\n >\n {homeHref && (\n <ButtonBase href={homeHref} aria-label={t(\"breadcrumbs.home.text\")}>\n <HomeIcon />\n </ButtonBase>\n )}\n\n {breadcrumbSections.beforeMenu.map((breadcrumb) => (\n <BreadcrumbContext.Provider value={breadcrumbProviderValue.listItem}>\n {breadcrumb}\n </BreadcrumbContext.Provider>\n ))}\n\n {breadcrumbSections.insideMenu && (\n <>\n <ButtonBase onClick={onMenuButtonClick}>...</ButtonBase>\n <Menu\n open={Boolean(anchorEl)}\n onClose={onCloseMenu}\n anchorEl={anchorEl}\n anchorOrigin={{ horizontal: \"left\", vertical: \"bottom\" }}\n MenuListProps={{\n sx: {\n minWidth: 180,\n },\n }}\n >\n <BreadcrumbContext.Provider\n value={breadcrumbProviderValue.menuItem}\n >\n {breadcrumbSections.insideMenu}\n </BreadcrumbContext.Provider>\n </Menu>\n </>\n )}\n\n {breadcrumbSections.remainingBreadcrumbs.map((breadcrumb, i) => {\n if (i === breadcrumbSections.remainingBreadcrumbs.length - 1) {\n return (\n <BreadcrumbContext.Provider\n value={breadcrumbProviderValue.currentPage}\n >\n {breadcrumb}\n </BreadcrumbContext.Provider>\n );\n }\n return (\n <BreadcrumbContext.Provider value={breadcrumbProviderValue.listItem}>\n {breadcrumb}\n </BreadcrumbContext.Provider>\n );\n })}\n </MuiBreadcrumbs>\n );\n};\n\nconst MemoizedBreadcrumbList = memo(BreadcrumbList);\nMemoizedBreadcrumbList.displayName = \"BreadcrumbList\";\n\nexport { MemoizedBreadcrumbList as BreadcrumbList };\n"],"mappings":"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"}
|
package/dist/labs/DataTable.js
CHANGED
|
@@ -35,6 +35,7 @@ const DataTable = _ref => {
|
|
|
35
35
|
reorderDataFn,
|
|
36
36
|
totalRows,
|
|
37
37
|
hasSearchSubmitButton,
|
|
38
|
+
searchDelayTime,
|
|
38
39
|
paginationType = "paged",
|
|
39
40
|
onRowSelectionChange,
|
|
40
41
|
rowActionButtons,
|
|
@@ -332,6 +333,7 @@ const DataTable = _ref => {
|
|
|
332
333
|
onChangeSearch: hasSearch ? handleSearch : undefined,
|
|
333
334
|
onChangeFilters: handleFilters,
|
|
334
335
|
hasSearchSubmitButton: hasSearchSubmitButton,
|
|
336
|
+
searchDelayTime: searchDelayTime,
|
|
335
337
|
additionalActions: tableSettings,
|
|
336
338
|
filters: hasFilters ? columns.filter(column => column.enableColumnFilter !== false).map(column => {
|
|
337
339
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTable.js","names":["useMaterialReactTable","MRT_TableContainer","memo","useCallback","useEffect","useMemo","useRef","useState","ArrowTopIcon","ArrowBottomIcon","ArrowDownIcon","ArrowUpIcon","DragIndicatorIcon","ListIcon","ShowIcon","MoreIcon","DataTablePagination","DataFilters","Box","MenuButton","MenuItem","ArrowUnsortedIcon","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","densityValues","DataTable","_ref","columns","data","dataProp","getRowId","page","pageProp","initialDensity","resultsPerPage","resultsPerPageProp","fetchDataFn","reorderDataFn","totalRows","hasSearchSubmitButton","paginationType","onRowSelectionChange","rowActionButtons","rowActionMenuItems","hasChangeableDensity","hasColumnResizing","hasColumnVisibility","hasFilters","hasPagination","hasRowReordering","hasRowSelection","hasSearch","hasSorting","draggingRow","setDraggingRow","showSkeletons","setShowSkeletons","setData","setPage","setResultsPerPage","rowSelection","setRowSelection","sorting","setSorting","density","setDensity","initialColumnVisibility","reduce","acc","column","accessorKey","columnVisibility","setColumnVisibility","globalFilter","setGlobalFilter","filters","setFilters","refreshData","newData","sort","search","error","console","log","handleSortingChange","updater","prevSorting","Function","handleColumnVisibility","columnId","prevVisibility","handleSearch","value","handleFilters","updatedFilters","handleRowSelectionChange","prevRowSelection","handleReordering","_ref2","rowId","newIndex","rowVirtualizerInstanceRef","table","state","rowVirtualizerOptions","overscan","enableRowVirtualization","enableColumnResizing","enableDensityToggle","enableFullScreenToggle","enablePagination","enableRowSelection","enableFilters","enableHiding","enableRowOrdering","enableRowDragging","enableSorting","selectAllMode","enableColumnActions","layoutMode","displayColumnDefOptions","muiTableBodyCellProps","align","sx","overflow","width","muiTableHeadCellProps","header","minWidth","enableGlobalFilter","manualFiltering","manualSorting","icons","ArrowDownwardIcon","DragHandleIcon","SyncAltIcon","onSortingChange","enableRowActions","positionActionsColumn","_ref3","className","find","item","id","muiTableBodyRowProps","_ref4","row","getState","hoveredRow","undefined","muiRowDragHandleProps","tabIndex","onDragEnd","cols","getAllColumns","toggleVisibility","index","onDragCapture","renderRowActions","_ref5","currentIndex","display","children","endIcon","size","buttonVariant","ariaLabel","menuAlignment","isDisabled","onClick","tableSettings","shouldCloseOnSelect","map","isSelected","charAt","toUpperCase","slice","filter","_Checkbox","checked","flexDirection","gap","onChangeSearch","onChangeFilters","additionalActions","enableColumnFilter","label","variant","filterVariant","options","filterSelectOptions","currentNumberOfResults","length","currentPage","isPreviousButtonDisabled","isNextButtonDisabled","onClickPrevious","onClickNext","MemoizedDataTable","displayName"],"sources":["../../src/labs/DataTable.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 {\n MRT_Updater,\n MRT_Virtualizer,\n MRT_RowData,\n MRT_TableOptions,\n useMaterialReactTable,\n MRT_SortingState,\n MRT_DensityState,\n MRT_VisibilityState,\n MRT_TableContainer,\n MRT_RowSelectionState,\n MRT_Row,\n MRT_ColumnDef,\n} from \"material-react-table\";\nimport {\n Fragment,\n ReactElement,\n memo,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport {\n ArrowTopIcon,\n ArrowBottomIcon,\n ArrowDownIcon,\n ArrowUpIcon,\n DragIndicatorIcon,\n ListIcon,\n ShowIcon,\n MoreIcon,\n} from \"../icons.generated\";\nimport { Checkbox as MuiCheckbox } from \"@mui/material\";\nimport {\n DataTablePagination,\n paginationTypeValues,\n} from \"./DataTablePagination\";\nimport { DataFilter, DataFilters } from \"./DataFilters\";\nimport { Button } from \"../Button\";\nimport { Box } from \"../Box\";\nimport { MenuButton, MenuItem } from \"..\";\nimport { ArrowUnsortedIcon } from \"../icons.generated\";\n\nexport const densityValues = [\"comfortable\", \"spacious\", \"compact\"] as const;\n\nexport type {\n MRT_ColumnFiltersState,\n MRT_SortingState,\n MRT_ColumnDef as TableColumn,\n} from \"material-react-table\";\n\n// The shape of the table columns,\n// with props named to match their MRT_ColumnDef counterparts\nexport type DataColumn = {\n /**\n * The unique ID of the column\n */\n accessorKey: string;\n /**\n * The human-friendly title of the column\n */\n header: string;\n /**\n * Customize the way each cell in the column is\n * displayed via a custom React component.\n */\n Cell?: MRT_ColumnDef<MRT_RowData>[\"Cell\"];\n /**\n * The UI control that will be used to filter the column.\n * Defaults to a standard text input.\n */\n filterVariant?: MRT_ColumnDef<MRT_RowData>[\"filterVariant\"];\n /**\n * If the filter control has preset options (such as a select or multi-select),\n * these are the options provided.\n */\n filterSelectOptions?: Array<{ label: string; value: string }>;\n /**\n * The optional column width, in pixels\n */\n size?: number;\n /**\n * The minimum column width, in pixels\n */\n minSize?: number;\n /**\n * The maximum column width, in pixels\n */\n maxSize?: number;\n /**\n * If set to false, the column won't be filterable\n */\n enableColumnFilter?: boolean;\n /**\n * If set to false, the column won't be searchable\n */\n enableGlobalFilter?: boolean;\n /**\n * If set to false, the column won't be sortable\n */\n enableSorting?: boolean;\n /**\n * If set to false, the column won't be resizable\n */\n enableResizing?: boolean;\n /**\n * If set to false, the column won't be hideable\n */\n enableHiding?: boolean;\n};\n\nexport type DataTableProps = {\n /**\n * The columns that make up the table\n */\n columns: DataColumn[];\n /**\n * The data that goes into the table, which will be displayed\n * as the table rows\n */\n data: MRT_TableOptions<MRT_RowData>[\"data\"];\n /**\n * The total number of rows in the table. Optional, because it's sometimes impossible\n * to calculate. Used in table pagination to know when to disable the \"next\"/\"more\" button.\n */\n totalRows?: number;\n /**\n * The function to get the ID of a row\n */\n getRowId?: MRT_TableOptions<MRT_RowData>[\"getRowId\"];\n /**\n * The initial density of the table. This is available even if the table density\n * isn't changeable.\n */\n initialDensity?: (typeof densityValues)[number];\n /**\n * If true, the end user will be able to change the table density.\n */\n hasChangeableDensity?: boolean;\n /**\n * If true, the end user can resize individual columns.\n */\n hasColumnResizing?: boolean;\n /**\n * If true, the end user will be able to show/hide columns.\n */\n hasColumnVisibility?: boolean;\n /**\n * If true, the end user will be able to filter columns.\n */\n hasFilters?: boolean;\n /**\n * If true, the table will include pagination controls.\n */\n hasPagination?: boolean;\n /**\n * If true, the table will include checkboxes on each row, enabling\n * the user to select some or all rows.\n */\n hasRowSelection?: boolean;\n /**\n * If true, the global table search controls will be shown.\n */\n hasSearch?: boolean;\n /**\n * If true, the end user can sort columns (ascending, descending, or neither)\n */\n hasSorting?: boolean;\n /**\n * If true, the end user can reorder rows via a drag-and-drop interface\n */\n hasRowReordering?: boolean;\n /**\n * If true, the search field will include a Search button, rather than\n * firing on input change.\n */\n hasSearchSubmitButton?: boolean;\n /**\n * Callback that fires when a row (or rows) is selected or unselected.\n */\n onRowSelectionChange?: (rowSelection: MRT_RowSelectionState) => void;\n /**\n * Callback that fires whenever the table needs to fetch new data, due to changes in\n * page, results per page, search input, filters, or sorting\n */\n fetchDataFn: ({\n page,\n resultsPerPage,\n search,\n filters,\n sort,\n }: {\n page?: number;\n resultsPerPage?: number;\n search?: string;\n filters?: DataFilter[];\n sort?: MRT_SortingState;\n }) => MRT_TableOptions<MRT_RowData>[\"data\"];\n /**\n * Callback that fires when the user reorders rows within the table. Can be used\n * to propogate order change to the backend.\n */\n reorderDataFn?: ({\n rowId,\n newIndex,\n }: {\n rowId: string;\n newIndex: number;\n }) => void;\n /**\n * The current page number.\n */\n page?: number;\n /**\n * The number of results per page.\n */\n resultsPerPage?: number;\n /**\n * The type of pagination controls shown. Defaults to next/prev buttons, but can be\n * set to a simple \"Load more\" button by setting to \"loadMore\".\n */\n paginationType?: (typeof paginationTypeValues)[number];\n /**\n * Action buttons to display in each row\n */\n rowActionButtons?: (\n row: MRT_RowData\n ) => ReactElement<typeof Button | typeof Fragment>;\n /**\n * Menu items to include in the optional actions menu on each row.\n */\n rowActionMenuItems?: (\n row: MRT_RowData\n ) => ReactElement<typeof MenuItem | typeof Fragment>;\n};\n\nconst DataTable = ({\n columns,\n data: dataProp,\n getRowId,\n page: pageProp = 1,\n initialDensity = densityValues[0],\n resultsPerPage: resultsPerPageProp = 20,\n fetchDataFn,\n reorderDataFn,\n totalRows,\n hasSearchSubmitButton,\n paginationType = \"paged\",\n onRowSelectionChange,\n rowActionButtons,\n rowActionMenuItems,\n hasChangeableDensity,\n hasColumnResizing,\n hasColumnVisibility,\n hasFilters,\n hasPagination,\n hasRowReordering,\n hasRowSelection,\n hasSearch,\n hasSorting,\n}: DataTableProps) => {\n const [draggingRow, setDraggingRow] = useState<MRT_Row<MRT_RowData> | null>();\n const [showSkeletons, setShowSkeletons] = useState<boolean>(true);\n const [data, setData] =\n useState<MRT_TableOptions<MRT_RowData>[\"data\"]>(dataProp);\n const [page, setPage] = useState<number>(pageProp);\n const [resultsPerPage, setResultsPerPage] =\n useState<number>(resultsPerPageProp);\n const [rowSelection, setRowSelection] = useState<MRT_RowSelectionState>({});\n const [sorting, setSorting] = useState<MRT_SortingState>([]);\n const [density, setDensity] = useState<MRT_DensityState>(initialDensity);\n\n const initialColumnVisibility = useMemo(() => {\n return columns.reduce((acc, column) => {\n acc[column.accessorKey as string] = true;\n return acc;\n }, {} as MRT_VisibilityState);\n }, [columns]);\n\n const [columnVisibility, setColumnVisibility] = useState<MRT_VisibilityState>(\n initialColumnVisibility\n );\n\n const [globalFilter, setGlobalFilter] = useState<string>(\"\");\n const [filters, setFilters] = useState<Array<DataFilter>>();\n\n const refreshData = useCallback(async () => {\n setShowSkeletons(true);\n try {\n const newData = await fetchDataFn({\n page: page,\n resultsPerPage: resultsPerPage,\n sort: sorting,\n search: globalFilter,\n filters: filters,\n });\n setData(newData);\n setShowSkeletons(false);\n } catch (error) {\n console.log(error);\n setShowSkeletons(false);\n }\n }, [page, resultsPerPage, sorting, globalFilter, filters, fetchDataFn]);\n\n const handleSortingChange = useCallback(\n (updater: MRT_Updater<MRT_SortingState>) => {\n setSorting((prevSorting) =>\n updater instanceof Function ? updater(prevSorting) : sorting\n );\n },\n [sorting]\n );\n\n const handleColumnVisibility = useCallback(\n (columnId: string) => {\n setColumnVisibility((prevVisibility) => ({\n ...prevVisibility,\n [columnId]: !columnVisibility[columnId],\n }));\n },\n [columnVisibility]\n );\n\n const handleSearch = useCallback((value: string) => {\n setGlobalFilter(value);\n }, []);\n\n const handleFilters = useCallback((updatedFilters: Array<DataFilter>) => {\n setFilters(updatedFilters);\n }, []);\n\n const handleRowSelectionChange = useCallback(\n (updater: MRT_Updater<MRT_RowSelectionState>) => {\n setRowSelection((prevRowSelection) =>\n updater instanceof Function ? updater(prevRowSelection) : rowSelection\n );\n },\n [rowSelection]\n );\n\n const handleReordering = useCallback(\n ({ rowId, newIndex }: { rowId: string; newIndex: number }) => {\n if (newIndex < 0) {\n return;\n }\n\n if (totalRows && newIndex > totalRows) {\n return;\n }\n\n reorderDataFn?.({ rowId, newIndex });\n refreshData();\n },\n [totalRows, reorderDataFn, refreshData]\n );\n\n useEffect(() => {\n setShowSkeletons(false);\n }, [data]);\n\n useEffect(() => {\n refreshData();\n }, [refreshData, page, resultsPerPage, sorting, globalFilter, filters]);\n\n useEffect(() => {\n onRowSelectionChange?.(rowSelection);\n }, [rowSelection, onRowSelectionChange]);\n\n const rowVirtualizerInstanceRef =\n useRef<MRT_Virtualizer<HTMLDivElement, HTMLTableRowElement>>(null);\n\n const table = useMaterialReactTable({\n columns: columns,\n data: data,\n state: {\n density,\n sorting,\n globalFilter,\n columnVisibility,\n rowSelection,\n showSkeletons,\n },\n rowVirtualizerInstanceRef: rowVirtualizerInstanceRef,\n rowVirtualizerOptions: { overscan: 4 },\n enableRowVirtualization:\n paginationType === \"loadMore\" || resultsPerPage > 50,\n enableColumnResizing: hasColumnResizing,\n enableDensityToggle: false,\n enableFullScreenToggle: false,\n enablePagination: false,\n enableRowSelection: hasRowSelection,\n enableFilters: false,\n enableHiding: false,\n enableRowOrdering: hasRowReordering,\n enableRowDragging: hasRowReordering,\n enableSorting: hasSorting,\n selectAllMode: \"all\",\n enableColumnActions: false,\n layoutMode: \"grid-no-grow\",\n displayColumnDefOptions: {\n \"mrt-row-actions\": {\n muiTableBodyCellProps: {\n align: \"right\",\n sx: {\n overflow: \"visible\",\n width: \"unset\",\n },\n },\n muiTableHeadCellProps: {\n align: \"right\",\n sx: {\n width: \"unset\",\n // TODO: Make the right padding here 16px (and possibly adapt it to the density padding)\n },\n },\n },\n \"mrt-row-drag\": {\n header: \"\",\n muiTableBodyCellProps: {\n sx: {\n minWidth: 0,\n width: 32,\n },\n },\n muiTableHeadCellProps: {\n sx: {\n minWidth: 0,\n width: 32,\n },\n },\n },\n },\n enableGlobalFilter: false,\n manualFiltering: true,\n manualSorting: true,\n getRowId: getRowId,\n icons: {\n ArrowDownwardIcon: ArrowDownIcon,\n DragHandleIcon: DragIndicatorIcon,\n SyncAltIcon: ArrowUnsortedIcon,\n },\n onSortingChange: handleSortingChange,\n onRowSelectionChange: handleRowSelectionChange,\n enableRowActions:\n hasRowReordering === true || rowActionButtons || rowActionMenuItems\n ? true\n : false,\n positionActionsColumn: \"last\",\n\n muiTableHeadCellProps: ({ column }) => ({\n className: sorting.find((item) => item.id === column.id)\n ? \"isSorted\"\n : \"isUnsorted\",\n }),\n\n muiTableBodyRowProps: ({ table, row }) => ({\n className:\n draggingRow?.id === row.id && table.getState().hoveredRow?.id !== row.id\n ? \"isDragging\"\n : table.getState().hoveredRow?.id === row.id &&\n draggingRow?.id !== row.id\n ? \"isDragTarget\"\n : draggingRow?.id === row.id &&\n table.getState().hoveredRow?.id === row.id\n ? \"isDragging isDragTarget\"\n : undefined,\n }),\n\n muiRowDragHandleProps: {\n tabIndex: -1,\n onDragEnd: () => {\n const cols = table.getAllColumns();\n cols[0].toggleVisibility();\n\n const { draggingRow, hoveredRow } = table.getState();\n if (draggingRow) {\n handleReordering({\n rowId: draggingRow.id,\n newIndex: (hoveredRow as MRT_RowData).index,\n });\n }\n\n setDraggingRow(null);\n },\n\n onDragCapture: () => {\n if (!draggingRow && table.getState().draggingRow?.id) {\n setDraggingRow(table.getState().draggingRow);\n }\n },\n },\n\n renderRowActions: ({ row }) => {\n const currentIndex = row.index + (page - 1) * resultsPerPage;\n\n return (\n <Box sx={{ display: \"flex\" }}>\n {rowActionButtons?.(row)}\n {(rowActionMenuItems || hasRowReordering) && (\n <MenuButton\n endIcon={<MoreIcon />}\n size=\"small\"\n buttonVariant=\"floating\"\n ariaLabel=\"More actions\"\n menuAlignment=\"right\"\n >\n {rowActionMenuItems && (\n <>\n {rowActionMenuItems(row)}\n <hr />\n </>\n )}\n <MenuItem\n isDisabled={currentIndex <= 0}\n onClick={() => handleReordering({ rowId: row.id, newIndex: 0 })}\n >\n <ArrowTopIcon /> Bring to front\n </MenuItem>\n <MenuItem\n isDisabled={currentIndex <= 0}\n onClick={() =>\n handleReordering({\n rowId: row.id,\n newIndex: currentIndex <= 0 ? 0 : currentIndex - 1,\n })\n }\n >\n <ArrowUpIcon /> Bring forward\n </MenuItem>\n <MenuItem\n isDisabled={totalRows ? currentIndex >= totalRows - 1 : false}\n onClick={() =>\n handleReordering({\n rowId: row.id,\n newIndex: currentIndex + 1,\n })\n }\n >\n <ArrowDownIcon /> Send backward\n </MenuItem>\n <>\n {totalRows && (\n <MenuItem\n isDisabled={currentIndex >= totalRows - 1}\n onClick={() =>\n handleReordering({\n rowId: row.id,\n newIndex: totalRows,\n })\n }\n >\n <ArrowBottomIcon /> Send to back\n </MenuItem>\n )}\n </>\n </MenuButton>\n )}\n </Box>\n );\n },\n });\n\n const tableSettings = useMemo(\n () => (\n <>\n {hasChangeableDensity && (\n <MenuButton\n endIcon={<ListIcon />}\n ariaLabel=\"Table density\"\n menuAlignment=\"right\"\n shouldCloseOnSelect={false}\n >\n <>\n {densityValues.map((value: MRT_DensityState) => (\n <MenuItem\n key={value}\n isSelected={density === value}\n onClick={() => setDensity(value)}\n >\n {`${value.charAt(0).toUpperCase()}${value.slice(1)}`}\n </MenuItem>\n ))}\n </>\n </MenuButton>\n )}\n\n {hasColumnVisibility && (\n <MenuButton\n endIcon={<ShowIcon />}\n ariaLabel=\"Show/hide columns\"\n menuAlignment=\"right\"\n shouldCloseOnSelect={false}\n >\n <>\n {columns\n .filter((column) => column.enableHiding !== false)\n .map((column) => (\n <MenuItem\n key={column.accessorKey}\n onClick={() =>\n handleColumnVisibility(column.accessorKey as string)\n }\n >\n <MuiCheckbox\n checked={\n columnVisibility[column.accessorKey as string] !== false\n }\n />\n {column.header}\n </MenuItem>\n ))}\n </>\n </MenuButton>\n )}\n </>\n ),\n [\n columnVisibility,\n columns,\n density,\n hasChangeableDensity,\n handleColumnVisibility,\n hasColumnVisibility,\n ]\n );\n\n return (\n <Box sx={{ display: \"flex\", flexDirection: \"column\", gap: 4 }}>\n <DataFilters\n onChangeSearch={hasSearch ? handleSearch : undefined}\n onChangeFilters={handleFilters}\n hasSearchSubmitButton={hasSearchSubmitButton}\n additionalActions={tableSettings}\n filters={\n hasFilters\n ? columns\n .filter((column) => column.enableColumnFilter !== false)\n .map((column) => {\n return {\n id: column.accessorKey as string,\n label: column.header,\n variant: column.filterVariant ?? \"text\",\n options: column.filterSelectOptions,\n };\n })\n : undefined\n }\n />\n\n <MRT_TableContainer table={table} />\n\n {hasPagination && (\n <DataTablePagination\n paginationType={paginationType}\n currentNumberOfResults={data.length}\n currentPage={page}\n isPreviousButtonDisabled={page <= 1}\n isNextButtonDisabled={false} // TODO: Add logic for disabling next/load more button\n onClickPrevious={() => setPage(page - 1)}\n onClickNext={() => {\n if (paginationType === \"loadMore\") {\n setResultsPerPage(resultsPerPage + resultsPerPageProp);\n } else {\n setPage(page + 1);\n }\n }}\n />\n )}\n </Box>\n );\n};\n\nconst MemoizedDataTable = memo(DataTable);\nMemoizedDataTable.displayName = \"DataTable\";\n\nexport { MemoizedDataTable as DataTable };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DataTable.js","names":["useMaterialReactTable","MRT_TableContainer","memo","useCallback","useEffect","useMemo","useRef","useState","ArrowTopIcon","ArrowBottomIcon","ArrowDownIcon","ArrowUpIcon","DragIndicatorIcon","ListIcon","ShowIcon","MoreIcon","DataTablePagination","DataFilters","Box","MenuButton","MenuItem","ArrowUnsortedIcon","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","densityValues","DataTable","_ref","columns","data","dataProp","getRowId","page","pageProp","initialDensity","resultsPerPage","resultsPerPageProp","fetchDataFn","reorderDataFn","totalRows","hasSearchSubmitButton","searchDelayTime","paginationType","onRowSelectionChange","rowActionButtons","rowActionMenuItems","hasChangeableDensity","hasColumnResizing","hasColumnVisibility","hasFilters","hasPagination","hasRowReordering","hasRowSelection","hasSearch","hasSorting","draggingRow","setDraggingRow","showSkeletons","setShowSkeletons","setData","setPage","setResultsPerPage","rowSelection","setRowSelection","sorting","setSorting","density","setDensity","initialColumnVisibility","reduce","acc","column","accessorKey","columnVisibility","setColumnVisibility","globalFilter","setGlobalFilter","filters","setFilters","refreshData","newData","sort","search","error","console","log","handleSortingChange","updater","prevSorting","Function","handleColumnVisibility","columnId","prevVisibility","handleSearch","value","handleFilters","updatedFilters","handleRowSelectionChange","prevRowSelection","handleReordering","_ref2","rowId","newIndex","rowVirtualizerInstanceRef","table","state","rowVirtualizerOptions","overscan","enableRowVirtualization","enableColumnResizing","enableDensityToggle","enableFullScreenToggle","enablePagination","enableRowSelection","enableFilters","enableHiding","enableRowOrdering","enableRowDragging","enableSorting","selectAllMode","enableColumnActions","layoutMode","displayColumnDefOptions","muiTableBodyCellProps","align","sx","overflow","width","muiTableHeadCellProps","header","minWidth","enableGlobalFilter","manualFiltering","manualSorting","icons","ArrowDownwardIcon","DragHandleIcon","SyncAltIcon","onSortingChange","enableRowActions","positionActionsColumn","_ref3","className","find","item","id","muiTableBodyRowProps","_ref4","row","getState","hoveredRow","undefined","muiRowDragHandleProps","tabIndex","onDragEnd","cols","getAllColumns","toggleVisibility","index","onDragCapture","renderRowActions","_ref5","currentIndex","display","children","endIcon","size","buttonVariant","ariaLabel","menuAlignment","isDisabled","onClick","tableSettings","shouldCloseOnSelect","map","isSelected","charAt","toUpperCase","slice","filter","_Checkbox","checked","flexDirection","gap","onChangeSearch","onChangeFilters","additionalActions","enableColumnFilter","label","variant","filterVariant","options","filterSelectOptions","currentNumberOfResults","length","currentPage","isPreviousButtonDisabled","isNextButtonDisabled","onClickPrevious","onClickNext","MemoizedDataTable","displayName"],"sources":["../../src/labs/DataTable.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 {\n MRT_Updater,\n MRT_Virtualizer,\n MRT_RowData,\n MRT_TableOptions,\n useMaterialReactTable,\n MRT_SortingState,\n MRT_DensityState,\n MRT_VisibilityState,\n MRT_TableContainer,\n MRT_RowSelectionState,\n MRT_Row,\n MRT_ColumnDef,\n} from \"material-react-table\";\nimport {\n Fragment,\n ReactElement,\n memo,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport {\n ArrowTopIcon,\n ArrowBottomIcon,\n ArrowDownIcon,\n ArrowUpIcon,\n DragIndicatorIcon,\n ListIcon,\n ShowIcon,\n MoreIcon,\n} from \"../icons.generated\";\nimport { Checkbox as MuiCheckbox } from \"@mui/material\";\nimport {\n DataTablePagination,\n paginationTypeValues,\n} from \"./DataTablePagination\";\nimport { DataFilter, DataFilters } from \"./DataFilters\";\nimport { Button } from \"../Button\";\nimport { Box } from \"../Box\";\nimport { MenuButton, MenuItem } from \"..\";\nimport { ArrowUnsortedIcon } from \"../icons.generated\";\n\nexport const densityValues = [\"comfortable\", \"spacious\", \"compact\"] as const;\n\nexport type {\n MRT_ColumnFiltersState,\n MRT_SortingState,\n MRT_ColumnDef as TableColumn,\n} from \"material-react-table\";\n\n// The shape of the table columns,\n// with props named to match their MRT_ColumnDef counterparts\nexport type DataColumn = {\n /**\n * The unique ID of the column\n */\n accessorKey: string;\n /**\n * The human-friendly title of the column\n */\n header: string;\n /**\n * Customize the way each cell in the column is\n * displayed via a custom React component.\n */\n Cell?: MRT_ColumnDef<MRT_RowData>[\"Cell\"];\n /**\n * The UI control that will be used to filter the column.\n * Defaults to a standard text input.\n */\n filterVariant?: MRT_ColumnDef<MRT_RowData>[\"filterVariant\"];\n /**\n * If the filter control has preset options (such as a select or multi-select),\n * these are the options provided.\n */\n filterSelectOptions?: Array<{ label: string; value: string }>;\n /**\n * The optional column width, in pixels\n */\n size?: number;\n /**\n * The minimum column width, in pixels\n */\n minSize?: number;\n /**\n * The maximum column width, in pixels\n */\n maxSize?: number;\n /**\n * If set to false, the column won't be filterable\n */\n enableColumnFilter?: boolean;\n /**\n * If set to false, the column won't be searchable\n */\n enableGlobalFilter?: boolean;\n /**\n * If set to false, the column won't be sortable\n */\n enableSorting?: boolean;\n /**\n * If set to false, the column won't be resizable\n */\n enableResizing?: boolean;\n /**\n * If set to false, the column won't be hideable\n */\n enableHiding?: boolean;\n};\n\nexport type DataTableProps = {\n /**\n * The columns that make up the table\n */\n columns: DataColumn[];\n /**\n * The data that goes into the table, which will be displayed\n * as the table rows\n */\n data: MRT_TableOptions<MRT_RowData>[\"data\"];\n /**\n * The total number of rows in the table. Optional, because it's sometimes impossible\n * to calculate. Used in table pagination to know when to disable the \"next\"/\"more\" button.\n */\n totalRows?: number;\n /**\n * The function to get the ID of a row\n */\n getRowId?: MRT_TableOptions<MRT_RowData>[\"getRowId\"];\n /**\n * The initial density of the table. This is available even if the table density\n * isn't changeable.\n */\n initialDensity?: (typeof densityValues)[number];\n /**\n * If true, the end user will be able to change the table density.\n */\n hasChangeableDensity?: boolean;\n /**\n * If true, the end user can resize individual columns.\n */\n hasColumnResizing?: boolean;\n /**\n * If true, the end user will be able to show/hide columns.\n */\n hasColumnVisibility?: boolean;\n /**\n * If true, the end user will be able to filter columns.\n */\n hasFilters?: boolean;\n /**\n * If true, the table will include pagination controls.\n */\n hasPagination?: boolean;\n /**\n * If true, the table will include checkboxes on each row, enabling\n * the user to select some or all rows.\n */\n hasRowSelection?: boolean;\n /**\n * If true, the global table search controls will be shown.\n */\n hasSearch?: boolean;\n /**\n * If true, the end user can sort columns (ascending, descending, or neither)\n */\n hasSorting?: boolean;\n /**\n * If true, the end user can reorder rows via a drag-and-drop interface\n */\n hasRowReordering?: boolean;\n /**\n * If true, the search field will include a Search button, rather than\n * firing on input change.\n */\n hasSearchSubmitButton?: boolean;\n /**\n * The debounce time, in milliseconds, for the search input firing\n * `onChangeSearch` when changed. If `hasSearchSubmitButton` is true,\n * this doesn't do anything.\n */\n searchDelayTime?: number;\n /**\n * Callback that fires when a row (or rows) is selected or unselected.\n */\n onRowSelectionChange?: (rowSelection: MRT_RowSelectionState) => void;\n /**\n * Callback that fires whenever the table needs to fetch new data, due to changes in\n * page, results per page, search input, filters, or sorting\n */\n fetchDataFn: ({\n page,\n resultsPerPage,\n search,\n filters,\n sort,\n }: {\n page?: number;\n resultsPerPage?: number;\n search?: string;\n filters?: DataFilter[];\n sort?: MRT_SortingState;\n }) => MRT_TableOptions<MRT_RowData>[\"data\"];\n /**\n * Callback that fires when the user reorders rows within the table. Can be used\n * to propogate order change to the backend.\n */\n reorderDataFn?: ({\n rowId,\n newIndex,\n }: {\n rowId: string;\n newIndex: number;\n }) => void;\n /**\n * The current page number.\n */\n page?: number;\n /**\n * The number of results per page.\n */\n resultsPerPage?: number;\n /**\n * The type of pagination controls shown. Defaults to next/prev buttons, but can be\n * set to a simple \"Load more\" button by setting to \"loadMore\".\n */\n paginationType?: (typeof paginationTypeValues)[number];\n /**\n * Action buttons to display in each row\n */\n rowActionButtons?: (\n row: MRT_RowData\n ) => ReactElement<typeof Button | typeof Fragment>;\n /**\n * Menu items to include in the optional actions menu on each row.\n */\n rowActionMenuItems?: (\n row: MRT_RowData\n ) => ReactElement<typeof MenuItem | typeof Fragment>;\n};\n\nconst DataTable = ({\n columns,\n data: dataProp,\n getRowId,\n page: pageProp = 1,\n initialDensity = densityValues[0],\n resultsPerPage: resultsPerPageProp = 20,\n fetchDataFn,\n reorderDataFn,\n totalRows,\n hasSearchSubmitButton,\n searchDelayTime,\n paginationType = \"paged\",\n onRowSelectionChange,\n rowActionButtons,\n rowActionMenuItems,\n hasChangeableDensity,\n hasColumnResizing,\n hasColumnVisibility,\n hasFilters,\n hasPagination,\n hasRowReordering,\n hasRowSelection,\n hasSearch,\n hasSorting,\n}: DataTableProps) => {\n const [draggingRow, setDraggingRow] = useState<MRT_Row<MRT_RowData> | null>();\n const [showSkeletons, setShowSkeletons] = useState<boolean>(true);\n const [data, setData] =\n useState<MRT_TableOptions<MRT_RowData>[\"data\"]>(dataProp);\n const [page, setPage] = useState<number>(pageProp);\n const [resultsPerPage, setResultsPerPage] =\n useState<number>(resultsPerPageProp);\n const [rowSelection, setRowSelection] = useState<MRT_RowSelectionState>({});\n const [sorting, setSorting] = useState<MRT_SortingState>([]);\n const [density, setDensity] = useState<MRT_DensityState>(initialDensity);\n\n const initialColumnVisibility = useMemo(() => {\n return columns.reduce((acc, column) => {\n acc[column.accessorKey as string] = true;\n return acc;\n }, {} as MRT_VisibilityState);\n }, [columns]);\n\n const [columnVisibility, setColumnVisibility] = useState<MRT_VisibilityState>(\n initialColumnVisibility\n );\n\n const [globalFilter, setGlobalFilter] = useState<string>(\"\");\n const [filters, setFilters] = useState<Array<DataFilter>>();\n\n const refreshData = useCallback(async () => {\n setShowSkeletons(true);\n try {\n const newData = await fetchDataFn({\n page: page,\n resultsPerPage: resultsPerPage,\n sort: sorting,\n search: globalFilter,\n filters: filters,\n });\n setData(newData);\n setShowSkeletons(false);\n } catch (error) {\n console.log(error);\n setShowSkeletons(false);\n }\n }, [page, resultsPerPage, sorting, globalFilter, filters, fetchDataFn]);\n\n const handleSortingChange = useCallback(\n (updater: MRT_Updater<MRT_SortingState>) => {\n setSorting((prevSorting) =>\n updater instanceof Function ? updater(prevSorting) : sorting\n );\n },\n [sorting]\n );\n\n const handleColumnVisibility = useCallback(\n (columnId: string) => {\n setColumnVisibility((prevVisibility) => ({\n ...prevVisibility,\n [columnId]: !columnVisibility[columnId],\n }));\n },\n [columnVisibility]\n );\n\n const handleSearch = useCallback((value: string) => {\n setGlobalFilter(value);\n }, []);\n\n const handleFilters = useCallback((updatedFilters: Array<DataFilter>) => {\n setFilters(updatedFilters);\n }, []);\n\n const handleRowSelectionChange = useCallback(\n (updater: MRT_Updater<MRT_RowSelectionState>) => {\n setRowSelection((prevRowSelection) =>\n updater instanceof Function ? updater(prevRowSelection) : rowSelection\n );\n },\n [rowSelection]\n );\n\n const handleReordering = useCallback(\n ({ rowId, newIndex }: { rowId: string; newIndex: number }) => {\n if (newIndex < 0) {\n return;\n }\n\n if (totalRows && newIndex > totalRows) {\n return;\n }\n\n reorderDataFn?.({ rowId, newIndex });\n refreshData();\n },\n [totalRows, reorderDataFn, refreshData]\n );\n\n useEffect(() => {\n setShowSkeletons(false);\n }, [data]);\n\n useEffect(() => {\n refreshData();\n }, [refreshData, page, resultsPerPage, sorting, globalFilter, filters]);\n\n useEffect(() => {\n onRowSelectionChange?.(rowSelection);\n }, [rowSelection, onRowSelectionChange]);\n\n const rowVirtualizerInstanceRef =\n useRef<MRT_Virtualizer<HTMLDivElement, HTMLTableRowElement>>(null);\n\n const table = useMaterialReactTable({\n columns: columns,\n data: data,\n state: {\n density,\n sorting,\n globalFilter,\n columnVisibility,\n rowSelection,\n showSkeletons,\n },\n rowVirtualizerInstanceRef: rowVirtualizerInstanceRef,\n rowVirtualizerOptions: { overscan: 4 },\n enableRowVirtualization:\n paginationType === \"loadMore\" || resultsPerPage > 50,\n enableColumnResizing: hasColumnResizing,\n enableDensityToggle: false,\n enableFullScreenToggle: false,\n enablePagination: false,\n enableRowSelection: hasRowSelection,\n enableFilters: false,\n enableHiding: false,\n enableRowOrdering: hasRowReordering,\n enableRowDragging: hasRowReordering,\n enableSorting: hasSorting,\n selectAllMode: \"all\",\n enableColumnActions: false,\n layoutMode: \"grid-no-grow\",\n displayColumnDefOptions: {\n \"mrt-row-actions\": {\n muiTableBodyCellProps: {\n align: \"right\",\n sx: {\n overflow: \"visible\",\n width: \"unset\",\n },\n },\n muiTableHeadCellProps: {\n align: \"right\",\n sx: {\n width: \"unset\",\n // TODO: Make the right padding here 16px (and possibly adapt it to the density padding)\n },\n },\n },\n \"mrt-row-drag\": {\n header: \"\",\n muiTableBodyCellProps: {\n sx: {\n minWidth: 0,\n width: 32,\n },\n },\n muiTableHeadCellProps: {\n sx: {\n minWidth: 0,\n width: 32,\n },\n },\n },\n },\n enableGlobalFilter: false,\n manualFiltering: true,\n manualSorting: true,\n getRowId: getRowId,\n icons: {\n ArrowDownwardIcon: ArrowDownIcon,\n DragHandleIcon: DragIndicatorIcon,\n SyncAltIcon: ArrowUnsortedIcon,\n },\n onSortingChange: handleSortingChange,\n onRowSelectionChange: handleRowSelectionChange,\n enableRowActions:\n hasRowReordering === true || rowActionButtons || rowActionMenuItems\n ? true\n : false,\n positionActionsColumn: \"last\",\n\n muiTableHeadCellProps: ({ column }) => ({\n className: sorting.find((item) => item.id === column.id)\n ? \"isSorted\"\n : \"isUnsorted\",\n }),\n\n muiTableBodyRowProps: ({ table, row }) => ({\n className:\n draggingRow?.id === row.id && table.getState().hoveredRow?.id !== row.id\n ? \"isDragging\"\n : table.getState().hoveredRow?.id === row.id &&\n draggingRow?.id !== row.id\n ? \"isDragTarget\"\n : draggingRow?.id === row.id &&\n table.getState().hoveredRow?.id === row.id\n ? \"isDragging isDragTarget\"\n : undefined,\n }),\n\n muiRowDragHandleProps: {\n tabIndex: -1,\n onDragEnd: () => {\n const cols = table.getAllColumns();\n cols[0].toggleVisibility();\n\n const { draggingRow, hoveredRow } = table.getState();\n if (draggingRow) {\n handleReordering({\n rowId: draggingRow.id,\n newIndex: (hoveredRow as MRT_RowData).index,\n });\n }\n\n setDraggingRow(null);\n },\n\n onDragCapture: () => {\n if (!draggingRow && table.getState().draggingRow?.id) {\n setDraggingRow(table.getState().draggingRow);\n }\n },\n },\n\n renderRowActions: ({ row }) => {\n const currentIndex = row.index + (page - 1) * resultsPerPage;\n\n return (\n <Box sx={{ display: \"flex\" }}>\n {rowActionButtons?.(row)}\n {(rowActionMenuItems || hasRowReordering) && (\n <MenuButton\n endIcon={<MoreIcon />}\n size=\"small\"\n buttonVariant=\"floating\"\n ariaLabel=\"More actions\"\n menuAlignment=\"right\"\n >\n {rowActionMenuItems && (\n <>\n {rowActionMenuItems(row)}\n <hr />\n </>\n )}\n <MenuItem\n isDisabled={currentIndex <= 0}\n onClick={() => handleReordering({ rowId: row.id, newIndex: 0 })}\n >\n <ArrowTopIcon /> Bring to front\n </MenuItem>\n <MenuItem\n isDisabled={currentIndex <= 0}\n onClick={() =>\n handleReordering({\n rowId: row.id,\n newIndex: currentIndex <= 0 ? 0 : currentIndex - 1,\n })\n }\n >\n <ArrowUpIcon /> Bring forward\n </MenuItem>\n <MenuItem\n isDisabled={totalRows ? currentIndex >= totalRows - 1 : false}\n onClick={() =>\n handleReordering({\n rowId: row.id,\n newIndex: currentIndex + 1,\n })\n }\n >\n <ArrowDownIcon /> Send backward\n </MenuItem>\n <>\n {totalRows && (\n <MenuItem\n isDisabled={currentIndex >= totalRows - 1}\n onClick={() =>\n handleReordering({\n rowId: row.id,\n newIndex: totalRows,\n })\n }\n >\n <ArrowBottomIcon /> Send to back\n </MenuItem>\n )}\n </>\n </MenuButton>\n )}\n </Box>\n );\n },\n });\n\n const tableSettings = useMemo(\n () => (\n <>\n {hasChangeableDensity && (\n <MenuButton\n endIcon={<ListIcon />}\n ariaLabel=\"Table density\"\n menuAlignment=\"right\"\n shouldCloseOnSelect={false}\n >\n <>\n {densityValues.map((value: MRT_DensityState) => (\n <MenuItem\n key={value}\n isSelected={density === value}\n onClick={() => setDensity(value)}\n >\n {`${value.charAt(0).toUpperCase()}${value.slice(1)}`}\n </MenuItem>\n ))}\n </>\n </MenuButton>\n )}\n\n {hasColumnVisibility && (\n <MenuButton\n endIcon={<ShowIcon />}\n ariaLabel=\"Show/hide columns\"\n menuAlignment=\"right\"\n shouldCloseOnSelect={false}\n >\n <>\n {columns\n .filter((column) => column.enableHiding !== false)\n .map((column) => (\n <MenuItem\n key={column.accessorKey}\n onClick={() =>\n handleColumnVisibility(column.accessorKey as string)\n }\n >\n <MuiCheckbox\n checked={\n columnVisibility[column.accessorKey as string] !== false\n }\n />\n {column.header}\n </MenuItem>\n ))}\n </>\n </MenuButton>\n )}\n </>\n ),\n [\n columnVisibility,\n columns,\n density,\n hasChangeableDensity,\n handleColumnVisibility,\n hasColumnVisibility,\n ]\n );\n\n return (\n <Box sx={{ display: \"flex\", flexDirection: \"column\", gap: 4 }}>\n <DataFilters\n onChangeSearch={hasSearch ? handleSearch : undefined}\n onChangeFilters={handleFilters}\n hasSearchSubmitButton={hasSearchSubmitButton}\n searchDelayTime={searchDelayTime}\n additionalActions={tableSettings}\n filters={\n hasFilters\n ? columns\n .filter((column) => column.enableColumnFilter !== false)\n .map((column) => {\n return {\n id: column.accessorKey as string,\n label: column.header,\n variant: column.filterVariant ?? \"text\",\n options: column.filterSelectOptions,\n };\n })\n : undefined\n }\n />\n\n <MRT_TableContainer table={table} />\n\n {hasPagination && (\n <DataTablePagination\n paginationType={paginationType}\n currentNumberOfResults={data.length}\n currentPage={page}\n isPreviousButtonDisabled={page <= 1}\n isNextButtonDisabled={false} // TODO: Add logic for disabling next/load more button\n onClickPrevious={() => setPage(page - 1)}\n onClickNext={() => {\n if (paginationType === \"loadMore\") {\n setResultsPerPage(resultsPerPage + resultsPerPageProp);\n } else {\n setPage(page + 1);\n }\n }}\n />\n )}\n </Box>\n );\n};\n\nconst MemoizedDataTable = memo(DataTable);\nMemoizedDataTable.displayName = \"DataTable\";\n\nexport { MemoizedDataTable as DataTable };\n"],"mappings":"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"}
|
|
@@ -143,6 +143,12 @@ export type DataTableProps = {
|
|
|
143
143
|
* firing on input change.
|
|
144
144
|
*/
|
|
145
145
|
hasSearchSubmitButton?: boolean;
|
|
146
|
+
/**
|
|
147
|
+
* The debounce time, in milliseconds, for the search input firing
|
|
148
|
+
* `onChangeSearch` when changed. If `hasSearchSubmitButton` is true,
|
|
149
|
+
* this doesn't do anything.
|
|
150
|
+
*/
|
|
151
|
+
searchDelayTime?: number;
|
|
146
152
|
/**
|
|
147
153
|
* Callback that fires when a row (or rows) is selected or unselected.
|
|
148
154
|
*/
|
|
@@ -188,6 +194,6 @@ export type DataTableProps = {
|
|
|
188
194
|
*/
|
|
189
195
|
rowActionMenuItems?: (row: MRT_RowData) => ReactElement<typeof MenuItem | typeof Fragment>;
|
|
190
196
|
};
|
|
191
|
-
declare const MemoizedDataTable: import("react").MemoExoticComponent<({ columns, data: dataProp, getRowId, page: pageProp, initialDensity, resultsPerPage: resultsPerPageProp, fetchDataFn, reorderDataFn, totalRows, hasSearchSubmitButton, paginationType, onRowSelectionChange, rowActionButtons, rowActionMenuItems, hasChangeableDensity, hasColumnResizing, hasColumnVisibility, hasFilters, hasPagination, hasRowReordering, hasRowSelection, hasSearch, hasSorting, }: DataTableProps) => JSX.Element>;
|
|
197
|
+
declare const MemoizedDataTable: import("react").MemoExoticComponent<({ columns, data: dataProp, getRowId, page: pageProp, initialDensity, resultsPerPage: resultsPerPageProp, fetchDataFn, reorderDataFn, totalRows, hasSearchSubmitButton, searchDelayTime, paginationType, onRowSelectionChange, rowActionButtons, rowActionMenuItems, hasChangeableDensity, hasColumnResizing, hasColumnVisibility, hasFilters, hasPagination, hasRowReordering, hasRowSelection, hasSearch, hasSorting, }: DataTableProps) => JSX.Element>;
|
|
192
198
|
export { MemoizedDataTable as DataTable };
|
|
193
199
|
//# sourceMappingURL=DataTable.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTable.d.ts","sourceRoot":"","sources":["../../../src/labs/DataTable.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"DataTable.d.ts","sourceRoot":"","sources":["../../../src/labs/DataTable.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../../src/theme/components.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../../src/theme/components.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAoC7C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAGvC,eAAO,MAAM,UAAU;mBAIN,YAAY;;MAEzB,YAAY,CAAC,YAAY,CA4iF5B,CAAC"}
|
package/dist/theme/components.js
CHANGED
|
@@ -18,6 +18,7 @@ import { chipClasses } from "@mui/material/Chip";
|
|
|
18
18
|
import { dividerClasses } from "@mui/material/Divider";
|
|
19
19
|
import { formControlLabelClasses } from "@mui/material/FormControlLabel";
|
|
20
20
|
import { formLabelClasses } from "@mui/material/FormLabel";
|
|
21
|
+
import { formGroupClasses } from "@mui/material/FormGroup";
|
|
21
22
|
import { inputAdornmentClasses } from "@mui/material/InputAdornment";
|
|
22
23
|
import { inputBaseClasses } from "@mui/material/InputBase";
|
|
23
24
|
import { listItemIconClasses } from "@mui/material/ListItemIcon";
|
|
@@ -430,31 +431,41 @@ export const components = _ref => {
|
|
|
430
431
|
MuiBreadcrumbs: {
|
|
431
432
|
styleOverrides: {
|
|
432
433
|
li: {
|
|
433
|
-
fontSize: odysseyTokens.
|
|
434
|
-
|
|
434
|
+
fontSize: odysseyTokens.TypographySizeSubordinate,
|
|
435
|
+
"& svg": {
|
|
436
|
+
width: odysseyTokens.Spacing3
|
|
437
|
+
},
|
|
438
|
+
"& > p": {
|
|
439
|
+
paddingInline: odysseyTokens.Spacing1
|
|
440
|
+
},
|
|
435
441
|
"& > a, & > button": {
|
|
436
442
|
borderRadius: odysseyTokens.BorderRadiusTight,
|
|
437
443
|
color: odysseyTokens.TypographyColorSubordinate,
|
|
438
444
|
display: "flex",
|
|
439
445
|
gap: odysseyTokens.Spacing1,
|
|
440
|
-
|
|
446
|
+
paddingInline: odysseyTokens.Spacing1,
|
|
447
|
+
paddingBlock: 2,
|
|
441
448
|
transitionProperty: "color, background-color",
|
|
442
449
|
transitionDuration: "100ms",
|
|
443
450
|
transitionTimingFunction: "linear",
|
|
444
451
|
"&:hover": {
|
|
445
|
-
backgroundColor: odysseyTokens.
|
|
452
|
+
backgroundColor: odysseyTokens.HueNeutral100,
|
|
446
453
|
color: odysseyTokens.TypographyColorBody
|
|
447
454
|
},
|
|
448
455
|
"&:focus-visible": {
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
456
|
+
outlineWidth: 2,
|
|
457
|
+
outlineStyle: "solid",
|
|
458
|
+
outlineColor: odysseyTokens.PalettePrimaryMain,
|
|
459
|
+
outlineOffset: -2
|
|
452
460
|
}
|
|
453
461
|
}
|
|
454
462
|
},
|
|
455
463
|
separator: {
|
|
456
464
|
color: odysseyTokens.BorderColorDisplay,
|
|
457
|
-
|
|
465
|
+
fontSize: odysseyTokens.TypographySizeSubordinate,
|
|
466
|
+
fontWeight: odysseyTokens.TypographyWeightBodyBold,
|
|
467
|
+
marginInlineStart: 6,
|
|
468
|
+
marginInlineEnd: 4
|
|
458
469
|
}
|
|
459
470
|
}
|
|
460
471
|
},
|
|
@@ -719,7 +730,7 @@ export const components = _ref => {
|
|
|
719
730
|
borderColor: odysseyTokens.HueNeutral300
|
|
720
731
|
},
|
|
721
732
|
[`.${svgIconClasses.root}`]: {
|
|
722
|
-
color: odysseyTokens.
|
|
733
|
+
color: odysseyTokens.HueNeutral300
|
|
723
734
|
}
|
|
724
735
|
}
|
|
725
736
|
};
|
|
@@ -880,8 +891,8 @@ export const components = _ref => {
|
|
|
880
891
|
},
|
|
881
892
|
MuiCircularProgress: {
|
|
882
893
|
defaultProps: {
|
|
883
|
-
size: odysseyTokens.
|
|
884
|
-
thickness:
|
|
894
|
+
size: odysseyTokens.Spacing5,
|
|
895
|
+
thickness: 10,
|
|
885
896
|
color: "primary",
|
|
886
897
|
disableShrink: false,
|
|
887
898
|
variant: "indeterminate"
|
|
@@ -893,7 +904,7 @@ export const components = _ref => {
|
|
|
893
904
|
} = _ref15;
|
|
894
905
|
return {
|
|
895
906
|
...(ownerState.color !== "inherit" && {
|
|
896
|
-
color: odysseyTokens.
|
|
907
|
+
color: odysseyTokens.PalettePrimaryMain
|
|
897
908
|
})
|
|
898
909
|
};
|
|
899
910
|
},
|
|
@@ -1334,7 +1345,10 @@ export const components = _ref => {
|
|
|
1334
1345
|
}),
|
|
1335
1346
|
...(ownerState.fullWidth && {
|
|
1336
1347
|
maxWidth: "100%"
|
|
1337
|
-
})
|
|
1348
|
+
}),
|
|
1349
|
+
[`& .${formGroupClasses.root}`]: {
|
|
1350
|
+
marginBlockStart: odysseyTokens.Spacing1
|
|
1351
|
+
}
|
|
1338
1352
|
};
|
|
1339
1353
|
}
|
|
1340
1354
|
}
|
|
@@ -1365,6 +1379,9 @@ export const components = _ref => {
|
|
|
1365
1379
|
"&.Mui-disabled": {
|
|
1366
1380
|
pointerEvents: "none"
|
|
1367
1381
|
},
|
|
1382
|
+
[`& .${checkboxClasses.root}`]: {
|
|
1383
|
+
marginBlockStart: 0
|
|
1384
|
+
},
|
|
1368
1385
|
[`&:hover .${radioClasses.root}, &:hover .${checkboxClasses.root}`]: {
|
|
1369
1386
|
color: odysseyTokens.TypographyColorBody
|
|
1370
1387
|
},
|
|
@@ -1380,7 +1397,8 @@ export const components = _ref => {
|
|
|
1380
1397
|
};
|
|
1381
1398
|
},
|
|
1382
1399
|
label: {
|
|
1383
|
-
gap: odysseyTokens.Spacing1
|
|
1400
|
+
gap: odysseyTokens.Spacing1,
|
|
1401
|
+
lineHeight: odysseyTokens.TypographyLineHeightUi
|
|
1384
1402
|
},
|
|
1385
1403
|
asterisk: () => ({
|
|
1386
1404
|
display: "none"
|
|
@@ -1857,8 +1875,8 @@ export const components = _ref => {
|
|
|
1857
1875
|
"&::before": {
|
|
1858
1876
|
content: "''",
|
|
1859
1877
|
position: "absolute",
|
|
1860
|
-
width:
|
|
1861
|
-
height:
|
|
1878
|
+
width: odysseyTokens.Spacing2,
|
|
1879
|
+
height: odysseyTokens.Spacing2,
|
|
1862
1880
|
borderRadius: "50%",
|
|
1863
1881
|
backgroundColor: "transparent",
|
|
1864
1882
|
transition: theme.transitions.create(["background-color"], {
|
|
@@ -1899,9 +1917,9 @@ export const components = _ref => {
|
|
|
1899
1917
|
},
|
|
1900
1918
|
"&.Mui-disabled": {
|
|
1901
1919
|
backgroundColor: odysseyTokens.HueNeutral50,
|
|
1902
|
-
borderColor: odysseyTokens.
|
|
1920
|
+
borderColor: odysseyTokens.BorderColorDisabled,
|
|
1903
1921
|
"&.Mui-checked::before": {
|
|
1904
|
-
backgroundColor: odysseyTokens.
|
|
1922
|
+
backgroundColor: odysseyTokens.BorderColorDisabled
|
|
1905
1923
|
}
|
|
1906
1924
|
}
|
|
1907
1925
|
};
|