@nexia/sdk 0.8.13 → 0.8.15

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/README.md CHANGED
@@ -132,6 +132,13 @@ Provide `selectedOptions` for applied choices absent from the initial page;
132
132
  applied labels are retained across subsequent page changes. Values remain the
133
133
  source of truth. Scope changes must clear unauthorized selections in the owner.
134
134
 
135
+ For a page scope with `mode="legal-entity-operating-unit-list"`, set
136
+ `operatingUnitPicker="lookup"` on `NxOrganizationTargetSelector` to use a
137
+ lookup dialog for Operating Units while preserving the Legal Entity selector.
138
+ This is a fixed choice made by the page, independent of result count. Exact
139
+ pairs, authority checks and URL query handling are unchanged. Use the matching
140
+ SDK and Core host; omitting this optional prop retains the existing picker.
141
+
135
142
  | Earlier draft prop | `NxLookupField` prop |
136
143
  |---|---|
137
144
  | `presentation="dialog"` | Remove; the component always opens a dialog |
@@ -0,0 +1,9 @@
1
+ ---
2
+ status: published
3
+ version: 0.8.14
4
+ date: 2026-10-27
5
+ title: Organization lookup and list contracts
6
+ description: Choose operating units through lookup and declare date filters and export fields.
7
+ ---
8
+
9
+ Use `operatingUnitPicker="lookup"` with the combined organization selector, declare list filters with `kind: "dateRange"`, and map export fields with `ResourceTableColumn.exportKey`. Existing defaults remain compatible. Adopt Core 0.8.159 before using these options; Apps retain filter validation and row authorization. See the [frontend host guide](https://developers.nexia.to/docs/app-sdk-frontend-host-contracts).
@@ -0,0 +1,9 @@
1
+ ---
2
+ status: published
3
+ version: 0.8.14
4
+ date: 2026-10-27
5
+ title: 조직 조회와 목록 계약
6
+ description: 운영조직 조회창과 날짜 필터·내보내기 필드 매핑을 선언합니다.
7
+ ---
8
+
9
+ 법인·운영조직 선택기에 `operatingUnitPicker="lookup"`을 지정하고, 목록 필터에 `kind: "dateRange"`, 내보내기 필드에 `ResourceTableColumn.exportKey`를 사용할 수 있습니다. 기존 기본 동작은 유지됩니다. 이 옵션을 사용하기 전에 Core 0.8.159를 적용하고 앱의 필터 검증과 행 권한 검사를 유지하세요. [프런트엔드 호스트 가이드](https://developers.nexia.to/docs/app-sdk-frontend-host-contracts)를 참고하세요.
@@ -0,0 +1,11 @@
1
+ ---
2
+ status: published
3
+ version: 0.8.15
4
+ date: 2026-10-28
5
+ title: Approval receipt and record print contracts
6
+ description: Distinguish an accepted approval submission from a case and declare record print layouts.
7
+ ---
8
+
9
+ React SDK 0.8.15 lets an approval business form return either `caseId` or `submissionId`. A `submissionId` means the host accepted work for later processing; it does not mean an Approval Case exists yet. Handle both results when enabling asynchronous approval with matching Core and runtime support. See the [approval contract guide](https://developers.nexia.to/docs/app-sdk-approval-contracts).
10
+
11
+ Resource table and transfer action props also accept `recordPrint` for an optional per-record print layout. Adopt the matching Core host before using it. See the [frontend host guide](https://developers.nexia.to/docs/app-sdk-frontend-host-contracts).
@@ -0,0 +1,11 @@
1
+ ---
2
+ status: published
3
+ version: 0.8.15
4
+ date: 2026-10-28
5
+ title: 결재 접수 영수증과 레코드 인쇄 계약
6
+ description: 접수된 결재 요청과 결재 건을 구분하고 레코드별 인쇄 구성을 선언합니다.
7
+ ---
8
+
9
+ React SDK 0.8.15에서 결재 업무 폼은 `caseId` 또는 `submissionId`를 반환할 수 있습니다. `submissionId`는 호스트가 나중에 처리할 작업을 접수했다는 뜻이며, 아직 결재 건이 생성됐다는 뜻은 아닙니다. 비동기 결재를 활성화할 때는 대응하는 Core·런타임과 함께 두 결과를 처리하세요. [결재 계약 안내](https://developers.nexia.to/ko/docs/app-sdk-approval-contracts)를 참고하세요.
10
+
11
+ 리소스 표와 전송 작업 속성에 선택적인 레코드별 인쇄 구성 `recordPrint`가 추가되었습니다. 사용 전에 대응하는 Core 호스트를 적용하세요. [프런트엔드 호스트 안내](https://developers.nexia.to/ko/docs/app-sdk-frontend-host-contracts)를 참고하세요.
@@ -37,3 +37,5 @@ and retry. `buildAppCatalogTree` shares grouping for already-authorized choices.
37
37
  Adopt the matching Core host before using these exports; no released minimum
38
38
  version is declared by this draft. See the
39
39
  [frontend host guide](https://developers.nexia.to/docs/app-sdk-frontend-host-contracts).
40
+
41
+ `NxOrganizationTargetSelector` also accepts `operatingUnitPicker="lookup"` in combined Legal Entity/Operating Unit mode. It changes only the Operating Unit picker and requires the matching host. See the [frontend host guide](https://developers.nexia.to/docs/app-sdk-frontend-host-contracts#dedicated-lookup-fields).
@@ -36,3 +36,5 @@ status: draft
36
36
  대응하는 Core 호스트를 먼저 적용해야 합니다. 이 초안에서 출시된 최소 버전은
37
37
  지정하지 않으며 자세한 내용은
38
38
  [프런트엔드 호스트 가이드](https://developers.nexia.to/ko/docs/app-sdk-frontend-host-contracts)에 있습니다.
39
+
40
+ `NxOrganizationTargetSelector`의 법인·운영조직 모드에 `operatingUnitPicker="lookup"`을 지정하면 운영조직 부분만 조회 팝업으로 표시합니다. 대응하는 호스트가 필요합니다. [프런트엔드 호스트 가이드](https://developers.nexia.to/docs/app-sdk-frontend-host-contracts#dedicated-lookup-fields)를 참고하세요.
@@ -132,9 +132,14 @@ export interface ApprovalBusinessFormController {
132
132
  export interface ApprovalBusinessFormDraftResult {
133
133
  appDraftRef: string;
134
134
  }
135
- export interface ApprovalBusinessFormSubmitResult {
135
+ /** A receipt is durable acceptance, not a submitted case. */
136
+ export type ApprovalBusinessFormSubmitResult = {
136
137
  caseId: string;
137
- }
138
+ submissionId?: never;
139
+ } | {
140
+ submissionId: string;
141
+ caseId?: never;
142
+ };
138
143
  export interface ApprovalBusinessFormTemplate {
139
144
  key: string;
140
145
  version: number;
@@ -73,6 +73,8 @@ export type NxOrganizationTargetSelectorProps = (OrganizationTargetSelectorBaseP
73
73
  onChange: (legalEntityPublicId: string) => void;
74
74
  }) | (OrganizationTargetSelectorBaseProps & {
75
75
  mode: 'legal-entity-operating-unit-list';
76
+ /** Fixed picker for Operating Units; Legal Entity controls keep their existing presentation. */
77
+ operatingUnitPicker?: 'combobox' | 'lookup';
76
78
  targets: readonly OrganizationTarget[];
77
79
  value: OrganizationTargetQuery;
78
80
  onChange: (query: OrganizationTargetQuery) => void;
@@ -1,6 +1,8 @@
1
1
  /** A filter definition published by a resource list endpoint. */
2
2
  export interface ResourceListFilterableEntry {
3
3
  key: string;
4
+ /** Defaults to options. Date ranges encode inclusive bounds as YYYY-MM-DD..YYYY-MM-DD. */
5
+ kind?: "options" | "dateRange";
4
6
  multiple: boolean;
5
7
  label: string;
6
8
  options: Array<{
@@ -118,6 +118,11 @@ export interface NxResourceImportDialogProps {
118
118
  }
119
119
  /** Host-owned Resource Transfer actions for list and management surfaces. */
120
120
  export interface NxResourceTransferActionsProps {
121
+ recordPrint?: {
122
+ label: string;
123
+ title: string;
124
+ columnKeys: readonly string[];
125
+ };
121
126
  transferMeta: ResourceTransferMeta | null | undefined;
122
127
  onImported: () => void | Promise<void>;
123
128
  translationPrefix?: string;
package/dist/shell.d.ts CHANGED
@@ -404,6 +404,8 @@ export interface ResourceListFooterConfig {
404
404
  testId?: string;
405
405
  }
406
406
  export interface ResourceTableColumn<T> {
407
+ /** Export schema key; defaults to key. Keeps persisted column preferences stable. */
408
+ exportKey?: string;
407
409
  key: string;
408
410
  header: ReactNode;
409
411
  cell: (row: T, index: number) => ReactNode;
@@ -455,6 +457,12 @@ export interface ResourceTableProps<T> {
455
457
  filters?: ResourceListFilters;
456
458
  onFiltersChange?: (next: ResourceListFilters) => void;
457
459
  transferMeta?: ResourceTransferMeta | null;
460
+ /** Offer a per-record print layout alongside the selected-column list layout. */
461
+ recordPrint?: {
462
+ label: string;
463
+ title: string;
464
+ columnKeys: readonly string[];
465
+ };
458
466
  onTransferImported?: () => void | Promise<void>;
459
467
  pagination?: {
460
468
  current_page: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nexia/sdk",
3
- "version": "0.8.13",
3
+ "version": "0.8.15",
4
4
  "description": "Frontend contracts for Nexia App Packages",
5
5
  "license": "UNLICENSED",
6
6
  "type": "module",