@owp/core 2.2.6 → 2.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/index5.js +5 -2
- package/dist/_virtual/index5.js.map +1 -1
- package/dist/_virtual/index6.js +2 -5
- package/dist/_virtual/index6.js.map +1 -1
- package/dist/_virtual/index7.js +2 -2
- package/dist/components/OwpDialog/OwpDialog.js +30 -32
- package/dist/components/OwpDialog/OwpDialog.js.map +1 -1
- package/dist/components/OwpLayout/OwpLayout.js +29 -30
- package/dist/components/OwpLayout/OwpLayout.js.map +1 -1
- package/dist/components/OwpMrtTable/OwpMrtTable.js +393 -255
- package/dist/components/OwpMrtTable/OwpMrtTable.js.map +1 -1
- package/dist/components/OwpScrollbars/OwpScrollbars.js +16 -17
- package/dist/components/OwpScrollbars/OwpScrollbars.js.map +1 -1
- package/dist/components/OwpStyleProvider/OwpStyleProvider.js +28 -29
- package/dist/components/OwpStyleProvider/OwpStyleProvider.js.map +1 -1
- package/dist/components/OwpTable/OwpDataTable.js +45 -45
- package/dist/components/OwpTable/OwpDataTable.js.map +1 -1
- package/dist/components/OwpTable/OwpTable.js +6 -6
- package/dist/components/OwpTable/OwpTable.js.map +1 -1
- package/dist/components/OwpTable/OwpVerticalTable.js +55 -53
- package/dist/components/OwpTable/OwpVerticalTable.js.map +1 -1
- package/dist/components/OwpTreeGrid/internal/treeGridRuntime.js +80 -74
- package/dist/components/OwpTreeGrid/internal/treeGridRuntime.js.map +1 -1
- package/dist/constants/storageKeys.js +1 -0
- package/dist/constants/storageKeys.js.map +1 -1
- package/dist/contexts/OwpCoreProvider.js +22 -36
- package/dist/contexts/OwpCoreProvider.js.map +1 -1
- package/dist/contexts/OwpStoreProvider.js +9 -9
- package/dist/contexts/OwpStoreProvider.js.map +1 -1
- package/dist/hooks/useCurrentUserSeq.js +11 -0
- package/dist/hooks/useCurrentUserSeq.js.map +1 -0
- package/dist/hooks/useNavbar.js +24 -0
- package/dist/hooks/useNavbar.js.map +1 -0
- package/dist/hooks/useOwpSettings.js +21 -0
- package/dist/hooks/useOwpSettings.js.map +1 -0
- package/dist/hooks.js +78 -62
- package/dist/hooks.js.map +1 -1
- package/dist/index.js +58 -59
- package/dist/layout/Layout.js +28 -29
- package/dist/layout/Layout.js.map +1 -1
- package/dist/layout/components/layouts/FooterLayout.js +15 -16
- package/dist/layout/components/layouts/FooterLayout.js.map +1 -1
- package/dist/layout/components/layouts/NavbarToggleFabLayout.js +21 -18
- package/dist/layout/components/layouts/NavbarToggleFabLayout.js.map +1 -1
- package/dist/layout/components/layouts/NavbarWrapperLayout.js +20 -21
- package/dist/layout/components/layouts/NavbarWrapperLayout.js.map +1 -1
- package/dist/layout/components/navbar/NavbarPinToggleButton.js +10 -11
- package/dist/layout/components/navbar/NavbarPinToggleButton.js.map +1 -1
- package/dist/layout/components/navbar/NavbarToggleButton.js +31 -32
- package/dist/layout/components/navbar/NavbarToggleButton.js.map +1 -1
- package/dist/layout/components/navbar/style/NavbarStyle.js +36 -37
- package/dist/layout/components/navbar/style/NavbarStyle.js.map +1 -1
- package/dist/layout/components/navbar/style/NavbarStyleContent.js +29 -30
- package/dist/layout/components/navbar/style/NavbarStyleContent.js.map +1 -1
- package/dist/layout/components/navigation/Navigation.js +18 -22
- package/dist/layout/components/navigation/Navigation.js.map +1 -1
- package/dist/layout/components/toggles/NavigationSearchToggle.js +55 -60
- package/dist/layout/components/toggles/NavigationSearchToggle.js.map +1 -1
- package/dist/layout/components/toggles/NavigationShortcutsToggle.js +44 -49
- package/dist/layout/components/toggles/NavigationShortcutsToggle.js.map +1 -1
- package/dist/layout/components/toolbar/ToolbarLayout.js +26 -27
- package/dist/layout/components/toolbar/ToolbarLayout.js.map +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE128/constants.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/EAN_UPC/constants.js +1 -1
- package/dist/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/index.js +1 -1
- package/dist/node_modules/.pnpm/react-imask@7.6.1_react@19.2.4/node_modules/react-imask/esm/mixin.js +1 -1
- package/dist/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/index.js +1 -1
- package/dist/node_modules/.pnpm/react-overlays@5.2.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-overlays/esm/Portal.js +1 -1
- package/dist/owp-app.css +1 -1
- package/dist/store/atoms/navbarAtoms.js +84 -0
- package/dist/store/atoms/navbarAtoms.js.map +1 -0
- package/dist/store/atoms/owpSettingsAtoms.js +140 -0
- package/dist/store/atoms/owpSettingsAtoms.js.map +1 -0
- package/dist/store/atoms/owpStore.js +29 -0
- package/dist/store/atoms/owpStore.js.map +1 -0
- package/dist/store.js +44 -39
- package/dist/store.js.map +1 -1
- package/dist/types/components/OwpDialog/OwpDialog.d.ts +1 -9
- package/dist/types/components/OwpMrtTable/OwpMrtTable.d.ts +9 -0
- package/dist/types/components/OwpPicker/internal/DatePickerInput.d.ts +1 -1
- package/dist/types/components/OwpTable/OwpTable.d.ts +1 -1
- package/dist/types/components/OwpTable/OwpVerticalTable.d.ts +3 -1
- package/dist/types/components/OwpTabs/OwpTab.d.ts +1 -1
- package/dist/types/components/OwpTabs/OwpTabs.d.ts +1 -1
- package/dist/types/constants/storageKeys.d.ts +1 -0
- package/dist/types/contexts/OwpCoreProvider.d.ts +2 -2
- package/dist/types/contexts/OwpStoreProvider.d.ts +4 -4
- package/dist/types/hooks/index.d.ts +3 -1
- package/dist/types/hooks/useCurrentUserSeq.d.ts +8 -0
- package/dist/types/hooks/useNavbar.d.ts +19 -0
- package/dist/types/hooks/useOwpSettings.d.ts +79 -0
- package/dist/types/layout/components/navigation/Navigation.d.ts +6 -2
- package/dist/types/layout/components/toggles/NavigationSearchToggle.d.ts +5 -2
- package/dist/types/layout/components/toggles/NavigationShortcutsToggle.d.ts +5 -2
- package/dist/types/store/atoms/index.d.ts +3 -0
- package/dist/types/store/atoms/internal/types.d.ts +29 -0
- package/dist/types/store/atoms/navbarAtoms.d.ts +48 -0
- package/dist/types/store/atoms/owpSettingsAtoms.d.ts +89 -0
- package/dist/types/store/atoms/owpStore.d.ts +13 -0
- package/dist/types/store/index.d.ts +1 -3
- package/dist/types/utils/treeGridExportExcelUtil.d.ts +0 -4
- package/dist/types/utils/treeGridUtil.d.ts +0 -59
- package/dist/utils/treeGridExportExcelUtil.js +57 -58
- package/dist/utils/treeGridExportExcelUtil.js.map +1 -1
- package/dist/utils/treeGridUtil.js +69 -83
- package/dist/utils/treeGridUtil.js.map +1 -1
- package/dist/utils.js +71 -86
- package/package.json +2 -6
- package/dist/hooks/useAppStore.js +0 -8
- package/dist/hooks/useAppStore.js.map +0 -1
- package/dist/store/generateReducersFromSlices.js +0 -18
- package/dist/store/generateReducersFromSlices.js.map +0 -1
- package/dist/store/lazyLoadedSlices.js +0 -16
- package/dist/store/lazyLoadedSlices.js.map +0 -1
- package/dist/store/middleware.js +0 -9
- package/dist/store/middleware.js.map +0 -1
- package/dist/store/navbarSlice.js +0 -71
- package/dist/store/navbarSlice.js.map +0 -1
- package/dist/store/navigationSlice.js +0 -46
- package/dist/store/navigationSlice.js.map +0 -1
- package/dist/store/owpSettingsSlice.js +0 -195
- package/dist/store/owpSettingsSlice.js.map +0 -1
- package/dist/store/store.js +0 -17
- package/dist/store/store.js.map +0 -1
- package/dist/store/withSlices.js +0 -27
- package/dist/store/withSlices.js.map +0 -1
- package/dist/types/hooks/useAppStore.d.ts +0 -7
- package/dist/types/store/generateReducersFromSlices.d.ts +0 -6
- package/dist/types/store/lazyLoadedSlices.d.ts +0 -9
- package/dist/types/store/middleware.d.ts +0 -17
- package/dist/types/store/navbarSlice.d.ts +0 -22
- package/dist/types/store/navigationSlice.d.ts +0 -93
- package/dist/types/store/owpSettingsSlice.d.ts +0 -112
- package/dist/types/store/store.d.ts +0 -13
- package/dist/types/store/withSlices.d.ts +0 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OwpMrtTable.js","sources":["../../../src/components/OwpMrtTable/OwpMrtTable.tsx"],"sourcesContent":["import ArrowDropDownRoundedIcon from '@mui/icons-material/ArrowDropDownRounded';\nimport UnfoldMoreRoundedIcon from '@mui/icons-material/UnfoldMoreRounded';\nimport GlobalStyles from '@mui/material/GlobalStyles';\nimport { OwpSvgIcon } from '@/components/OwpSvgIcon';\nimport { useGetCurrentLanguage } from '@/hooks/useCurrentLanguage';\nimport { useOwpTranslation } from '@/hooks/useOwpTranslation';\nimport type {\n BoxProps,\n CheckboxProps,\n PaperProps,\n RadioProps,\n SvgIconProps,\n TableCellProps,\n TableContainerProps,\n TableProps,\n TableRowProps,\n} from '@mui/material';\nimport clsx from 'clsx';\nimport type { Theme } from '@mui/material/styles';\nimport { defaults as defaultsFC, isArray, isNumber } from 'es-toolkit/compat';\nimport {\n MaterialReactTable,\n type MaterialReactTableProps,\n MRT_BottomToolbar,\n type MRT_Cell,\n type MRT_Column,\n type MRT_Icons,\n type MRT_Row,\n type MRT_RowData,\n type MRT_TableInstance,\n useMaterialReactTable,\n} from 'material-react-table';\nimport { MRT_Localization_KO } from 'material-react-table/locales/ko';\nimport { OwpTableTotalCount } from '../OwpTable/OwpTable';\nimport { OwpMrtTableNoDataOverlay } from './internal/OwpMrtTableNoDataOverlay';\nimport OwpMrtTableTopToolbar from './internal/OwpMrtTableTopToolbar';\n\ntype PropsWithSx = {\n className?: string;\n sx?: unknown;\n};\n\ntype HeadCellArgs<TData extends MRT_RowData> = {\n column: MRT_Column<TData>;\n table: MRT_TableInstance<TData>;\n};\n\ntype BodyCellArgs<TData extends MRT_RowData> = {\n cell: MRT_Cell<TData>;\n column: MRT_Column<TData>;\n row: MRT_Row<TData>;\n table: MRT_TableInstance<TData>;\n};\n\ntype BodyRowArgs<TData extends MRT_RowData> = {\n isDetailPanel?: boolean;\n row: MRT_Row<TData>;\n staticRowIndex: number;\n table: MRT_TableInstance<TData>;\n};\n\ntype TableInstanceArgs<TData extends MRT_RowData> = {\n table: MRT_TableInstance<TData>;\n};\n\ntype SelectAllCheckboxArgs<TData extends MRT_RowData> = {\n table: MRT_TableInstance<TData>;\n};\n\ntype SelectCheckboxArgs<TData extends MRT_RowData> = {\n row: MRT_Row<TData>;\n staticRowIndex?: number;\n table: MRT_TableInstance<TData>;\n};\n\ntype DataTableProps<TData extends MRT_RowData> = MaterialReactTableProps<TData> & {\n canHideTotalCountFooterBorder?: boolean;\n canUseNoDataOverlay?: boolean;\n canTotalCountRow?: boolean;\n canUseTreeGridStyle?: boolean;\n totalCount?: number;\n};\n\nexport type OwpMrtTableProps<TData extends MRT_RowData> = DataTableProps<TData>;\n\nconst treeGridHeaderBackgroundColor = '#586980';\nconst treeGridSortIconColor = '#cbd5e1';\n\nconst treeGridFontFaceStyles = {\n '@font-face': {\n fontFamily: 'RobotoLight',\n fontStyle: 'normal',\n fontWeight: 'normal',\n src: \"url('/assets/vendors/Grid/Styles/Roboto-Light.ttf') format('truetype')\",\n },\n} as const;\n\nconst treeGridHeaderTextSx = {\n color: '#ffffff',\n fontFamily: 'RobotoLight, sans-serif',\n fontSize: '14px',\n fontWeight: 'normal',\n lineHeight: '16px',\n} as const;\n\nconst mergeSxValues = (...styles: Array<unknown>): unknown => {\n const mergedStyles = styles.flatMap((style) => {\n if (!style) {\n return [];\n }\n\n return isArray(style) ? style : [style];\n });\n\n if (mergedStyles.length === 0) {\n return undefined;\n }\n\n return (theme: Theme) =>\n mergedStyles.reduce<Record<string, unknown>>((acc, style) => {\n const resolvedStyle =\n typeof style === 'function' ? (style as (theme: Theme) => unknown)(theme) : style;\n\n if (!resolvedStyle || isArray(resolvedStyle)) {\n return acc;\n }\n\n return {\n ...acc,\n ...(resolvedStyle as Record<string, unknown>),\n };\n }, {});\n};\n\nconst resolvePropValue = <TArgs, TProps>(\n prop: ((args: TArgs) => TProps) | TProps | undefined,\n args: TArgs,\n): TProps | undefined => {\n if (typeof prop === 'function') {\n return (prop as (args: TArgs) => TProps)(args);\n }\n\n return prop;\n};\n\nconst mergeComponentProps = <TProps extends PropsWithSx>(\n ...propsList: Array<TProps | undefined>\n): TProps => {\n const resolvedProps = propsList.filter(Boolean) as TProps[];\n const mergedProps = resolvedProps.reduce((acc, currentProps) => {\n return {\n ...acc,\n ...currentProps,\n };\n }, {} as TProps);\n\n const className = clsx(resolvedProps.map((currentProps) => currentProps.className));\n const sx = mergeSxValues(...resolvedProps.map((currentProps) => currentProps.sx));\n\n if (className) {\n mergedProps.className = className as TProps['className'];\n }\n\n if (sx) {\n mergedProps.sx = sx as TProps['sx'];\n }\n\n return mergedProps;\n};\n\nconst mergeResolvedProps = <TArgs, TProps extends PropsWithSx>(\n args: TArgs,\n ...propsList: Array<((args: TArgs) => TProps) | TProps | undefined>\n): TProps => {\n return mergeComponentProps(\n ...propsList.map((currentProps) => resolvePropValue<TArgs, TProps>(currentProps, args)),\n );\n};\n\nconst defaultTableIcons: Partial<MRT_Icons> = {\n ArrowDownwardIcon: (props) => (\n <OwpSvgIcon size={20} {...props}>\n heroicons-outline:arrow-down-circle\n </OwpSvgIcon>\n ),\n ClearAllIcon: () => <OwpSvgIcon size={20}>heroicons-outline:adjustments-horizontal</OwpSvgIcon>,\n DensityLargeIcon: () => <OwpSvgIcon size={20}>heroicons-outline:bars-3-bottom-left</OwpSvgIcon>,\n DensityMediumIcon: () => <OwpSvgIcon size={20}>heroicons-outline:bars-3</OwpSvgIcon>,\n DensitySmallIcon: () => <OwpSvgIcon size={20}>heroicons-outline:bars-2</OwpSvgIcon>,\n DragHandleIcon: () => (\n <OwpSvgIcon className=\"rotate-45\" size={14}>\n heroicons-outline:arrows-pointing-out\n </OwpSvgIcon>\n ),\n FilterListIcon: (props) => (\n <OwpSvgIcon size={16} {...props}>\n heroicons-outline:funnel\n </OwpSvgIcon>\n ),\n FilterListOffIcon: () => <OwpSvgIcon size={20}>heroicons-outline:funnel</OwpSvgIcon>,\n FullscreenExitIcon: () => <OwpSvgIcon size={20}>heroicons-outline:arrows-pointing-in</OwpSvgIcon>,\n FullscreenIcon: () => <OwpSvgIcon size={20}>heroicons-outline:arrows-pointing-out</OwpSvgIcon>,\n SearchIcon: (props) => (\n <OwpSvgIcon color=\"action\" size={20} {...props}>\n heroicons-outline:magnifying-glass\n </OwpSvgIcon>\n ),\n SearchOffIcon: () => <OwpSvgIcon size={20}>heroicons-outline:magnifying-glass</OwpSvgIcon>,\n ViewColumnIcon: () => <OwpSvgIcon size={20}>heroicons-outline:view-columns</OwpSvgIcon>,\n MoreVertIcon: () => <OwpSvgIcon size={20}>heroicons-outline:ellipsis-vertical</OwpSvgIcon>,\n MoreHorizIcon: () => <OwpSvgIcon size={20}>heroicons-outline:ellipsis-horizontal</OwpSvgIcon>,\n SortIcon: (props) => (\n <OwpSvgIcon size={20} {...props}>\n heroicons-outline:arrows-up-down\n </OwpSvgIcon>\n ),\n PushPinIcon: (props) => (\n <OwpSvgIcon size={20} {...props}>\n heroicons-outline:bookmark\n </OwpSvgIcon>\n ),\n VisibilityOffIcon: () => <OwpSvgIcon size={20}>heroicons-outline:eye-slash</OwpSvgIcon>,\n};\n\nconst TreeGridArrowDownwardIcon = (props: SvgIconProps) => {\n return <ArrowDropDownRoundedIcon fontSize=\"small\" {...props} />;\n};\n\nconst TreeGridSyncAltIcon = (props: SvgIconProps & { direction?: string }) => {\n const { direction, ...iconProps } = props;\n\n void direction;\n\n return <UnfoldMoreRoundedIcon fontSize=\"small\" {...iconProps} />;\n};\n\nconst treeGridTableIcons: Partial<MRT_Icons> = {\n ArrowDownwardIcon: TreeGridArrowDownwardIcon,\n SyncAltIcon: TreeGridSyncAltIcon,\n};\n\nconst defaultBottomToolbarProps: BoxProps = {\n className: 'flex items-center min-h-56 h-56',\n};\n\nconst defaultPaperProps: PaperProps = {\n elevation: 0,\n square: true,\n className: 'flex flex-col flex-auto h-full',\n};\n\nconst treeGridPaperProps: PaperProps = {\n sx: {\n display: 'flex',\n height: '100%',\n flexDirection: 'column',\n border: '1px solid',\n borderColor: 'divider',\n borderRadius: 0,\n boxShadow: 'none',\n },\n};\n\nconst totalCountFooterBorderlessPaperProps: PaperProps = {\n sx: {\n border: 0,\n },\n};\n\nconst totalCountFooterBorderlessContainerProps: TableContainerProps = {\n sx: {\n borderTop: '1px solid',\n borderRight: '1px solid',\n borderLeft: '1px solid',\n borderColor: 'divider',\n },\n};\n\nconst defaultContainerProps: TableContainerProps = {\n className: 'flex-auto',\n};\n\nconst treeGridSelectColumnWidth = 40;\n\nconst treeGridSelectColumnCellSx = {\n width: treeGridSelectColumnWidth,\n minWidth: treeGridSelectColumnWidth,\n maxWidth: treeGridSelectColumnWidth,\n} as const;\n\nconst treeGridContainerProps: TableContainerProps = {\n sx: {\n flex: 1,\n minHeight: 0,\n overflowX: 'hidden',\n overflowY: 'auto',\n },\n};\n\nconst treeGridHeadRowProps: TableRowProps = {\n sx: {\n backgroundColor: treeGridHeaderBackgroundColor,\n boxShadow: 'none',\n },\n};\n\nconst defaultSelectCheckboxProps: CheckboxProps = {\n className: 'w-48',\n};\n\nconst treeGridSelectCheckboxProps: CheckboxProps = {\n sx: {\n display: 'flex',\n m: 0,\n mx: 'auto',\n },\n};\n\nconst treeGridTableProps: TableProps = {\n sx: {\n borderSpacing: 0,\n width: '100%',\n tableLayout: 'fixed',\n '& .MuiTableHead-root .MuiTableCell-root': {\n ...treeGridHeaderTextSx,\n backgroundColor: treeGridHeaderBackgroundColor,\n borderTop: '1px solid',\n py: 0.75,\n borderRight: '1px solid',\n borderBottom: '1px solid',\n borderColor: 'divider',\n wordBreak: 'keep-all',\n },\n '& .MuiTableHead-root .MuiTableRow-root:first-of-type .MuiTableCell-root:first-of-type': {\n borderLeft: '1px solid',\n borderColor: 'divider',\n },\n '& .MuiTableHead-root .MuiTableRow-root:first-of-type .MuiTableCell-root:last-of-type': {\n borderRight: '1px solid',\n borderColor: 'divider',\n },\n '& .MuiTableHead-root .MuiIconButton-root': {\n display: 'none',\n },\n '& .MuiTableBody-root .MuiTableCell-root': {\n p: 0,\n verticalAlign: 'middle',\n borderRight: '1px solid',\n borderBottom: '1px solid',\n borderColor: 'divider',\n overflowWrap: 'anywhere',\n },\n '& .MuiTableBody-root .MuiTableCell-root:last-of-type': {\n borderRight: 'none',\n },\n },\n};\n\nconst getDefaultBodyRowProps = <TData extends MRT_RowData>({\n row,\n table,\n}: BodyRowArgs<TData>): TableRowProps => {\n const { density } = table.getState();\n\n if (density === 'compact') {\n return {\n sx: {\n backgroundColor: 'initial',\n opacity: 1,\n boxShadow: 'none',\n height: row.getIsPinned() ? `${37}px` : undefined,\n },\n };\n }\n\n return {\n sx: {\n backgroundColor: 'initial',\n opacity: 1,\n boxShadow: 'none',\n height: row.getIsPinned() ? `${density === 'comfortable' ? 53 : 69}px` : undefined,\n },\n };\n};\n\nconst getDefaultHeadCellProps = <TData extends MRT_RowData>({\n column,\n}: HeadCellArgs<TData>): TableCellProps => {\n return {\n sx: {\n '& .Mui-TableHeadCell-Content-Labels': {\n flex: 1,\n justifyContent: 'space-between',\n },\n '& .Mui-TableHeadCell-Content-Actions': {\n '& > button': {\n marginX: '2px',\n },\n },\n '& .MuiFormHelperText-root': {\n textAlign: 'center',\n marginX: 0,\n color: (theme: Theme) => theme.palette.text.disabled,\n fontSize: 11,\n },\n backgroundColor: (theme) => (column.getIsPinned() ? theme.palette.background.paper : 'inherit'),\n },\n };\n};\n\nconst getTreeGridHeadCellProps = <TData extends MRT_RowData>({\n column,\n}: HeadCellArgs<TData>): TableCellProps => {\n const isSelectColumn = column.id === 'mrt-row-select';\n const isFirstColumn = column.getIsFirstColumn();\n const isLastColumn = column.getIsLastColumn();\n\n return {\n align: 'center',\n sx: {\n ...(isSelectColumn ? treeGridSelectColumnCellSx : {}),\n ...treeGridHeaderTextSx,\n backgroundColor: treeGridHeaderBackgroundColor,\n borderTop: '1px solid',\n borderTopColor: 'divider',\n ...(isFirstColumn\n ? {\n borderLeft: '1px solid',\n borderLeftColor: 'divider',\n }\n : {}),\n ...(isLastColumn\n ? {\n borderRight: '1px solid',\n borderRightColor: 'divider',\n }\n : {}),\n '& .Mui-TableHeadCell-Content': {\n ...treeGridHeaderTextSx,\n backgroundColor: 'inherit',\n justifyContent: 'center',\n position: 'relative',\n width: '100%',\n },\n '& .Mui-TableHeadCell-Content-Labels': {\n alignItems: 'center',\n backgroundColor: 'inherit',\n display: 'flex',\n flex: 1,\n justifyContent: 'center',\n maxWidth: '100%',\n minWidth: 0,\n overflow: 'hidden',\n position: 'relative',\n pl: 0,\n pr: isSelectColumn ? 0 : '24px',\n width: '100%',\n },\n '& .Mui-TableHeadCell-Content-Wrapper': {\n ...treeGridHeaderTextSx,\n backgroundColor: 'inherit',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n },\n '&& .MuiBadge-root': isSelectColumn\n ? undefined\n : {\n alignItems: 'center',\n display: 'inline-flex',\n justifyContent: 'center',\n position: 'absolute',\n pointerEvents: 'none',\n right: '6px',\n top: '50%',\n transform: 'translateY(-50%)',\n width: '16px',\n },\n '&& .MuiTableSortLabel-root': {\n alignItems: 'center',\n color: treeGridSortIconColor,\n display: 'inline-flex',\n justifyContent: 'center',\n minWidth: '16px',\n opacity: '1 !important',\n overflow: 'visible',\n width: '16px',\n },\n '&& .MuiTableSortLabel-root:hover': {\n color: treeGridSortIconColor,\n },\n '&& .MuiTableSortLabel-root.Mui-active': {\n color: treeGridSortIconColor,\n },\n '&& .MuiTableSortLabel-icon': {\n color: `${treeGridSortIconColor} !important`,\n display: 'block',\n fontSize: '18px',\n margin: 0,\n opacity: '1 !important',\n overflow: 'visible',\n },\n '& .MuiButtonBase-root': isSelectColumn\n ? {\n display: 'flex',\n margin: '0 auto',\n }\n : undefined,\n },\n };\n};\n\nconst getTreeGridBodyCellProps = <TData extends MRT_RowData>({\n column,\n}: BodyCellArgs<TData>): TableCellProps => {\n if (column.id !== 'mrt-row-select') {\n return {};\n }\n\n return {\n align: 'center',\n sx: {\n ...treeGridSelectColumnCellSx,\n '& > .MuiButtonBase-root, & .MuiButtonBase-root': {\n display: 'flex',\n margin: '0 auto',\n },\n },\n };\n};\n\n/**\n * MRT 기반 공통 테이블 렌더 함수\n * @param props Material React Table props\n */\nfunction DataTable<TData extends MRT_RowData>(props: DataTableProps<TData>) {\n const { t } = useOwpTranslation();\n const {\n canHideTotalCountFooterBorder = false,\n canUseNoDataOverlay = false,\n canTotalCountRow = true,\n canUseTreeGridStyle = true,\n columns,\n data,\n totalCount,\n ...rest\n } = props;\n\n const {\n icons: restIcons,\n initialState: restInitialState,\n muiBottomToolbarProps: restBottomToolbarProps,\n muiSelectAllCheckboxProps: restSelectAllCheckboxProps,\n muiSelectCheckboxProps: restSelectCheckboxProps,\n displayColumnDefOptions: restDisplayColumnDefOptions,\n muiTableBodyCellProps: restTableBodyCellProps,\n muiTableBodyRowProps: restTableBodyRowProps,\n muiTableContainerProps: restTableContainerProps,\n muiTableHeadCellProps: restTableHeadCellProps,\n muiTablePaperProps: restTablePaperProps,\n muiTableProps: restTableProps,\n renderBottomToolbar: restRenderBottomToolbar,\n renderEmptyRowsFallback: restRenderEmptyRowsFallback,\n ...restOptions\n } = rest;\n\n const resolvedData = isArray(data) ? data : [];\n const isNoDataOverlayVisible = isArray(data) && data.length === 0;\n const shouldHideTotalCountFooterBorder = canUseTreeGridStyle || canHideTotalCountFooterBorder;\n const shouldApplyTotalCountFooterBorderlessLayout =\n canTotalCountRow && shouldHideTotalCountFooterBorder;\n const shouldUseNoDataOverlay = canUseTreeGridStyle || canUseNoDataOverlay;\n const displayColumnDefOptions = canUseTreeGridStyle\n ? {\n ...(restDisplayColumnDefOptions ?? {}),\n 'mrt-row-select': {\n header: '',\n size: treeGridSelectColumnWidth,\n minSize: treeGridSelectColumnWidth,\n maxSize: treeGridSelectColumnWidth,\n ...(restDisplayColumnDefOptions?.['mrt-row-select'] ?? {}),\n },\n }\n : restDisplayColumnDefOptions;\n\n const initialState = defaultsFC(\n { ...(restInitialState ?? {}) },\n {\n density: canUseTreeGridStyle ? 'compact' : 'spacious',\n showColumnFilters: false,\n showGlobalFilter: !canUseTreeGridStyle,\n columnPinning: {\n left: ['mrt-row-expand', 'mrt-row-select'],\n right: ['mrt-row-actions'],\n },\n pagination: {\n pageSize: 15,\n },\n enableFullScreenToggle: false,\n },\n );\n\n const defaultOptions = defaultsFC(\n {\n ...restOptions,\n displayColumnDefOptions,\n initialState,\n },\n {\n displayColumnDefOptions,\n initialState,\n layoutMode: canUseTreeGridStyle ? 'semantic' : undefined,\n enablePagination: canUseTreeGridStyle ? false : undefined,\n enableBottomToolbar: canUseTreeGridStyle ? false : undefined,\n enableTopToolbar: canUseTreeGridStyle ? false : undefined,\n enableColumnActions: canUseTreeGridStyle ? false : undefined,\n enableColumnDragging: canUseTreeGridStyle ? false : undefined,\n enableColumnFilters: canUseTreeGridStyle ? false : undefined,\n enableColumnOrdering: canUseTreeGridStyle ? false : true,\n enableDensityToggle: canUseTreeGridStyle ? false : undefined,\n enableFullScreenToggle: false,\n enableGlobalFilter: canUseTreeGridStyle ? false : undefined,\n enableGrouping: canUseTreeGridStyle ? false : true,\n enableHiding: canUseTreeGridStyle ? false : undefined,\n enableColumnPinning: canUseTreeGridStyle ? false : true,\n enableFacetedValues: canUseTreeGridStyle ? false : true,\n enableMultiRowSelection: canUseTreeGridStyle ? true : undefined,\n enableRowActions: canUseTreeGridStyle ? false : true,\n enableRowSelection: true,\n enableRowDragging: canUseTreeGridStyle ? false : undefined,\n enableRowOrdering: canUseTreeGridStyle ? false : undefined,\n enableSelectAll: canUseTreeGridStyle ? false : undefined,\n enableStickyHeader: true,\n enableToolbarInternalActions: canUseTreeGridStyle ? false : undefined,\n getRowId: canUseTreeGridStyle\n ? (row: TData) => String((row as TData & { id: string | number }).id)\n : undefined,\n paginationDisplayMode: 'pages',\n positionToolbarAlertBanner: 'top',\n muiPaginationProps: {\n color: 'secondary',\n rowsPerPageOptions: [10, 20, 30],\n shape: 'rounded',\n variant: 'outlined',\n showRowsPerPage: false,\n },\n muiSearchTextFieldProps: {\n placeholder: 'Search',\n sx: { minWidth: '300px' },\n variant: 'outlined',\n size: 'small',\n },\n muiFilterTextFieldProps: {\n variant: 'outlined',\n size: 'small',\n sx: {\n '& .MuiInputBase-root': {\n padding: '0px 8px',\n height: '32px!important',\n minHeight: '32px!important',\n },\n },\n },\n mrtTheme: (theme: Theme) => ({\n baseBackgroundColor: theme.palette.background.paper,\n menuBackgroundColor: theme.palette.background.paper,\n pinnedRowBackgroundColor: theme.palette.background.paper,\n pinnedColumnBackgroundColor: theme.palette.background.paper,\n }),\n renderTopToolbar: (toolbarProps: { table: MRT_TableInstance<TData> }) => (\n <OwpMrtTableTopToolbar {...toolbarProps} />\n ),\n } as Partial<DataTableProps<TData>>,\n );\n\n const shouldRenderBaseBottomToolbar = defaultOptions.enableBottomToolbar !== false;\n const resolvedTotalCount = isNumber(totalCount) ? totalCount : resolvedData.length;\n\n const renderBaseBottomToolbar = (table: MRT_TableInstance<TData>) => {\n if (!shouldRenderBaseBottomToolbar) {\n return null;\n }\n\n if (typeof restRenderBottomToolbar === 'function') {\n return restRenderBottomToolbar({ table });\n }\n\n return restRenderBottomToolbar ?? <MRT_BottomToolbar table={table} />;\n };\n\n const table = useMaterialReactTable<TData>({\n ...defaultOptions,\n columns,\n data: resolvedData,\n enableBottomToolbar: canTotalCountRow ? true : defaultOptions.enableBottomToolbar,\n icons: {\n ...defaultTableIcons,\n ...(canUseTreeGridStyle ? treeGridTableIcons : {}),\n ...(restIcons ?? {}),\n },\n muiBottomToolbarProps: (args: TableInstanceArgs<TData>) =>\n mergeResolvedProps<TableInstanceArgs<TData>, BoxProps>(\n args,\n defaultBottomToolbarProps,\n restBottomToolbarProps,\n ),\n muiSelectAllCheckboxProps: (args: SelectAllCheckboxArgs<TData>) =>\n mergeResolvedProps<SelectAllCheckboxArgs<TData>, CheckboxProps>(\n args,\n defaultSelectCheckboxProps,\n canUseTreeGridStyle ? treeGridSelectCheckboxProps : undefined,\n restSelectAllCheckboxProps,\n ),\n muiSelectCheckboxProps: (args: SelectCheckboxArgs<TData>) =>\n mergeResolvedProps<SelectCheckboxArgs<TData>, CheckboxProps | RadioProps>(\n args,\n defaultSelectCheckboxProps,\n canUseTreeGridStyle ? treeGridSelectCheckboxProps : undefined,\n restSelectCheckboxProps,\n ),\n muiTableBodyCellProps: (args: BodyCellArgs<TData>) =>\n mergeResolvedProps<BodyCellArgs<TData>, TableCellProps>(\n args,\n canUseTreeGridStyle ? getTreeGridBodyCellProps : undefined,\n restTableBodyCellProps,\n ),\n muiTableBodyRowProps: (args: BodyRowArgs<TData>) =>\n mergeResolvedProps<BodyRowArgs<TData>, TableRowProps>(\n args,\n getDefaultBodyRowProps,\n restTableBodyRowProps,\n ),\n muiTableContainerProps: (args: TableInstanceArgs<TData>) =>\n mergeResolvedProps<TableInstanceArgs<TData>, TableContainerProps>(\n args,\n defaultContainerProps,\n canUseTreeGridStyle ? treeGridContainerProps : undefined,\n restTableContainerProps,\n shouldApplyTotalCountFooterBorderlessLayout\n ? totalCountFooterBorderlessContainerProps\n : undefined,\n ),\n muiTableHeadRowProps: (args) =>\n mergeResolvedProps(\n args,\n canUseTreeGridStyle ? treeGridHeadRowProps : undefined,\n rest.muiTableHeadRowProps,\n ),\n muiTableHeadCellProps: (args: HeadCellArgs<TData>) =>\n mergeResolvedProps<HeadCellArgs<TData>, TableCellProps>(\n args,\n getDefaultHeadCellProps,\n canUseTreeGridStyle ? getTreeGridHeadCellProps : undefined,\n restTableHeadCellProps,\n ),\n muiTablePaperProps: (args: TableInstanceArgs<TData>) =>\n mergeResolvedProps<TableInstanceArgs<TData>, PaperProps>(\n args,\n defaultPaperProps,\n canUseTreeGridStyle ? treeGridPaperProps : undefined,\n restTablePaperProps,\n shouldApplyTotalCountFooterBorderlessLayout\n ? totalCountFooterBorderlessPaperProps\n : undefined,\n ),\n muiTableProps: (args: TableInstanceArgs<TData>) =>\n mergeResolvedProps<TableInstanceArgs<TData>, TableProps>(\n args,\n canUseTreeGridStyle ? treeGridTableProps : undefined,\n restTableProps,\n ),\n renderBottomToolbar: canTotalCountRow\n ? ({ table }) => (\n <>\n {renderBaseBottomToolbar(table)}\n <OwpTableTotalCount totalCount={resolvedTotalCount} />\n </>\n )\n : restRenderBottomToolbar,\n renderEmptyRowsFallback: shouldUseNoDataOverlay\n ? () => <></>\n : restRenderEmptyRowsFallback,\n });\n\n return (\n <>\n {canUseTreeGridStyle && <GlobalStyles styles={treeGridFontFaceStyles} />}\n <MaterialReactTable table={table} />\n {shouldUseNoDataOverlay && (\n <OwpMrtTableNoDataOverlay\n visible={isNoDataOverlayVisible}\n message={t('Message.조회된 결과가 없습니다.')}\n table={table}\n />\n )}\n </>\n );\n}\n\nconst hasTableInstance = <TData extends MRT_RowData>(\n props: OwpMrtTableProps<TData>,\n): props is OwpMrtTableProps<TData> & { table: MRT_TableInstance<TData> } => {\n return 'table' in props && props.table !== undefined;\n};\n\n/**\n * MRT 기반 공통 테이블 컴포넌트\n * @param props 컴포넌트 props\n */\nconst OwpMrtTable = <TData extends MRT_RowData>(props: OwpMrtTableProps<TData>) => {\n const currentLanguage = useGetCurrentLanguage();\n\n if (hasTableInstance(props)) {\n return <MaterialReactTable table={props.table} />;\n }\n\n return (\n <DataTable<TData>\n {...props}\n localization={\n props.localization ?? (currentLanguage.id === 'kr' ? MRT_Localization_KO : undefined)\n }\n />\n );\n};\n\nexport { OwpMrtTable };\n"],"names":["treeGridHeaderBackgroundColor","treeGridSortIconColor","treeGridFontFaceStyles","treeGridHeaderTextSx","mergeSxValues","__name","styles","mergedStyles","style","isArray","theme","acc","resolvedStyle","resolvePropValue","prop","args","mergeComponentProps","propsList","resolvedProps","mergedProps","currentProps","className","clsx","sx","mergeResolvedProps","defaultTableIcons","props","jsx","OwpSvgIcon","TreeGridArrowDownwardIcon","ArrowDropDownRoundedIcon","TreeGridSyncAltIcon","direction","iconProps","UnfoldMoreRoundedIcon","treeGridTableIcons","defaultBottomToolbarProps","defaultPaperProps","treeGridPaperProps","totalCountFooterBorderlessPaperProps","totalCountFooterBorderlessContainerProps","defaultContainerProps","treeGridSelectColumnWidth","treeGridSelectColumnCellSx","treeGridContainerProps","treeGridHeadRowProps","defaultSelectCheckboxProps","treeGridSelectCheckboxProps","treeGridTableProps","getDefaultBodyRowProps","row","table","density","getDefaultHeadCellProps","column","getTreeGridHeadCellProps","isSelectColumn","isFirstColumn","isLastColumn","getTreeGridBodyCellProps","DataTable","t","useOwpTranslation","canHideTotalCountFooterBorder","canUseNoDataOverlay","canTotalCountRow","canUseTreeGridStyle","columns","data","totalCount","rest","restIcons","restInitialState","restBottomToolbarProps","restSelectAllCheckboxProps","restSelectCheckboxProps","restDisplayColumnDefOptions","restTableBodyCellProps","restTableBodyRowProps","restTableContainerProps","restTableHeadCellProps","restTablePaperProps","restTableProps","restRenderBottomToolbar","restRenderEmptyRowsFallback","restOptions","resolvedData","isNoDataOverlayVisible","shouldApplyTotalCountFooterBorderlessLayout","shouldUseNoDataOverlay","displayColumnDefOptions","initialState","defaultsFC","defaultOptions","toolbarProps","OwpMrtTableTopToolbar","shouldRenderBaseBottomToolbar","resolvedTotalCount","isNumber","renderBaseBottomToolbar","MRT_BottomToolbar","useMaterialReactTable","jsxs","Fragment","OwpTableTotalCount","GlobalStyles","MaterialReactTable","OwpMrtTableNoDataOverlay","hasTableInstance","OwpMrtTable","currentLanguage","useGetCurrentLanguage","MRT_Localization_KO"],"mappings":";;;;;;;;;;;;;;;;;;AAqFA,MAAMA,IAAgC,WAChCC,IAAwB,WAExBC,KAAyB;AAAA,EAC7B,cAAc;AAAA,IACZ,YAAY;AAAA,IACZ,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,KAAK;AAAA,EAAA;AAET,GAEMC,IAAuB;AAAA,EAC3B,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,YAAY;AACd,GAEMC,KAAgB,gBAAAC,EAAA,IAAIC,MAAoC;AAC5D,QAAMC,IAAeD,EAAO,QAAQ,CAACE,MAC9BA,IAIEC,EAAQD,CAAK,IAAIA,IAAQ,CAACA,CAAK,IAH7B,CAAA,CAIV;AAED,MAAID,EAAa,WAAW;AAI5B,WAAO,CAACG,MACNH,EAAa,OAAgC,CAACI,GAAKH,MAAU;AAC3D,YAAMI,IACJ,OAAOJ,KAAU,aAAcA,EAAoCE,CAAK,IAAIF;AAE9E,aAAI,CAACI,KAAiBH,EAAQG,CAAa,IAClCD,IAGF;AAAA,QACL,GAAGA;AAAA,QACH,GAAIC;AAAA,MAAA;AAAA,IAER,GAAG,CAAA,CAAE;AACT,GA3BsB,kBA6BhBC,KAAmB,gBAAAR,EAAA,CACvBS,GACAC,MAEI,OAAOD,KAAS,aACVA,EAAiCC,CAAI,IAGxCD,GARgB,qBAWnBE,KAAsB,gBAAAX,EAAA,IACvBY,MACQ;AACX,QAAMC,IAAgBD,EAAU,OAAO,OAAO,GACxCE,IAAcD,EAAc,OAAO,CAACP,GAAKS,OACtC;AAAA,IACL,GAAGT;AAAA,IACH,GAAGS;AAAA,EAAA,IAEJ,CAAA,CAAY,GAETC,IAAYC,GAAKJ,EAAc,IAAI,CAACE,MAAiBA,EAAa,SAAS,CAAC,GAC5EG,IAAKnB,GAAc,GAAGc,EAAc,IAAI,CAACE,MAAiBA,EAAa,EAAE,CAAC;AAEhF,SAAIC,MACFF,EAAY,YAAYE,IAGtBE,MACFJ,EAAY,KAAKI,IAGZJ;AACT,GAvB4B,wBAyBtBK,IAAqB,gBAAAnB,EAAA,CACzBU,MACGE,MAEID;AAAA,EACL,GAAGC,EAAU,IAAI,CAACG,MAAiBP,GAAgCO,GAAcL,CAAI,CAAC;AAAA,GAL/D,uBASrBU,KAAwC;AAAA,EAC5C,mBAAmB,gBAAApB,EAAA,CAACqB,MAClB,gBAAAC,EAACC,KAAW,MAAM,IAAK,GAAGF,GAAO,UAAA,sCAAA,CAEjC,GAHiB;AAAA,EAKnB,cAAc,gBAAArB,EAAA,MAAM,gBAAAsB,EAACC,GAAA,EAAW,MAAM,IAAI,UAAA,4CAAwC,GAApE;AAAA,EACd,kBAAkB,gBAAAvB,EAAA,MAAM,gBAAAsB,EAACC,GAAA,EAAW,MAAM,IAAI,UAAA,wCAAoC,GAAhE;AAAA,EAClB,mBAAmB,gBAAAvB,EAAA,MAAM,gBAAAsB,EAACC,GAAA,EAAW,MAAM,IAAI,UAAA,4BAAwB,GAApD;AAAA,EACnB,kBAAkB,gBAAAvB,EAAA,MAAM,gBAAAsB,EAACC,GAAA,EAAW,MAAM,IAAI,UAAA,4BAAwB,GAApD;AAAA,EAClB,gBAAgB,gBAAAvB,EAAA,MACd,gBAAAsB,EAACC,GAAA,EAAW,WAAU,aAAY,MAAM,IAAI,UAAA,yCAE5C,GAHc;AAAA,EAKhB,gBAAgB,gBAAAvB,EAAA,CAACqB,MACf,gBAAAC,EAACC,KAAW,MAAM,IAAK,GAAGF,GAAO,UAAA,2BAAA,CAEjC,GAHc;AAAA,EAKhB,mBAAmB,gBAAArB,EAAA,MAAM,gBAAAsB,EAACC,GAAA,EAAW,MAAM,IAAI,UAAA,4BAAwB,GAApD;AAAA,EACnB,oBAAoB,gBAAAvB,EAAA,MAAM,gBAAAsB,EAACC,GAAA,EAAW,MAAM,IAAI,UAAA,wCAAoC,GAAhE;AAAA,EACpB,gBAAgB,gBAAAvB,EAAA,MAAM,gBAAAsB,EAACC,GAAA,EAAW,MAAM,IAAI,UAAA,yCAAqC,GAAjE;AAAA,EAChB,YAAY,gBAAAvB,EAAA,CAACqB,MACX,gBAAAC,EAACC,GAAA,EAAW,OAAM,UAAS,MAAM,IAAK,GAAGF,GAAO,UAAA,qCAAA,CAEhD,GAHU;AAAA,EAKZ,eAAe,gBAAArB,EAAA,MAAM,gBAAAsB,EAACC,GAAA,EAAW,MAAM,IAAI,UAAA,sCAAkC,GAA9D;AAAA,EACf,gBAAgB,gBAAAvB,EAAA,MAAM,gBAAAsB,EAACC,GAAA,EAAW,MAAM,IAAI,UAAA,kCAA8B,GAA1D;AAAA,EAChB,cAAc,gBAAAvB,EAAA,MAAM,gBAAAsB,EAACC,GAAA,EAAW,MAAM,IAAI,UAAA,uCAAmC,GAA/D;AAAA,EACd,eAAe,gBAAAvB,EAAA,MAAM,gBAAAsB,EAACC,GAAA,EAAW,MAAM,IAAI,UAAA,yCAAqC,GAAjE;AAAA,EACf,UAAU,gBAAAvB,EAAA,CAACqB,MACT,gBAAAC,EAACC,KAAW,MAAM,IAAK,GAAGF,GAAO,UAAA,mCAAA,CAEjC,GAHQ;AAAA,EAKV,aAAa,gBAAArB,EAAA,CAACqB,MACZ,gBAAAC,EAACC,KAAW,MAAM,IAAK,GAAGF,GAAO,UAAA,6BAAA,CAEjC,GAHW;AAAA,EAKb,mBAAmB,gBAAArB,EAAA,MAAM,gBAAAsB,EAACC,GAAA,EAAW,MAAM,IAAI,UAAA,8BAAA,CAA2B,GAAvD;AACrB,GAEMC,KAA4B,gBAAAxB,EAAA,CAACqB,MAC1B,gBAAAC,EAACG,IAAA,EAAyB,UAAS,SAAS,GAAGJ,GAAO,GAD7B,8BAI5BK,KAAsB,gBAAA1B,EAAA,CAACqB,MAAiD;AAC5E,QAAM,EAAE,WAAAM,GAAW,GAAGC,EAAA,IAAcP;AAIpC,SAAO,gBAAAC,EAACO,IAAA,EAAsB,UAAS,SAAS,GAAGD,GAAW;AAChE,GAN4B,wBAQtBE,KAAyC;AAAA,EAC7C,mBAAmBN;AAAA,EACnB,aAAaE;AACf,GAEMK,KAAsC;AAAA,EAC1C,WAAW;AACb,GAEMC,KAAgC;AAAA,EACpC,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,WAAW;AACb,GAEMC,KAAiC;AAAA,EACrC,IAAI;AAAA,IACF,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,eAAe;AAAA,IACf,QAAQ;AAAA,IACR,aAAa;AAAA,IACb,cAAc;AAAA,IACd,WAAW;AAAA,EAAA;AAEf,GAEMC,KAAmD;AAAA,EACvD,IAAI;AAAA,IACF,QAAQ;AAAA,EAAA;AAEZ,GAEMC,KAAgE;AAAA,EACpE,IAAI;AAAA,IACF,WAAW;AAAA,IACX,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,aAAa;AAAA,EAAA;AAEjB,GAEMC,KAA6C;AAAA,EACjD,WAAW;AACb,GAEMC,IAA4B,IAE5BC,IAA6B;AAAA,EACjC,OAAOD;AAAA,EACP,UAAUA;AAAA,EACV,UAAUA;AACZ,GAEME,KAA8C;AAAA,EAClD,IAAI;AAAA,IACF,MAAM;AAAA,IACN,WAAW;AAAA,IACX,WAAW;AAAA,IACX,WAAW;AAAA,EAAA;AAEf,GAEMC,KAAsC;AAAA,EAC1C,IAAI;AAAA,IACF,iBAAiB7C;AAAA,IACjB,WAAW;AAAA,EAAA;AAEf,GAEM8C,IAA4C;AAAA,EAChD,WAAW;AACb,GAEMC,IAA6C;AAAA,EACjD,IAAI;AAAA,IACF,SAAS;AAAA,IACT,GAAG;AAAA,IACH,IAAI;AAAA,EAAA;AAER,GAEMC,KAAiC;AAAA,EACrC,IAAI;AAAA,IACF,eAAe;AAAA,IACf,OAAO;AAAA,IACP,aAAa;AAAA,IACb,2CAA2C;AAAA,MACzC,GAAG7C;AAAA,MACH,iBAAiBH;AAAA,MACjB,WAAW;AAAA,MACX,IAAI;AAAA,MACJ,aAAa;AAAA,MACb,cAAc;AAAA,MACd,aAAa;AAAA,MACb,WAAW;AAAA,IAAA;AAAA,IAEb,yFAAyF;AAAA,MACvF,YAAY;AAAA,MACZ,aAAa;AAAA,IAAA;AAAA,IAEf,wFAAwF;AAAA,MACtF,aAAa;AAAA,MACb,aAAa;AAAA,IAAA;AAAA,IAEf,4CAA4C;AAAA,MAC1C,SAAS;AAAA,IAAA;AAAA,IAEX,2CAA2C;AAAA,MACzC,GAAG;AAAA,MACH,eAAe;AAAA,MACf,aAAa;AAAA,MACb,cAAc;AAAA,MACd,aAAa;AAAA,MACb,cAAc;AAAA,IAAA;AAAA,IAEhB,wDAAwD;AAAA,MACtD,aAAa;AAAA,IAAA;AAAA,EACf;AAEJ,GAEMiD,KAAyB,gBAAA5C,EAAA,CAA4B;AAAA,EACzD,KAAA6C;AAAA,EACA,OAAAC;AACF,MAAyC;AACvC,QAAM,EAAE,SAAAC,EAAA,IAAYD,EAAM,SAAA;AAE1B,SAAIC,MAAY,YACP;AAAA,IACL,IAAI;AAAA,MACF,iBAAiB;AAAA,MACjB,SAAS;AAAA,MACT,WAAW;AAAA,MACX,QAAQF,EAAI,YAAA,IAAgB,SAAY;AAAA,IAAA;AAAA,EAC1C,IAIG;AAAA,IACL,IAAI;AAAA,MACF,iBAAiB;AAAA,MACjB,SAAS;AAAA,MACT,WAAW;AAAA,MACX,QAAQA,EAAI,YAAA,IAAgB,GAAGE,MAAY,gBAAgB,KAAK,EAAE,OAAO;AAAA,IAAA;AAAA,EAC3E;AAEJ,GAzB+B,2BA2BzBC,KAA0B,gBAAAhD,EAAA,CAA4B;AAAA,EAC1D,QAAAiD;AACF,OACS;AAAA,EACL,IAAI;AAAA,IACF,uCAAuC;AAAA,MACrC,MAAM;AAAA,MACN,gBAAgB;AAAA,IAAA;AAAA,IAElB,wCAAwC;AAAA,MACtC,cAAc;AAAA,QACZ,SAAS;AAAA,MAAA;AAAA,IACX;AAAA,IAEF,6BAA6B;AAAA,MAC3B,WAAW;AAAA,MACX,SAAS;AAAA,MACT,OAAO,gBAAAjD,EAAA,CAACK,MAAiBA,EAAM,QAAQ,KAAK,UAArC;AAAA,MACP,UAAU;AAAA,IAAA;AAAA,IAEZ,iBAAiB,gBAAAL,EAAA,CAACK,MAAW4C,EAAO,gBAAgB5C,EAAM,QAAQ,WAAW,QAAQ,WAApE;AAAA,EAAoE;AACvF,IArB4B,4BAyB1B6C,KAA2B,gBAAAlD,EAAA,CAA4B;AAAA,EAC3D,QAAAiD;AACF,MAA2C;AACzC,QAAME,IAAiBF,EAAO,OAAO,kBAC/BG,IAAgBH,EAAO,iBAAA,GACvBI,IAAeJ,EAAO,gBAAA;AAE5B,SAAO;AAAA,IACL,OAAO;AAAA,IACP,IAAI;AAAA,MACF,GAAIE,IAAiBb,IAA6B,CAAA;AAAA,MAClD,GAAGxC;AAAA,MACH,iBAAiBH;AAAA,MACjB,WAAW;AAAA,MACX,gBAAgB;AAAA,MAChB,GAAIyD,IACA;AAAA,QACE,YAAY;AAAA,QACZ,iBAAiB;AAAA,MAAA,IAEnB,CAAA;AAAA,MACJ,GAAIC,IACA;AAAA,QACE,aAAa;AAAA,QACb,kBAAkB;AAAA,MAAA,IAEpB,CAAA;AAAA,MACJ,gCAAgC;AAAA,QAC9B,GAAGvD;AAAA,QACH,iBAAiB;AAAA,QACjB,gBAAgB;AAAA,QAChB,UAAU;AAAA,QACV,OAAO;AAAA,MAAA;AAAA,MAET,uCAAuC;AAAA,QACrC,YAAY;AAAA,QACZ,iBAAiB;AAAA,QACjB,SAAS;AAAA,QACT,MAAM;AAAA,QACN,gBAAgB;AAAA,QAChB,UAAU;AAAA,QACV,UAAU;AAAA,QACV,UAAU;AAAA,QACV,UAAU;AAAA,QACV,IAAI;AAAA,QACJ,IAAIqD,IAAiB,IAAI;AAAA,QACzB,OAAO;AAAA,MAAA;AAAA,MAET,wCAAwC;AAAA,QACtC,GAAGrD;AAAA,QACH,iBAAiB;AAAA,QACjB,UAAU;AAAA,QACV,cAAc;AAAA,QACd,YAAY;AAAA,MAAA;AAAA,MAEd,qBAAqBqD,IACjB,SACA;AAAA,QACE,YAAY;AAAA,QACZ,SAAS;AAAA,QACT,gBAAgB;AAAA,QAChB,UAAU;AAAA,QACV,eAAe;AAAA,QACf,OAAO;AAAA,QACP,KAAK;AAAA,QACL,WAAW;AAAA,QACX,OAAO;AAAA,MAAA;AAAA,MAEb,8BAA8B;AAAA,QAC5B,YAAY;AAAA,QACZ,OAAOvD;AAAA,QACP,SAAS;AAAA,QACT,gBAAgB;AAAA,QAChB,UAAU;AAAA,QACV,SAAS;AAAA,QACT,UAAU;AAAA,QACV,OAAO;AAAA,MAAA;AAAA,MAET,oCAAoC;AAAA,QAClC,OAAOA;AAAA,MAAA;AAAA,MAET,yCAAyC;AAAA,QACvC,OAAOA;AAAA,MAAA;AAAA,MAET,8BAA8B;AAAA,QAC5B,OAAO,GAAGA,CAAqB;AAAA,QAC/B,SAAS;AAAA,QACT,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,UAAU;AAAA,MAAA;AAAA,MAEZ,yBAAyBuD,IACrB;AAAA,QACE,SAAS;AAAA,QACT,QAAQ;AAAA,MAAA,IAEV;AAAA,IAAA;AAAA,EACN;AAEJ,GApGiC,6BAsG3BG,KAA2B,gBAAAtD,EAAA,CAA4B;AAAA,EAC3D,QAAAiD;AACF,MACMA,EAAO,OAAO,mBACT,CAAA,IAGF;AAAA,EACL,OAAO;AAAA,EACP,IAAI;AAAA,IACF,GAAGX;AAAA,IACH,kDAAkD;AAAA,MAChD,SAAS;AAAA,MACT,QAAQ;AAAA,IAAA;AAAA,EACV;AACF,GAf6B;AAuBjC,SAASiB,GAAqClC,GAA8B;AAC1E,QAAM,EAAE,GAAAmC,EAAA,IAAMC,GAAA,GACR;AAAA,IACJ,+BAAAC,IAAgC;AAAA,IAChC,qBAAAC,IAAsB;AAAA,IACtB,kBAAAC,IAAmB;AAAA,IACnB,qBAAAC,IAAsB;AAAA,IACtB,SAAAC;AAAA,IACA,MAAAC;AAAA,IACA,YAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,IACD5C,GAEE;AAAA,IACJ,OAAO6C;AAAA,IACP,cAAcC;AAAA,IACd,uBAAuBC;AAAA,IACvB,2BAA2BC;AAAA,IAC3B,wBAAwBC;AAAA,IACxB,yBAAyBC;AAAA,IACzB,uBAAuBC;AAAA,IACvB,sBAAsBC;AAAA,IACtB,wBAAwBC;AAAA,IACxB,uBAAuBC;AAAA,IACvB,oBAAoBC;AAAA,IACpB,eAAeC;AAAA,IACf,qBAAqBC;AAAA,IACrB,yBAAyBC;AAAA,IACzB,GAAGC;AAAA,EAAA,IACDf,GAEEgB,IAAe7E,EAAQ2D,CAAI,IAAIA,IAAO,CAAA,GACtCmB,IAAyB9E,EAAQ2D,CAAI,KAAKA,EAAK,WAAW,GAE1DoB,IACJvB,MAFuCC,KAAuBH,IAG1D0B,IAAyBvB,KAAuBF,GAChD0B,IAA0BxB,IAC5B;AAAA,IACE,GAAIU,KAA+B,CAAA;AAAA,IACnC,kBAAkB;AAAA,MAChB,QAAQ;AAAA,MACR,MAAMlC;AAAA,MACN,SAASA;AAAA,MACT,SAASA;AAAA,MACT,IAAIkC,KAAA,gBAAAA,EAA8B,sBAAqB,CAAA;AAAA,IAAC;AAAA,EAC1D,IAEFA,GAEEe,IAAeC;AAAAA,IACnB,EAAE,GAAIpB,KAAoB,GAAC;AAAA,IAC3B;AAAA,MACE,SAASN,IAAsB,YAAY;AAAA,MAC3C,mBAAmB;AAAA,MACnB,kBAAkB,CAACA;AAAA,MACnB,eAAe;AAAA,QACb,MAAM,CAAC,kBAAkB,gBAAgB;AAAA,QACzC,OAAO,CAAC,iBAAiB;AAAA,MAAA;AAAA,MAE3B,YAAY;AAAA,QACV,UAAU;AAAA,MAAA;AAAA,MAEZ,wBAAwB;AAAA,IAAA;AAAA,EAC1B,GAGI2B,IAAiBD;AAAAA,IACrB;AAAA,MACE,GAAGP;AAAA,MACH,yBAAAK;AAAA,MACA,cAAAC;AAAA,IAAA;AAAA,IAEF;AAAA,MACE,yBAAAD;AAAA,MACA,cAAAC;AAAA,MACA,YAAYzB,IAAsB,aAAa;AAAA,MAC/C,kBAAkBA,IAAsB,KAAQ;AAAA,MAChD,qBAAqBA,IAAsB,KAAQ;AAAA,MACnD,kBAAkBA,IAAsB,KAAQ;AAAA,MAChD,qBAAqBA,IAAsB,KAAQ;AAAA,MACnD,sBAAsBA,IAAsB,KAAQ;AAAA,MACpD,qBAAqBA,IAAsB,KAAQ;AAAA,MACnD,sBAAsB,CAAAA;AAAA,MACtB,qBAAqBA,IAAsB,KAAQ;AAAA,MACnD,wBAAwB;AAAA,MACxB,oBAAoBA,IAAsB,KAAQ;AAAA,MAClD,gBAAgB,CAAAA;AAAA,MAChB,cAAcA,IAAsB,KAAQ;AAAA,MAC5C,qBAAqB,CAAAA;AAAA,MACrB,qBAAqB,CAAAA;AAAA,MACrB,yBAAyBA,IAAsB,KAAO;AAAA,MACtD,kBAAkB,CAAAA;AAAA,MAClB,oBAAoB;AAAA,MACpB,mBAAmBA,IAAsB,KAAQ;AAAA,MACjD,mBAAmBA,IAAsB,KAAQ;AAAA,MACjD,iBAAiBA,IAAsB,KAAQ;AAAA,MAC/C,oBAAoB;AAAA,MACpB,8BAA8BA,IAAsB,KAAQ;AAAA,MAC5D,UAAUA,IACN,CAAChB,MAAe,OAAQA,EAAwC,EAAE,IAClE;AAAA,MACJ,uBAAuB;AAAA,MACvB,4BAA4B;AAAA,MAC5B,oBAAoB;AAAA,QAClB,OAAO;AAAA,QACP,oBAAoB,CAAC,IAAI,IAAI,EAAE;AAAA,QAC/B,OAAO;AAAA,QACP,SAAS;AAAA,QACT,iBAAiB;AAAA,MAAA;AAAA,MAEnB,yBAAyB;AAAA,QACvB,aAAa;AAAA,QACb,IAAI,EAAE,UAAU,QAAA;AAAA,QAChB,SAAS;AAAA,QACT,MAAM;AAAA,MAAA;AAAA,MAER,yBAAyB;AAAA,QACvB,SAAS;AAAA,QACT,MAAM;AAAA,QACN,IAAI;AAAA,UACF,wBAAwB;AAAA,YACtB,SAAS;AAAA,YACT,QAAQ;AAAA,YACR,WAAW;AAAA,UAAA;AAAA,QACb;AAAA,MACF;AAAA,MAEF,UAAU,gBAAA7C,EAAA,CAACK,OAAkB;AAAA,QAC3B,qBAAqBA,EAAM,QAAQ,WAAW;AAAA,QAC9C,qBAAqBA,EAAM,QAAQ,WAAW;AAAA,QAC9C,0BAA0BA,EAAM,QAAQ,WAAW;AAAA,QACnD,6BAA6BA,EAAM,QAAQ,WAAW;AAAA,MAAA,IAJ9C;AAAA,MAMV,kBAAkB,gBAAAL,EAAA,CAACyF,MACjB,gBAAAnE,EAACoE,IAAA,EAAuB,GAAGD,EAAA,CAAc,GADzB;AAAA,IACyB;AAAA,EAE7C,GAGIE,IAAgCH,EAAe,wBAAwB,IACvEI,IAAqBC,GAAS7B,CAAU,IAAIA,IAAaiB,EAAa,QAEtEa,IAA0B,gBAAA9F,EAAA,CAAC8C,MAC1B6C,IAID,OAAOb,KAA4B,aAC9BA,EAAwB,EAAE,OAAAhC,GAAO,IAGnCgC,KAA2B,gBAAAxD,EAACyE,IAAA,EAAkB,OAAOjD,EAAAA,CAAO,IAP1D,MAFqB,4BAY1BA,IAAQkD,GAA6B;AAAA,IACzC,GAAGR;AAAA,IACH,SAAA1B;AAAA,IACA,MAAMmB;AAAA,IACN,qBAAqBrB,IAAmB,KAAO4B,EAAe;AAAA,IAC9D,OAAO;AAAA,MACL,GAAGpE;AAAA,MACH,GAAIyC,IAAsB/B,KAAqB,CAAA;AAAA,MAC/C,GAAIoC,KAAa,CAAA;AAAA,IAAC;AAAA,IAEpB,uBAAuB,gBAAAlE,EAAA,CAACU,MACtBS;AAAA,MACET;AAAA,MACAqB;AAAA,MACAqC;AAAA,IAAA,GAJmB;AAAA,IAMvB,2BAA2B,gBAAApE,EAAA,CAACU,MAC1BS;AAAA,MACET;AAAA,MACA+B;AAAA,MACAoB,IAAsBnB,IAA8B;AAAA,MACpD2B;AAAA,IAAA,GALuB;AAAA,IAO3B,wBAAwB,gBAAArE,EAAA,CAACU,MACvBS;AAAA,MACET;AAAA,MACA+B;AAAA,MACAoB,IAAsBnB,IAA8B;AAAA,MACpD4B;AAAA,IAAA,GALoB;AAAA,IAOxB,uBAAuB,gBAAAtE,EAAA,CAACU,MACtBS;AAAA,MACET;AAAA,MACAmD,IAAsBP,KAA2B;AAAA,MACjDkB;AAAA,IAAA,GAJmB;AAAA,IAMvB,sBAAsB,gBAAAxE,EAAA,CAACU,MACrBS;AAAA,MACET;AAAA,MACAkC;AAAA,MACA6B;AAAA,IAAA,GAJkB;AAAA,IAMtB,wBAAwB,gBAAAzE,EAAA,CAACU,MACvBS;AAAA,MACET;AAAA,MACA0B;AAAA,MACAyB,IAAsBtB,KAAyB;AAAA,MAC/CmC;AAAA,MACAS,IACIhD,KACA;AAAA,IAAA,GARgB;AAAA,IAUxB,sBAAsB,gBAAAnC,EAAA,CAACU,MACrBS;AAAA,MACET;AAAA,MACAmD,IAAsBrB,KAAuB;AAAA,MAC7CyB,EAAK;AAAA,IAAA,GAJa;AAAA,IAMtB,uBAAuB,gBAAAjE,EAAA,CAACU,MACtBS;AAAA,MACET;AAAA,MACAsC;AAAA,MACAa,IAAsBX,KAA2B;AAAA,MACjDyB;AAAA,IAAA,GALmB;AAAA,IAOvB,oBAAoB,gBAAA3E,EAAA,CAACU,MACnBS;AAAA,MACET;AAAA,MACAsB;AAAA,MACA6B,IAAsB5B,KAAqB;AAAA,MAC3C2C;AAAA,MACAO,IACIjD,KACA;AAAA,IAAA,GARY;AAAA,IAUpB,eAAe,gBAAAlC,EAAA,CAACU,MACdS;AAAA,MACET;AAAA,MACAmD,IAAsBlB,KAAqB;AAAA,MAC3CkC;AAAA,IAAA,GAJW;AAAA,IAMf,qBAAqBjB,IACjB,CAAC,EAAE,OAAAd,EAAAA,MACD,gBAAAmD,EAAAC,GAAA,EACG,UAAA;AAAA,MAAAJ,EAAwBhD,CAAK;AAAA,MAC9B,gBAAAxB,EAAC6E,IAAA,EAAmB,YAAYP,EAAA,CAAoB;AAAA,IAAA,EAAA,CACtD,IAEFd;AAAA,IACJ,yBAAyBM,IACrB,MAAM,gBAAA9D,EAAA4E,GAAA,CAAA,CAAE,IACRnB;AAAA,EAAA,CACL;AAED,SACE,gBAAAkB,EAAAC,GAAA,EACG,UAAA;AAAA,IAAArC,KAAuB,gBAAAvC,EAAC8E,IAAA,EAAa,QAAQvG,GAAA,CAAwB;AAAA,IACtE,gBAAAyB,EAAC+E,KAAmB,OAAAvD,GAAc;AAAA,IACjCsC,KACC,gBAAA9D;AAAA,MAACgF;AAAA,MAAA;AAAA,QACC,SAASpB;AAAA,QACT,SAAS1B,EAAE,uBAAuB;AAAA,QAClC,OAAAV;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,GAEJ;AAEJ;AAtQS9C,EAAAuD,IAAA;AAwQT,MAAMgD,KAAmB,gBAAAvG,EAAA,CACvBqB,MAEO,WAAWA,KAASA,EAAM,UAAU,QAHpB,qBAUnBmF,KAAc,gBAAAxG,EAAA,CAA4BqB,MAAmC;AACjF,QAAMoF,IAAkBC,GAAA;AAExB,SAAIH,GAAiBlF,CAAK,IACjB,gBAAAC,EAAC+E,GAAA,EAAmB,OAAOhF,EAAM,MAAA,CAAO,IAI/C,gBAAAC;AAAA,IAACiC;AAAA,IAAA;AAAA,MACE,GAAGlC;AAAA,MACJ,cACEA,EAAM,iBAAiBoF,EAAgB,OAAO,OAAOE,KAAsB;AAAA,IAAA;AAAA,EAAA;AAInF,GAfoB;"}
|
|
1
|
+
{"version":3,"file":"OwpMrtTable.js","sources":["../../../src/components/OwpMrtTable/OwpMrtTable.tsx"],"sourcesContent":["import ArrowDropDownRoundedIcon from '@mui/icons-material/ArrowDropDownRounded';\nimport UnfoldMoreRoundedIcon from '@mui/icons-material/UnfoldMoreRounded';\nimport GlobalStyles from '@mui/material/GlobalStyles';\nimport { OwpSvgIcon } from '@/components/OwpSvgIcon';\nimport { useGetCurrentLanguage } from '@/hooks/useCurrentLanguage';\nimport { useOwpTranslation } from '@/hooks/useOwpTranslation';\nimport type {\n BoxProps,\n CheckboxProps,\n PaperProps,\n RadioProps,\n SvgIconProps,\n TableCellProps,\n TableContainerProps,\n TableProps,\n TableRowProps,\n} from '@mui/material';\nimport clsx from 'clsx';\nimport type { Theme } from '@mui/material/styles';\nimport { defaults as defaultsFC, isArray, isNumber } from 'es-toolkit/compat';\nimport {\n MaterialReactTable,\n type MaterialReactTableProps,\n MRT_BottomToolbar,\n type MRT_Cell,\n type MRT_Column,\n type MRT_Icons,\n type MRT_Row,\n type MRT_RowData,\n type MRT_TableInstance,\n useMaterialReactTable,\n} from 'material-react-table';\nimport { MRT_Localization_KO } from 'material-react-table/locales/ko';\nimport { OwpTableTotalCount } from '../OwpTable/OwpTable';\nimport { OwpMrtTableNoDataOverlay } from './internal/OwpMrtTableNoDataOverlay';\nimport OwpMrtTableTopToolbar from './internal/OwpMrtTableTopToolbar';\n\ntype PropsWithSx = {\n className?: string;\n sx?: unknown;\n};\n\ntype HeadCellArgs<TData extends MRT_RowData> = {\n column: MRT_Column<TData>;\n table: MRT_TableInstance<TData>;\n};\n\ntype BodyCellArgs<TData extends MRT_RowData> = {\n cell: MRT_Cell<TData>;\n column: MRT_Column<TData>;\n row: MRT_Row<TData>;\n table: MRT_TableInstance<TData>;\n};\n\ntype BodyRowArgs<TData extends MRT_RowData> = {\n isDetailPanel?: boolean;\n row: MRT_Row<TData>;\n staticRowIndex: number;\n table: MRT_TableInstance<TData>;\n};\n\ntype TableInstanceArgs<TData extends MRT_RowData> = {\n table: MRT_TableInstance<TData>;\n};\n\ntype SelectAllCheckboxArgs<TData extends MRT_RowData> = {\n table: MRT_TableInstance<TData>;\n};\n\ntype SelectCheckboxArgs<TData extends MRT_RowData> = {\n row: MRT_Row<TData>;\n staticRowIndex?: number;\n table: MRT_TableInstance<TData>;\n};\n\nexport type OwpMrtTableHeaderCellStyle = {\n backgroundColor?: string;\n color?: string;\n fontSize?: number | string;\n fontWeight?: number | string;\n height?: number | string;\n};\n\ntype DataTableProps<TData extends MRT_RowData> = MaterialReactTableProps<TData> & {\n canHideTotalCountFooterBorder?: boolean;\n canUseNoDataOverlay?: boolean;\n canUseTableRadius?: boolean;\n canTotalCountRow?: boolean;\n canUseTreeGridStyle?: boolean;\n headerCellStyle?: OwpMrtTableHeaderCellStyle;\n totalCount?: number;\n};\n\nexport type OwpMrtTableProps<TData extends MRT_RowData> = DataTableProps<TData>;\n\nconst treeGridHeaderBackgroundColor = '#586980';\nconst treeGridSortIconColor = '#cbd5e1';\n\nconst treeGridFontFaceStyles = {\n '@font-face': {\n fontFamily: 'RobotoLight',\n fontStyle: 'normal',\n fontWeight: 'normal',\n src: \"url('/assets/vendors/Grid/Styles/Roboto-Light.ttf') format('truetype')\",\n },\n} as const;\n\nconst treeGridHeaderTextSx = {\n color: '#ffffff',\n fontFamily: 'RobotoLight, sans-serif',\n fontSize: '14px',\n fontWeight: 'normal',\n lineHeight: '16px',\n} as const;\n\nconst getHeaderCellTextStyleSx = (headerCellStyle?: OwpMrtTableHeaderCellStyle) => ({\n color: headerCellStyle?.color,\n fontSize: headerCellStyle?.fontSize,\n fontWeight: headerCellStyle?.fontWeight,\n});\n\nconst getHeaderCellHeightStyleSx = (headerCellStyle?: OwpMrtTableHeaderCellStyle) =>\n headerCellStyle?.height\n ? {\n height: headerCellStyle.height,\n minHeight: headerCellStyle.height,\n }\n : undefined;\n\nconst getHeaderCellBackgroundColor = (headerCellStyle?: OwpMrtTableHeaderCellStyle) =>\n headerCellStyle?.backgroundColor\n ? `${headerCellStyle.backgroundColor} !important`\n : undefined;\n\nconst getHeaderCellOverrideSx = (headerCellStyle?: OwpMrtTableHeaderCellStyle) => {\n const backgroundColor = getHeaderCellBackgroundColor(headerCellStyle);\n const textStyleSx = getHeaderCellTextStyleSx(headerCellStyle);\n const heightStyleSx = getHeaderCellHeightStyleSx(headerCellStyle);\n const contentMinHeight = headerCellStyle?.height ? '100%' : undefined;\n\n return {\n ...textStyleSx,\n ...heightStyleSx,\n backgroundColor,\n '& .Mui-TableHeadCell-Content': {\n ...textStyleSx,\n ...heightStyleSx,\n alignItems: 'center',\n backgroundColor,\n display: 'flex',\n },\n '& .Mui-TableHeadCell-Content-Labels': {\n alignItems: 'center',\n backgroundColor,\n display: 'flex',\n height: headerCellStyle?.height ? '100%' : undefined,\n },\n '& .Mui-TableHeadCell-Content-Wrapper': {\n ...textStyleSx,\n alignItems: 'center',\n backgroundColor,\n display: 'flex',\n minHeight: contentMinHeight,\n },\n '& .MuiTableSortLabel-root': {\n color: headerCellStyle?.color,\n },\n '& .MuiTableSortLabel-root:hover': {\n color: headerCellStyle?.color,\n },\n '& .MuiTableSortLabel-root.Mui-active': {\n color: headerCellStyle?.color,\n },\n '& .MuiTableSortLabel-icon': {\n color: headerCellStyle?.color ? `${headerCellStyle.color} !important` : undefined,\n },\n };\n};\n\nconst mergeSxValues = (...styles: Array<unknown>): unknown => {\n const mergedStyles = styles.flatMap((style) => {\n if (!style) {\n return [];\n }\n\n return isArray(style) ? style : [style];\n });\n\n if (mergedStyles.length === 0) {\n return undefined;\n }\n\n return (theme: Theme) =>\n mergedStyles.reduce<Record<string, unknown>>((acc, style) => {\n const resolvedStyle =\n typeof style === 'function' ? (style as (theme: Theme) => unknown)(theme) : style;\n\n if (!resolvedStyle || isArray(resolvedStyle)) {\n return acc;\n }\n\n return {\n ...acc,\n ...(resolvedStyle as Record<string, unknown>),\n };\n }, {});\n};\n\nconst resolvePropValue = <TArgs, TProps>(\n prop: ((args: TArgs) => TProps) | TProps | undefined,\n args: TArgs,\n): TProps | undefined => {\n if (typeof prop === 'function') {\n return (prop as (args: TArgs) => TProps)(args);\n }\n\n return prop;\n};\n\nconst mergeComponentProps = <TProps extends PropsWithSx>(\n ...propsList: Array<TProps | undefined>\n): TProps => {\n const resolvedProps = propsList.filter(Boolean) as TProps[];\n const mergedProps = resolvedProps.reduce((acc, currentProps) => {\n return {\n ...acc,\n ...currentProps,\n };\n }, {} as TProps);\n\n const className = clsx(resolvedProps.map((currentProps) => currentProps.className));\n const sx = mergeSxValues(...resolvedProps.map((currentProps) => currentProps.sx));\n\n if (className) {\n mergedProps.className = className as TProps['className'];\n }\n\n if (sx) {\n mergedProps.sx = sx as TProps['sx'];\n }\n\n return mergedProps;\n};\n\nconst mergeResolvedProps = <TArgs, TProps extends PropsWithSx>(\n args: TArgs,\n ...propsList: Array<((args: TArgs) => TProps) | TProps | undefined>\n): TProps => {\n return mergeComponentProps(\n ...propsList.map((currentProps) => resolvePropValue<TArgs, TProps>(currentProps, args)),\n );\n};\n\nconst defaultTableIcons: Partial<MRT_Icons> = {\n ArrowDownwardIcon: (props) => (\n <OwpSvgIcon size={20} {...props}>\n heroicons-outline:arrow-down-circle\n </OwpSvgIcon>\n ),\n ClearAllIcon: () => <OwpSvgIcon size={20}>heroicons-outline:adjustments-horizontal</OwpSvgIcon>,\n DensityLargeIcon: () => <OwpSvgIcon size={20}>heroicons-outline:bars-3-bottom-left</OwpSvgIcon>,\n DensityMediumIcon: () => <OwpSvgIcon size={20}>heroicons-outline:bars-3</OwpSvgIcon>,\n DensitySmallIcon: () => <OwpSvgIcon size={20}>heroicons-outline:bars-2</OwpSvgIcon>,\n DragHandleIcon: () => (\n <OwpSvgIcon className=\"rotate-45\" size={14}>\n heroicons-outline:arrows-pointing-out\n </OwpSvgIcon>\n ),\n FilterListIcon: (props) => (\n <OwpSvgIcon size={16} {...props}>\n heroicons-outline:funnel\n </OwpSvgIcon>\n ),\n FilterListOffIcon: () => <OwpSvgIcon size={20}>heroicons-outline:funnel</OwpSvgIcon>,\n FullscreenExitIcon: () => <OwpSvgIcon size={20}>heroicons-outline:arrows-pointing-in</OwpSvgIcon>,\n FullscreenIcon: () => <OwpSvgIcon size={20}>heroicons-outline:arrows-pointing-out</OwpSvgIcon>,\n SearchIcon: (props) => (\n <OwpSvgIcon color=\"action\" size={20} {...props}>\n heroicons-outline:magnifying-glass\n </OwpSvgIcon>\n ),\n SearchOffIcon: () => <OwpSvgIcon size={20}>heroicons-outline:magnifying-glass</OwpSvgIcon>,\n ViewColumnIcon: () => <OwpSvgIcon size={20}>heroicons-outline:view-columns</OwpSvgIcon>,\n MoreVertIcon: () => <OwpSvgIcon size={20}>heroicons-outline:ellipsis-vertical</OwpSvgIcon>,\n MoreHorizIcon: () => <OwpSvgIcon size={20}>heroicons-outline:ellipsis-horizontal</OwpSvgIcon>,\n SortIcon: (props) => (\n <OwpSvgIcon size={20} {...props}>\n heroicons-outline:arrows-up-down\n </OwpSvgIcon>\n ),\n PushPinIcon: (props) => (\n <OwpSvgIcon size={20} {...props}>\n heroicons-outline:bookmark\n </OwpSvgIcon>\n ),\n VisibilityOffIcon: () => <OwpSvgIcon size={20}>heroicons-outline:eye-slash</OwpSvgIcon>,\n};\n\nconst TreeGridArrowDownwardIcon = (props: SvgIconProps) => {\n return <ArrowDropDownRoundedIcon fontSize=\"small\" {...props} />;\n};\n\nconst TreeGridSyncAltIcon = (props: SvgIconProps & { direction?: string }) => {\n const { direction, ...iconProps } = props;\n\n void direction;\n\n return <UnfoldMoreRoundedIcon fontSize=\"small\" {...iconProps} />;\n};\n\nconst treeGridTableIcons: Partial<MRT_Icons> = {\n ArrowDownwardIcon: TreeGridArrowDownwardIcon,\n SyncAltIcon: TreeGridSyncAltIcon,\n};\n\nconst defaultBottomToolbarProps: BoxProps = {\n className: 'flex items-center min-h-56 h-56',\n};\n\nconst defaultPaperProps: PaperProps = {\n elevation: 0,\n square: true,\n className: 'flex flex-col flex-auto h-full',\n};\n\nconst treeGridPaperProps: PaperProps = {\n sx: {\n display: 'flex',\n height: '100%',\n flexDirection: 'column',\n border: '1px solid',\n borderColor: 'divider',\n borderRadius: 0,\n boxShadow: 'none',\n },\n};\n\nconst totalCountFooterBorderlessPaperProps: PaperProps = {\n sx: {\n border: 0,\n },\n};\n\nconst totalCountFooterBorderlessContainerProps: TableContainerProps = {\n sx: {\n borderTop: '1px solid',\n borderRight: '1px solid',\n borderLeft: '1px solid',\n borderColor: 'divider',\n },\n};\n\nconst defaultContainerProps: TableContainerProps = {\n className: 'flex-auto',\n};\n\nconst tableRadiusPaperProps: PaperProps = {\n square: false,\n sx: {\n borderRadius: 2,\n overflow: 'hidden',\n },\n};\n\nconst tableRadiusContainerProps: TableContainerProps = {\n sx: {\n borderRadius: 'inherit',\n },\n};\n\nconst treeGridSelectColumnWidth = 40;\n\nconst treeGridSelectColumnCellSx = {\n width: treeGridSelectColumnWidth,\n minWidth: treeGridSelectColumnWidth,\n maxWidth: treeGridSelectColumnWidth,\n} as const;\n\nconst treeGridContainerProps: TableContainerProps = {\n sx: {\n flex: 1,\n minHeight: 0,\n overflowX: 'hidden',\n overflowY: 'auto',\n },\n};\n\nconst treeGridHeadRowProps: TableRowProps = {\n sx: {\n backgroundColor: treeGridHeaderBackgroundColor,\n boxShadow: 'none',\n },\n};\n\nconst defaultSelectCheckboxProps: CheckboxProps = {\n className: 'w-48',\n};\n\nconst treeGridSelectCheckboxProps: CheckboxProps = {\n sx: {\n display: 'flex',\n m: 0,\n mx: 'auto',\n },\n};\n\nconst treeGridTableProps: TableProps = {\n sx: {\n borderSpacing: 0,\n width: '100%',\n tableLayout: 'fixed',\n '& .MuiTableHead-root .MuiTableCell-root': {\n ...treeGridHeaderTextSx,\n backgroundColor: treeGridHeaderBackgroundColor,\n borderTop: '1px solid',\n py: 0.75,\n borderRight: '1px solid',\n borderBottom: '1px solid',\n borderColor: 'divider',\n wordBreak: 'keep-all',\n },\n '& .MuiTableHead-root .MuiTableRow-root:first-of-type .MuiTableCell-root:first-of-type': {\n borderLeft: '1px solid',\n borderColor: 'divider',\n },\n '& .MuiTableHead-root .MuiTableRow-root:first-of-type .MuiTableCell-root:last-of-type': {\n borderRight: '1px solid',\n borderColor: 'divider',\n },\n '& .MuiTableHead-root .MuiIconButton-root': {\n display: 'none',\n },\n '& .MuiTableBody-root .MuiTableCell-root': {\n p: 0,\n verticalAlign: 'middle',\n borderRight: '1px solid',\n borderBottom: '1px solid',\n borderColor: 'divider',\n overflowWrap: 'anywhere',\n },\n '& .MuiTableBody-root .MuiTableCell-root:last-of-type': {\n borderRight: 'none',\n },\n },\n};\n\nconst treeGridTableRadiusProps: TableProps = {\n sx: {\n '& .MuiTableHead-root .MuiTableCell-root': {\n borderTop: 'none',\n },\n '& .MuiTableHead-root .MuiTableRow-root .MuiTableCell-root + .MuiTableCell-root': {\n borderLeft: '1px solid',\n borderLeftColor: 'divider',\n },\n '& .MuiTableHead-root .MuiTableRow-root:first-of-type .MuiTableCell-root:first-of-type': {\n borderLeft: 'none',\n },\n '& .MuiTableHead-root .MuiTableRow-root:first-of-type .MuiTableCell-root:last-of-type': {\n borderRight: 'none',\n },\n },\n};\n\nconst treeGridTableRadiusBottomEdgeProps: TableProps = {\n sx: {\n '& .MuiTableBody-root .MuiTableRow-root:last-of-type .MuiTableCell-root': {\n borderBottom: 'none',\n },\n },\n};\n\nconst getDefaultBodyRowProps = <TData extends MRT_RowData>({\n row,\n table,\n}: BodyRowArgs<TData>): TableRowProps => {\n const { density } = table.getState();\n\n if (density === 'compact') {\n return {\n sx: {\n backgroundColor: 'initial',\n opacity: 1,\n boxShadow: 'none',\n height: row.getIsPinned() ? `${37}px` : undefined,\n },\n };\n }\n\n return {\n sx: {\n backgroundColor: 'initial',\n opacity: 1,\n boxShadow: 'none',\n height: row.getIsPinned() ? `${density === 'comfortable' ? 53 : 69}px` : undefined,\n },\n };\n};\n\nconst getDefaultHeadCellProps = <TData extends MRT_RowData>({\n column,\n table,\n}: HeadCellArgs<TData>): TableCellProps => {\n const { headerCellStyle } = table.options as DataTableProps<TData>;\n const headerCellBackgroundColor = getHeaderCellBackgroundColor(headerCellStyle);\n\n return {\n sx: {\n '& .Mui-TableHeadCell-Content-Labels': {\n flex: 1,\n justifyContent: 'space-between',\n },\n '& .Mui-TableHeadCell-Content-Actions': {\n '& > button': {\n marginX: '2px',\n },\n },\n '& .MuiFormHelperText-root': {\n textAlign: 'center',\n marginX: 0,\n color: (theme: Theme) => theme.palette.text.disabled,\n fontSize: 11,\n },\n ...getHeaderCellOverrideSx(headerCellStyle),\n backgroundColor: (theme) =>\n headerCellBackgroundColor ??\n (column.getIsPinned() ? theme.palette.background.paper : 'inherit'),\n },\n };\n};\n\nconst getTreeGridHeadCellProps = <TData extends MRT_RowData>({\n column,\n table,\n}: HeadCellArgs<TData>): TableCellProps => {\n const { headerCellStyle } = table.options as DataTableProps<TData>;\n const isSelectColumn = column.id === 'mrt-row-select';\n const resolvedHeaderTextSx = {\n ...treeGridHeaderTextSx,\n color: headerCellStyle?.color ?? treeGridHeaderTextSx.color,\n fontSize: headerCellStyle?.fontSize ?? treeGridHeaderTextSx.fontSize,\n fontWeight: headerCellStyle?.fontWeight ?? treeGridHeaderTextSx.fontWeight,\n };\n const resolvedSortIconColor = headerCellStyle?.color ?? treeGridSortIconColor;\n const headerHeightStyleSx = getHeaderCellHeightStyleSx(headerCellStyle);\n const contentMinHeight = headerCellStyle?.height ? '100%' : undefined;\n\n return {\n align: 'center',\n sx: {\n ...(isSelectColumn ? treeGridSelectColumnCellSx : {}),\n ...resolvedHeaderTextSx,\n ...getHeaderCellOverrideSx(headerCellStyle),\n backgroundColor: getHeaderCellBackgroundColor(headerCellStyle) ?? treeGridHeaderBackgroundColor,\n '& .Mui-TableHeadCell-Content': {\n ...resolvedHeaderTextSx,\n ...headerHeightStyleSx,\n alignItems: 'center',\n backgroundColor: 'inherit',\n display: 'flex',\n justifyContent: 'center',\n position: 'relative',\n width: '100%',\n },\n '& .Mui-TableHeadCell-Content-Labels': {\n alignItems: 'center',\n backgroundColor: 'inherit',\n display: 'flex',\n flex: 1,\n justifyContent: 'center',\n maxWidth: '100%',\n minWidth: 0,\n overflow: 'hidden',\n position: 'relative',\n pl: 0,\n pr: isSelectColumn ? 0 : '24px',\n height: headerCellStyle?.height ? '100%' : undefined,\n width: '100%',\n },\n '& .Mui-TableHeadCell-Content-Wrapper': {\n ...resolvedHeaderTextSx,\n alignItems: 'center',\n backgroundColor: 'inherit',\n display: 'flex',\n minHeight: contentMinHeight,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n },\n '&& .MuiBadge-root': isSelectColumn\n ? undefined\n : {\n alignItems: 'center',\n display: 'inline-flex',\n justifyContent: 'center',\n position: 'absolute',\n pointerEvents: 'none',\n right: '6px',\n top: '50%',\n transform: 'translateY(-50%)',\n width: '16px',\n },\n '&& .MuiTableSortLabel-root': {\n alignItems: 'center',\n color: resolvedSortIconColor,\n display: 'inline-flex',\n justifyContent: 'center',\n minWidth: '16px',\n opacity: '1 !important',\n overflow: 'visible',\n width: '16px',\n },\n '&& .MuiTableSortLabel-root:hover': {\n color: resolvedSortIconColor,\n },\n '&& .MuiTableSortLabel-root.Mui-active': {\n color: resolvedSortIconColor,\n },\n '&& .MuiTableSortLabel-icon': {\n color: `${resolvedSortIconColor} !important`,\n display: 'block',\n fontSize: '18px',\n margin: 0,\n opacity: '1 !important',\n overflow: 'visible',\n },\n '& .MuiButtonBase-root': isSelectColumn\n ? {\n display: 'flex',\n margin: '0 auto',\n }\n : undefined,\n },\n };\n};\n\nconst getTreeGridBodyCellProps = <TData extends MRT_RowData>({\n column,\n}: BodyCellArgs<TData>): TableCellProps => {\n if (column.id !== 'mrt-row-select') {\n return {};\n }\n\n return {\n align: 'center',\n sx: {\n ...treeGridSelectColumnCellSx,\n '& > .MuiButtonBase-root, & .MuiButtonBase-root': {\n display: 'flex',\n margin: '0 auto',\n },\n },\n };\n};\n\nconst tableBodyTabNavigableFieldSelector = [\n 'tbody td input:not([type=\"hidden\"])',\n 'tbody td textarea',\n 'tbody td [contenteditable=\"true\"]',\n 'tbody td [role=\"combobox\"]',\n].join(', ');\n\ntype TableBodyCellKeyDownCaptureEvent = Parameters<\n NonNullable<TableCellProps['onKeyDownCapture']>\n>[0];\n\n/**\n * 테이블 본문 입력 가능 필드 여부 판별\n * @param element 포커스 후보 요소\n */\nconst isTabNavigableTableBodyField = (element: HTMLElement) => {\n if (element.tabIndex < 0) {\n return false;\n }\n\n if (element.getAttribute('aria-disabled') === 'true') {\n return false;\n }\n\n if (element.getAttribute('aria-readonly') === 'true') {\n return false;\n }\n\n if (element instanceof HTMLInputElement || element instanceof HTMLTextAreaElement) {\n if (element.disabled || element.readOnly) {\n return false;\n }\n }\n\n if (element instanceof HTMLSelectElement && element.disabled) {\n return false;\n }\n\n if (element instanceof HTMLInputElement) {\n if (\n ['button', 'checkbox', 'file', 'hidden', 'radio', 'reset', 'submit'].includes(element.type)\n ) {\n return false;\n }\n }\n\n return element.getClientRects().length > 0;\n};\n\n/**\n * 테이블 본문 기준 현재 포커스 입력 필드 조회\n * @param target 키 이벤트 target\n */\nconst getCurrentTableBodyField = (target: EventTarget | null) => {\n if (!(target instanceof Element)) {\n return null;\n }\n\n const currentField = target.matches(tableBodyTabNavigableFieldSelector)\n ? target\n : target.closest(tableBodyTabNavigableFieldSelector);\n\n return currentField instanceof HTMLElement && isTabNavigableTableBodyField(currentField)\n ? currentField\n : null;\n};\n\n/**\n * 테이블 본문 입력 필드 Tab 이동 처리\n * @param event body cell keydown capture event\n */\nconst handleTableBodyFieldTabNavigation = (event: TableBodyCellKeyDownCaptureEvent) => {\n if (event.key !== 'Tab' || event.altKey || event.ctrlKey || event.metaKey) {\n return;\n }\n\n const currentField = getCurrentTableBodyField(event.target);\n\n if (!currentField) {\n return;\n }\n\n const tableElement = currentField.closest('table');\n\n if (!tableElement) {\n return;\n }\n\n const fields = Array.from(\n tableElement.querySelectorAll<HTMLElement>(tableBodyTabNavigableFieldSelector),\n ).filter(isTabNavigableTableBodyField);\n\n const currentIndex = fields.indexOf(currentField);\n\n if (currentIndex < 0) {\n return;\n }\n\n const nextField = fields[currentIndex + (event.shiftKey ? -1 : 1)];\n\n if (!nextField) {\n return;\n }\n\n event.preventDefault();\n\n queueMicrotask(() => {\n if (document.contains(nextField)) {\n nextField.focus();\n }\n });\n};\n\n/**\n * MRT 기반 공통 테이블 렌더 함수\n * @param props Material React Table props\n */\nfunction DataTable<TData extends MRT_RowData>(props: DataTableProps<TData>) {\n const { t } = useOwpTranslation();\n const {\n canHideTotalCountFooterBorder = false,\n canUseNoDataOverlay = false,\n canUseTableRadius = false,\n canTotalCountRow = true,\n canUseTreeGridStyle = true,\n columns,\n data,\n totalCount,\n ...rest\n } = props;\n\n const {\n icons: restIcons,\n initialState: restInitialState,\n muiBottomToolbarProps: restBottomToolbarProps,\n muiSelectAllCheckboxProps: restSelectAllCheckboxProps,\n muiSelectCheckboxProps: restSelectCheckboxProps,\n displayColumnDefOptions: restDisplayColumnDefOptions,\n muiTableBodyCellProps: restTableBodyCellProps,\n muiTableBodyRowProps: restTableBodyRowProps,\n muiTableContainerProps: restTableContainerProps,\n muiTableHeadCellProps: restTableHeadCellProps,\n muiTableHeadRowProps: restTableHeadRowProps,\n muiTablePaperProps: restTablePaperProps,\n muiTableProps: restTableProps,\n renderBottomToolbar: restRenderBottomToolbar,\n renderEmptyRowsFallback: restRenderEmptyRowsFallback,\n ...restOptions\n } = rest;\n\n const resolvedData = isArray(data) ? data : [];\n const isNoDataOverlayVisible = isArray(data) && data.length === 0;\n const shouldHideTotalCountFooterBorder = canUseTreeGridStyle || canHideTotalCountFooterBorder;\n const shouldApplyTotalCountFooterBorderlessLayout =\n canTotalCountRow && shouldHideTotalCountFooterBorder;\n const shouldUseNoDataOverlay = canUseTreeGridStyle || canUseNoDataOverlay;\n const shouldUseRadiusOuterBorder = canUseTreeGridStyle && canUseTableRadius;\n const displayColumnDefOptions = canUseTreeGridStyle\n ? {\n ...(restDisplayColumnDefOptions ?? {}),\n 'mrt-row-select': {\n header: '',\n size: treeGridSelectColumnWidth,\n minSize: treeGridSelectColumnWidth,\n maxSize: treeGridSelectColumnWidth,\n ...(restDisplayColumnDefOptions?.['mrt-row-select'] ?? {}),\n },\n }\n : restDisplayColumnDefOptions;\n\n const initialState = defaultsFC(\n { ...(restInitialState ?? {}) },\n {\n density: canUseTreeGridStyle ? 'compact' : 'spacious',\n showColumnFilters: false,\n showGlobalFilter: !canUseTreeGridStyle,\n columnPinning: {\n left: ['mrt-row-expand', 'mrt-row-select'],\n right: ['mrt-row-actions'],\n },\n pagination: {\n pageSize: 15,\n },\n enableFullScreenToggle: false,\n },\n );\n\n const defaultOptions = defaultsFC(\n {\n ...restOptions,\n displayColumnDefOptions,\n initialState,\n },\n {\n displayColumnDefOptions,\n initialState,\n layoutMode: canUseTreeGridStyle ? 'semantic' : undefined,\n enablePagination: canUseTreeGridStyle ? false : undefined,\n enableBottomToolbar: canUseTreeGridStyle ? false : undefined,\n enableTopToolbar: canUseTreeGridStyle ? false : undefined,\n enableColumnActions: canUseTreeGridStyle ? false : undefined,\n enableColumnDragging: canUseTreeGridStyle ? false : undefined,\n enableColumnFilters: canUseTreeGridStyle ? false : undefined,\n enableColumnOrdering: canUseTreeGridStyle ? false : true,\n enableDensityToggle: canUseTreeGridStyle ? false : undefined,\n enableFullScreenToggle: false,\n enableGlobalFilter: canUseTreeGridStyle ? false : undefined,\n enableGrouping: canUseTreeGridStyle ? false : true,\n enableHiding: canUseTreeGridStyle ? false : undefined,\n enableColumnPinning: canUseTreeGridStyle ? false : true,\n enableFacetedValues: canUseTreeGridStyle ? false : true,\n enableMultiRowSelection: canUseTreeGridStyle ? true : undefined,\n enableRowActions: canUseTreeGridStyle ? false : true,\n enableRowSelection: true,\n enableRowDragging: canUseTreeGridStyle ? false : undefined,\n enableRowOrdering: canUseTreeGridStyle ? false : undefined,\n enableSelectAll: canUseTreeGridStyle ? false : undefined,\n enableStickyHeader: true,\n enableToolbarInternalActions: canUseTreeGridStyle ? false : undefined,\n getRowId: canUseTreeGridStyle\n ? (row: TData) => String((row as TData & { id: string | number }).id)\n : undefined,\n paginationDisplayMode: 'pages',\n positionToolbarAlertBanner: 'top',\n muiPaginationProps: {\n color: 'secondary',\n rowsPerPageOptions: [10, 20, 30],\n shape: 'rounded',\n variant: 'outlined',\n showRowsPerPage: false,\n },\n muiSearchTextFieldProps: {\n placeholder: 'Search',\n sx: { minWidth: '300px' },\n variant: 'outlined',\n size: 'small',\n },\n muiFilterTextFieldProps: {\n variant: 'outlined',\n size: 'small',\n sx: {\n '& .MuiInputBase-root': {\n padding: '0px 8px',\n height: '32px!important',\n minHeight: '32px!important',\n },\n },\n },\n mrtTheme: (theme: Theme) => ({\n baseBackgroundColor: theme.palette.background.paper,\n menuBackgroundColor: theme.palette.background.paper,\n pinnedRowBackgroundColor: theme.palette.background.paper,\n pinnedColumnBackgroundColor: theme.palette.background.paper,\n }),\n renderTopToolbar: (toolbarProps: { table: MRT_TableInstance<TData> }) => (\n <OwpMrtTableTopToolbar {...toolbarProps} />\n ),\n } as Partial<DataTableProps<TData>>,\n );\n\n const shouldRenderBaseBottomToolbar = defaultOptions.enableBottomToolbar !== false;\n const resolvedTotalCount = isNumber(totalCount) ? totalCount : resolvedData.length;\n const shouldHideLastBodyRowBorderForRadius =\n shouldUseRadiusOuterBorder && !canTotalCountRow && !shouldRenderBaseBottomToolbar;\n\n const renderBaseBottomToolbar = (table: MRT_TableInstance<TData>) => {\n if (!shouldRenderBaseBottomToolbar) {\n return null;\n }\n\n if (typeof restRenderBottomToolbar === 'function') {\n return restRenderBottomToolbar({ table });\n }\n\n return restRenderBottomToolbar ?? <MRT_BottomToolbar table={table} />;\n };\n\n const getResolvedBodyCellProps = (args: BodyCellArgs<TData>) => {\n const mergedProps = mergeResolvedProps<BodyCellArgs<TData>, TableCellProps>(\n args,\n canUseTreeGridStyle ? getTreeGridBodyCellProps : undefined,\n restTableBodyCellProps,\n );\n const { onKeyDownCapture, ...restMergedProps } = mergedProps;\n\n return {\n ...restMergedProps,\n onKeyDownCapture: (event: TableBodyCellKeyDownCaptureEvent) => {\n onKeyDownCapture?.(event);\n\n if (event.defaultPrevented || event.isPropagationStopped()) {\n return;\n }\n\n handleTableBodyFieldTabNavigation(event);\n },\n } satisfies TableCellProps;\n };\n\n const getResolvedHeadRowProps = () => {\n if (!rest.headerCellStyle?.backgroundColor) {\n return undefined;\n }\n\n return {\n sx: {\n backgroundColor: `${rest.headerCellStyle.backgroundColor} !important`,\n },\n } satisfies TableRowProps;\n };\n\n const table = useMaterialReactTable<TData>({\n ...defaultOptions,\n columns,\n data: resolvedData,\n enableBottomToolbar: canTotalCountRow ? true : defaultOptions.enableBottomToolbar,\n icons: {\n ...defaultTableIcons,\n ...(canUseTreeGridStyle ? treeGridTableIcons : {}),\n ...(restIcons ?? {}),\n },\n muiBottomToolbarProps: (args: TableInstanceArgs<TData>) =>\n mergeResolvedProps<TableInstanceArgs<TData>, BoxProps>(\n args,\n defaultBottomToolbarProps,\n restBottomToolbarProps,\n ),\n muiSelectAllCheckboxProps: (args: SelectAllCheckboxArgs<TData>) =>\n mergeResolvedProps<SelectAllCheckboxArgs<TData>, CheckboxProps>(\n args,\n defaultSelectCheckboxProps,\n canUseTreeGridStyle ? treeGridSelectCheckboxProps : undefined,\n restSelectAllCheckboxProps,\n ),\n muiSelectCheckboxProps: (args: SelectCheckboxArgs<TData>) =>\n mergeResolvedProps<SelectCheckboxArgs<TData>, CheckboxProps | RadioProps>(\n args,\n defaultSelectCheckboxProps,\n canUseTreeGridStyle ? treeGridSelectCheckboxProps : undefined,\n restSelectCheckboxProps,\n ),\n muiTableBodyCellProps: (args: BodyCellArgs<TData>) => getResolvedBodyCellProps(args),\n muiTableBodyRowProps: (args: BodyRowArgs<TData>) =>\n mergeResolvedProps<BodyRowArgs<TData>, TableRowProps>(\n args,\n getDefaultBodyRowProps,\n restTableBodyRowProps,\n ),\n muiTableContainerProps: (args: TableInstanceArgs<TData>) =>\n mergeResolvedProps<TableInstanceArgs<TData>, TableContainerProps>(\n args,\n defaultContainerProps,\n canUseTreeGridStyle ? treeGridContainerProps : undefined,\n canUseTableRadius ? tableRadiusContainerProps : undefined,\n restTableContainerProps,\n shouldApplyTotalCountFooterBorderlessLayout && !shouldUseRadiusOuterBorder\n ? totalCountFooterBorderlessContainerProps\n : undefined,\n ),\n muiTableHeadRowProps: (args) =>\n mergeResolvedProps(\n args,\n canUseTreeGridStyle ? treeGridHeadRowProps : undefined,\n getResolvedHeadRowProps(),\n restTableHeadRowProps,\n ),\n muiTableHeadCellProps: (args: HeadCellArgs<TData>) =>\n mergeResolvedProps<HeadCellArgs<TData>, TableCellProps>(\n args,\n getDefaultHeadCellProps,\n canUseTreeGridStyle ? getTreeGridHeadCellProps : undefined,\n restTableHeadCellProps,\n ),\n muiTablePaperProps: (args: TableInstanceArgs<TData>) =>\n mergeResolvedProps<TableInstanceArgs<TData>, PaperProps>(\n args,\n defaultPaperProps,\n canUseTreeGridStyle ? treeGridPaperProps : undefined,\n canUseTableRadius ? tableRadiusPaperProps : undefined,\n restTablePaperProps,\n shouldApplyTotalCountFooterBorderlessLayout && !shouldUseRadiusOuterBorder\n ? totalCountFooterBorderlessPaperProps\n : undefined,\n ),\n muiTableProps: (args: TableInstanceArgs<TData>) =>\n mergeResolvedProps<TableInstanceArgs<TData>, TableProps>(\n args,\n canUseTreeGridStyle ? treeGridTableProps : undefined,\n shouldUseRadiusOuterBorder ? treeGridTableRadiusProps : undefined,\n shouldHideLastBodyRowBorderForRadius ? treeGridTableRadiusBottomEdgeProps : undefined,\n restTableProps,\n ),\n renderBottomToolbar: canTotalCountRow\n ? ({ table }) => (\n <>\n {renderBaseBottomToolbar(table)}\n <OwpTableTotalCount totalCount={resolvedTotalCount} />\n </>\n )\n : restRenderBottomToolbar,\n renderEmptyRowsFallback: shouldUseNoDataOverlay ? () => <></> : restRenderEmptyRowsFallback,\n });\n\n return (\n <>\n {canUseTreeGridStyle && <GlobalStyles styles={treeGridFontFaceStyles} />}\n <MaterialReactTable table={table} />\n {shouldUseNoDataOverlay && (\n <OwpMrtTableNoDataOverlay\n visible={isNoDataOverlayVisible}\n message={t('Message.조회된 결과가 없습니다.')}\n table={table}\n />\n )}\n </>\n );\n}\n\nconst hasTableInstance = <TData extends MRT_RowData>(\n props: OwpMrtTableProps<TData>,\n): props is OwpMrtTableProps<TData> & { table: MRT_TableInstance<TData> } => {\n return 'table' in props && props.table !== undefined;\n};\n\n/**\n * MRT 기반 공통 테이블 컴포넌트\n * @param props 컴포넌트 props\n */\nconst OwpMrtTable = <TData extends MRT_RowData>(props: OwpMrtTableProps<TData>) => {\n const currentLanguage = useGetCurrentLanguage();\n\n if (hasTableInstance(props)) {\n return <MaterialReactTable table={props.table} />;\n }\n\n return (\n <DataTable<TData>\n {...props}\n localization={\n props.localization ?? (currentLanguage.id === 'kr' ? MRT_Localization_KO : undefined)\n }\n />\n );\n};\n\nexport { OwpMrtTable };\n"],"names":["treeGridHeaderBackgroundColor","treeGridSortIconColor","treeGridFontFaceStyles","treeGridHeaderTextSx","getHeaderCellTextStyleSx","__name","headerCellStyle","getHeaderCellHeightStyleSx","getHeaderCellBackgroundColor","getHeaderCellOverrideSx","backgroundColor","textStyleSx","heightStyleSx","contentMinHeight","mergeSxValues","styles","mergedStyles","style","isArray","theme","acc","resolvedStyle","resolvePropValue","prop","args","mergeComponentProps","propsList","resolvedProps","mergedProps","currentProps","className","clsx","sx","mergeResolvedProps","defaultTableIcons","props","jsx","OwpSvgIcon","TreeGridArrowDownwardIcon","ArrowDropDownRoundedIcon","TreeGridSyncAltIcon","direction","iconProps","UnfoldMoreRoundedIcon","treeGridTableIcons","defaultBottomToolbarProps","defaultPaperProps","treeGridPaperProps","totalCountFooterBorderlessPaperProps","totalCountFooterBorderlessContainerProps","defaultContainerProps","tableRadiusPaperProps","tableRadiusContainerProps","treeGridSelectColumnWidth","treeGridSelectColumnCellSx","treeGridContainerProps","treeGridHeadRowProps","defaultSelectCheckboxProps","treeGridSelectCheckboxProps","treeGridTableProps","treeGridTableRadiusProps","treeGridTableRadiusBottomEdgeProps","getDefaultBodyRowProps","row","table","density","getDefaultHeadCellProps","column","headerCellBackgroundColor","getTreeGridHeadCellProps","isSelectColumn","resolvedHeaderTextSx","resolvedSortIconColor","headerHeightStyleSx","getTreeGridBodyCellProps","tableBodyTabNavigableFieldSelector","isTabNavigableTableBodyField","element","getCurrentTableBodyField","target","currentField","handleTableBodyFieldTabNavigation","event","tableElement","fields","currentIndex","nextField","DataTable","t","useOwpTranslation","canHideTotalCountFooterBorder","canUseNoDataOverlay","canUseTableRadius","canTotalCountRow","canUseTreeGridStyle","columns","data","totalCount","rest","restIcons","restInitialState","restBottomToolbarProps","restSelectAllCheckboxProps","restSelectCheckboxProps","restDisplayColumnDefOptions","restTableBodyCellProps","restTableBodyRowProps","restTableContainerProps","restTableHeadCellProps","restTableHeadRowProps","restTablePaperProps","restTableProps","restRenderBottomToolbar","restRenderEmptyRowsFallback","restOptions","resolvedData","isNoDataOverlayVisible","shouldApplyTotalCountFooterBorderlessLayout","shouldUseNoDataOverlay","shouldUseRadiusOuterBorder","displayColumnDefOptions","initialState","defaultsFC","defaultOptions","toolbarProps","OwpMrtTableTopToolbar","shouldRenderBaseBottomToolbar","resolvedTotalCount","isNumber","shouldHideLastBodyRowBorderForRadius","renderBaseBottomToolbar","MRT_BottomToolbar","getResolvedBodyCellProps","onKeyDownCapture","restMergedProps","getResolvedHeadRowProps","_a","useMaterialReactTable","jsxs","Fragment","OwpTableTotalCount","GlobalStyles","MaterialReactTable","OwpMrtTableNoDataOverlay","hasTableInstance","OwpMrtTable","currentLanguage","useGetCurrentLanguage","MRT_Localization_KO"],"mappings":"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"}
|
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
var j = Object.defineProperty;
|
|
2
2
|
var u = (t, o) => j(t, "name", { value: o, configurable: !0 });
|
|
3
3
|
import { jsx as k } from "../../node_modules/.pnpm/@emotion_react@11.14.0_@types_react@19.2.14_react@19.2.4/node_modules/@emotion/react/jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import
|
|
7
|
-
import X from "../../
|
|
8
|
-
import Y from "../../node_modules/.pnpm/perfect-scrollbar@1.5.6/node_modules/perfect-scrollbar/dist/perfect-scrollbar.esm.js";
|
|
4
|
+
import { useGetCustomScrollbarsEnabled as B } from "../../hooks/useOwpSettings.js";
|
|
5
|
+
import { styled as M } from "@mui/material/styles";
|
|
6
|
+
import U from "../../_virtual/mobile-detect.js";
|
|
7
|
+
import X from "../../node_modules/.pnpm/perfect-scrollbar@1.5.6/node_modules/perfect-scrollbar/dist/perfect-scrollbar.esm.js";
|
|
9
8
|
/* empty css */
|
|
10
|
-
import { forwardRef as
|
|
9
|
+
import { forwardRef as Y, useRef as f, useState as D, useCallback as p, useEffect as a } from "react";
|
|
11
10
|
import { useLocation as H } from "react-router-dom";
|
|
12
|
-
const N =
|
|
11
|
+
const N = M("div")(() => ({
|
|
13
12
|
overscrollBehavior: "contain",
|
|
14
13
|
minHeight: "100%"
|
|
15
|
-
})), P = new
|
|
14
|
+
})), P = new U(window.navigator.userAgent), y = P.mobile(), g = Object.freeze({
|
|
16
15
|
"ps-scroll-y": "onScrollY",
|
|
17
16
|
"ps-scroll-x": "onScrollX",
|
|
18
17
|
"ps-scroll-up": "onScrollUp",
|
|
@@ -23,18 +22,18 @@ const N = U("div")(() => ({
|
|
|
23
22
|
"ps-y-reach-end": "onYReachEnd",
|
|
24
23
|
"ps-x-reach-start": "onXReachStart",
|
|
25
24
|
"ps-x-reach-end": "onXReachEnd"
|
|
26
|
-
}),
|
|
25
|
+
}), V = Y((t, o) => {
|
|
27
26
|
const {
|
|
28
27
|
className: T = "",
|
|
29
|
-
children:
|
|
28
|
+
children: h,
|
|
30
29
|
id: x = "",
|
|
31
|
-
scrollToTopOnChildChange:
|
|
30
|
+
scrollToTopOnChildChange: m = !0,
|
|
32
31
|
scrollToTopOnRouteChange: d = !1,
|
|
33
32
|
enable: S = !0,
|
|
34
33
|
option: b = {
|
|
35
34
|
wheelPropagation: !0
|
|
36
35
|
}
|
|
37
|
-
} = t, r = f(null), n = f(null), i = f(/* @__PURE__ */ new Map()), [C, v] = D({}), c =
|
|
36
|
+
} = t, r = f(null), n = f(null), i = f(/* @__PURE__ */ new Map()), [C, v] = D({}), c = B(), O = H(), { pathname: L } = O, E = p(() => {
|
|
38
37
|
Object.keys(g).forEach((e) => {
|
|
39
38
|
const s = t[g[e]];
|
|
40
39
|
if (s) {
|
|
@@ -47,15 +46,15 @@ const N = U("div")(() => ({
|
|
|
47
46
|
r.current && r.current.removeEventListener(s, e, !1);
|
|
48
47
|
}), i.current.clear();
|
|
49
48
|
}, []);
|
|
50
|
-
a(() => (c && r.current && !y && (n.current = new
|
|
49
|
+
a(() => (c && r.current && !y && (n.current = new X(r.current, b), E()), () => {
|
|
51
50
|
n.current && (n.current.destroy(), n.current = null, w());
|
|
52
51
|
}), [c, E, b, w]);
|
|
53
52
|
const l = p(() => {
|
|
54
53
|
r.current && (r.current.scrollTop = 0);
|
|
55
54
|
}, []);
|
|
56
55
|
return a(() => {
|
|
57
|
-
|
|
58
|
-
}, [l,
|
|
56
|
+
m && l();
|
|
57
|
+
}, [l, h, m]), a(() => {
|
|
59
58
|
d && l();
|
|
60
59
|
}, [L, l, d]), a(() => {
|
|
61
60
|
v(c && S && !y ? {
|
|
@@ -71,11 +70,11 @@ const N = U("div")(() => ({
|
|
|
71
70
|
ref: /* @__PURE__ */ u((e) => {
|
|
72
71
|
r.current = e, typeof o == "function" ? o(e) : o && (o.current = e);
|
|
73
72
|
}, "ref"),
|
|
74
|
-
children:
|
|
73
|
+
children: h
|
|
75
74
|
}
|
|
76
75
|
);
|
|
77
76
|
});
|
|
78
77
|
export {
|
|
79
|
-
|
|
78
|
+
V as OwpScrollbars
|
|
80
79
|
};
|
|
81
80
|
//# sourceMappingURL=OwpScrollbars.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OwpScrollbars.js","sources":["../../../src/components/OwpScrollbars/OwpScrollbars.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"OwpScrollbars.js","sources":["../../../src/components/OwpScrollbars/OwpScrollbars.tsx"],"sourcesContent":["import { useGetCustomScrollbarsEnabled } from '@/hooks/useOwpSettings';\nimport { styled } from '@mui/material/styles';\nimport MobileDetect from 'mobile-detect';\nimport PerfectScrollbar from 'perfect-scrollbar';\nimport 'perfect-scrollbar/css/perfect-scrollbar.css';\nimport { forwardRef, ReactNode, useCallback, useEffect, useRef, useState } from 'react';\nimport { useLocation } from 'react-router-dom';\n\nconst Root = styled('div')(() => ({\n overscrollBehavior: 'contain',\n minHeight: '100%',\n}));\n\nconst md = new MobileDetect(window.navigator.userAgent);\nconst isMobile = md.mobile();\n\nconst handlerNameByEvent = Object.freeze({\n 'ps-scroll-y': 'onScrollY',\n 'ps-scroll-x': 'onScrollX',\n 'ps-scroll-up': 'onScrollUp',\n 'ps-scroll-down': 'onScrollDown',\n 'ps-scroll-left': 'onScrollLeft',\n 'ps-scroll-right': 'onScrollRight',\n 'ps-y-reach-start': 'onYReachStart',\n 'ps-y-reach-end': 'onYReachEnd',\n 'ps-x-reach-start': 'onXReachStart',\n 'ps-x-reach-end': 'onXReachEnd',\n});\n\ntype OwpScrollbarsProps = {\n id?: string;\n className?: string;\n children: ReactNode;\n enable?: boolean;\n scrollToTopOnChildChange?: boolean;\n scrollToTopOnRouteChange?: boolean;\n option?: {\n wheelPropagation?: boolean;\n suppressScrollX?: boolean;\n };\n};\n\n/**\n * OwpScrollbars 컴포넌트\n * @param props 컴포넌트 props\n * @param ref forwardRef 참조\n */\nconst OwpScrollbars = forwardRef<HTMLDivElement, OwpScrollbarsProps>((props, ref) => {\n const {\n className = '',\n children,\n id = '',\n scrollToTopOnChildChange = true,\n scrollToTopOnRouteChange = false,\n enable = true,\n option = {\n wheelPropagation: true,\n },\n } = props;\n\n const containerRef = useRef<HTMLDivElement>(null);\n const psRef = useRef<PerfectScrollbar | null>(null);\n const handlerByEvent = useRef<Map<string, EventListener>>(new Map());\n const [style, setStyle] = useState({});\n const customScrollbars = useGetCustomScrollbarsEnabled();\n const location = useLocation();\n const { pathname } = location;\n\n const hookUpEvents = useCallback(() => {\n Object.keys(handlerNameByEvent).forEach((key) => {\n const callback = props[handlerNameByEvent[key] as keyof OwpScrollbarsProps] as (\n T: HTMLDivElement,\n ) => void;\n\n if (callback) {\n const handler: EventListener = () => callback(containerRef.current);\n handlerByEvent.current.set(key, handler);\n\n if (containerRef.current) {\n containerRef.current.addEventListener(key, handler, false);\n }\n }\n });\n }, [props]);\n\n const unHookUpEvents = useCallback(() => {\n handlerByEvent.current.forEach((value, key) => {\n if (containerRef.current) {\n containerRef.current.removeEventListener(key, value, false);\n }\n });\n handlerByEvent.current.clear();\n }, []);\n\n useEffect(() => {\n if (customScrollbars && containerRef.current && !isMobile) {\n psRef.current = new PerfectScrollbar(containerRef.current, option);\n hookUpEvents();\n }\n\n return () => {\n if (psRef.current) {\n psRef.current.destroy();\n psRef.current = null;\n unHookUpEvents();\n }\n };\n }, [customScrollbars, hookUpEvents, option, unHookUpEvents]);\n\n const scrollToTop = useCallback(() => {\n if (containerRef.current) {\n containerRef.current.scrollTop = 0;\n }\n }, []);\n\n useEffect(() => {\n if (scrollToTopOnChildChange) {\n scrollToTop();\n }\n }, [scrollToTop, children, scrollToTopOnChildChange]);\n\n useEffect(() => {\n if (scrollToTopOnRouteChange) {\n scrollToTop();\n }\n }, [pathname, scrollToTop, scrollToTopOnRouteChange]);\n\n useEffect(() => {\n if (customScrollbars && enable && !isMobile) {\n setStyle({\n position: 'relative',\n overflow: 'hidden!important',\n });\n } else {\n setStyle({});\n }\n }, [customScrollbars, enable]);\n\n return (\n <Root\n id={id}\n className={className}\n style={style}\n ref={(el) => {\n containerRef.current = el;\n\n if (typeof ref === 'function') {\n ref(el);\n } else if (ref) {\n ref.current = el;\n }\n }}\n >\n {children}\n </Root>\n );\n});\n\nexport { OwpScrollbars };\n"],"names":["Root","styled","md","MobileDetect","isMobile","handlerNameByEvent","OwpScrollbars","forwardRef","props","ref","className","children","id","scrollToTopOnChildChange","scrollToTopOnRouteChange","enable","option","containerRef","useRef","psRef","handlerByEvent","style","setStyle","useState","customScrollbars","useGetCustomScrollbarsEnabled","location","useLocation","pathname","hookUpEvents","useCallback","key","callback","handler","__name","unHookUpEvents","value","useEffect","PerfectScrollbar","scrollToTop","jsx","el"],"mappings":"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"}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
var
|
|
2
|
-
var l = (t, e) =>
|
|
3
|
-
import { jsx as i, jsxs as
|
|
4
|
-
import { CacheProvider as
|
|
5
|
-
import {
|
|
6
|
-
import { selectMainTheme as k, selectToolbarTheme as v } from "../../store/owpSettingsSlice.js";
|
|
1
|
+
var u = Object.defineProperty;
|
|
2
|
+
var l = (t, e) => u(t, "name", { value: e, configurable: !0 });
|
|
3
|
+
import { jsx as i, jsxs as m } from "../../node_modules/.pnpm/@emotion_react@11.14.0_@types_react@19.2.14_react@19.2.4/node_modules/@emotion/react/jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js";
|
|
4
|
+
import { CacheProvider as g } from "@emotion/react";
|
|
5
|
+
import { useGetMainTheme as y, useGetToolbarTheme as k } from "../../hooks/useOwpSettings.js";
|
|
7
6
|
import s from "@mui/material/GlobalStyles";
|
|
8
|
-
import { ThemeProvider as
|
|
9
|
-
import { useEffect as
|
|
10
|
-
const
|
|
7
|
+
import { ThemeProvider as v, alpha as n, emphasize as f } from "@mui/material/styles";
|
|
8
|
+
import { useEffect as w } from "react";
|
|
9
|
+
const x = /* @__PURE__ */ i(
|
|
11
10
|
s,
|
|
12
11
|
{
|
|
13
12
|
styles: /* @__PURE__ */ l((t) => ({
|
|
@@ -66,14 +65,14 @@ const C = /* @__PURE__ */ i(
|
|
|
66
65
|
}
|
|
67
66
|
}), "styles")
|
|
68
67
|
}
|
|
69
|
-
),
|
|
68
|
+
), C = /* @__PURE__ */ l((t, e, o) => /* @__PURE__ */ i(
|
|
70
69
|
s,
|
|
71
70
|
{
|
|
72
71
|
styles: {
|
|
73
72
|
":root": {
|
|
74
73
|
"--owp-datepicker-selected-bg": t,
|
|
75
74
|
"--owp-datepicker-selected-color": e,
|
|
76
|
-
"--owp-datepicker-selected-hover-bg":
|
|
75
|
+
"--owp-datepicker-selected-hover-bg": f(t, 0.16),
|
|
77
76
|
"--owp-datepicker-hover-color": o,
|
|
78
77
|
"--owp-datepicker-hover-bg": n(t, 0.14),
|
|
79
78
|
"--owp-datepicker-keyboard-selected-bg": n(t, 0.28),
|
|
@@ -84,7 +83,7 @@ const C = /* @__PURE__ */ i(
|
|
|
84
83
|
}
|
|
85
84
|
}
|
|
86
85
|
), "getThemeGlobalStyles");
|
|
87
|
-
function
|
|
86
|
+
function h({
|
|
88
87
|
children: t,
|
|
89
88
|
theme: e,
|
|
90
89
|
root: o = !1,
|
|
@@ -93,20 +92,20 @@ function T({
|
|
|
93
92
|
datePickerHoverColor: d
|
|
94
93
|
}) {
|
|
95
94
|
const { mode: p } = e.palette;
|
|
96
|
-
return
|
|
95
|
+
return w(() => {
|
|
97
96
|
o && (document.body.classList.add(p === "light" ? "light" : "dark"), document.body.classList.remove(p === "light" ? "dark" : "light"));
|
|
98
|
-
}, [p, o]), /* @__PURE__ */
|
|
97
|
+
}, [p, o]), /* @__PURE__ */ m(v, { theme: e, children: [
|
|
99
98
|
t,
|
|
100
|
-
|
|
99
|
+
C(
|
|
101
100
|
r ?? e.palette.primary.main,
|
|
102
101
|
a ?? e.palette.getContrastText(r ?? e.palette.primary.main),
|
|
103
102
|
d ?? e.palette.text.primary
|
|
104
103
|
),
|
|
105
|
-
o &&
|
|
104
|
+
o && x
|
|
106
105
|
] });
|
|
107
106
|
}
|
|
108
|
-
l(
|
|
109
|
-
function
|
|
107
|
+
l(h, "OwpStyleTheme");
|
|
108
|
+
function c({
|
|
110
109
|
children: t,
|
|
111
110
|
theme: e,
|
|
112
111
|
root: o,
|
|
@@ -116,7 +115,7 @@ function u({
|
|
|
116
115
|
datePickerHoverColor: p
|
|
117
116
|
}) {
|
|
118
117
|
const b = /* @__PURE__ */ i(
|
|
119
|
-
|
|
118
|
+
h,
|
|
120
119
|
{
|
|
121
120
|
theme: e,
|
|
122
121
|
root: o,
|
|
@@ -126,17 +125,17 @@ function u({
|
|
|
126
125
|
children: t
|
|
127
126
|
}
|
|
128
127
|
);
|
|
129
|
-
return r != null && r.value ? /* @__PURE__ */ i(
|
|
128
|
+
return r != null && r.value ? /* @__PURE__ */ i(g, { ...r, children: b }) : b;
|
|
130
129
|
}
|
|
131
|
-
l(
|
|
132
|
-
function
|
|
130
|
+
l(c, "OwpStyleProviderContent");
|
|
131
|
+
function T({
|
|
133
132
|
children: t,
|
|
134
133
|
root: e,
|
|
135
134
|
cacheProviderProps: o
|
|
136
135
|
}) {
|
|
137
|
-
const r =
|
|
136
|
+
const r = y(), a = k(), d = a.palette.background.default;
|
|
138
137
|
return /* @__PURE__ */ i(
|
|
139
|
-
|
|
138
|
+
c,
|
|
140
139
|
{
|
|
141
140
|
theme: r,
|
|
142
141
|
root: e,
|
|
@@ -148,13 +147,13 @@ function S({
|
|
|
148
147
|
}
|
|
149
148
|
);
|
|
150
149
|
}
|
|
151
|
-
l(
|
|
152
|
-
function
|
|
150
|
+
l(T, "OwpStyleProviderFallback");
|
|
151
|
+
function L(t) {
|
|
153
152
|
const { children: e, theme: o, root: r, cacheProviderProps: a } = t;
|
|
154
|
-
return o ? /* @__PURE__ */ i(
|
|
153
|
+
return o ? /* @__PURE__ */ i(c, { theme: o, root: r, cacheProviderProps: a, children: e }) : /* @__PURE__ */ i(T, { root: r, cacheProviderProps: a, children: e });
|
|
155
154
|
}
|
|
156
|
-
l(
|
|
155
|
+
l(L, "OwpStyleProvider");
|
|
157
156
|
export {
|
|
158
|
-
|
|
157
|
+
L as OwpStyleProvider
|
|
159
158
|
};
|
|
160
159
|
//# sourceMappingURL=OwpStyleProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OwpStyleProvider.js","sources":["../../../src/components/OwpStyleProvider/OwpStyleProvider.tsx"],"sourcesContent":["import { CacheProvider } from '@emotion/react';\nimport { useAppSelector } from '@/hooks/useAppStore';\nimport { selectMainTheme, selectToolbarTheme } from '@/store/owpSettingsSlice';\nimport type { RootState } from '@/store/store';\nimport GlobalStyles from '@mui/material/GlobalStyles';\nimport { alpha, emphasize, ThemeProvider, type Theme } from '@mui/material/styles';\nimport { ComponentProps, ReactNode, useEffect } from 'react';\n\ntype OwpCacheProviderProps = Omit<ComponentProps<typeof CacheProvider>, 'children'>;\ntype OwpStyleProviderContentProps = Omit<OwpStyleProviderProps, 'theme'> & {\n theme: Theme;\n datePickerSelectedBg?: string;\n datePickerSelectedColor?: string;\n datePickerHoverColor?: string;\n};\n\nconst inputGlobalStyles = (\n <GlobalStyles\n styles={(theme) => ({\n html: {\n backgroundColor: `${theme.palette.background.default}!important`,\n color: `${theme.palette.text.primary}!important`,\n },\n body: {\n backgroundColor: theme.palette.background.default,\n color: theme.palette.text.primary,\n },\n '& .MuiOutlinedInput-root': {\n backgroundColor: theme.palette.background.paper,\n },\n '& .border-divider ': {\n borderColor: `${theme.palette.divider}!important`,\n },\n 'table.simple tbody tr th': {\n borderColor: theme.palette.divider,\n },\n 'table.simple thead tr th': {\n borderColor: theme.palette.divider,\n },\n 'a:not([role=button]):not(.MuiButtonBase-root)': {\n color: theme.palette.secondary.main,\n textDecoration: 'underline',\n '&:hover': {},\n },\n 'a.link, a:not([role=button])[target=_blank]': {\n background: alpha(theme.palette.secondary.main, 0.2),\n color: 'inherit',\n borderBottom: `1px solid ${theme.palette.divider}`,\n textDecoration: 'none',\n '&:hover': {\n background: alpha(theme.palette.secondary.main, 0.3),\n textDecoration: 'none',\n },\n },\n '[class^=\"border\"]': {\n borderColor: theme.palette.divider,\n },\n '[class*=\"border\"]': {\n borderColor: theme.palette.divider,\n },\n '[class*=\"divide-\"] > :not([hidden]) ~ :not([hidden])': {\n borderColor: theme.palette.divider,\n },\n hr: {\n borderColor: theme.palette.divider,\n },\n '::-webkit-scrollbar-thumb': {\n boxShadow: `inset 0 0 0 20px ${\n theme.palette.mode === 'light' ? 'rgba(0, 0, 0, 0.24)' : 'rgba(255, 255, 255, 0.24)'\n }`,\n },\n '::-webkit-scrollbar-thumb:active': {\n boxShadow: `inset 0 0 0 20px ${\n theme.palette.mode === 'light' ? 'rgba(0, 0, 0, 0.37)' : 'rgba(255, 255, 255, 0.37)'\n }`,\n },\n })}\n />\n);\n\nconst getThemeGlobalStyles = (\n datePickerSelectedBg: string,\n datePickerSelectedColor: string,\n datePickerHoverColor: string,\n) => (\n <GlobalStyles\n styles={{\n ':root': {\n '--owp-datepicker-selected-bg': datePickerSelectedBg,\n '--owp-datepicker-selected-color': datePickerSelectedColor,\n '--owp-datepicker-selected-hover-bg': emphasize(datePickerSelectedBg, 0.16),\n '--owp-datepicker-hover-color': datePickerHoverColor,\n '--owp-datepicker-hover-bg': alpha(datePickerSelectedBg, 0.14),\n '--owp-datepicker-keyboard-selected-bg': alpha(datePickerSelectedBg, 0.28),\n '--owp-datepicker-keyboard-selected-hover-bg': alpha(datePickerSelectedBg, 0.36),\n '--owp-datepicker-keyboard-selected-color': datePickerHoverColor,\n '--owp-datepicker-range-preview-bg': alpha(datePickerSelectedBg, 0.48),\n },\n }}\n />\n);\n\nexport interface OwpStyleProviderProps {\n children?: ReactNode;\n theme?: Theme;\n root?: boolean;\n cacheProviderProps?: OwpCacheProviderProps;\n}\n\n/**\n * MUI theme boundary and global style layer.\n * @param theme MUI theme 객체\n * @param root 글로벌 스타일 적용 여부\n * @param children 렌더링 자식\n */\nfunction OwpStyleTheme({\n children,\n theme,\n root = false,\n datePickerSelectedBg,\n datePickerSelectedColor,\n datePickerHoverColor,\n}: Pick<OwpStyleProviderProps, 'children' | 'root'> & {\n theme: Theme;\n datePickerSelectedBg?: string;\n datePickerSelectedColor?: string;\n datePickerHoverColor?: string;\n}) {\n const { mode } = theme.palette;\n\n useEffect(() => {\n if (root) {\n document.body.classList.add(mode === 'light' ? 'light' : 'dark');\n document.body.classList.remove(mode === 'light' ? 'dark' : 'light');\n }\n }, [mode, root]);\n\n return (\n <ThemeProvider theme={theme}>\n {children}\n {getThemeGlobalStyles(\n datePickerSelectedBg ?? theme.palette.primary.main,\n datePickerSelectedColor ??\n theme.palette.getContrastText(datePickerSelectedBg ?? theme.palette.primary.main),\n datePickerHoverColor ?? theme.palette.text.primary,\n )}\n {root && inputGlobalStyles}\n </ThemeProvider>\n );\n}\n\n/**\n * CacheProvider, theme composition\n * @param theme MUI theme 객체\n * @param root 글로벌 스타일 적용 여부\n * @param cacheProviderProps CacheProvider 옵션\n */\nfunction OwpStyleProviderContent({\n children,\n theme,\n root,\n cacheProviderProps,\n datePickerSelectedBg,\n datePickerSelectedColor,\n datePickerHoverColor,\n}: OwpStyleProviderContentProps) {\n const themeContent = (\n <OwpStyleTheme\n theme={theme}\n root={root}\n datePickerSelectedBg={datePickerSelectedBg}\n datePickerSelectedColor={datePickerSelectedColor}\n datePickerHoverColor={datePickerHoverColor}\n >\n {children}\n </OwpStyleTheme>\n );\n\n if (!cacheProviderProps?.value) {\n return themeContent;\n }\n\n return <CacheProvider {...cacheProviderProps}>{themeContent}</CacheProvider>;\n}\n\n/**\n * Store main theme fallback provider\n * @param root 글로벌 스타일 적용 여부\n * @param cacheProviderProps CacheProvider 옵션\n */\nfunction OwpStyleProviderFallback({\n children,\n root,\n cacheProviderProps,\n}: Omit<OwpStyleProviderProps, 'theme'>) {\n const theme = useAppSelector(selectMainTheme as (state: RootState) => Theme);\n const toolbarTheme = useAppSelector(selectToolbarTheme as (state: RootState) => Theme);\n const datePickerSelectedBg = toolbarTheme.palette.background.default;\n\n return (\n <OwpStyleProviderContent\n theme={theme}\n root={root}\n cacheProviderProps={cacheProviderProps}\n datePickerSelectedBg={datePickerSelectedBg}\n datePickerSelectedColor={toolbarTheme.palette.getContrastText(datePickerSelectedBg)}\n datePickerHoverColor={theme.palette.text.primary}\n >\n {children}\n </OwpStyleProviderContent>\n );\n}\n\n/**\n * CacheProvider, theme composition\n * @param theme MUI theme 객체. 미지정 시 store main theme 사용\n * @param root 글로벌 스타일 적용 여부\n * @param cacheProviderProps CacheProvider 옵션\n */\nexport function OwpStyleProvider(props: OwpStyleProviderProps) {\n const { children, theme, root, cacheProviderProps } = props;\n\n if (theme) {\n return (\n <OwpStyleProviderContent theme={theme} root={root} cacheProviderProps={cacheProviderProps}>\n {children}\n </OwpStyleProviderContent>\n );\n }\n\n return (\n <OwpStyleProviderFallback root={root} cacheProviderProps={cacheProviderProps}>\n {children}\n </OwpStyleProviderFallback>\n );\n}\n"],"names":["inputGlobalStyles","jsx","GlobalStyles","__name","theme","alpha","getThemeGlobalStyles","datePickerSelectedBg","datePickerSelectedColor","datePickerHoverColor","emphasize","OwpStyleTheme","children","root","mode","useEffect","jsxs","ThemeProvider","OwpStyleProviderContent","cacheProviderProps","themeContent","CacheProvider","OwpStyleProviderFallback","useAppSelector","selectMainTheme","toolbarTheme","selectToolbarTheme","OwpStyleProvider","props"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OwpStyleProvider.js","sources":["../../../src/components/OwpStyleProvider/OwpStyleProvider.tsx"],"sourcesContent":["import { CacheProvider } from '@emotion/react';\nimport { useGetMainTheme, useGetToolbarTheme } from '@/hooks/useOwpSettings';\nimport GlobalStyles from '@mui/material/GlobalStyles';\nimport { alpha, emphasize, ThemeProvider, type Theme } from '@mui/material/styles';\nimport { ComponentProps, ReactNode, useEffect } from 'react';\n\ntype OwpCacheProviderProps = Omit<ComponentProps<typeof CacheProvider>, 'children'>;\ntype OwpStyleProviderContentProps = Omit<OwpStyleProviderProps, 'theme'> & {\n theme: Theme;\n datePickerSelectedBg?: string;\n datePickerSelectedColor?: string;\n datePickerHoverColor?: string;\n};\n\nconst inputGlobalStyles = (\n <GlobalStyles\n styles={(theme) => ({\n html: {\n backgroundColor: `${theme.palette.background.default}!important`,\n color: `${theme.palette.text.primary}!important`,\n },\n body: {\n backgroundColor: theme.palette.background.default,\n color: theme.palette.text.primary,\n },\n '& .MuiOutlinedInput-root': {\n backgroundColor: theme.palette.background.paper,\n },\n '& .border-divider ': {\n borderColor: `${theme.palette.divider}!important`,\n },\n 'table.simple tbody tr th': {\n borderColor: theme.palette.divider,\n },\n 'table.simple thead tr th': {\n borderColor: theme.palette.divider,\n },\n 'a:not([role=button]):not(.MuiButtonBase-root)': {\n color: theme.palette.secondary.main,\n textDecoration: 'underline',\n '&:hover': {},\n },\n 'a.link, a:not([role=button])[target=_blank]': {\n background: alpha(theme.palette.secondary.main, 0.2),\n color: 'inherit',\n borderBottom: `1px solid ${theme.palette.divider}`,\n textDecoration: 'none',\n '&:hover': {\n background: alpha(theme.palette.secondary.main, 0.3),\n textDecoration: 'none',\n },\n },\n '[class^=\"border\"]': {\n borderColor: theme.palette.divider,\n },\n '[class*=\"border\"]': {\n borderColor: theme.palette.divider,\n },\n '[class*=\"divide-\"] > :not([hidden]) ~ :not([hidden])': {\n borderColor: theme.palette.divider,\n },\n hr: {\n borderColor: theme.palette.divider,\n },\n '::-webkit-scrollbar-thumb': {\n boxShadow: `inset 0 0 0 20px ${\n theme.palette.mode === 'light' ? 'rgba(0, 0, 0, 0.24)' : 'rgba(255, 255, 255, 0.24)'\n }`,\n },\n '::-webkit-scrollbar-thumb:active': {\n boxShadow: `inset 0 0 0 20px ${\n theme.palette.mode === 'light' ? 'rgba(0, 0, 0, 0.37)' : 'rgba(255, 255, 255, 0.37)'\n }`,\n },\n })}\n />\n);\n\nconst getThemeGlobalStyles = (\n datePickerSelectedBg: string,\n datePickerSelectedColor: string,\n datePickerHoverColor: string,\n) => (\n <GlobalStyles\n styles={{\n ':root': {\n '--owp-datepicker-selected-bg': datePickerSelectedBg,\n '--owp-datepicker-selected-color': datePickerSelectedColor,\n '--owp-datepicker-selected-hover-bg': emphasize(datePickerSelectedBg, 0.16),\n '--owp-datepicker-hover-color': datePickerHoverColor,\n '--owp-datepicker-hover-bg': alpha(datePickerSelectedBg, 0.14),\n '--owp-datepicker-keyboard-selected-bg': alpha(datePickerSelectedBg, 0.28),\n '--owp-datepicker-keyboard-selected-hover-bg': alpha(datePickerSelectedBg, 0.36),\n '--owp-datepicker-keyboard-selected-color': datePickerHoverColor,\n '--owp-datepicker-range-preview-bg': alpha(datePickerSelectedBg, 0.48),\n },\n }}\n />\n);\n\nexport interface OwpStyleProviderProps {\n children?: ReactNode;\n theme?: Theme;\n root?: boolean;\n cacheProviderProps?: OwpCacheProviderProps;\n}\n\n/**\n * MUI theme boundary and global style layer.\n * @param theme MUI theme 객체\n * @param root 글로벌 스타일 적용 여부\n * @param children 렌더링 자식\n */\nfunction OwpStyleTheme({\n children,\n theme,\n root = false,\n datePickerSelectedBg,\n datePickerSelectedColor,\n datePickerHoverColor,\n}: Pick<OwpStyleProviderProps, 'children' | 'root'> & {\n theme: Theme;\n datePickerSelectedBg?: string;\n datePickerSelectedColor?: string;\n datePickerHoverColor?: string;\n}) {\n const { mode } = theme.palette;\n\n useEffect(() => {\n if (root) {\n document.body.classList.add(mode === 'light' ? 'light' : 'dark');\n document.body.classList.remove(mode === 'light' ? 'dark' : 'light');\n }\n }, [mode, root]);\n\n return (\n <ThemeProvider theme={theme}>\n {children}\n {getThemeGlobalStyles(\n datePickerSelectedBg ?? theme.palette.primary.main,\n datePickerSelectedColor ??\n theme.palette.getContrastText(datePickerSelectedBg ?? theme.palette.primary.main),\n datePickerHoverColor ?? theme.palette.text.primary,\n )}\n {root && inputGlobalStyles}\n </ThemeProvider>\n );\n}\n\n/**\n * CacheProvider, theme composition\n * @param theme MUI theme 객체\n * @param root 글로벌 스타일 적용 여부\n * @param cacheProviderProps CacheProvider 옵션\n */\nfunction OwpStyleProviderContent({\n children,\n theme,\n root,\n cacheProviderProps,\n datePickerSelectedBg,\n datePickerSelectedColor,\n datePickerHoverColor,\n}: OwpStyleProviderContentProps) {\n const themeContent = (\n <OwpStyleTheme\n theme={theme}\n root={root}\n datePickerSelectedBg={datePickerSelectedBg}\n datePickerSelectedColor={datePickerSelectedColor}\n datePickerHoverColor={datePickerHoverColor}\n >\n {children}\n </OwpStyleTheme>\n );\n\n if (!cacheProviderProps?.value) {\n return themeContent;\n }\n\n return <CacheProvider {...cacheProviderProps}>{themeContent}</CacheProvider>;\n}\n\n/**\n * Store main theme fallback provider\n * @param root 글로벌 스타일 적용 여부\n * @param cacheProviderProps CacheProvider 옵션\n */\nfunction OwpStyleProviderFallback({\n children,\n root,\n cacheProviderProps,\n}: Omit<OwpStyleProviderProps, 'theme'>) {\n const theme = useGetMainTheme() as Theme;\n const toolbarTheme = useGetToolbarTheme() as Theme;\n const datePickerSelectedBg = toolbarTheme.palette.background.default;\n\n return (\n <OwpStyleProviderContent\n theme={theme}\n root={root}\n cacheProviderProps={cacheProviderProps}\n datePickerSelectedBg={datePickerSelectedBg}\n datePickerSelectedColor={toolbarTheme.palette.getContrastText(datePickerSelectedBg)}\n datePickerHoverColor={theme.palette.text.primary}\n >\n {children}\n </OwpStyleProviderContent>\n );\n}\n\n/**\n * CacheProvider, theme composition\n * @param theme MUI theme 객체. 미지정 시 store main theme 사용\n * @param root 글로벌 스타일 적용 여부\n * @param cacheProviderProps CacheProvider 옵션\n */\nexport function OwpStyleProvider(props: OwpStyleProviderProps) {\n const { children, theme, root, cacheProviderProps } = props;\n\n if (theme) {\n return (\n <OwpStyleProviderContent theme={theme} root={root} cacheProviderProps={cacheProviderProps}>\n {children}\n </OwpStyleProviderContent>\n );\n }\n\n return (\n <OwpStyleProviderFallback root={root} cacheProviderProps={cacheProviderProps}>\n {children}\n </OwpStyleProviderFallback>\n );\n}\n"],"names":["inputGlobalStyles","jsx","GlobalStyles","__name","theme","alpha","getThemeGlobalStyles","datePickerSelectedBg","datePickerSelectedColor","datePickerHoverColor","emphasize","OwpStyleTheme","children","root","mode","useEffect","jsxs","ThemeProvider","OwpStyleProviderContent","cacheProviderProps","themeContent","CacheProvider","OwpStyleProviderFallback","useGetMainTheme","toolbarTheme","useGetToolbarTheme","OwpStyleProvider","props"],"mappings":"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"}
|