sera-components 1.8.2 → 1.8.4
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/form/composite-items/address-form-item/address-form-field.d.ts +13 -0
- package/dist/form/composite-items/address-form-item/index.d.ts +4 -0
- package/dist/form/composite-items/address-form-item/select-input.d.ts +16 -0
- package/dist/form/composite-items/address-form-item/types.d.ts +137 -0
- package/dist/form/index.d.ts +1 -0
- package/dist/index.js +6090 -2830
- package/dist/index.umd.cjs +36 -7
- package/dist/search/search.d.ts +4 -2
- package/dist/table/table-action.d.ts +9 -1
- package/package.json +1 -1
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Table, DraftRecord, GenericRecord } from 'sera-db';
|
|
2
|
+
import { Country, AdminLevel1, AdminLevel2, AddressProperties } from './types';
|
|
3
|
+
export interface AddressFormItemProps<ID extends string | number, R extends GenericRecord<ID, DR>, DR extends DraftRecord<ID>> {
|
|
4
|
+
store: Table<ID, R, DR>;
|
|
5
|
+
record: R | DR;
|
|
6
|
+
properties: AddressProperties;
|
|
7
|
+
countries: Record<string | number, Country>;
|
|
8
|
+
getAdminLevel1sByCountry: (countryId: string | number) => Promise<AdminLevel1[]>;
|
|
9
|
+
searchAdminLevel2?: (query: string, countryId: string | number, admin1Id?: string | number) => Promise<AdminLevel2[]>;
|
|
10
|
+
}
|
|
11
|
+
export declare const AddressFormItem: (<ID extends string | number, R extends GenericRecord<ID, DR>, DR extends DraftRecord<ID>>({ store, record, properties, getAdminLevel1sByCountry, countries, }: AddressFormItemProps<ID, R, DR>) => import("react/jsx-runtime").JSX.Element) & {
|
|
12
|
+
displayName: string;
|
|
13
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { Table, DraftRecord, GenericRecord } from 'sera-db';
|
|
3
|
+
import { AddressFormItemProps } from './address-form-field';
|
|
4
|
+
export declare function makeAddressFormItem<ID extends string | number, R extends GenericRecord<ID, DR>, DR extends DraftRecord<ID>>({ properties, countries, getAdminLevel1sByCountry, searchAdminLevel2, }: Omit<AddressFormItemProps<ID, R, DR>, "store" | "record">): (store: Table<ID, R, DR>, record: R | DR) => React.ReactNode;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { InputInterface } from '../../../data/inputs';
|
|
2
|
+
import { MultiLingualString as MLS } from 'sera-db';
|
|
3
|
+
export interface SelectInputContextProps<T extends {
|
|
4
|
+
id: string | number;
|
|
5
|
+
name: string;
|
|
6
|
+
}> {
|
|
7
|
+
/** Fetches available options asynchronously */
|
|
8
|
+
fetchOptions: () => Promise<T[]>;
|
|
9
|
+
/** Custom placeholder */
|
|
10
|
+
placeholder?: MLS;
|
|
11
|
+
}
|
|
12
|
+
export declare const SelectInputContext: import('react').Context<SelectInputContextProps<any>>;
|
|
13
|
+
export declare function SelectInputComponent<T extends {
|
|
14
|
+
id: string | number;
|
|
15
|
+
name: string;
|
|
16
|
+
}>({ value, onChange, freeze }: InputInterface<string | number | undefined>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { MultiLingualString as MLS, NestedProperty, DataProperty, ObjectProperty } from 'sera-db';
|
|
2
|
+
export type ID = string | number;
|
|
3
|
+
export interface AddressProperties {
|
|
4
|
+
country: NestedProperty | DataProperty | ObjectProperty;
|
|
5
|
+
administrativeAreaLevel1: NestedProperty | DataProperty | ObjectProperty;
|
|
6
|
+
administrativeAreaLevel2?: NestedProperty | DataProperty | ObjectProperty;
|
|
7
|
+
administrativeAreaLevel3?: NestedProperty | DataProperty | ObjectProperty;
|
|
8
|
+
streetAddress: NestedProperty | DataProperty | ObjectProperty;
|
|
9
|
+
streetAddressLine2?: NestedProperty | DataProperty | ObjectProperty;
|
|
10
|
+
postalCode?: NestedProperty | DataProperty | ObjectProperty;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* CountryAddressFormat enum defines which address fields to hide.
|
|
14
|
+
*
|
|
15
|
+
* Each format hides specific fields while showing all others:
|
|
16
|
+
* - NoPostalCode: Hide postal code (e.g., Vietnam)
|
|
17
|
+
* - NoAdminLevel2: Hide district/county level (e.g., US)
|
|
18
|
+
* - NoAdminLevel3: Hide ward/township level (most countries)
|
|
19
|
+
* - NoStreetLine2: Hide address line 2
|
|
20
|
+
* - NoPreference: Show all fields
|
|
21
|
+
*/
|
|
22
|
+
export declare enum AddressInputPreference {
|
|
23
|
+
NoPostalCode = "NoPostalCode",
|
|
24
|
+
NoAdminLevel2 = "NoAdminLevel2",
|
|
25
|
+
NoAdminLevel3 = "NoAdminLevel3",
|
|
26
|
+
NoStreetAddressLine2 = "NoStreetAddressLine2",
|
|
27
|
+
NoPreference = "NoPreference"
|
|
28
|
+
}
|
|
29
|
+
export interface CountryAddressConfig {
|
|
30
|
+
displayAdmin2: boolean;
|
|
31
|
+
displayAdmin3: boolean;
|
|
32
|
+
displayPostalCode: boolean;
|
|
33
|
+
displayStreetLine2: boolean;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Map CountryAddressFormat enum to CountryAddressConfig.
|
|
37
|
+
* Each entry defines visibility of all address fields for that format.
|
|
38
|
+
*/
|
|
39
|
+
export declare const ADDRESS_FORMAT_CONFIG: {
|
|
40
|
+
NoPostalCode: {
|
|
41
|
+
displayAdmin2: boolean;
|
|
42
|
+
displayAdmin3: boolean;
|
|
43
|
+
displayPostalCode: boolean;
|
|
44
|
+
displayStreetLine2: boolean;
|
|
45
|
+
};
|
|
46
|
+
NoAdminLevel2: {
|
|
47
|
+
displayAdmin2: boolean;
|
|
48
|
+
displayAdmin3: boolean;
|
|
49
|
+
displayPostalCode: boolean;
|
|
50
|
+
displayStreetLine2: boolean;
|
|
51
|
+
};
|
|
52
|
+
NoAdminLevel3: {
|
|
53
|
+
displayAdmin2: boolean;
|
|
54
|
+
displayAdmin3: boolean;
|
|
55
|
+
displayPostalCode: boolean;
|
|
56
|
+
displayStreetLine2: boolean;
|
|
57
|
+
};
|
|
58
|
+
NoStreetAddressLine2: {
|
|
59
|
+
displayAdmin2: boolean;
|
|
60
|
+
displayAdmin3: boolean;
|
|
61
|
+
displayPostalCode: boolean;
|
|
62
|
+
displayStreetLine2: boolean;
|
|
63
|
+
};
|
|
64
|
+
NoPreference: {
|
|
65
|
+
displayAdmin2: boolean;
|
|
66
|
+
displayAdmin3: boolean;
|
|
67
|
+
displayPostalCode: boolean;
|
|
68
|
+
displayStreetLine2: boolean;
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
export interface Country {
|
|
72
|
+
id: ID;
|
|
73
|
+
name: string;
|
|
74
|
+
addressInputPreference: AddressInputPreference;
|
|
75
|
+
}
|
|
76
|
+
export interface AdminLevel1 {
|
|
77
|
+
id: ID;
|
|
78
|
+
name: string;
|
|
79
|
+
}
|
|
80
|
+
export interface AdminLevel2 {
|
|
81
|
+
id: ID;
|
|
82
|
+
name: string;
|
|
83
|
+
countryId: ID;
|
|
84
|
+
adminLevel1Id: ID;
|
|
85
|
+
}
|
|
86
|
+
export declare const AddressFormLabels: {
|
|
87
|
+
country: {
|
|
88
|
+
lang: string;
|
|
89
|
+
lang2value: {
|
|
90
|
+
en: string;
|
|
91
|
+
vi: string;
|
|
92
|
+
};
|
|
93
|
+
};
|
|
94
|
+
adminLevel1: {
|
|
95
|
+
lang: string;
|
|
96
|
+
lang2value: {
|
|
97
|
+
en: string;
|
|
98
|
+
vi: string;
|
|
99
|
+
};
|
|
100
|
+
};
|
|
101
|
+
adminLevel2: {
|
|
102
|
+
lang: string;
|
|
103
|
+
lang2value: {
|
|
104
|
+
en: string;
|
|
105
|
+
vi: string;
|
|
106
|
+
};
|
|
107
|
+
};
|
|
108
|
+
adminLevel3: {
|
|
109
|
+
lang: string;
|
|
110
|
+
lang2value: {
|
|
111
|
+
en: string;
|
|
112
|
+
vi: string;
|
|
113
|
+
};
|
|
114
|
+
};
|
|
115
|
+
streetAddress: {
|
|
116
|
+
lang: string;
|
|
117
|
+
lang2value: {
|
|
118
|
+
en: string;
|
|
119
|
+
vi: string;
|
|
120
|
+
};
|
|
121
|
+
};
|
|
122
|
+
streetAddressLine2: {
|
|
123
|
+
lang: string;
|
|
124
|
+
lang2value: {
|
|
125
|
+
en: string;
|
|
126
|
+
vi: string;
|
|
127
|
+
};
|
|
128
|
+
};
|
|
129
|
+
postalCode: {
|
|
130
|
+
lang: string;
|
|
131
|
+
lang2value: {
|
|
132
|
+
en: string;
|
|
133
|
+
vi: string;
|
|
134
|
+
};
|
|
135
|
+
};
|
|
136
|
+
};
|
|
137
|
+
export declare const AddressPlaceholders: Record<string, MLS>;
|
package/dist/form/index.d.ts
CHANGED