@wipco/sdui 1.6.1 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{DatePicker-DX9juElE.d.ts → DatePicker-BOOKdd5x.d.ts} +6 -6
- package/dist/calendar-nav-BSGsgJc4.d.ts +54 -0
- package/dist/{chunk-O4EMQWCV.js → chunk-27ILQUWE.js} +113 -26
- package/dist/{chunk-AJ3KDBEE.js → chunk-466W3XNK.js} +1 -1
- package/dist/{chunk-FP32LNFK.js → chunk-4VQIKSDS.js} +157 -190
- package/dist/{chunk-UC725BGW.js → chunk-5FZBH3T5.js} +1 -1
- package/dist/{chunk-XUVWIRZJ.js → chunk-5LIFU57A.js} +2 -2
- package/dist/{chunk-VAXRTBJH.js → chunk-63GM4S25.js} +1 -1
- package/dist/{chunk-J7BZF4T4.js → chunk-7EDFYBUA.js} +4 -4
- package/dist/{chunk-KO3EUNWB.js → chunk-7YTZB5LQ.js} +3 -3
- package/dist/{chunk-SGGIWPP6.js → chunk-7ZCM6XEM.js} +2 -2
- package/dist/{chunk-GKYUDTMI.js → chunk-A22QR6PM.js} +2 -2
- package/dist/{chunk-IIRVHSNK.js → chunk-A3SO6H47.js} +2 -2
- package/dist/{chunk-TWUKNUUQ.js → chunk-AP33B24H.js} +2 -2
- package/dist/{chunk-VSNHDHGS.js → chunk-B5MB64YQ.js} +209 -25
- package/dist/{chunk-USNPJEXH.js → chunk-DCSUBFFG.js} +4 -4
- package/dist/{chunk-KDKRFWIF.js → chunk-DILQ2DJV.js} +5 -5
- package/dist/{chunk-US3K6Q5T.js → chunk-ENZBX4AR.js} +1 -1
- package/dist/{chunk-CUFGH3LB.js → chunk-FGKBXUUA.js} +1 -1
- package/dist/{chunk-VR5MFUD2.js → chunk-FUNCQCKN.js} +2 -2
- package/dist/{chunk-TB7G5DXQ.js → chunk-GWT5UF5B.js} +2 -2
- package/dist/{chunk-OKNF2SBB.js → chunk-H5QRRPBJ.js} +3 -3
- package/dist/{chunk-UZZLMPRW.js → chunk-JCG4575S.js} +2 -2
- package/dist/{chunk-34BABTH4.js → chunk-JMNUFA5M.js} +1 -1
- package/dist/{chunk-3PT5OBOU.js → chunk-L6ODTHTX.js} +1 -1
- package/dist/{chunk-OQ7A3SFM.js → chunk-LKA43GYA.js} +1 -1
- package/dist/{chunk-GSXD52XG.js → chunk-LKL3SCBJ.js} +2 -2
- package/dist/{chunk-A57GKV5F.js → chunk-LN4KPZIX.js} +3 -3
- package/dist/chunk-MUXGTVEA.js +421 -0
- package/dist/{chunk-3PCR73OC.js → chunk-MWBCQHKQ.js} +3 -3
- package/dist/{chunk-XFKNU6QN.js → chunk-NI3LMETK.js} +2 -2
- package/dist/{chunk-ESAFQXEU.js → chunk-NJTIJAFU.js} +2 -2
- package/dist/{chunk-PCFH74RD.js → chunk-NQDHGK7C.js} +3 -3
- package/dist/{chunk-YYAGE733.js → chunk-OWM7E55U.js} +8 -0
- package/dist/{chunk-OCYJ2ZOV.js → chunk-P62INTQ5.js} +1 -1
- package/dist/{chunk-7G6J6QFC.js → chunk-Q56LZJFX.js} +1 -1
- package/dist/{chunk-BITS7UJY.js → chunk-R2ORCOTG.js} +2 -2
- package/dist/{chunk-VQKX5PJ4.js → chunk-RA74PUMP.js} +3 -3
- package/dist/{chunk-GSM664TX.js → chunk-TAVKGYH5.js} +24 -1
- package/dist/{chunk-BV37UCDF.js → chunk-UBVYPV7H.js} +2 -2
- package/dist/chunk-VR4DQTWR.js +391 -0
- package/dist/{chunk-6YBSBC77.js → chunk-WPAZBAUW.js} +1 -1
- package/dist/{chunk-4YPPL7JK.js → chunk-WTQH2NI2.js} +1 -1
- package/dist/{chunk-NLSR3JYU.js → chunk-X7RSKFWF.js} +1 -1
- package/dist/{chunk-CSZCWBOE.js → chunk-XDR6HC4U.js} +14 -7
- package/dist/{chunk-EUSC5NMZ.js → chunk-Z4JZUIKE.js} +3 -3
- package/dist/{chunk-EGFDELSF.js → chunk-Z4LFZWHH.js} +2 -2
- package/dist/{chunk-JHFA5RDN.js → chunk-ZBX2CAOO.js} +2 -2
- package/dist/index.d.ts +22 -2
- package/dist/index.js +27 -19
- package/dist/meta.js +14 -1
- package/dist/rich/ExcelUploadCard.js +4 -4
- package/dist/rich.d.ts +2 -1
- package/dist/rich.js +7 -6
- package/dist/styles.css +10 -0
- package/dist/widgets/ApprovalLineEditor.js +9 -8
- package/dist/widgets/ApprovalOverridesEditor.js +11 -10
- package/dist/widgets/ApprovalStepper.js +2 -2
- package/dist/widgets/AutocompleteField.js +9 -8
- package/dist/widgets/ColumnBoard.js +2 -2
- package/dist/widgets/DiffView.js +2 -2
- package/dist/widgets/Disclosure.js +2 -2
- package/dist/widgets/EventCalendar.d.ts +14 -10
- package/dist/widgets/EventCalendar.js +5 -3
- package/dist/widgets/FileDropzone.js +7 -7
- package/dist/widgets/ImageLightbox.js +5 -5
- package/dist/widgets/InlineEdit.js +2 -2
- package/dist/widgets/JsonField.js +2 -2
- package/dist/widgets/OptionSchemaEditor.js +3 -3
- package/dist/widgets/OptionValueFields.js +3 -3
- package/dist/widgets/OrgChart.js +3 -3
- package/dist/widgets/OrgChartBoard.d.ts +57 -4
- package/dist/widgets/OrgChartBoard.js +8 -8
- package/dist/widgets/PeriodFilter.js +6 -5
- package/dist/widgets/PermissionMatrixEditor.js +4 -4
- package/dist/widgets/PositionSelect.js +4 -4
- package/dist/widgets/PrintSheet.js +2 -2
- package/dist/widgets/ProfileEditDiffCard.js +4 -4
- package/dist/widgets/QRDisplay.js +4 -4
- package/dist/widgets/RankBoard.js +6 -6
- package/dist/widgets/RecordSheet.d.ts +48 -1
- package/dist/widgets/RecordSheet.js +2 -1
- package/dist/widgets/RoleMemberPicker.js +5 -5
- package/dist/widgets/SearchableMultiPicker.js +7 -6
- package/dist/widgets/SecureScreen.js +2 -2
- package/dist/widgets/StagePeriodEditor.js +6 -5
- package/dist/widgets/TagInput.js +2 -2
- package/dist/widgets/TagMultiSelect.js +4 -4
- package/dist/widgets/Timeline.js +3 -3
- package/dist/widgets/TreePicker.js +8 -7
- package/dist/widgets/TreeView.js +7 -6
- package/dist/widgets/index.d.ts +1 -0
- package/dist/widgets/index.js +76 -75
- package/package.json +1 -1
- package/dist/chunk-IB2ZPUTF.js +0 -172
|
@@ -50,10 +50,57 @@ interface RecordSheetProps {
|
|
|
50
50
|
/** 표 아래 오른쪽에 붙는 주석 한 줄(예: 출력일) */
|
|
51
51
|
note?: string;
|
|
52
52
|
}
|
|
53
|
+
/** 격자 위의 칸 — 시작 열(포함)·끝 열(제외). */
|
|
54
|
+
interface PlacedCell {
|
|
55
|
+
cell: RecordSheetCell;
|
|
56
|
+
start: number;
|
|
57
|
+
end: number;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* 줄 정의마다 칸의 격자 위치를 잡는다 — HTML 표 배치와 같은 규칙: 위 줄의 rowSpan 이 차지한 열은
|
|
61
|
+
* 건너뛰고 다음 빈 열부터 놓는다(사진 칸 rowSpan 옆의 라벨이 몇 번째 열인지 알아야 구획에 나눌 수 있다).
|
|
62
|
+
* 되풀이 줄도 정의 한 줄로 센다 — 칸의 열 위치는 되풀이와 무관하다.
|
|
63
|
+
*/
|
|
64
|
+
declare function placeRecordSheetCells(rows: RecordSheetRow[], width: number): PlacedCell[][];
|
|
65
|
+
/** 라벨|값 한 쌍. 라벨 없는 값(줄 첫머리의 값 칸)은 label 이 null 이다. */
|
|
66
|
+
interface RecordSheetPair {
|
|
67
|
+
label: RecordSheetCell | null;
|
|
68
|
+
values: RecordSheetCell[];
|
|
69
|
+
}
|
|
70
|
+
/** 블록의 작은 표 한 줄 — 칸의 열 위치는 블록 기준(0부터), 되풀이면 배열·최소 줄 수를 든다. */
|
|
71
|
+
interface RecordSheetGridRow {
|
|
72
|
+
cells: PlacedCell[];
|
|
73
|
+
repeat?: unknown[][];
|
|
74
|
+
minRows?: number;
|
|
75
|
+
}
|
|
76
|
+
type RecordSheetStackPart = {
|
|
77
|
+
kind: 'pairs';
|
|
78
|
+
pairs: RecordSheetPair[];
|
|
79
|
+
} | {
|
|
80
|
+
kind: 'grid';
|
|
81
|
+
rows: RecordSheetGridRow[];
|
|
82
|
+
} | {
|
|
83
|
+
kind: 'photo';
|
|
84
|
+
cell: RecordSheetCell;
|
|
85
|
+
};
|
|
86
|
+
interface RecordSheetStackBlock {
|
|
87
|
+
/** 구획 제목 칸 — 구획 밖(제목 줄 앞의 기본 정보)은 null */
|
|
88
|
+
section: RecordSheetCell | null;
|
|
89
|
+
parts: RecordSheetStackPart[];
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* 줄 정의 → 쌓기 블록. 구획 제목 줄(칸이 전부 `section`)이 블록을 연다 — 제목 칸마다 하나씩이고, 다음 줄의
|
|
93
|
+
* 칸은 시작 열이 그 제목 칸의 열 범위에 드는 블록으로 간다. 빈 줄(gap)은 블록을 닫는다. 구획 밖의 줄은
|
|
94
|
+
* 제목 없는 블록이 된다.
|
|
95
|
+
* - 라벨과 값이 섞인 고정 줄 → 쌍 목록(이어지는 줄은 같은 목록에 붙는다)
|
|
96
|
+
* - 라벨만 든 줄(머리 줄)·값만 든 줄·되풀이 줄 → 작은 표 줄
|
|
97
|
+
* - 사진 칸 → 자기 자리(사진 부분)
|
|
98
|
+
*/
|
|
99
|
+
declare function stackRecordSheet(rows: RecordSheetRow[], width: number): RecordSheetStackBlock[];
|
|
53
100
|
/**
|
|
54
101
|
* 바깥에서 온 `style`·`className`을 뿌리에 얹어 내보낸다 — 자식 축(`grow`·`width` …)이
|
|
55
102
|
* 이 컴포넌트에서도 동작하게 하는 유일한 통로다. 까닭은 {@link ../boxed.tsx}에 있다.
|
|
56
103
|
*/
|
|
57
104
|
declare const RecordSheet: React__default.FC<RecordSheetProps & SduiBoxProps>;
|
|
58
105
|
|
|
59
|
-
export { RecordSheet, type RecordSheetCell, type RecordSheetCellKind, type RecordSheetProps, type RecordSheetRow };
|
|
106
|
+
export { type PlacedCell, RecordSheet, type RecordSheetCell, type RecordSheetCellKind, type RecordSheetGridRow, type RecordSheetPair, type RecordSheetProps, type RecordSheetRow, type RecordSheetStackBlock, type RecordSheetStackPart, placeRecordSheetCells, stackRecordSheet };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { RoleMemberPicker } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
1
|
+
export { RoleMemberPicker } from '../chunk-NQDHGK7C.js';
|
|
2
|
+
import '../chunk-63GM4S25.js';
|
|
3
|
+
import '../chunk-ZBX2CAOO.js';
|
|
4
|
+
import '../chunk-TAVKGYH5.js';
|
|
5
|
+
import '../chunk-OWM7E55U.js';
|
|
6
6
|
import '../chunk-3JTBOABA.js';
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
export { SearchableMultiPicker } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-
|
|
1
|
+
export { SearchableMultiPicker } from '../chunk-MWBCQHKQ.js';
|
|
2
|
+
import '../chunk-LN4KPZIX.js';
|
|
3
|
+
import '../chunk-4VQIKSDS.js';
|
|
4
|
+
import '../chunk-MUXGTVEA.js';
|
|
5
|
+
import '../chunk-R2ORCOTG.js';
|
|
5
6
|
import '../chunk-RIZRM7OO.js';
|
|
6
|
-
import '../chunk-
|
|
7
|
-
import '../chunk-
|
|
7
|
+
import '../chunk-TAVKGYH5.js';
|
|
8
|
+
import '../chunk-OWM7E55U.js';
|
|
8
9
|
import '../chunk-3JTBOABA.js';
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { SecureScreen } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { SecureScreen } from '../chunk-466W3XNK.js';
|
|
2
|
+
import '../chunk-OWM7E55U.js';
|
|
3
3
|
import '../chunk-3JTBOABA.js';
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
export { StagePeriodEditor } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
3
|
-
import '../chunk-
|
|
1
|
+
export { StagePeriodEditor } from '../chunk-GWT5UF5B.js';
|
|
2
|
+
import '../chunk-4VQIKSDS.js';
|
|
3
|
+
import '../chunk-MUXGTVEA.js';
|
|
4
|
+
import '../chunk-R2ORCOTG.js';
|
|
4
5
|
import '../chunk-RIZRM7OO.js';
|
|
5
|
-
import '../chunk-
|
|
6
|
-
import '../chunk-
|
|
6
|
+
import '../chunk-TAVKGYH5.js';
|
|
7
|
+
import '../chunk-OWM7E55U.js';
|
|
7
8
|
import '../chunk-3JTBOABA.js';
|
package/dist/widgets/TagInput.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { TagInput, foldSuggestions, normalizeKeyword, normalizeKeywords, splitKeywordText } from '../chunk-
|
|
1
|
+
export { TagInput, foldSuggestions, normalizeKeyword, normalizeKeywords, splitKeywordText } from '../chunk-LKA43GYA.js';
|
|
2
2
|
import '../chunk-RIZRM7OO.js';
|
|
3
|
-
import '../chunk-
|
|
3
|
+
import '../chunk-OWM7E55U.js';
|
|
4
4
|
import '../chunk-3JTBOABA.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { TagMultiSelect, pickSeedValues } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-
|
|
1
|
+
export { TagMultiSelect, pickSeedValues } from '../chunk-LKL3SCBJ.js';
|
|
2
|
+
import '../chunk-ZBX2CAOO.js';
|
|
3
|
+
import '../chunk-TAVKGYH5.js';
|
|
4
|
+
import '../chunk-OWM7E55U.js';
|
|
5
5
|
import '../chunk-3JTBOABA.js';
|
package/dist/widgets/Timeline.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { Timeline } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
3
|
-
import '../chunk-
|
|
1
|
+
export { Timeline } from '../chunk-5LIFU57A.js';
|
|
2
|
+
import '../chunk-P62INTQ5.js';
|
|
3
|
+
import '../chunk-OWM7E55U.js';
|
|
4
4
|
import '../chunk-3JTBOABA.js';
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
export { TreePicker } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
1
|
+
export { TreePicker } from '../chunk-H5QRRPBJ.js';
|
|
2
|
+
import '../chunk-AP33B24H.js';
|
|
3
|
+
import '../chunk-LN4KPZIX.js';
|
|
4
|
+
import '../chunk-4VQIKSDS.js';
|
|
5
|
+
import '../chunk-MUXGTVEA.js';
|
|
6
|
+
import '../chunk-R2ORCOTG.js';
|
|
6
7
|
import '../chunk-RIZRM7OO.js';
|
|
7
|
-
import '../chunk-
|
|
8
|
-
import '../chunk-
|
|
8
|
+
import '../chunk-TAVKGYH5.js';
|
|
9
|
+
import '../chunk-OWM7E55U.js';
|
|
9
10
|
import '../chunk-3JTBOABA.js';
|
package/dist/widgets/TreeView.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
export { TreeView, ancestorIdsOf, buildTreeNodes, pruneExcluded, resolveTreeNodes, scrollRowIntoBox } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-
|
|
1
|
+
export { TreeView, ancestorIdsOf, buildTreeNodes, pruneExcluded, resolveTreeNodes, scrollRowIntoBox } from '../chunk-AP33B24H.js';
|
|
2
|
+
import '../chunk-LN4KPZIX.js';
|
|
3
|
+
import '../chunk-4VQIKSDS.js';
|
|
4
|
+
import '../chunk-MUXGTVEA.js';
|
|
5
|
+
import '../chunk-R2ORCOTG.js';
|
|
5
6
|
import '../chunk-RIZRM7OO.js';
|
|
6
|
-
import '../chunk-
|
|
7
|
-
import '../chunk-
|
|
7
|
+
import '../chunk-TAVKGYH5.js';
|
|
8
|
+
import '../chunk-OWM7E55U.js';
|
|
8
9
|
import '../chunk-3JTBOABA.js';
|
package/dist/widgets/index.d.ts
CHANGED
|
@@ -72,6 +72,7 @@ import { ApprovalLineEditorProps } from './ApprovalLineEditor.js';
|
|
|
72
72
|
export { ApprovalLineEditor, ApprovalLineStep, CustomApprover } from './ApprovalLineEditor.js';
|
|
73
73
|
export { AutocompleteField, AutocompleteFieldProps, AutocompleteOption, AutocompleteSearchFn, AutocompleteSearchResult, endpointSearchFn, toAutocompleteOptions } from './AutocompleteField.js';
|
|
74
74
|
export { FileDropzone, FileDropzoneItem, FileDropzoneProps, unwrapUploaded } from './FileDropzone.js';
|
|
75
|
+
import '../calendar-nav-BSGsgJc4.js';
|
|
75
76
|
|
|
76
77
|
/**
|
|
77
78
|
* `createRegistry(widgetComponents)`로 어휘에 얹는 묶음.
|
package/dist/widgets/index.js
CHANGED
|
@@ -1,88 +1,89 @@
|
|
|
1
|
-
import { TreePicker } from '../chunk-
|
|
2
|
-
export { TreePicker } from '../chunk-
|
|
3
|
-
import { TreeView } from '../chunk-
|
|
4
|
-
export { TreeView, buildTreeNodes } from '../chunk-
|
|
5
|
-
import { SecureScreen } from '../chunk-
|
|
6
|
-
export { SecureScreen } from '../chunk-
|
|
1
|
+
import { TreePicker } from '../chunk-H5QRRPBJ.js';
|
|
2
|
+
export { TreePicker } from '../chunk-H5QRRPBJ.js';
|
|
3
|
+
import { TreeView } from '../chunk-AP33B24H.js';
|
|
4
|
+
export { TreeView, buildTreeNodes } from '../chunk-AP33B24H.js';
|
|
5
|
+
import { SecureScreen } from '../chunk-466W3XNK.js';
|
|
6
|
+
export { SecureScreen } from '../chunk-466W3XNK.js';
|
|
7
7
|
import { StackedMeter } from '../chunk-EJIWOD7W.js';
|
|
8
8
|
export { StackedMeter } from '../chunk-EJIWOD7W.js';
|
|
9
|
-
import { StagePeriodEditor } from '../chunk-
|
|
10
|
-
export { StagePeriodEditor } from '../chunk-
|
|
9
|
+
import { StagePeriodEditor } from '../chunk-GWT5UF5B.js';
|
|
10
|
+
export { StagePeriodEditor } from '../chunk-GWT5UF5B.js';
|
|
11
11
|
import { Strip } from '../chunk-XAXROQKB.js';
|
|
12
12
|
export { Strip } from '../chunk-XAXROQKB.js';
|
|
13
13
|
import { SummaryTable } from '../chunk-VZOQRQAR.js';
|
|
14
14
|
export { SummaryTable } from '../chunk-VZOQRQAR.js';
|
|
15
|
-
import { TagInput } from '../chunk-
|
|
16
|
-
export { TagInput, foldSuggestions, normalizeKeyword, normalizeKeywords, splitKeywordText } from '../chunk-
|
|
17
|
-
import { Timeline } from '../chunk-
|
|
18
|
-
export { Timeline } from '../chunk-
|
|
19
|
-
import { PositionSelect } from '../chunk-
|
|
20
|
-
export { PositionSelect } from '../chunk-
|
|
21
|
-
import { PrintSheet } from '../chunk-
|
|
22
|
-
export { PrintSheet } from '../chunk-
|
|
23
|
-
import { QRDisplay } from '../chunk-
|
|
24
|
-
export { QRDisplay } from '../chunk-
|
|
25
|
-
import { ProfileEditDiffCard } from '../chunk-
|
|
26
|
-
export { ProfileEditDiffCard } from '../chunk-
|
|
27
|
-
import { RankBoard } from '../chunk-
|
|
28
|
-
export { RankBoard } from '../chunk-
|
|
29
|
-
import { RecordSheet } from '../chunk-
|
|
30
|
-
export { RecordSheet } from '../chunk-
|
|
31
|
-
import { RoleMemberPicker } from '../chunk-
|
|
32
|
-
export { RoleMemberPicker } from '../chunk-
|
|
33
|
-
import { SearchableMultiPicker } from '../chunk-
|
|
34
|
-
export { SearchableMultiPicker } from '../chunk-
|
|
35
|
-
import { JsonField } from '../chunk-
|
|
36
|
-
export { JsonField } from '../chunk-
|
|
15
|
+
import { TagInput } from '../chunk-LKA43GYA.js';
|
|
16
|
+
export { TagInput, foldSuggestions, normalizeKeyword, normalizeKeywords, splitKeywordText } from '../chunk-LKA43GYA.js';
|
|
17
|
+
import { Timeline } from '../chunk-5LIFU57A.js';
|
|
18
|
+
export { Timeline } from '../chunk-5LIFU57A.js';
|
|
19
|
+
import { PositionSelect } from '../chunk-UBVYPV7H.js';
|
|
20
|
+
export { PositionSelect } from '../chunk-UBVYPV7H.js';
|
|
21
|
+
import { PrintSheet } from '../chunk-WPAZBAUW.js';
|
|
22
|
+
export { PrintSheet } from '../chunk-WPAZBAUW.js';
|
|
23
|
+
import { QRDisplay } from '../chunk-NI3LMETK.js';
|
|
24
|
+
export { QRDisplay } from '../chunk-NI3LMETK.js';
|
|
25
|
+
import { ProfileEditDiffCard } from '../chunk-A3SO6H47.js';
|
|
26
|
+
export { ProfileEditDiffCard } from '../chunk-A3SO6H47.js';
|
|
27
|
+
import { RankBoard } from '../chunk-RA74PUMP.js';
|
|
28
|
+
export { RankBoard } from '../chunk-RA74PUMP.js';
|
|
29
|
+
import { RecordSheet } from '../chunk-VR4DQTWR.js';
|
|
30
|
+
export { RecordSheet } from '../chunk-VR4DQTWR.js';
|
|
31
|
+
import { RoleMemberPicker } from '../chunk-NQDHGK7C.js';
|
|
32
|
+
export { RoleMemberPicker } from '../chunk-NQDHGK7C.js';
|
|
33
|
+
import { SearchableMultiPicker } from '../chunk-MWBCQHKQ.js';
|
|
34
|
+
export { SearchableMultiPicker } from '../chunk-MWBCQHKQ.js';
|
|
35
|
+
import { JsonField } from '../chunk-ENZBX4AR.js';
|
|
36
|
+
export { JsonField } from '../chunk-ENZBX4AR.js';
|
|
37
37
|
import { LiveClock } from '../chunk-37BNG4DT.js';
|
|
38
38
|
export { LiveClock } from '../chunk-37BNG4DT.js';
|
|
39
|
-
import { OptionSchemaEditor } from '../chunk-
|
|
40
|
-
export { OPTION_TYPES, OptionSchemaEditor } from '../chunk-
|
|
41
|
-
import { OptionValueFields } from '../chunk-
|
|
42
|
-
export { OptionValueFields } from '../chunk-
|
|
43
|
-
import { OrgChart } from '../chunk-
|
|
44
|
-
export { OrgChart } from '../chunk-
|
|
45
|
-
import { OrgChartBoard } from '../chunk-
|
|
46
|
-
export { OrgChartBoard } from '../chunk-
|
|
39
|
+
import { OptionSchemaEditor } from '../chunk-NJTIJAFU.js';
|
|
40
|
+
export { OPTION_TYPES, OptionSchemaEditor } from '../chunk-NJTIJAFU.js';
|
|
41
|
+
import { OptionValueFields } from '../chunk-7ZCM6XEM.js';
|
|
42
|
+
export { OptionValueFields } from '../chunk-7ZCM6XEM.js';
|
|
43
|
+
import { OrgChart } from '../chunk-Z4LFZWHH.js';
|
|
44
|
+
export { OrgChart } from '../chunk-Z4LFZWHH.js';
|
|
45
|
+
import { OrgChartBoard } from '../chunk-B5MB64YQ.js';
|
|
46
|
+
export { OrgChartBoard } from '../chunk-B5MB64YQ.js';
|
|
47
47
|
import '../chunk-XRHR452N.js';
|
|
48
|
-
import '../chunk-
|
|
49
|
-
import { PermissionMatrixEditor } from '../chunk-
|
|
50
|
-
export { PermissionMatrixEditor, stickyInsetOf } from '../chunk-
|
|
51
|
-
import { PeriodFilter } from '../chunk-
|
|
52
|
-
export { PeriodFilter } from '../chunk-
|
|
53
|
-
export { AutocompleteField, endpointSearchFn, toAutocompleteOptions } from '../chunk-
|
|
54
|
-
import { ColumnBoard } from '../chunk-
|
|
55
|
-
export { ColumnBoard } from '../chunk-
|
|
56
|
-
import { DiffView } from '../chunk-
|
|
57
|
-
export { DiffView } from '../chunk-
|
|
58
|
-
import { Disclosure } from '../chunk-
|
|
59
|
-
export { Disclosure } from '../chunk-
|
|
60
|
-
import { EventCalendar } from '../chunk-
|
|
61
|
-
export { EventCalendar, statusToneOf } from '../chunk-
|
|
62
|
-
export { FileDropzone, unwrapUploaded } from '../chunk-
|
|
63
|
-
import { ImageLightbox } from '../chunk-
|
|
64
|
-
export { ImageLightbox } from '../chunk-
|
|
65
|
-
import { InlineEdit } from '../chunk-
|
|
66
|
-
export { InlineEdit } from '../chunk-
|
|
67
|
-
import '../chunk-
|
|
68
|
-
import '../chunk-
|
|
69
|
-
import '../chunk-
|
|
70
|
-
import { ApprovalOverridesEditor } from '../chunk-
|
|
71
|
-
export { ApprovalOverridesEditor } from '../chunk-
|
|
72
|
-
import { TagMultiSelect } from '../chunk-
|
|
73
|
-
export { TagMultiSelect, pickSeedValues } from '../chunk-
|
|
74
|
-
import { ApprovalLineEditor } from '../chunk-
|
|
75
|
-
export { ApprovalLineEditor } from '../chunk-
|
|
76
|
-
import '../chunk-
|
|
77
|
-
import '../chunk-
|
|
78
|
-
import '../chunk-
|
|
79
|
-
import '../chunk-
|
|
48
|
+
import '../chunk-XDR6HC4U.js';
|
|
49
|
+
import { PermissionMatrixEditor } from '../chunk-7YTZB5LQ.js';
|
|
50
|
+
export { PermissionMatrixEditor, stickyInsetOf } from '../chunk-7YTZB5LQ.js';
|
|
51
|
+
import { PeriodFilter } from '../chunk-A22QR6PM.js';
|
|
52
|
+
export { PeriodFilter } from '../chunk-A22QR6PM.js';
|
|
53
|
+
export { AutocompleteField, endpointSearchFn, toAutocompleteOptions } from '../chunk-7EDFYBUA.js';
|
|
54
|
+
import { ColumnBoard } from '../chunk-Q56LZJFX.js';
|
|
55
|
+
export { ColumnBoard } from '../chunk-Q56LZJFX.js';
|
|
56
|
+
import { DiffView } from '../chunk-X7RSKFWF.js';
|
|
57
|
+
export { DiffView } from '../chunk-X7RSKFWF.js';
|
|
58
|
+
import { Disclosure } from '../chunk-P62INTQ5.js';
|
|
59
|
+
export { Disclosure } from '../chunk-P62INTQ5.js';
|
|
60
|
+
import { EventCalendar } from '../chunk-27ILQUWE.js';
|
|
61
|
+
export { EventCalendar, statusToneOf } from '../chunk-27ILQUWE.js';
|
|
62
|
+
export { FileDropzone, unwrapUploaded } from '../chunk-Z4JZUIKE.js';
|
|
63
|
+
import { ImageLightbox } from '../chunk-L6ODTHTX.js';
|
|
64
|
+
export { ImageLightbox } from '../chunk-L6ODTHTX.js';
|
|
65
|
+
import { InlineEdit } from '../chunk-JMNUFA5M.js';
|
|
66
|
+
export { InlineEdit } from '../chunk-JMNUFA5M.js';
|
|
67
|
+
import '../chunk-FUNCQCKN.js';
|
|
68
|
+
import '../chunk-5FZBH3T5.js';
|
|
69
|
+
import '../chunk-JCG4575S.js';
|
|
70
|
+
import { ApprovalOverridesEditor } from '../chunk-DILQ2DJV.js';
|
|
71
|
+
export { ApprovalOverridesEditor } from '../chunk-DILQ2DJV.js';
|
|
72
|
+
import { TagMultiSelect } from '../chunk-LKL3SCBJ.js';
|
|
73
|
+
export { TagMultiSelect, pickSeedValues } from '../chunk-LKL3SCBJ.js';
|
|
74
|
+
import { ApprovalLineEditor } from '../chunk-DCSUBFFG.js';
|
|
75
|
+
export { ApprovalLineEditor } from '../chunk-DCSUBFFG.js';
|
|
76
|
+
import '../chunk-63GM4S25.js';
|
|
77
|
+
import '../chunk-LN4KPZIX.js';
|
|
78
|
+
import '../chunk-4VQIKSDS.js';
|
|
79
|
+
import '../chunk-MUXGTVEA.js';
|
|
80
|
+
import '../chunk-R2ORCOTG.js';
|
|
80
81
|
import '../chunk-RIZRM7OO.js';
|
|
81
|
-
import '../chunk-
|
|
82
|
-
import '../chunk-
|
|
83
|
-
import { ApprovalStepper } from '../chunk-
|
|
84
|
-
export { ApprovalStepper, normalizeStepStatus } from '../chunk-
|
|
85
|
-
import '../chunk-
|
|
82
|
+
import '../chunk-ZBX2CAOO.js';
|
|
83
|
+
import '../chunk-TAVKGYH5.js';
|
|
84
|
+
import { ApprovalStepper } from '../chunk-FGKBXUUA.js';
|
|
85
|
+
export { ApprovalStepper, normalizeStepStatus } from '../chunk-FGKBXUUA.js';
|
|
86
|
+
import '../chunk-OWM7E55U.js';
|
|
86
87
|
import '../chunk-3JTBOABA.js';
|
|
87
88
|
|
|
88
89
|
// src/widgets/index.ts
|
package/package.json
CHANGED
package/dist/chunk-IB2ZPUTF.js
DELETED
|
@@ -1,172 +0,0 @@
|
|
|
1
|
-
import { boxed } from './chunk-3JTBOABA.js';
|
|
2
|
-
import { useRef, useState, useEffect } from 'react';
|
|
3
|
-
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
4
|
-
|
|
5
|
-
var RECORD_SHEET_CSS = `
|
|
6
|
-
.erp-recsheet__scroll{overflow-x:auto;min-width:0}
|
|
7
|
-
.erp-recsheet{width:100%;min-width:44rem;border-collapse:collapse;table-layout:fixed;font-size:var(--wp-size-sm)}
|
|
8
|
-
.erp-recsheet td{height:var(--wp-row-h-dense);border:var(--wp-border-w) solid var(--wp-border-default);padding:var(--wp-space-1) var(--wp-space-2);color:var(--wp-text-default);vertical-align:middle;line-height:var(--wp-leading-snug);overflow-wrap:anywhere}
|
|
9
|
-
.erp-recsheet td.erp-recsheet__title{background:var(--wp-surface-inverse);color:var(--wp-text-inverse);text-align:center;font-size:var(--wp-size-lg);font-weight:var(--wp-weight-semibold);letter-spacing:var(--wp-tracking-heading);padding:var(--wp-space-3) var(--wp-space-2)}
|
|
10
|
-
.erp-recsheet td.erp-recsheet__label{background:var(--wp-surface-sunken);color:var(--wp-text-subtle);font-size:var(--wp-size-xs);font-weight:var(--wp-weight-semibold);text-align:center;white-space:nowrap}
|
|
11
|
-
.erp-recsheet td.erp-recsheet__section{background:var(--wp-surface-brand-tint);border-top:var(--wp-border-w-strong) solid var(--wp-border-brand);color:var(--wp-text-brand);font-size:var(--wp-size-xs);font-weight:var(--wp-weight-semibold);letter-spacing:var(--wp-tracking-heading)}
|
|
12
|
-
.erp-recsheet tr.erp-recsheet__gap td{border:0;padding:0;height:var(--wp-space-3)}
|
|
13
|
-
.erp-recsheet td.erp-recsheet__mono{font-family:var(--wp-font-mono);font-size:var(--wp-size-xs)}
|
|
14
|
-
.erp-recsheet td.erp-recsheet__photo{background:var(--wp-surface-sunken);padding:var(--wp-space-2);text-align:center}
|
|
15
|
-
.erp-recsheet__img{display:block;width:100%;height:11rem;object-fit:cover;border-radius:var(--wp-radius-sm)}
|
|
16
|
-
.erp-recsheet__noimg{display:flex;align-items:center;justify-content:center;width:100%;height:11rem;border:var(--wp-border-w) dashed var(--wp-border-default);border-radius:var(--wp-radius-sm);color:var(--wp-text-disabled);font-size:var(--wp-size-xs)}
|
|
17
|
-
.erp-recsheet__note{margin:var(--wp-space-2) 0 0;text-align:right;color:var(--wp-text-subtle);font-size:var(--wp-size-xs)}
|
|
18
|
-
.erp-recsheet__frame{position:relative;min-width:0}
|
|
19
|
-
.erp-recsheet__frame::before,.erp-recsheet__frame::after{content:"";position:absolute;top:0;bottom:0;z-index:1;width:var(--wp-space-4);pointer-events:none;opacity:0;transition:opacity var(--wp-duration-fast)}
|
|
20
|
-
.erp-recsheet__frame::before{left:0;background:linear-gradient(to right,color-mix(in srgb,var(--wp-text-strong) 16%,transparent),transparent)}
|
|
21
|
-
.erp-recsheet__frame::after{right:0;background:linear-gradient(to left,color-mix(in srgb,var(--wp-text-strong) 16%,transparent),transparent)}
|
|
22
|
-
.erp-recsheet__frame[data-more-left]::before,.erp-recsheet__frame[data-more-right]::after{opacity:1}
|
|
23
|
-
@media print{
|
|
24
|
-
.erp-recsheet__frame::before,.erp-recsheet__frame::after{display:none}
|
|
25
|
-
.erp-recsheet__scroll{overflow-x:visible}
|
|
26
|
-
.erp-recsheet{min-width:0}
|
|
27
|
-
.erp-recsheet tr{break-inside:avoid}
|
|
28
|
-
}
|
|
29
|
-
`;
|
|
30
|
-
function RecordSheetStyles() {
|
|
31
|
-
return /* @__PURE__ */ jsx("style", { href: "erp-recsheet", precedence: "medium", children: RECORD_SHEET_CSS });
|
|
32
|
-
}
|
|
33
|
-
function gridColumns(columns) {
|
|
34
|
-
if (typeof columns !== "number" || !Number.isFinite(columns)) return 24;
|
|
35
|
-
return Math.min(60, Math.max(1, Math.floor(columns)));
|
|
36
|
-
}
|
|
37
|
-
function cellClass(cell) {
|
|
38
|
-
const classes = [];
|
|
39
|
-
if (cell.kind === "label") classes.push("erp-recsheet__label");
|
|
40
|
-
else if (cell.kind === "section") classes.push("erp-recsheet__section");
|
|
41
|
-
else if (cell.kind === "photo") classes.push("erp-recsheet__photo");
|
|
42
|
-
if (cell.mono) classes.push("erp-recsheet__mono");
|
|
43
|
-
return classes.length > 0 ? classes.join(" ") : void 0;
|
|
44
|
-
}
|
|
45
|
-
function isBlank(value) {
|
|
46
|
-
return value === null || value === void 0 || value === "";
|
|
47
|
-
}
|
|
48
|
-
function pickValue(cell, item) {
|
|
49
|
-
if (!item || typeof item !== "object") return void 0;
|
|
50
|
-
const row = item;
|
|
51
|
-
if (cell.fields && cell.fields.length > 0) {
|
|
52
|
-
const parts = cell.fields.map((name) => isBlank(row[name]) ? "" : String(row[name]));
|
|
53
|
-
if (parts.every((part) => part === "")) return void 0;
|
|
54
|
-
return parts.join(cell.separator ?? " ~ ");
|
|
55
|
-
}
|
|
56
|
-
if (cell.field) return row[cell.field];
|
|
57
|
-
return void 0;
|
|
58
|
-
}
|
|
59
|
-
function PhotoCell({ src, alt }) {
|
|
60
|
-
const [failed, setFailed] = useState(false);
|
|
61
|
-
const label = alt ?? "\uC0AC\uC9C4";
|
|
62
|
-
if (!src || failed) return /* @__PURE__ */ jsx("span", { className: "erp-recsheet__noimg", children: label });
|
|
63
|
-
return /* @__PURE__ */ jsx("img", { className: "erp-recsheet__img", src, alt: label, onError: () => setFailed(true) });
|
|
64
|
-
}
|
|
65
|
-
function cellContent(cell, item, repeated) {
|
|
66
|
-
if (cell.kind === "photo") return /* @__PURE__ */ jsx(PhotoCell, { src: cell.src, alt: cell.alt });
|
|
67
|
-
if (!repeated) {
|
|
68
|
-
if (!isBlank(cell.text)) return cell.text;
|
|
69
|
-
if (cell.kind === "label" || cell.kind === "section") return null;
|
|
70
|
-
return cell.placeholder ?? "-";
|
|
71
|
-
}
|
|
72
|
-
const value = pickValue(cell, item);
|
|
73
|
-
if (!isBlank(value)) return value;
|
|
74
|
-
return item ? cell.placeholder ?? "-" : null;
|
|
75
|
-
}
|
|
76
|
-
function renderCells(cells, items, keyPrefix) {
|
|
77
|
-
return cells.map((cell, index) => {
|
|
78
|
-
const item = items ? items[cell.source ?? 0] ?? null : null;
|
|
79
|
-
return /* @__PURE__ */ jsx(
|
|
80
|
-
"td",
|
|
81
|
-
{
|
|
82
|
-
className: cellClass(cell),
|
|
83
|
-
colSpan: cell.span && cell.span > 1 ? cell.span : void 0,
|
|
84
|
-
rowSpan: cell.rowSpan && cell.rowSpan > 1 ? cell.rowSpan : void 0,
|
|
85
|
-
style: cell.align && cell.align !== "left" ? { textAlign: cell.align } : void 0,
|
|
86
|
-
children: cellContent(cell, item, items !== null)
|
|
87
|
-
},
|
|
88
|
-
`${keyPrefix}-${index}`
|
|
89
|
-
);
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
function repeatLength(sources, minRows) {
|
|
93
|
-
const longest = sources.reduce((max, source) => Math.max(max, source.length), 0);
|
|
94
|
-
return Math.max(longest, Math.max(0, Math.floor(minRows ?? 0)));
|
|
95
|
-
}
|
|
96
|
-
function RecordSheetImpl({ columns, title, rows, note }) {
|
|
97
|
-
const scrollRef = useRef(null);
|
|
98
|
-
const edges = useScrollEdges(scrollRef);
|
|
99
|
-
const width = gridColumns(columns);
|
|
100
|
-
const list = Array.isArray(rows) ? rows : [];
|
|
101
|
-
const body = [];
|
|
102
|
-
list.forEach((row, rowIndex) => {
|
|
103
|
-
if (row?.gap) {
|
|
104
|
-
body.push(
|
|
105
|
-
/* @__PURE__ */ jsx("tr", { className: "erp-recsheet__gap", children: /* @__PURE__ */ jsx("td", { colSpan: width }) }, `gap-${rowIndex}`)
|
|
106
|
-
);
|
|
107
|
-
return;
|
|
108
|
-
}
|
|
109
|
-
const cells = Array.isArray(row?.cells) ? row.cells : [];
|
|
110
|
-
if (cells.length === 0) return;
|
|
111
|
-
if (Array.isArray(row.repeat)) {
|
|
112
|
-
const sources = row.repeat.map((source) => Array.isArray(source) ? source : []);
|
|
113
|
-
const count = repeatLength(sources, row.minRows);
|
|
114
|
-
for (let line = 0; line < count; line += 1) {
|
|
115
|
-
body.push(
|
|
116
|
-
/* @__PURE__ */ jsx("tr", { children: renderCells(
|
|
117
|
-
cells,
|
|
118
|
-
sources.map((source) => source[line] ?? null),
|
|
119
|
-
`rep-${rowIndex}-${line}`
|
|
120
|
-
) }, `rep-${rowIndex}-${line}`)
|
|
121
|
-
);
|
|
122
|
-
}
|
|
123
|
-
return;
|
|
124
|
-
}
|
|
125
|
-
body.push(/* @__PURE__ */ jsx("tr", { children: renderCells(cells, null, `row-${rowIndex}`) }, `row-${rowIndex}`));
|
|
126
|
-
});
|
|
127
|
-
return /* @__PURE__ */ jsx(
|
|
128
|
-
"div",
|
|
129
|
-
{
|
|
130
|
-
className: "erp-recsheet__frame",
|
|
131
|
-
"data-more-left": edges.left ? "" : void 0,
|
|
132
|
-
"data-more-right": edges.right ? "" : void 0,
|
|
133
|
-
children: /* @__PURE__ */ jsxs("div", { ref: scrollRef, className: "erp-recsheet__scroll", children: [
|
|
134
|
-
/* @__PURE__ */ jsx(RecordSheetStyles, {}),
|
|
135
|
-
/* @__PURE__ */ jsxs("table", { className: "erp-recsheet", children: [
|
|
136
|
-
/* @__PURE__ */ jsx("colgroup", { children: Array.from({ length: width }, (_, index) => /* @__PURE__ */ jsx("col", { style: { width: `${100 / width}%` } }, index)) }),
|
|
137
|
-
/* @__PURE__ */ jsxs("tbody", { children: [
|
|
138
|
-
title ? /* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx("td", { className: "erp-recsheet__title", colSpan: width, children: title }) }) : null,
|
|
139
|
-
body
|
|
140
|
-
] })
|
|
141
|
-
] }),
|
|
142
|
-
note ? /* @__PURE__ */ jsx("p", { className: "erp-recsheet__note", children: note }) : null
|
|
143
|
-
] })
|
|
144
|
-
}
|
|
145
|
-
);
|
|
146
|
-
}
|
|
147
|
-
function useScrollEdges(ref) {
|
|
148
|
-
const [edges, setEdges] = useState({ left: false, right: false });
|
|
149
|
-
useEffect(() => {
|
|
150
|
-
const el = ref.current;
|
|
151
|
-
if (!el) return;
|
|
152
|
-
const update = () => {
|
|
153
|
-
const left = el.scrollLeft > 1;
|
|
154
|
-
const right = el.scrollLeft + el.clientWidth < el.scrollWidth - 1;
|
|
155
|
-
setEdges((prev) => prev.left === left && prev.right === right ? prev : { left, right });
|
|
156
|
-
};
|
|
157
|
-
update();
|
|
158
|
-
el.addEventListener("scroll", update, { passive: true });
|
|
159
|
-
const observer = typeof ResizeObserver === "undefined" ? null : new ResizeObserver(update);
|
|
160
|
-
observer?.observe(el);
|
|
161
|
-
const table = el.querySelector("table");
|
|
162
|
-
if (table) observer?.observe(table);
|
|
163
|
-
return () => {
|
|
164
|
-
el.removeEventListener("scroll", update);
|
|
165
|
-
observer?.disconnect();
|
|
166
|
-
};
|
|
167
|
-
}, [ref]);
|
|
168
|
-
return edges;
|
|
169
|
-
}
|
|
170
|
-
var RecordSheet = boxed(RecordSheetImpl, "RecordSheet");
|
|
171
|
-
|
|
172
|
-
export { RecordSheet };
|