@okta/odyssey-react-mui 1.14.6 → 1.14.8
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 +8 -0
- package/dist/Breadcrumbs.js +3 -2
- package/dist/Breadcrumbs.js.map +1 -1
- package/dist/Callout.js +27 -10
- package/dist/Callout.js.map +1 -1
- package/dist/DataTable/DataTableEmptyState.js +1 -0
- package/dist/DataTable/DataTableEmptyState.js.map +1 -1
- package/dist/DataTable/DataTablePagination.js +1 -0
- package/dist/DataTable/DataTablePagination.js.map +1 -1
- package/dist/DataTable/DataTableRowActions.js +1 -0
- package/dist/DataTable/DataTableRowActions.js.map +1 -1
- package/dist/DataTable/DataTableSettings.js +1 -0
- package/dist/DataTable/DataTableSettings.js.map +1 -1
- package/dist/labs/StaticTable.js +1 -0
- package/dist/labs/StaticTable.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_cs.js +2 -1
- package/dist/properties/ts/odyssey-react-mui_cs.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_da.js +2 -1
- package/dist/properties/ts/odyssey-react-mui_da.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_de.js +2 -1
- package/dist/properties/ts/odyssey-react-mui_de.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_el.js +2 -1
- package/dist/properties/ts/odyssey-react-mui_el.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_es.js +2 -1
- package/dist/properties/ts/odyssey-react-mui_es.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_fi.js +2 -1
- package/dist/properties/ts/odyssey-react-mui_fi.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_fr.js +2 -1
- package/dist/properties/ts/odyssey-react-mui_fr.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_hu.js +2 -1
- package/dist/properties/ts/odyssey-react-mui_hu.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_id.js +2 -1
- package/dist/properties/ts/odyssey-react-mui_id.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_it.js +2 -1
- package/dist/properties/ts/odyssey-react-mui_it.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_ja.js +2 -1
- package/dist/properties/ts/odyssey-react-mui_ja.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_ko.js +2 -1
- package/dist/properties/ts/odyssey-react-mui_ko.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_ms.js +2 -1
- package/dist/properties/ts/odyssey-react-mui_ms.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_nb.js +2 -1
- package/dist/properties/ts/odyssey-react-mui_nb.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_nl_NL.js +2 -1
- package/dist/properties/ts/odyssey-react-mui_nl_NL.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_pl.js +2 -1
- package/dist/properties/ts/odyssey-react-mui_pl.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_pt_BR.js +2 -1
- package/dist/properties/ts/odyssey-react-mui_pt_BR.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_ro.js +2 -1
- package/dist/properties/ts/odyssey-react-mui_ro.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_ru.js +2 -1
- package/dist/properties/ts/odyssey-react-mui_ru.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_sv.js +2 -1
- package/dist/properties/ts/odyssey-react-mui_sv.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_th.js +2 -1
- package/dist/properties/ts/odyssey-react-mui_th.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_tr.js +2 -1
- package/dist/properties/ts/odyssey-react-mui_tr.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_uk.js +2 -1
- package/dist/properties/ts/odyssey-react-mui_uk.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_vi.js +2 -1
- package/dist/properties/ts/odyssey-react-mui_vi.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_zh_CN.js +2 -1
- package/dist/properties/ts/odyssey-react-mui_zh_CN.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_zh_TW.js +2 -1
- package/dist/properties/ts/odyssey-react-mui_zh_TW.js.map +1 -1
- package/dist/src/Breadcrumbs.d.ts +1 -1
- package/dist/src/Breadcrumbs.d.ts.map +1 -1
- package/dist/src/Callout.d.ts +1 -1
- package/dist/src/Callout.d.ts.map +1 -1
- package/dist/src/DataTable/DataTableEmptyState.d.ts.map +1 -1
- package/dist/src/DataTable/DataTablePagination.d.ts.map +1 -1
- package/dist/src/DataTable/DataTableRowActions.d.ts.map +1 -1
- package/dist/src/DataTable/DataTableSettings.d.ts.map +1 -1
- package/dist/src/labs/StaticTable.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_cs.d.ts +1 -0
- package/dist/src/properties/ts/odyssey-react-mui_cs.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_da.d.ts +1 -0
- package/dist/src/properties/ts/odyssey-react-mui_da.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_de.d.ts +1 -0
- package/dist/src/properties/ts/odyssey-react-mui_de.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_el.d.ts +1 -0
- package/dist/src/properties/ts/odyssey-react-mui_el.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_es.d.ts +1 -0
- package/dist/src/properties/ts/odyssey-react-mui_es.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_fi.d.ts +1 -0
- package/dist/src/properties/ts/odyssey-react-mui_fi.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_fr.d.ts +1 -0
- package/dist/src/properties/ts/odyssey-react-mui_fr.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_hu.d.ts +1 -0
- package/dist/src/properties/ts/odyssey-react-mui_hu.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_id.d.ts +1 -0
- package/dist/src/properties/ts/odyssey-react-mui_id.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_it.d.ts +1 -0
- package/dist/src/properties/ts/odyssey-react-mui_it.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_ja.d.ts +1 -0
- package/dist/src/properties/ts/odyssey-react-mui_ja.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_ko.d.ts +1 -0
- package/dist/src/properties/ts/odyssey-react-mui_ko.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_ms.d.ts +1 -0
- package/dist/src/properties/ts/odyssey-react-mui_ms.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_nb.d.ts +1 -0
- package/dist/src/properties/ts/odyssey-react-mui_nb.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_nl_NL.d.ts +1 -0
- package/dist/src/properties/ts/odyssey-react-mui_nl_NL.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_pl.d.ts +1 -0
- package/dist/src/properties/ts/odyssey-react-mui_pl.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_pt_BR.d.ts +1 -0
- package/dist/src/properties/ts/odyssey-react-mui_pt_BR.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_ro.d.ts +1 -0
- package/dist/src/properties/ts/odyssey-react-mui_ro.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_ru.d.ts +1 -0
- package/dist/src/properties/ts/odyssey-react-mui_ru.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_sv.d.ts +1 -0
- package/dist/src/properties/ts/odyssey-react-mui_sv.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_th.d.ts +1 -0
- package/dist/src/properties/ts/odyssey-react-mui_th.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_tr.d.ts +1 -0
- package/dist/src/properties/ts/odyssey-react-mui_tr.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_uk.d.ts +1 -0
- package/dist/src/properties/ts/odyssey-react-mui_uk.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_vi.d.ts +1 -0
- package/dist/src/properties/ts/odyssey-react-mui_vi.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_zh_CN.d.ts +1 -0
- package/dist/src/properties/ts/odyssey-react-mui_zh_CN.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_zh_TW.d.ts +1 -0
- package/dist/src/properties/ts/odyssey-react-mui_zh_TW.d.ts.map +1 -1
- package/dist/src/theme/components.d.ts.map +1 -1
- package/dist/theme/components.js +1 -6
- package/dist/theme/components.js.map +1 -1
- package/dist/tsconfig.production.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/src/Breadcrumbs.tsx +7 -2
- package/src/Callout.tsx +28 -10
- package/src/DataTable/DataTableEmptyState.tsx +2 -0
- package/src/DataTable/DataTablePagination.tsx +2 -0
- package/src/DataTable/DataTableRowActions.tsx +2 -0
- package/src/DataTable/DataTableSettings.tsx +2 -0
- package/src/labs/StaticTable.tsx +4 -0
- package/src/properties/translations/odyssey-react-mui_cs.properties +1 -0
- package/src/properties/translations/odyssey-react-mui_da.properties +1 -0
- package/src/properties/translations/odyssey-react-mui_de.properties +1 -0
- package/src/properties/translations/odyssey-react-mui_el.properties +1 -0
- package/src/properties/translations/odyssey-react-mui_es.properties +1 -0
- package/src/properties/translations/odyssey-react-mui_fi.properties +1 -0
- package/src/properties/translations/odyssey-react-mui_fr.properties +1 -0
- package/src/properties/translations/odyssey-react-mui_hu.properties +1 -0
- package/src/properties/translations/odyssey-react-mui_id.properties +1 -0
- package/src/properties/translations/odyssey-react-mui_it.properties +1 -0
- package/src/properties/translations/odyssey-react-mui_ja.properties +1 -0
- package/src/properties/translations/odyssey-react-mui_ko.properties +1 -0
- package/src/properties/translations/odyssey-react-mui_ms.properties +1 -0
- package/src/properties/translations/odyssey-react-mui_nb.properties +1 -0
- package/src/properties/translations/odyssey-react-mui_nl_NL.properties +1 -0
- package/src/properties/translations/odyssey-react-mui_pl.properties +1 -0
- package/src/properties/translations/odyssey-react-mui_pt_BR.properties +1 -0
- package/src/properties/translations/odyssey-react-mui_ro.properties +1 -0
- package/src/properties/translations/odyssey-react-mui_ru.properties +1 -0
- package/src/properties/translations/odyssey-react-mui_sv.properties +1 -0
- package/src/properties/translations/odyssey-react-mui_th.properties +1 -0
- package/src/properties/translations/odyssey-react-mui_tr.properties +1 -0
- package/src/properties/translations/odyssey-react-mui_uk.properties +1 -0
- package/src/properties/translations/odyssey-react-mui_vi.properties +1 -0
- package/src/properties/translations/odyssey-react-mui_zh_CN.properties +1 -0
- package/src/properties/translations/odyssey-react-mui_zh_TW.properties +1 -0
- package/src/properties/ts/odyssey-react-mui_cs.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_da.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_de.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_el.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_es.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_fi.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_fr.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_hu.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_id.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_it.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_ja.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_ko.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_ms.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_nb.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_nl_NL.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_pl.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_pt_BR.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_ro.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_ru.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_sv.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_th.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_tr.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_uk.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_vi.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_zh_CN.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_zh_TW.ts +1 -1
- package/src/theme/components.tsx +0 -5
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,14 @@
|
|
|
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.14.8](https://github.com/okta/odyssey/compare/v1.14.7...v1.14.8) (2024-03-08)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @okta/odyssey-react-mui
|
|
9
|
+
|
|
10
|
+
## [1.14.7](https://github.com/okta/odyssey/compare/v1.14.6...v1.14.7) (2024-03-08)
|
|
11
|
+
|
|
12
|
+
**Note:** Version bump only for package @okta/odyssey-react-mui
|
|
13
|
+
|
|
6
14
|
## [1.14.6](https://github.com/okta/odyssey/compare/v1.14.5...v1.14.6) (2024-03-07)
|
|
7
15
|
|
|
8
16
|
**Note:** Version bump only for package @okta/odyssey-react-mui
|
package/dist/Breadcrumbs.js
CHANGED
|
@@ -66,7 +66,7 @@ const defaultTruncationValue = 5;
|
|
|
66
66
|
const BreadcrumbList = ({
|
|
67
67
|
children,
|
|
68
68
|
homeHref,
|
|
69
|
-
maxVisibleItems = defaultTruncationValue,
|
|
69
|
+
maxVisibleItems: maxVisibleItemsProp = defaultTruncationValue,
|
|
70
70
|
testId,
|
|
71
71
|
translate
|
|
72
72
|
}) => {
|
|
@@ -74,6 +74,7 @@ const BreadcrumbList = ({
|
|
|
74
74
|
t
|
|
75
75
|
} = useTranslation();
|
|
76
76
|
const [anchorEl, setAnchorEl] = useState(null);
|
|
77
|
+
const maxVisibleItems = useMemo(() => Math.min(Math.max(maxVisibleItemsProp, 0), children.length), [maxVisibleItemsProp, children]);
|
|
77
78
|
const breadcrumbSections = useMemo(() => {
|
|
78
79
|
if (children.length <= maxVisibleItems) {
|
|
79
80
|
return {
|
|
@@ -107,7 +108,7 @@ const BreadcrumbList = ({
|
|
|
107
108
|
}), breadcrumbSections.beforeMenu.map(breadcrumb => _jsx(BreadcrumbContext.Provider, {
|
|
108
109
|
value: breadcrumbProviderValue.listItem,
|
|
109
110
|
children: breadcrumb
|
|
110
|
-
})), breadcrumbSections.insideMenu && _jsxs(_Fragment, {
|
|
111
|
+
})), breadcrumbSections.insideMenu.length > 0 && _jsxs(_Fragment, {
|
|
111
112
|
children: [_jsx(_ButtonBase, {
|
|
112
113
|
onClick: onMenuButtonClick,
|
|
113
114
|
children: "..."
|
package/dist/Breadcrumbs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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","children","href","iconName","breadcrumbContent","_MenuItem","color","_ButtonBase","breadcrumbProviderValue","currentPage","listItem","menuItem","defaultTruncationValue","BreadcrumbList","homeHref","maxVisibleItems","testId","translate","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\";\nimport { HtmlProps } from \"./HtmlProps\";\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} & Pick<HtmlProps, \"testId\" | \"translate\">;\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 testId,\n translate,\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 data-se={testId}\n translate={translate}\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","children","href","iconName","breadcrumbContent","_MenuItem","color","_ButtonBase","breadcrumbProviderValue","currentPage","listItem","menuItem","defaultTruncationValue","BreadcrumbList","homeHref","maxVisibleItems","maxVisibleItemsProp","testId","translate","t","anchorEl","setAnchorEl","Math","min","max","length","breadcrumbSections","beforeMenu","insideMenu","remainingBreadcrumbs","menuStart","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\";\nimport { HtmlProps } from \"./HtmlProps\";\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} & Pick<HtmlProps, \"testId\" | \"translate\">;\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: maxVisibleItemsProp = defaultTruncationValue,\n testId,\n translate,\n}: BreadcrumbsProps) => {\n const { t } = useTranslation();\n\n const [anchorEl, setAnchorEl] = useState<HTMLElement | null>(null);\n\n const maxVisibleItems = useMemo(\n () => Math.min(Math.max(maxVisibleItemsProp, 0), children.length),\n [maxVisibleItemsProp, children],\n );\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 data-se={testId}\n translate={translate}\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.length > 0 && (\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/Callout.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import _Alert from "@mui/material/Alert";
|
|
2
|
+
import _Link from "@mui/material/Link";
|
|
2
3
|
import _Box from "@mui/material/Box";
|
|
3
4
|
import _AlertTitle from "@mui/material/AlertTitle";
|
|
4
5
|
/*!
|
|
@@ -16,12 +17,22 @@ import _AlertTitle from "@mui/material/AlertTitle";
|
|
|
16
17
|
import { memo } from "react";
|
|
17
18
|
import { ScreenReaderText } from "./ScreenReaderText.js";
|
|
18
19
|
import { useTranslation } from "react-i18next";
|
|
19
|
-
import { Link } from "./Link.js";
|
|
20
20
|
import { Paragraph } from "./Typography.js";
|
|
21
|
+
import { useOdysseyDesignTokens } from "./OdysseyDesignTokensContext.js";
|
|
22
|
+
import styled from "@emotion/styled";
|
|
21
23
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
22
24
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
23
25
|
export const calloutRoleValues = ["status", "alert"];
|
|
24
26
|
export const calloutSeverityValues = ["success", "info", "warning", "error"];
|
|
27
|
+
const ContentContainer = styled("div", {
|
|
28
|
+
shouldForwardProp: prop => prop !== "odysseyDesignTokens"
|
|
29
|
+
})(({
|
|
30
|
+
odysseyDesignTokens
|
|
31
|
+
}) => ({
|
|
32
|
+
"& > * + *": {
|
|
33
|
+
marginBlockStart: odysseyDesignTokens.Spacing4
|
|
34
|
+
}
|
|
35
|
+
}));
|
|
25
36
|
const Callout = ({
|
|
26
37
|
children,
|
|
27
38
|
linkText,
|
|
@@ -36,6 +47,7 @@ const Callout = ({
|
|
|
36
47
|
const {
|
|
37
48
|
t
|
|
38
49
|
} = useTranslation();
|
|
50
|
+
const odysseyDesignTokens = useOdysseyDesignTokens();
|
|
39
51
|
return _jsxs(_Alert, {
|
|
40
52
|
"data-se": testId,
|
|
41
53
|
role: role,
|
|
@@ -47,15 +59,20 @@ const Callout = ({
|
|
|
47
59
|
}), title && _jsx(_AlertTitle, {
|
|
48
60
|
translate: translate,
|
|
49
61
|
children: title
|
|
50
|
-
}),
|
|
51
|
-
|
|
52
|
-
children: children
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
62
|
+
}), _jsxs(ContentContainer, {
|
|
63
|
+
odysseyDesignTokens: odysseyDesignTokens,
|
|
64
|
+
children: [children && _jsx(_Box, {
|
|
65
|
+
component: "div",
|
|
66
|
+
children: children
|
|
67
|
+
}), text && _jsx(Paragraph, {
|
|
68
|
+
children: text
|
|
69
|
+
}), linkUrl && _jsx(_Box, {
|
|
70
|
+
children: _jsx(_Link, {
|
|
71
|
+
href: linkUrl,
|
|
72
|
+
variant: "monochrome",
|
|
73
|
+
children: linkText
|
|
74
|
+
})
|
|
75
|
+
})]
|
|
59
76
|
})]
|
|
60
77
|
});
|
|
61
78
|
};
|
package/dist/Callout.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Callout.js","names":["memo","ScreenReaderText","useTranslation","
|
|
1
|
+
{"version":3,"file":"Callout.js","names":["memo","ScreenReaderText","useTranslation","Paragraph","useOdysseyDesignTokens","styled","jsx","_jsx","jsxs","_jsxs","calloutRoleValues","calloutSeverityValues","ContentContainer","shouldForwardProp","prop","odysseyDesignTokens","marginBlockStart","Spacing4","Callout","children","linkText","linkUrl","role","severity","testId","text","title","translate","t","_Alert","variant","_AlertTitle","_Box","component","_Link","href","MemoizedCallout","displayName"],"sources":["../src/Callout.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2022-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, ReactNode } from \"react\";\nimport { Alert, AlertTitle, Box, Link as MuiLink } from \"@mui/material\";\nimport { ScreenReaderText } from \"./ScreenReaderText\";\nimport { useTranslation } from \"react-i18next\";\n\nimport type { HtmlProps } from \"./HtmlProps\";\nimport { Paragraph } from \"./Typography\";\n\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"./OdysseyDesignTokensContext\";\nimport styled from \"@emotion/styled\";\n\nexport const calloutRoleValues = [\"status\", \"alert\"] as const;\nexport const calloutSeverityValues = [\n \"success\",\n \"info\",\n \"warning\",\n \"error\",\n] as const;\n\nexport type CalloutProps = {\n /**\n * @deprecated Callout content shuold be set via title, text, linkText, and linkUrl\n */\n children?: ReactNode;\n /**\n * Sets the ARIA role of the Callout\n * (\"status\" for something that dynamically updates, \"alert\" for errors, null for something\n * unchanging)\n */\n role?: (typeof calloutRoleValues)[number];\n /**\n * Determine the color and icon of the Callout\n */\n severity: (typeof calloutSeverityValues)[number];\n /**\n * The text content of the Callout\n */\n text?: string;\n /**\n * The title of the Callout\n */\n title?: string;\n} & (\n | {\n text: string;\n children?: never;\n }\n | {\n text?: never;\n children: ReactNode;\n }\n) &\n (\n | {\n /**\n * If linkUrl is not undefined, this is the text of the link.\n * If left blank, it defaults to \"Learn more\".\n * Note that linkText does nothing if linkUrl is not defined\n */\n linkUrl: string;\n /**\n * If defined, the Toast will include a link to the URL\n */\n linkText: string;\n }\n | {\n linkUrl?: never;\n linkText?: never;\n }\n ) &\n Pick<HtmlProps, \"testId\" | \"translate\">;\n\nconst ContentContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})(({ odysseyDesignTokens }: { odysseyDesignTokens: DesignTokens }) => ({\n \"& > * + *\": {\n marginBlockStart: odysseyDesignTokens.Spacing4,\n },\n}));\n\nconst Callout = ({\n children,\n linkText,\n linkUrl,\n role,\n severity,\n testId,\n text,\n title,\n translate,\n}: CalloutProps) => {\n const { t } = useTranslation();\n const odysseyDesignTokens = useOdysseyDesignTokens();\n\n return (\n <Alert data-se={testId} role={role} severity={severity} variant=\"callout\">\n <ScreenReaderText translate={translate}>\n {t(`severity.${severity}`)}\n </ScreenReaderText>\n {title && <AlertTitle translate={translate}>{title}</AlertTitle>}\n <ContentContainer odysseyDesignTokens={odysseyDesignTokens}>\n {children && <Box component=\"div\">{children}</Box>}\n {text && <Paragraph>{text}</Paragraph>}\n {linkUrl && (\n <Box>\n <MuiLink href={linkUrl} variant=\"monochrome\">\n {linkText}\n </MuiLink>\n </Box>\n )}\n </ContentContainer>\n </Alert>\n );\n};\n\nconst MemoizedCallout = memo(Callout);\nMemoizedCallout.displayName = \"Callout\";\n\nexport { MemoizedCallout as Callout };\n"],"mappings":";;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,IAAI,QAAmB,OAAO;AAAC,SAE/BC,gBAAgB;AACzB,SAASC,cAAc,QAAQ,eAAe;AAAC,SAGtCC,SAAS;AAAA,SAIhBC,sBAAsB;AAExB,OAAOC,MAAM,MAAM,iBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAErC,OAAO,MAAMC,iBAAiB,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAU;AAC7D,OAAO,MAAMC,qBAAqB,GAAG,CACnC,SAAS,EACT,MAAM,EACN,SAAS,EACT,OAAO,CACC;AAuDV,MAAMC,gBAAgB,GAAGP,MAAM,CAAC,KAAK,EAAE;EACrCQ,iBAAiB,EAAGC,IAAI,IAAKA,IAAI,KAAK;AACxC,CAAC,CAAC,CAAC,CAAC;EAAEC;AAA2D,CAAC,MAAM;EACtE,WAAW,EAAE;IACXC,gBAAgB,EAAED,mBAAmB,CAACE;EACxC;AACF,CAAC,CAAC,CAAC;AAEH,MAAMC,OAAO,GAAGA,CAAC;EACfC,QAAQ;EACRC,QAAQ;EACRC,OAAO;EACPC,IAAI;EACJC,QAAQ;EACRC,MAAM;EACNC,IAAI;EACJC,KAAK;EACLC;AACY,CAAC,KAAK;EAClB,MAAM;IAAEC;EAAE,CAAC,GAAG1B,cAAc,CAAC,CAAC;EAC9B,MAAMa,mBAAmB,GAAGX,sBAAsB,CAAC,CAAC;EAEpD,OACEK,KAAA,CAAAoB,MAAA;IAAO,WAASL,MAAO;IAACF,IAAI,EAAEA,IAAK;IAACC,QAAQ,EAAEA,QAAS;IAACO,OAAO,EAAC,SAAS;IAAAX,QAAA,GACvEZ,IAAA,CAACN,gBAAgB;MAAC0B,SAAS,EAAEA,SAAU;MAAAR,QAAA,EACpCS,CAAC,CAAE,YAAWL,QAAS,EAAC;IAAC,CACV,CAAC,EAClBG,KAAK,IAAInB,IAAA,CAAAwB,WAAA;MAAYJ,SAAS,EAAEA,SAAU;MAAAR,QAAA,EAAEO;IAAK,CAAa,CAAC,EAChEjB,KAAA,CAACG,gBAAgB;MAACG,mBAAmB,EAAEA,mBAAoB;MAAAI,QAAA,GACxDA,QAAQ,IAAIZ,IAAA,CAAAyB,IAAA;QAAKC,SAAS,EAAC,KAAK;QAAAd,QAAA,EAAEA;MAAQ,CAAM,CAAC,EACjDM,IAAI,IAAIlB,IAAA,CAACJ,SAAS;QAAAgB,QAAA,EAAEM;MAAI,CAAY,CAAC,EACrCJ,OAAO,IACNd,IAAA,CAAAyB,IAAA;QAAAb,QAAA,EACEZ,IAAA,CAAA2B,KAAA;UAASC,IAAI,EAAEd,OAAQ;UAACS,OAAO,EAAC,YAAY;UAAAX,QAAA,EACzCC;QAAQ,CACF;MAAC,CACP,CACN;IAAA,CACe,CAAC;EAAA,CACd,CAAC;AAEZ,CAAC;AAED,MAAMgB,eAAe,GAAGpC,IAAI,CAACkB,OAAO,CAAC;AACrCkB,eAAe,CAACC,WAAW,GAAG,SAAS;AAEvC,SAASD,eAAe,IAAIlB,OAAO"}
|
|
@@ -51,5 +51,6 @@ const DataTableEmptyState = ({
|
|
|
51
51
|
});
|
|
52
52
|
};
|
|
53
53
|
const MemoizedDataTableEmptyState = memo(DataTableEmptyState);
|
|
54
|
+
MemoizedDataTableEmptyState.displayName = "DataTableEmptyState";
|
|
54
55
|
export { MemoizedDataTableEmptyState as DataTableEmptyState };
|
|
55
56
|
//# sourceMappingURL=DataTableEmptyState.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTableEmptyState.js","names":["memo","Heading4","Paragraph","Box","styled","useOdysseyDesignTokens","jsx","_jsx","jsxs","_jsxs","EmptyContainer","shouldForwardProp","prop","odysseyDesignTokens","display","flexDirection","marginBlock","Spacing9","padding","Spacing5","textAlign","width","DataTableEmptyState","heading","text","primaryButton","secondaryButton","children","sx","marginBlockStart","MemoizedDataTableEmptyState"],"sources":["../../src/DataTable/DataTableEmptyState.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 { ReactNode, memo } from \"react\";\nimport { Heading4, Paragraph } from \"../Typography\";\nimport { Box } from \"../Box\";\nimport styled from \"@emotion/styled\";\nimport {\n useOdysseyDesignTokens,\n DesignTokens,\n} from \"../OdysseyDesignTokensContext\";\n\nconst EmptyContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})(({ odysseyDesignTokens }: { odysseyDesignTokens: DesignTokens }) => ({\n display: \"flex\",\n flexDirection: \"column\",\n marginBlock: odysseyDesignTokens.Spacing9,\n padding: odysseyDesignTokens.Spacing5,\n textAlign: \"center\",\n width: \"100%\",\n}));\n\nexport type DataTableEmptyStateProps = {\n heading: string;\n text: string;\n primaryButton?: ReactNode;\n secondaryButton?: ReactNode;\n};\n\nconst DataTableEmptyState = ({\n heading,\n text,\n primaryButton,\n secondaryButton,\n}: DataTableEmptyStateProps) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n return (\n <EmptyContainer odysseyDesignTokens={odysseyDesignTokens}>\n <Heading4>{heading}</Heading4>\n <Paragraph>{text}</Paragraph>\n {(primaryButton || secondaryButton) && (\n <Box sx={{ marginBlockStart: 5 }}>\n {secondaryButton}\n {primaryButton}\n </Box>\n )}\n </EmptyContainer>\n );\n};\n\nconst MemoizedDataTableEmptyState = memo(DataTableEmptyState);\nexport { MemoizedDataTableEmptyState as DataTableEmptyState };\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAoBA,IAAI,QAAQ,OAAO;AAAC,SAC/BC,QAAQ,EAAEC,SAAS;AAAA,SACnBC,GAAG;AACZ,OAAOC,MAAM,MAAM,iBAAiB;AAAC,SAEnCC,sBAAsB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAIxB,MAAMC,cAAc,GAAGN,MAAM,CAAC,KAAK,EAAE;EACnCO,iBAAiB,EAAGC,IAAI,IAAKA,IAAI,KAAK;AACxC,CAAC,CAAC,CAAC,CAAC;EAAEC;AAA2D,CAAC,MAAM;EACtEC,OAAO,EAAE,MAAM;EACfC,aAAa,EAAE,QAAQ;EACvBC,WAAW,EAAEH,mBAAmB,CAACI,QAAQ;EACzCC,OAAO,EAAEL,mBAAmB,CAACM,QAAQ;EACrCC,SAAS,EAAE,QAAQ;EACnBC,KAAK,EAAE;AACT,CAAC,CAAC,CAAC;AASH,MAAMC,mBAAmB,GAAGA,CAAC;EAC3BC,OAAO;EACPC,IAAI;EACJC,aAAa;EACbC;AACwB,CAAC,KAAK;EAC9B,MAAMb,mBAAmB,GAAGR,sBAAsB,CAAC,CAAC;EACpD,OACEI,KAAA,CAACC,cAAc;IAACG,mBAAmB,EAAEA,mBAAoB;IAAAc,QAAA,GACvDpB,IAAA,CAACN,QAAQ;MAAA0B,QAAA,EAAEJ;IAAO,CAAW,CAAC,EAC9BhB,IAAA,CAACL,SAAS;MAAAyB,QAAA,EAAEH;IAAI,CAAY,CAAC,EAC5B,CAACC,aAAa,IAAIC,eAAe,KAChCjB,KAAA,CAACN,GAAG;MAACyB,EAAE,EAAE;QAAEC,gBAAgB,EAAE;MAAE,CAAE;MAAAF,QAAA,GAC9BD,eAAe,EACfD,aAAa;IAAA,CACX,CACN;EAAA,CACa,CAAC;AAErB,CAAC;AAED,MAAMK,2BAA2B,GAAG9B,IAAI,CAACsB,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"DataTableEmptyState.js","names":["memo","Heading4","Paragraph","Box","styled","useOdysseyDesignTokens","jsx","_jsx","jsxs","_jsxs","EmptyContainer","shouldForwardProp","prop","odysseyDesignTokens","display","flexDirection","marginBlock","Spacing9","padding","Spacing5","textAlign","width","DataTableEmptyState","heading","text","primaryButton","secondaryButton","children","sx","marginBlockStart","MemoizedDataTableEmptyState","displayName"],"sources":["../../src/DataTable/DataTableEmptyState.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 { ReactNode, memo } from \"react\";\nimport { Heading4, Paragraph } from \"../Typography\";\nimport { Box } from \"../Box\";\nimport styled from \"@emotion/styled\";\nimport {\n useOdysseyDesignTokens,\n DesignTokens,\n} from \"../OdysseyDesignTokensContext\";\n\nconst EmptyContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})(({ odysseyDesignTokens }: { odysseyDesignTokens: DesignTokens }) => ({\n display: \"flex\",\n flexDirection: \"column\",\n marginBlock: odysseyDesignTokens.Spacing9,\n padding: odysseyDesignTokens.Spacing5,\n textAlign: \"center\",\n width: \"100%\",\n}));\n\nexport type DataTableEmptyStateProps = {\n heading: string;\n text: string;\n primaryButton?: ReactNode;\n secondaryButton?: ReactNode;\n};\n\nconst DataTableEmptyState = ({\n heading,\n text,\n primaryButton,\n secondaryButton,\n}: DataTableEmptyStateProps) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n return (\n <EmptyContainer odysseyDesignTokens={odysseyDesignTokens}>\n <Heading4>{heading}</Heading4>\n <Paragraph>{text}</Paragraph>\n {(primaryButton || secondaryButton) && (\n <Box sx={{ marginBlockStart: 5 }}>\n {secondaryButton}\n {primaryButton}\n </Box>\n )}\n </EmptyContainer>\n );\n};\n\nconst MemoizedDataTableEmptyState = memo(DataTableEmptyState);\nMemoizedDataTableEmptyState.displayName = \"DataTableEmptyState\";\n\nexport { MemoizedDataTableEmptyState as DataTableEmptyState };\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAoBA,IAAI,QAAQ,OAAO;AAAC,SAC/BC,QAAQ,EAAEC,SAAS;AAAA,SACnBC,GAAG;AACZ,OAAOC,MAAM,MAAM,iBAAiB;AAAC,SAEnCC,sBAAsB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAIxB,MAAMC,cAAc,GAAGN,MAAM,CAAC,KAAK,EAAE;EACnCO,iBAAiB,EAAGC,IAAI,IAAKA,IAAI,KAAK;AACxC,CAAC,CAAC,CAAC,CAAC;EAAEC;AAA2D,CAAC,MAAM;EACtEC,OAAO,EAAE,MAAM;EACfC,aAAa,EAAE,QAAQ;EACvBC,WAAW,EAAEH,mBAAmB,CAACI,QAAQ;EACzCC,OAAO,EAAEL,mBAAmB,CAACM,QAAQ;EACrCC,SAAS,EAAE,QAAQ;EACnBC,KAAK,EAAE;AACT,CAAC,CAAC,CAAC;AASH,MAAMC,mBAAmB,GAAGA,CAAC;EAC3BC,OAAO;EACPC,IAAI;EACJC,aAAa;EACbC;AACwB,CAAC,KAAK;EAC9B,MAAMb,mBAAmB,GAAGR,sBAAsB,CAAC,CAAC;EACpD,OACEI,KAAA,CAACC,cAAc;IAACG,mBAAmB,EAAEA,mBAAoB;IAAAc,QAAA,GACvDpB,IAAA,CAACN,QAAQ;MAAA0B,QAAA,EAAEJ;IAAO,CAAW,CAAC,EAC9BhB,IAAA,CAACL,SAAS;MAAAyB,QAAA,EAAEH;IAAI,CAAY,CAAC,EAC5B,CAACC,aAAa,IAAIC,eAAe,KAChCjB,KAAA,CAACN,GAAG;MAACyB,EAAE,EAAE;QAAEC,gBAAgB,EAAE;MAAE,CAAE;MAAAF,QAAA,GAC9BD,eAAe,EACfD,aAAa;IAAA,CACX,CACN;EAAA,CACa,CAAC;AAErB,CAAC;AAED,MAAMK,2BAA2B,GAAG9B,IAAI,CAACsB,mBAAmB,CAAC;AAC7DQ,2BAA2B,CAACC,WAAW,GAAG,qBAAqB;AAE/D,SAASD,2BAA2B,IAAIR,mBAAmB"}
|
|
@@ -217,5 +217,6 @@ const DataTablePagination = ({
|
|
|
217
217
|
});
|
|
218
218
|
};
|
|
219
219
|
const MemoizedDataTablePagination = memo(DataTablePagination);
|
|
220
|
+
MemoizedDataTablePagination.displayName = "DataTablePagination";
|
|
220
221
|
export { MemoizedDataTablePagination as DataTablePagination };
|
|
221
222
|
//# sourceMappingURL=DataTablePagination.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTablePagination.js","names":["memo","useCallback","useEffect","useMemo","useRef","useState","Paragraph","Button","ArrowLeftIcon","ArrowRightIcon","styled","useOdysseyDesignTokens","Box","Trans","useTranslation","jsx","_jsx","jsxs","_jsxs","PaginationContainer","display","alignItems","justifyContent","PaginationSegment","shouldForwardProp","prop","odysseyDesignTokens","gap","Spacing4","Spacing2","PaginationInput","_InputBase","borderColor","HueNeutral200","borderRadius","BorderRadiusTight","height","Spacing6","width","HueNeutral400","PalettePrimaryMain","PaginationButtonContainer","marginInlineStart","DataTablePagination","pagination","setPagination","totalRows","isDisabled","variant","t","page","setPage","pageIndex","rowsPerPage","setRowsPerPage","pageSize","initialRowsPerPage","firstRow","lastRow","handlePaginationChange","updatedPage","Math","ceil","updatedRowsPerPage","handlePageSubmit","event","key","parseInt","currentTarget","value","handleRowsPerPageSubmit","setPageFromEvent","target","setRowsPerPageFromEvent","handleLoadMore","current","handleNextButton","handlePreviousButton","loadMoreIsDisabled","nextButtonDisabled","previousButtonDisabled","children","component","color","type","onChange","onBlur","onKeyDown","disabled","inputProps","i18nKey","values","startIcon","size","ariaLabel","onClick","endIcon","label","MemoizedDataTablePagination"],"sources":["../../src/DataTable/DataTablePagination.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 { InputBase } from \"@mui/material\";\nimport {\n Dispatch,\n SetStateAction,\n memo,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { Paragraph } from \"../Typography\";\nimport { Button } from \"../Button\";\nimport { ArrowLeftIcon, ArrowRightIcon } from \"../icons.generated\";\nimport styled from \"@emotion/styled\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../OdysseyDesignTokensContext\";\nimport { Box } from \"../Box\";\nimport { Trans, useTranslation } from \"react-i18next\";\nimport { paginationTypeValues } from \"./constants\";\n\nconst PaginationContainer = styled(\"div\")({\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n});\n\nconst PaginationSegment = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})(({ odysseyDesignTokens }: { odysseyDesignTokens: DesignTokens }) => ({\n display: \"flex\",\n alignItems: \"center\",\n gap: odysseyDesignTokens.Spacing4,\n \"& > div\": {\n display: \"flex\",\n alignItems: \"center\",\n gap: odysseyDesignTokens.Spacing2,\n },\n}));\n\nconst PaginationInput = styled(InputBase, {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})(({ odysseyDesignTokens }: { odysseyDesignTokens: DesignTokens }) => ({\n borderColor: odysseyDesignTokens.HueNeutral200,\n borderRadius: odysseyDesignTokens.BorderRadiusTight,\n height: odysseyDesignTokens.Spacing6,\n width: \"4.5714285714rem\", // This is a hardcoded value, keep as string\n \"&:hover\": {\n borderColor: odysseyDesignTokens.HueNeutral400,\n },\n \"&.Mui-focused:hover\": {\n borderColor: odysseyDesignTokens.PalettePrimaryMain,\n },\n}));\n\nconst PaginationButtonContainer = styled(\"div\")({\n \"& > *\": {\n marginInlineStart: `0 !important`,\n },\n});\n\nexport type DataTablePaginationProps = {\n pagination: {\n pageIndex: number;\n pageSize: number;\n };\n setPagination: Dispatch<\n SetStateAction<{ pageIndex: number; pageSize: number }>\n >;\n totalRows?: number;\n isDisabled?: boolean;\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 variant?: (typeof paginationTypeValues)[number];\n};\n\nconst DataTablePagination = ({\n pagination,\n setPagination,\n totalRows,\n isDisabled,\n variant,\n}: DataTablePaginationProps) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const { t } = useTranslation();\n\n const [page, setPage] = useState<number>(pagination.pageIndex);\n const [rowsPerPage, setRowsPerPage] = useState<number>(pagination.pageSize);\n const initialRowsPerPage = useRef<number>(pagination.pageSize);\n\n const firstRow = pagination.pageSize * (pagination.pageIndex - 1) + 1;\n let lastRow = firstRow + (pagination.pageSize - 1);\n // If the last eligible row is greater than the number of total rows,\n // show the number of total rows instead (ie, if we're showing rows\n // 180-200 but there are only 190 rows, show 180-190 instead)\n lastRow = totalRows && lastRow > totalRows ? totalRows : lastRow;\n\n useEffect(() => {\n setPage(pagination.pageIndex);\n setRowsPerPage(pagination.pageSize);\n }, [pagination]);\n\n const handlePaginationChange = useCallback(() => {\n const updatedPage =\n totalRows && page * totalRows > lastRow\n ? Math.ceil(totalRows / rowsPerPage)\n : page;\n const updatedRowsPerPage =\n totalRows && rowsPerPage > totalRows ? totalRows : rowsPerPage;\n\n setPagination({\n pageIndex: updatedPage,\n pageSize: updatedRowsPerPage,\n });\n }, [page, rowsPerPage, lastRow, setPagination, totalRows]);\n\n // The following handlers use React.KeyboardEvent (rather than just KeyboardEvent) becuase React.KeyboardEvent\n // is generic, while plain KeyboardEvent is not. We need this generic so we can specify the HTMLInputElement,\n // which allows us to use currentTarget.value\n const handlePageSubmit = useCallback(\n (event: React.KeyboardEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n if (event.key === \"Enter\") {\n setPagination({\n pageIndex: parseInt(event.currentTarget.value),\n pageSize: rowsPerPage,\n });\n }\n },\n [rowsPerPage, setPagination],\n );\n\n const handleRowsPerPageSubmit = useCallback(\n (event: React.KeyboardEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n if (event.key === \"Enter\") {\n setPagination({\n pageIndex: page,\n pageSize: parseInt(event.currentTarget.value),\n });\n }\n },\n [page, setPagination],\n );\n\n const setPageFromEvent = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n setPage(parseInt(event.target.value));\n },\n [setPage],\n );\n\n const setRowsPerPageFromEvent = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n setRowsPerPage(parseInt(event.target.value));\n },\n [setRowsPerPage],\n );\n\n const handleLoadMore = useCallback(() => {\n setPagination({\n pageIndex: 1,\n pageSize: rowsPerPage + initialRowsPerPage.current,\n });\n }, [rowsPerPage, setPagination]);\n\n const handleNextButton = useCallback(() => {\n setPagination({ pageIndex: page + 1, pageSize: rowsPerPage });\n }, [setPagination, page, rowsPerPage]);\n\n const handlePreviousButton = useCallback(() => {\n setPagination({ pageIndex: page - 1, pageSize: rowsPerPage });\n }, [setPagination, page, rowsPerPage]);\n\n const loadMoreIsDisabled = useMemo(() => {\n return totalRows ? rowsPerPage >= totalRows : false;\n }, [rowsPerPage, totalRows]);\n\n const nextButtonDisabled = useMemo(\n () => (totalRows ? lastRow >= totalRows : false) || isDisabled,\n [totalRows, lastRow, isDisabled],\n );\n\n const previousButtonDisabled = useMemo(\n () => pagination.pageIndex <= 1 || isDisabled,\n [pagination, isDisabled],\n );\n\n return variant === \"paged\" ? (\n <PaginationContainer>\n <PaginationSegment odysseyDesignTokens={odysseyDesignTokens}>\n <Box>\n <Paragraph component=\"span\" color=\"textSecondary\">\n {t(\"table.pagination.rowsperpage\")}\n </Paragraph>\n <PaginationInput\n odysseyDesignTokens={odysseyDesignTokens}\n type=\"number\"\n value={rowsPerPage}\n onChange={setRowsPerPageFromEvent}\n onBlur={handlePaginationChange}\n onKeyDown={handleRowsPerPageSubmit}\n disabled={isDisabled}\n inputProps={{\n \"aria-label\": t(\"table.pagination.rowsperpage\"),\n }}\n />\n </Box>\n <Paragraph component=\"span\" color=\"textSecondary\">\n {totalRows ? (\n <Trans\n i18nKey=\"table.pagination.rowswithtotal\"\n values={{ firstRow, lastRow, totalRows }}\n />\n ) : (\n <Trans\n i18nKey=\"table.pagination.rowswithouttotal\"\n values={{ firstRow, lastRow }}\n />\n )}\n </Paragraph>\n </PaginationSegment>\n\n <PaginationSegment odysseyDesignTokens={odysseyDesignTokens}>\n {totalRows && (\n <Box>\n <Paragraph component=\"span\" color=\"textSecondary\">\n {t(\"table.pagination.page\")}\n </Paragraph>\n <PaginationInput\n odysseyDesignTokens={odysseyDesignTokens}\n type=\"number\"\n value={page}\n onChange={setPageFromEvent}\n onBlur={handlePaginationChange}\n onKeyDown={handlePageSubmit}\n disabled={isDisabled}\n inputProps={{\n \"aria-label\": t(\"table.pagination.page\"),\n }}\n />\n </Box>\n )}\n <PaginationButtonContainer>\n <Button\n startIcon={<ArrowLeftIcon />}\n variant=\"floating\"\n size=\"small\"\n ariaLabel={t(\"table.pagination.previous\")}\n onClick={handlePreviousButton}\n isDisabled={previousButtonDisabled}\n />\n <Button\n endIcon={<ArrowRightIcon />}\n variant=\"floating\"\n size=\"small\"\n ariaLabel={t(\"table.pagination.next\")}\n onClick={handleNextButton}\n isDisabled={nextButtonDisabled}\n />\n </PaginationButtonContainer>\n </PaginationSegment>\n </PaginationContainer>\n ) : (\n <Button\n variant=\"secondary\"\n label={t(\"table.pagination.loadmore\")}\n onClick={handleLoadMore}\n isDisabled={loadMoreIsDisabled}\n />\n );\n};\n\nconst MemoizedDataTablePagination = memo(DataTablePagination);\nexport { MemoizedDataTablePagination as DataTablePagination };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DataTablePagination.js","names":["memo","useCallback","useEffect","useMemo","useRef","useState","Paragraph","Button","ArrowLeftIcon","ArrowRightIcon","styled","useOdysseyDesignTokens","Box","Trans","useTranslation","jsx","_jsx","jsxs","_jsxs","PaginationContainer","display","alignItems","justifyContent","PaginationSegment","shouldForwardProp","prop","odysseyDesignTokens","gap","Spacing4","Spacing2","PaginationInput","_InputBase","borderColor","HueNeutral200","borderRadius","BorderRadiusTight","height","Spacing6","width","HueNeutral400","PalettePrimaryMain","PaginationButtonContainer","marginInlineStart","DataTablePagination","pagination","setPagination","totalRows","isDisabled","variant","t","page","setPage","pageIndex","rowsPerPage","setRowsPerPage","pageSize","initialRowsPerPage","firstRow","lastRow","handlePaginationChange","updatedPage","Math","ceil","updatedRowsPerPage","handlePageSubmit","event","key","parseInt","currentTarget","value","handleRowsPerPageSubmit","setPageFromEvent","target","setRowsPerPageFromEvent","handleLoadMore","current","handleNextButton","handlePreviousButton","loadMoreIsDisabled","nextButtonDisabled","previousButtonDisabled","children","component","color","type","onChange","onBlur","onKeyDown","disabled","inputProps","i18nKey","values","startIcon","size","ariaLabel","onClick","endIcon","label","MemoizedDataTablePagination","displayName"],"sources":["../../src/DataTable/DataTablePagination.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 { InputBase } from \"@mui/material\";\nimport {\n Dispatch,\n SetStateAction,\n memo,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { Paragraph } from \"../Typography\";\nimport { Button } from \"../Button\";\nimport { ArrowLeftIcon, ArrowRightIcon } from \"../icons.generated\";\nimport styled from \"@emotion/styled\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../OdysseyDesignTokensContext\";\nimport { Box } from \"../Box\";\nimport { Trans, useTranslation } from \"react-i18next\";\nimport { paginationTypeValues } from \"./constants\";\n\nconst PaginationContainer = styled(\"div\")({\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n});\n\nconst PaginationSegment = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})(({ odysseyDesignTokens }: { odysseyDesignTokens: DesignTokens }) => ({\n display: \"flex\",\n alignItems: \"center\",\n gap: odysseyDesignTokens.Spacing4,\n \"& > div\": {\n display: \"flex\",\n alignItems: \"center\",\n gap: odysseyDesignTokens.Spacing2,\n },\n}));\n\nconst PaginationInput = styled(InputBase, {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})(({ odysseyDesignTokens }: { odysseyDesignTokens: DesignTokens }) => ({\n borderColor: odysseyDesignTokens.HueNeutral200,\n borderRadius: odysseyDesignTokens.BorderRadiusTight,\n height: odysseyDesignTokens.Spacing6,\n width: \"4.5714285714rem\", // This is a hardcoded value, keep as string\n \"&:hover\": {\n borderColor: odysseyDesignTokens.HueNeutral400,\n },\n \"&.Mui-focused:hover\": {\n borderColor: odysseyDesignTokens.PalettePrimaryMain,\n },\n}));\n\nconst PaginationButtonContainer = styled(\"div\")({\n \"& > *\": {\n marginInlineStart: `0 !important`,\n },\n});\n\nexport type DataTablePaginationProps = {\n pagination: {\n pageIndex: number;\n pageSize: number;\n };\n setPagination: Dispatch<\n SetStateAction<{ pageIndex: number; pageSize: number }>\n >;\n totalRows?: number;\n isDisabled?: boolean;\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 variant?: (typeof paginationTypeValues)[number];\n};\n\nconst DataTablePagination = ({\n pagination,\n setPagination,\n totalRows,\n isDisabled,\n variant,\n}: DataTablePaginationProps) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const { t } = useTranslation();\n\n const [page, setPage] = useState<number>(pagination.pageIndex);\n const [rowsPerPage, setRowsPerPage] = useState<number>(pagination.pageSize);\n const initialRowsPerPage = useRef<number>(pagination.pageSize);\n\n const firstRow = pagination.pageSize * (pagination.pageIndex - 1) + 1;\n let lastRow = firstRow + (pagination.pageSize - 1);\n // If the last eligible row is greater than the number of total rows,\n // show the number of total rows instead (ie, if we're showing rows\n // 180-200 but there are only 190 rows, show 180-190 instead)\n lastRow = totalRows && lastRow > totalRows ? totalRows : lastRow;\n\n useEffect(() => {\n setPage(pagination.pageIndex);\n setRowsPerPage(pagination.pageSize);\n }, [pagination]);\n\n const handlePaginationChange = useCallback(() => {\n const updatedPage =\n totalRows && page * totalRows > lastRow\n ? Math.ceil(totalRows / rowsPerPage)\n : page;\n const updatedRowsPerPage =\n totalRows && rowsPerPage > totalRows ? totalRows : rowsPerPage;\n\n setPagination({\n pageIndex: updatedPage,\n pageSize: updatedRowsPerPage,\n });\n }, [page, rowsPerPage, lastRow, setPagination, totalRows]);\n\n // The following handlers use React.KeyboardEvent (rather than just KeyboardEvent) becuase React.KeyboardEvent\n // is generic, while plain KeyboardEvent is not. We need this generic so we can specify the HTMLInputElement,\n // which allows us to use currentTarget.value\n const handlePageSubmit = useCallback(\n (event: React.KeyboardEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n if (event.key === \"Enter\") {\n setPagination({\n pageIndex: parseInt(event.currentTarget.value),\n pageSize: rowsPerPage,\n });\n }\n },\n [rowsPerPage, setPagination],\n );\n\n const handleRowsPerPageSubmit = useCallback(\n (event: React.KeyboardEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n if (event.key === \"Enter\") {\n setPagination({\n pageIndex: page,\n pageSize: parseInt(event.currentTarget.value),\n });\n }\n },\n [page, setPagination],\n );\n\n const setPageFromEvent = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n setPage(parseInt(event.target.value));\n },\n [setPage],\n );\n\n const setRowsPerPageFromEvent = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n setRowsPerPage(parseInt(event.target.value));\n },\n [setRowsPerPage],\n );\n\n const handleLoadMore = useCallback(() => {\n setPagination({\n pageIndex: 1,\n pageSize: rowsPerPage + initialRowsPerPage.current,\n });\n }, [rowsPerPage, setPagination]);\n\n const handleNextButton = useCallback(() => {\n setPagination({ pageIndex: page + 1, pageSize: rowsPerPage });\n }, [setPagination, page, rowsPerPage]);\n\n const handlePreviousButton = useCallback(() => {\n setPagination({ pageIndex: page - 1, pageSize: rowsPerPage });\n }, [setPagination, page, rowsPerPage]);\n\n const loadMoreIsDisabled = useMemo(() => {\n return totalRows ? rowsPerPage >= totalRows : false;\n }, [rowsPerPage, totalRows]);\n\n const nextButtonDisabled = useMemo(\n () => (totalRows ? lastRow >= totalRows : false) || isDisabled,\n [totalRows, lastRow, isDisabled],\n );\n\n const previousButtonDisabled = useMemo(\n () => pagination.pageIndex <= 1 || isDisabled,\n [pagination, isDisabled],\n );\n\n return variant === \"paged\" ? (\n <PaginationContainer>\n <PaginationSegment odysseyDesignTokens={odysseyDesignTokens}>\n <Box>\n <Paragraph component=\"span\" color=\"textSecondary\">\n {t(\"table.pagination.rowsperpage\")}\n </Paragraph>\n <PaginationInput\n odysseyDesignTokens={odysseyDesignTokens}\n type=\"number\"\n value={rowsPerPage}\n onChange={setRowsPerPageFromEvent}\n onBlur={handlePaginationChange}\n onKeyDown={handleRowsPerPageSubmit}\n disabled={isDisabled}\n inputProps={{\n \"aria-label\": t(\"table.pagination.rowsperpage\"),\n }}\n />\n </Box>\n <Paragraph component=\"span\" color=\"textSecondary\">\n {totalRows ? (\n <Trans\n i18nKey=\"table.pagination.rowswithtotal\"\n values={{ firstRow, lastRow, totalRows }}\n />\n ) : (\n <Trans\n i18nKey=\"table.pagination.rowswithouttotal\"\n values={{ firstRow, lastRow }}\n />\n )}\n </Paragraph>\n </PaginationSegment>\n\n <PaginationSegment odysseyDesignTokens={odysseyDesignTokens}>\n {totalRows && (\n <Box>\n <Paragraph component=\"span\" color=\"textSecondary\">\n {t(\"table.pagination.page\")}\n </Paragraph>\n <PaginationInput\n odysseyDesignTokens={odysseyDesignTokens}\n type=\"number\"\n value={page}\n onChange={setPageFromEvent}\n onBlur={handlePaginationChange}\n onKeyDown={handlePageSubmit}\n disabled={isDisabled}\n inputProps={{\n \"aria-label\": t(\"table.pagination.page\"),\n }}\n />\n </Box>\n )}\n <PaginationButtonContainer>\n <Button\n startIcon={<ArrowLeftIcon />}\n variant=\"floating\"\n size=\"small\"\n ariaLabel={t(\"table.pagination.previous\")}\n onClick={handlePreviousButton}\n isDisabled={previousButtonDisabled}\n />\n <Button\n endIcon={<ArrowRightIcon />}\n variant=\"floating\"\n size=\"small\"\n ariaLabel={t(\"table.pagination.next\")}\n onClick={handleNextButton}\n isDisabled={nextButtonDisabled}\n />\n </PaginationButtonContainer>\n </PaginationSegment>\n </PaginationContainer>\n ) : (\n <Button\n variant=\"secondary\"\n label={t(\"table.pagination.loadmore\")}\n onClick={handleLoadMore}\n isDisabled={loadMoreIsDisabled}\n />\n );\n};\n\nconst MemoizedDataTablePagination = memo(DataTablePagination);\nMemoizedDataTablePagination.displayName = \"DataTablePagination\";\n\nexport { MemoizedDataTablePagination as DataTablePagination };\n"],"mappings":"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"}
|
|
@@ -95,5 +95,6 @@ const DataTableRowActions = ({
|
|
|
95
95
|
});
|
|
96
96
|
};
|
|
97
97
|
const MemoizedDataTableRowActions = memo(DataTableRowActions);
|
|
98
|
+
MemoizedDataTableRowActions.displayName = "DataTableRowActions";
|
|
98
99
|
export { MemoizedDataTableRowActions as DataTableRowActions };
|
|
99
100
|
//# sourceMappingURL=DataTableRowActions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTableRowActions.js","names":["memo","useCallback","MenuItem","MenuButton","ArrowBottomIcon","ArrowDownIcon","ArrowTopIcon","ArrowUpIcon","MoreIcon","Trans","useTranslation","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","DataTableRowActions","row","rowIndex","rowActionButtons","rowActionMenuItems","totalRows","updateRowOrder","t","handleToFrontClick","rowId","id","newRowIndex","handleForwardClick","Math","max","handleBackwardClick","handleToBackClick","_Box","display","children","endIcon","size","buttonVariant","ariaLabel","menuAlignment","isDisabled","onClick","i18nKey","MemoizedDataTableRowActions"],"sources":["../../src/DataTable/DataTableRowActions.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 { MRT_Row, MRT_RowData } from \"material-react-table\";\nimport { Fragment, ReactElement, memo, useCallback } from \"react\";\nimport { Button } from \"../Button\";\nimport { MenuItem } from \"../MenuItem\";\nimport { Box as MuiBox } from \"@mui/material\";\nimport { MenuButton, MenuButtonProps } from \"../MenuButton\";\nimport {\n ArrowBottomIcon,\n ArrowDownIcon,\n ArrowTopIcon,\n ArrowUpIcon,\n MoreIcon,\n} from \"../icons.generated\";\nimport { DataTableProps } from \"./DataTable\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nexport type DataTableRowActionsProps = {\n row: MRT_Row<MRT_RowData>;\n rowIndex: number;\n rowActionButtons?: (\n row: MRT_RowData,\n ) => ReactElement<typeof Button | typeof Fragment>;\n rowActionMenuItems?: (row: MRT_RowData) => MenuButtonProps[\"children\"];\n totalRows?: DataTableProps[\"totalRows\"];\n updateRowOrder?: ({\n rowId,\n newRowIndex,\n }: {\n rowId: string;\n newRowIndex: number;\n }) => void;\n};\n\nconst DataTableRowActions = ({\n row,\n rowIndex,\n rowActionButtons,\n rowActionMenuItems,\n totalRows,\n updateRowOrder,\n}: DataTableRowActionsProps) => {\n const { t } = useTranslation();\n\n const handleToFrontClick = useCallback(() => {\n updateRowOrder && updateRowOrder({ rowId: row.id, newRowIndex: 0 });\n }, [row.id, updateRowOrder]);\n\n const handleForwardClick = useCallback(() => {\n updateRowOrder &&\n updateRowOrder({ rowId: row.id, newRowIndex: Math.max(0, rowIndex - 1) });\n }, [row.id, rowIndex, updateRowOrder]);\n\n const handleBackwardClick = useCallback(() => {\n updateRowOrder &&\n updateRowOrder({ rowId: row.id, newRowIndex: rowIndex + 1 });\n }, [row.id, rowIndex, updateRowOrder]);\n\n const handleToBackClick = useCallback(() => {\n updateRowOrder &&\n updateRowOrder({\n rowId: row.id,\n newRowIndex: totalRows ? totalRows - 1 : rowIndex,\n });\n }, [row.id, rowIndex, totalRows, updateRowOrder]);\n\n return (\n <MuiBox display=\"flex\">\n {rowActionButtons?.(row)}\n {(rowActionMenuItems || updateRowOrder) && (\n <MenuButton\n endIcon={<MoreIcon />}\n size=\"small\"\n buttonVariant=\"floating\"\n ariaLabel={t(\"table.moreactions.arialabel\")}\n menuAlignment=\"right\"\n >\n {rowActionMenuItems && <>{rowActionMenuItems(row)}</>}\n {rowActionMenuItems && updateRowOrder && <hr />}\n {updateRowOrder && (\n <>\n <MenuItem isDisabled={rowIndex <= 0} onClick={handleToFrontClick}>\n <ArrowTopIcon /> <Trans i18nKey=\"table.reorder.tofront\" />\n </MenuItem>\n <MenuItem isDisabled={rowIndex <= 0} onClick={handleForwardClick}>\n <ArrowUpIcon /> <Trans i18nKey=\"table.reorder.forward\" />\n </MenuItem>\n <MenuItem\n isDisabled={totalRows ? rowIndex >= totalRows - 1 : false}\n onClick={handleBackwardClick}\n >\n <ArrowDownIcon /> <Trans i18nKey=\"table.reorder.backward\" />\n </MenuItem>\n {totalRows && (\n <MenuItem\n isDisabled={rowIndex >= totalRows - 1}\n onClick={handleToBackClick}\n >\n <ArrowBottomIcon /> <Trans i18nKey=\"table.reorder.toback\" />\n </MenuItem>\n )}\n </>\n )}\n </MenuButton>\n )}\n </MuiBox>\n );\n};\n\nconst MemoizedDataTableRowActions = memo(DataTableRowActions);\nexport { MemoizedDataTableRowActions as DataTableRowActions };\n"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"DataTableRowActions.js","names":["memo","useCallback","MenuItem","MenuButton","ArrowBottomIcon","ArrowDownIcon","ArrowTopIcon","ArrowUpIcon","MoreIcon","Trans","useTranslation","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","DataTableRowActions","row","rowIndex","rowActionButtons","rowActionMenuItems","totalRows","updateRowOrder","t","handleToFrontClick","rowId","id","newRowIndex","handleForwardClick","Math","max","handleBackwardClick","handleToBackClick","_Box","display","children","endIcon","size","buttonVariant","ariaLabel","menuAlignment","isDisabled","onClick","i18nKey","MemoizedDataTableRowActions","displayName"],"sources":["../../src/DataTable/DataTableRowActions.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 { MRT_Row, MRT_RowData } from \"material-react-table\";\nimport { Fragment, ReactElement, memo, useCallback } from \"react\";\nimport { Button } from \"../Button\";\nimport { MenuItem } from \"../MenuItem\";\nimport { Box as MuiBox } from \"@mui/material\";\nimport { MenuButton, MenuButtonProps } from \"../MenuButton\";\nimport {\n ArrowBottomIcon,\n ArrowDownIcon,\n ArrowTopIcon,\n ArrowUpIcon,\n MoreIcon,\n} from \"../icons.generated\";\nimport { DataTableProps } from \"./DataTable\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nexport type DataTableRowActionsProps = {\n row: MRT_Row<MRT_RowData>;\n rowIndex: number;\n rowActionButtons?: (\n row: MRT_RowData,\n ) => ReactElement<typeof Button | typeof Fragment>;\n rowActionMenuItems?: (row: MRT_RowData) => MenuButtonProps[\"children\"];\n totalRows?: DataTableProps[\"totalRows\"];\n updateRowOrder?: ({\n rowId,\n newRowIndex,\n }: {\n rowId: string;\n newRowIndex: number;\n }) => void;\n};\n\nconst DataTableRowActions = ({\n row,\n rowIndex,\n rowActionButtons,\n rowActionMenuItems,\n totalRows,\n updateRowOrder,\n}: DataTableRowActionsProps) => {\n const { t } = useTranslation();\n\n const handleToFrontClick = useCallback(() => {\n updateRowOrder && updateRowOrder({ rowId: row.id, newRowIndex: 0 });\n }, [row.id, updateRowOrder]);\n\n const handleForwardClick = useCallback(() => {\n updateRowOrder &&\n updateRowOrder({ rowId: row.id, newRowIndex: Math.max(0, rowIndex - 1) });\n }, [row.id, rowIndex, updateRowOrder]);\n\n const handleBackwardClick = useCallback(() => {\n updateRowOrder &&\n updateRowOrder({ rowId: row.id, newRowIndex: rowIndex + 1 });\n }, [row.id, rowIndex, updateRowOrder]);\n\n const handleToBackClick = useCallback(() => {\n updateRowOrder &&\n updateRowOrder({\n rowId: row.id,\n newRowIndex: totalRows ? totalRows - 1 : rowIndex,\n });\n }, [row.id, rowIndex, totalRows, updateRowOrder]);\n\n return (\n <MuiBox display=\"flex\">\n {rowActionButtons?.(row)}\n {(rowActionMenuItems || updateRowOrder) && (\n <MenuButton\n endIcon={<MoreIcon />}\n size=\"small\"\n buttonVariant=\"floating\"\n ariaLabel={t(\"table.moreactions.arialabel\")}\n menuAlignment=\"right\"\n >\n {rowActionMenuItems && <>{rowActionMenuItems(row)}</>}\n {rowActionMenuItems && updateRowOrder && <hr />}\n {updateRowOrder && (\n <>\n <MenuItem isDisabled={rowIndex <= 0} onClick={handleToFrontClick}>\n <ArrowTopIcon /> <Trans i18nKey=\"table.reorder.tofront\" />\n </MenuItem>\n <MenuItem isDisabled={rowIndex <= 0} onClick={handleForwardClick}>\n <ArrowUpIcon /> <Trans i18nKey=\"table.reorder.forward\" />\n </MenuItem>\n <MenuItem\n isDisabled={totalRows ? rowIndex >= totalRows - 1 : false}\n onClick={handleBackwardClick}\n >\n <ArrowDownIcon /> <Trans i18nKey=\"table.reorder.backward\" />\n </MenuItem>\n {totalRows && (\n <MenuItem\n isDisabled={rowIndex >= totalRows - 1}\n onClick={handleToBackClick}\n >\n <ArrowBottomIcon /> <Trans i18nKey=\"table.reorder.toback\" />\n </MenuItem>\n )}\n </>\n )}\n </MenuButton>\n )}\n </MuiBox>\n );\n};\n\nconst MemoizedDataTableRowActions = memo(DataTableRowActions);\nMemoizedDataTableRowActions.displayName = \"DataTableRowActions\";\n\nexport { MemoizedDataTableRowActions as DataTableRowActions };\n"],"mappings":"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"}
|
|
@@ -80,5 +80,6 @@ const DataTableSettings = ({
|
|
|
80
80
|
});
|
|
81
81
|
};
|
|
82
82
|
const MemoizedDataTableSettings = memo(DataTableSettings);
|
|
83
|
+
MemoizedDataTableSettings.displayName = "DataTableSettings";
|
|
83
84
|
export { MemoizedDataTableSettings as DataTableSettings };
|
|
84
85
|
//# sourceMappingURL=DataTableSettings.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTableSettings.js","names":["memo","useCallback","useMemo","MenuButton","MenuItem","ListIcon","ShowIcon","densityValues","useTranslation","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","DataTableSettings","hasChangeableDensity","rowDensity","setRowDensity","hasColumnVisibility","columns","columnVisibility","setColumnVisibility","t","changeRowDensity","value","_event","process","env","NODE_ENV","console","debug","changeColumnVisibility","columnId","prevVisibility","isColumnVisibilityChecked","reduce","acc","column","isChecked","accessorKey","children","endIcon","ariaLabel","menuAlignment","shouldCloseOnSelect","map","isSelected","onClick","charAt","toUpperCase","slice","filter","enableHiding","id","_Checkbox","checked","header","MemoizedDataTableSettings"],"sources":["../../src/DataTable/DataTableSettings.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 { Dispatch, SetStateAction, memo, useCallback, useMemo } from \"react\";\nimport { Checkbox as MuiCheckbox } from \"@mui/material\";\nimport { MenuButton } from \"../MenuButton\";\nimport { MenuItem } from \"../MenuItem\";\nimport { ListIcon, ShowIcon } from \"../icons.generated\";\nimport { densityValues } from \"./constants\";\nimport { DataTableProps } from \"./DataTable\";\nimport { MRT_VisibilityState } from \"material-react-table\";\nimport { useTranslation } from \"react-i18next\";\n\nexport type DataTableSettingsProps = {\n hasChangeableDensity: DataTableProps[\"hasChangeableDensity\"];\n rowDensity: (typeof densityValues)[number];\n setRowDensity: Dispatch<SetStateAction<(typeof densityValues)[number]>>;\n hasColumnVisibility: DataTableProps[\"hasColumnVisibility\"];\n columns: DataTableProps[\"columns\"];\n columnVisibility?: MRT_VisibilityState;\n setColumnVisibility: Dispatch<\n SetStateAction<MRT_VisibilityState | undefined>\n >;\n};\n\nconst DataTableSettings = ({\n hasChangeableDensity,\n rowDensity,\n setRowDensity,\n hasColumnVisibility,\n columns,\n columnVisibility,\n setColumnVisibility,\n}: DataTableSettingsProps) => {\n const { t } = useTranslation();\n\n const changeRowDensity = useCallback(\n (value: (typeof densityValues)[number]) =>\n (_event: React.MouseEvent<HTMLLIElement>) => {\n // This is necessary to avoid linter errors, while the _event is necessary to satisfy the onClick type\n if (process.env.NODE_ENV === \"development\") console.debug(_event);\n\n setRowDensity(value);\n },\n [setRowDensity],\n );\n\n const changeColumnVisibility = useCallback(\n (columnId: string) => (_event: React.MouseEvent<HTMLLIElement>) => {\n // This is necessary to avoid linter errors, while the _event is necessary to satisfy the onClick type\n if (process.env.NODE_ENV === \"development\") console.debug(_event);\n\n setColumnVisibility((prevVisibility) => ({\n ...prevVisibility,\n [columnId]: prevVisibility ? prevVisibility[columnId] === false : false,\n }));\n },\n [setColumnVisibility],\n );\n\n const isColumnVisibilityChecked = useMemo(() => {\n return columns.reduce(\n (acc, column) => {\n const isChecked = columnVisibility\n ? columnVisibility[column.accessorKey!] !== false\n : true;\n acc[column.accessorKey!] = isChecked;\n return acc;\n },\n {} as Record<string, boolean>,\n );\n }, [columns, columnVisibility]);\n\n return (\n <>\n {hasChangeableDensity && (\n <MenuButton\n endIcon={<ListIcon />}\n ariaLabel={t(\"table.density.arialabel\")}\n menuAlignment=\"right\"\n shouldCloseOnSelect={false}\n >\n <>\n {densityValues.map((value: (typeof densityValues)[number]) => (\n <MenuItem\n key={value}\n isSelected={rowDensity === value}\n onClick={changeRowDensity(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={t(\"table.columnvisibility.arialabel\")}\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={changeColumnVisibility(column.id as string)}\n >\n <MuiCheckbox\n checked={isColumnVisibilityChecked[column.accessorKey!]}\n />\n {column.header}\n </MenuItem>\n ))}\n </>\n </MenuButton>\n )}\n </>\n );\n};\n\nconst MemoizedDataTableSettings = memo(DataTableSettings);\nexport { MemoizedDataTableSettings as DataTableSettings };\n"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"DataTableSettings.js","names":["memo","useCallback","useMemo","MenuButton","MenuItem","ListIcon","ShowIcon","densityValues","useTranslation","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","DataTableSettings","hasChangeableDensity","rowDensity","setRowDensity","hasColumnVisibility","columns","columnVisibility","setColumnVisibility","t","changeRowDensity","value","_event","process","env","NODE_ENV","console","debug","changeColumnVisibility","columnId","prevVisibility","isColumnVisibilityChecked","reduce","acc","column","isChecked","accessorKey","children","endIcon","ariaLabel","menuAlignment","shouldCloseOnSelect","map","isSelected","onClick","charAt","toUpperCase","slice","filter","enableHiding","id","_Checkbox","checked","header","MemoizedDataTableSettings","displayName"],"sources":["../../src/DataTable/DataTableSettings.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 { Dispatch, SetStateAction, memo, useCallback, useMemo } from \"react\";\nimport { Checkbox as MuiCheckbox } from \"@mui/material\";\nimport { MenuButton } from \"../MenuButton\";\nimport { MenuItem } from \"../MenuItem\";\nimport { ListIcon, ShowIcon } from \"../icons.generated\";\nimport { densityValues } from \"./constants\";\nimport { DataTableProps } from \"./DataTable\";\nimport { MRT_VisibilityState } from \"material-react-table\";\nimport { useTranslation } from \"react-i18next\";\n\nexport type DataTableSettingsProps = {\n hasChangeableDensity: DataTableProps[\"hasChangeableDensity\"];\n rowDensity: (typeof densityValues)[number];\n setRowDensity: Dispatch<SetStateAction<(typeof densityValues)[number]>>;\n hasColumnVisibility: DataTableProps[\"hasColumnVisibility\"];\n columns: DataTableProps[\"columns\"];\n columnVisibility?: MRT_VisibilityState;\n setColumnVisibility: Dispatch<\n SetStateAction<MRT_VisibilityState | undefined>\n >;\n};\n\nconst DataTableSettings = ({\n hasChangeableDensity,\n rowDensity,\n setRowDensity,\n hasColumnVisibility,\n columns,\n columnVisibility,\n setColumnVisibility,\n}: DataTableSettingsProps) => {\n const { t } = useTranslation();\n\n const changeRowDensity = useCallback(\n (value: (typeof densityValues)[number]) =>\n (_event: React.MouseEvent<HTMLLIElement>) => {\n // This is necessary to avoid linter errors, while the _event is necessary to satisfy the onClick type\n if (process.env.NODE_ENV === \"development\") console.debug(_event);\n\n setRowDensity(value);\n },\n [setRowDensity],\n );\n\n const changeColumnVisibility = useCallback(\n (columnId: string) => (_event: React.MouseEvent<HTMLLIElement>) => {\n // This is necessary to avoid linter errors, while the _event is necessary to satisfy the onClick type\n if (process.env.NODE_ENV === \"development\") console.debug(_event);\n\n setColumnVisibility((prevVisibility) => ({\n ...prevVisibility,\n [columnId]: prevVisibility ? prevVisibility[columnId] === false : false,\n }));\n },\n [setColumnVisibility],\n );\n\n const isColumnVisibilityChecked = useMemo(() => {\n return columns.reduce(\n (acc, column) => {\n const isChecked = columnVisibility\n ? columnVisibility[column.accessorKey!] !== false\n : true;\n acc[column.accessorKey!] = isChecked;\n return acc;\n },\n {} as Record<string, boolean>,\n );\n }, [columns, columnVisibility]);\n\n return (\n <>\n {hasChangeableDensity && (\n <MenuButton\n endIcon={<ListIcon />}\n ariaLabel={t(\"table.density.arialabel\")}\n menuAlignment=\"right\"\n shouldCloseOnSelect={false}\n >\n <>\n {densityValues.map((value: (typeof densityValues)[number]) => (\n <MenuItem\n key={value}\n isSelected={rowDensity === value}\n onClick={changeRowDensity(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={t(\"table.columnvisibility.arialabel\")}\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={changeColumnVisibility(column.id as string)}\n >\n <MuiCheckbox\n checked={isColumnVisibilityChecked[column.accessorKey!]}\n />\n {column.header}\n </MenuItem>\n ))}\n </>\n </MenuButton>\n )}\n </>\n );\n};\n\nconst MemoizedDataTableSettings = memo(DataTableSettings);\nMemoizedDataTableSettings.displayName = \"DataTableSettings\";\n\nexport { MemoizedDataTableSettings as DataTableSettings };\n"],"mappings":"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"}
|
package/dist/labs/StaticTable.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StaticTable.js","names":["useMaterialReactTable","MaterialReactTable","memo","useCallback","useEffect","useMemo","useRef","useState","useTranslation","jsx","_jsx","Fragment","_Fragment","StaticTable","columns","data","getRowId","hasError","initialState","onGlobalFilterChange","state","ToolbarButtons","t","rowVirtualizerInstanceRef","columnFilters","setColumnFilters","globalFilter","setGlobalFilter","undefined","modifiedState","renderTopToolbarCustomActions","table","children","current","scrollToIndex","error","console","enableBottomToolbar","enablePagination","enableRowVirtualization","enableSorting","muiToolbarAlertBannerProps","color","onColumnFiltersChange","rowVirtualizerOptions","overscan","MemoizedStaticTable"],"sources":["../../src/labs/StaticTable.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2022-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 useMaterialReactTable,\n type MRT_ColumnFiltersState,\n type MRT_TableInstance,\n type MRT_Virtualizer,\n MaterialReactTable,\n} from \"material-react-table\";\nimport {\n FunctionComponent,\n memo,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport type {\n DefaultMaterialReactTableData,\n MaterialReactTableProps,\n} from \"./materialReactTableTypes\";\n\nexport type StaticTableProps<TData extends DefaultMaterialReactTableData> = {\n columns: MaterialReactTableProps<TData>[\"columns\"];\n data: MaterialReactTableProps<TData>[\"data\"];\n getRowId?: MaterialReactTableProps<TData>[\"getRowId\"];\n hasError?: boolean;\n initialState?: MaterialReactTableProps<TData>[\"initialState\"];\n onGlobalFilterChange?: MaterialReactTableProps<TData>[\"onGlobalFilterChange\"];\n state?: MaterialReactTableProps<TData>[\"state\"];\n ToolbarButtons?: FunctionComponent<\n { table: MRT_TableInstance<TData> } & unknown\n >;\n};\n\nconst StaticTable = <TData extends DefaultMaterialReactTableData>({\n columns = [],\n data = [],\n getRowId,\n hasError,\n initialState,\n onGlobalFilterChange,\n state,\n ToolbarButtons,\n}: StaticTableProps<TData>) => {\n const { t } = useTranslation();\n\n const rowVirtualizerInstanceRef =\n useRef<MRT_Virtualizer<HTMLDivElement, HTMLTableRowElement>>(null);\n\n const [columnFilters, setColumnFilters] = useState<MRT_ColumnFiltersState>(\n [],\n );\n\n const [globalFilter, setGlobalFilter] = useState<string>();\n\n useEffect(() => {\n if (globalFilter !== undefined) {\n onGlobalFilterChange?.(globalFilter);\n }\n }, [globalFilter, onGlobalFilterChange]);\n\n const modifiedState = useMemo(\n () => ({\n globalFilter,\n columnFilters,\n ...state,\n }),\n [globalFilter, columnFilters, state],\n );\n\n const renderTopToolbarCustomActions = useCallback<\n Exclude<\n MaterialReactTableProps<TData>[\"renderTopToolbarCustomActions\"],\n undefined\n >\n >(\n ({ table }) => <>{ToolbarButtons && <ToolbarButtons table={table} />}</>,\n [ToolbarButtons],\n );\n\n useEffect(() => {\n try {\n // Scroll to top of table when sorting or filters change.\n rowVirtualizerInstanceRef.current?.scrollToIndex?.(0);\n } catch (error) {\n console.error(error);\n }\n }, [columnFilters, globalFilter]);\n\n const table = useMaterialReactTable({\n columns: columns,\n data: data,\n enableBottomToolbar: false,\n enablePagination: false,\n enableRowVirtualization: true,\n enableSorting: false,\n getRowId: getRowId,\n initialState: initialState,\n muiToolbarAlertBannerProps: hasError\n ? { children: t(\"table.error\"), color: \"error\" }\n : undefined,\n onColumnFiltersChange: setColumnFilters,\n onGlobalFilterChange: setGlobalFilter,\n renderTopToolbarCustomActions: renderTopToolbarCustomActions,\n rowVirtualizerInstanceRef: rowVirtualizerInstanceRef,\n rowVirtualizerOptions: { overscan: 4 },\n state: modifiedState,\n });\n\n return <MaterialReactTable table={table} />;\n};\n\nconst MemoizedStaticTable = memo(StaticTable) as typeof StaticTable;\n\nexport { MemoizedStaticTable as StaticTable };\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SACEA,qBAAqB,EAIrBC,kBAAkB,QACb,sBAAsB;AAC7B,SAEEC,IAAI,EACJC,WAAW,EACXC,SAAS,EACTC,OAAO,EACPC,MAAM,EACNC,QAAQ,QACH,OAAO;AACd,SAASC,cAAc,QAAQ,eAAe;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,QAAA,IAAAC,SAAA;AAoB/C,MAAMC,WAAW,GAAGA,CAA8C;EAChEC,OAAO,GAAG,EAAE;EACZC,IAAI,GAAG,EAAE;EACTC,QAAQ;EACRC,QAAQ;EACRC,YAAY;EACZC,oBAAoB;EACpBC,KAAK;EACLC;AACuB,CAAC,KAAK;EAC7B,MAAM;IAAEC;EAAE,CAAC,GAAGd,cAAc,CAAC,CAAC;EAE9B,MAAMe,yBAAyB,GAC7BjB,MAAM,CAAuD,IAAI,CAAC;EAEpE,MAAM,CAACkB,aAAa,EAAEC,gBAAgB,CAAC,GAAGlB,QAAQ,CAChD,EACF,CAAC;EAED,MAAM,CAACmB,YAAY,EAAEC,eAAe,CAAC,GAAGpB,QAAQ,CAAS,CAAC;EAE1DH,SAAS,CAAC,MAAM;IACd,IAAIsB,YAAY,KAAKE,SAAS,EAAE;MAC9BT,oBAAoB,GAAGO,YAAY,CAAC;IACtC;EACF,CAAC,EAAE,CAACA,YAAY,EAAEP,oBAAoB,CAAC,CAAC;EAExC,MAAMU,aAAa,GAAGxB,OAAO,CAC3B,OAAO;IACLqB,YAAY;IACZF,aAAa;IACb,GAAGJ;EACL,CAAC,CAAC,EACF,CAACM,YAAY,EAAEF,aAAa,EAAEJ,KAAK,CACrC,CAAC;EAED,MAAMU,6BAA6B,GAAG3B,WAAW,CAM/C,CAAC;IAAE4B;EAAM,CAAC,KAAKrB,IAAA,CAAAE,SAAA;IAAAoB,QAAA,EAAGX,cAAc,IAAIX,IAAA,CAACW,cAAc;MAACU,KAAK,EAAEA;IAAM,CAAE;EAAC,CAAG,CAAC,EACxE,CAACV,cAAc,CACjB,CAAC;EAEDjB,SAAS,CAAC,MAAM;IACd,IAAI;MAEFmB,yBAAyB,CAACU,OAAO,EAAEC,aAAa,GAAG,CAAC,CAAC;IACvD,CAAC,CAAC,OAAOC,KAAK,EAAE;MACdC,OAAO,CAACD,KAAK,CAACA,KAAK,CAAC;IACtB;EACF,CAAC,EAAE,CAACX,aAAa,EAAEE,YAAY,CAAC,CAAC;EAEjC,MAAMK,KAAK,GAAG/B,qBAAqB,CAAC;IAClCc,OAAO,EAAEA,OAAO;IAChBC,IAAI,EAAEA,IAAI;IACVsB,mBAAmB,EAAE,KAAK;IAC1BC,gBAAgB,EAAE,KAAK;IACvBC,uBAAuB,EAAE,IAAI;IAC7BC,aAAa,EAAE,KAAK;IACpBxB,QAAQ,EAAEA,QAAQ;IAClBE,YAAY,EAAEA,YAAY;IAC1BuB,0BAA0B,EAAExB,QAAQ,GAChC;MAAEe,QAAQ,EAAEV,CAAC,CAAC,aAAa,CAAC;MAAEoB,KAAK,EAAE;IAAQ,CAAC,GAC9Cd,SAAS;IACbe,qBAAqB,EAAElB,gBAAgB;IACvCN,oBAAoB,EAAEQ,eAAe;IACrCG,6BAA6B,EAAEA,6BAA6B;IAC5DP,yBAAyB,EAAEA,yBAAyB;IACpDqB,qBAAqB,EAAE;MAAEC,QAAQ,EAAE;IAAE,CAAC;IACtCzB,KAAK,EAAES;EACT,CAAC,CAAC;EAEF,OAAOnB,IAAA,CAACT,kBAAkB;IAAC8B,KAAK,EAAEA;EAAM,CAAE,CAAC;AAC7C,CAAC;
|
|
1
|
+
{"version":3,"file":"StaticTable.js","names":["useMaterialReactTable","MaterialReactTable","memo","useCallback","useEffect","useMemo","useRef","useState","useTranslation","jsx","_jsx","Fragment","_Fragment","StaticTable","columns","data","getRowId","hasError","initialState","onGlobalFilterChange","state","ToolbarButtons","t","rowVirtualizerInstanceRef","columnFilters","setColumnFilters","globalFilter","setGlobalFilter","undefined","modifiedState","renderTopToolbarCustomActions","table","children","current","scrollToIndex","error","console","enableBottomToolbar","enablePagination","enableRowVirtualization","enableSorting","muiToolbarAlertBannerProps","color","onColumnFiltersChange","rowVirtualizerOptions","overscan","MemoizedStaticTable","displayName"],"sources":["../../src/labs/StaticTable.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2022-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 useMaterialReactTable,\n type MRT_ColumnFiltersState,\n type MRT_TableInstance,\n type MRT_Virtualizer,\n MaterialReactTable,\n} from \"material-react-table\";\nimport {\n FunctionComponent,\n memo,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport type {\n DefaultMaterialReactTableData,\n MaterialReactTableProps,\n} from \"./materialReactTableTypes\";\n\nexport type StaticTableProps<TData extends DefaultMaterialReactTableData> = {\n columns: MaterialReactTableProps<TData>[\"columns\"];\n data: MaterialReactTableProps<TData>[\"data\"];\n getRowId?: MaterialReactTableProps<TData>[\"getRowId\"];\n hasError?: boolean;\n initialState?: MaterialReactTableProps<TData>[\"initialState\"];\n onGlobalFilterChange?: MaterialReactTableProps<TData>[\"onGlobalFilterChange\"];\n state?: MaterialReactTableProps<TData>[\"state\"];\n ToolbarButtons?: FunctionComponent<\n { table: MRT_TableInstance<TData> } & unknown\n >;\n};\n\nconst StaticTable = <TData extends DefaultMaterialReactTableData>({\n columns = [],\n data = [],\n getRowId,\n hasError,\n initialState,\n onGlobalFilterChange,\n state,\n ToolbarButtons,\n}: StaticTableProps<TData>) => {\n const { t } = useTranslation();\n\n const rowVirtualizerInstanceRef =\n useRef<MRT_Virtualizer<HTMLDivElement, HTMLTableRowElement>>(null);\n\n const [columnFilters, setColumnFilters] = useState<MRT_ColumnFiltersState>(\n [],\n );\n\n const [globalFilter, setGlobalFilter] = useState<string>();\n\n useEffect(() => {\n if (globalFilter !== undefined) {\n onGlobalFilterChange?.(globalFilter);\n }\n }, [globalFilter, onGlobalFilterChange]);\n\n const modifiedState = useMemo(\n () => ({\n globalFilter,\n columnFilters,\n ...state,\n }),\n [globalFilter, columnFilters, state],\n );\n\n const renderTopToolbarCustomActions = useCallback<\n Exclude<\n MaterialReactTableProps<TData>[\"renderTopToolbarCustomActions\"],\n undefined\n >\n >(\n ({ table }) => <>{ToolbarButtons && <ToolbarButtons table={table} />}</>,\n [ToolbarButtons],\n );\n\n useEffect(() => {\n try {\n // Scroll to top of table when sorting or filters change.\n rowVirtualizerInstanceRef.current?.scrollToIndex?.(0);\n } catch (error) {\n console.error(error);\n }\n }, [columnFilters, globalFilter]);\n\n const table = useMaterialReactTable({\n columns: columns,\n data: data,\n enableBottomToolbar: false,\n enablePagination: false,\n enableRowVirtualization: true,\n enableSorting: false,\n getRowId: getRowId,\n initialState: initialState,\n muiToolbarAlertBannerProps: hasError\n ? { children: t(\"table.error\"), color: \"error\" }\n : undefined,\n onColumnFiltersChange: setColumnFilters,\n onGlobalFilterChange: setGlobalFilter,\n renderTopToolbarCustomActions: renderTopToolbarCustomActions,\n rowVirtualizerInstanceRef: rowVirtualizerInstanceRef,\n rowVirtualizerOptions: { overscan: 4 },\n state: modifiedState,\n });\n\n return <MaterialReactTable table={table} />;\n};\n\n// Need the `typeof StaticTable` because generics don't get passed through `memo`.\nconst MemoizedStaticTable = memo(StaticTable) as typeof StaticTable;\n\n// @ts-expect-error displayName is expected to not be on `typeof StaticTable`\nMemoizedStaticTable.displayName = \"StaticTable\";\n\nexport { MemoizedStaticTable as StaticTable };\n"],"mappings":"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"}
|
|
@@ -17,6 +17,7 @@ export const translation = {
|
|
|
17
17
|
"table.fetchedrows.text": "Byl načten {{totalRows}} řádek",
|
|
18
18
|
"table.fetchedrows.text_plural": "Celkem načteno řádků: {{totalRows}}",
|
|
19
19
|
"table.rows.text": "{{totalRows}} řádek",
|
|
20
|
-
"table.rows.text_plural": "Počet řádků: {{totalRows}}"
|
|
20
|
+
"table.rows.text_plural": "Počet řádků: {{totalRows}}",
|
|
21
|
+
"toast.close.text": "zavřít"
|
|
21
22
|
};
|
|
22
23
|
//# sourceMappingURL=odyssey-react-mui_cs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"odyssey-react-mui_cs.js","names":["translation"],"sources":["../../../src/properties/ts/odyssey-react-mui_cs.ts"],"sourcesContent":["export const translation = {\"breadcrumbs.home.text\":\"Domovská stránka\",\"breadcrumbs.label.text\":\"Drobečková navigace\",\"close.text\":\"zavřít\",\"fielderror.screenreader.text\":\"Chyba\",\"fieldlabel.optional.text\":\"Volitelné\",\"fieldlabel.required.text\":\"Povinné\",\"passwordfield.icon.label.show\":\"Zobrazit heslo\",\"passwordfield.icon.label.hide\":\"Skrýt heslo\",\"severity.error\":\"chyba\",\"severity.info\":\"informace\",\"severity.success\":\"úspěch\",\"severity.warning\":\"upozornění\",\"switch.active\":\"Aktivní\",\"switch.inactive\":\"Neaktivní\",\"table.error\":\"Chyba při načítání dat\",\"table.fetchedrows.text\":\"Byl načten {{totalRows}} řádek\",\"table.fetchedrows.text_plural\":\"Celkem načteno řádků: {{totalRows}}\",\"table.rows.text\":\"{{totalRows}} řádek\",\"table.rows.text_plural\":\"Počet řádků: {{totalRows}}\"};"],"mappings":"AAAA,OAAO,MAAMA,WAAW,GAAG;EAAC,uBAAuB,EAAC,kBAAkB;EAAC,wBAAwB,EAAC,qBAAqB;EAAC,YAAY,EAAC,QAAQ;EAAC,8BAA8B,EAAC,OAAO;EAAC,0BAA0B,EAAC,WAAW;EAAC,0BAA0B,EAAC,SAAS;EAAC,+BAA+B,EAAC,gBAAgB;EAAC,+BAA+B,EAAC,aAAa;EAAC,gBAAgB,EAAC,OAAO;EAAC,eAAe,EAAC,WAAW;EAAC,kBAAkB,EAAC,QAAQ;EAAC,kBAAkB,EAAC,YAAY;EAAC,eAAe,EAAC,SAAS;EAAC,iBAAiB,EAAC,WAAW;EAAC,aAAa,EAAC,wBAAwB;EAAC,wBAAwB,EAAC,gCAAgC;EAAC,+BAA+B,EAAC,qCAAqC;EAAC,iBAAiB,EAAC,qBAAqB;EAAC,wBAAwB,EAAC;
|
|
1
|
+
{"version":3,"file":"odyssey-react-mui_cs.js","names":["translation"],"sources":["../../../src/properties/ts/odyssey-react-mui_cs.ts"],"sourcesContent":["export const translation = {\"breadcrumbs.home.text\":\"Domovská stránka\",\"breadcrumbs.label.text\":\"Drobečková navigace\",\"close.text\":\"zavřít\",\"fielderror.screenreader.text\":\"Chyba\",\"fieldlabel.optional.text\":\"Volitelné\",\"fieldlabel.required.text\":\"Povinné\",\"passwordfield.icon.label.show\":\"Zobrazit heslo\",\"passwordfield.icon.label.hide\":\"Skrýt heslo\",\"severity.error\":\"chyba\",\"severity.info\":\"informace\",\"severity.success\":\"úspěch\",\"severity.warning\":\"upozornění\",\"switch.active\":\"Aktivní\",\"switch.inactive\":\"Neaktivní\",\"table.error\":\"Chyba při načítání dat\",\"table.fetchedrows.text\":\"Byl načten {{totalRows}} řádek\",\"table.fetchedrows.text_plural\":\"Celkem načteno řádků: {{totalRows}}\",\"table.rows.text\":\"{{totalRows}} řádek\",\"table.rows.text_plural\":\"Počet řádků: {{totalRows}}\",\"toast.close.text\":\"zavřít\"};"],"mappings":"AAAA,OAAO,MAAMA,WAAW,GAAG;EAAC,uBAAuB,EAAC,kBAAkB;EAAC,wBAAwB,EAAC,qBAAqB;EAAC,YAAY,EAAC,QAAQ;EAAC,8BAA8B,EAAC,OAAO;EAAC,0BAA0B,EAAC,WAAW;EAAC,0BAA0B,EAAC,SAAS;EAAC,+BAA+B,EAAC,gBAAgB;EAAC,+BAA+B,EAAC,aAAa;EAAC,gBAAgB,EAAC,OAAO;EAAC,eAAe,EAAC,WAAW;EAAC,kBAAkB,EAAC,QAAQ;EAAC,kBAAkB,EAAC,YAAY;EAAC,eAAe,EAAC,SAAS;EAAC,iBAAiB,EAAC,WAAW;EAAC,aAAa,EAAC,wBAAwB;EAAC,wBAAwB,EAAC,gCAAgC;EAAC,+BAA+B,EAAC,qCAAqC;EAAC,iBAAiB,EAAC,qBAAqB;EAAC,wBAAwB,EAAC,4BAA4B;EAAC,kBAAkB,EAAC;AAAQ,CAAC"}
|
|
@@ -17,6 +17,7 @@ export const translation = {
|
|
|
17
17
|
"table.fetchedrows.text": "Hentet {{totalRows}} række",
|
|
18
18
|
"table.fetchedrows.text_plural": "Hentet {{totalRows}} total antal rækker",
|
|
19
19
|
"table.rows.text": "{{totalRows}} række",
|
|
20
|
-
"table.rows.text_plural": "{{totalRows}} rækker"
|
|
20
|
+
"table.rows.text_plural": "{{totalRows}} rækker",
|
|
21
|
+
"toast.close.text": "luk"
|
|
21
22
|
};
|
|
22
23
|
//# sourceMappingURL=odyssey-react-mui_da.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"odyssey-react-mui_da.js","names":["translation"],"sources":["../../../src/properties/ts/odyssey-react-mui_da.ts"],"sourcesContent":["export const translation = {\"breadcrumbs.home.text\":\"Start\",\"breadcrumbs.label.text\":\"Rasp\",\"close.text\":\"luk\",\"fielderror.screenreader.text\":\"Fejl\",\"fieldlabel.optional.text\":\"Valgfrit\",\"fieldlabel.required.text\":\"Påkrævet\",\"passwordfield.icon.label.show\":\"Vis adgangskode\",\"passwordfield.icon.label.hide\":\"Skjul adgangskode\",\"severity.error\":\"fejl\",\"severity.info\":\"oplysninger\",\"severity.success\":\"fuldført\",\"severity.warning\":\"advarsel\",\"switch.active\":\"Aktiv\",\"switch.inactive\":\"Inaktiv\",\"table.error\":\"Fejl ved indlæsning af data.\",\"table.fetchedrows.text\":\"Hentet {{totalRows}} række\",\"table.fetchedrows.text_plural\":\"Hentet {{totalRows}} total antal rækker\",\"table.rows.text\":\"{{totalRows}} række\",\"table.rows.text_plural\":\"{{totalRows}} rækker\"};"],"mappings":"AAAA,OAAO,MAAMA,WAAW,GAAG;EAAC,uBAAuB,EAAC,OAAO;EAAC,wBAAwB,EAAC,MAAM;EAAC,YAAY,EAAC,KAAK;EAAC,8BAA8B,EAAC,MAAM;EAAC,0BAA0B,EAAC,UAAU;EAAC,0BAA0B,EAAC,UAAU;EAAC,+BAA+B,EAAC,iBAAiB;EAAC,+BAA+B,EAAC,mBAAmB;EAAC,gBAAgB,EAAC,MAAM;EAAC,eAAe,EAAC,aAAa;EAAC,kBAAkB,EAAC,UAAU;EAAC,kBAAkB,EAAC,UAAU;EAAC,eAAe,EAAC,OAAO;EAAC,iBAAiB,EAAC,SAAS;EAAC,aAAa,EAAC,8BAA8B;EAAC,wBAAwB,EAAC,4BAA4B;EAAC,+BAA+B,EAAC,yCAAyC;EAAC,iBAAiB,EAAC,qBAAqB;EAAC,wBAAwB,EAAC;
|
|
1
|
+
{"version":3,"file":"odyssey-react-mui_da.js","names":["translation"],"sources":["../../../src/properties/ts/odyssey-react-mui_da.ts"],"sourcesContent":["export const translation = {\"breadcrumbs.home.text\":\"Start\",\"breadcrumbs.label.text\":\"Rasp\",\"close.text\":\"luk\",\"fielderror.screenreader.text\":\"Fejl\",\"fieldlabel.optional.text\":\"Valgfrit\",\"fieldlabel.required.text\":\"Påkrævet\",\"passwordfield.icon.label.show\":\"Vis adgangskode\",\"passwordfield.icon.label.hide\":\"Skjul adgangskode\",\"severity.error\":\"fejl\",\"severity.info\":\"oplysninger\",\"severity.success\":\"fuldført\",\"severity.warning\":\"advarsel\",\"switch.active\":\"Aktiv\",\"switch.inactive\":\"Inaktiv\",\"table.error\":\"Fejl ved indlæsning af data.\",\"table.fetchedrows.text\":\"Hentet {{totalRows}} række\",\"table.fetchedrows.text_plural\":\"Hentet {{totalRows}} total antal rækker\",\"table.rows.text\":\"{{totalRows}} række\",\"table.rows.text_plural\":\"{{totalRows}} rækker\",\"toast.close.text\":\"luk\"};"],"mappings":"AAAA,OAAO,MAAMA,WAAW,GAAG;EAAC,uBAAuB,EAAC,OAAO;EAAC,wBAAwB,EAAC,MAAM;EAAC,YAAY,EAAC,KAAK;EAAC,8BAA8B,EAAC,MAAM;EAAC,0BAA0B,EAAC,UAAU;EAAC,0BAA0B,EAAC,UAAU;EAAC,+BAA+B,EAAC,iBAAiB;EAAC,+BAA+B,EAAC,mBAAmB;EAAC,gBAAgB,EAAC,MAAM;EAAC,eAAe,EAAC,aAAa;EAAC,kBAAkB,EAAC,UAAU;EAAC,kBAAkB,EAAC,UAAU;EAAC,eAAe,EAAC,OAAO;EAAC,iBAAiB,EAAC,SAAS;EAAC,aAAa,EAAC,8BAA8B;EAAC,wBAAwB,EAAC,4BAA4B;EAAC,+BAA+B,EAAC,yCAAyC;EAAC,iBAAiB,EAAC,qBAAqB;EAAC,wBAAwB,EAAC,sBAAsB;EAAC,kBAAkB,EAAC;AAAK,CAAC"}
|
|
@@ -17,6 +17,7 @@ export const translation = {
|
|
|
17
17
|
"table.fetchedrows.text": "{{totalRows}} Zeile abgerufen",
|
|
18
18
|
"table.fetchedrows.text_plural": "{{totalRows}} Zeilen insgesamt abgerufen",
|
|
19
19
|
"table.rows.text": "{{totalRows}} Zeile",
|
|
20
|
-
"table.rows.text_plural": "{{totalRows}} Zeilen"
|
|
20
|
+
"table.rows.text_plural": "{{totalRows}} Zeilen",
|
|
21
|
+
"toast.close.text": "schließen"
|
|
21
22
|
};
|
|
22
23
|
//# sourceMappingURL=odyssey-react-mui_de.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"odyssey-react-mui_de.js","names":["translation"],"sources":["../../../src/properties/ts/odyssey-react-mui_de.ts"],"sourcesContent":["export const translation = {\"breadcrumbs.home.text\":\"Home\",\"breadcrumbs.label.text\":\"Breadcrumbs\",\"close.text\":\"Schließen\",\"fielderror.screenreader.text\":\"Fehler\",\"fieldlabel.optional.text\":\"Optional\",\"fieldlabel.required.text\":\"Erforderlich\",\"passwordfield.icon.label.show\":\"Passwort anzeigen\",\"passwordfield.icon.label.hide\":\"Passwort verbergen\",\"severity.error\":\"Fehler\",\"severity.info\":\"Infos\",\"severity.success\":\"Erfolg\",\"severity.warning\":\"Warnung\",\"switch.active\":\"Aktiv\",\"switch.inactive\":\"Inaktiv\",\"table.error\":\"Fehler beim Laden der Daten.\",\"table.fetchedrows.text\":\"{{totalRows}} Zeile abgerufen\",\"table.fetchedrows.text_plural\":\"{{totalRows}} Zeilen insgesamt abgerufen\",\"table.rows.text\":\"{{totalRows}} Zeile\",\"table.rows.text_plural\":\"{{totalRows}} Zeilen\"};"],"mappings":"AAAA,OAAO,MAAMA,WAAW,GAAG;EAAC,uBAAuB,EAAC,MAAM;EAAC,wBAAwB,EAAC,aAAa;EAAC,YAAY,EAAC,WAAW;EAAC,8BAA8B,EAAC,QAAQ;EAAC,0BAA0B,EAAC,UAAU;EAAC,0BAA0B,EAAC,cAAc;EAAC,+BAA+B,EAAC,mBAAmB;EAAC,+BAA+B,EAAC,oBAAoB;EAAC,gBAAgB,EAAC,QAAQ;EAAC,eAAe,EAAC,OAAO;EAAC,kBAAkB,EAAC,QAAQ;EAAC,kBAAkB,EAAC,SAAS;EAAC,eAAe,EAAC,OAAO;EAAC,iBAAiB,EAAC,SAAS;EAAC,aAAa,EAAC,8BAA8B;EAAC,wBAAwB,EAAC,+BAA+B;EAAC,+BAA+B,EAAC,0CAA0C;EAAC,iBAAiB,EAAC,qBAAqB;EAAC,wBAAwB,EAAC;
|
|
1
|
+
{"version":3,"file":"odyssey-react-mui_de.js","names":["translation"],"sources":["../../../src/properties/ts/odyssey-react-mui_de.ts"],"sourcesContent":["export const translation = {\"breadcrumbs.home.text\":\"Home\",\"breadcrumbs.label.text\":\"Breadcrumbs\",\"close.text\":\"Schließen\",\"fielderror.screenreader.text\":\"Fehler\",\"fieldlabel.optional.text\":\"Optional\",\"fieldlabel.required.text\":\"Erforderlich\",\"passwordfield.icon.label.show\":\"Passwort anzeigen\",\"passwordfield.icon.label.hide\":\"Passwort verbergen\",\"severity.error\":\"Fehler\",\"severity.info\":\"Infos\",\"severity.success\":\"Erfolg\",\"severity.warning\":\"Warnung\",\"switch.active\":\"Aktiv\",\"switch.inactive\":\"Inaktiv\",\"table.error\":\"Fehler beim Laden der Daten.\",\"table.fetchedrows.text\":\"{{totalRows}} Zeile abgerufen\",\"table.fetchedrows.text_plural\":\"{{totalRows}} Zeilen insgesamt abgerufen\",\"table.rows.text\":\"{{totalRows}} Zeile\",\"table.rows.text_plural\":\"{{totalRows}} Zeilen\",\"toast.close.text\":\"schließen\"};"],"mappings":"AAAA,OAAO,MAAMA,WAAW,GAAG;EAAC,uBAAuB,EAAC,MAAM;EAAC,wBAAwB,EAAC,aAAa;EAAC,YAAY,EAAC,WAAW;EAAC,8BAA8B,EAAC,QAAQ;EAAC,0BAA0B,EAAC,UAAU;EAAC,0BAA0B,EAAC,cAAc;EAAC,+BAA+B,EAAC,mBAAmB;EAAC,+BAA+B,EAAC,oBAAoB;EAAC,gBAAgB,EAAC,QAAQ;EAAC,eAAe,EAAC,OAAO;EAAC,kBAAkB,EAAC,QAAQ;EAAC,kBAAkB,EAAC,SAAS;EAAC,eAAe,EAAC,OAAO;EAAC,iBAAiB,EAAC,SAAS;EAAC,aAAa,EAAC,8BAA8B;EAAC,wBAAwB,EAAC,+BAA+B;EAAC,+BAA+B,EAAC,0CAA0C;EAAC,iBAAiB,EAAC,qBAAqB;EAAC,wBAAwB,EAAC,sBAAsB;EAAC,kBAAkB,EAAC;AAAW,CAAC"}
|
|
@@ -17,6 +17,7 @@ export const translation = {
|
|
|
17
17
|
"table.fetchedrows.text": "Ανακτήθηκε {{totalRows}} σειρά",
|
|
18
18
|
"table.fetchedrows.text_plural": "Ανακτήθηκαν συνολικά {{totalRows}} σειρές",
|
|
19
19
|
"table.rows.text": "{{totalRows}} σειρά",
|
|
20
|
-
"table.rows.text_plural": "{{totalRows}} σειρές"
|
|
20
|
+
"table.rows.text_plural": "{{totalRows}} σειρές",
|
|
21
|
+
"toast.close.text": "κλείσιμο"
|
|
21
22
|
};
|
|
22
23
|
//# sourceMappingURL=odyssey-react-mui_el.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"odyssey-react-mui_el.js","names":["translation"],"sources":["../../../src/properties/ts/odyssey-react-mui_el.ts"],"sourcesContent":["export const translation = {\"breadcrumbs.home.text\":\"Αρχική σελίδα\",\"breadcrumbs.label.text\":\"Τμήματα δυναμικής διαδρομής\",\"close.text\":\"κλείσιμο\",\"fielderror.screenreader.text\":\"Σφάλμα\",\"fieldlabel.optional.text\":\"Προαιρετικό\",\"fieldlabel.required.text\":\"Απαιτείται\",\"passwordfield.icon.label.show\":\"Εμφάνιση κωδικού πρόσβασης\",\"passwordfield.icon.label.hide\":\"Απόκρυψη κωδικού πρόσβασης\",\"severity.error\":\"σφάλμα\",\"severity.info\":\"πληροφορίες\",\"severity.success\":\"επιτυχία\",\"severity.warning\":\"προειδοποίηση\",\"switch.active\":\"Ενεργό\",\"switch.inactive\":\"Ανενεργό\",\"table.error\":\"Σφάλμα κατά τη φόρτωση δεδομένων.\",\"table.fetchedrows.text\":\"Ανακτήθηκε {{totalRows}} σειρά\",\"table.fetchedrows.text_plural\":\"Ανακτήθηκαν συνολικά {{totalRows}} σειρές\",\"table.rows.text\":\"{{totalRows}} σειρά\",\"table.rows.text_plural\":\"{{totalRows}} σειρές\"};"],"mappings":"AAAA,OAAO,MAAMA,WAAW,GAAG;EAAC,uBAAuB,EAAC,eAAe;EAAC,wBAAwB,EAAC,6BAA6B;EAAC,YAAY,EAAC,UAAU;EAAC,8BAA8B,EAAC,QAAQ;EAAC,0BAA0B,EAAC,aAAa;EAAC,0BAA0B,EAAC,YAAY;EAAC,+BAA+B,EAAC,4BAA4B;EAAC,+BAA+B,EAAC,4BAA4B;EAAC,gBAAgB,EAAC,QAAQ;EAAC,eAAe,EAAC,aAAa;EAAC,kBAAkB,EAAC,UAAU;EAAC,kBAAkB,EAAC,eAAe;EAAC,eAAe,EAAC,QAAQ;EAAC,iBAAiB,EAAC,UAAU;EAAC,aAAa,EAAC,mCAAmC;EAAC,wBAAwB,EAAC,gCAAgC;EAAC,+BAA+B,EAAC,2CAA2C;EAAC,iBAAiB,EAAC,qBAAqB;EAAC,wBAAwB,EAAC;
|
|
1
|
+
{"version":3,"file":"odyssey-react-mui_el.js","names":["translation"],"sources":["../../../src/properties/ts/odyssey-react-mui_el.ts"],"sourcesContent":["export const translation = {\"breadcrumbs.home.text\":\"Αρχική σελίδα\",\"breadcrumbs.label.text\":\"Τμήματα δυναμικής διαδρομής\",\"close.text\":\"κλείσιμο\",\"fielderror.screenreader.text\":\"Σφάλμα\",\"fieldlabel.optional.text\":\"Προαιρετικό\",\"fieldlabel.required.text\":\"Απαιτείται\",\"passwordfield.icon.label.show\":\"Εμφάνιση κωδικού πρόσβασης\",\"passwordfield.icon.label.hide\":\"Απόκρυψη κωδικού πρόσβασης\",\"severity.error\":\"σφάλμα\",\"severity.info\":\"πληροφορίες\",\"severity.success\":\"επιτυχία\",\"severity.warning\":\"προειδοποίηση\",\"switch.active\":\"Ενεργό\",\"switch.inactive\":\"Ανενεργό\",\"table.error\":\"Σφάλμα κατά τη φόρτωση δεδομένων.\",\"table.fetchedrows.text\":\"Ανακτήθηκε {{totalRows}} σειρά\",\"table.fetchedrows.text_plural\":\"Ανακτήθηκαν συνολικά {{totalRows}} σειρές\",\"table.rows.text\":\"{{totalRows}} σειρά\",\"table.rows.text_plural\":\"{{totalRows}} σειρές\",\"toast.close.text\":\"κλείσιμο\"};"],"mappings":"AAAA,OAAO,MAAMA,WAAW,GAAG;EAAC,uBAAuB,EAAC,eAAe;EAAC,wBAAwB,EAAC,6BAA6B;EAAC,YAAY,EAAC,UAAU;EAAC,8BAA8B,EAAC,QAAQ;EAAC,0BAA0B,EAAC,aAAa;EAAC,0BAA0B,EAAC,YAAY;EAAC,+BAA+B,EAAC,4BAA4B;EAAC,+BAA+B,EAAC,4BAA4B;EAAC,gBAAgB,EAAC,QAAQ;EAAC,eAAe,EAAC,aAAa;EAAC,kBAAkB,EAAC,UAAU;EAAC,kBAAkB,EAAC,eAAe;EAAC,eAAe,EAAC,QAAQ;EAAC,iBAAiB,EAAC,UAAU;EAAC,aAAa,EAAC,mCAAmC;EAAC,wBAAwB,EAAC,gCAAgC;EAAC,+BAA+B,EAAC,2CAA2C;EAAC,iBAAiB,EAAC,qBAAqB;EAAC,wBAAwB,EAAC,sBAAsB;EAAC,kBAAkB,EAAC;AAAU,CAAC"}
|