@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.
Files changed (65) hide show
  1. package/dist/_virtual/index11.js +2 -2
  2. package/dist/_virtual/index13.js +2 -2
  3. package/dist/_virtual/index14.js +2 -2
  4. package/dist/_virtual/index15.js +2 -2
  5. package/dist/components/OwpMrtTable/OwpMrtTable.js +250 -258
  6. package/dist/components/OwpMrtTable/OwpMrtTable.js.map +1 -1
  7. package/dist/components/OwpSnackbarContent/OwpSnackbarContent.js +166 -0
  8. package/dist/components/OwpSnackbarContent/OwpSnackbarContent.js.map +1 -0
  9. package/dist/components/OwpTable/OwpDataTable.js +316 -288
  10. package/dist/components/OwpTable/OwpDataTable.js.map +1 -1
  11. package/dist/components/OwpTable/OwpFieldTable.js +102 -58
  12. package/dist/components/OwpTable/OwpFieldTable.js.map +1 -1
  13. package/dist/components/OwpTable/OwpTable.js +163 -164
  14. package/dist/components/OwpTable/OwpTable.js.map +1 -1
  15. package/dist/components/OwpTable/internal/treeGridTableStyle.js +77 -0
  16. package/dist/components/OwpTable/internal/treeGridTableStyle.js.map +1 -0
  17. package/dist/components/OwpTreeGrid/OwpTreeGrid.js +197 -252
  18. package/dist/components/OwpTreeGrid/OwpTreeGrid.js.map +1 -1
  19. package/dist/components/OwpTreeGrid/internal/treeGridRuntime.js +172 -131
  20. package/dist/components/OwpTreeGrid/internal/treeGridRuntime.js.map +1 -1
  21. package/dist/components/OwpTreeGrid/internal/treeGridTheme.js +462 -0
  22. package/dist/components/OwpTreeGrid/internal/treeGridTheme.js.map +1 -0
  23. package/dist/configs/defaultConfig.js +67 -44
  24. package/dist/configs/defaultConfig.js.map +1 -1
  25. package/dist/constants/gridTheme.js +60 -10
  26. package/dist/constants/gridTheme.js.map +1 -1
  27. package/dist/constants/tableTheme.js +16 -0
  28. package/dist/constants/tableTheme.js.map +1 -0
  29. package/dist/constants/treeGrid.js +44 -26
  30. package/dist/constants/treeGrid.js.map +1 -1
  31. package/dist/constants.js +21 -20
  32. package/dist/contexts/OwpUiProvider.js +59 -38
  33. package/dist/contexts/OwpUiProvider.js.map +1 -1
  34. package/dist/index.js +111 -110
  35. package/dist/layout/components/toolbar/ToolbarLayout.js +5 -4
  36. package/dist/layout/components/toolbar/ToolbarLayout.js.map +1 -1
  37. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE128/index.js +1 -1
  38. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE39/index.js +1 -1
  39. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE93/index.js +1 -1
  40. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/EAN_UPC/index.js +1 -1
  41. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/GenericBarcode/index.js +1 -1
  42. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/ITF/index.js +1 -1
  43. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/MSI/index.js +1 -1
  44. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/codabar/index.js +1 -1
  45. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/pharmacode/index.js +1 -1
  46. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/renderers/index.js +1 -1
  47. package/dist/types/components/OwpSnackbarContent/OwpSnackbarContent.d.ts +2 -0
  48. package/dist/types/components/OwpTable/OwpTable.d.ts +3 -1
  49. package/dist/types/components/OwpTable/internal/treeGridTableStyle.d.ts +105 -0
  50. package/dist/types/components/OwpTreeGrid/internal/treeGridRuntime.d.ts +5 -1
  51. package/dist/types/components/OwpTreeGrid/internal/treeGridTheme.d.ts +20 -0
  52. package/dist/types/configs/defaultConfig.d.ts +22 -0
  53. package/dist/types/constants/gridTheme.d.ts +58 -0
  54. package/dist/types/constants/tableTheme.d.ts +18 -0
  55. package/dist/types/constants/treeGrid.d.ts +5 -0
  56. package/dist/types/types/OwpGridThemeTypes.d.ts +34 -0
  57. package/dist/types/types/OwpSettingsTypes.d.ts +9 -0
  58. package/dist/types/types/OwpTableThemeTypes.d.ts +16 -0
  59. package/dist/types/types/index.d.ts +3 -2
  60. package/dist/types/utils/treeGridUtil.d.ts +1 -0
  61. package/dist/utils/exceljsBrowser.js +45 -48
  62. package/dist/utils/exceljsBrowser.js.map +1 -1
  63. package/dist/utils/treeGridUtil.js +66 -66
  64. package/dist/utils/treeGridUtil.js.map +1 -1
  65. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"treeGridRuntime.js","sources":["../../../../src/components/OwpTreeGrid/internal/treeGridRuntime.ts"],"sourcesContent":["import { getTreeGridTextResourceUrl, TREEGRID_INPUT_CELL_COLOR } from '@/constants/treeGrid';\nimport { highlightTreeGridCellById } from '@/utils/treeGridUtil';\nimport { debounce, get, isEmpty } from 'es-toolkit/compat';\nimport { enqueueSnackbar } from 'notistack';\nimport {\n type Dispatch,\n type RefObject,\n type SetStateAction,\n} from 'react';\nimport type {\n OwpTreeGridBodyData,\n OwpTreeGridColumnEditRule,\n OwpTreeGridLayoutConfig,\n OwpTreeGridProps,\n OwpTreeGridRowModel,\n OwpTreeGridSelectedRows,\n} from '../OwpTreeGrid';\nimport { applyTreeGridLayoutToGrid } from './treeGridLayout';\nimport {\n resetTreeGridColumnEditRulesState,\n resolveTreeGridColumnEditValue,\n syncTreeGridColumnEditRules,\n type TreeGridColumnEditRuleLookup,\n type TreeGridColumnEditRulesState,\n} from './treeGridColumnEditRules';\nimport {\n measureTreeGridPerf,\n} from './utils/perf';\n\nconst TREE_GRID_INPUT_CELL_COLOR_VALUE = Number.parseInt(\n TREEGRID_INPUT_CELL_COLOR.replace('#', ''),\n 16,\n);\n\nexport const TREE_GRID_BINDING_LOADING_MIN_VISIBLE_MS = 300;\n\ntype TreeGridInitializationInput<T> = {\n id: string;\n layoutUrl?: string;\n dataUrl?: string;\n bodyData: OwpTreeGridBodyData<T>;\n useDataUrl?: boolean;\n width?: string | number;\n height?: string | number;\n languageId: string;\n};\n\nexport type TreeGridEventHandlers<T> = Pick<\n OwpTreeGridProps<T>,\n | 'onSelect'\n | 'onRowClick'\n | 'onRowAdd'\n | 'onRowDelete'\n | 'onRowUndelete'\n | 'onRowChange'\n | 'onClickButton'\n | 'onSave'\n | 'onReady'\n | 'onAfterValueChanged'\n>;\n\nexport type TreeGridEventBindingOptions<T> = Pick<OwpTreeGridProps<T>, 'id'> & {\n latestEventHandlersRef: RefObject<TreeGridEventHandlers<T>>;\n highlightEditableCellsRef: RefObject<boolean>;\n highlightChangedCellsRef: RefObject<boolean>;\n treeGridInstanceRef: RefObject<TGrid>;\n treeGridInitStartedAtRef: RefObject<number | null>;\n latestLayoutOverridesRef: RefObject<OwpTreeGridLayoutConfig | undefined>;\n appliedLayoutOverridesRef: RefObject<OwpTreeGridLayoutConfig | undefined>;\n appliedBodyDataPropRef: RefObject<OwpTreeGridBodyData<T>>;\n latestColumnEditRulesRef: RefObject<readonly OwpTreeGridColumnEditRule[] | undefined>;\n latestColumnEditRuleLookupRef: RefObject<TreeGridColumnEditRuleLookup | undefined>;\n appliedColumnEditRulesRef: RefObject<readonly OwpTreeGridColumnEditRule[] | undefined>;\n columnEditRulesStateRef: RefObject<TreeGridColumnEditRulesState>;\n hasAppliedInitialLayoutRef: RefObject<boolean>;\n syncHasDisplayDataRows: (grid: TGrid | null) => void;\n setIsTreeGridReady: Dispatch<SetStateAction<boolean>>;\n};\n\nconst appendNoCacheQuery = (url: string) => {\n return `${url}?noCache=${Date.now()}`;\n};\n\nconst resolveTreeGridDataUrl = (dataUrl?: string) => {\n return dataUrl?.includes('assets')\n ? appendNoCacheQuery(dataUrl)\n : // @ts-expect-error - API base URL env is provided by host app\n `${import.meta.env.VITE_API_BASE_URL}/${dataUrl}?noCache=${Date.now()}`;\n};\n\nconst buildTreeGridDataSource = <T,>(\n useDataUrl: boolean | undefined,\n dataUrl: string | undefined,\n bodyData: OwpTreeGridBodyData<T>,\n) => {\n if (useDataUrl) {\n return { Url: resolveTreeGridDataUrl(dataUrl) };\n }\n\n return { Data: { Body: [isEmpty(bodyData) ? [] : bodyData] } };\n};\n\n/**\n * TreeGrid 초기화 옵션 생성\n * @param input 초기화 입력값\n */\nexport const buildTreeGridInitializationOptions = <T,>({\n id,\n layoutUrl,\n dataUrl,\n bodyData,\n useDataUrl,\n width,\n height,\n languageId,\n}: TreeGridInitializationInput<T>) => {\n return {\n id,\n Layout: { Url: appendNoCacheQuery(layoutUrl ?? '') },\n Data: buildTreeGridDataSource(useDataUrl, dataUrl, bodyData),\n Text: {\n Url: getTreeGridTextResourceUrl(languageId),\n },\n width,\n height,\n Debug: 'Error',\n };\n};\n\nconst getTreeGridBodyData = (grid: TGrid | null) => {\n return get(grid, 'Data.Data.Data.Body.0');\n};\n\n/**\n * TreeGrid Body 데이터 건수\n * @param bodyData TreeGrid Body 데이터\n */\nexport const getTreeGridBodyDataCount = <T,>(bodyData: OwpTreeGridBodyData<T>) => {\n return Array.isArray(bodyData) ? bodyData.length : 0;\n};\n\nconst isVisibleTreeGridRow = (row: TRow | null | undefined) => {\n const visible = (row as { Visible?: unknown } | null)?.Visible;\n\n return !!row && visible !== 0 && visible !== false && visible !== '0';\n};\n\n/**\n * TreeGrid 추가 행 여부\n * @param row TreeGrid 행\n */\nconst isAddedTreeGridRow = (row: TRow | null | undefined) => {\n const added = (row as { Added?: unknown } | null)?.Added;\n\n return !!row && added !== 0 && added !== false && added !== '0' && added !== undefined;\n};\n\n/**\n * TreeGrid 본문 표시 행 여부\n * @param row TreeGrid 행\n */\nconst isDisplayTreeGridRow = (row: TRow | null | undefined) => {\n if (!row || row.Fixed === 'Foot' || !isVisibleTreeGridRow(row)) {\n return false;\n }\n\n return row.Kind === 'Data' || isAddedTreeGridRow(row);\n};\n\n/**\n * TreeGrid 셀 편집 가능 여부\n * @param grid TreeGrid 인스턴스\n * @param row TreeGrid 행\n * @param col TreeGrid 컬럼 키\n */\nconst isEditableTreeGridCell = (grid: TGrid, row: TRow | null | undefined, col: string) => {\n if (!row || !col || !isDisplayTreeGridRow(row)) {\n return false;\n }\n\n return grid.CanEdit(row, col) === 1;\n};\n\n/**\n * TreeGrid 셀 명시 색상 여부\n * @param grid TreeGrid 인스턴스\n * @param row TreeGrid 행\n * @param col TreeGrid 컬럼 키\n */\nconst hasExplicitTreeGridCellColor = (grid: TGrid, row: TRow, col: string) => {\n const color = grid.GetAttribute(row, col, 'Color');\n\n return color !== undefined && color !== null && color !== '';\n};\n\n/**\n * TreeGrid 입력 셀 기본 배경색 계산\n * @param grid TreeGrid 인스턴스\n * @param row TreeGrid 행\n * @param col TreeGrid 컬럼 키\n */\nconst getEditableTreeGridCellDefaultColor = (\n grid: TGrid,\n row: TRow | null | undefined,\n col: string,\n) => {\n if (\n !row ||\n !isEditableTreeGridCell(grid, row, col) ||\n hasExplicitTreeGridCellColor(grid, row, col)\n ) {\n return undefined;\n }\n\n return TREE_GRID_INPUT_CELL_COLOR_VALUE;\n};\n\n/**\n * TreeGrid 표시 데이터 행 존재 여부\n * @param grid TreeGrid 인스턴스\n */\nexport const hasTreeGridDisplayDataRows = (grid: TGrid | null) => {\n if (!grid) {\n return false;\n }\n\n if (typeof grid.GetFirst === 'function' && typeof grid.GetNext === 'function') {\n let row = grid.GetFirst();\n\n while (row) {\n if (isDisplayTreeGridRow(row)) {\n return true;\n }\n\n row = grid.GetNext(row);\n }\n\n return false;\n }\n\n return Object.values(grid.Rows ?? {}).some((row) => {\n return isDisplayTreeGridRow(row);\n });\n};\n\n/**\n * TreeGrid Body 데이터 교체 후 재로드\n * @param grid TreeGrid 인스턴스\n * @param bodyData 새 Body 데이터\n * @param onReloadFinish 재로드 완료 콜백\n */\nexport const replaceTreeGridBodyData = <T,>(\n grid: TGrid,\n bodyData: OwpTreeGridBodyData<T>,\n onReloadFinish?: (code: number) => void,\n) => {\n // @ts-expect-error - TreeGrid Data.Data shape is not reflected in bundled types\n const currentDataConfig = grid.Data?.Data;\n\n // @ts-expect-error - TreeGrid Data.Data shape is not reflected in bundled types\n grid.Data.Data = {\n ...currentDataConfig,\n Data: { Body: [bodyData || []] },\n Url: '',\n };\n\n grid.ReloadBody(onReloadFinish);\n};\n\n/**\n * TreeGrid 이벤트 바인딩\n * @param options 이벤트 바인딩 옵션\n */\nexport const bindTreeGridEvents = <T,>({\n id,\n latestEventHandlersRef,\n highlightEditableCellsRef,\n highlightChangedCellsRef,\n treeGridInstanceRef,\n treeGridInitStartedAtRef,\n latestLayoutOverridesRef,\n appliedLayoutOverridesRef,\n appliedBodyDataPropRef,\n latestColumnEditRulesRef,\n latestColumnEditRuleLookupRef,\n appliedColumnEditRulesRef,\n columnEditRulesStateRef,\n hasAppliedInitialLayoutRef,\n syncHasDisplayDataRows,\n setIsTreeGridReady,\n}: TreeGridEventBindingOptions<T>) => {\n const initialEventHandlers = latestEventHandlersRef.current;\n\n window.TGSetEvent('OnRowAdd', id, (grid, row) => {\n row.CanEdit = 1;\n row.CanDelete = 1;\n\n latestEventHandlersRef.current?.onRowAdd?.(grid, row as OwpTreeGridRowModel<T>);\n });\n window.TGSetEvent('OnRowAdded', id, (grid) => {\n syncHasDisplayDataRows(grid);\n });\n\n if (typeof initialEventHandlers?.onRowClick === 'function') {\n window.TGSetEvent(\n 'OnClick',\n id,\n debounce((grid, row, col, x, y, event) => {\n latestEventHandlersRef.current?.onRowClick?.(\n grid,\n row as OwpTreeGridRowModel<T>,\n col,\n x,\n y,\n event,\n );\n }, 300),\n );\n }\n\n if (typeof initialEventHandlers?.onClickButton === 'function') {\n window.TGSetEvent(\n 'OnClickButton',\n id,\n debounce((grid, row, col, event) => {\n latestEventHandlersRef.current?.onClickButton?.(\n grid,\n row as OwpTreeGridRowModel<T>,\n col,\n event,\n );\n }, 300),\n );\n }\n\n if (typeof initialEventHandlers?.onRowDelete === 'function') {\n window.TGSetEvent('OnRowDelete', id, (grid, row, deleteType) => {\n syncHasDisplayDataRows(grid);\n latestEventHandlersRef.current?.onRowDelete?.(\n grid,\n row as OwpTreeGridRowModel<T>,\n deleteType,\n );\n });\n } else {\n window.TGSetEvent('OnRowDelete', id, (grid) => {\n syncHasDisplayDataRows(grid);\n });\n }\n if (typeof initialEventHandlers?.onRowUndelete === 'function') {\n window.TGSetEvent('OnRowUndelete', id, (grid, row) => {\n syncHasDisplayDataRows(grid);\n latestEventHandlersRef.current?.onRowUndelete?.(grid, row as OwpTreeGridRowModel<T>);\n });\n } else {\n window.TGSetEvent('OnRowUndelete', id, (grid) => {\n syncHasDisplayDataRows(grid);\n });\n }\n window.TGSetEvent('OnGetDefaultColor', id, (grid, row, col) => {\n if (!highlightEditableCellsRef.current || !isDisplayTreeGridRow(row)) {\n return undefined;\n }\n\n return getEditableTreeGridCellDefaultColor(grid, row, col);\n });\n window.TGSetEvent('OnAfterValueChanged', id, (grid, row, col, value) => {\n const columnEditRuleLookup = latestColumnEditRuleLookupRef.current;\n const resolvedEditValue = columnEditRuleLookup\n ? resolveTreeGridColumnEditValue(columnEditRuleLookup, col, value)\n : undefined;\n const nextValue = resolvedEditValue?.value;\n const resolvedValue = nextValue ?? value;\n\n if (resolvedEditValue?.invalidText) {\n enqueueSnackbar(resolvedEditValue.invalidText, { variant: 'warning' });\n }\n\n if (nextValue !== undefined) {\n grid.SetValue(row, col, nextValue, 1);\n }\n\n if (highlightChangedCellsRef.current && isDisplayTreeGridRow(row)) {\n highlightTreeGridCellById(id, { row, col });\n }\n\n const valueChangedHandler =\n latestEventHandlersRef.current?.onAfterValueChanged ??\n latestEventHandlersRef.current?.onRowChange;\n\n valueChangedHandler?.(grid, row as OwpTreeGridRowModel<T>, col, resolvedValue);\n });\n if (typeof initialEventHandlers?.onSelect === 'function') {\n window.TGSetEvent(\n 'OnSelect',\n id,\n debounce((grid) => {\n const selectedRows = (grid.GetSelRows() ?? []) as OwpTreeGridSelectedRows<T>;\n latestEventHandlersRef.current?.onSelect?.(selectedRows);\n }, 100),\n );\n }\n if (typeof initialEventHandlers?.onSave === 'function') {\n window.TGSetEvent('OnSave', id, (grid, row, autoupdate) => {\n latestEventHandlersRef.current?.onSave?.(\n grid,\n row as OwpTreeGridRowModel<T>,\n autoupdate,\n );\n });\n }\n\n window.TGSetEvent(\n 'OnReady',\n id,\n debounce((grid) => {\n if (!hasAppliedInitialLayoutRef.current) {\n const latestLayoutOverrides = latestLayoutOverridesRef.current;\n\n hasAppliedInitialLayoutRef.current = true;\n applyTreeGridLayoutToGrid(grid, latestLayoutOverrides);\n resetTreeGridColumnEditRulesState(columnEditRulesStateRef.current);\n syncTreeGridColumnEditRules(\n grid,\n latestColumnEditRuleLookupRef.current,\n columnEditRulesStateRef.current,\n );\n treeGridInstanceRef.current = grid;\n appliedLayoutOverridesRef.current = latestLayoutOverrides;\n appliedBodyDataPropRef.current = getTreeGridBodyData(grid) as OwpTreeGridBodyData<T>;\n appliedColumnEditRulesRef.current = latestColumnEditRulesRef.current;\n syncHasDisplayDataRows(grid);\n setIsTreeGridReady(true);\n measureTreeGridPerf(id, 'TreeGrid init ready', treeGridInitStartedAtRef.current, {\n bodyRowCount: getTreeGridBodyDataCount(\n getTreeGridBodyData(grid) as OwpTreeGridBodyData<T>,\n ),\n });\n treeGridInitStartedAtRef.current = null;\n latestEventHandlersRef.current?.onReady?.(grid);\n }\n }, 100),\n );\n};\n"],"names":["TREE_GRID_INPUT_CELL_COLOR_VALUE","TREEGRID_INPUT_CELL_COLOR","TREE_GRID_BINDING_LOADING_MIN_VISIBLE_MS","appendNoCacheQuery","__name","url","resolveTreeGridDataUrl","dataUrl","buildTreeGridDataSource","useDataUrl","bodyData","isEmpty","buildTreeGridInitializationOptions","id","layoutUrl","width","height","languageId","getTreeGridTextResourceUrl","getTreeGridBodyData","grid","get","getTreeGridBodyDataCount","isVisibleTreeGridRow","row","visible","isAddedTreeGridRow","added","isDisplayTreeGridRow","isEditableTreeGridCell","col","hasExplicitTreeGridCellColor","color","getEditableTreeGridCellDefaultColor","hasTreeGridDisplayDataRows","replaceTreeGridBodyData","onReloadFinish","currentDataConfig","_a","bindTreeGridEvents","latestEventHandlersRef","highlightEditableCellsRef","highlightChangedCellsRef","treeGridInstanceRef","treeGridInitStartedAtRef","latestLayoutOverridesRef","appliedLayoutOverridesRef","appliedBodyDataPropRef","latestColumnEditRulesRef","latestColumnEditRuleLookupRef","appliedColumnEditRulesRef","columnEditRulesStateRef","hasAppliedInitialLayoutRef","syncHasDisplayDataRows","setIsTreeGridReady","initialEventHandlers","_b","debounce","x","y","event","deleteType","value","columnEditRuleLookup","resolvedEditValue","resolveTreeGridColumnEditValue","nextValue","resolvedValue","enqueueSnackbar","highlightTreeGridCellById","valueChangedHandler","selectedRows","autoupdate","latestLayoutOverrides","applyTreeGridLayoutToGrid","resetTreeGridColumnEditRulesState","syncTreeGridColumnEditRules","measureTreeGridPerf"],"mappings":"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"}
1
+ {"version":3,"file":"treeGridRuntime.js","sources":["../../../../src/components/OwpTreeGrid/internal/treeGridRuntime.ts"],"sourcesContent":["import { getTreeGridTextResourceUrl } from '@/constants/treeGrid';\nimport { highlightTreeGridCellById } from '@/utils/treeGridUtil';\nimport { debounce, get, isEmpty } from 'es-toolkit/compat';\nimport { enqueueSnackbar } from 'notistack';\nimport {\n type Dispatch,\n type RefObject,\n type SetStateAction,\n} from 'react';\nimport type {\n OwpTreeGridBodyData,\n OwpTreeGridColumnEditRule,\n OwpTreeGridLayoutConfig,\n OwpTreeGridProps,\n OwpTreeGridRowModel,\n OwpTreeGridSelectedRows,\n} from '../OwpTreeGrid';\nimport { applyTreeGridLayoutToGrid } from './treeGridLayout';\nimport {\n resetTreeGridColumnEditRulesState,\n resolveTreeGridColumnEditValue,\n syncTreeGridColumnEditRules,\n type TreeGridColumnEditRuleLookup,\n type TreeGridColumnEditRulesState,\n} from './treeGridColumnEditRules';\nimport { measureTreeGridPerf } from './utils/perf';\n\nexport const TREE_GRID_BINDING_LOADING_MIN_VISIBLE_MS = 300;\n\nconst TREE_GRID_SELECTED_CELL_RGB = [255, 255, 166] as const;\nconst TREE_GRID_READONLY_HOVER_CELL_RGB = [240, 240, 240] as const;\nconst TREE_GRID_READONLY_NO_FOCUS_HOVER_CELL_RGB = [248, 248, 248] as const;\nconst TREE_GRID_PREVIEW_CELL_RGB = [255, 255, 255] as const;\nconst TREE_GRID_PREVIEW_CELL_SOFT_RGB = [255, 255, 254] as const;\nconst TREE_GRID_PREVIEW_CELL_DIM_RGB = [242, 242, 242] as const;\n\ntype TreeGridInitializationInput<T> = {\n id: string;\n layoutUrl?: string;\n dataUrl?: string;\n bodyData: OwpTreeGridBodyData<T>;\n useDataUrl?: boolean;\n width?: string | number;\n height?: string | number;\n languageId: string;\n};\n\nexport type TreeGridEventHandlers<T> = Pick<\n OwpTreeGridProps<T>,\n | 'onSelect'\n | 'onRowClick'\n | 'onRowAdd'\n | 'onRowDelete'\n | 'onRowUndelete'\n | 'onRowChange'\n | 'onClickButton'\n | 'onSave'\n | 'onReady'\n | 'onAfterValueChanged'\n>;\n\nexport type TreeGridEventBindingOptions<T> = Pick<OwpTreeGridProps<T>, 'id'> & {\n latestEventHandlersRef: RefObject<TreeGridEventHandlers<T>>;\n highlightEditableCellsRef: RefObject<boolean>;\n highlightChangedCellsRef: RefObject<boolean>;\n editableCellBackgroundColorValueRef: RefObject<number | undefined>;\n changedCellBackgroundColorRef: RefObject<string>;\n selectedCellBackgroundColorRef: RefObject<string>;\n hoverCellBackgroundColorRef: RefObject<string>;\n treeGridInstanceRef: RefObject<TGrid>;\n treeGridInitStartedAtRef: RefObject<number | null>;\n latestLayoutOverridesRef: RefObject<OwpTreeGridLayoutConfig | undefined>;\n appliedLayoutOverridesRef: RefObject<OwpTreeGridLayoutConfig | undefined>;\n appliedBodyDataPropRef: RefObject<OwpTreeGridBodyData<T>>;\n latestColumnEditRulesRef: RefObject<readonly OwpTreeGridColumnEditRule[] | undefined>;\n latestColumnEditRuleLookupRef: RefObject<TreeGridColumnEditRuleLookup | undefined>;\n appliedColumnEditRulesRef: RefObject<readonly OwpTreeGridColumnEditRule[] | undefined>;\n columnEditRulesStateRef: RefObject<TreeGridColumnEditRulesState>;\n hasAppliedInitialLayoutRef: RefObject<boolean>;\n syncHasDisplayDataRows: (grid: TGrid | null) => void;\n setIsTreeGridReady: Dispatch<SetStateAction<boolean>>;\n};\n\nconst appendNoCacheQuery = (url: string) => {\n return `${url}?noCache=${Date.now()}`;\n};\n\nconst resolveTreeGridDataUrl = (dataUrl?: string) => {\n return dataUrl?.includes('assets')\n ? appendNoCacheQuery(dataUrl)\n : // @ts-expect-error - API base URL env is provided by host app\n `${import.meta.env.VITE_API_BASE_URL}/${dataUrl}?noCache=${Date.now()}`;\n};\n\nconst buildTreeGridDataSource = <T,>(\n useDataUrl: boolean | undefined,\n dataUrl: string | undefined,\n bodyData: OwpTreeGridBodyData<T>,\n) => {\n if (useDataUrl) {\n return { Url: resolveTreeGridDataUrl(dataUrl) };\n }\n\n return { Data: { Body: [isEmpty(bodyData) ? [] : bodyData] } };\n};\n\n/**\n * TreeGrid 초기화 옵션 생성\n * @param input 초기화 입력값\n */\nexport const buildTreeGridInitializationOptions = <T,>({\n id,\n layoutUrl,\n dataUrl,\n bodyData,\n useDataUrl,\n width,\n height,\n languageId,\n}: TreeGridInitializationInput<T>) => {\n return {\n id,\n Layout: { Url: appendNoCacheQuery(layoutUrl ?? '') },\n Data: buildTreeGridDataSource(useDataUrl, dataUrl, bodyData),\n Text: {\n Url: getTreeGridTextResourceUrl(languageId),\n },\n width,\n height,\n Debug: 'Error',\n };\n};\n\nconst getTreeGridBodyData = (grid: TGrid | null) => {\n return get(grid, 'Data.Data.Data.Body.0');\n};\n\n/**\n * TreeGrid Body 데이터 건수\n * @param bodyData TreeGrid Body 데이터\n */\nexport const getTreeGridBodyDataCount = <T,>(bodyData: OwpTreeGridBodyData<T>) => {\n return Array.isArray(bodyData) ? bodyData.length : 0;\n};\n\nconst isVisibleTreeGridRow = (row: TRow | null | undefined) => {\n const visible = (row as { Visible?: unknown } | null)?.Visible;\n\n return !!row && visible !== 0 && visible !== false && visible !== '0';\n};\n\n/**\n * TreeGrid 추가 행 여부\n * @param row TreeGrid 행\n */\nconst isAddedTreeGridRow = (row: TRow | null | undefined) => {\n const added = (row as { Added?: unknown } | null)?.Added;\n\n return !!row && added !== 0 && added !== false && added !== '0' && added !== undefined;\n};\n\n/**\n * TreeGrid 본문 표시 행 여부\n * @param row TreeGrid 행\n */\nconst isDisplayTreeGridRow = (row: TRow | null | undefined) => {\n if (!row || row.Fixed === 'Foot' || !isVisibleTreeGridRow(row)) {\n return false;\n }\n\n return row.Kind === 'Data' || isAddedTreeGridRow(row);\n};\n\n/**\n * TreeGrid 셀 편집 가능 여부\n * @param grid TreeGrid 인스턴스\n * @param row TreeGrid 행\n * @param col TreeGrid 컬럼 키\n */\nconst isEditableTreeGridCell = (grid: TGrid, row: TRow | null | undefined, col: string) => {\n if (!row || !col || !isDisplayTreeGridRow(row)) {\n return false;\n }\n\n return grid.CanEdit(row, col) === 1;\n};\n\n/**\n * TreeGrid 셀 명시 색상 여부\n * @param grid TreeGrid 인스턴스\n * @param row TreeGrid 행\n * @param col TreeGrid 컬럼 키\n */\nconst hasExplicitTreeGridCellColor = (grid: TGrid, row: TRow, col: string) => {\n const color = grid.GetAttribute(row, col, 'Color');\n\n return color !== undefined && color !== null && color !== '';\n};\n\n/**\n * TreeGrid 입력 셀 기본 배경색 계산\n * @param grid TreeGrid 인스턴스\n * @param row TreeGrid 행\n * @param col TreeGrid 컬럼 키\n */\nconst getEditableTreeGridCellDefaultColor = (\n grid: TGrid,\n row: TRow | null | undefined,\n col: string,\n editableCellBackgroundColorValue: number | undefined,\n) => {\n if (\n !row ||\n editableCellBackgroundColorValue === undefined ||\n !isEditableTreeGridCell(grid, row, col) ||\n hasExplicitTreeGridCellColor(grid, row, col)\n ) {\n return undefined;\n }\n\n return editableCellBackgroundColorValue;\n};\n\nconst matchesTreeGridRgbColor = (\n r: number,\n g: number,\n b: number,\n expected: readonly [number, number, number],\n) => {\n return r === expected[0] && g === expected[1] && b === expected[2];\n};\n\nconst isTreeGridSelectedCellState = (grid: TGrid, row: TRow | null | undefined, col: string) => {\n if (!row || !col || !isDisplayTreeGridRow(row)) {\n return false;\n }\n\n const selected = grid.IsSelected(row, col);\n\n return selected !== 0 && selected !== false && selected !== undefined && selected !== null;\n};\n\nconst isTreeGridReadonlyHoveredCellState = (\n grid: TGrid,\n row: TRow | null | undefined,\n col: string,\n) => {\n if (!row || !col || !isDisplayTreeGridRow(row) || grid.ARow !== row || grid.ACol !== col) {\n return false;\n }\n\n return grid.CanEdit(row, col) === 0;\n};\n\nconst isTreeGridPreviewHoveredCellState = (\n grid: TGrid,\n row: TRow | null | undefined,\n col: string,\n) => {\n if (!row || !col || !isDisplayTreeGridRow(row) || grid.ARow !== row || grid.ACol !== col) {\n return false;\n }\n\n return grid.CanEdit(row, col) === 2;\n};\n\nconst resolveTreeGridStateBackgroundColor = ({\n grid,\n row,\n col,\n r,\n g,\n b,\n selectedCellBackgroundColor,\n hoverCellBackgroundColor,\n}: {\n grid: TGrid;\n row: TRow | null | undefined;\n col: string;\n r: number;\n g: number;\n b: number;\n selectedCellBackgroundColor: string;\n hoverCellBackgroundColor: string;\n}) => {\n if (\n isTreeGridSelectedCellState(grid, row, col) &&\n matchesTreeGridRgbColor(r, g, b, TREE_GRID_SELECTED_CELL_RGB)\n ) {\n return selectedCellBackgroundColor;\n }\n\n if (\n isTreeGridReadonlyHoveredCellState(grid, row, col) &&\n (matchesTreeGridRgbColor(r, g, b, TREE_GRID_READONLY_HOVER_CELL_RGB) ||\n matchesTreeGridRgbColor(r, g, b, TREE_GRID_READONLY_NO_FOCUS_HOVER_CELL_RGB))\n ) {\n return hoverCellBackgroundColor;\n }\n\n if (\n isTreeGridPreviewHoveredCellState(grid, row, col) &&\n (matchesTreeGridRgbColor(r, g, b, TREE_GRID_PREVIEW_CELL_RGB) ||\n matchesTreeGridRgbColor(r, g, b, TREE_GRID_PREVIEW_CELL_SOFT_RGB) ||\n matchesTreeGridRgbColor(r, g, b, TREE_GRID_PREVIEW_CELL_DIM_RGB))\n ) {\n return hoverCellBackgroundColor;\n }\n\n return undefined;\n};\n\n/**\n * TreeGrid 표시 데이터 행 존재 여부\n * @param grid TreeGrid 인스턴스\n */\nexport const hasTreeGridDisplayDataRows = (grid: TGrid | null) => {\n if (!grid) {\n return false;\n }\n\n if (typeof grid.GetFirst === 'function' && typeof grid.GetNext === 'function') {\n let row = grid.GetFirst();\n\n while (row) {\n if (isDisplayTreeGridRow(row)) {\n return true;\n }\n\n row = grid.GetNext(row);\n }\n\n return false;\n }\n\n return Object.values(grid.Rows ?? {}).some((row) => {\n return isDisplayTreeGridRow(row);\n });\n};\n\n/**\n * TreeGrid Body 데이터 교체 후 재로드\n * @param grid TreeGrid 인스턴스\n * @param bodyData 새 Body 데이터\n * @param onReloadFinish 재로드 완료 콜백\n */\nexport const replaceTreeGridBodyData = <T,>(\n grid: TGrid,\n bodyData: OwpTreeGridBodyData<T>,\n onReloadFinish?: (code: number) => void,\n) => {\n // @ts-expect-error - TreeGrid Data.Data shape is not reflected in bundled types\n const currentDataConfig = grid.Data?.Data;\n\n // @ts-expect-error - TreeGrid Data.Data shape is not reflected in bundled types\n grid.Data.Data = {\n ...currentDataConfig,\n Data: { Body: [bodyData || []] },\n Url: '',\n };\n\n grid.ReloadBody(onReloadFinish);\n};\n\n/**\n * TreeGrid 이벤트 바인딩\n * @param options 이벤트 바인딩 옵션\n */\nexport const bindTreeGridEvents = <T,>({\n id,\n latestEventHandlersRef,\n highlightEditableCellsRef,\n highlightChangedCellsRef,\n editableCellBackgroundColorValueRef,\n changedCellBackgroundColorRef,\n selectedCellBackgroundColorRef,\n hoverCellBackgroundColorRef,\n treeGridInstanceRef,\n treeGridInitStartedAtRef,\n latestLayoutOverridesRef,\n appliedLayoutOverridesRef,\n appliedBodyDataPropRef,\n latestColumnEditRulesRef,\n latestColumnEditRuleLookupRef,\n appliedColumnEditRulesRef,\n columnEditRulesStateRef,\n hasAppliedInitialLayoutRef,\n syncHasDisplayDataRows,\n setIsTreeGridReady,\n}: TreeGridEventBindingOptions<T>) => {\n const initialEventHandlers = latestEventHandlersRef.current;\n\n window.TGSetEvent('OnRowAdd', id, (grid, row) => {\n row.CanEdit = 1;\n row.CanDelete = 1;\n\n latestEventHandlersRef.current?.onRowAdd?.(grid, row as OwpTreeGridRowModel<T>);\n });\n window.TGSetEvent('OnRowAdded', id, (grid) => {\n syncHasDisplayDataRows(grid);\n });\n\n if (typeof initialEventHandlers?.onRowClick === 'function') {\n window.TGSetEvent(\n 'OnClick',\n id,\n debounce((grid, row, col, x, y, event) => {\n latestEventHandlersRef.current?.onRowClick?.(\n grid,\n row as OwpTreeGridRowModel<T>,\n col,\n x,\n y,\n event,\n );\n }, 300),\n );\n }\n\n if (typeof initialEventHandlers?.onClickButton === 'function') {\n window.TGSetEvent(\n 'OnClickButton',\n id,\n debounce((grid, row, col, event) => {\n latestEventHandlersRef.current?.onClickButton?.(\n grid,\n row as OwpTreeGridRowModel<T>,\n col,\n event,\n );\n }, 300),\n );\n }\n\n if (typeof initialEventHandlers?.onRowDelete === 'function') {\n window.TGSetEvent('OnRowDelete', id, (grid, row, deleteType) => {\n syncHasDisplayDataRows(grid);\n latestEventHandlersRef.current?.onRowDelete?.(\n grid,\n row as OwpTreeGridRowModel<T>,\n deleteType,\n );\n });\n } else {\n window.TGSetEvent('OnRowDelete', id, (grid) => {\n syncHasDisplayDataRows(grid);\n });\n }\n if (typeof initialEventHandlers?.onRowUndelete === 'function') {\n window.TGSetEvent('OnRowUndelete', id, (grid, row) => {\n syncHasDisplayDataRows(grid);\n latestEventHandlersRef.current?.onRowUndelete?.(grid, row as OwpTreeGridRowModel<T>);\n });\n } else {\n window.TGSetEvent('OnRowUndelete', id, (grid) => {\n syncHasDisplayDataRows(grid);\n });\n }\n window.TGSetEvent('OnGetDefaultColor', id, (grid, row, col) => {\n if (!highlightEditableCellsRef.current || !isDisplayTreeGridRow(row)) {\n return undefined;\n }\n\n return getEditableTreeGridCellDefaultColor(\n grid,\n row,\n col,\n editableCellBackgroundColorValueRef.current,\n );\n });\n window.TGSetEvent('OnGetColor', id, (grid, row, col, r, g, b, type) => {\n if (type) {\n return undefined;\n }\n\n return resolveTreeGridStateBackgroundColor({\n grid,\n row,\n col,\n r,\n g,\n b,\n selectedCellBackgroundColor: selectedCellBackgroundColorRef.current,\n hoverCellBackgroundColor: hoverCellBackgroundColorRef.current,\n });\n });\n window.TGSetEvent('OnAfterValueChanged', id, (grid, row, col, value) => {\n const columnEditRuleLookup = latestColumnEditRuleLookupRef.current;\n const resolvedEditValue = columnEditRuleLookup\n ? resolveTreeGridColumnEditValue(columnEditRuleLookup, col, value)\n : undefined;\n const nextValue = resolvedEditValue?.value;\n const resolvedValue = nextValue ?? value;\n\n if (resolvedEditValue?.invalidText) {\n enqueueSnackbar(resolvedEditValue.invalidText, { variant: 'warning' });\n }\n\n if (nextValue !== undefined) {\n grid.SetValue(row, col, nextValue, 1);\n }\n\n if (highlightChangedCellsRef.current && isDisplayTreeGridRow(row)) {\n highlightTreeGridCellById(id, {\n row,\n col,\n backgroundColor: changedCellBackgroundColorRef.current,\n });\n }\n\n const valueChangedHandler =\n latestEventHandlersRef.current?.onAfterValueChanged ??\n latestEventHandlersRef.current?.onRowChange;\n\n valueChangedHandler?.(grid, row as OwpTreeGridRowModel<T>, col, resolvedValue);\n });\n if (typeof initialEventHandlers?.onSelect === 'function') {\n window.TGSetEvent(\n 'OnSelect',\n id,\n debounce((grid) => {\n const selectedRows = (grid.GetSelRows() ?? []) as OwpTreeGridSelectedRows<T>;\n latestEventHandlersRef.current?.onSelect?.(selectedRows);\n }, 100),\n );\n }\n if (typeof initialEventHandlers?.onSave === 'function') {\n window.TGSetEvent('OnSave', id, (grid, row, autoupdate) => {\n latestEventHandlersRef.current?.onSave?.(\n grid,\n row as OwpTreeGridRowModel<T>,\n autoupdate,\n );\n });\n }\n\n window.TGSetEvent(\n 'OnReady',\n id,\n debounce((grid) => {\n if (!hasAppliedInitialLayoutRef.current) {\n const latestLayoutOverrides = latestLayoutOverridesRef.current;\n\n hasAppliedInitialLayoutRef.current = true;\n applyTreeGridLayoutToGrid(grid, latestLayoutOverrides);\n resetTreeGridColumnEditRulesState(columnEditRulesStateRef.current);\n syncTreeGridColumnEditRules(\n grid,\n latestColumnEditRuleLookupRef.current,\n columnEditRulesStateRef.current,\n );\n treeGridInstanceRef.current = grid;\n appliedLayoutOverridesRef.current = latestLayoutOverrides;\n appliedBodyDataPropRef.current = getTreeGridBodyData(grid) as OwpTreeGridBodyData<T>;\n appliedColumnEditRulesRef.current = latestColumnEditRulesRef.current;\n syncHasDisplayDataRows(grid);\n setIsTreeGridReady(true);\n measureTreeGridPerf(id, 'TreeGrid init ready', treeGridInitStartedAtRef.current, {\n bodyRowCount: getTreeGridBodyDataCount(\n getTreeGridBodyData(grid) as OwpTreeGridBodyData<T>,\n ),\n });\n treeGridInitStartedAtRef.current = null;\n latestEventHandlersRef.current?.onReady?.(grid);\n }\n }, 100),\n );\n};\n"],"names":["TREE_GRID_BINDING_LOADING_MIN_VISIBLE_MS","TREE_GRID_SELECTED_CELL_RGB","TREE_GRID_READONLY_HOVER_CELL_RGB","TREE_GRID_READONLY_NO_FOCUS_HOVER_CELL_RGB","TREE_GRID_PREVIEW_CELL_RGB","TREE_GRID_PREVIEW_CELL_SOFT_RGB","TREE_GRID_PREVIEW_CELL_DIM_RGB","appendNoCacheQuery","__name","url","resolveTreeGridDataUrl","dataUrl","buildTreeGridDataSource","useDataUrl","bodyData","isEmpty","buildTreeGridInitializationOptions","id","layoutUrl","width","height","languageId","getTreeGridTextResourceUrl","getTreeGridBodyData","grid","get","getTreeGridBodyDataCount","isVisibleTreeGridRow","row","visible","isAddedTreeGridRow","added","isDisplayTreeGridRow","isEditableTreeGridCell","col","hasExplicitTreeGridCellColor","color","getEditableTreeGridCellDefaultColor","editableCellBackgroundColorValue","matchesTreeGridRgbColor","r","g","b","expected","isTreeGridSelectedCellState","selected","isTreeGridReadonlyHoveredCellState","isTreeGridPreviewHoveredCellState","resolveTreeGridStateBackgroundColor","selectedCellBackgroundColor","hoverCellBackgroundColor","hasTreeGridDisplayDataRows","replaceTreeGridBodyData","onReloadFinish","currentDataConfig","_a","bindTreeGridEvents","latestEventHandlersRef","highlightEditableCellsRef","highlightChangedCellsRef","editableCellBackgroundColorValueRef","changedCellBackgroundColorRef","selectedCellBackgroundColorRef","hoverCellBackgroundColorRef","treeGridInstanceRef","treeGridInitStartedAtRef","latestLayoutOverridesRef","appliedLayoutOverridesRef","appliedBodyDataPropRef","latestColumnEditRulesRef","latestColumnEditRuleLookupRef","appliedColumnEditRulesRef","columnEditRulesStateRef","hasAppliedInitialLayoutRef","syncHasDisplayDataRows","setIsTreeGridReady","initialEventHandlers","_b","debounce","x","y","event","deleteType","type","value","columnEditRuleLookup","resolvedEditValue","resolveTreeGridColumnEditValue","nextValue","resolvedValue","enqueueSnackbar","highlightTreeGridCellById","valueChangedHandler","selectedRows","autoupdate","latestLayoutOverrides","applyTreeGridLayoutToGrid","resetTreeGridColumnEditRulesState","syncTreeGridColumnEditRules","measureTreeGridPerf"],"mappings":"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"}
@@ -0,0 +1,462 @@
1
+ var S = Object.defineProperty;
2
+ var l = (e, o) => S(e, "name", { value: o, configurable: !0 });
3
+ const w = "owp-tree-grid-theme", b = [
4
+ "TS",
5
+ "TW",
6
+ "TB",
7
+ "TM",
8
+ "TT",
9
+ "CF",
10
+ "CL",
11
+ "CO",
12
+ "CG",
13
+ "CB",
14
+ "CQ",
15
+ "CE",
16
+ "CS",
17
+ "CR",
18
+ "CP",
19
+ "CC"
20
+ ], v = [
21
+ {
22
+ cssVariableName: "--owp-tree-grid-body-background-color",
23
+ getValue: /* @__PURE__ */ l((e) => {
24
+ var o;
25
+ return (o = e == null ? void 0 : e.body) == null ? void 0 : o.backgroundColor;
26
+ }, "getValue")
27
+ },
28
+ {
29
+ cssVariableName: "--owp-tree-grid-body-color",
30
+ getValue: /* @__PURE__ */ l((e) => {
31
+ var o;
32
+ return (o = e == null ? void 0 : e.body) == null ? void 0 : o.color;
33
+ }, "getValue")
34
+ },
35
+ {
36
+ cssVariableName: "--owp-tree-grid-body-fill-background-color",
37
+ getValue: /* @__PURE__ */ l((e) => {
38
+ var o;
39
+ return (o = e == null ? void 0 : e.body) == null ? void 0 : o.fillBackgroundColor;
40
+ }, "getValue")
41
+ },
42
+ {
43
+ cssVariableName: "--owp-tree-grid-row-background-color",
44
+ getValue: /* @__PURE__ */ l((e) => {
45
+ var o;
46
+ return (o = e == null ? void 0 : e.row) == null ? void 0 : o.backgroundColor;
47
+ }, "getValue")
48
+ },
49
+ {
50
+ cssVariableName: "--owp-tree-grid-row-solid-background-color",
51
+ getValue: /* @__PURE__ */ l((e) => {
52
+ var o;
53
+ return (o = e == null ? void 0 : e.row) == null ? void 0 : o.solidBackgroundColor;
54
+ }, "getValue")
55
+ },
56
+ {
57
+ cssVariableName: "--owp-tree-grid-hover-row-background-color",
58
+ getValue: /* @__PURE__ */ l((e) => {
59
+ var o;
60
+ return (o = e == null ? void 0 : e.state) == null ? void 0 : o.hoverRowBackgroundColor;
61
+ }, "getValue")
62
+ },
63
+ {
64
+ cssVariableName: "--owp-tree-grid-hover-row-border-color",
65
+ getValue: /* @__PURE__ */ l((e) => {
66
+ var o;
67
+ return (o = e == null ? void 0 : e.state) == null ? void 0 : o.hoverRowBorderColor;
68
+ }, "getValue")
69
+ },
70
+ {
71
+ cssVariableName: "--owp-tree-grid-selected-row-background-color",
72
+ getValue: /* @__PURE__ */ l((e) => {
73
+ var o;
74
+ return (o = e == null ? void 0 : e.state) == null ? void 0 : o.selectedRowBackgroundColor;
75
+ }, "getValue")
76
+ },
77
+ {
78
+ cssVariableName: "--owp-tree-grid-selected-cell-background-color",
79
+ getValue: /* @__PURE__ */ l((e) => {
80
+ var o;
81
+ return (o = e == null ? void 0 : e.state) == null ? void 0 : o.selectedCellBackgroundColor;
82
+ }, "getValue")
83
+ },
84
+ {
85
+ cssVariableName: "--owp-tree-grid-focused-row-background-color",
86
+ getValue: /* @__PURE__ */ l((e) => {
87
+ var o;
88
+ return (o = e == null ? void 0 : e.state) == null ? void 0 : o.focusedRowBackgroundColor;
89
+ }, "getValue")
90
+ },
91
+ {
92
+ cssVariableName: "--owp-tree-grid-focused-row-border-color",
93
+ getValue: /* @__PURE__ */ l((e) => {
94
+ var o;
95
+ return (o = e == null ? void 0 : e.state) == null ? void 0 : o.focusedRowBorderColor;
96
+ }, "getValue")
97
+ },
98
+ {
99
+ cssVariableName: "--owp-tree-grid-hover-cell-background-color",
100
+ getValue: /* @__PURE__ */ l((e) => {
101
+ var o;
102
+ return (o = e == null ? void 0 : e.state) == null ? void 0 : o.hoverCellBackgroundColor;
103
+ }, "getValue")
104
+ },
105
+ {
106
+ cssVariableName: "--owp-tree-grid-hover-cell-border-color",
107
+ getValue: /* @__PURE__ */ l((e) => {
108
+ var o;
109
+ return (o = e == null ? void 0 : e.state) == null ? void 0 : o.hoverCellBorderColor;
110
+ }, "getValue")
111
+ },
112
+ {
113
+ cssVariableName: "--owp-tree-grid-focused-cell-background-color",
114
+ getValue: /* @__PURE__ */ l((e) => {
115
+ var o;
116
+ return (o = e == null ? void 0 : e.state) == null ? void 0 : o.focusedCellBackgroundColor;
117
+ }, "getValue")
118
+ },
119
+ {
120
+ cssVariableName: "--owp-tree-grid-focused-cell-border-color",
121
+ getValue: /* @__PURE__ */ l((e) => {
122
+ var o;
123
+ return (o = e == null ? void 0 : e.state) == null ? void 0 : o.focusedCellBorderColor;
124
+ }, "getValue")
125
+ },
126
+ {
127
+ cssVariableName: "--owp-tree-grid-editing-cell-border-color",
128
+ getValue: /* @__PURE__ */ l((e) => {
129
+ var o;
130
+ return (o = e == null ? void 0 : e.state) == null ? void 0 : o.editingCellBorderColor;
131
+ }, "getValue")
132
+ },
133
+ {
134
+ cssVariableName: "--owp-tree-grid-focused-cell-rect-background-color",
135
+ getValue: /* @__PURE__ */ l((e) => {
136
+ var o;
137
+ return (o = e == null ? void 0 : e.state) == null ? void 0 : o.focusedCellRectBackgroundColor;
138
+ }, "getValue")
139
+ },
140
+ {
141
+ cssVariableName: "--owp-tree-grid-changed-background-color",
142
+ getValue: /* @__PURE__ */ l((e) => {
143
+ var o;
144
+ return (o = e == null ? void 0 : e.changed) == null ? void 0 : o.backgroundColor;
145
+ }, "getValue")
146
+ }
147
+ ], f = [
148
+ {
149
+ cssVariableName: "--owp-tree-grid-header-background-color",
150
+ getValue: /* @__PURE__ */ l((e) => e.header.backgroundColor, "getValue")
151
+ },
152
+ {
153
+ cssVariableName: "--owp-tree-grid-header-color",
154
+ getValue: /* @__PURE__ */ l((e) => e.header.color, "getValue")
155
+ },
156
+ {
157
+ cssVariableName: "--owp-tree-grid-header-font-size",
158
+ getValue: /* @__PURE__ */ l((e) => C(e.header.fontSize), "getValue")
159
+ },
160
+ {
161
+ cssVariableName: "--owp-tree-grid-header-font-weight",
162
+ getValue: /* @__PURE__ */ l((e) => String(e.header.fontWeight), "getValue")
163
+ },
164
+ {
165
+ cssVariableName: "--owp-tree-grid-cell-font-size",
166
+ getValue: /* @__PURE__ */ l((e) => C(e.cell.fontSize), "getValue")
167
+ }
168
+ ], t = /* @__PURE__ */ l((e, o) => ({
169
+ backgroundColor: `var(${e}, ${o}) !important`
170
+ }), "createTreeGridBackgroundColorStyle"), i = /* @__PURE__ */ l((e) => ({
171
+ backgroundColor: `var(${e}) !important`
172
+ }), "createTreeGridOptionalBackgroundColorStyle"), r = /* @__PURE__ */ l(({
173
+ rowSuffix: e,
174
+ suffixes: o,
175
+ descendant: c = "",
176
+ withChildren: d = !1
177
+ }) => b.flatMap((s) => o.flatMap((a) => {
178
+ const u = `.${w}`, n = e ? ` .${s}${e}` : "", p = `${u}${n} .${s}${a}${c}`;
179
+ return d ? [p, `${p} *`] : [p];
180
+ })).join(", "), "createTreeGridSelectors"), F = /* @__PURE__ */ l(({
181
+ ancestorSuffixes: e,
182
+ suffixes: o,
183
+ descendant: c = ""
184
+ }) => b.flatMap((d) => e.flatMap((s) => o.map((a) => `.${w} .${d}${s} .${d}${a}${c}`))).join(", "), "createTreeGridNestedSelectors"), H = r({
185
+ suffixes: ["Main"],
186
+ withChildren: !0
187
+ }), k = r({
188
+ suffixes: ["Main"]
189
+ }), V = r({
190
+ suffixes: ["ClassReadOnly"],
191
+ withChildren: !0
192
+ }), B = r({
193
+ suffixes: ["MainTable"]
194
+ }), E = r({
195
+ suffixes: ["FillRow"]
196
+ }), R = r({
197
+ suffixes: ["SolidRow"]
198
+ }), G = r({
199
+ suffixes: ["ColorDefault"]
200
+ }), x = r({
201
+ suffixes: ["ColorDefaultRow"]
202
+ }), y = r({
203
+ rowSuffix: "HeaderRow",
204
+ suffixes: ["CellHeader", "CellIndex", "GanttHeaderBase", "LevelButton"],
205
+ withChildren: !0
206
+ }), g = r({
207
+ rowSuffix: "HeaderRow",
208
+ suffixes: [
209
+ "CellHeader",
210
+ "CellIndex",
211
+ "EditHeaderInput",
212
+ "EditHeaderTextarea",
213
+ "ColorFocusedCellHeader",
214
+ "ColorHoveredCellHeader",
215
+ "ColorHoveredCellIndex",
216
+ "HeaderFocus",
217
+ "HeaderDrag"
218
+ ]
219
+ }), N = r({
220
+ suffixes: ["ColorHovered"]
221
+ }), D = r({
222
+ suffixes: ["ColorHoveredRow"]
223
+ }), $ = r({
224
+ suffixes: ["HoverRowBorder"]
225
+ }), _ = r({
226
+ suffixes: ["ColorSelected", "ColorSelectedCell"]
227
+ }), I = r({
228
+ suffixes: ["ColorSelected", "ColorSelectedCell"],
229
+ descendant: " *"
230
+ }), M = r({
231
+ suffixes: ["ColorSelectedRow"]
232
+ }), O = r({
233
+ suffixes: ["ColorFocused"]
234
+ }), L = r({
235
+ suffixes: ["ColorFocusedRow"]
236
+ }), A = r({
237
+ suffixes: ["FocusRowBorder"]
238
+ }), z = r({
239
+ suffixes: ["ColorHoveredCell", "ColorHoveredCellIndex"]
240
+ }), P = r({
241
+ suffixes: ["HoverCellBorder"]
242
+ }), W = r({
243
+ suffixes: ["ColorHoveredCellReadOnly", "ColorHoveredCellNoFocus"]
244
+ }), j = r({
245
+ suffixes: ["ColorHoveredCellReadOnly", "ColorHoveredCellNoFocus"],
246
+ descendant: " *"
247
+ }), X = F({
248
+ ancestorSuffixes: ["HoverCellBorder"],
249
+ suffixes: ["ColorPreview", "ColorPreviewDynamic", "ColorViewedCell"]
250
+ }), Q = r({
251
+ suffixes: [
252
+ "ColorHoveredCellSpace",
253
+ "ColorHoveredCellSpaceEdit",
254
+ "ColorHoveredCellSpaceDefaults",
255
+ "ColorHoveredCellSpaceBool0",
256
+ "ColorHoveredCellSpaceBool1",
257
+ "ColorHoveredCellSpaceBoolX",
258
+ "ColorHoveredCellSpaceBoolIcon",
259
+ "ColorHoveredCellButton",
260
+ "ColorHoveredCellButton1",
261
+ "ColorHoveredCellTab",
262
+ "ColorHoveredCellTab1"
263
+ ]
264
+ }), Y = r({
265
+ suffixes: ["ColorFocusedCell", "ColorFocusedCellRelative"]
266
+ }), q = r({
267
+ suffixes: ["ColorFocusedCellRect"]
268
+ }), J = r({
269
+ suffixes: ["FocusCellBorder"]
270
+ }), K = r({
271
+ suffixes: ["FocusCellCorner"]
272
+ }), U = r({
273
+ suffixes: ["ClassFocusedCellSpaceEdit", "ClassFocusedCellSpaceDefaults"],
274
+ descendant: " > div"
275
+ }), Z = r({
276
+ suffixes: [
277
+ "ColorFocusedCellSafari",
278
+ "ColorFocusedCellSpace",
279
+ "ColorFocusedCellSpaceEdit",
280
+ "ColorFocusedCellSpaceDefaults",
281
+ "ColorFocusedCellSpaceBool",
282
+ "ColorFocusedCellButton"
283
+ ]
284
+ }), h = r({
285
+ suffixes: ["ClassHoveredCellSpaceEdit", "ClassHoveredCellSpaceDefaults"],
286
+ descendant: " > div"
287
+ }), m = r({
288
+ suffixes: ["ClassHoveredCellButtonButton", "ClassHoveredCellButtonButton1"],
289
+ descendant: " u"
290
+ }), T = r({
291
+ suffixes: ["ClassHoveredCellTab", "ClassHoveredCellTab1"]
292
+ }), ee = r({
293
+ suffixes: ["ColorChangedCell"]
294
+ }), oe = r({
295
+ suffixes: ["EditCellBorder"]
296
+ }), re = r({
297
+ suffixes: ["EditCellCorner"]
298
+ }), ce = {
299
+ [H]: {
300
+ fontSize: "var(--owp-tree-grid-cell-font-size, 13px)",
301
+ fontWeight: "normal",
302
+ lineHeight: "16px"
303
+ },
304
+ [k]: {
305
+ color: "var(--owp-tree-grid-body-color, #111112) !important"
306
+ },
307
+ [V]: {
308
+ color: "var(--owp-tree-grid-body-color, #111112) !important"
309
+ },
310
+ [B]: t(
311
+ "--owp-tree-grid-body-background-color",
312
+ "#FFFFFF"
313
+ ),
314
+ [E]: i(
315
+ "--owp-tree-grid-body-fill-background-color"
316
+ ),
317
+ [R]: i(
318
+ "--owp-tree-grid-row-solid-background-color"
319
+ ),
320
+ [G]: t(
321
+ "--owp-tree-grid-row-background-color",
322
+ "#FFFFFF"
323
+ ),
324
+ [x]: t(
325
+ "--owp-tree-grid-row-background-color",
326
+ "#FFFFFE"
327
+ ),
328
+ [y]: {
329
+ color: "var(--owp-tree-grid-header-color, #ffffff) !important",
330
+ fontSize: "var(--owp-tree-grid-header-font-size, 14px) !important",
331
+ fontWeight: "var(--owp-tree-grid-header-font-weight, normal) !important",
332
+ lineHeight: "16px"
333
+ },
334
+ [g]: {
335
+ backgroundColor: "var(--owp-tree-grid-header-background-color, #586980) !important",
336
+ color: "var(--owp-tree-grid-header-color, #ffffff) !important"
337
+ },
338
+ [N]: t(
339
+ "--owp-tree-grid-hover-row-background-color",
340
+ "#F0F0FF"
341
+ ),
342
+ [D]: t(
343
+ "--owp-tree-grid-hover-row-background-color",
344
+ "#EEE"
345
+ ),
346
+ [$]: {
347
+ borderTopColor: "var(--owp-tree-grid-hover-row-border-color) !important",
348
+ borderBottomColor: "var(--owp-tree-grid-hover-row-border-color) !important"
349
+ },
350
+ [_]: t(
351
+ "--owp-tree-grid-selected-cell-background-color",
352
+ "#FFFFA6"
353
+ ),
354
+ [I]: t(
355
+ "--owp-tree-grid-selected-cell-background-color",
356
+ "#FFFFA6"
357
+ ),
358
+ [M]: t(
359
+ "--owp-tree-grid-selected-row-background-color",
360
+ "#EEE"
361
+ ),
362
+ [O]: t(
363
+ "--owp-tree-grid-focused-row-background-color",
364
+ "#E6E6E6"
365
+ ),
366
+ [L]: t(
367
+ "--owp-tree-grid-focused-row-background-color",
368
+ "#EEE"
369
+ ),
370
+ [A]: {
371
+ borderColor: "var(--owp-tree-grid-focused-row-border-color) !important"
372
+ },
373
+ [z]: t(
374
+ "--owp-tree-grid-hover-cell-background-color",
375
+ "#BFDDF2"
376
+ ),
377
+ [P]: {
378
+ backgroundColor: "var(--owp-tree-grid-hover-cell-background-color) !important",
379
+ borderColor: "var(--owp-tree-grid-hover-cell-border-color) !important"
380
+ },
381
+ [W]: t(
382
+ "--owp-tree-grid-hover-cell-background-color",
383
+ "#F0F0F0"
384
+ ),
385
+ [j]: t(
386
+ "--owp-tree-grid-hover-cell-background-color",
387
+ "#F0F0F0"
388
+ ),
389
+ [X]: i(
390
+ "--owp-tree-grid-hover-cell-background-color"
391
+ ),
392
+ [Q]: i(
393
+ "--owp-tree-grid-hover-cell-background-color"
394
+ ),
395
+ [h]: {
396
+ borderColor: "var(--owp-tree-grid-hover-cell-border-color) !important"
397
+ },
398
+ [m]: {
399
+ borderColor: "var(--owp-tree-grid-hover-cell-border-color) !important"
400
+ },
401
+ [T]: {
402
+ borderTopColor: "var(--owp-tree-grid-hover-cell-border-color) !important",
403
+ borderBottomColor: "var(--owp-tree-grid-hover-cell-border-color) !important",
404
+ outlineColor: "var(--owp-tree-grid-hover-cell-border-color) !important"
405
+ },
406
+ [Y]: t(
407
+ "--owp-tree-grid-focused-cell-background-color",
408
+ "#FFFFFE"
409
+ ),
410
+ [q]: {
411
+ backgroundColor: "var(--owp-tree-grid-focused-cell-rect-background-color) !important"
412
+ },
413
+ [J]: {
414
+ borderColor: "var(--owp-tree-grid-focused-cell-border-color) !important"
415
+ },
416
+ [K]: {
417
+ backgroundColor: "var(--owp-tree-grid-focused-cell-border-color) !important"
418
+ },
419
+ [U]: {
420
+ borderColor: "var(--owp-tree-grid-focused-cell-border-color) !important"
421
+ },
422
+ [Z]: i(
423
+ "--owp-tree-grid-focused-cell-background-color"
424
+ ),
425
+ [ee]: t(
426
+ "--owp-tree-grid-changed-background-color",
427
+ "#EEE"
428
+ ),
429
+ [oe]: {
430
+ borderColor: "var(--owp-tree-grid-editing-cell-border-color) !important"
431
+ },
432
+ [re]: {
433
+ backgroundColor: "var(--owp-tree-grid-editing-cell-border-color) !important"
434
+ }
435
+ }, C = /* @__PURE__ */ l((e) => typeof e == "number" ? `${e}px` : e, "toTreeGridCssValue"), le = /* @__PURE__ */ l((e, o, c) => {
436
+ c && (e[o] = c);
437
+ }, "setOptionalTreeGridCssVariable"), ae = /* @__PURE__ */ l(({
438
+ width: e,
439
+ height: o,
440
+ treeGridTheme: c,
441
+ gridThemeConfig: d,
442
+ containerStyle: s
443
+ }) => {
444
+ const a = {
445
+ height: o,
446
+ width: e
447
+ };
448
+ for (const { cssVariableName: u, getValue: n } of v)
449
+ le(a, u, n(d));
450
+ for (const { cssVariableName: u, getValue: n } of f)
451
+ a[u] = n(c);
452
+ return {
453
+ ...a,
454
+ ...s
455
+ };
456
+ }, "createTreeGridThemeContainerStyle");
457
+ export {
458
+ w as TREE_GRID_THEME_WRAPPER_CLASS,
459
+ ae as createTreeGridThemeContainerStyle,
460
+ ce as treeGridThemeStyles
461
+ };
462
+ //# sourceMappingURL=treeGridTheme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"treeGridTheme.js","sources":["../../../../src/components/OwpTreeGrid/internal/treeGridTheme.ts"],"sourcesContent":["import type { OwpResolvedGridThemeConfigType } from '@/constants/gridTheme';\nimport type { OwpGridThemeConfigType } from '@/types/OwpGridThemeTypes';\nimport type { CSSProperties } from 'react';\n\ntype TreeGridThemeCssVariableName =\n | '--owp-tree-grid-body-background-color'\n | '--owp-tree-grid-body-color'\n | '--owp-tree-grid-body-fill-background-color'\n | '--owp-tree-grid-row-background-color'\n | '--owp-tree-grid-row-solid-background-color'\n | '--owp-tree-grid-header-background-color'\n | '--owp-tree-grid-header-color'\n | '--owp-tree-grid-header-font-size'\n | '--owp-tree-grid-header-font-weight'\n | '--owp-tree-grid-cell-font-size'\n | '--owp-tree-grid-hover-row-background-color'\n | '--owp-tree-grid-hover-row-border-color'\n | '--owp-tree-grid-selected-cell-background-color'\n | '--owp-tree-grid-selected-row-background-color'\n | '--owp-tree-grid-focused-row-background-color'\n | '--owp-tree-grid-focused-row-border-color'\n | '--owp-tree-grid-hover-cell-background-color'\n | '--owp-tree-grid-hover-cell-border-color'\n | '--owp-tree-grid-focused-cell-background-color'\n | '--owp-tree-grid-focused-cell-border-color'\n | '--owp-tree-grid-editing-cell-border-color'\n | '--owp-tree-grid-focused-cell-rect-background-color'\n | '--owp-tree-grid-changed-background-color';\n\ntype TreeGridLayoutDimensionValue = string | number;\n\ntype TreeGridOptionalThemeVariableResolver = {\n cssVariableName: TreeGridThemeCssVariableName;\n getValue: (gridThemeConfig?: OwpGridThemeConfigType | null) => string | undefined;\n};\n\ntype TreeGridResolvedThemeVariableResolver = {\n cssVariableName: TreeGridThemeCssVariableName;\n getValue: (treeGridTheme: OwpResolvedGridThemeConfigType) => string;\n};\n\nexport type TreeGridThemeContainerStyle = CSSProperties &\n Partial<Record<TreeGridThemeCssVariableName, string>>;\n\nexport const TREE_GRID_THEME_WRAPPER_CLASS = 'owp-tree-grid-theme';\n\nconst TREE_GRID_STYLE_PREFIXES = [\n 'TS',\n 'TW',\n 'TB',\n 'TM',\n 'TT',\n 'CF',\n 'CL',\n 'CO',\n 'CG',\n 'CB',\n 'CQ',\n 'CE',\n 'CS',\n 'CR',\n 'CP',\n 'CC',\n] as const;\n\nconst TREE_GRID_OPTIONAL_THEME_VARIABLE_RESOLVERS = [\n {\n cssVariableName: '--owp-tree-grid-body-background-color',\n getValue: (gridThemeConfig) => gridThemeConfig?.body?.backgroundColor,\n },\n {\n cssVariableName: '--owp-tree-grid-body-color',\n getValue: (gridThemeConfig) => gridThemeConfig?.body?.color,\n },\n {\n cssVariableName: '--owp-tree-grid-body-fill-background-color',\n getValue: (gridThemeConfig) => gridThemeConfig?.body?.fillBackgroundColor,\n },\n {\n cssVariableName: '--owp-tree-grid-row-background-color',\n getValue: (gridThemeConfig) => gridThemeConfig?.row?.backgroundColor,\n },\n {\n cssVariableName: '--owp-tree-grid-row-solid-background-color',\n getValue: (gridThemeConfig) => gridThemeConfig?.row?.solidBackgroundColor,\n },\n {\n cssVariableName: '--owp-tree-grid-hover-row-background-color',\n getValue: (gridThemeConfig) => gridThemeConfig?.state?.hoverRowBackgroundColor,\n },\n {\n cssVariableName: '--owp-tree-grid-hover-row-border-color',\n getValue: (gridThemeConfig) => gridThemeConfig?.state?.hoverRowBorderColor,\n },\n {\n cssVariableName: '--owp-tree-grid-selected-row-background-color',\n getValue: (gridThemeConfig) => gridThemeConfig?.state?.selectedRowBackgroundColor,\n },\n {\n cssVariableName: '--owp-tree-grid-selected-cell-background-color',\n getValue: (gridThemeConfig) => gridThemeConfig?.state?.selectedCellBackgroundColor,\n },\n {\n cssVariableName: '--owp-tree-grid-focused-row-background-color',\n getValue: (gridThemeConfig) => gridThemeConfig?.state?.focusedRowBackgroundColor,\n },\n {\n cssVariableName: '--owp-tree-grid-focused-row-border-color',\n getValue: (gridThemeConfig) => gridThemeConfig?.state?.focusedRowBorderColor,\n },\n {\n cssVariableName: '--owp-tree-grid-hover-cell-background-color',\n getValue: (gridThemeConfig) => gridThemeConfig?.state?.hoverCellBackgroundColor,\n },\n {\n cssVariableName: '--owp-tree-grid-hover-cell-border-color',\n getValue: (gridThemeConfig) => gridThemeConfig?.state?.hoverCellBorderColor,\n },\n {\n cssVariableName: '--owp-tree-grid-focused-cell-background-color',\n getValue: (gridThemeConfig) => gridThemeConfig?.state?.focusedCellBackgroundColor,\n },\n {\n cssVariableName: '--owp-tree-grid-focused-cell-border-color',\n getValue: (gridThemeConfig) => gridThemeConfig?.state?.focusedCellBorderColor,\n },\n {\n cssVariableName: '--owp-tree-grid-editing-cell-border-color',\n getValue: (gridThemeConfig) => gridThemeConfig?.state?.editingCellBorderColor,\n },\n {\n cssVariableName: '--owp-tree-grid-focused-cell-rect-background-color',\n getValue: (gridThemeConfig) => gridThemeConfig?.state?.focusedCellRectBackgroundColor,\n },\n {\n cssVariableName: '--owp-tree-grid-changed-background-color',\n getValue: (gridThemeConfig) => gridThemeConfig?.changed?.backgroundColor,\n },\n] as const satisfies readonly TreeGridOptionalThemeVariableResolver[];\n\nconst TREE_GRID_RESOLVED_THEME_VARIABLE_RESOLVERS = [\n {\n cssVariableName: '--owp-tree-grid-header-background-color',\n getValue: (treeGridTheme) => treeGridTheme.header.backgroundColor,\n },\n {\n cssVariableName: '--owp-tree-grid-header-color',\n getValue: (treeGridTheme) => treeGridTheme.header.color,\n },\n {\n cssVariableName: '--owp-tree-grid-header-font-size',\n getValue: (treeGridTheme) => toTreeGridCssValue(treeGridTheme.header.fontSize),\n },\n {\n cssVariableName: '--owp-tree-grid-header-font-weight',\n getValue: (treeGridTheme) => String(treeGridTheme.header.fontWeight),\n },\n {\n cssVariableName: '--owp-tree-grid-cell-font-size',\n getValue: (treeGridTheme) => toTreeGridCssValue(treeGridTheme.cell.fontSize),\n },\n] as const satisfies readonly TreeGridResolvedThemeVariableResolver[];\n\nconst createTreeGridBackgroundColorStyle = (cssVariableName: TreeGridThemeCssVariableName, fallbackColor: string) => ({\n backgroundColor: `var(${cssVariableName}, ${fallbackColor}) !important`,\n});\n\nconst createTreeGridOptionalBackgroundColorStyle = (cssVariableName: TreeGridThemeCssVariableName) => ({\n backgroundColor: `var(${cssVariableName}) !important`,\n});\n\nconst createTreeGridSelectors = ({\n rowSuffix,\n suffixes,\n descendant = '',\n withChildren = false,\n}: {\n rowSuffix?: string;\n suffixes: readonly string[];\n descendant?: string;\n withChildren?: boolean;\n}) => {\n return TREE_GRID_STYLE_PREFIXES.flatMap((prefix) => {\n return suffixes.flatMap((suffix) => {\n const wrapperSelector = `.${TREE_GRID_THEME_WRAPPER_CLASS}`;\n const rowSelector = rowSuffix ? ` .${prefix}${rowSuffix}` : '';\n const selector = `${wrapperSelector}${rowSelector} .${prefix}${suffix}${descendant}`;\n\n return withChildren ? [selector, `${selector} *`] : [selector];\n });\n }).join(', ');\n};\n\nconst createTreeGridNestedSelectors = ({\n ancestorSuffixes,\n suffixes,\n descendant = '',\n}: {\n ancestorSuffixes: readonly string[];\n suffixes: readonly string[];\n descendant?: string;\n}) => {\n return TREE_GRID_STYLE_PREFIXES.flatMap((prefix) => {\n return ancestorSuffixes.flatMap((ancestorSuffix) => {\n return suffixes.map((suffix) => {\n return `.${TREE_GRID_THEME_WRAPPER_CLASS} .${prefix}${ancestorSuffix} .${prefix}${suffix}${descendant}`;\n });\n });\n }).join(', ');\n};\n\nconst treeGridBodyTypographySelector = createTreeGridSelectors({\n suffixes: ['Main'],\n withChildren: true,\n});\n\nconst treeGridBodyRootSelector = createTreeGridSelectors({\n suffixes: ['Main'],\n});\n\nconst treeGridBodyReadonlyTypographySelector = createTreeGridSelectors({\n suffixes: ['ClassReadOnly'],\n withChildren: true,\n});\n\nconst treeGridBodySurfaceSelector = createTreeGridSelectors({\n suffixes: ['MainTable'],\n});\n\nconst treeGridFillRowSurfaceSelector = createTreeGridSelectors({\n suffixes: ['FillRow'],\n});\n\nconst treeGridSolidRowSurfaceSelector = createTreeGridSelectors({\n suffixes: ['SolidRow'],\n});\n\nconst treeGridCellDefaultSurfaceSelector = createTreeGridSelectors({\n suffixes: ['ColorDefault'],\n});\n\nconst treeGridRowDefaultSurfaceSelector = createTreeGridSelectors({\n suffixes: ['ColorDefaultRow'],\n});\n\nconst treeGridHeaderTypographySelector = createTreeGridSelectors({\n rowSuffix: 'HeaderRow',\n suffixes: ['CellHeader', 'CellIndex', 'GanttHeaderBase', 'LevelButton'],\n withChildren: true,\n});\n\nconst treeGridHeaderSurfaceSelector = createTreeGridSelectors({\n rowSuffix: 'HeaderRow',\n suffixes: [\n 'CellHeader',\n 'CellIndex',\n 'EditHeaderInput',\n 'EditHeaderTextarea',\n 'ColorFocusedCellHeader',\n 'ColorHoveredCellHeader',\n 'ColorHoveredCellIndex',\n 'HeaderFocus',\n 'HeaderDrag',\n ],\n});\n\nconst treeGridHoverRowSurfaceSelector = createTreeGridSelectors({\n suffixes: ['ColorHovered'],\n});\n\nconst treeGridHoverRowSideSelector = createTreeGridSelectors({\n suffixes: ['ColorHoveredRow'],\n});\n\nconst treeGridHoverRowBorderSelector = createTreeGridSelectors({\n suffixes: ['HoverRowBorder'],\n});\n\nconst treeGridSelectedSurfaceSelector = createTreeGridSelectors({\n suffixes: ['ColorSelected', 'ColorSelectedCell'],\n});\n\nconst treeGridSelectedSurfaceDescendantSelector = createTreeGridSelectors({\n suffixes: ['ColorSelected', 'ColorSelectedCell'],\n descendant: ' *',\n});\n\nconst treeGridSelectedRowSideSelector = createTreeGridSelectors({\n suffixes: ['ColorSelectedRow'],\n});\n\nconst treeGridFocusedRowSurfaceSelector = createTreeGridSelectors({\n suffixes: ['ColorFocused'],\n});\n\nconst treeGridFocusedRowSideSelector = createTreeGridSelectors({\n suffixes: ['ColorFocusedRow'],\n});\n\nconst treeGridFocusedRowBorderSelector = createTreeGridSelectors({\n suffixes: ['FocusRowBorder'],\n});\n\nconst treeGridHoverCellSurfaceSelector = createTreeGridSelectors({\n suffixes: ['ColorHoveredCell', 'ColorHoveredCellIndex'],\n});\n\nconst treeGridHoverCellBorderSelector = createTreeGridSelectors({\n suffixes: ['HoverCellBorder'],\n});\n\nconst treeGridHoverCellMutedSurfaceSelector = createTreeGridSelectors({\n suffixes: ['ColorHoveredCellReadOnly', 'ColorHoveredCellNoFocus'],\n});\n\nconst treeGridHoverCellMutedSurfaceDescendantSelector = createTreeGridSelectors({\n suffixes: ['ColorHoveredCellReadOnly', 'ColorHoveredCellNoFocus'],\n descendant: ' *',\n});\n\nconst treeGridHoverPreviewCellSurfaceSelector = createTreeGridNestedSelectors({\n ancestorSuffixes: ['HoverCellBorder'],\n suffixes: ['ColorPreview', 'ColorPreviewDynamic', 'ColorViewedCell'],\n});\n\nconst treeGridHoverCellExtendedSurfaceSelector = createTreeGridSelectors({\n suffixes: [\n 'ColorHoveredCellSpace',\n 'ColorHoveredCellSpaceEdit',\n 'ColorHoveredCellSpaceDefaults',\n 'ColorHoveredCellSpaceBool0',\n 'ColorHoveredCellSpaceBool1',\n 'ColorHoveredCellSpaceBoolX',\n 'ColorHoveredCellSpaceBoolIcon',\n 'ColorHoveredCellButton',\n 'ColorHoveredCellButton1',\n 'ColorHoveredCellTab',\n 'ColorHoveredCellTab1',\n ],\n});\n\nconst treeGridFocusedCellSurfaceSelector = createTreeGridSelectors({\n suffixes: ['ColorFocusedCell', 'ColorFocusedCellRelative'],\n});\n\nconst treeGridFocusedCellRectSelector = createTreeGridSelectors({\n suffixes: ['ColorFocusedCellRect'],\n});\n\nconst treeGridFocusedCellBorderSelector = createTreeGridSelectors({\n suffixes: ['FocusCellBorder'],\n});\n\nconst treeGridFocusedCellCornerSelector = createTreeGridSelectors({\n suffixes: ['FocusCellCorner'],\n});\n\nconst treeGridFocusedCellSpaceClassBorderSelector = createTreeGridSelectors({\n suffixes: ['ClassFocusedCellSpaceEdit', 'ClassFocusedCellSpaceDefaults'],\n descendant: ' > div',\n});\n\nconst treeGridFocusedCellExtendedSurfaceSelector = createTreeGridSelectors({\n suffixes: [\n 'ColorFocusedCellSafari',\n 'ColorFocusedCellSpace',\n 'ColorFocusedCellSpaceEdit',\n 'ColorFocusedCellSpaceDefaults',\n 'ColorFocusedCellSpaceBool',\n 'ColorFocusedCellButton',\n ],\n});\n\nconst treeGridHoverCellSpaceClassBorderSelector = createTreeGridSelectors({\n suffixes: ['ClassHoveredCellSpaceEdit', 'ClassHoveredCellSpaceDefaults'],\n descendant: ' > div',\n});\n\nconst treeGridHoverCellButtonClassBorderSelector = createTreeGridSelectors({\n suffixes: ['ClassHoveredCellButtonButton', 'ClassHoveredCellButtonButton1'],\n descendant: ' u',\n});\n\nconst treeGridHoverCellTabClassBorderSelector = createTreeGridSelectors({\n suffixes: ['ClassHoveredCellTab', 'ClassHoveredCellTab1'],\n});\n\nconst treeGridChangedCellSurfaceSelector = createTreeGridSelectors({\n suffixes: ['ColorChangedCell'],\n});\n\nconst treeGridEditingCellBorderSelector = createTreeGridSelectors({\n suffixes: ['EditCellBorder'],\n});\n\nconst treeGridEditingCellCornerSelector = createTreeGridSelectors({\n suffixes: ['EditCellCorner'],\n});\n\nexport const treeGridThemeStyles: Record<string, CSSProperties> = {\n [treeGridBodyTypographySelector]: {\n fontSize: 'var(--owp-tree-grid-cell-font-size, 13px)',\n fontWeight: 'normal',\n lineHeight: '16px',\n },\n [treeGridBodyRootSelector]: {\n color: 'var(--owp-tree-grid-body-color, #111112) !important',\n },\n [treeGridBodyReadonlyTypographySelector]: {\n color: 'var(--owp-tree-grid-body-color, #111112) !important',\n },\n [treeGridBodySurfaceSelector]: createTreeGridBackgroundColorStyle(\n '--owp-tree-grid-body-background-color',\n '#FFFFFF',\n ),\n [treeGridFillRowSurfaceSelector]: createTreeGridOptionalBackgroundColorStyle(\n '--owp-tree-grid-body-fill-background-color',\n ),\n [treeGridSolidRowSurfaceSelector]: createTreeGridOptionalBackgroundColorStyle(\n '--owp-tree-grid-row-solid-background-color',\n ),\n [treeGridCellDefaultSurfaceSelector]: createTreeGridBackgroundColorStyle(\n '--owp-tree-grid-row-background-color',\n '#FFFFFF',\n ),\n [treeGridRowDefaultSurfaceSelector]: createTreeGridBackgroundColorStyle(\n '--owp-tree-grid-row-background-color',\n '#FFFFFE',\n ),\n [treeGridHeaderTypographySelector]: {\n color: 'var(--owp-tree-grid-header-color, #ffffff) !important',\n fontSize: 'var(--owp-tree-grid-header-font-size, 14px) !important',\n fontWeight: 'var(--owp-tree-grid-header-font-weight, normal) !important',\n lineHeight: '16px',\n },\n [treeGridHeaderSurfaceSelector]: {\n backgroundColor: 'var(--owp-tree-grid-header-background-color, #586980) !important',\n color: 'var(--owp-tree-grid-header-color, #ffffff) !important',\n },\n [treeGridHoverRowSurfaceSelector]: createTreeGridBackgroundColorStyle(\n '--owp-tree-grid-hover-row-background-color',\n '#F0F0FF',\n ),\n [treeGridHoverRowSideSelector]: createTreeGridBackgroundColorStyle(\n '--owp-tree-grid-hover-row-background-color',\n '#EEE',\n ),\n [treeGridHoverRowBorderSelector]: {\n borderTopColor: 'var(--owp-tree-grid-hover-row-border-color) !important',\n borderBottomColor: 'var(--owp-tree-grid-hover-row-border-color) !important',\n },\n [treeGridSelectedSurfaceSelector]: createTreeGridBackgroundColorStyle(\n '--owp-tree-grid-selected-cell-background-color',\n '#FFFFA6',\n ),\n [treeGridSelectedSurfaceDescendantSelector]: createTreeGridBackgroundColorStyle(\n '--owp-tree-grid-selected-cell-background-color',\n '#FFFFA6',\n ),\n [treeGridSelectedRowSideSelector]: createTreeGridBackgroundColorStyle(\n '--owp-tree-grid-selected-row-background-color',\n '#EEE',\n ),\n [treeGridFocusedRowSurfaceSelector]: createTreeGridBackgroundColorStyle(\n '--owp-tree-grid-focused-row-background-color',\n '#E6E6E6',\n ),\n [treeGridFocusedRowSideSelector]: createTreeGridBackgroundColorStyle(\n '--owp-tree-grid-focused-row-background-color',\n '#EEE',\n ),\n [treeGridFocusedRowBorderSelector]: {\n borderColor: 'var(--owp-tree-grid-focused-row-border-color) !important',\n },\n [treeGridHoverCellSurfaceSelector]: createTreeGridBackgroundColorStyle(\n '--owp-tree-grid-hover-cell-background-color',\n '#BFDDF2',\n ),\n [treeGridHoverCellBorderSelector]: {\n backgroundColor: 'var(--owp-tree-grid-hover-cell-background-color) !important',\n borderColor: 'var(--owp-tree-grid-hover-cell-border-color) !important',\n },\n [treeGridHoverCellMutedSurfaceSelector]: createTreeGridBackgroundColorStyle(\n '--owp-tree-grid-hover-cell-background-color',\n '#F0F0F0',\n ),\n [treeGridHoverCellMutedSurfaceDescendantSelector]: createTreeGridBackgroundColorStyle(\n '--owp-tree-grid-hover-cell-background-color',\n '#F0F0F0',\n ),\n [treeGridHoverPreviewCellSurfaceSelector]: createTreeGridOptionalBackgroundColorStyle(\n '--owp-tree-grid-hover-cell-background-color',\n ),\n [treeGridHoverCellExtendedSurfaceSelector]: createTreeGridOptionalBackgroundColorStyle(\n '--owp-tree-grid-hover-cell-background-color',\n ),\n [treeGridHoverCellSpaceClassBorderSelector]: {\n borderColor: 'var(--owp-tree-grid-hover-cell-border-color) !important',\n },\n [treeGridHoverCellButtonClassBorderSelector]: {\n borderColor: 'var(--owp-tree-grid-hover-cell-border-color) !important',\n },\n [treeGridHoverCellTabClassBorderSelector]: {\n borderTopColor: 'var(--owp-tree-grid-hover-cell-border-color) !important',\n borderBottomColor: 'var(--owp-tree-grid-hover-cell-border-color) !important',\n outlineColor: 'var(--owp-tree-grid-hover-cell-border-color) !important',\n },\n [treeGridFocusedCellSurfaceSelector]: createTreeGridBackgroundColorStyle(\n '--owp-tree-grid-focused-cell-background-color',\n '#FFFFFE',\n ),\n [treeGridFocusedCellRectSelector]: {\n backgroundColor: 'var(--owp-tree-grid-focused-cell-rect-background-color) !important',\n },\n [treeGridFocusedCellBorderSelector]: {\n borderColor: 'var(--owp-tree-grid-focused-cell-border-color) !important',\n },\n [treeGridFocusedCellCornerSelector]: {\n backgroundColor: 'var(--owp-tree-grid-focused-cell-border-color) !important',\n },\n [treeGridFocusedCellSpaceClassBorderSelector]: {\n borderColor: 'var(--owp-tree-grid-focused-cell-border-color) !important',\n },\n [treeGridFocusedCellExtendedSurfaceSelector]: createTreeGridOptionalBackgroundColorStyle(\n '--owp-tree-grid-focused-cell-background-color',\n ),\n [treeGridChangedCellSurfaceSelector]: createTreeGridBackgroundColorStyle(\n '--owp-tree-grid-changed-background-color',\n '#EEE',\n ),\n [treeGridEditingCellBorderSelector]: {\n borderColor: 'var(--owp-tree-grid-editing-cell-border-color) !important',\n },\n [treeGridEditingCellCornerSelector]: {\n backgroundColor: 'var(--owp-tree-grid-editing-cell-border-color) !important',\n },\n};\n\nconst toTreeGridCssValue = (value: number | string) => {\n return typeof value === 'number' ? `${value}px` : value;\n};\n\nconst setOptionalTreeGridCssVariable = (\n style: TreeGridThemeContainerStyle,\n cssVariableName: TreeGridThemeCssVariableName,\n value: string | undefined,\n) => {\n if (value) {\n style[cssVariableName] = value;\n }\n};\n\n/**\n * TreeGrid theme CSS 변수 컨테이너 스타일 생성\n * @param input Grid theme 입력값\n */\nexport const createTreeGridThemeContainerStyle = ({\n width,\n height,\n treeGridTheme,\n gridThemeConfig,\n containerStyle,\n}: {\n width: TreeGridLayoutDimensionValue;\n height: TreeGridLayoutDimensionValue;\n treeGridTheme: OwpResolvedGridThemeConfigType;\n gridThemeConfig?: OwpGridThemeConfigType | null;\n containerStyle?: CSSProperties;\n}): TreeGridThemeContainerStyle => {\n const resolvedContainerStyle: TreeGridThemeContainerStyle = {\n height,\n width,\n };\n\n for (const { cssVariableName, getValue } of TREE_GRID_OPTIONAL_THEME_VARIABLE_RESOLVERS) {\n setOptionalTreeGridCssVariable(resolvedContainerStyle, cssVariableName, getValue(gridThemeConfig));\n }\n\n for (const { cssVariableName, getValue } of TREE_GRID_RESOLVED_THEME_VARIABLE_RESOLVERS) {\n resolvedContainerStyle[cssVariableName] = getValue(treeGridTheme);\n }\n\n return {\n ...resolvedContainerStyle,\n ...containerStyle,\n };\n};\n"],"names":["TREE_GRID_THEME_WRAPPER_CLASS","TREE_GRID_STYLE_PREFIXES","TREE_GRID_OPTIONAL_THEME_VARIABLE_RESOLVERS","__name","gridThemeConfig","_a","TREE_GRID_RESOLVED_THEME_VARIABLE_RESOLVERS","treeGridTheme","toTreeGridCssValue","createTreeGridBackgroundColorStyle","cssVariableName","fallbackColor","createTreeGridOptionalBackgroundColorStyle","createTreeGridSelectors","rowSuffix","suffixes","descendant","withChildren","prefix","suffix","wrapperSelector","rowSelector","selector","createTreeGridNestedSelectors","ancestorSuffixes","ancestorSuffix","treeGridBodyTypographySelector","treeGridBodyRootSelector","treeGridBodyReadonlyTypographySelector","treeGridBodySurfaceSelector","treeGridFillRowSurfaceSelector","treeGridSolidRowSurfaceSelector","treeGridCellDefaultSurfaceSelector","treeGridRowDefaultSurfaceSelector","treeGridHeaderTypographySelector","treeGridHeaderSurfaceSelector","treeGridHoverRowSurfaceSelector","treeGridHoverRowSideSelector","treeGridHoverRowBorderSelector","treeGridSelectedSurfaceSelector","treeGridSelectedSurfaceDescendantSelector","treeGridSelectedRowSideSelector","treeGridFocusedRowSurfaceSelector","treeGridFocusedRowSideSelector","treeGridFocusedRowBorderSelector","treeGridHoverCellSurfaceSelector","treeGridHoverCellBorderSelector","treeGridHoverCellMutedSurfaceSelector","treeGridHoverCellMutedSurfaceDescendantSelector","treeGridHoverPreviewCellSurfaceSelector","treeGridHoverCellExtendedSurfaceSelector","treeGridFocusedCellSurfaceSelector","treeGridFocusedCellRectSelector","treeGridFocusedCellBorderSelector","treeGridFocusedCellCornerSelector","treeGridFocusedCellSpaceClassBorderSelector","treeGridFocusedCellExtendedSurfaceSelector","treeGridHoverCellSpaceClassBorderSelector","treeGridHoverCellButtonClassBorderSelector","treeGridHoverCellTabClassBorderSelector","treeGridChangedCellSurfaceSelector","treeGridEditingCellBorderSelector","treeGridEditingCellCornerSelector","treeGridThemeStyles","value","setOptionalTreeGridCssVariable","style","createTreeGridThemeContainerStyle","width","height","containerStyle","resolvedContainerStyle","getValue"],"mappings":"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"}