@sayren/storefront-sdk 0.20.9 → 0.20.10

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.
@@ -1822,6 +1822,123 @@ declare const wishlistAddResultSchema: z.ZodObject<{
1822
1822
  }, z.core.$strip>;
1823
1823
  type WishlistAddResult = z.infer<typeof wishlistAddResultSchema>;
1824
1824
  //#endregion
1825
+ //#region src/schemas/product-options.d.ts
1826
+ /**
1827
+ * 추가 선택·직접 입력 (이슈 #59) — 상품 상세의 옵션 표시, 장바구니 담기·바로 구매 요청, 줄 스냅샷의 공통 모양.
1828
+ *
1829
+ * 추가 선택은 재고가 없는 옵션이다. 구매자가 조합(옵션이 없으면 상품)을 고른 뒤 옵션명마다 값 하나를 더 고르고, 값의 추가금이
1830
+ * 단가에 더해진다. 직접 입력은 구매자가 글자를 적는 항목(각인 문구 등)이다. 추가 선택 값이나 직접 입력값이 다르면 장바구니에서 다른 줄이다.
1831
+ */
1832
+ declare const addonGroupViewSchema: z.ZodObject<{
1833
+ groupId: z.ZodString;
1834
+ name: z.ZodString;
1835
+ required: z.ZodBoolean;
1836
+ values: z.ZodArray<z.ZodObject<{
1837
+ valueId: z.ZodString;
1838
+ name: z.ZodString;
1839
+ additionalPrice: z.ZodNumber;
1840
+ }, z.core.$strip>>;
1841
+ }, z.core.$strip>;
1842
+ type AddonGroupView = z.infer<typeof addonGroupViewSchema>;
1843
+ declare const customInputViewSchema: z.ZodObject<{
1844
+ inputId: z.ZodString;
1845
+ label: z.ZodString;
1846
+ placeholder: z.ZodNullable<z.ZodString>;
1847
+ maxLength: z.ZodNumber;
1848
+ required: z.ZodBoolean;
1849
+ key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1850
+ type: z.ZodOptional<z.ZodString>;
1851
+ options: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
1852
+ }, z.core.$strip>;
1853
+ type CustomInputView = z.infer<typeof customInputViewSchema>;
1854
+ /**
1855
+ * 직접 입력값을 타입대로 검사하고 저장할 모양으로 바꾼다(정규화 뒤 값). 서버 판정(400 `CUSTOM_INPUT_INVALID`)과 스토어프론트
1856
+ * 입력 검사가 이 함수 하나를 쓴다. 모르는 타입은 `text`로 본다. 맞지 않으면 null
1857
+ */
1858
+ declare function parseCustomInputValue(type: string | null | undefined, options: readonly string[] | null | undefined, raw: string): string | null;
1859
+ /**
1860
+ * 직접 입력값 정규화 — NFC로 모으고, 제어 문자(C0·C1·줄바꿈·줄·문단 구분자)는 공백으로, 제로폭·양방향 제어 문자는 지운 뒤
1861
+ * 앞뒤 공백을 지운다. 서버가 저장하는 값이 이것이다. 빈 문자열이면 입력하지 않은 것으로 본다.
1862
+ * (양방향 제어 문자를 두면 셀러 주문 화면의 각인 문구가 뒤집혀 보이게 할 수 있다.)
1863
+ */
1864
+ declare function normalizeCustomInputValue(value: string): string;
1865
+ /**
1866
+ * 직접 입력값의 글자 수 — 정규화한 값의 **코드 포인트 수**다(이모지 하나가 1자). 서버의 최대 글자 수 판정(`CUSTOM_INPUT_TOO_LONG`)과
1867
+ * 스토어프론트·상점 플랫폼의 글자 수 표시가 이 함수 하나를 쓴다. `String.length`(UTF-16)로 세면 이모지가 2자로 세어 판정이 갈린다.
1868
+ */
1869
+ declare function customInputLength(value: string): number;
1870
+ /** 담기·바로 구매 요청의 직접 입력값 한 칸. 앞뒤 공백을 지우고, 빈 값은 입력하지 않은 것으로 본다 */
1871
+ declare const customInputEntrySchema: z.ZodObject<{
1872
+ inputId: z.ZodString;
1873
+ value: z.ZodString;
1874
+ }, z.core.$strip>;
1875
+ type CustomInputEntry = z.infer<typeof customInputEntrySchema>;
1876
+ /** 고른 추가 선택 한 칸 — 옵션명(`groupId`)과 그 옵션명의 값(`valueId`) */
1877
+ declare const addonSelectionSchema: z.ZodObject<{
1878
+ groupId: z.ZodString;
1879
+ valueId: z.ZodString;
1880
+ }, z.core.$strip>;
1881
+ type AddonSelection = z.infer<typeof addonSelectionSchema>;
1882
+ /** 요청의 추가 선택·직접 입력 필드 — 담기·장바구니 수정·바로 구매가 같은 이름을 쓴다 */
1883
+ declare const lineSelectionRequestShape: {
1884
+ addons: z.ZodOptional<z.ZodArray<z.ZodObject<{
1885
+ groupId: z.ZodString;
1886
+ valueId: z.ZodString;
1887
+ }, z.core.$strip>>>;
1888
+ customInputs: z.ZodOptional<z.ZodArray<z.ZodObject<{
1889
+ inputId: z.ZodString;
1890
+ value: z.ZodString;
1891
+ }, z.core.$strip>>>;
1892
+ stay: z.ZodOptional<z.ZodObject<{
1893
+ checkIn: z.ZodString;
1894
+ checkOut: z.ZodString;
1895
+ }, z.core.$strip>>;
1896
+ };
1897
+ /** 줄의 옵션 선택 스냅샷 한 칸 — 조합 옵션은 옵션명마다 한 칸이고 추가금이 0이다(조합 추가금은 단가에 들어 있다) */
1898
+ declare const optionSelectionViewSchema: z.ZodObject<{
1899
+ kind: z.ZodString;
1900
+ groupName: z.ZodString;
1901
+ valueName: z.ZodString;
1902
+ additionalPrice: z.ZodNumber;
1903
+ }, z.core.$strip>;
1904
+ type OptionSelectionView = z.infer<typeof optionSelectionViewSchema>;
1905
+ declare const customInputValueViewSchema: z.ZodObject<{
1906
+ label: z.ZodString;
1907
+ value: z.ZodString;
1908
+ key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1909
+ type: z.ZodOptional<z.ZodString>;
1910
+ }, z.core.$strip>;
1911
+ type CustomInputValueView = z.infer<typeof customInputValueViewSchema>;
1912
+ /** 응답 줄의 표시 필드 — 장바구니·주문서·주문상품이 같은 이름을 쓴다 */
1913
+ declare const lineSelectionResponseShape: {
1914
+ optionSelections: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
1915
+ kind: z.ZodString;
1916
+ groupName: z.ZodString;
1917
+ valueName: z.ZodString;
1918
+ additionalPrice: z.ZodNumber;
1919
+ }, z.core.$strip>>>>;
1920
+ customInputs: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
1921
+ label: z.ZodString;
1922
+ value: z.ZodString;
1923
+ key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1924
+ type: z.ZodOptional<z.ZodString>;
1925
+ }, z.core.$strip>>>>;
1926
+ stay: z.ZodOptional<z.ZodObject<{
1927
+ checkIn: z.ZodString;
1928
+ checkOut: z.ZodString;
1929
+ nights: z.ZodArray<z.ZodObject<{
1930
+ date: z.ZodString;
1931
+ price: z.ZodNumber;
1932
+ }, z.core.$strip>>;
1933
+ }, z.core.$strip>>;
1934
+ };
1935
+ /** 주문 입력 이미지 업로드 자리 요청(#115 E4) — 파일명은 확장자만 쓰인다 */
1936
+ declare const orderInputUploadRequestSchema: z.ZodObject<{
1937
+ filename: z.ZodString;
1938
+ size: z.ZodOptional<z.ZodNumber>;
1939
+ }, z.core.$strip>;
1940
+ type OrderInputUploadRequest = z.infer<typeof orderInputUploadRequestSchema>;
1941
+ //#endregion
1825
1942
  //#region src/schemas/review.d.ts
1826
1943
  declare const publicReviewSchema: z.ZodObject<{
1827
1944
  reviewId: z.ZodString;
@@ -2613,6 +2730,15 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
2613
2730
  };
2614
2731
  }>;
2615
2732
  removeItem: (cartItemId: string) => Promise<void>;
2733
+ /**
2734
+ * 직접 입력 이미지(`type: "image"`) 업로드 자리 — 응답 `uploadUrl`에 파일을 PUT한 뒤 `url`을 담기·바로 구매의
2735
+ * `customInputs` 값에 넣는다(여러 장이면 줄바꿈으로 잇는다). 비회원도 부를 수 있다.
2736
+ * 형식·크기가 맞지 않으면 400 `UNSUPPORTED_FILE_TYPE`·413 `FILE_TOO_LARGE`, 연타하면 429 `TOO_MANY_REQUESTS`다
2737
+ */
2738
+ createInputImageUpload: (body: OrderInputUploadRequest) => Promise<{
2739
+ url: string;
2740
+ uploadUrl: string;
2741
+ }>;
2616
2742
  };
2617
2743
  checkout: {
2618
2744
  create: (body: CreateCheckoutRequest) => Promise<{
@@ -3006,6 +3132,15 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
3006
3132
  message?: string | undefined;
3007
3133
  deadlineAt?: string | undefined;
3008
3134
  attachments?: string[] | undefined;
3135
+ inputs?: {
3136
+ by: string;
3137
+ values: {
3138
+ key: string;
3139
+ label: string;
3140
+ type: string;
3141
+ value: string | number | boolean | string[];
3142
+ }[];
3143
+ } | undefined;
3009
3144
  progress?: boolean | undefined;
3010
3145
  } | undefined;
3011
3146
  actions?: {
@@ -3024,6 +3159,7 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
3024
3159
  type: string;
3025
3160
  required: boolean;
3026
3161
  label: string;
3162
+ placeholder?: string | undefined;
3027
3163
  maxLength?: number | undefined;
3028
3164
  maxFiles?: number | undefined;
3029
3165
  options?: (string | number)[] | undefined;
@@ -3039,8 +3175,64 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
3039
3175
  message?: string | undefined;
3040
3176
  deadlineAt?: string | undefined;
3041
3177
  attachments?: string[] | undefined;
3178
+ inputs?: {
3179
+ by: string;
3180
+ values: {
3181
+ key: string;
3182
+ label: string;
3183
+ type: string;
3184
+ value: string | number | boolean | string[];
3185
+ }[];
3186
+ } | undefined;
3042
3187
  progress?: boolean | undefined;
3043
3188
  }[] | undefined;
3189
+ step?: {
3190
+ type: string;
3191
+ label: string;
3192
+ actions: {
3193
+ key: string;
3194
+ label: string;
3195
+ mode: "INSTANT" | "REQUEST" | "VIEW";
3196
+ enabled: boolean;
3197
+ disabled?: {
3198
+ reason: string;
3199
+ message?: string | undefined;
3200
+ } | undefined;
3201
+ availableUntil?: string | undefined;
3202
+ subflow?: string | undefined;
3203
+ input?: {
3204
+ key: string;
3205
+ type: string;
3206
+ required: boolean;
3207
+ label: string;
3208
+ placeholder?: string | undefined;
3209
+ maxLength?: number | undefined;
3210
+ maxFiles?: number | undefined;
3211
+ options?: (string | number)[] | undefined;
3212
+ }[] | undefined;
3213
+ partialQuantity?: boolean | "UNIT" | undefined;
3214
+ }[];
3215
+ message?: string | undefined;
3216
+ deadlineAt?: string | undefined;
3217
+ attachments?: string[] | undefined;
3218
+ inputs?: {
3219
+ by: string;
3220
+ values: {
3221
+ key: string;
3222
+ label: string;
3223
+ type: string;
3224
+ value: string | number | boolean | string[];
3225
+ }[];
3226
+ } | undefined;
3227
+ data?: {
3228
+ delivery?: {
3229
+ carrierName: string | null;
3230
+ trackingNumber: string | null;
3231
+ trackingUrl: string | null;
3232
+ dispatchedAt: string;
3233
+ } | undefined;
3234
+ } | undefined;
3235
+ } | undefined;
3044
3236
  stay?: {
3045
3237
  checkIn: string;
3046
3238
  checkOut: string;
@@ -3150,6 +3342,15 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
3150
3342
  message?: string | undefined;
3151
3343
  deadlineAt?: string | undefined;
3152
3344
  attachments?: string[] | undefined;
3345
+ inputs?: {
3346
+ by: string;
3347
+ values: {
3348
+ key: string;
3349
+ label: string;
3350
+ type: string;
3351
+ value: string | number | boolean | string[];
3352
+ }[];
3353
+ } | undefined;
3153
3354
  progress?: boolean | undefined;
3154
3355
  } | undefined;
3155
3356
  actions?: {
@@ -3168,6 +3369,7 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
3168
3369
  type: string;
3169
3370
  required: boolean;
3170
3371
  label: string;
3372
+ placeholder?: string | undefined;
3171
3373
  maxLength?: number | undefined;
3172
3374
  maxFiles?: number | undefined;
3173
3375
  options?: (string | number)[] | undefined;
@@ -3183,8 +3385,64 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
3183
3385
  message?: string | undefined;
3184
3386
  deadlineAt?: string | undefined;
3185
3387
  attachments?: string[] | undefined;
3388
+ inputs?: {
3389
+ by: string;
3390
+ values: {
3391
+ key: string;
3392
+ label: string;
3393
+ type: string;
3394
+ value: string | number | boolean | string[];
3395
+ }[];
3396
+ } | undefined;
3186
3397
  progress?: boolean | undefined;
3187
3398
  }[] | undefined;
3399
+ step?: {
3400
+ type: string;
3401
+ label: string;
3402
+ actions: {
3403
+ key: string;
3404
+ label: string;
3405
+ mode: "INSTANT" | "REQUEST" | "VIEW";
3406
+ enabled: boolean;
3407
+ disabled?: {
3408
+ reason: string;
3409
+ message?: string | undefined;
3410
+ } | undefined;
3411
+ availableUntil?: string | undefined;
3412
+ subflow?: string | undefined;
3413
+ input?: {
3414
+ key: string;
3415
+ type: string;
3416
+ required: boolean;
3417
+ label: string;
3418
+ placeholder?: string | undefined;
3419
+ maxLength?: number | undefined;
3420
+ maxFiles?: number | undefined;
3421
+ options?: (string | number)[] | undefined;
3422
+ }[] | undefined;
3423
+ partialQuantity?: boolean | "UNIT" | undefined;
3424
+ }[];
3425
+ message?: string | undefined;
3426
+ deadlineAt?: string | undefined;
3427
+ attachments?: string[] | undefined;
3428
+ inputs?: {
3429
+ by: string;
3430
+ values: {
3431
+ key: string;
3432
+ label: string;
3433
+ type: string;
3434
+ value: string | number | boolean | string[];
3435
+ }[];
3436
+ } | undefined;
3437
+ data?: {
3438
+ delivery?: {
3439
+ carrierName: string | null;
3440
+ trackingNumber: string | null;
3441
+ trackingUrl: string | null;
3442
+ dispatchedAt: string;
3443
+ } | undefined;
3444
+ } | undefined;
3445
+ } | undefined;
3188
3446
  stay?: {
3189
3447
  checkIn: string;
3190
3448
  checkOut: string;
@@ -3305,6 +3563,15 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
3305
3563
  message?: string | undefined;
3306
3564
  deadlineAt?: string | undefined;
3307
3565
  attachments?: string[] | undefined;
3566
+ inputs?: {
3567
+ by: string;
3568
+ values: {
3569
+ key: string;
3570
+ label: string;
3571
+ type: string;
3572
+ value: string | number | boolean | string[];
3573
+ }[];
3574
+ } | undefined;
3308
3575
  progress?: boolean | undefined;
3309
3576
  } | undefined;
3310
3577
  actions?: {
@@ -3323,6 +3590,7 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
3323
3590
  type: string;
3324
3591
  required: boolean;
3325
3592
  label: string;
3593
+ placeholder?: string | undefined;
3326
3594
  maxLength?: number | undefined;
3327
3595
  maxFiles?: number | undefined;
3328
3596
  options?: (string | number)[] | undefined;
@@ -3338,8 +3606,64 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
3338
3606
  message?: string | undefined;
3339
3607
  deadlineAt?: string | undefined;
3340
3608
  attachments?: string[] | undefined;
3609
+ inputs?: {
3610
+ by: string;
3611
+ values: {
3612
+ key: string;
3613
+ label: string;
3614
+ type: string;
3615
+ value: string | number | boolean | string[];
3616
+ }[];
3617
+ } | undefined;
3341
3618
  progress?: boolean | undefined;
3342
3619
  }[] | undefined;
3620
+ step?: {
3621
+ type: string;
3622
+ label: string;
3623
+ actions: {
3624
+ key: string;
3625
+ label: string;
3626
+ mode: "INSTANT" | "REQUEST" | "VIEW";
3627
+ enabled: boolean;
3628
+ disabled?: {
3629
+ reason: string;
3630
+ message?: string | undefined;
3631
+ } | undefined;
3632
+ availableUntil?: string | undefined;
3633
+ subflow?: string | undefined;
3634
+ input?: {
3635
+ key: string;
3636
+ type: string;
3637
+ required: boolean;
3638
+ label: string;
3639
+ placeholder?: string | undefined;
3640
+ maxLength?: number | undefined;
3641
+ maxFiles?: number | undefined;
3642
+ options?: (string | number)[] | undefined;
3643
+ }[] | undefined;
3644
+ partialQuantity?: boolean | "UNIT" | undefined;
3645
+ }[];
3646
+ message?: string | undefined;
3647
+ deadlineAt?: string | undefined;
3648
+ attachments?: string[] | undefined;
3649
+ inputs?: {
3650
+ by: string;
3651
+ values: {
3652
+ key: string;
3653
+ label: string;
3654
+ type: string;
3655
+ value: string | number | boolean | string[];
3656
+ }[];
3657
+ } | undefined;
3658
+ data?: {
3659
+ delivery?: {
3660
+ carrierName: string | null;
3661
+ trackingNumber: string | null;
3662
+ trackingUrl: string | null;
3663
+ dispatchedAt: string;
3664
+ } | undefined;
3665
+ } | undefined;
3666
+ } | undefined;
3343
3667
  stay?: {
3344
3668
  checkIn: string;
3345
3669
  checkOut: string;
@@ -3408,6 +3732,15 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
3408
3732
  message?: string | undefined;
3409
3733
  deadlineAt?: string | undefined;
3410
3734
  attachments?: string[] | undefined;
3735
+ inputs?: {
3736
+ by: string;
3737
+ values: {
3738
+ key: string;
3739
+ label: string;
3740
+ type: string;
3741
+ value: string | number | boolean | string[];
3742
+ }[];
3743
+ } | undefined;
3411
3744
  progress?: boolean | undefined;
3412
3745
  };
3413
3746
  actions: {
@@ -3426,6 +3759,7 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
3426
3759
  type: string;
3427
3760
  required: boolean;
3428
3761
  label: string;
3762
+ placeholder?: string | undefined;
3429
3763
  maxLength?: number | undefined;
3430
3764
  maxFiles?: number | undefined;
3431
3765
  options?: (string | number)[] | undefined;
@@ -3454,6 +3788,15 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
3454
3788
  message?: string | undefined;
3455
3789
  deadlineAt?: string | undefined;
3456
3790
  attachments?: string[] | undefined;
3791
+ inputs?: {
3792
+ by: string;
3793
+ values: {
3794
+ key: string;
3795
+ label: string;
3796
+ type: string;
3797
+ value: string | number | boolean | string[];
3798
+ }[];
3799
+ } | undefined;
3457
3800
  progress?: boolean | undefined;
3458
3801
  };
3459
3802
  actions: {
@@ -3472,6 +3815,7 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
3472
3815
  type: string;
3473
3816
  required: boolean;
3474
3817
  label: string;
3818
+ placeholder?: string | undefined;
3475
3819
  maxLength?: number | undefined;
3476
3820
  maxFiles?: number | undefined;
3477
3821
  options?: (string | number)[] | undefined;
@@ -3999,6 +4343,7 @@ declare const flowInputFieldSchema: z.ZodObject<{
3999
4343
  type: z.ZodString;
4000
4344
  required: z.ZodBoolean;
4001
4345
  label: z.ZodString;
4346
+ placeholder: z.ZodOptional<z.ZodString>;
4002
4347
  maxLength: z.ZodOptional<z.ZodNumber>;
4003
4348
  maxFiles: z.ZodOptional<z.ZodNumber>;
4004
4349
  options: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
@@ -4024,6 +4369,7 @@ declare const flowActionSchema: z.ZodObject<{
4024
4369
  type: z.ZodString;
4025
4370
  required: z.ZodBoolean;
4026
4371
  label: z.ZodString;
4372
+ placeholder: z.ZodOptional<z.ZodString>;
4027
4373
  maxLength: z.ZodOptional<z.ZodNumber>;
4028
4374
  maxFiles: z.ZodOptional<z.ZodNumber>;
4029
4375
  options: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
@@ -4051,10 +4397,76 @@ declare const flowStateSchema: z.ZodObject<{
4051
4397
  enteredAt: z.ZodString;
4052
4398
  deadlineAt: z.ZodOptional<z.ZodString>;
4053
4399
  attachments: z.ZodOptional<z.ZodArray<z.ZodString>>;
4400
+ inputs: z.ZodOptional<z.ZodObject<{
4401
+ by: z.ZodString;
4402
+ values: z.ZodArray<z.ZodObject<{
4403
+ key: z.ZodString;
4404
+ label: z.ZodString;
4405
+ type: z.ZodString;
4406
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>;
4407
+ }, z.core.$strip>>;
4408
+ }, z.core.$strip>>;
4054
4409
  progress: z.ZodOptional<z.ZodBoolean>;
4055
4410
  fields: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodArray<z.ZodString>]>>;
4056
4411
  }, z.core.$strip>;
4057
4412
  type FlowState = z.infer<typeof flowStateSchema>;
4413
+ /**
4414
+ * 주문상품의 지금 단계(#115) — 구매자 화면이 흐름 구조를 몰라도 그릴 수 있게 서버가 정리한 값이다. `type`으로 화면 모양을 고르고,
4415
+ * `actions`(입력 칸 포함)로 버튼·폼을 그린다. 판정은 서버다.
4416
+ */
4417
+ declare const ORDER_STEP_TYPES: readonly ["BUYER_ACTION", "SELLER_PROCESSING", "IN_DELIVERY", "DELIVERED", "COMPLETED", "CANCELED", "CLAIM_IN_PROGRESS"];
4418
+ declare const orderStepSchema: z.ZodObject<{
4419
+ type: z.ZodString;
4420
+ label: z.ZodString;
4421
+ message: z.ZodOptional<z.ZodString>;
4422
+ deadlineAt: z.ZodOptional<z.ZodString>;
4423
+ attachments: z.ZodOptional<z.ZodArray<z.ZodString>>;
4424
+ inputs: z.ZodOptional<z.ZodObject<{
4425
+ by: z.ZodString;
4426
+ values: z.ZodArray<z.ZodObject<{
4427
+ key: z.ZodString;
4428
+ label: z.ZodString;
4429
+ type: z.ZodString;
4430
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>;
4431
+ }, z.core.$strip>>;
4432
+ }, z.core.$strip>>;
4433
+ actions: z.ZodArray<z.ZodObject<{
4434
+ key: z.ZodString;
4435
+ label: z.ZodString;
4436
+ mode: z.ZodEnum<{
4437
+ INSTANT: "INSTANT";
4438
+ REQUEST: "REQUEST";
4439
+ VIEW: "VIEW";
4440
+ }>;
4441
+ enabled: z.ZodBoolean;
4442
+ disabled: z.ZodOptional<z.ZodObject<{
4443
+ reason: z.ZodString;
4444
+ message: z.ZodOptional<z.ZodString>;
4445
+ }, z.core.$strip>>;
4446
+ availableUntil: z.ZodOptional<z.ZodString>;
4447
+ subflow: z.ZodOptional<z.ZodString>;
4448
+ input: z.ZodOptional<z.ZodArray<z.ZodObject<{
4449
+ key: z.ZodString;
4450
+ type: z.ZodString;
4451
+ required: z.ZodBoolean;
4452
+ label: z.ZodString;
4453
+ placeholder: z.ZodOptional<z.ZodString>;
4454
+ maxLength: z.ZodOptional<z.ZodNumber>;
4455
+ maxFiles: z.ZodOptional<z.ZodNumber>;
4456
+ options: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
4457
+ }, z.core.$strip>>>;
4458
+ partialQuantity: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"UNIT">]>>;
4459
+ }, z.core.$strip>>;
4460
+ data: z.ZodOptional<z.ZodObject<{
4461
+ delivery: z.ZodOptional<z.ZodObject<{
4462
+ carrierName: z.ZodNullable<z.ZodString>;
4463
+ trackingNumber: z.ZodNullable<z.ZodString>;
4464
+ trackingUrl: z.ZodNullable<z.ZodString>;
4465
+ dispatchedAt: z.ZodString;
4466
+ }, z.core.$strip>>;
4467
+ }, z.core.$strip>>;
4468
+ }, z.core.$strip>;
4469
+ type OrderStep = z.infer<typeof orderStepSchema>;
4058
4470
  declare const flowActionRequestSchema: z.ZodObject<{
4059
4471
  input: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
4060
4472
  }, z.core.$strip>;
@@ -4085,6 +4497,15 @@ declare const flowActionResultSchema: z.ZodObject<{
4085
4497
  enteredAt: z.ZodString;
4086
4498
  deadlineAt: z.ZodOptional<z.ZodString>;
4087
4499
  attachments: z.ZodOptional<z.ZodArray<z.ZodString>>;
4500
+ inputs: z.ZodOptional<z.ZodObject<{
4501
+ by: z.ZodString;
4502
+ values: z.ZodArray<z.ZodObject<{
4503
+ key: z.ZodString;
4504
+ label: z.ZodString;
4505
+ type: z.ZodString;
4506
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>;
4507
+ }, z.core.$strip>>;
4508
+ }, z.core.$strip>>;
4088
4509
  progress: z.ZodOptional<z.ZodBoolean>;
4089
4510
  fields: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodArray<z.ZodString>]>>;
4090
4511
  }, z.core.$strip>;
@@ -4108,6 +4529,7 @@ declare const flowActionResultSchema: z.ZodObject<{
4108
4529
  type: z.ZodString;
4109
4530
  required: z.ZodBoolean;
4110
4531
  label: z.ZodString;
4532
+ placeholder: z.ZodOptional<z.ZodString>;
4111
4533
  maxLength: z.ZodOptional<z.ZodNumber>;
4112
4534
  maxFiles: z.ZodOptional<z.ZodNumber>;
4113
4535
  options: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
@@ -4230,6 +4652,15 @@ declare const myOrderItemSchema: z.ZodObject<{
4230
4652
  enteredAt: z.ZodString;
4231
4653
  deadlineAt: z.ZodOptional<z.ZodString>;
4232
4654
  attachments: z.ZodOptional<z.ZodArray<z.ZodString>>;
4655
+ inputs: z.ZodOptional<z.ZodObject<{
4656
+ by: z.ZodString;
4657
+ values: z.ZodArray<z.ZodObject<{
4658
+ key: z.ZodString;
4659
+ label: z.ZodString;
4660
+ type: z.ZodString;
4661
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>;
4662
+ }, z.core.$strip>>;
4663
+ }, z.core.$strip>>;
4233
4664
  progress: z.ZodOptional<z.ZodBoolean>;
4234
4665
  fields: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodArray<z.ZodString>]>>;
4235
4666
  }, z.core.$strip>>;
@@ -4253,6 +4684,7 @@ declare const myOrderItemSchema: z.ZodObject<{
4253
4684
  type: z.ZodString;
4254
4685
  required: z.ZodBoolean;
4255
4686
  label: z.ZodString;
4687
+ placeholder: z.ZodOptional<z.ZodString>;
4256
4688
  maxLength: z.ZodOptional<z.ZodNumber>;
4257
4689
  maxFiles: z.ZodOptional<z.ZodNumber>;
4258
4690
  options: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
@@ -4276,9 +4708,69 @@ declare const myOrderItemSchema: z.ZodObject<{
4276
4708
  enteredAt: z.ZodString;
4277
4709
  deadlineAt: z.ZodOptional<z.ZodString>;
4278
4710
  attachments: z.ZodOptional<z.ZodArray<z.ZodString>>;
4711
+ inputs: z.ZodOptional<z.ZodObject<{
4712
+ by: z.ZodString;
4713
+ values: z.ZodArray<z.ZodObject<{
4714
+ key: z.ZodString;
4715
+ label: z.ZodString;
4716
+ type: z.ZodString;
4717
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>;
4718
+ }, z.core.$strip>>;
4719
+ }, z.core.$strip>>;
4279
4720
  progress: z.ZodOptional<z.ZodBoolean>;
4280
4721
  fields: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodArray<z.ZodString>]>>;
4281
4722
  }, z.core.$strip>>>;
4723
+ step: z.ZodOptional<z.ZodObject<{
4724
+ type: z.ZodString;
4725
+ label: z.ZodString;
4726
+ message: z.ZodOptional<z.ZodString>;
4727
+ deadlineAt: z.ZodOptional<z.ZodString>;
4728
+ attachments: z.ZodOptional<z.ZodArray<z.ZodString>>;
4729
+ inputs: z.ZodOptional<z.ZodObject<{
4730
+ by: z.ZodString;
4731
+ values: z.ZodArray<z.ZodObject<{
4732
+ key: z.ZodString;
4733
+ label: z.ZodString;
4734
+ type: z.ZodString;
4735
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>;
4736
+ }, z.core.$strip>>;
4737
+ }, z.core.$strip>>;
4738
+ actions: z.ZodArray<z.ZodObject<{
4739
+ key: z.ZodString;
4740
+ label: z.ZodString;
4741
+ mode: z.ZodEnum<{
4742
+ INSTANT: "INSTANT";
4743
+ REQUEST: "REQUEST";
4744
+ VIEW: "VIEW";
4745
+ }>;
4746
+ enabled: z.ZodBoolean;
4747
+ disabled: z.ZodOptional<z.ZodObject<{
4748
+ reason: z.ZodString;
4749
+ message: z.ZodOptional<z.ZodString>;
4750
+ }, z.core.$strip>>;
4751
+ availableUntil: z.ZodOptional<z.ZodString>;
4752
+ subflow: z.ZodOptional<z.ZodString>;
4753
+ input: z.ZodOptional<z.ZodArray<z.ZodObject<{
4754
+ key: z.ZodString;
4755
+ type: z.ZodString;
4756
+ required: z.ZodBoolean;
4757
+ label: z.ZodString;
4758
+ placeholder: z.ZodOptional<z.ZodString>;
4759
+ maxLength: z.ZodOptional<z.ZodNumber>;
4760
+ maxFiles: z.ZodOptional<z.ZodNumber>;
4761
+ options: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
4762
+ }, z.core.$strip>>>;
4763
+ partialQuantity: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"UNIT">]>>;
4764
+ }, z.core.$strip>>;
4765
+ data: z.ZodOptional<z.ZodObject<{
4766
+ delivery: z.ZodOptional<z.ZodObject<{
4767
+ carrierName: z.ZodNullable<z.ZodString>;
4768
+ trackingNumber: z.ZodNullable<z.ZodString>;
4769
+ trackingUrl: z.ZodNullable<z.ZodString>;
4770
+ dispatchedAt: z.ZodString;
4771
+ }, z.core.$strip>>;
4772
+ }, z.core.$strip>>;
4773
+ }, z.core.$strip>>;
4282
4774
  optionSelections: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
4283
4775
  kind: z.ZodString;
4284
4776
  groupName: z.ZodString;
@@ -4407,6 +4899,15 @@ declare const myOrderSchema: z.ZodObject<{
4407
4899
  enteredAt: z.ZodString;
4408
4900
  deadlineAt: z.ZodOptional<z.ZodString>;
4409
4901
  attachments: z.ZodOptional<z.ZodArray<z.ZodString>>;
4902
+ inputs: z.ZodOptional<z.ZodObject<{
4903
+ by: z.ZodString;
4904
+ values: z.ZodArray<z.ZodObject<{
4905
+ key: z.ZodString;
4906
+ label: z.ZodString;
4907
+ type: z.ZodString;
4908
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>;
4909
+ }, z.core.$strip>>;
4910
+ }, z.core.$strip>>;
4410
4911
  progress: z.ZodOptional<z.ZodBoolean>;
4411
4912
  fields: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodArray<z.ZodString>]>>;
4412
4913
  }, z.core.$strip>>;
@@ -4430,6 +4931,7 @@ declare const myOrderSchema: z.ZodObject<{
4430
4931
  type: z.ZodString;
4431
4932
  required: z.ZodBoolean;
4432
4933
  label: z.ZodString;
4934
+ placeholder: z.ZodOptional<z.ZodString>;
4433
4935
  maxLength: z.ZodOptional<z.ZodNumber>;
4434
4936
  maxFiles: z.ZodOptional<z.ZodNumber>;
4435
4937
  options: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
@@ -4453,9 +4955,69 @@ declare const myOrderSchema: z.ZodObject<{
4453
4955
  enteredAt: z.ZodString;
4454
4956
  deadlineAt: z.ZodOptional<z.ZodString>;
4455
4957
  attachments: z.ZodOptional<z.ZodArray<z.ZodString>>;
4958
+ inputs: z.ZodOptional<z.ZodObject<{
4959
+ by: z.ZodString;
4960
+ values: z.ZodArray<z.ZodObject<{
4961
+ key: z.ZodString;
4962
+ label: z.ZodString;
4963
+ type: z.ZodString;
4964
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>;
4965
+ }, z.core.$strip>>;
4966
+ }, z.core.$strip>>;
4456
4967
  progress: z.ZodOptional<z.ZodBoolean>;
4457
4968
  fields: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodArray<z.ZodString>]>>;
4458
4969
  }, z.core.$strip>>>;
4970
+ step: z.ZodOptional<z.ZodObject<{
4971
+ type: z.ZodString;
4972
+ label: z.ZodString;
4973
+ message: z.ZodOptional<z.ZodString>;
4974
+ deadlineAt: z.ZodOptional<z.ZodString>;
4975
+ attachments: z.ZodOptional<z.ZodArray<z.ZodString>>;
4976
+ inputs: z.ZodOptional<z.ZodObject<{
4977
+ by: z.ZodString;
4978
+ values: z.ZodArray<z.ZodObject<{
4979
+ key: z.ZodString;
4980
+ label: z.ZodString;
4981
+ type: z.ZodString;
4982
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>]>;
4983
+ }, z.core.$strip>>;
4984
+ }, z.core.$strip>>;
4985
+ actions: z.ZodArray<z.ZodObject<{
4986
+ key: z.ZodString;
4987
+ label: z.ZodString;
4988
+ mode: z.ZodEnum<{
4989
+ INSTANT: "INSTANT";
4990
+ REQUEST: "REQUEST";
4991
+ VIEW: "VIEW";
4992
+ }>;
4993
+ enabled: z.ZodBoolean;
4994
+ disabled: z.ZodOptional<z.ZodObject<{
4995
+ reason: z.ZodString;
4996
+ message: z.ZodOptional<z.ZodString>;
4997
+ }, z.core.$strip>>;
4998
+ availableUntil: z.ZodOptional<z.ZodString>;
4999
+ subflow: z.ZodOptional<z.ZodString>;
5000
+ input: z.ZodOptional<z.ZodArray<z.ZodObject<{
5001
+ key: z.ZodString;
5002
+ type: z.ZodString;
5003
+ required: z.ZodBoolean;
5004
+ label: z.ZodString;
5005
+ placeholder: z.ZodOptional<z.ZodString>;
5006
+ maxLength: z.ZodOptional<z.ZodNumber>;
5007
+ maxFiles: z.ZodOptional<z.ZodNumber>;
5008
+ options: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
5009
+ }, z.core.$strip>>>;
5010
+ partialQuantity: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"UNIT">]>>;
5011
+ }, z.core.$strip>>;
5012
+ data: z.ZodOptional<z.ZodObject<{
5013
+ delivery: z.ZodOptional<z.ZodObject<{
5014
+ carrierName: z.ZodNullable<z.ZodString>;
5015
+ trackingNumber: z.ZodNullable<z.ZodString>;
5016
+ trackingUrl: z.ZodNullable<z.ZodString>;
5017
+ dispatchedAt: z.ZodString;
5018
+ }, z.core.$strip>>;
5019
+ }, z.core.$strip>>;
5020
+ }, z.core.$strip>>;
4459
5021
  optionSelections: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
4460
5022
  kind: z.ZodString;
4461
5023
  groupName: z.ZodString;
@@ -4602,123 +5164,6 @@ declare const memberPointEntryPageSchema: z.ZodObject<{
4602
5164
  }, z.core.$strip>>;
4603
5165
  }, z.core.$strip>;
4604
5166
  //#endregion
4605
- //#region src/schemas/product-options.d.ts
4606
- /**
4607
- * 추가 선택·직접 입력 (이슈 #59) — 상품 상세의 옵션 표시, 장바구니 담기·바로 구매 요청, 줄 스냅샷의 공통 모양.
4608
- *
4609
- * 추가 선택은 재고가 없는 옵션이다. 구매자가 조합(옵션이 없으면 상품)을 고른 뒤 옵션명마다 값 하나를 더 고르고, 값의 추가금이
4610
- * 단가에 더해진다. 직접 입력은 구매자가 글자를 적는 항목(각인 문구 등)이다. 추가 선택 값이나 직접 입력값이 다르면 장바구니에서 다른 줄이다.
4611
- */
4612
- declare const addonGroupViewSchema: z.ZodObject<{
4613
- groupId: z.ZodString;
4614
- name: z.ZodString;
4615
- required: z.ZodBoolean;
4616
- values: z.ZodArray<z.ZodObject<{
4617
- valueId: z.ZodString;
4618
- name: z.ZodString;
4619
- additionalPrice: z.ZodNumber;
4620
- }, z.core.$strip>>;
4621
- }, z.core.$strip>;
4622
- type AddonGroupView = z.infer<typeof addonGroupViewSchema>;
4623
- declare const customInputViewSchema: z.ZodObject<{
4624
- inputId: z.ZodString;
4625
- label: z.ZodString;
4626
- placeholder: z.ZodNullable<z.ZodString>;
4627
- maxLength: z.ZodNumber;
4628
- required: z.ZodBoolean;
4629
- key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
4630
- type: z.ZodOptional<z.ZodString>;
4631
- options: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
4632
- }, z.core.$strip>;
4633
- type CustomInputView = z.infer<typeof customInputViewSchema>;
4634
- /**
4635
- * 직접 입력값을 타입대로 검사하고 저장할 모양으로 바꾼다(정규화 뒤 값). 서버 판정(400 `CUSTOM_INPUT_INVALID`)과 스토어프론트
4636
- * 입력 검사가 이 함수 하나를 쓴다. 모르는 타입은 `text`로 본다. 맞지 않으면 null
4637
- */
4638
- declare function parseCustomInputValue(type: string | null | undefined, options: readonly string[] | null | undefined, raw: string): string | null;
4639
- /**
4640
- * 직접 입력값 정규화 — NFC로 모으고, 제어 문자(C0·C1·줄바꿈·줄·문단 구분자)는 공백으로, 제로폭·양방향 제어 문자는 지운 뒤
4641
- * 앞뒤 공백을 지운다. 서버가 저장하는 값이 이것이다. 빈 문자열이면 입력하지 않은 것으로 본다.
4642
- * (양방향 제어 문자를 두면 셀러 주문 화면의 각인 문구가 뒤집혀 보이게 할 수 있다.)
4643
- */
4644
- declare function normalizeCustomInputValue(value: string): string;
4645
- /**
4646
- * 직접 입력값의 글자 수 — 정규화한 값의 **코드 포인트 수**다(이모지 하나가 1자). 서버의 최대 글자 수 판정(`CUSTOM_INPUT_TOO_LONG`)과
4647
- * 스토어프론트·상점 플랫폼의 글자 수 표시가 이 함수 하나를 쓴다. `String.length`(UTF-16)로 세면 이모지가 2자로 세어 판정이 갈린다.
4648
- */
4649
- declare function customInputLength(value: string): number;
4650
- /** 담기·바로 구매 요청의 직접 입력값 한 칸. 앞뒤 공백을 지우고, 빈 값은 입력하지 않은 것으로 본다 */
4651
- declare const customInputEntrySchema: z.ZodObject<{
4652
- inputId: z.ZodString;
4653
- value: z.ZodString;
4654
- }, z.core.$strip>;
4655
- type CustomInputEntry = z.infer<typeof customInputEntrySchema>;
4656
- /** 고른 추가 선택 한 칸 — 옵션명(`groupId`)과 그 옵션명의 값(`valueId`) */
4657
- declare const addonSelectionSchema: z.ZodObject<{
4658
- groupId: z.ZodString;
4659
- valueId: z.ZodString;
4660
- }, z.core.$strip>;
4661
- type AddonSelection = z.infer<typeof addonSelectionSchema>;
4662
- /** 요청의 추가 선택·직접 입력 필드 — 담기·장바구니 수정·바로 구매가 같은 이름을 쓴다 */
4663
- declare const lineSelectionRequestShape: {
4664
- addons: z.ZodOptional<z.ZodArray<z.ZodObject<{
4665
- groupId: z.ZodString;
4666
- valueId: z.ZodString;
4667
- }, z.core.$strip>>>;
4668
- customInputs: z.ZodOptional<z.ZodArray<z.ZodObject<{
4669
- inputId: z.ZodString;
4670
- value: z.ZodString;
4671
- }, z.core.$strip>>>;
4672
- stay: z.ZodOptional<z.ZodObject<{
4673
- checkIn: z.ZodString;
4674
- checkOut: z.ZodString;
4675
- }, z.core.$strip>>;
4676
- };
4677
- /** 줄의 옵션 선택 스냅샷 한 칸 — 조합 옵션은 옵션명마다 한 칸이고 추가금이 0이다(조합 추가금은 단가에 들어 있다) */
4678
- declare const optionSelectionViewSchema: z.ZodObject<{
4679
- kind: z.ZodString;
4680
- groupName: z.ZodString;
4681
- valueName: z.ZodString;
4682
- additionalPrice: z.ZodNumber;
4683
- }, z.core.$strip>;
4684
- type OptionSelectionView = z.infer<typeof optionSelectionViewSchema>;
4685
- declare const customInputValueViewSchema: z.ZodObject<{
4686
- label: z.ZodString;
4687
- value: z.ZodString;
4688
- key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
4689
- type: z.ZodOptional<z.ZodString>;
4690
- }, z.core.$strip>;
4691
- type CustomInputValueView = z.infer<typeof customInputValueViewSchema>;
4692
- /** 응답 줄의 표시 필드 — 장바구니·주문서·주문상품이 같은 이름을 쓴다 */
4693
- declare const lineSelectionResponseShape: {
4694
- optionSelections: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
4695
- kind: z.ZodString;
4696
- groupName: z.ZodString;
4697
- valueName: z.ZodString;
4698
- additionalPrice: z.ZodNumber;
4699
- }, z.core.$strip>>>>;
4700
- customInputs: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
4701
- label: z.ZodString;
4702
- value: z.ZodString;
4703
- key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
4704
- type: z.ZodOptional<z.ZodString>;
4705
- }, z.core.$strip>>>>;
4706
- stay: z.ZodOptional<z.ZodObject<{
4707
- checkIn: z.ZodString;
4708
- checkOut: z.ZodString;
4709
- nights: z.ZodArray<z.ZodObject<{
4710
- date: z.ZodString;
4711
- price: z.ZodNumber;
4712
- }, z.core.$strip>>;
4713
- }, z.core.$strip>>;
4714
- };
4715
- /** 주문 입력 이미지 업로드 자리 요청(#115 E4) — 파일명은 확장자만 쓰인다 */
4716
- declare const orderInputUploadRequestSchema: z.ZodObject<{
4717
- filename: z.ZodString;
4718
- size: z.ZodOptional<z.ZodNumber>;
4719
- }, z.core.$strip>;
4720
- type OrderInputUploadRequest = z.infer<typeof orderInputUploadRequestSchema>;
4721
- //#endregion
4722
5167
  //#region src/schemas/stay.d.ts
4723
5168
  /**
4724
5169
  * 숙박 기간·날짜별 달력(이슈 #118) — 날짜별 재고 상품(상품 상세 `inventoryMode: "DATED"`)은 담기·바로 구매에 기간을 함께 보내고,
@@ -4783,4 +5228,4 @@ declare const storefrontStoreSchema: z.ZodObject<{
4783
5228
  }, z.core.$strip>;
4784
5229
  type StorefrontStore = z.infer<typeof storefrontStoreSchema>;
4785
5230
  //#endregion
4786
- export { FlowInputField as $, PageInfo as $i, ConsentAction as $n, availablePaymentOptionSchema as $r, reviewImageUploadRequestSchema as $t, StorefrontPointPolicy as A, CollectionProductSortParam as Ai, ApplicableCoupon as An, CreateCheckoutRequest as Ar, SessionStorage as At, deliveryTrackingSchema as B, collectionProductPageSchema as Bi, applicableCouponSchema as Bn, PAYMENT_STATUS_VALUES as Br, ReviewImageUploadRequest as Bt, lineSelectionResponseShape as C, updateCartItemRequestSchema as Ca, responsePaymentMethodSchema as Ci, publicInquirySchema as Cn, AvailablePaymentOption as Cr, analyticsClientEventSchema as Ct, parseCustomInputValue as D, CategoryNode as Di, createCustomerInquiryRequestSchema as Dn, CashReceiptType as Dr, StorefrontClientOptions as Dt, orderInputUploadRequestSchema as E, startPaymentRequestSchema as Ei, CustomerInquiryCategory as En, CashReceiptRequest as Er, StorefrontClient as Et, DeliveryTracking as F, ProductSearchParams as Fi, MAX_COUPONS_PER_CHECKOUT as Fn, KnownPaymentResult as Fr, CreateReviewResult as Ft, trackingStageResponseSchema as G, productFacetsSchema as Gi, couponBenefitViewSchema as Gn, PaymentStart as Gr, UploadTicket as Gt, myOrderSchema as H, collectionProductSortSchema as Hi, checkoutPricingSchema as Hn, PaymentMessage as Hr, ReviewSummary as Ht, MyOrder as I, ProductSort as Ii, MIN_PAYMENT_AMOUNT as In, KnownPaymentStartStatus as Ir, MyReview as It, parseOrderNo as J, storefrontCollectionDetailSchema as Ji, myCouponSchema as Jn, RemoteArea as Jr, createReviewResultSchema as Jt, commerceNumberField as K, productPageSchema as Ki, couponResultSchema as Kn, PaymentStatus as Kr, WritableReview as Kt, MyOrderItem as L, StorefrontCollection as Li, MyCoupon as Ln, KnownPaymentStatus as Lr, ProductReviewParams as Lt, memberPointEntrySchema as M, ProductDetail as Mi, CheckoutPricingRequest as Mn, DeliveryQuoteResult as Mr, StorefrontSessionOptions as Mt, memberPointsSchema as N, ProductFacets as Ni, CouponApplication as Nn, EasyPayProvider as Nr, createStorefrontSession as Nt, MemberPointEntry as O, CollectionProductPage as Oi, customerInquiryCategorySchema as On, CheckoutDelivery as Or, createStorefrontClient as Ot, storefrontPointPolicySchema as P, ProductPage as Pi, CouponResult as Pn, GuestInfo as Pr, CreateReviewRequest as Pt, FlowFieldValue as Q, OrderItemStatus as Qi, storefrontCouponTargetSchema as Qn, StartPaymentRequest as Qr, publicReviewSchema as Qt, OrderShippingAddress as R, StorefrontCollectionDetail as Ri, StorefrontCoupon as Rn, PAYMENT_RESULT_VALUES as Rr, ProductReviewSort as Rt, lineSelectionRequestShape as S, cartSchema as Sa, residentNumberLike as Si, productInquiryCategorySchema as Sn, myClaimSchema as Sr, analyticsClientEventNameSchema as St, optionSelectionViewSchema as T, shippingAddressInputSchema as Ti, CustomerInquiry as Tn, CashReceiptIdentityType as Tr, analyticsServerEventNameSchema as Tt, orderShippingAddressSchema as U, productCardSchema as Ui, couponApplicationListSchema as Un, PaymentMethod as Ur, UpdateReviewRequest as Ut, myOrderItemSchema as V, collectionProductQuerySchema as Vi, checkoutPricingRequestSchema as Vn, PaymentFailureCategory as Vr, ReviewPage as Vt, purchaseDecisionResultSchema as W, productDetailSchema as Wi, couponApplicationSchema as Wn, PaymentOption as Wr, UpdateReviewResult as Wt, FlowActionRequest as X, storefrontCollectionSchema as Xi, storefrontCouponListQuerySchema as Xn, RetryPaymentRequest as Xr, productReviewQuerySchema as Xt, FlowAction as Y, storefrontCollectionListQuerySchema as Yi, pricingAmountsSchema as Yn, ResponsePaymentMethod as Yr, myReviewSchema as Yt, FlowActionResult as Z, ClaimStatus as Zi, storefrontCouponSchema as Zn, ShippingAddressInput as Zr, productReviewSortSchema as Zt, addonSelectionSchema as _, Cart as _a, paymentOptionSchema as _i, CreateInquiryResult as _n, claimReasonSchema as _r, AnalyticsClientEvent as _t, StayView as a, LineFulfillment as aa, checkoutSessionSchema as ai, writableReviewSchema as an, consentActionSchema as ar, flowActionSchema as at, customInputValueViewSchema as b, addCartItemRequestSchema as ba, pgProviderSchema as bi, createInquiryRequestSchema as bn, createClaimRequestSchema as br, AnalyticsServerEventName as bt, stayViewSchema as c, ProductCardFulfillment as ca, deliveryQuoteSchema as ci, MemberAddressRequest as cn, consentStateSchema as cr, flowStateSchema as ct, CustomInputEntry as d, lineFulfillmentSchema as da, guestInfoSchema as di, memberAddressRequestSchema as dn, ClaimReason as dr, ANALYTICS_MAX_BATCH_BYTES as dt, PageParams as ea, cashReceiptAvailable as ei, reviewPageSchema as en, ConsentKind as er, FlowState as et, CustomInputValueView as f, myOrderItemFulfillmentSnapshotSchema as fa, paymentFailureCategorySchema as fi, memberAddressSchema as fn, ClaimReturnAddress as fr, ANALYTICS_SESSION_COOKIE as ft, addonGroupViewSchema as g, AddCartItemRequest as ga, paymentOptionListSchema as gi, CreateInquiryRequest as gn, MyClaim as gr, AnalyticsBatch as gt, OrderInputUploadRequest as h, productFulfillmentViewSchema as ha, paymentOptionKey as hi, wishlistAddResultSchema as hn, CreateClaimResult as hr, ANALYTICS_VISITOR_HEADER as ht, StayRequest as i, pageSchema as ia, checkoutDeliverySchema as ii, uploadTicketSchema as in, MemberConsents as ir, flowActionResultSchema as it, memberPointEntryPageSchema as j, ProductCard as ji, CheckoutPricing as jn, DeliveryQuoteRequest as jr, StorefrontSession as jt, MemberPoints as k, CollectionProductParams as ki, customerInquirySchema as kn, CheckoutSession as kr, STOREFRONT_SESSION_KEYS as kt, AddonGroupView as l, ProductFulfillmentView as la, easyPayProviderResponseSchema as li, UpdateProfileRequest as ln, consentUpdateRequestSchema as lr, guestFlowActionRequestSchema as lt, OptionSelectionView as m, productCardFulfillmentSchema as ma, paymentMethodSchema as mi, updateProfileRequestSchema as mn, CreateClaimRequest as mr, ANALYTICS_VISITOR_COOKIE as mt, storefrontStoreSchema as n, orderItemStatusSchema as na, cashReceiptRequestSchema as ni, updateReviewRequestSchema as nn, ConsentState as nr, OrderFlowActionResult as nt, calendarDayViewSchema as o, MyOrderItemFulfillmentSnapshot as oa, createCheckoutRequestSchema as oi, Member as on, consentKindSchema as or, flowFieldValueSchema as ot, CustomInputView as p, pickupLocationViewSchema as pa, paymentMessageSchema as pi, memberSchema as pn, ClaimType as pr, ANALYTICS_SESSION_HEADER as pt, formatOrderNo as q, productSortSchema as qi, myCouponListQuerySchema as qn, PgProvider as qr, createReviewRequestSchema as qt, CalendarDayView as r, pageInfoSchema as ra, cashReceiptTypeSchema as ri, updateReviewResultSchema as rn, ConsentUpdateRequest as rr, flowActionRequestSchema as rt, stayRequestSchema as s, PickupLocationView as sa, deliveryQuoteRequestSchema as si, MemberAddress as sn, consentSourceSchema as sr, flowInputFieldSchema as st, StorefrontStore as t, claimStatusSchema as ta, cashReceiptIdentityTypeOf as ti, reviewSummarySchema as tn, ConsentSource as tr, GuestFlowActionRequest as tt, AddonSelection as u, UnknownFulfillmentView as ua, easyPayProviderSchema as ui, WishlistAddResult as un, memberConsentsSchema as ur, orderFlowActionResultSchema as ut, customInputEntrySchema as v, CartItem as va, paymentStartSchema as vi, ProductInquiryCategory as vn, claimReturnAddressSchema as vr, AnalyticsClientEventName as vt, normalizeCustomInputValue as w, analyticsIdsFromCookie as wa, retryPaymentRequestSchema as wi, CreateCustomerInquiryRequest as wn, CASH_RECEIPT_METHODS as wr, analyticsIdSchema as wt, customInputViewSchema as x, cartItemSchema as xa, remoteAreaSchema as xi, createInquiryResultSchema as xn, createClaimResultSchema as xr, analyticsBatchSchema as xt, customInputLength as y, UpdateCartItemRequest as ya, paymentStatusSchema as yi, PublicInquiry as yn, claimTypeSchema as yr, AnalyticsEventName as yt, PurchaseDecisionResult as z, categoryNodeSchema as zi, StorefrontCouponListParams as zn, PAYMENT_START_STATUS_VALUES as zr, PublicReview as zt };
5231
+ export { ANALYTICS_VISITOR_HEADER as $, storefrontCollectionSchema as $i, storefrontCouponListQuerySchema as $n, RetryPaymentRequest as $r, customInputEntrySchema as $t, FlowAction as A, CategoryNode as Ai, createCustomerInquiryRequestSchema as An, CashReceiptType as Ar, WritableReview as At, flowActionRequestSchema as B, StorefrontCollection as Bi, MyCoupon as Bn, KnownPaymentStatus as Br, updateReviewRequestSchema as Bt, myOrderSchema as C, addCartItemRequestSchema as Ca, pgProviderSchema as Ci, createInquiryRequestSchema as Cn, createClaimRequestSchema as Cr, PublicReview as Ct, commerceNumberField as D, analyticsIdsFromCookie as Da, retryPaymentRequestSchema as Di, CreateCustomerInquiryRequest as Dn, CASH_RECEIPT_METHODS as Dr, UpdateReviewRequest as Dt, trackingStageResponseSchema as E, updateCartItemRequestSchema as Ea, responsePaymentMethodSchema as Ei, publicInquirySchema as En, AvailablePaymentOption as Er, ReviewSummary as Et, FlowState as F, ProductDetail as Fi, CheckoutPricingRequest as Fn, DeliveryQuoteResult as Fr, productReviewSortSchema as Ft, flowStateSchema as G, collectionProductSortSchema as Gi, checkoutPricingSchema as Gn, PaymentMessage as Gr, AddonSelection as Gt, flowActionSchema as H, categoryNodeSchema as Hi, StorefrontCouponListParams as Hn, PAYMENT_START_STATUS_VALUES as Hr, uploadTicketSchema as Ht, GuestFlowActionRequest as I, ProductFacets as Ii, CouponApplication as In, EasyPayProvider as Ir, publicReviewSchema as It, orderStepSchema as J, productFacetsSchema as Ji, couponBenefitViewSchema as Jn, PaymentStart as Jr, CustomInputView as Jt, guestFlowActionRequestSchema as K, productCardSchema as Ki, couponApplicationListSchema as Kn, PaymentMethod as Kr, CustomInputEntry as Kt, ORDER_STEP_TYPES as L, ProductPage as Li, CouponResult as Ln, GuestInfo as Lr, reviewImageUploadRequestSchema as Lt, FlowActionResult as M, CollectionProductParams as Mi, customerInquirySchema as Mn, CheckoutSession as Mr, createReviewResultSchema as Mt, FlowFieldValue as N, CollectionProductSortParam as Ni, ApplicableCoupon as Nn, CreateCheckoutRequest as Nr, myReviewSchema as Nt, formatOrderNo as O, shippingAddressInputSchema as Oi, CustomerInquiry as On, CashReceiptIdentityType as Or, UpdateReviewResult as Ot, FlowInputField as P, ProductCard as Pi, CheckoutPricing as Pn, DeliveryQuoteRequest as Pr, productReviewQuerySchema as Pt, ANALYTICS_VISITOR_COOKIE as Q, storefrontCollectionListQuerySchema as Qi, pricingAmountsSchema as Qn, ResponsePaymentMethod as Qr, addonSelectionSchema as Qt, OrderFlowActionResult as R, ProductSearchParams as Ri, MAX_COUPONS_PER_CHECKOUT as Rn, KnownPaymentResult as Rr, reviewPageSchema as Rt, myOrderItemSchema as S, UpdateCartItemRequest as Sa, paymentStatusSchema as Si, PublicInquiry as Sn, claimTypeSchema as Sr, ProductReviewSort as St, purchaseDecisionResultSchema as T, cartSchema as Ta, residentNumberLike as Ti, productInquiryCategorySchema as Tn, myClaimSchema as Tr, ReviewPage as Tt, flowFieldValueSchema as U, collectionProductPageSchema as Ui, applicableCouponSchema as Un, PAYMENT_STATUS_VALUES as Ur, writableReviewSchema as Ut, flowActionResultSchema as V, StorefrontCollectionDetail as Vi, StorefrontCoupon as Vn, PAYMENT_RESULT_VALUES as Vr, updateReviewResultSchema as Vt, flowInputFieldSchema as W, collectionProductQuerySchema as Wi, checkoutPricingRequestSchema as Wn, PaymentFailureCategory as Wr, AddonGroupView as Wt, ANALYTICS_SESSION_COOKIE as X, productSortSchema as Xi, myCouponListQuerySchema as Xn, PgProvider as Xr, OrderInputUploadRequest as Xt, ANALYTICS_MAX_BATCH_BYTES as Y, productPageSchema as Yi, couponResultSchema as Yn, PaymentStatus as Yr, OptionSelectionView as Yt, ANALYTICS_SESSION_HEADER as Z, storefrontCollectionDetailSchema as Zi, myCouponSchema as Zn, RemoteArea as Zr, addonGroupViewSchema as Zt, MyOrder as _, productCardFulfillmentSchema as _a, paymentMethodSchema as _i, updateProfileRequestSchema as _n, CreateClaimRequest as _r, createStorefrontSession as _t, StayView as a, orderItemStatusSchema as aa, cashReceiptRequestSchema as ai, normalizeCustomInputValue as an, ConsentState as ar, analyticsBatchSchema as at, PurchaseDecisionResult as b, Cart as ba, paymentOptionSchema as bi, CreateInquiryResult as bn, claimReasonSchema as br, MyReview as bt, stayViewSchema as c, LineFulfillment as ca, checkoutSessionSchema as ci, parseCustomInputValue as cn, consentActionSchema as cr, analyticsIdSchema as ct, StorefrontPointPolicy as d, ProductCardFulfillment as da, deliveryQuoteSchema as di, MemberAddressRequest as dn, consentStateSchema as dr, StorefrontClientOptions as dt, ClaimStatus as ea, ShippingAddressInput as ei, customInputLength as en, storefrontCouponSchema as er, AnalyticsBatch as et, memberPointEntryPageSchema as f, ProductFulfillmentView as fa, easyPayProviderResponseSchema as fi, UpdateProfileRequest as fn, consentUpdateRequestSchema as fr, createStorefrontClient as ft, DeliveryTracking as g, pickupLocationViewSchema as ga, paymentMessageSchema as gi, memberSchema as gn, ClaimType as gr, StorefrontSessionOptions as gt, storefrontPointPolicySchema as h, myOrderItemFulfillmentSnapshotSchema as ha, paymentFailureCategorySchema as hi, memberAddressSchema as hn, ClaimReturnAddress as hr, StorefrontSession as ht, StayRequest as i, claimStatusSchema as ia, cashReceiptIdentityTypeOf as ii, lineSelectionResponseShape as in, ConsentSource as ir, AnalyticsServerEventName as it, FlowActionRequest as j, CollectionProductPage as ji, customerInquiryCategorySchema as jn, CheckoutDelivery as jr, createReviewRequestSchema as jt, parseOrderNo as k, startPaymentRequestSchema as ki, CustomerInquiryCategory as kn, CashReceiptRequest as kr, UploadTicket as kt, MemberPointEntry as l, MyOrderItemFulfillmentSnapshot as la, createCheckoutRequestSchema as li, Member as ln, consentKindSchema as lr, analyticsServerEventNameSchema as lt, memberPointsSchema as m, lineFulfillmentSchema as ma, guestInfoSchema as mi, memberAddressRequestSchema as mn, ClaimReason as mr, SessionStorage as mt, storefrontStoreSchema as n, PageInfo as na, availablePaymentOptionSchema as ni, customInputViewSchema as nn, ConsentAction as nr, AnalyticsClientEventName as nt, calendarDayViewSchema as o, pageInfoSchema as oa, cashReceiptTypeSchema as oi, optionSelectionViewSchema as on, ConsentUpdateRequest as or, analyticsClientEventNameSchema as ot, memberPointEntrySchema as p, UnknownFulfillmentView as pa, easyPayProviderSchema as pi, WishlistAddResult as pn, memberConsentsSchema as pr, STOREFRONT_SESSION_KEYS as pt, orderFlowActionResultSchema as q, productDetailSchema as qi, couponApplicationSchema as qn, PaymentOption as qr, CustomInputValueView as qt, CalendarDayView as r, PageParams as ra, cashReceiptAvailable as ri, lineSelectionRequestShape as rn, ConsentKind as rr, AnalyticsEventName as rt, stayRequestSchema as s, pageSchema as sa, checkoutDeliverySchema as si, orderInputUploadRequestSchema as sn, MemberConsents as sr, analyticsClientEventSchema as st, StorefrontStore as t, OrderItemStatus as ta, StartPaymentRequest as ti, customInputValueViewSchema as tn, storefrontCouponTargetSchema as tr, AnalyticsClientEvent as tt, MemberPoints as u, PickupLocationView as ua, deliveryQuoteRequestSchema as ui, MemberAddress as un, consentSourceSchema as ur, StorefrontClient as ut, MyOrderItem as v, productFulfillmentViewSchema as va, paymentOptionKey as vi, wishlistAddResultSchema as vn, CreateClaimResult as vr, CreateReviewRequest as vt, orderShippingAddressSchema as w, cartItemSchema as wa, remoteAreaSchema as wi, createInquiryResultSchema as wn, createClaimResultSchema as wr, ReviewImageUploadRequest as wt, deliveryTrackingSchema as x, CartItem as xa, paymentStartSchema as xi, ProductInquiryCategory as xn, claimReturnAddressSchema as xr, ProductReviewParams as xt, OrderShippingAddress as y, AddCartItemRequest as ya, paymentOptionListSchema as yi, CreateInquiryRequest as yn, MyClaim as yr, CreateReviewResult as yt, OrderStep as z, ProductSort as zi, MIN_PAYMENT_AMOUNT as zn, KnownPaymentStartStatus as zr, reviewSummarySchema as zt };