@owp/core 2.2.3 → 2.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/dist/_virtual/index11.js +2 -2
  2. package/dist/_virtual/index12.js +2 -2
  3. package/dist/_virtual/index13.js +2 -2
  4. package/dist/_virtual/index14.js +2 -2
  5. package/dist/_virtual/index15.js +2 -5
  6. package/dist/_virtual/index15.js.map +1 -1
  7. package/dist/_virtual/index16.js +2 -2
  8. package/dist/_virtual/index17.js +2 -2
  9. package/dist/_virtual/index5.js +5 -2
  10. package/dist/_virtual/index5.js.map +1 -1
  11. package/dist/_virtual/index6.js +2 -2
  12. package/dist/_virtual/index7.js +2 -2
  13. package/dist/components/OwpCommonCode/OwpCommonCodeSelector.js +68 -149
  14. package/dist/components/OwpCommonCode/OwpCommonCodeSelector.js.map +1 -1
  15. package/dist/components/OwpMrtTable/OwpMrtTable.js +186 -162
  16. package/dist/components/OwpMrtTable/OwpMrtTable.js.map +1 -1
  17. package/dist/components/OwpOptionSelector/OwpOptionSelector.js +52 -38
  18. package/dist/components/OwpOptionSelector/OwpOptionSelector.js.map +1 -1
  19. package/dist/components/OwpPageTitle/OwpPageTitle.js +74 -18
  20. package/dist/components/OwpPageTitle/OwpPageTitle.js.map +1 -1
  21. package/dist/components/OwpQuerySelector/OwpQuerySelector.js +232 -0
  22. package/dist/components/OwpQuerySelector/OwpQuerySelector.js.map +1 -0
  23. package/dist/components/OwpSearchFilter/OwpSearchFilter.js +44 -29
  24. package/dist/components/OwpSearchFilter/OwpSearchFilter.js.map +1 -1
  25. package/dist/components/OwpSection/OwpSection.js +102 -41
  26. package/dist/components/OwpSection/OwpSection.js.map +1 -1
  27. package/dist/components/OwpSelectorBase/OwpSelectorAutocomplete.js +381 -0
  28. package/dist/components/OwpSelectorBase/OwpSelectorAutocomplete.js.map +1 -0
  29. package/dist/components/OwpSelectorBase/OwpSelectorBase.js +14 -0
  30. package/dist/components/OwpSelectorBase/OwpSelectorBase.js.map +1 -0
  31. package/dist/components/OwpSelectorBase/OwpSelectorSelect.js +152 -0
  32. package/dist/components/OwpSelectorBase/OwpSelectorSelect.js.map +1 -0
  33. package/dist/components/OwpSelectorBase/hooks/useOwpSelectorBase.js +120 -0
  34. package/dist/components/OwpSelectorBase/hooks/useOwpSelectorBase.js.map +1 -0
  35. package/dist/components/OwpSelectorBase/utils/querySelectorUtils.js +24 -0
  36. package/dist/components/OwpSelectorBase/utils/querySelectorUtils.js.map +1 -0
  37. package/dist/hooks/useHeaderWrapState.js +48 -0
  38. package/dist/hooks/useHeaderWrapState.js.map +1 -0
  39. package/dist/hooks.js +40 -38
  40. package/dist/hooks.js.map +1 -1
  41. package/dist/index.js +39 -37
  42. package/dist/index.js.map +1 -1
  43. package/dist/layout/components/navigation/vertical/NavVerticalLayout.js +63 -27
  44. package/dist/layout/components/navigation/vertical/NavVerticalLayout.js.map +1 -1
  45. package/dist/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/ArrowDropDown.js +9 -0
  46. package/dist/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/ArrowDropDown.js.map +1 -0
  47. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/predicate/isFunction.js +10 -0
  48. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/predicate/isFunction.js.map +1 -0
  49. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE128/constants.js +1 -1
  50. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE128/index.js +1 -1
  51. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE39/index.js +1 -1
  52. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE93/constants.js +1 -1
  53. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE93/index.js +1 -1
  54. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/EAN_UPC/constants.js +1 -1
  55. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/EAN_UPC/index.js +1 -1
  56. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/GenericBarcode/index.js +1 -1
  57. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/ITF/constants.js +1 -1
  58. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/ITF/index.js +1 -1
  59. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/MSI/index.js +1 -1
  60. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/codabar/index.js +1 -1
  61. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/pharmacode/index.js +1 -1
  62. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/renderers/index.js +1 -1
  63. package/dist/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/index.js +1 -1
  64. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.js +1 -1
  65. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.js +1 -1
  66. package/dist/node_modules/.pnpm/react-imask@7.6.1_react@19.2.4/node_modules/react-imask/esm/mixin.js +1 -1
  67. package/dist/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/index.js +1 -1
  68. 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
  69. package/dist/owp-app.css +1 -1
  70. package/dist/types/components/OwpCommonCode/OwpCommonCodeSelector.d.ts +16 -6
  71. package/dist/types/components/OwpOptionSelector/OwpOptionSelector.d.ts +9 -8
  72. package/dist/types/components/OwpQuerySelector/OwpQuerySelector.d.ts +6 -0
  73. package/dist/types/components/OwpQuerySelector/index.d.ts +2 -0
  74. package/dist/types/components/OwpQuerySelector/types/index.d.ts +1 -0
  75. package/dist/types/components/OwpQuerySelector/types/types.d.ts +42 -0
  76. package/dist/types/components/OwpSection/OwpSection.d.ts +3 -1
  77. package/dist/types/components/OwpSelectorBase/OwpSelectorAutocomplete.d.ts +11 -0
  78. package/dist/types/components/OwpSelectorBase/OwpSelectorBase.d.ts +6 -0
  79. package/dist/types/components/OwpSelectorBase/OwpSelectorSelect.d.ts +11 -0
  80. package/dist/types/components/OwpSelectorBase/hooks/useOwpSelectorBase.d.ts +6 -0
  81. package/dist/types/components/OwpSelectorBase/types/index.d.ts +1 -0
  82. package/dist/types/components/OwpSelectorBase/types/types.d.ts +59 -0
  83. package/dist/types/components/OwpSelectorBase/utils/index.d.ts +1 -0
  84. package/dist/types/components/OwpSelectorBase/utils/querySelectorUtils.d.ts +31 -0
  85. package/dist/types/hooks/index.d.ts +1 -0
  86. package/dist/types/hooks/useHeaderWrapState.d.ts +14 -0
  87. package/dist/types/index.d.ts +1 -0
  88. 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 { 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 './OwpMrtTableNoDataOverlay';\nimport OwpMrtTableTopToolbar from './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 treeGridContainerProps: TableContainerProps = {\n sx: {\n flex: 1,\n minHeight: 0,\n overflowX: 'hidden',\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 ...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 '& > .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 = false,\n canUseTreeGridStyle = false,\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 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\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 initialState,\n },\n {\n initialState,\n layoutMode: canUseTreeGridStyle ? 'semantic' : 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 enableRowActions: canUseTreeGridStyle ? false : true,\n enableRowSelection: true,\n enableRowDragging: canUseTreeGridStyle ? false : undefined,\n enableRowOrdering: canUseTreeGridStyle ? false : undefined,\n enableStickyHeader: true,\n enableToolbarInternalActions: canUseTreeGridStyle ? false : 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","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","restTableBodyCellProps","restTableBodyRowProps","restTableContainerProps","restTableHeadCellProps","restTablePaperProps","restTableProps","restRenderBottomToolbar","restRenderEmptyRowsFallback","restOptions","resolvedData","isNoDataOverlayVisible","shouldApplyTotalCountFooterBorderlessLayout","shouldUseNoDataOverlay","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":"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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 { 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 './OwpMrtTableNoDataOverlay';\nimport OwpMrtTableTopToolbar from './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":"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"}
@@ -1,44 +1,58 @@
1
- var I = Object.defineProperty;
2
- var p = (r, n) => I(r, "name", { value: n, configurable: !0 });
3
- import { jsxs as d, jsx as o } 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 { useOwpTranslation as O } from "../../hooks/useOwpTranslation.js";
5
- import { Select as b, MenuItem as c, FormControl as j, InputLabel as y, FormHelperText as C } from "@mui/material";
6
- import { clsx as F } from "../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.js";
7
- import { useId as S } from "react";
8
- const N = /* @__PURE__ */ p(({
9
- label: r,
10
- required: n,
11
- fullWidth: s,
12
- defaultValue: i,
13
- disableAllValueItem: e,
14
- error: u,
15
- helperText: l,
16
- options: h,
17
- className: v,
1
+ var v = Object.defineProperty;
2
+ var m = (l, r) => v(l, "name", { value: r, configurable: !0 });
3
+ import { jsx as w } 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 { OwpSelectorBase as x } from "../OwpSelectorBase/OwpSelectorBase.js";
5
+ import { useMemo as S } from "react";
6
+ const T = /* @__PURE__ */ m(({
7
+ className: l,
8
+ defaultValue: r,
9
+ disableAllValueItem: d,
10
+ error: o,
11
+ fullWidth: i,
12
+ helperText: p,
13
+ label: b,
14
+ multiple: c,
15
+ onChange: s,
16
+ options: a,
17
+ required: u,
18
+ value: O,
18
19
  ...t
19
20
  }) => {
20
- const { t: w } = O(), m = `owp-option-selector-label-${S()}`;
21
- return /* @__PURE__ */ d(j, { fullWidth: s, required: n, error: u, variant: "standard", children: [
22
- r ? /* @__PURE__ */ o(y, { shrink: !0, id: m, children: r }) : null,
23
- /* @__PURE__ */ d(
24
- b,
25
- {
26
- displayEmpty: !0,
27
- variant: "standard",
28
- ...t,
29
- className: F("min-w-128", v),
30
- labelId: r ? m : void 0,
31
- value: e ? t.value ?? i : t.value ?? i ?? "",
32
- children: [
33
- !e && /* @__PURE__ */ o(c, { value: "", children: w("Common.전체") }),
34
- h.map(({ value: a, label: f, disabled: x }) => /* @__PURE__ */ o(c, { value: a, disabled: x, children: f }, `owp-option-selector-item-${a}`))
35
- ]
36
- }
37
- ),
38
- l ? /* @__PURE__ */ o(C, { children: l }) : null
39
- ] });
21
+ const f = S(
22
+ () => a.map((e) => ({
23
+ disabled: e.disabled,
24
+ label: e.label,
25
+ value: e.value
26
+ })),
27
+ [a]
28
+ );
29
+ return /* @__PURE__ */ w(
30
+ x,
31
+ {
32
+ className: l,
33
+ defaultValue: r,
34
+ disableAllValueItem: d,
35
+ disabled: t.disabled,
36
+ error: o,
37
+ fullWidth: i,
38
+ helperText: p,
39
+ label: b,
40
+ multiple: c,
41
+ name: t.name,
42
+ onChange: /* @__PURE__ */ m((e) => {
43
+ s == null || s(e, null);
44
+ }, "onChange"),
45
+ options: f,
46
+ required: u,
47
+ selectProps: {
48
+ ...t
49
+ },
50
+ selectorType: "select",
51
+ value: O
52
+ }
53
+ );
40
54
  }, "OwpOptionSelector");
41
55
  export {
42
- N as OwpOptionSelector
56
+ T as OwpOptionSelector
43
57
  };
44
58
  //# sourceMappingURL=OwpOptionSelector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OwpOptionSelector.js","sources":["../../../src/components/OwpOptionSelector/OwpOptionSelector.tsx"],"sourcesContent":["import { useOwpTranslation } from '@/hooks/useOwpTranslation';\nimport {\n FormControl,\n FormHelperText,\n InputLabel,\n MenuItem,\n Select,\n type SelectProps,\n} from '@mui/material';\nimport clsx from 'clsx';\nimport { type ReactNode, useId } from 'react';\n\nexport interface OwpOptionSelectorOption {\n value: string;\n label: ReactNode;\n disabled?: boolean;\n}\n\nexport interface OwpOptionSelectorProps extends Omit<SelectProps<string>, 'label' | 'variant'> {\n label?: string;\n disableAllValueItem?: boolean;\n helperText?: string;\n options: OwpOptionSelectorOption[];\n}\n\n/**\n * 단일 선택 옵션 Select\n * @param label 입력 라벨\n * @param disableAllValueItem 전체 옵션 노출 여부\n * @param helperText 하단 안내 문구\n * @param options 선택 옵션 목록\n */\nconst OwpOptionSelector = ({\n label,\n required,\n fullWidth,\n defaultValue,\n disableAllValueItem,\n error,\n helperText,\n options,\n className,\n ...selectProps\n}: OwpOptionSelectorProps) => {\n const { t } = useOwpTranslation();\n const labelId = `owp-option-selector-label-${useId()}`;\n\n return (\n <FormControl fullWidth={fullWidth} required={required} error={error} variant=\"standard\">\n {label ? (\n <InputLabel shrink id={labelId}>\n {label}\n </InputLabel>\n ) : null}\n <Select\n displayEmpty\n variant=\"standard\"\n {...selectProps}\n className={clsx('min-w-128', className)}\n labelId={label ? labelId : undefined}\n value={\n disableAllValueItem\n ? (selectProps.value ?? defaultValue)\n : (selectProps.value ?? defaultValue ?? '')\n }\n >\n {!disableAllValueItem && <MenuItem value=\"\">{t('Common.전체')}</MenuItem>}\n {options.map(({ value, label: optionLabel, disabled }) => (\n <MenuItem key={`owp-option-selector-item-${value}`} value={value} disabled={disabled}>\n {optionLabel}\n </MenuItem>\n ))}\n </Select>\n {helperText ? <FormHelperText>{helperText}</FormHelperText> : null}\n </FormControl>\n );\n};\n\nexport { OwpOptionSelector };\n"],"names":["OwpOptionSelector","__name","label","required","fullWidth","defaultValue","disableAllValueItem","error","helperText","options","className","selectProps","t","useOwpTranslation","labelId","useId","FormControl","InputLabel","jsxs","Select","clsx","jsx","MenuItem","value","optionLabel","disabled","FormHelperText"],"mappings":";;;;;;;AAgCA,MAAMA,IAAoB,gBAAAC,EAAA,CAAC;AAAA,EACzB,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,cAAAC;AAAA,EACA,qBAAAC;AAAA,EACA,OAAAC;AAAA,EACA,YAAAC;AAAA,EACA,SAAAC;AAAA,EACA,WAAAC;AAAA,EACA,GAAGC;AACL,MAA8B;AAC5B,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAA,GACRC,IAAU,6BAA6BC,EAAA,CAAO;AAEpD,2BACGC,GAAA,EAAY,WAAAZ,GAAsB,UAAAD,GAAoB,OAAAI,GAAc,SAAQ,YAC1E,UAAA;AAAA,IAAAL,sBACEe,GAAA,EAAW,QAAM,IAAC,IAAIH,GACpB,aACH,IACE;AAAA,IACJ,gBAAAI;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,cAAY;AAAA,QACZ,SAAQ;AAAA,QACP,GAAGR;AAAA,QACJ,WAAWS,EAAK,aAAaV,CAAS;AAAA,QACtC,SAASR,IAAQY,IAAU;AAAA,QAC3B,OACER,IACKK,EAAY,SAASN,IACrBM,EAAY,SAASN,KAAgB;AAAA,QAG3C,UAAA;AAAA,UAAA,CAACC,KAAuB,gBAAAe,EAACC,GAAA,EAAS,OAAM,IAAI,UAAAV,EAAE,WAAW,GAAE;AAAA,UAC3DH,EAAQ,IAAI,CAAC,EAAE,OAAAc,GAAO,OAAOC,GAAa,UAAAC,EAAA,MACzC,gBAAAJ,EAACC,KAAmD,OAAAC,GAAc,UAAAE,GAC/D,eADY,4BAA4BF,CAAK,EAEhD,CACD;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,IAEFf,IAAa,gBAAAa,EAACK,GAAA,EAAgB,UAAAlB,EAAA,CAAW,IAAoB;AAAA,EAAA,GAChE;AAEJ,GA5C0B;"}
1
+ {"version":3,"file":"OwpOptionSelector.js","sources":["../../../src/components/OwpOptionSelector/OwpOptionSelector.tsx"],"sourcesContent":["import { OwpSelectorBase } from '@/components/OwpSelectorBase/OwpSelectorBase';\nimport { type SelectChangeEvent, type SelectProps } from '@mui/material';\nimport { type ReactNode, useMemo } from 'react';\n\nexport interface OwpOptionSelectorOption {\n value: string;\n label: ReactNode;\n disabled?: boolean;\n}\n\nexport interface OwpOptionSelectorProps extends Omit<\n SelectProps<string>,\n 'defaultValue' | 'multiple' | 'onChange' | 'renderValue' | 'value' | 'variant'\n> {\n label?: string;\n defaultValue?: string;\n disableAllValueItem?: boolean;\n helperText?: string;\n multiple?: boolean;\n onChange?: (event: SelectChangeEvent<string>, child: ReactNode) => void;\n options: OwpOptionSelectorOption[];\n value?: string;\n}\n\n/**\n * 옵션 선택기\n * @param props 옵션 선택기 props\n */\nconst OwpOptionSelector = ({\n className,\n defaultValue,\n disableAllValueItem,\n error,\n fullWidth,\n helperText,\n label,\n multiple,\n onChange,\n options,\n required,\n value,\n ...selectProps\n}: OwpOptionSelectorProps) => {\n const selectorOptions = useMemo(\n () =>\n options.map((option) => ({\n disabled: option.disabled,\n label: option.label,\n value: option.value,\n })),\n [options],\n );\n\n return (\n <OwpSelectorBase\n className={className}\n defaultValue={defaultValue}\n disableAllValueItem={disableAllValueItem}\n disabled={selectProps.disabled}\n error={error}\n fullWidth={fullWidth}\n helperText={helperText}\n label={label}\n multiple={multiple}\n name={selectProps.name}\n onChange={(event) => {\n onChange?.(event as SelectChangeEvent<string>, null);\n }}\n options={selectorOptions}\n required={required}\n selectProps={{\n ...selectProps,\n }}\n selectorType=\"select\"\n value={value}\n />\n );\n};\n\nexport { OwpOptionSelector };\n"],"names":["OwpOptionSelector","__name","className","defaultValue","disableAllValueItem","error","fullWidth","helperText","label","multiple","onChange","options","required","value","selectProps","selectorOptions","useMemo","option","jsx","OwpSelectorBase","event"],"mappings":";;;;;AA4BA,MAAMA,IAAoB,gBAAAC,EAAA,CAAC;AAAA,EACzB,WAAAC;AAAA,EACA,cAAAC;AAAA,EACA,qBAAAC;AAAA,EACA,OAAAC;AAAA,EACA,WAAAC;AAAA,EACA,YAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,SAAAC;AAAA,EACA,UAAAC;AAAA,EACA,OAAAC;AAAA,EACA,GAAGC;AACL,MAA8B;AAC5B,QAAMC,IAAkBC;AAAA,IACtB,MACEL,EAAQ,IAAI,CAACM,OAAY;AAAA,MACvB,UAAUA,EAAO;AAAA,MACjB,OAAOA,EAAO;AAAA,MACd,OAAOA,EAAO;AAAA,IAAA,EACd;AAAA,IACJ,CAACN,CAAO;AAAA,EAAA;AAGV,SACE,gBAAAO;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,WAAAjB;AAAA,MACA,cAAAC;AAAA,MACA,qBAAAC;AAAA,MACA,UAAUU,EAAY;AAAA,MACtB,OAAAT;AAAA,MACA,WAAAC;AAAA,MACA,YAAAC;AAAA,MACA,OAAAC;AAAA,MACA,UAAAC;AAAA,MACA,MAAMK,EAAY;AAAA,MAClB,UAAU,gBAAAb,EAAA,CAACmB,MAAU;AACnB,QAAAV,KAAA,QAAAA,EAAWU,GAAoC;AAAA,MACjD,GAFU;AAAA,MAGV,SAASL;AAAA,MACT,UAAAH;AAAA,MACA,aAAa;AAAA,QACX,GAAGE;AAAA,MAAA;AAAA,MAEL,cAAa;AAAA,MACb,OAAAD;AAAA,IAAA;AAAA,EAAA;AAGN,GAjD0B;"}
@@ -1,22 +1,78 @@
1
- var l = Object.defineProperty;
2
- var d = (e, n) => l(e, "name", { value: n, configurable: !0 });
3
- import { jsxs as r, jsx as i, Fragment as a } 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 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/Fitbit.js";
5
- const f = /* @__PURE__ */ d(({ title: e, leftSlot: n, centerSlot: s, actions: c }) => {
6
- const m = e != null && e !== "";
7
- return /* @__PURE__ */ r("div", { className: "flex justify-between items-center min-h-[44px]", children: [
8
- /* @__PURE__ */ r("div", { className: "flex items-center gap-12", children: [
9
- m && /* @__PURE__ */ r(a, { children: [
10
- /* @__PURE__ */ i(o, { sx: { fontSize: 32, color: "secondary.main" } }),
11
- /* @__PURE__ */ i("h5", { className: "text-3xl font-medium", children: e })
12
- ] }),
13
- n && /* @__PURE__ */ i("div", { children: n })
14
- ] }),
15
- s && /* @__PURE__ */ i("div", { children: s }),
16
- c && /* @__PURE__ */ i("div", { children: c })
17
- ] });
1
+ var u = Object.defineProperty;
2
+ var c = (e, s) => u(e, "name", { value: s, configurable: !0 });
3
+ import { jsxs as n, jsx as a } 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 { clsx as l } from "../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.js";
5
+ import h 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/Fitbit.js";
6
+ import { useHeaderWrapState as w } from "../../hooks/useHeaderWrapState.js";
7
+ const R = /* @__PURE__ */ c(({ title: e, leftSlot: s, centerSlot: i, actions: f }) => {
8
+ const d = e != null && e !== "", m = !!(s || i), { containerRef: o, titleRef: t, slotsRef: x, actionsRef: p, isWrapped: r } = w([
9
+ e,
10
+ s,
11
+ i,
12
+ f
13
+ ]);
14
+ return /* @__PURE__ */ n(
15
+ "div",
16
+ {
17
+ ref: o,
18
+ className: l(
19
+ "min-h-[44px] w-full",
20
+ r ? "flex flex-col gap-8" : "grid grid-cols-[auto_minmax(0,1fr)_auto] items-center gap-x-12 gap-y-8"
21
+ ),
22
+ children: [
23
+ d && /* @__PURE__ */ n(
24
+ "div",
25
+ {
26
+ ref: t,
27
+ className: l(
28
+ "flex shrink-0 items-center gap-12 whitespace-nowrap",
29
+ r ? "order-1 self-start" : "col-start-1"
30
+ ),
31
+ children: [
32
+ /* @__PURE__ */ a(h, { className: "shrink-0", sx: { fontSize: 32, color: "secondary.main" } }),
33
+ /* @__PURE__ */ a("h5", { className: "shrink-0 whitespace-nowrap text-3xl font-medium", children: e })
34
+ ]
35
+ }
36
+ ),
37
+ m && /* @__PURE__ */ a(
38
+ "div",
39
+ {
40
+ ref: x,
41
+ className: l(
42
+ "flex max-w-full",
43
+ r ? "order-2 self-end justify-end" : "col-start-2 justify-self-center"
44
+ ),
45
+ children: /* @__PURE__ */ n(
46
+ "div",
47
+ {
48
+ className: l(
49
+ "flex max-w-full items-center gap-12",
50
+ r ? "flex-wrap justify-end" : "flex-nowrap justify-center"
51
+ ),
52
+ children: [
53
+ s && /* @__PURE__ */ a("div", { className: "max-w-full", children: s }),
54
+ i && /* @__PURE__ */ a("div", { className: "max-w-full", children: i })
55
+ ]
56
+ }
57
+ )
58
+ }
59
+ ),
60
+ f && /* @__PURE__ */ a(
61
+ "div",
62
+ {
63
+ ref: p,
64
+ className: l(
65
+ "flex max-w-full justify-end",
66
+ r ? "order-3 self-end" : "col-start-3 justify-self-end"
67
+ ),
68
+ children: f
69
+ }
70
+ )
71
+ ]
72
+ }
73
+ );
18
74
  }, "OwpPageTitle");
19
75
  export {
20
- f as OwpPageTitle
76
+ R as OwpPageTitle
21
77
  };
22
78
  //# sourceMappingURL=OwpPageTitle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OwpPageTitle.js","sources":["../../../src/components/OwpPageTitle/OwpPageTitle.tsx"],"sourcesContent":["import FitbitIcon from '@mui/icons-material/Fitbit';\nimport type { ReactNode } from 'react';\n\ninterface OwpPageTitleProps {\n title?: ReactNode;\n leftSlot?: ReactNode;\n centerSlot?: ReactNode;\n actions?: ReactNode;\n}\n\n/**\n * OwpPageTitle 컴포넌트\n * @param title 제목\n * @param leftSlot leftSlot 값\n * @param centerSlot centerSlot 값\n * @param actions 액션 영역\n */\nconst OwpPageTitle = ({ title, leftSlot, centerSlot, actions }: OwpPageTitleProps) => {\n const hasTitle = title !== undefined && title !== null && title !== '';\n\n return (\n <div className=\"flex justify-between items-center min-h-[44px]\">\n <div className=\"flex items-center gap-12\">\n {hasTitle && (\n <>\n <FitbitIcon sx={{ fontSize: 32, color: 'secondary.main' }} />\n <h5 className=\"text-3xl font-medium\">{title}</h5>\n </>\n )}\n {leftSlot && <div>{leftSlot}</div>}\n </div>\n {centerSlot && <div>{centerSlot}</div>}\n {actions && <div>{actions}</div>}\n </div>\n );\n};\n\nexport { OwpPageTitle };\n"],"names":["OwpPageTitle","__name","title","leftSlot","centerSlot","actions","hasTitle","jsxs","Fragment","jsx","FitbitIcon"],"mappings":";;;;AAiBA,MAAMA,IAAe,gBAAAC,EAAA,CAAC,EAAE,OAAAC,GAAO,UAAAC,GAAU,YAAAC,GAAY,SAAAC,QAAiC;AACpF,QAAMC,IAAkCJ,KAAU,QAAQA,MAAU;AAEpE,SACE,gBAAAK,EAAC,OAAA,EAAI,WAAU,kDACb,UAAA;AAAA,IAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,4BACZ,UAAA;AAAA,MAAAD,KACC,gBAAAC,EAAAC,GAAA,EACE,UAAA;AAAA,QAAA,gBAAAC,EAACC,KAAW,IAAI,EAAE,UAAU,IAAI,OAAO,oBAAoB;AAAA,QAC3D,gBAAAD,EAAC,MAAA,EAAG,WAAU,wBAAwB,UAAAP,EAAA,CAAM;AAAA,MAAA,GAC9C;AAAA,MAEDC,KAAY,gBAAAM,EAAC,OAAA,EAAK,UAAAN,EAAA,CAAS;AAAA,IAAA,GAC9B;AAAA,IACCC,KAAc,gBAAAK,EAAC,OAAA,EAAK,UAAAL,EAAA,CAAW;AAAA,IAC/BC,KAAW,gBAAAI,EAAC,OAAA,EAAK,UAAAJ,EAAA,CAAQ;AAAA,EAAA,GAC5B;AAEJ,GAlBqB;"}
1
+ {"version":3,"file":"OwpPageTitle.js","sources":["../../../src/components/OwpPageTitle/OwpPageTitle.tsx"],"sourcesContent":["import clsx from 'clsx';\nimport FitbitIcon from '@mui/icons-material/Fitbit';\nimport type { ReactNode } from 'react';\nimport { useHeaderWrapState } from '@/hooks/useHeaderWrapState';\n\ninterface OwpPageTitleProps {\n title?: ReactNode;\n leftSlot?: ReactNode;\n centerSlot?: ReactNode;\n actions?: ReactNode;\n}\n\n/**\n * OwpPageTitle 컴포넌트\n * @param title 제목\n * @param leftSlot leftSlot 값\n * @param centerSlot centerSlot 값\n * @param actions 액션 영역\n */\nconst OwpPageTitle = ({ title, leftSlot, centerSlot, actions }: OwpPageTitleProps) => {\n const hasTitle = title !== undefined && title !== null && title !== '';\n const hasSlots = Boolean(leftSlot || centerSlot);\n const { containerRef, titleRef, slotsRef, actionsRef, isWrapped } = useHeaderWrapState([\n title,\n leftSlot,\n centerSlot,\n actions,\n ]);\n\n return (\n <div\n ref={containerRef}\n className={clsx(\n 'min-h-[44px] w-full',\n isWrapped\n ? 'flex flex-col gap-8'\n : 'grid grid-cols-[auto_minmax(0,1fr)_auto] items-center gap-x-12 gap-y-8',\n )}\n >\n {hasTitle && (\n <div\n ref={titleRef}\n className={clsx(\n 'flex shrink-0 items-center gap-12 whitespace-nowrap',\n isWrapped ? 'order-1 self-start' : 'col-start-1',\n )}\n >\n <FitbitIcon className=\"shrink-0\" sx={{ fontSize: 32, color: 'secondary.main' }} />\n <h5 className=\"shrink-0 whitespace-nowrap text-3xl font-medium\">{title}</h5>\n </div>\n )}\n {hasSlots && (\n <div\n ref={slotsRef}\n className={clsx(\n 'flex max-w-full',\n isWrapped ? 'order-2 self-end justify-end' : 'col-start-2 justify-self-center',\n )}\n >\n <div\n className={clsx(\n 'flex max-w-full items-center gap-12',\n isWrapped ? 'flex-wrap justify-end' : 'flex-nowrap justify-center',\n )}\n >\n {leftSlot && <div className=\"max-w-full\">{leftSlot}</div>}\n {centerSlot && <div className=\"max-w-full\">{centerSlot}</div>}\n </div>\n </div>\n )}\n {actions && (\n <div\n ref={actionsRef}\n className={clsx(\n 'flex max-w-full justify-end',\n isWrapped ? 'order-3 self-end' : 'col-start-3 justify-self-end',\n )}\n >\n {actions}\n </div>\n )}\n </div>\n );\n};\n\nexport { OwpPageTitle };\n"],"names":["OwpPageTitle","__name","title","leftSlot","centerSlot","actions","hasTitle","hasSlots","containerRef","titleRef","slotsRef","actionsRef","isWrapped","useHeaderWrapState","jsxs","clsx","jsx","FitbitIcon"],"mappings":";;;;;;AAmBA,MAAMA,IAAe,gBAAAC,EAAA,CAAC,EAAE,OAAAC,GAAO,UAAAC,GAAU,YAAAC,GAAY,SAAAC,QAAiC;AACpF,QAAMC,IAAkCJ,KAAU,QAAQA,MAAU,IAC9DK,IAAW,GAAQJ,KAAYC,IAC/B,EAAE,cAAAI,GAAc,UAAAC,GAAU,UAAAC,GAAU,YAAAC,GAAY,WAAAC,EAAA,IAAcC,EAAmB;AAAA,IACrFX;AAAA,IACAC;AAAA,IACAC;AAAA,IACAC;AAAA,EAAA,CACD;AAED,SACE,gBAAAS;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAKN;AAAA,MACL,WAAWO;AAAA,QACT;AAAA,QACAH,IACI,wBACA;AAAA,MAAA;AAAA,MAGL,UAAA;AAAA,QAAAN,KACC,gBAAAQ;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,KAAKL;AAAA,YACL,WAAWM;AAAA,cACT;AAAA,cACAH,IAAY,uBAAuB;AAAA,YAAA;AAAA,YAGrC,UAAA;AAAA,cAAA,gBAAAI,EAACC,GAAA,EAAW,WAAU,YAAW,IAAI,EAAE,UAAU,IAAI,OAAO,iBAAA,EAAiB,CAAG;AAAA,cAChF,gBAAAD,EAAC,MAAA,EAAG,WAAU,mDAAmD,UAAAd,EAAA,CAAM;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,QAG1EK,KACC,gBAAAS;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,KAAKN;AAAA,YACL,WAAWK;AAAA,cACT;AAAA,cACAH,IAAY,iCAAiC;AAAA,YAAA;AAAA,YAG/C,UAAA,gBAAAE;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,WAAWC;AAAA,kBACT;AAAA,kBACAH,IAAY,0BAA0B;AAAA,gBAAA;AAAA,gBAGvC,UAAA;AAAA,kBAAAT,KAAY,gBAAAa,EAAC,OAAA,EAAI,WAAU,cAAc,UAAAb,GAAS;AAAA,kBAClDC,KAAc,gBAAAY,EAAC,OAAA,EAAI,WAAU,cAAc,UAAAZ,EAAA,CAAW;AAAA,gBAAA;AAAA,cAAA;AAAA,YAAA;AAAA,UACzD;AAAA,QAAA;AAAA,QAGHC,KACC,gBAAAW;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,KAAKL;AAAA,YACL,WAAWI;AAAA,cACT;AAAA,cACAH,IAAY,qBAAqB;AAAA,YAAA;AAAA,YAGlC,UAAAP;AAAA,UAAA;AAAA,QAAA;AAAA,MACH;AAAA,IAAA;AAAA,EAAA;AAIR,GAhEqB;"}