@owp/core 2.5.3 → 2.5.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/index11.js +2 -2
- package/dist/_virtual/index13.js +2 -2
- package/dist/_virtual/index14.js +2 -2
- package/dist/_virtual/index15.js +2 -2
- package/dist/components/OwpMrtTable/OwpMrtTable.js +250 -258
- package/dist/components/OwpMrtTable/OwpMrtTable.js.map +1 -1
- package/dist/components/OwpSnackbarContent/OwpSnackbarContent.js +166 -0
- package/dist/components/OwpSnackbarContent/OwpSnackbarContent.js.map +1 -0
- package/dist/components/OwpTable/OwpDataTable.js +316 -288
- package/dist/components/OwpTable/OwpDataTable.js.map +1 -1
- package/dist/components/OwpTable/OwpFieldTable.js +102 -58
- package/dist/components/OwpTable/OwpFieldTable.js.map +1 -1
- package/dist/components/OwpTable/OwpTable.js +163 -164
- package/dist/components/OwpTable/OwpTable.js.map +1 -1
- package/dist/components/OwpTable/internal/treeGridTableStyle.js +77 -0
- package/dist/components/OwpTable/internal/treeGridTableStyle.js.map +1 -0
- package/dist/components/OwpTreeGrid/OwpTreeGrid.js +197 -252
- package/dist/components/OwpTreeGrid/OwpTreeGrid.js.map +1 -1
- package/dist/components/OwpTreeGrid/internal/treeGridRuntime.js +172 -131
- package/dist/components/OwpTreeGrid/internal/treeGridRuntime.js.map +1 -1
- package/dist/components/OwpTreeGrid/internal/treeGridTheme.js +462 -0
- package/dist/components/OwpTreeGrid/internal/treeGridTheme.js.map +1 -0
- package/dist/configs/defaultConfig.js +67 -44
- package/dist/configs/defaultConfig.js.map +1 -1
- package/dist/constants/gridTheme.js +60 -10
- package/dist/constants/gridTheme.js.map +1 -1
- package/dist/constants/tableTheme.js +16 -0
- package/dist/constants/tableTheme.js.map +1 -0
- package/dist/constants/treeGrid.js +44 -26
- package/dist/constants/treeGrid.js.map +1 -1
- package/dist/constants.js +21 -20
- package/dist/contexts/OwpUiProvider.js +59 -38
- package/dist/contexts/OwpUiProvider.js.map +1 -1
- package/dist/index.js +111 -110
- package/dist/layout/components/toolbar/ToolbarLayout.js +5 -4
- 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/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE39/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE93/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/EAN_UPC/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/GenericBarcode/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/ITF/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/MSI/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/codabar/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/pharmacode/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/renderers/index.js +1 -1
- package/dist/types/components/OwpSnackbarContent/OwpSnackbarContent.d.ts +2 -0
- package/dist/types/components/OwpTable/OwpTable.d.ts +3 -1
- package/dist/types/components/OwpTable/internal/treeGridTableStyle.d.ts +105 -0
- package/dist/types/components/OwpTreeGrid/internal/treeGridRuntime.d.ts +5 -1
- package/dist/types/components/OwpTreeGrid/internal/treeGridTheme.d.ts +20 -0
- package/dist/types/configs/defaultConfig.d.ts +22 -0
- package/dist/types/constants/gridTheme.d.ts +58 -0
- package/dist/types/constants/tableTheme.d.ts +18 -0
- package/dist/types/constants/treeGrid.d.ts +5 -0
- package/dist/types/types/OwpGridThemeTypes.d.ts +34 -0
- package/dist/types/types/OwpSettingsTypes.d.ts +9 -0
- package/dist/types/types/OwpTableThemeTypes.d.ts +16 -0
- package/dist/types/types/index.d.ts +3 -2
- package/dist/types/utils/treeGridUtil.d.ts +1 -0
- package/dist/utils/exceljsBrowser.js +45 -48
- package/dist/utils/exceljsBrowser.js.map +1 -1
- package/dist/utils/treeGridUtil.js +66 -66
- package/dist/utils/treeGridUtil.js.map +1 -1
- package/package.json +1 -1
|
@@ -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 {\n resolveOwpGridTheme,\n type OwpResolvedGridThemeConfigType,\n} from '@/constants/gridTheme';\nimport {\n getTreeGridFontFaceStyles,\n TREEGRID_FONT_FAMILY_STACK,\n} from '@/constants/treeGrid';\nimport { OwpSvgIcon } from '@/components/OwpSvgIcon';\nimport { useGetCurrentLanguage } from '@/hooks/useCurrentLanguage';\nimport { useGetCurrentSettings } from '@/hooks/useOwpSettings';\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 { useMemo } from 'react';\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 treeGridHeaderTextSx = {\n color: '#ffffff',\n fontFamily: TREEGRID_FONT_FAMILY_STACK,\n fontSize: '14px',\n fontWeight: 'normal',\n lineHeight: '16px',\n} as const;\n\nconst getResolvedTreeGridHeaderTextSx = (headerCellStyle?: OwpMrtTableHeaderCellStyle) => ({\n ...treeGridHeaderTextSx,\n color: headerCellStyle?.color ?? treeGridHeaderTextSx.color,\n fontSize: headerCellStyle?.fontSize ?? treeGridHeaderTextSx.fontSize,\n fontWeight: headerCellStyle?.fontWeight ?? treeGridHeaderTextSx.fontWeight,\n});\n\nconst getTreeGridBodyTextSx = (fontSize: OwpResolvedGridThemeConfigType['cell']['fontSize']) => ({\n fontFamily: TREEGRID_FONT_FAMILY_STACK,\n fontSize,\n fontWeight: 'normal',\n lineHeight: '16px',\n});\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 }: HeadCellArgs<TData>,\n headerCellStyle?: OwpMrtTableHeaderCellStyle,\n): TableCellProps => {\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 }: HeadCellArgs<TData>,\n headerCellStyle?: OwpMrtTableHeaderCellStyle,\n): TableCellProps => {\n const isSelectColumn = column.id === 'mrt-row-select';\n const resolvedHeaderTextSx = getResolvedTreeGridHeaderTextSx(headerCellStyle);\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 }: BodyCellArgs<TData>,\n fontSize: OwpResolvedGridThemeConfigType['cell']['fontSize'],\n): TableCellProps => {\n const treeGridBodyTextSx = getTreeGridBodyTextSx(fontSize);\n\n if (column.id !== 'mrt-row-select') {\n return {\n sx: treeGridBodyTextSx,\n };\n }\n\n return {\n align: 'center',\n sx: {\n ...treeGridBodyTextSx,\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 currentSettings = useGetCurrentSettings();\n const {\n canHideTotalCountFooterBorder = false,\n canUseNoDataOverlay = false,\n canUseTableRadius = false,\n canTotalCountRow = true,\n canUseTreeGridStyle = true,\n columns,\n data,\n headerCellStyle,\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 treeGridTheme = useMemo(\n () => resolveOwpGridTheme(currentSettings?.theme?.main?.grid),\n [currentSettings],\n );\n const resolvedHeaderCellStyle = useMemo<OwpMrtTableHeaderCellStyle | undefined>(() => {\n if (!canUseTreeGridStyle) {\n return headerCellStyle;\n }\n\n return {\n backgroundColor: headerCellStyle?.backgroundColor ?? treeGridTheme.header.backgroundColor,\n color: headerCellStyle?.color ?? treeGridTheme.header.color,\n fontSize: headerCellStyle?.fontSize ?? treeGridTheme.header.fontSize,\n fontWeight: headerCellStyle?.fontWeight ?? treeGridTheme.header.fontWeight,\n height: headerCellStyle?.height ?? treeGridTheme.header.height,\n };\n }, [canUseTreeGridStyle, headerCellStyle, treeGridTheme]);\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\n ? (nextArgs) => getTreeGridBodyCellProps(nextArgs, treeGridTheme.cell.fontSize)\n : 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 (!resolvedHeaderCellStyle?.backgroundColor) {\n return undefined;\n }\n\n return {\n sx: {\n backgroundColor: `${resolvedHeaderCellStyle.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 (nextArgs) => getDefaultHeadCellProps(nextArgs, resolvedHeaderCellStyle),\n canUseTreeGridStyle\n ? (nextArgs) => getTreeGridHeadCellProps(nextArgs, resolvedHeaderCellStyle)\n : 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={getTreeGridFontFaceStyles()} />}\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","treeGridHeaderTextSx","TREEGRID_FONT_FAMILY_STACK","getResolvedTreeGridHeaderTextSx","__name","headerCellStyle","getTreeGridBodyTextSx","fontSize","getHeaderCellTextStyleSx","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","treeGridBodyTextSx","tableBodyTabNavigableFieldSelector","isTabNavigableTableBodyField","element","getCurrentTableBodyField","target","currentField","handleTableBodyFieldTabNavigation","event","tableElement","fields","currentIndex","nextField","DataTable","t","useOwpTranslation","currentSettings","useGetCurrentSettings","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","treeGridTheme","useMemo","resolveOwpGridTheme","_b","_a","resolvedHeaderCellStyle","isNoDataOverlayVisible","shouldApplyTotalCountFooterBorderlessLayout","shouldUseNoDataOverlay","shouldUseRadiusOuterBorder","displayColumnDefOptions","initialState","defaultsFC","defaultOptions","toolbarProps","OwpMrtTableTopToolbar","shouldRenderBaseBottomToolbar","resolvedTotalCount","isNumber","shouldHideLastBodyRowBorderForRadius","renderBaseBottomToolbar","MRT_BottomToolbar","getResolvedBodyCellProps","nextArgs","onKeyDownCapture","restMergedProps","getResolvedHeadRowProps","useMaterialReactTable","jsxs","Fragment","OwpTableTotalCount","GlobalStyles","getTreeGridFontFaceStyles","MaterialReactTable","OwpMrtTableNoDataOverlay","hasTableInstance","OwpMrtTable","currentLanguage","useGetCurrentLanguage","MRT_Localization_KO"],"mappings":"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"}
|
|
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 {\n resolveOwpGridTheme,\n type OwpResolvedGridThemeConfigType,\n} from '@/constants/gridTheme';\nimport {\n getTreeGridFontFaceStyles,\n} from '@/constants/treeGrid';\nimport { OwpSvgIcon } from '@/components/OwpSvgIcon';\nimport { useGetCurrentLanguage } from '@/hooks/useCurrentLanguage';\nimport { useGetCurrentSettings } from '@/hooks/useOwpSettings';\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 { useMemo } from 'react';\nimport {\n getTreeGridBodyCellSx,\n getTreeGridBodyRowSx,\n getTreeGridContainerSx,\n getTreeGridHeaderCellSx,\n getTreeGridTypographySx,\n TREEGRID_TABLE_BODY_BORDER_COLOR,\n TREEGRID_TABLE_HEADER_BORDER_COLOR,\n} from '../OwpTable/internal/treeGridTableStyle';\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 treeGridSortIconColor = '#cbd5e1';\n\nconst getResolvedTreeGridHeaderTextSx = (\n treeGridTheme: OwpResolvedGridThemeConfigType,\n headerCellStyle?: OwpMrtTableHeaderCellStyle,\n) => ({\n ...getTreeGridTypographySx(\n headerCellStyle?.fontSize ?? treeGridTheme.header.fontSize,\n headerCellStyle?.fontWeight ?? treeGridTheme.header.fontWeight,\n ),\n color: headerCellStyle?.color ?? treeGridTheme.header.color,\n});\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 getTreeGridPaperProps = (\n treeGridTheme: OwpResolvedGridThemeConfigType,\n): PaperProps => ({\n sx: {\n ...getTreeGridContainerSx(treeGridTheme),\n display: 'flex',\n height: '100%',\n flexDirection: 'column',\n border: `1px solid ${TREEGRID_TABLE_BODY_BORDER_COLOR}`,\n borderRadius: 0,\n boxShadow: 'none',\n },\n});\n\nconst totalCountFooterBorderlessPaperProps: PaperProps = {\n sx: {\n border: 0,\n },\n};\n\nconst getTotalCountFooterBorderlessContainerProps = (): TableContainerProps => ({\n sx: {\n borderTop: `1px solid ${TREEGRID_TABLE_BODY_BORDER_COLOR}`,\n borderRight: `1px solid ${TREEGRID_TABLE_BODY_BORDER_COLOR}`,\n borderLeft: `1px solid ${TREEGRID_TABLE_BODY_BORDER_COLOR}`,\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 getTreeGridHeadRowProps = (\n headerCellStyle?: OwpMrtTableHeaderCellStyle,\n): TableRowProps => ({\n sx: {\n backgroundColor: headerCellStyle?.backgroundColor,\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 getTreeGridTableProps = (\n treeGridTheme: OwpResolvedGridThemeConfigType,\n): TableProps => ({\n sx: {\n ...getTreeGridContainerSx(treeGridTheme),\n borderSpacing: 0,\n width: '100%',\n tableLayout: 'fixed',\n '& .MuiTableHead-root .MuiTableCell-root': {\n ...getTreeGridHeaderCellSx(treeGridTheme),\n py: 0.75,\n wordBreak: 'keep-all',\n },\n '& .MuiTableHead-root .MuiTableRow-root:first-of-type .MuiTableCell-root:first-of-type': {\n borderLeft: `1px solid ${TREEGRID_TABLE_HEADER_BORDER_COLOR}`,\n },\n '& .MuiTableHead-root .MuiTableRow-root:first-of-type .MuiTableCell-root:last-of-type': {\n borderRight: `1px solid ${TREEGRID_TABLE_HEADER_BORDER_COLOR}`,\n },\n '& .MuiTableHead-root .MuiIconButton-root': {\n display: 'none',\n },\n '& .MuiTableBody-root .MuiTableCell-root': {\n backgroundColor: treeGridTheme.row.backgroundColor,\n color: treeGridTheme.body.color,\n p: 0,\n verticalAlign: 'middle',\n borderRight: `1px solid ${TREEGRID_TABLE_BODY_BORDER_COLOR}`,\n borderBottom: `1px solid ${TREEGRID_TABLE_BODY_BORDER_COLOR}`,\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 }: HeadCellArgs<TData>,\n headerCellStyle?: OwpMrtTableHeaderCellStyle,\n): TableCellProps => {\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 }: HeadCellArgs<TData>,\n treeGridTheme: OwpResolvedGridThemeConfigType,\n headerCellStyle?: OwpMrtTableHeaderCellStyle,\n): TableCellProps => {\n const isSelectColumn = column.id === 'mrt-row-select';\n const resolvedHeaderTextSx = getResolvedTreeGridHeaderTextSx(treeGridTheme, headerCellStyle);\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),\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 }: BodyCellArgs<TData>,\n treeGridTheme: OwpResolvedGridThemeConfigType,\n): TableCellProps => {\n const treeGridBodyCellSx = { ...getTreeGridBodyCellSx(treeGridTheme) };\n\n Reflect.deleteProperty(treeGridBodyCellSx, 'padding');\n Reflect.deleteProperty(treeGridBodyCellSx, 'borderBottom');\n Reflect.deleteProperty(treeGridBodyCellSx, 'borderLeft');\n Reflect.deleteProperty(treeGridBodyCellSx, 'borderRight');\n\n if (column.id !== 'mrt-row-select') {\n return {\n sx: treeGridBodyCellSx,\n };\n }\n\n return {\n align: 'center',\n sx: {\n ...treeGridBodyCellSx,\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 currentSettings = useGetCurrentSettings();\n const {\n canHideTotalCountFooterBorder = false,\n canUseNoDataOverlay = false,\n canUseTableRadius = false,\n canTotalCountRow = true,\n canUseTreeGridStyle = true,\n columns,\n data,\n headerCellStyle,\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 treeGridTheme = useMemo(\n () => resolveOwpGridTheme(currentSettings?.theme?.main?.grid),\n [currentSettings],\n );\n const resolvedHeaderCellStyle = useMemo<OwpMrtTableHeaderCellStyle | undefined>(() => {\n if (!canUseTreeGridStyle) {\n return headerCellStyle;\n }\n\n return {\n backgroundColor: headerCellStyle?.backgroundColor ?? treeGridTheme.header.backgroundColor,\n color: headerCellStyle?.color ?? treeGridTheme.header.color,\n fontSize: headerCellStyle?.fontSize ?? treeGridTheme.header.fontSize,\n fontWeight: headerCellStyle?.fontWeight ?? treeGridTheme.header.fontWeight,\n height: headerCellStyle?.height ?? treeGridTheme.header.height,\n };\n }, [canUseTreeGridStyle, headerCellStyle, treeGridTheme]);\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\n ? (nextArgs) => getTreeGridBodyCellProps(nextArgs, treeGridTheme)\n : 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 getResolvedBodyRowProps = (args: BodyRowArgs<TData>) =>\n mergeResolvedProps<BodyRowArgs<TData>, TableRowProps>(\n args,\n getDefaultBodyRowProps,\n canUseTreeGridStyle\n ? () =>\n ({\n sx: getTreeGridBodyRowSx(treeGridTheme, {\n canHover: true,\n selected: args.row.getIsSelected(),\n }),\n }) satisfies TableRowProps\n : undefined,\n restTableBodyRowProps,\n );\n\n const getResolvedHeadRowProps = () => {\n if (!resolvedHeaderCellStyle?.backgroundColor) {\n return undefined;\n }\n\n return {\n sx: {\n backgroundColor: `${resolvedHeaderCellStyle.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>) => getResolvedBodyRowProps(args),\n muiTableContainerProps: (args: TableInstanceArgs<TData>) =>\n mergeResolvedProps<TableInstanceArgs<TData>, TableContainerProps>(\n args,\n defaultContainerProps,\n canUseTreeGridStyle ? treeGridContainerProps : undefined,\n canUseTreeGridStyle ? { sx: getTreeGridContainerSx(treeGridTheme) } : undefined,\n canUseTableRadius ? tableRadiusContainerProps : undefined,\n restTableContainerProps,\n shouldApplyTotalCountFooterBorderlessLayout && !shouldUseRadiusOuterBorder\n ? getTotalCountFooterBorderlessContainerProps()\n : undefined,\n ),\n muiTableHeadRowProps: (args) =>\n mergeResolvedProps(\n args,\n canUseTreeGridStyle ? getTreeGridHeadRowProps(resolvedHeaderCellStyle) : undefined,\n getResolvedHeadRowProps(),\n restTableHeadRowProps,\n ),\n muiTableHeadCellProps: (args: HeadCellArgs<TData>) =>\n mergeResolvedProps<HeadCellArgs<TData>, TableCellProps>(\n args,\n (nextArgs) => getDefaultHeadCellProps(nextArgs, resolvedHeaderCellStyle),\n canUseTreeGridStyle\n ? (nextArgs) => getTreeGridHeadCellProps(nextArgs, treeGridTheme, resolvedHeaderCellStyle)\n : undefined,\n restTableHeadCellProps,\n ),\n muiTablePaperProps: (args: TableInstanceArgs<TData>) =>\n mergeResolvedProps<TableInstanceArgs<TData>, PaperProps>(\n args,\n defaultPaperProps,\n canUseTreeGridStyle ? getTreeGridPaperProps(treeGridTheme) : 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 ? getTreeGridTableProps(treeGridTheme) : 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={getTreeGridFontFaceStyles()} />}\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":["treeGridSortIconColor","getResolvedTreeGridHeaderTextSx","__name","treeGridTheme","headerCellStyle","getTreeGridTypographySx","getHeaderCellTextStyleSx","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","getTreeGridPaperProps","getTreeGridContainerSx","TREEGRID_TABLE_BODY_BORDER_COLOR","totalCountFooterBorderlessPaperProps","getTotalCountFooterBorderlessContainerProps","defaultContainerProps","tableRadiusPaperProps","tableRadiusContainerProps","treeGridSelectColumnWidth","treeGridSelectColumnCellSx","treeGridContainerProps","getTreeGridHeadRowProps","defaultSelectCheckboxProps","treeGridSelectCheckboxProps","getTreeGridTableProps","getTreeGridHeaderCellSx","TREEGRID_TABLE_HEADER_BORDER_COLOR","treeGridTableRadiusProps","treeGridTableRadiusBottomEdgeProps","getDefaultBodyRowProps","row","table","density","getDefaultHeadCellProps","column","headerCellBackgroundColor","getTreeGridHeadCellProps","isSelectColumn","resolvedHeaderTextSx","resolvedSortIconColor","headerHeightStyleSx","getTreeGridBodyCellProps","treeGridBodyCellSx","getTreeGridBodyCellSx","tableBodyTabNavigableFieldSelector","isTabNavigableTableBodyField","element","getCurrentTableBodyField","target","currentField","handleTableBodyFieldTabNavigation","event","tableElement","fields","currentIndex","nextField","DataTable","t","useOwpTranslation","currentSettings","useGetCurrentSettings","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","useMemo","resolveOwpGridTheme","_b","_a","resolvedHeaderCellStyle","isNoDataOverlayVisible","shouldApplyTotalCountFooterBorderlessLayout","shouldUseNoDataOverlay","shouldUseRadiusOuterBorder","displayColumnDefOptions","initialState","defaultsFC","defaultOptions","toolbarProps","OwpMrtTableTopToolbar","shouldRenderBaseBottomToolbar","resolvedTotalCount","isNumber","shouldHideLastBodyRowBorderForRadius","renderBaseBottomToolbar","MRT_BottomToolbar","getResolvedBodyCellProps","nextArgs","onKeyDownCapture","restMergedProps","getResolvedBodyRowProps","getTreeGridBodyRowSx","getResolvedHeadRowProps","useMaterialReactTable","jsxs","Fragment","OwpTableTotalCount","GlobalStyles","getTreeGridFontFaceStyles","MaterialReactTable","OwpMrtTableNoDataOverlay","hasTableInstance","OwpMrtTable","currentLanguage","useGetCurrentLanguage","MRT_Localization_KO"],"mappings":"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"}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
var I = Object.defineProperty;
|
|
2
|
+
var n = (o, r) => I(o, "name", { value: r, configurable: !0 });
|
|
3
|
+
import { jsx as e, jsxs as p } 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 { defaultSnackbarTheme as u } from "../../configs/defaultConfig.js";
|
|
5
|
+
import { useGetCurrentSettings as B } from "../../hooks/useOwpSettings.js";
|
|
6
|
+
import O from "../../node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/Close.js";
|
|
7
|
+
import t from "@mui/material/Box";
|
|
8
|
+
import z from "@mui/material/IconButton";
|
|
9
|
+
import { useTheme as M, alpha as R } from "@mui/material/styles";
|
|
10
|
+
import { memo as V, forwardRef as W } from "react";
|
|
11
|
+
import { closeSnackbar as j, SnackbarContent as H } from "notistack";
|
|
12
|
+
const N = ["default", "success", "info", "warning", "error"];
|
|
13
|
+
function P(o) {
|
|
14
|
+
return N.find((r) => r === o) ?? "default";
|
|
15
|
+
}
|
|
16
|
+
n(P, "resolveSnackbarVariant");
|
|
17
|
+
function T(o, r = u) {
|
|
18
|
+
const a = r[o];
|
|
19
|
+
return {
|
|
20
|
+
...a,
|
|
21
|
+
actionHoverColor: R(a.color, o === "default" ? 0.18 : 0.16)
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
n(T, "getSnackbarPaletteColors");
|
|
25
|
+
function $(o, r) {
|
|
26
|
+
return typeof o == "function" ? o(r) : o;
|
|
27
|
+
}
|
|
28
|
+
n($, "resolveSnackbarAction");
|
|
29
|
+
const b = W(
|
|
30
|
+
/* @__PURE__ */ n(function(r, a) {
|
|
31
|
+
const d = M(), k = B(), {
|
|
32
|
+
id: i,
|
|
33
|
+
message: x,
|
|
34
|
+
action: S,
|
|
35
|
+
iconVariant: c,
|
|
36
|
+
variant: m,
|
|
37
|
+
hideIconVariant: g,
|
|
38
|
+
style: C,
|
|
39
|
+
className: v
|
|
40
|
+
} = r, f = `owp-snackbar-${i}`, w = P(m), l = T(
|
|
41
|
+
w,
|
|
42
|
+
k.snackbar ?? u
|
|
43
|
+
), s = g ? null : c == null ? void 0 : c[m], h = $(S, i), y = {
|
|
44
|
+
"--owp-snackbar-action-hover-bg": l.actionHoverColor,
|
|
45
|
+
backgroundColor: l.backgroundColor,
|
|
46
|
+
borderRadius: `${d.shape.borderRadius}px`,
|
|
47
|
+
boxShadow: d.shadows[2],
|
|
48
|
+
color: l.color,
|
|
49
|
+
overflow: "hidden",
|
|
50
|
+
padding: 0,
|
|
51
|
+
...C
|
|
52
|
+
};
|
|
53
|
+
return /* @__PURE__ */ e(
|
|
54
|
+
H,
|
|
55
|
+
{
|
|
56
|
+
ref: a,
|
|
57
|
+
"aria-describedby": f,
|
|
58
|
+
className: v,
|
|
59
|
+
role: "alert",
|
|
60
|
+
style: y,
|
|
61
|
+
children: /* @__PURE__ */ p(
|
|
62
|
+
t,
|
|
63
|
+
{
|
|
64
|
+
sx: {
|
|
65
|
+
alignItems: "center",
|
|
66
|
+
color: "inherit",
|
|
67
|
+
display: "flex",
|
|
68
|
+
minWidth: 0,
|
|
69
|
+
px: 2,
|
|
70
|
+
py: 1.25,
|
|
71
|
+
width: "100%"
|
|
72
|
+
},
|
|
73
|
+
children: [
|
|
74
|
+
/* @__PURE__ */ p(
|
|
75
|
+
t,
|
|
76
|
+
{
|
|
77
|
+
id: f,
|
|
78
|
+
sx: {
|
|
79
|
+
alignItems: "center",
|
|
80
|
+
color: "inherit",
|
|
81
|
+
display: "flex",
|
|
82
|
+
flex: 1,
|
|
83
|
+
gap: s ? 1.25 : 0,
|
|
84
|
+
minWidth: 0
|
|
85
|
+
},
|
|
86
|
+
children: [
|
|
87
|
+
s ? /* @__PURE__ */ e(
|
|
88
|
+
t,
|
|
89
|
+
{
|
|
90
|
+
sx: {
|
|
91
|
+
alignItems: "center",
|
|
92
|
+
color: "inherit",
|
|
93
|
+
display: "flex",
|
|
94
|
+
flexShrink: 0,
|
|
95
|
+
"& .MuiSvgIcon-root": {
|
|
96
|
+
fontSize: 20
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
children: s
|
|
100
|
+
}
|
|
101
|
+
) : null,
|
|
102
|
+
/* @__PURE__ */ e(
|
|
103
|
+
t,
|
|
104
|
+
{
|
|
105
|
+
sx: {
|
|
106
|
+
color: "inherit",
|
|
107
|
+
flex: 1,
|
|
108
|
+
minWidth: 0,
|
|
109
|
+
"& a": {
|
|
110
|
+
color: "inherit"
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
children: x
|
|
114
|
+
}
|
|
115
|
+
)
|
|
116
|
+
]
|
|
117
|
+
}
|
|
118
|
+
),
|
|
119
|
+
h ? /* @__PURE__ */ e(
|
|
120
|
+
t,
|
|
121
|
+
{
|
|
122
|
+
sx: {
|
|
123
|
+
alignItems: "center",
|
|
124
|
+
color: "inherit",
|
|
125
|
+
display: "flex",
|
|
126
|
+
flexShrink: 0,
|
|
127
|
+
ml: 1,
|
|
128
|
+
"& .MuiButtonBase-root": {
|
|
129
|
+
color: "inherit"
|
|
130
|
+
},
|
|
131
|
+
"& .MuiIconButton-root:hover": {
|
|
132
|
+
backgroundColor: "var(--owp-snackbar-action-hover-bg)"
|
|
133
|
+
}
|
|
134
|
+
},
|
|
135
|
+
children: h
|
|
136
|
+
}
|
|
137
|
+
) : /* @__PURE__ */ e(
|
|
138
|
+
z,
|
|
139
|
+
{
|
|
140
|
+
"aria-label": "close",
|
|
141
|
+
onClick: /* @__PURE__ */ n(() => j(i), "onClick"),
|
|
142
|
+
size: "small",
|
|
143
|
+
sx: {
|
|
144
|
+
color: "inherit",
|
|
145
|
+
flexShrink: 0,
|
|
146
|
+
ml: 1,
|
|
147
|
+
"&:hover": {
|
|
148
|
+
backgroundColor: "var(--owp-snackbar-action-hover-bg)"
|
|
149
|
+
}
|
|
150
|
+
},
|
|
151
|
+
children: /* @__PURE__ */ e(O, { fontSize: "small" })
|
|
152
|
+
}
|
|
153
|
+
)
|
|
154
|
+
]
|
|
155
|
+
}
|
|
156
|
+
)
|
|
157
|
+
}
|
|
158
|
+
);
|
|
159
|
+
}, "OwpSnackbarContent2")
|
|
160
|
+
);
|
|
161
|
+
b.displayName = "OwpSnackbarContent";
|
|
162
|
+
const U = V(b);
|
|
163
|
+
export {
|
|
164
|
+
U as OwpSnackbarContent
|
|
165
|
+
};
|
|
166
|
+
//# sourceMappingURL=OwpSnackbarContent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OwpSnackbarContent.js","sources":["../../../src/components/OwpSnackbarContent/OwpSnackbarContent.tsx"],"sourcesContent":["import { defaultSnackbarTheme } from '@/configs/defaultConfig';\nimport { useGetCurrentSettings } from '@/hooks/useOwpSettings';\nimport CloseIcon from '@mui/icons-material/Close';\nimport Box from '@mui/material/Box';\nimport IconButton from '@mui/material/IconButton';\nimport { alpha, useTheme } from '@mui/material/styles';\nimport type { CSSProperties, ReactNode } from 'react';\nimport { forwardRef, memo } from 'react';\nimport {\n closeSnackbar,\n SnackbarContent,\n type CustomContentProps,\n type SnackbarKey,\n} from 'notistack';\nimport type { OwpSnackbarVariantType } from '@/types/OwpSettingsTypes';\n\nconst snackbarVariantKeys = ['default', 'success', 'info', 'warning', 'error'] as const;\n\ntype SnackbarPaletteColors = {\n backgroundColor: string;\n color: string;\n actionHoverColor: string;\n};\n\n/**\n * Snackbar variant 정규화\n * @param variant notistack snackbar variant\n */\nfunction resolveSnackbarVariant(variant: CustomContentProps['variant']): OwpSnackbarVariantType {\n return snackbarVariantKeys.find((variantKey) => variantKey === variant) ?? 'default';\n}\n\n/**\n * Variant별 snackbar 색상 계산\n * @param variant snackbar variant\n */\nfunction getSnackbarPaletteColors(\n variant: OwpSnackbarVariantType,\n snackbarTheme = defaultSnackbarTheme,\n): SnackbarPaletteColors {\n const paletteColors = snackbarTheme[variant];\n\n return {\n ...paletteColors,\n actionHoverColor: alpha(paletteColors.color, variant === 'default' ? 0.18 : 0.16),\n };\n}\n\n/**\n * Snackbar action 노드 정규화\n * @param action action prop\n * @param snackbarKey snackbar key\n */\nfunction resolveSnackbarAction(\n action: CustomContentProps['action'],\n snackbarKey: SnackbarKey,\n): ReactNode {\n if (typeof action === 'function') {\n return action(snackbarKey);\n }\n\n return action;\n}\n\n/**\n * Hardcoded variant snackbar content\n * @param props notistack custom content props\n */\nconst OwpSnackbarContentComponent = forwardRef<HTMLDivElement, CustomContentProps>(\n function OwpSnackbarContent(props, ref) {\n const theme = useTheme();\n const currentSettings = useGetCurrentSettings();\n const {\n id,\n message,\n action: actionProp,\n iconVariant,\n variant,\n hideIconVariant,\n style,\n className,\n } = props;\n const ariaDescribedBy = `owp-snackbar-${id}`;\n const resolvedVariant = resolveSnackbarVariant(variant);\n const resolvedColors = getSnackbarPaletteColors(\n resolvedVariant,\n currentSettings.snackbar ?? defaultSnackbarTheme,\n );\n const icon = hideIconVariant ? null : iconVariant?.[variant];\n const action = resolveSnackbarAction(actionProp, id);\n const rootStyle = {\n '--owp-snackbar-action-hover-bg': resolvedColors.actionHoverColor,\n backgroundColor: resolvedColors.backgroundColor,\n borderRadius: `${theme.shape.borderRadius}px`,\n boxShadow: theme.shadows[2],\n color: resolvedColors.color,\n overflow: 'hidden',\n padding: 0,\n ...style,\n } as CSSProperties & Record<'--owp-snackbar-action-hover-bg', string>;\n\n return (\n <SnackbarContent\n ref={ref}\n aria-describedby={ariaDescribedBy}\n className={className}\n role=\"alert\"\n style={rootStyle}\n >\n <Box\n sx={{\n alignItems: 'center',\n color: 'inherit',\n display: 'flex',\n minWidth: 0,\n px: 2,\n py: 1.25,\n width: '100%',\n }}\n >\n <Box\n id={ariaDescribedBy}\n sx={{\n alignItems: 'center',\n color: 'inherit',\n display: 'flex',\n flex: 1,\n gap: icon ? 1.25 : 0,\n minWidth: 0,\n }}\n >\n {icon ? (\n <Box\n sx={{\n alignItems: 'center',\n color: 'inherit',\n display: 'flex',\n flexShrink: 0,\n '& .MuiSvgIcon-root': {\n fontSize: 20,\n },\n }}\n >\n {icon}\n </Box>\n ) : null}\n <Box\n sx={{\n color: 'inherit',\n flex: 1,\n minWidth: 0,\n '& a': {\n color: 'inherit',\n },\n }}\n >\n {message}\n </Box>\n </Box>\n {action ? (\n <Box\n sx={{\n alignItems: 'center',\n color: 'inherit',\n display: 'flex',\n flexShrink: 0,\n ml: 1,\n '& .MuiButtonBase-root': {\n color: 'inherit',\n },\n '& .MuiIconButton-root:hover': {\n backgroundColor: 'var(--owp-snackbar-action-hover-bg)',\n },\n }}\n >\n {action}\n </Box>\n ) : (\n <IconButton\n aria-label=\"close\"\n onClick={() => closeSnackbar(id)}\n size=\"small\"\n sx={{\n color: 'inherit',\n flexShrink: 0,\n ml: 1,\n '&:hover': {\n backgroundColor: 'var(--owp-snackbar-action-hover-bg)',\n },\n }}\n >\n <CloseIcon fontSize=\"small\" />\n </IconButton>\n )}\n </Box>\n </SnackbarContent>\n );\n },\n);\n\nOwpSnackbarContentComponent.displayName = 'OwpSnackbarContent';\n\nexport const OwpSnackbarContent = memo(OwpSnackbarContentComponent);\n"],"names":["snackbarVariantKeys","resolveSnackbarVariant","variant","variantKey","__name","getSnackbarPaletteColors","snackbarTheme","defaultSnackbarTheme","paletteColors","alpha","resolveSnackbarAction","action","snackbarKey","OwpSnackbarContentComponent","forwardRef","props","ref","theme","useTheme","currentSettings","useGetCurrentSettings","id","message","actionProp","iconVariant","hideIconVariant","style","className","ariaDescribedBy","resolvedVariant","resolvedColors","icon","rootStyle","jsx","SnackbarContent","jsxs","Box","IconButton","closeSnackbar","CloseIcon","OwpSnackbarContent","memo"],"mappings":"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"}
|