@owp/core 2.5.30 → 2.5.32

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 (44) hide show
  1. package/dist/_virtual/index20.js +2 -2
  2. package/dist/_virtual/index21.js +2 -2
  3. package/dist/_virtual/index22.js +2 -2
  4. package/dist/components/OwpPageContent/OwpPageContent.js +1 -1
  5. package/dist/components/OwpPageContent/OwpPageContent.js.map +1 -1
  6. package/dist/components/OwpSection/OwpSection.js +1 -1
  7. package/dist/components/OwpSection/OwpSection.js.map +1 -1
  8. package/dist/components/OwpSelectorBase/OwpSelectorAutocomplete.js +813 -241
  9. package/dist/components/OwpSelectorBase/OwpSelectorAutocomplete.js.map +1 -1
  10. package/dist/components/OwpTreeGrid/OwpTreeGrid.js +266 -252
  11. package/dist/components/OwpTreeGrid/OwpTreeGrid.js.map +1 -1
  12. package/dist/components/OwpTreeGrid/internal/OwpTreeGridErrorTooltip.js +59 -0
  13. package/dist/components/OwpTreeGrid/internal/OwpTreeGridErrorTooltip.js.map +1 -0
  14. package/dist/components/OwpTreeGrid/internal/hooks/useOwpTreeGridErrorTooltip.js +27 -0
  15. package/dist/components/OwpTreeGrid/internal/hooks/useOwpTreeGridErrorTooltip.js.map +1 -0
  16. package/dist/components/OwpTreeGrid/internal/treeGridRuntime.js +607 -510
  17. package/dist/components/OwpTreeGrid/internal/treeGridRuntime.js.map +1 -1
  18. package/dist/components/OwpTreeGrid/internal/treeGridSelection.js +61 -0
  19. package/dist/components/OwpTreeGrid/internal/treeGridSelection.js.map +1 -0
  20. package/dist/components/OwpTreeGrid/internal/treeGridTheme.js +157 -154
  21. package/dist/components/OwpTreeGrid/internal/treeGridTheme.js.map +1 -1
  22. package/dist/hooks/useMinimumVisibleState.js.map +1 -0
  23. package/dist/hooks.js +47 -45
  24. package/dist/hooks.js.map +1 -1
  25. package/dist/node_modules/.pnpm/autosuggest-highlight@3.3.4/node_modules/autosuggest-highlight/match/index.js +1 -1
  26. package/dist/node_modules/.pnpm/autosuggest-highlight@3.3.4/node_modules/autosuggest-highlight/parse/index.js +1 -1
  27. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE128/constants.js +1 -1
  28. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/ITF/constants.js +1 -1
  29. package/dist/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/index.js +1 -1
  30. package/dist/types/components/OwpSelectorBase/types/types.d.ts +2 -0
  31. package/dist/types/components/OwpTreeGrid/OwpTreeGrid.d.ts +5 -1
  32. package/dist/types/components/OwpTreeGrid/internal/OwpTreeGridErrorTooltip.d.ts +12 -0
  33. package/dist/types/components/OwpTreeGrid/internal/hooks/useOwpTreeGridErrorTooltip.d.ts +17 -0
  34. package/dist/types/components/OwpTreeGrid/internal/treeGridRuntime.d.ts +6 -1
  35. package/dist/types/components/OwpTreeGrid/internal/treeGridSelection.d.ts +12 -0
  36. package/dist/types/hooks/index.d.ts +1 -0
  37. package/dist/types/hooks/useMinimumVisibleState.d.ts +6 -0
  38. package/dist/types/utils/treeGridUtil.d.ts +6 -1
  39. package/dist/utils/treeGridUtil.js +299 -251
  40. package/dist/utils/treeGridUtil.js.map +1 -1
  41. package/package.json +1 -1
  42. package/dist/hooks/internal/useMinimumVisibleState.js.map +0 -1
  43. package/dist/types/hooks/internal/useMinimumVisibleState.d.ts +0 -7
  44. /package/dist/hooks/{internal/useMinimumVisibleState.js → useMinimumVisibleState.js} +0 -0
@@ -1,6 +1,6 @@
1
1
  var t = Object.defineProperty;
2
2
  var i = (e, o) => t(e, "name", { value: o, configurable: !0 });
3
- import { __module as r } from "../../../../../_virtual/index22.js";
3
+ import { __module as r } from "../../../../../_virtual/index20.js";
4
4
  import { __require as p } from "../../../react-is@16.13.1/node_modules/react-is/index.js";
5
5
  import { __require as u } from "./factoryWithTypeCheckers.js";
6
6
  import { __require as a } from "./factoryWithThrowingShims.js";
@@ -44,6 +44,8 @@ export interface OwpSelectorBaseProps {
44
44
  textFieldProps?: Omit<TextFieldProps, 'defaultValue' | 'error' | 'fullWidth' | 'helperText' | 'label' | 'onChange' | 'required' | 'value'>;
45
45
  selectProps?: Omit<SelectProps<string>, 'defaultValue' | 'displayEmpty' | 'error' | 'fullWidth' | 'label' | 'multiple' | 'onChange' | 'required' | 'value'>;
46
46
  autocompleteInputValue?: string;
47
+ /** 단일 Autocomplete 대용량 가상화 기준 옵션 수, false 비활성화 */
48
+ autocompleteVirtualizationThreshold?: number | false;
47
49
  onAutocompleteInputChange?: (nextInputValue: string, reason: string) => void;
48
50
  }
49
51
  export interface OwpSelectorBaseHookResult {
@@ -1,4 +1,6 @@
1
1
  import { type CSSProperties } from 'react';
2
+ import type { OwpTreeGridSelectionScope } from './internal/treeGridSelection';
3
+ export type { OwpTreeGridSelectionScope } from './internal/treeGridSelection';
2
4
  type TreeGridLayoutScalarValue = string | number;
3
5
  type TreeGridNestedLayoutFields = Record<string, TreeGridLayoutScalarValue>;
4
6
  type TreeGridLayoutFields = Record<string, TreeGridLayoutScalarValue | TreeGridNestedLayoutFields>;
@@ -59,6 +61,7 @@ export interface OwpTreeGridProps<T> {
59
61
  suppressCfg?: OwpTreeGridSuppressCfg;
60
62
  showToolbarTotalCount?: boolean;
61
63
  hideChildHeaderSortButtons?: boolean;
64
+ selectionScope?: OwpTreeGridSelectionScope;
62
65
  useDataUrl?: boolean;
63
66
  onSelect?: OwpTreeGridSelectHandler<T>;
64
67
  onRowAdd?: OwpTreeGridRowAddHandler<T>;
@@ -92,7 +95,8 @@ export interface OwpTreeGridProps<T> {
92
95
  * @param suppressCfg TreeGrid client 설정 저장/로드 억제값
93
96
  * @param showToolbarTotalCount Toolbar 전체 건수 기본 formula 표시 여부
94
97
  * @param hideChildHeaderSortButtons 그룹 헤더 하위 sort 버튼 숨김 여부
98
+ * @param selectionScope 선택 행 반환 범위
95
99
  * @param disabledAnimations 비활성화할 TreeGrid 애니메이션 의미 키 목록
96
100
  */
97
- declare const OwpTreeGrid: <T>({ id, containerStyle, containerClassName, toolbarRowBackgroundColor, className, style, height, width, canUseTableRadius, tableBorderRadius, suppressCfg, showToolbarTotalCount, hideChildHeaderSortButtons, layoutUrl, layoutData, disabledAnimations, 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;
101
+ declare const OwpTreeGrid: <T>({ id, containerStyle, containerClassName, toolbarRowBackgroundColor, className, style, height, width, canUseTableRadius, tableBorderRadius, suppressCfg, showToolbarTotalCount, hideChildHeaderSortButtons, selectionScope, layoutUrl, layoutData, disabledAnimations, 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;
98
102
  export { OwpTreeGrid };
@@ -0,0 +1,12 @@
1
+ export type OwpTreeGridErrorTooltipState = {
2
+ anchorEl: HTMLElement;
3
+ key: string;
4
+ message: string;
5
+ };
6
+ /**
7
+ * OwpTreeGrid Error tooltip 표시 컴포넌트
8
+ * @param tooltip tooltip 표시 상태
9
+ */
10
+ export declare const OwpTreeGridErrorTooltip: ({ tooltip, }: {
11
+ tooltip: OwpTreeGridErrorTooltipState | null;
12
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,17 @@
1
+ import { type ReactNode } from 'react';
2
+ export type OwpTreeGridErrorTooltipShowParams = {
3
+ anchorEl: HTMLElement;
4
+ row: TRow;
5
+ col: string;
6
+ message: string;
7
+ };
8
+ export type OwpTreeGridErrorTooltipShowHandler = (params: OwpTreeGridErrorTooltipShowParams) => void;
9
+ export type OwpTreeGridErrorTooltipHideHandler = () => void;
10
+ /**
11
+ * OwpTreeGrid Error tooltip 상태 훅
12
+ */
13
+ export declare const useOwpTreeGridErrorTooltip: () => {
14
+ errorTooltipElement: ReactNode;
15
+ showErrorTooltip: OwpTreeGridErrorTooltipShowHandler;
16
+ hideErrorTooltip: OwpTreeGridErrorTooltipHideHandler;
17
+ };
@@ -1,5 +1,7 @@
1
1
  import { type Dispatch, type RefObject, type SetStateAction } from 'react';
2
2
  import type { OwpTreeGridBodyData, OwpTreeGridDisabledAnimation, OwpTreeGridLayoutConfig, OwpTreeGridProps, OwpTreeGridRowModel, OwpTreeGridSuppressCfg } from '../OwpTreeGrid';
3
+ import type { OwpTreeGridErrorTooltipHideHandler, OwpTreeGridErrorTooltipShowHandler } from './hooks/useOwpTreeGridErrorTooltip';
4
+ import { type OwpTreeGridSelectionScope } from './treeGridSelection';
3
5
  export declare const TREE_GRID_BINDING_LOADING_MIN_VISIBLE_MS = 300;
4
6
  type TreeGridInitializationInput<T> = {
5
7
  id: string;
@@ -46,12 +48,15 @@ export type TreeGridEventBindingOptions<T> = Pick<OwpTreeGridProps<T>, 'id'> & {
46
48
  latestToolbarTotalCountFormulaRef: RefObject<string | undefined>;
47
49
  latestSuppressCfgRef: RefObject<OwpTreeGridSuppressCfg | undefined>;
48
50
  latestHideChildHeaderSortButtonsRef: RefObject<boolean>;
51
+ latestSelectionScopeRef: RefObject<OwpTreeGridSelectionScope | undefined>;
49
52
  latestDisabledAnimationsRef: RefObject<readonly OwpTreeGridDisabledAnimation[] | undefined>;
50
53
  appliedLayoutOverridesRef: RefObject<OwpTreeGridLayoutConfig | undefined>;
51
54
  appliedBodyDataPropRef: RefObject<OwpTreeGridBodyData<T>>;
52
55
  hasAppliedInitialLayoutRef: RefObject<boolean>;
53
56
  syncHasDisplayDataRows: (grid: TGrid | null) => void;
54
57
  setIsTreeGridReady: Dispatch<SetStateAction<boolean>>;
58
+ showErrorTooltip: OwpTreeGridErrorTooltipShowHandler;
59
+ hideErrorTooltip: OwpTreeGridErrorTooltipHideHandler;
55
60
  };
56
61
  export type TreeGridCellBaselineMap = WeakMap<TRow, Map<string, string>>;
57
62
  /**
@@ -134,5 +139,5 @@ export declare const replaceTreeGridBodyData: <T>(grid: TGrid, bodyData: OwpTree
134
139
  * TreeGrid 이벤트 바인딩
135
140
  * @param options 이벤트 바인딩 옵션
136
141
  */
137
- export declare const bindTreeGridEvents: <T>({ id, latestEventHandlersRef, layoutHasExplicitEnterModeRef, highlightEditableCellsRef, highlightChangedCellsRef, syncDeletedRowCanEditRef, editableCellBackgroundColorValueRef, changedCellBackgroundColorRef, focusedCellBackgroundColorRef, selectedCellBackgroundColorRef, hoverCellBackgroundColorRef, changedCellBaselineRef, treeGridInstanceRef, treeGridInitStartedAtRef, latestLayoutOverridesRef, latestToolbarTotalCountFormulaRef, latestSuppressCfgRef, latestHideChildHeaderSortButtonsRef, latestDisabledAnimationsRef, appliedLayoutOverridesRef, appliedBodyDataPropRef, hasAppliedInitialLayoutRef, syncHasDisplayDataRows, setIsTreeGridReady, }: TreeGridEventBindingOptions<T>) => void;
142
+ export declare const bindTreeGridEvents: <T>({ id, latestEventHandlersRef, layoutHasExplicitEnterModeRef, highlightEditableCellsRef, highlightChangedCellsRef, syncDeletedRowCanEditRef, editableCellBackgroundColorValueRef, changedCellBackgroundColorRef, focusedCellBackgroundColorRef, selectedCellBackgroundColorRef, hoverCellBackgroundColorRef, changedCellBaselineRef, treeGridInstanceRef, treeGridInitStartedAtRef, latestLayoutOverridesRef, latestToolbarTotalCountFormulaRef, latestSuppressCfgRef, latestHideChildHeaderSortButtonsRef, latestSelectionScopeRef, latestDisabledAnimationsRef, appliedLayoutOverridesRef, appliedBodyDataPropRef, hasAppliedInitialLayoutRef, syncHasDisplayDataRows, setIsTreeGridReady, showErrorTooltip, hideErrorTooltip, }: TreeGridEventBindingOptions<T>) => void;
138
143
  export {};
@@ -0,0 +1,12 @@
1
+ export type OwpTreeGridSelectionScope = 'native' | 'panelRowSpan';
2
+ export type OwpTreeGridSelectedRowsResolveOptions = {
3
+ selectionScope?: OwpTreeGridSelectionScope;
4
+ includePanelRowSpanRows?: boolean;
5
+ };
6
+ /**
7
+ * TreeGrid 선택 행 Panel row span 범위 확장
8
+ * @param grid TreeGrid 인스턴스
9
+ * @param selectedRows TreeGrid 선택 행 목록
10
+ * @param options 선택 행 반환 범위 옵션
11
+ */
12
+ export declare const resolveTreeGridSelectedRows: <T>(grid: TGrid, selectedRows: Array<TRow & T>, options?: OwpTreeGridSelectedRowsResolveOptions) => (TRow & T)[];
@@ -1,6 +1,7 @@
1
1
  export * from './useCommonCodeList';
2
2
  export * from './useConfirm';
3
3
  export * from './useLogoSrc';
4
+ export * from './useMinimumVisibleState';
4
5
  export * from './useCurrentUser';
5
6
  export * from './useCurrentUserId';
6
7
  export * from './useCurrentUserSeq';
@@ -0,0 +1,6 @@
1
+ /**
2
+ * 최소 표시 상태
3
+ * @param visible 원본 표시 상태
4
+ * @param minDuration 최소 표시 시간
5
+ */
6
+ export declare const useMinimumVisibleState: (visible?: boolean, minDuration?: number) => boolean;
@@ -1,4 +1,5 @@
1
1
  import { TREEGRID_CELL_CHANGED_CLASS, TREEGRID_CELL_HIGHLIGHT_COLOR, TREEGRID_INPUT_CELL_COLOR, TREEGRID_WARNING_CELL_COLOR } from '@/constants/treeGrid';
2
+ import { type OwpTreeGridSelectedRowsResolveOptions, type OwpTreeGridSelectionScope } from '@/components/OwpTreeGrid/internal/treeGridSelection';
2
3
  export { TREEGRID_CELL_CHANGED_CLASS, TREEGRID_CELL_HIGHLIGHT_COLOR, TREEGRID_INPUT_CELL_COLOR, TREEGRID_WARNING_CELL_COLOR, };
3
4
  type TreeGridInsertPosition = 'above' | 'below' | 'top' | 'last';
4
5
  type TreeGridAddRowOptions<T> = {
@@ -19,6 +20,8 @@ type TreeGridHighlightTargetOption = {
19
20
  backgroundColor?: string;
20
21
  refresh?: boolean;
21
22
  };
23
+ export type TreeGridSelectionScope = OwpTreeGridSelectionScope;
24
+ export type TreeGridSelectedRowsOptions = OwpTreeGridSelectedRowsResolveOptions;
22
25
  export type TreeGridRequiredCellColumn = string | {
23
26
  key: string;
24
27
  label?: string;
@@ -38,6 +41,7 @@ export type TreeGridRequiredCellValidationError = TreeGridRequiredCellMessageCon
38
41
  export type TreeGridRequiredCellTargetRow = 'added' | 'changed' | 'all';
39
42
  type TreeGridRequiredCellsValidationBaseOptions = {
40
43
  targetRows?: TreeGridRequiredCellTargetRow | readonly TreeGridRequiredCellTargetRow[];
44
+ rows?: readonly TRow[];
41
45
  messageFactory?: (context: TreeGridRequiredCellMessageContext) => string;
42
46
  focusFirstError?: boolean;
43
47
  startEditFirstError?: boolean;
@@ -146,8 +150,9 @@ export declare const exportTreeGridToExcelById: (gridId: string, title?: string)
146
150
  /**
147
151
  * TreeGrid 현재 선택 행 목록 조회
148
152
  * @param gridId TreeGrid 인스턴스 ID
153
+ * @param options 선택 행 반환 옵션
149
154
  */
150
- export declare const getTreeGridSelectedRowsById: <T>(gridId: string) => any[] | T;
155
+ export declare const getTreeGridSelectedRowsById: <T>(gridId: string, options?: TreeGridSelectedRowsOptions) => any[] | T;
151
156
  /**
152
157
  * TreeGrid 컬럼 표시 여부 변경
153
158
  * @param gridId TreeGrid 인스턴스 ID