@owp/core 2.5.17 → 2.5.19

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 (89) hide show
  1. package/dist/_virtual/index10.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/index16.js +4 -4
  6. package/dist/_virtual/index17.js +4 -4
  7. package/dist/_virtual/index18.js +4 -4
  8. package/dist/_virtual/index19.js +4 -4
  9. package/dist/components/OwpPageContent/OwpPageContent.js +14 -12
  10. package/dist/components/OwpPageContent/OwpPageContent.js.map +1 -1
  11. package/dist/components/OwpPageTitle/OwpPageTitle.js +37 -35
  12. package/dist/components/OwpPageTitle/OwpPageTitle.js.map +1 -1
  13. package/dist/components/OwpPicker/OwpDatePicker.js +339 -102
  14. package/dist/components/OwpPicker/OwpDatePicker.js.map +1 -1
  15. package/dist/components/OwpPicker/OwpDateRangePicker.js +87 -82
  16. package/dist/components/OwpPicker/OwpDateRangePicker.js.map +1 -1
  17. package/dist/components/OwpPicker/OwpTimePicker.js +494 -220
  18. package/dist/components/OwpPicker/OwpTimePicker.js.map +1 -1
  19. package/dist/components/OwpPicker/constants/index.js +6 -5
  20. package/dist/components/OwpPicker/constants/index.js.map +1 -1
  21. package/dist/components/OwpPicker/internal/DatePickerInput.js +71 -47
  22. package/dist/components/OwpPicker/internal/DatePickerInput.js.map +1 -1
  23. package/dist/components/OwpSection/OwpSection.js +84 -62
  24. package/dist/components/OwpSection/OwpSection.js.map +1 -1
  25. package/dist/components/OwpSelectorBase/OwpSelectorAutocomplete.js +42 -40
  26. package/dist/components/OwpSelectorBase/OwpSelectorAutocomplete.js.map +1 -1
  27. package/dist/components/OwpTreeGrid/OwpTreeGrid.js +273 -224
  28. package/dist/components/OwpTreeGrid/OwpTreeGrid.js.map +1 -1
  29. package/dist/components/OwpTreeGrid/internal/hooks/useOwpTreeGridDatePickerEditor.js +476 -105
  30. package/dist/components/OwpTreeGrid/internal/hooks/useOwpTreeGridDatePickerEditor.js.map +1 -1
  31. package/dist/components/OwpTreeGrid/internal/treeGridRuntime.js +317 -245
  32. package/dist/components/OwpTreeGrid/internal/treeGridRuntime.js.map +1 -1
  33. package/dist/components/OwpTreeGrid/internal/treeGridTheme.js +315 -151
  34. package/dist/components/OwpTreeGrid/internal/treeGridTheme.js.map +1 -1
  35. package/dist/constants/gridTheme.js +9 -7
  36. package/dist/constants/gridTheme.js.map +1 -1
  37. package/dist/constants/treeGrid.js +37 -35
  38. package/dist/constants/treeGrid.js.map +1 -1
  39. package/dist/constants.js +25 -23
  40. package/dist/features/themePreview/configs/grid.js +3 -1
  41. package/dist/features/themePreview/configs/grid.js.map +1 -1
  42. package/dist/features/themePreview/utils/themePreviewDefinitions.js +10 -0
  43. package/dist/features/themePreview/utils/themePreviewDefinitions.js.map +1 -1
  44. package/dist/layout/components/toggles/NavigationSearchToggle.js +3 -3
  45. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE128/constants.js +1 -1
  46. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE128/index.js +1 -1
  47. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE39/index.js +1 -1
  48. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE93/constants.js +1 -1
  49. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE93/index.js +1 -1
  50. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/EAN_UPC/index.js +1 -1
  51. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/GenericBarcode/index.js +1 -1
  52. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/ITF/constants.js +1 -1
  53. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/ITF/index.js +1 -1
  54. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/MSI/index.js +1 -1
  55. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/codabar/index.js +1 -1
  56. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/pharmacode/index.js +1 -1
  57. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/renderers/index.js +1 -1
  58. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.js +1 -1
  59. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.js +1 -1
  60. 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
  61. package/dist/owp-app.css +1 -1
  62. package/dist/types/components/OwpPageContent/OwpPageContent.d.ts +3 -1
  63. package/dist/types/components/OwpPageTitle/OwpPageTitle.d.ts +3 -1
  64. package/dist/types/components/OwpPicker/OwpTimePicker.d.ts +3 -1
  65. package/dist/types/components/OwpPicker/constants/index.d.ts +1 -0
  66. package/dist/types/components/OwpPicker/internal/DatePickerInput.d.ts +7 -0
  67. package/dist/types/components/OwpSection/OwpSection.d.ts +3 -1
  68. package/dist/types/components/OwpTreeGrid/OwpTreeGrid.d.ts +6 -6
  69. package/dist/types/components/OwpTreeGrid/internal/hooks/useOwpTreeGridDatePickerEditor.d.ts +3 -0
  70. package/dist/types/components/OwpTreeGrid/internal/treeGridRuntime.d.ts +33 -7
  71. package/dist/types/components/OwpTreeGrid/internal/treeGridTheme.d.ts +1 -1
  72. package/dist/types/constants/gridTheme.d.ts +4 -0
  73. package/dist/types/constants/treeGrid.d.ts +3 -1
  74. package/dist/types/features/themePreview/configs/grid.d.ts +2 -0
  75. package/dist/types/features/themePreview/configs/settings.d.ts +2 -0
  76. package/dist/types/types/OwpGridThemeTypes.d.ts +2 -0
  77. package/dist/types/utils/index.d.ts +0 -1
  78. package/dist/types/utils/treeGridUtil.d.ts +42 -3
  79. package/dist/utils/treeGridUtil.js +220 -119
  80. package/dist/utils/treeGridUtil.js.map +1 -1
  81. package/dist/utils.js +90 -86
  82. package/dist/utils.js.map +1 -1
  83. package/package.json +1 -1
  84. package/dist/components/OwpTreeGrid/internal/treeGridColumnEditRules.js +0 -84
  85. package/dist/components/OwpTreeGrid/internal/treeGridColumnEditRules.js.map +0 -1
  86. package/dist/types/components/OwpTreeGrid/internal/treeGridColumnEditRules.d.ts +0 -60
  87. package/dist/types/utils/normalizeTimeToHourMinute.d.ts +0 -11
  88. package/dist/utils/normalizeTimeToHourMinute.js +0 -34
  89. package/dist/utils/normalizeTimeToHourMinute.js.map +0 -1
@@ -1,4 +1,8 @@
1
+ import { TextFieldProps } from '@mui/material';
2
+ import { type Ref } from 'react';
1
3
  type DatePickerValue = string | Date;
4
+ type TextFieldFocusEventHandler = NonNullable<TextFieldProps['onFocus']>;
5
+ type TextFieldKeyDownEventHandler = NonNullable<TextFieldProps['onKeyDown']>;
2
6
  interface OwnProps {
3
7
  valueFormatter?: string;
4
8
  value?: DatePickerValue;
@@ -9,6 +13,9 @@ interface OwnProps {
9
13
  reset?: () => void;
10
14
  onInputAreaClick?: VoidFunction;
11
15
  onIconClick?: VoidFunction;
16
+ inputElementRef?: Ref<HTMLInputElement>;
17
+ onInputFocus?: TextFieldFocusEventHandler;
18
+ onInputKeyDown?: TextFieldKeyDownEventHandler;
12
19
  }
13
20
  /**
14
21
  * DatePickerInput 컴포넌트
@@ -11,6 +11,7 @@ interface OwpSectionProps {
11
11
  centerSlot?: ReactNode;
12
12
  children?: ReactNode;
13
13
  iconSize?: IconProps['fontSize'];
14
+ loading?: boolean;
14
15
  }
15
16
  /**
16
17
  * OwpSection 컴포넌트
@@ -22,6 +23,7 @@ interface OwpSectionProps {
22
23
  * @param leftSlot leftSlot 값
23
24
  * @param centerSlot centerSlot 값
24
25
  * @param actions 액션 영역
26
+ * @param loading 로딩 상태
25
27
  */
26
- declare const OwpSection: ({ className, title, disableTitleIcon, headerProps, usePageTitle, actions, leftSlot, centerSlot, children, iconSize, }: OwpSectionProps) => import("react/jsx-runtime").JSX.Element;
28
+ declare const OwpSection: ({ className, title, disableTitleIcon, headerProps, usePageTitle, actions, leftSlot, centerSlot, children, iconSize, loading, }: OwpSectionProps) => import("react/jsx-runtime").JSX.Element;
27
29
  export { OwpSection };
@@ -15,14 +15,15 @@ export type OwpTreeGridData<T> = OwpTreeGridBodyData<T>;
15
15
  export type TData<T> = OwpTreeGridBodyData<T>;
16
16
  export type OwpTreeGridRowModel<T> = TRow & T;
17
17
  export type OwpTreeGridSelectedRows<T> = OwpTreeGridRowModel<T>[];
18
- export type OwpTreeGridColumnEditPreset = 'hourMinute';
19
- export interface OwpTreeGridColumnEditRule {
20
- columns: readonly string[];
21
- preset: OwpTreeGridColumnEditPreset;
18
+ export interface OwpTreeGridDatePickerEditorColumnOption {
19
+ baseYear?: string;
20
+ baseYearMonth?: string;
22
21
  }
23
22
  export interface OwpTreeGridDatePickerEditorConfig {
24
23
  enabled?: boolean;
25
24
  columns?: readonly string[];
25
+ allowInput?: boolean;
26
+ columnOptions?: Record<string, OwpTreeGridDatePickerEditorColumnOption>;
26
27
  showTimeInput?: boolean;
27
28
  showTimeSelect?: boolean;
28
29
  timeIntervals?: number;
@@ -63,7 +64,6 @@ export interface OwpTreeGridProps<T> {
63
64
  onRowClick?: OwpTreeGridRowClickHandler<T>;
64
65
  onSave?: OwpTreeGridSaveHandler<T>;
65
66
  onAfterValueChanged?: OwpTreeGridAfterValueChangedHandler<T>;
66
- columnEditRules?: readonly OwpTreeGridColumnEditRule[];
67
67
  datePickerEditor?: OwpTreeGridDatePickerEditorConfig;
68
68
  highlightEditableCells?: boolean;
69
69
  highlightChangedCells?: boolean;
@@ -84,5 +84,5 @@ export interface OwpTreeGridProps<T> {
84
84
  * @param canUseTableRadius TreeGrid 내부 테이블 radius 사용 여부
85
85
  * @param tableBorderRadius TreeGrid 내부 테이블 radius 값
86
86
  */
87
- declare const OwpTreeGrid: <T>({ id, containerStyle, containerClassName, toolbarRowBackgroundColor, className, style, height, width, canUseTableRadius, tableBorderRadius, layoutUrl, layoutData, dataUrl, layoutOverrides, data, useDataUrl, onSelect, onRowClick, onRowAdd, onRowDelete, onRowUndelete, onRowChange, onClickButton, onSave, onReady, onAfterValueChanged, columnEditRules, datePickerEditor, highlightEditableCells, highlightChangedCells, syncDeletedRowCanEdit, confirmDeletedRowRemoval, loading, showLoading, }: OwpTreeGridProps<T>) => import("react/jsx-runtime").JSX.Element;
87
+ declare const OwpTreeGrid: <T>({ id, containerStyle, containerClassName, toolbarRowBackgroundColor, className, style, height, width, canUseTableRadius, tableBorderRadius, layoutUrl, layoutData, dataUrl, layoutOverrides, data, useDataUrl, onSelect, onRowClick, onRowAdd, onRowDelete, onRowUndelete, onRowChange, onClickButton, onSave, onReady, onAfterValueChanged, datePickerEditor, highlightEditableCells, highlightChangedCells, syncDeletedRowCanEdit, confirmDeletedRowRemoval, loading, showLoading, }: OwpTreeGridProps<T>) => import("react/jsx-runtime").JSX.Element;
88
88
  export { OwpTreeGrid };
@@ -9,6 +9,9 @@ interface UseOwpTreeGridDatePickerEditorParams<T> {
9
9
  /** OwpTreeGrid Date 셀 React DatePicker editor */
10
10
  export declare const useOwpTreeGridDatePickerEditor: <T>({ config, treeGridInstanceRef, isTreeGridReady, onValueChange, }: UseOwpTreeGridDatePickerEditorParams<T>) => {
11
11
  datePickerEditorElement: import("react/jsx-runtime").JSX.Element;
12
+ handleDatePickerEditorButtonClick: (grid: TGrid, row: OwpTreeGridRowModel<T>, col: string, event: Event) => 1;
12
13
  handleDatePickerEditorCellClick: (grid: TGrid, row: OwpTreeGridRowModel<T>, col: string, _x: number, _y: number, event: Event) => 1;
14
+ handleDatePickerEditorKeyDown: (grid: TGrid, key: string, event: Event) => 1;
15
+ handleDatePickerEditorStartEdit: (grid: TGrid, row: OwpTreeGridRowModel<T>, col: string) => true;
13
16
  };
14
17
  export {};
@@ -1,6 +1,5 @@
1
1
  import { type Dispatch, type RefObject, type SetStateAction } from 'react';
2
- import type { OwpTreeGridBodyData, OwpTreeGridColumnEditRule, OwpTreeGridLayoutConfig, OwpTreeGridProps, OwpTreeGridRowModel } from '../OwpTreeGrid';
3
- import { type TreeGridColumnEditRuleLookup, type TreeGridColumnEditRulesState } from './treeGridColumnEditRules';
2
+ import type { OwpTreeGridBodyData, OwpTreeGridLayoutConfig, OwpTreeGridProps, OwpTreeGridRowModel } from '../OwpTreeGrid';
4
3
  export declare const TREE_GRID_BINDING_LOADING_MIN_VISIBLE_MS = 300;
5
4
  type TreeGridInitializationInput<T> = {
6
5
  id: string;
@@ -16,9 +15,15 @@ type TreeGridInitializationInput<T> = {
16
15
  type TreeGridBeforeRowUndeleteAction = 'cancel' | 'remove' | 'undelete';
17
16
  type TreeGridBeforeRowUndeleteHandler<T> = (grid: TGrid, row: OwpTreeGridRowModel<T>) => TreeGridBeforeRowUndeleteAction | undefined | Promise<TreeGridBeforeRowUndeleteAction | undefined>;
18
17
  type TreeGridInternalCellClickHandler<T> = (grid: TGrid, row: OwpTreeGridRowModel<T>, col: string, x: number, y: number, event: Event) => boolean | number | undefined;
18
+ type TreeGridInternalButtonClickHandler<T> = (grid: TGrid, row: OwpTreeGridRowModel<T>, col: string, event: Event) => boolean | number | undefined;
19
+ type TreeGridInternalKeyDownHandler = (grid: TGrid, key: string, event: Event, name: string, prefix: string) => boolean | number | undefined;
20
+ type TreeGridInternalStartEditHandler<T> = (grid: TGrid, row: OwpTreeGridRowModel<T>, col: string) => boolean | number | undefined;
19
21
  export type TreeGridEventHandlers<T> = Pick<OwpTreeGridProps<T>, 'onSelect' | 'onRowClick' | 'onRowAdd' | 'onRowDelete' | 'onRowUndelete' | 'onRowChange' | 'onClickButton' | 'onSave' | 'onReady' | 'onAfterValueChanged'> & {
20
22
  onBeforeRowUndelete?: TreeGridBeforeRowUndeleteHandler<T>;
23
+ onInternalButtonClick?: TreeGridInternalButtonClickHandler<T>;
21
24
  onInternalCellClick?: TreeGridInternalCellClickHandler<T>;
25
+ onInternalKeyDown?: TreeGridInternalKeyDownHandler;
26
+ onInternalStartEdit?: TreeGridInternalStartEditHandler<T>;
22
27
  };
23
28
  export type TreeGridEventBindingOptions<T> = Pick<OwpTreeGridProps<T>, 'id'> & {
24
29
  latestEventHandlersRef: RefObject<TreeGridEventHandlers<T>>;
@@ -30,19 +35,17 @@ export type TreeGridEventBindingOptions<T> = Pick<OwpTreeGridProps<T>, 'id'> & {
30
35
  changedCellBackgroundColorRef: RefObject<string>;
31
36
  selectedCellBackgroundColorRef: RefObject<string>;
32
37
  hoverCellBackgroundColorRef: RefObject<string>;
38
+ changedCellBaselineRef: RefObject<TreeGridCellBaselineMap>;
33
39
  treeGridInstanceRef: RefObject<TGrid>;
34
40
  treeGridInitStartedAtRef: RefObject<number | null>;
35
41
  latestLayoutOverridesRef: RefObject<OwpTreeGridLayoutConfig | undefined>;
36
42
  appliedLayoutOverridesRef: RefObject<OwpTreeGridLayoutConfig | undefined>;
37
43
  appliedBodyDataPropRef: RefObject<OwpTreeGridBodyData<T>>;
38
- latestColumnEditRulesRef: RefObject<readonly OwpTreeGridColumnEditRule[] | undefined>;
39
- latestColumnEditRuleLookupRef: RefObject<TreeGridColumnEditRuleLookup | undefined>;
40
- appliedColumnEditRulesRef: RefObject<readonly OwpTreeGridColumnEditRule[] | undefined>;
41
- columnEditRulesStateRef: RefObject<TreeGridColumnEditRulesState>;
42
44
  hasAppliedInitialLayoutRef: RefObject<boolean>;
43
45
  syncHasDisplayDataRows: (grid: TGrid | null) => void;
44
46
  setIsTreeGridReady: Dispatch<SetStateAction<boolean>>;
45
47
  };
48
+ export type TreeGridCellBaselineMap = WeakMap<TRow, Map<string, string>>;
46
49
  /**
47
50
  * TreeGrid 레이아웃 Enter 동작 명시 여부
48
51
  * @param layoutData 레이아웃 문자열
@@ -82,6 +85,29 @@ export declare const buildTreeGridInitializationOptions: <T>({ id, layoutUrl, la
82
85
  * @param bodyData TreeGrid Body 데이터
83
86
  */
84
87
  export declare const getTreeGridBodyDataCount: <T>(bodyData: OwpTreeGridBodyData<T>) => number;
88
+ /**
89
+ * TreeGrid 변경 비교 기준값 저장
90
+ * @param grid TreeGrid 인스턴스
91
+ * @param baselineMap 셀 기준값 저장소
92
+ */
93
+ export declare const captureTreeGridChangeBaselines: (grid: TGrid | null | undefined, baselineMap: TreeGridCellBaselineMap) => void;
94
+ /**
95
+ * TreeGrid 셀 변경 하이라이트 동기화
96
+ * @param gridId TreeGrid 인스턴스 ID
97
+ * @param grid TreeGrid 인스턴스
98
+ * @param row 대상 행
99
+ * @param col 대상 컬럼
100
+ * @param backgroundColor 변경 하이라이트 배경색
101
+ * @param baselineMap 셀 기준값 저장소
102
+ */
103
+ export declare const syncTreeGridChangedCellHighlight: ({ gridId, grid, row, col, backgroundColor, baselineMap, }: {
104
+ gridId: string;
105
+ grid: TGrid;
106
+ row: TRow;
107
+ col: string;
108
+ backgroundColor: string;
109
+ baselineMap: TreeGridCellBaselineMap;
110
+ }) => void;
85
111
  /**
86
112
  * TreeGrid 표시 데이터 행 존재 여부
87
113
  * @param grid TreeGrid 인스턴스
@@ -98,5 +124,5 @@ export declare const replaceTreeGridBodyData: <T>(grid: TGrid, bodyData: OwpTree
98
124
  * TreeGrid 이벤트 바인딩
99
125
  * @param options 이벤트 바인딩 옵션
100
126
  */
101
- export declare const bindTreeGridEvents: <T>({ id, latestEventHandlersRef, layoutHasExplicitEnterModeRef, highlightEditableCellsRef, highlightChangedCellsRef, syncDeletedRowCanEditRef, editableCellBackgroundColorValueRef, changedCellBackgroundColorRef, selectedCellBackgroundColorRef, hoverCellBackgroundColorRef, treeGridInstanceRef, treeGridInitStartedAtRef, latestLayoutOverridesRef, appliedLayoutOverridesRef, appliedBodyDataPropRef, latestColumnEditRulesRef, latestColumnEditRuleLookupRef, appliedColumnEditRulesRef, columnEditRulesStateRef, hasAppliedInitialLayoutRef, syncHasDisplayDataRows, setIsTreeGridReady, }: TreeGridEventBindingOptions<T>) => void;
127
+ export declare const bindTreeGridEvents: <T>({ id, latestEventHandlersRef, layoutHasExplicitEnterModeRef, highlightEditableCellsRef, highlightChangedCellsRef, syncDeletedRowCanEditRef, editableCellBackgroundColorValueRef, changedCellBackgroundColorRef, selectedCellBackgroundColorRef, hoverCellBackgroundColorRef, changedCellBaselineRef, treeGridInstanceRef, treeGridInitStartedAtRef, latestLayoutOverridesRef, appliedLayoutOverridesRef, appliedBodyDataPropRef, hasAppliedInitialLayoutRef, syncHasDisplayDataRows, setIsTreeGridReady, }: TreeGridEventBindingOptions<T>) => void;
102
128
  export {};
@@ -1,7 +1,7 @@
1
1
  import type { OwpResolvedGridThemeConfigType } from '@/constants/gridTheme';
2
2
  import type { OwpGridThemeConfigType } from '@/types/OwpGridThemeTypes';
3
3
  import type { CSSProperties } from 'react';
4
- type TreeGridThemeCssVariableName = '--owp-tree-grid-body-background-color' | '--owp-tree-grid-body-color' | '--owp-tree-grid-body-fill-background-color' | '--owp-tree-grid-row-background-color' | '--owp-tree-grid-row-solid-background-color' | '--owp-tree-grid-toolbar-row-background-color' | '--owp-tree-grid-header-background-color' | '--owp-tree-grid-header-color' | '--owp-tree-grid-header-font-size' | '--owp-tree-grid-header-font-weight' | '--owp-tree-grid-cell-font-size' | '--owp-tree-grid-hover-row-background-color' | '--owp-tree-grid-hover-row-border-color' | '--owp-tree-grid-selected-cell-background-color' | '--owp-tree-grid-selected-row-background-color' | '--owp-tree-grid-focused-row-background-color' | '--owp-tree-grid-focused-row-border-color' | '--owp-tree-grid-hover-cell-background-color' | '--owp-tree-grid-hover-cell-border-color' | '--owp-tree-grid-focused-cell-background-color' | '--owp-tree-grid-focused-cell-border-color' | '--owp-tree-grid-editing-cell-border-color' | '--owp-tree-grid-focused-cell-rect-background-color' | '--owp-tree-grid-changed-background-color' | '--owp-tree-grid-table-border-radius';
4
+ type TreeGridThemeCssVariableName = '--owp-tree-grid-body-background-color' | '--owp-tree-grid-body-color' | '--owp-tree-grid-body-fill-background-color' | '--owp-tree-grid-row-background-color' | '--owp-tree-grid-row-solid-background-color' | '--owp-tree-grid-toolbar-row-background-color' | '--owp-tree-grid-header-background-color' | '--owp-tree-grid-header-color' | '--owp-tree-grid-header-font-size' | '--owp-tree-grid-header-font-weight' | '--owp-tree-grid-cell-font-size' | '--owp-tree-grid-hover-row-background-color' | '--owp-tree-grid-hover-row-border-color' | '--owp-tree-grid-selected-cell-background-color' | '--owp-tree-grid-selected-row-background-color' | '--owp-tree-grid-focused-row-background-color' | '--owp-tree-grid-focused-row-border-color' | '--owp-tree-grid-hover-cell-background-color' | '--owp-tree-grid-hover-cell-border-color' | '--owp-tree-grid-focused-cell-background-color' | '--owp-tree-grid-focused-cell-border-color' | '--owp-tree-grid-editing-cell-border-color' | '--owp-tree-grid-focused-cell-rect-background-color' | '--owp-tree-grid-changed-background-color' | '--owp-tree-grid-changed-text-color' | '--owp-tree-grid-changed-font-weight' | '--owp-tree-grid-table-border-radius';
5
5
  type TreeGridLayoutDimensionValue = string | number;
6
6
  export type TreeGridThemeContainerStyle = CSSProperties & Partial<Record<TreeGridThemeCssVariableName, string>>;
7
7
  export declare const TREE_GRID_THEME_WRAPPER_CLASS = "owp-tree-grid-theme";
@@ -38,6 +38,8 @@ export type OwpResolvedGridThemeConfigType = {
38
38
  };
39
39
  changed: {
40
40
  backgroundColor: string;
41
+ color: string;
42
+ fontWeight: number | string;
41
43
  };
42
44
  };
43
45
  export declare const defaultOwpGridTheme: {
@@ -79,6 +81,8 @@ export declare const defaultOwpGridTheme: {
79
81
  };
80
82
  changed: {
81
83
  backgroundColor: string;
84
+ color: string;
85
+ fontWeight: number;
82
86
  };
83
87
  };
84
88
  /**
@@ -1,7 +1,9 @@
1
1
  export declare const TREEGRID_WARNING_CELL_COLOR = "#f44336";
2
2
  export declare const TREEGRID_INPUT_CELL_COLOR = "#ffe0b2";
3
- export declare const TREEGRID_CELL_HIGHLIGHT_CLASS = "text-white text-xl font-semibold";
3
+ export declare const TREEGRID_CELL_CHANGED_CLASS = "OwpTreeGridChangedCell";
4
4
  export declare const TREEGRID_CELL_HIGHLIGHT_COLOR = "#ffa726";
5
+ export declare const TREEGRID_CELL_HIGHLIGHT_TEXT_COLOR = "#ffffff";
6
+ export declare const TREEGRID_CELL_HIGHLIGHT_FONT_WEIGHT = 600;
5
7
  export declare const TREEGRID_FONT_FAMILY = "RobotoLight";
6
8
  export declare const TREEGRID_FONT_FAMILY_STACK: string;
7
9
  /** TreeGrid 자산 base path 조회 */
@@ -37,5 +37,7 @@ export declare const defaultGridTheme: {
37
37
  };
38
38
  changed: {
39
39
  backgroundColor: string;
40
+ color: string;
41
+ fontWeight: number;
40
42
  };
41
43
  };
@@ -64,6 +64,8 @@ export declare const defaultSettingsConfig: {
64
64
  };
65
65
  changed: {
66
66
  backgroundColor: string;
67
+ color: string;
68
+ fontWeight: number;
67
69
  };
68
70
  };
69
71
  table: {
@@ -36,6 +36,8 @@ export type OwpGridEditableThemeConfigType = {
36
36
  };
37
37
  export type OwpGridChangedThemeConfigType = {
38
38
  backgroundColor?: string;
39
+ color?: string;
40
+ fontWeight?: number | string;
39
41
  };
40
42
  export type OwpGridThemeConfigType = {
41
43
  header?: OwpGridHeaderThemeConfigType;
@@ -16,7 +16,6 @@ export * from './getStartPagePath';
16
16
  export * from './getTrimmedValue';
17
17
  export * from './isEnterKeyEvent';
18
18
  export * from './language';
19
- export * from './normalizeTimeToHourMinute';
20
19
  export * from './preloadOnIdle';
21
20
  export * from './qrCodeUtil';
22
21
  export * from './rebuildValue';
@@ -1,5 +1,5 @@
1
- import { TREEGRID_CELL_HIGHLIGHT_CLASS, TREEGRID_CELL_HIGHLIGHT_COLOR, TREEGRID_INPUT_CELL_COLOR, TREEGRID_WARNING_CELL_COLOR } from '@/constants/treeGrid';
2
- export { TREEGRID_CELL_HIGHLIGHT_CLASS, TREEGRID_CELL_HIGHLIGHT_COLOR, TREEGRID_INPUT_CELL_COLOR, TREEGRID_WARNING_CELL_COLOR, };
1
+ import { TREEGRID_CELL_CHANGED_CLASS, TREEGRID_CELL_HIGHLIGHT_COLOR, TREEGRID_INPUT_CELL_COLOR, TREEGRID_WARNING_CELL_COLOR } from '@/constants/treeGrid';
2
+ export { TREEGRID_CELL_CHANGED_CLASS, TREEGRID_CELL_HIGHLIGHT_COLOR, TREEGRID_INPUT_CELL_COLOR, TREEGRID_WARNING_CELL_COLOR, };
3
3
  type TreeGridInsertPosition = 'above' | 'below' | 'top' | 'last';
4
4
  type TreeGridAddRowOptions<T> = {
5
5
  canSelect?: boolean;
@@ -19,6 +19,7 @@ type TreeGridHighlightTargetOption = {
19
19
  };
20
20
  export declare const TREEGRID_ADDED_ROW_BY_ID_FLAG = "__owpAddedByAddTreeGridRowById";
21
21
  export declare const TREEGRID_ADDED_ROW_HIGHLIGHT_COLUMNS_KEY = "__owpAddedRowHighlightColumns";
22
+ export declare const TREEGRID_ADDED_ROW_BASELINE_VALUES_KEY = "__owpAddedRowBaselineValues";
22
23
  /**
23
24
  * addTreeGridRowById 생성 행 마킹
24
25
  * @param row 대상 행
@@ -35,11 +36,42 @@ export declare const isTreeGridRowAddedById: (row: TRow | null | undefined) => b
35
36
  * @param col 대상 컬럼
36
37
  */
37
38
  export declare const appendTreeGridAddedRowHighlightColumn: (row: TRow | null | undefined, col: string) => void;
39
+ /**
40
+ * addTreeGridRowById 생성 행 하이라이트 컬럼 제거
41
+ * @param row 대상 행
42
+ * @param col 대상 컬럼
43
+ */
44
+ export declare const removeTreeGridAddedRowHighlightColumn: (row: TRow | null | undefined, col: string) => void;
38
45
  /**
39
46
  * addTreeGridRowById 생성 행 하이라이트 컬럼 조회
40
47
  * @param row 대상 행
41
48
  */
42
49
  export declare const getTreeGridAddedRowHighlightColumns: (row: TRow | null | undefined) => string[];
50
+ /**
51
+ * TreeGrid 셀 비교 값 조회
52
+ * @param grid TreeGrid 인스턴스
53
+ * @param row 대상 행
54
+ * @param col 대상 컬럼
55
+ */
56
+ export declare const getTreeGridCellComparableValue: (grid: TGrid, row: TRow, col: string) => string;
57
+ /**
58
+ * addTreeGridRowById 생성 행 기준값 조회
59
+ * @param row 대상 행
60
+ * @param col 대상 컬럼
61
+ */
62
+ export declare const getTreeGridAddedRowBaselineValue: (row: TRow | null | undefined, col: string) => string;
63
+ /**
64
+ * TreeGrid 외부 반환 행 Date 시간 값 정규화
65
+ * @param grid TreeGrid 인스턴스
66
+ * @param row 대상 행
67
+ */
68
+ export declare const normalizeTreeGridExternalRow: <T>(grid: TGrid, row: TRow & T) => TRow & T;
69
+ /**
70
+ * TreeGrid 외부 반환 행 목록 Date 시간 값 정규화
71
+ * @param grid TreeGrid 인스턴스
72
+ * @param rows 대상 행 목록
73
+ */
74
+ export declare const normalizeTreeGridExternalRows: <T>(grid: TGrid, rows: Array<TRow & T>) => (TRow & T)[];
43
75
  /**
44
76
  * TreeGrid 인스턴스 ID 조회
45
77
  * @param gridId TreeGrid 인스턴스 ID
@@ -49,7 +81,7 @@ export declare const getTreeGridById: (gridId: string) => TTGrid;
49
81
  * TreeGrid 데이터 행 목록 조회
50
82
  * @param gridId TreeGrid 인스턴스 ID
51
83
  */
52
- export declare const getTreeGridDataRowsById: <T>(gridId: string) => T;
84
+ export declare const getTreeGridDataRowsById: <T>(gridId: string) => any[] | T;
53
85
  /**
54
86
  * TreeGrid Body 데이터 교체 후 재로드
55
87
  * @param gridId TreeGrid 인스턴스 ID
@@ -99,6 +131,13 @@ export declare const setTreeGridColumnVisibilityById: (gridId: string, options:
99
131
  * @param targetOption.col 강조할 대상 컬럼
100
132
  */
101
133
  export declare const highlightTreeGridCellById: (gridId: string, targetOption: TreeGridHighlightTargetOption) => void;
134
+ /**
135
+ * 특정 셀 강조 스타일 제거
136
+ * @param gridId TreeGrid 인스턴스 ID
137
+ * @param targetOption.row 강조 해제 대상 행
138
+ * @param targetOption.col 강조 해제 대상 컬럼
139
+ */
140
+ export declare const clearTreeGridCellHighlightById: (gridId: string, targetOption: Pick<TreeGridHighlightTargetOption, "row" | "col">) => void;
102
141
  /**
103
142
  * TreeGrid 현재 선택 상태 전체 해제
104
143
  * @param gridId TreeGrid 인스턴스 ID