@wix/headless-restaurants-olo 0.0.9 → 0.0.11
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/cjs/dist/react/ItemDetails.d.ts +0 -3
- package/cjs/dist/react/ItemDetails.js +2 -3
- package/cjs/dist/services/item-details-service.d.ts +3 -2
- package/cjs/dist/services/item-details-service.js +3 -8
- package/cjs/dist/services/olo-settings-service.d.ts +0 -3
- package/cjs/dist/services/olo-settings-service.js +0 -8
- package/dist/react/ItemDetails.d.ts +0 -3
- package/dist/react/ItemDetails.js +2 -3
- package/dist/services/item-details-service.d.ts +3 -2
- package/dist/services/item-details-service.js +3 -8
- package/dist/services/olo-settings-service.d.ts +0 -3
- package/dist/services/olo-settings-service.js +0 -8
- package/package.json +20 -6
|
@@ -170,9 +170,7 @@ export declare const ModifiersMultiSelect: React.ForwardRefExoticComponent<ItemD
|
|
|
170
170
|
*/
|
|
171
171
|
export interface ItemDetailsVariantsProps {
|
|
172
172
|
children?: AsChildChildren<{
|
|
173
|
-
variant: EnhancedVariant;
|
|
174
173
|
variants: EnhancedVariant[];
|
|
175
|
-
hasVariants: boolean;
|
|
176
174
|
selectedVariantId?: string;
|
|
177
175
|
onVariantChange?: (variantId: string) => void;
|
|
178
176
|
}>;
|
|
@@ -180,7 +178,6 @@ export interface ItemDetailsVariantsProps {
|
|
|
180
178
|
asChild?: boolean;
|
|
181
179
|
variantNameClassName?: string;
|
|
182
180
|
variantPriceClassName?: string;
|
|
183
|
-
emptyState?: React.ReactNode;
|
|
184
181
|
}
|
|
185
182
|
export declare const Variants: React.ForwardRefExoticComponent<ItemDetailsVariantsProps & React.RefAttributes<HTMLElement>>;
|
|
186
183
|
export interface AddToCartActionProps {
|
|
@@ -74,14 +74,13 @@ export const ModifiersMultiSelect = React.forwardRef(({ children, className, asC
|
|
|
74
74
|
} }));
|
|
75
75
|
});
|
|
76
76
|
ModifiersMultiSelect.displayName = 'ItemDetails.ModifiersMultiSelect';
|
|
77
|
-
export const Variants = React.forwardRef(({ children, className, asChild, variantNameClassName, variantPriceClassName,
|
|
77
|
+
export const Variants = React.forwardRef(({ children, className, asChild, variantNameClassName, variantPriceClassName, }, ref) => {
|
|
78
78
|
return (_jsx(CoreItemDetails.VariantsComponent, { children: ({ variants, hasVariants, selectedVariantId, onVariantChange }) => {
|
|
79
79
|
if (!hasVariants) {
|
|
80
|
-
return
|
|
80
|
+
return null;
|
|
81
81
|
}
|
|
82
82
|
return (_jsx(AsChildSlot, { ref: ref, asChild: asChild, testId: TestIds.itemVariants, className: className, customElement: children, customElementProps: {
|
|
83
83
|
variants,
|
|
84
|
-
hasVariants,
|
|
85
84
|
selectedVariantId,
|
|
86
85
|
onVariantChange,
|
|
87
86
|
}, children: _jsx(RadioGroupPrimitive.Root, { value: selectedVariantId, onValueChange: onVariantChange, children: variants.map((variant) => (_jsx(RadioGroupPrimitive.Item, { value: variant._id ?? '', children: _jsxs("div", { children: [_jsx("div", { className: variantNameClassName, children: variant.name }), _jsx("div", { className: variantPriceClassName, children: variant.priceInfo?.formattedPrice ||
|
|
@@ -56,7 +56,7 @@ export interface ItemServiceConfig {
|
|
|
56
56
|
item?: EnhancedItem;
|
|
57
57
|
itemId?: string;
|
|
58
58
|
operationId?: string;
|
|
59
|
-
|
|
59
|
+
availabilityStatus?: AvailabilityStatus;
|
|
60
60
|
}
|
|
61
61
|
export declare const ItemService: import("@wix/services-definitions").ServiceFactory<string & {
|
|
62
62
|
__api: ItemServiceAPI;
|
|
@@ -161,8 +161,9 @@ export interface NotFoundItemServiceConfigResult {
|
|
|
161
161
|
* }
|
|
162
162
|
* ```
|
|
163
163
|
*/
|
|
164
|
-
export declare function loadItemServiceConfig({ item, operationId, }: {
|
|
164
|
+
export declare function loadItemServiceConfig({ item, operationId, availabilityStatus, }: {
|
|
165
165
|
item: EnhancedItem;
|
|
166
166
|
operationId: string;
|
|
167
|
+
availabilityStatus?: AvailabilityStatus;
|
|
167
168
|
}): ItemServiceConfig;
|
|
168
169
|
export {};
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { defineService, implementService } from '@wix/services-definitions';
|
|
2
2
|
import { SignalsServiceDefinition, } from '@wix/services-definitions/core-services/signals';
|
|
3
|
-
import { OLOSettingsServiceDefinition } from './olo-settings-service.js';
|
|
4
3
|
import { AvailabilityStatus } from './common-types.js';
|
|
5
4
|
import { getModifiersInitState } from './utils.js';
|
|
6
5
|
/**
|
|
@@ -46,11 +45,7 @@ export const ItemServiceDefinition = defineService('item');
|
|
|
46
45
|
const APP_ID = '9a5d83fd-8570-482e-81ab-cfa88942ee60';
|
|
47
46
|
export const ItemService = implementService.withConfig()(ItemServiceDefinition, ({ getService, config }) => {
|
|
48
47
|
const signalsService = getService(SignalsServiceDefinition);
|
|
49
|
-
const
|
|
50
|
-
const getAvailabilityStatusFn = oloSettingsService.getAvailabilityStatus?.get?.();
|
|
51
|
-
const initialAvailabilityStatus = getAvailabilityStatusFn?.(config.menuId ?? '') ??
|
|
52
|
-
AvailabilityStatus.AVAILABLE;
|
|
53
|
-
const availabilityStatus = signalsService.signal(initialAvailabilityStatus);
|
|
48
|
+
const availabilityStatus = signalsService.signal(config.availabilityStatus ?? AvailabilityStatus.AVAILABLE);
|
|
54
49
|
const item = signalsService.signal(config.item);
|
|
55
50
|
const isLoading = signalsService.signal(!!config.item);
|
|
56
51
|
const error = signalsService.signal(config.item ? null : 'Item not found');
|
|
@@ -233,8 +228,8 @@ export const ItemService = implementService.withConfig()(ItemServiceDefinition,
|
|
|
233
228
|
* }
|
|
234
229
|
* ```
|
|
235
230
|
*/
|
|
236
|
-
export function loadItemServiceConfig({ item, operationId, }) {
|
|
237
|
-
return { item, operationId };
|
|
231
|
+
export function loadItemServiceConfig({ item, operationId, availabilityStatus = AvailabilityStatus.AVAILABLE, }) {
|
|
232
|
+
return { item, operationId, availabilityStatus };
|
|
238
233
|
}
|
|
239
234
|
// try {
|
|
240
235
|
// if (item === null) {
|
|
@@ -1,20 +1,17 @@
|
|
|
1
1
|
import * as operationGroupsApi from '@wix/auto_sdk_restaurants_operation-groups';
|
|
2
2
|
import * as operationsApi from '@wix/auto_sdk_restaurants_operations';
|
|
3
3
|
import { type Signal } from '@wix/services-definitions/core-services/signals';
|
|
4
|
-
import { AvailabilityStatus } from './common-types.js';
|
|
5
4
|
export interface OLOSettingsServiceAPI {
|
|
6
5
|
operationGroup: Signal<operationGroupsApi.OperationGroup | undefined>;
|
|
7
6
|
operation: Signal<operationsApi.Operation | undefined>;
|
|
8
7
|
selectedItem?: Signal<unknown>;
|
|
9
8
|
isLoading: Signal<boolean>;
|
|
10
9
|
error: Signal<string | null>;
|
|
11
|
-
getAvailabilityStatus: Signal<(menuId: string) => AvailabilityStatus>;
|
|
12
10
|
availabilityDispatchAction?: Signal<(() => void) | undefined>;
|
|
13
11
|
}
|
|
14
12
|
export interface OLOSettingsServiceConfig {
|
|
15
13
|
operationGroup?: operationGroupsApi.OperationGroup;
|
|
16
14
|
operation?: operationsApi.Operation;
|
|
17
|
-
availabilityStatusMenuMap: Record<string, AvailabilityStatus>;
|
|
18
15
|
availabilityDispatchAction?: () => void;
|
|
19
16
|
}
|
|
20
17
|
export declare const OLOSettingsServiceDefinition: string & {
|
|
@@ -2,29 +2,21 @@ import { defineService, implementService } from '@wix/services-definitions';
|
|
|
2
2
|
import * as operationGroupsApi from '@wix/auto_sdk_restaurants_operation-groups';
|
|
3
3
|
import * as operationsApi from '@wix/auto_sdk_restaurants_operations';
|
|
4
4
|
import { SignalsServiceDefinition, } from '@wix/services-definitions/core-services/signals';
|
|
5
|
-
import { AvailabilityStatus } from './common-types.js';
|
|
6
5
|
export const OLOSettingsServiceDefinition = defineService('oloSettings');
|
|
7
6
|
export const OLOSettingsService = implementService.withConfig()(OLOSettingsServiceDefinition, ({ getService, config }) => {
|
|
8
7
|
const signalsService = getService(SignalsServiceDefinition);
|
|
9
|
-
const availabilityStatusMenuMap = signalsService.signal(config.availabilityStatusMenuMap);
|
|
10
8
|
const availabilityDispatchAction = signalsService.signal(config.availabilityDispatchAction);
|
|
11
9
|
const operationGroup = signalsService.signal(config.operationGroup);
|
|
12
10
|
const operation = signalsService.signal(config.operation);
|
|
13
11
|
const selectedItem = signalsService.signal(null);
|
|
14
12
|
const isLoading = signalsService.signal(false);
|
|
15
13
|
const error = signalsService.signal(null);
|
|
16
|
-
const getAvailabilityStatusFn = (menuId) => {
|
|
17
|
-
return (availabilityStatusMenuMap.get()?.[menuId] ??
|
|
18
|
-
AvailabilityStatus.AVAILABLE);
|
|
19
|
-
};
|
|
20
|
-
const getAvailabilityStatus = signalsService.signal(getAvailabilityStatusFn);
|
|
21
14
|
return {
|
|
22
15
|
operationGroup,
|
|
23
16
|
operation,
|
|
24
17
|
isLoading,
|
|
25
18
|
error,
|
|
26
19
|
selectedItem,
|
|
27
|
-
getAvailabilityStatus,
|
|
28
20
|
availabilityDispatchAction,
|
|
29
21
|
};
|
|
30
22
|
});
|
|
@@ -170,9 +170,7 @@ export declare const ModifiersMultiSelect: React.ForwardRefExoticComponent<ItemD
|
|
|
170
170
|
*/
|
|
171
171
|
export interface ItemDetailsVariantsProps {
|
|
172
172
|
children?: AsChildChildren<{
|
|
173
|
-
variant: EnhancedVariant;
|
|
174
173
|
variants: EnhancedVariant[];
|
|
175
|
-
hasVariants: boolean;
|
|
176
174
|
selectedVariantId?: string;
|
|
177
175
|
onVariantChange?: (variantId: string) => void;
|
|
178
176
|
}>;
|
|
@@ -180,7 +178,6 @@ export interface ItemDetailsVariantsProps {
|
|
|
180
178
|
asChild?: boolean;
|
|
181
179
|
variantNameClassName?: string;
|
|
182
180
|
variantPriceClassName?: string;
|
|
183
|
-
emptyState?: React.ReactNode;
|
|
184
181
|
}
|
|
185
182
|
export declare const Variants: React.ForwardRefExoticComponent<ItemDetailsVariantsProps & React.RefAttributes<HTMLElement>>;
|
|
186
183
|
export interface AddToCartActionProps {
|
|
@@ -74,14 +74,13 @@ export const ModifiersMultiSelect = React.forwardRef(({ children, className, asC
|
|
|
74
74
|
} }));
|
|
75
75
|
});
|
|
76
76
|
ModifiersMultiSelect.displayName = 'ItemDetails.ModifiersMultiSelect';
|
|
77
|
-
export const Variants = React.forwardRef(({ children, className, asChild, variantNameClassName, variantPriceClassName,
|
|
77
|
+
export const Variants = React.forwardRef(({ children, className, asChild, variantNameClassName, variantPriceClassName, }, ref) => {
|
|
78
78
|
return (_jsx(CoreItemDetails.VariantsComponent, { children: ({ variants, hasVariants, selectedVariantId, onVariantChange }) => {
|
|
79
79
|
if (!hasVariants) {
|
|
80
|
-
return
|
|
80
|
+
return null;
|
|
81
81
|
}
|
|
82
82
|
return (_jsx(AsChildSlot, { ref: ref, asChild: asChild, testId: TestIds.itemVariants, className: className, customElement: children, customElementProps: {
|
|
83
83
|
variants,
|
|
84
|
-
hasVariants,
|
|
85
84
|
selectedVariantId,
|
|
86
85
|
onVariantChange,
|
|
87
86
|
}, children: _jsx(RadioGroupPrimitive.Root, { value: selectedVariantId, onValueChange: onVariantChange, children: variants.map((variant) => (_jsx(RadioGroupPrimitive.Item, { value: variant._id ?? '', children: _jsxs("div", { children: [_jsx("div", { className: variantNameClassName, children: variant.name }), _jsx("div", { className: variantPriceClassName, children: variant.priceInfo?.formattedPrice ||
|
|
@@ -56,7 +56,7 @@ export interface ItemServiceConfig {
|
|
|
56
56
|
item?: EnhancedItem;
|
|
57
57
|
itemId?: string;
|
|
58
58
|
operationId?: string;
|
|
59
|
-
|
|
59
|
+
availabilityStatus?: AvailabilityStatus;
|
|
60
60
|
}
|
|
61
61
|
export declare const ItemService: import("@wix/services-definitions").ServiceFactory<string & {
|
|
62
62
|
__api: ItemServiceAPI;
|
|
@@ -161,8 +161,9 @@ export interface NotFoundItemServiceConfigResult {
|
|
|
161
161
|
* }
|
|
162
162
|
* ```
|
|
163
163
|
*/
|
|
164
|
-
export declare function loadItemServiceConfig({ item, operationId, }: {
|
|
164
|
+
export declare function loadItemServiceConfig({ item, operationId, availabilityStatus, }: {
|
|
165
165
|
item: EnhancedItem;
|
|
166
166
|
operationId: string;
|
|
167
|
+
availabilityStatus?: AvailabilityStatus;
|
|
167
168
|
}): ItemServiceConfig;
|
|
168
169
|
export {};
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { defineService, implementService } from '@wix/services-definitions';
|
|
2
2
|
import { SignalsServiceDefinition, } from '@wix/services-definitions/core-services/signals';
|
|
3
|
-
import { OLOSettingsServiceDefinition } from './olo-settings-service.js';
|
|
4
3
|
import { AvailabilityStatus } from './common-types.js';
|
|
5
4
|
import { getModifiersInitState } from './utils.js';
|
|
6
5
|
/**
|
|
@@ -46,11 +45,7 @@ export const ItemServiceDefinition = defineService('item');
|
|
|
46
45
|
const APP_ID = '9a5d83fd-8570-482e-81ab-cfa88942ee60';
|
|
47
46
|
export const ItemService = implementService.withConfig()(ItemServiceDefinition, ({ getService, config }) => {
|
|
48
47
|
const signalsService = getService(SignalsServiceDefinition);
|
|
49
|
-
const
|
|
50
|
-
const getAvailabilityStatusFn = oloSettingsService.getAvailabilityStatus?.get?.();
|
|
51
|
-
const initialAvailabilityStatus = getAvailabilityStatusFn?.(config.menuId ?? '') ??
|
|
52
|
-
AvailabilityStatus.AVAILABLE;
|
|
53
|
-
const availabilityStatus = signalsService.signal(initialAvailabilityStatus);
|
|
48
|
+
const availabilityStatus = signalsService.signal(config.availabilityStatus ?? AvailabilityStatus.AVAILABLE);
|
|
54
49
|
const item = signalsService.signal(config.item);
|
|
55
50
|
const isLoading = signalsService.signal(!!config.item);
|
|
56
51
|
const error = signalsService.signal(config.item ? null : 'Item not found');
|
|
@@ -233,8 +228,8 @@ export const ItemService = implementService.withConfig()(ItemServiceDefinition,
|
|
|
233
228
|
* }
|
|
234
229
|
* ```
|
|
235
230
|
*/
|
|
236
|
-
export function loadItemServiceConfig({ item, operationId, }) {
|
|
237
|
-
return { item, operationId };
|
|
231
|
+
export function loadItemServiceConfig({ item, operationId, availabilityStatus = AvailabilityStatus.AVAILABLE, }) {
|
|
232
|
+
return { item, operationId, availabilityStatus };
|
|
238
233
|
}
|
|
239
234
|
// try {
|
|
240
235
|
// if (item === null) {
|
|
@@ -1,20 +1,17 @@
|
|
|
1
1
|
import * as operationGroupsApi from '@wix/auto_sdk_restaurants_operation-groups';
|
|
2
2
|
import * as operationsApi from '@wix/auto_sdk_restaurants_operations';
|
|
3
3
|
import { type Signal } from '@wix/services-definitions/core-services/signals';
|
|
4
|
-
import { AvailabilityStatus } from './common-types.js';
|
|
5
4
|
export interface OLOSettingsServiceAPI {
|
|
6
5
|
operationGroup: Signal<operationGroupsApi.OperationGroup | undefined>;
|
|
7
6
|
operation: Signal<operationsApi.Operation | undefined>;
|
|
8
7
|
selectedItem?: Signal<unknown>;
|
|
9
8
|
isLoading: Signal<boolean>;
|
|
10
9
|
error: Signal<string | null>;
|
|
11
|
-
getAvailabilityStatus: Signal<(menuId: string) => AvailabilityStatus>;
|
|
12
10
|
availabilityDispatchAction?: Signal<(() => void) | undefined>;
|
|
13
11
|
}
|
|
14
12
|
export interface OLOSettingsServiceConfig {
|
|
15
13
|
operationGroup?: operationGroupsApi.OperationGroup;
|
|
16
14
|
operation?: operationsApi.Operation;
|
|
17
|
-
availabilityStatusMenuMap: Record<string, AvailabilityStatus>;
|
|
18
15
|
availabilityDispatchAction?: () => void;
|
|
19
16
|
}
|
|
20
17
|
export declare const OLOSettingsServiceDefinition: string & {
|
|
@@ -2,29 +2,21 @@ import { defineService, implementService } from '@wix/services-definitions';
|
|
|
2
2
|
import * as operationGroupsApi from '@wix/auto_sdk_restaurants_operation-groups';
|
|
3
3
|
import * as operationsApi from '@wix/auto_sdk_restaurants_operations';
|
|
4
4
|
import { SignalsServiceDefinition, } from '@wix/services-definitions/core-services/signals';
|
|
5
|
-
import { AvailabilityStatus } from './common-types.js';
|
|
6
5
|
export const OLOSettingsServiceDefinition = defineService('oloSettings');
|
|
7
6
|
export const OLOSettingsService = implementService.withConfig()(OLOSettingsServiceDefinition, ({ getService, config }) => {
|
|
8
7
|
const signalsService = getService(SignalsServiceDefinition);
|
|
9
|
-
const availabilityStatusMenuMap = signalsService.signal(config.availabilityStatusMenuMap);
|
|
10
8
|
const availabilityDispatchAction = signalsService.signal(config.availabilityDispatchAction);
|
|
11
9
|
const operationGroup = signalsService.signal(config.operationGroup);
|
|
12
10
|
const operation = signalsService.signal(config.operation);
|
|
13
11
|
const selectedItem = signalsService.signal(null);
|
|
14
12
|
const isLoading = signalsService.signal(false);
|
|
15
13
|
const error = signalsService.signal(null);
|
|
16
|
-
const getAvailabilityStatusFn = (menuId) => {
|
|
17
|
-
return (availabilityStatusMenuMap.get()?.[menuId] ??
|
|
18
|
-
AvailabilityStatus.AVAILABLE);
|
|
19
|
-
};
|
|
20
|
-
const getAvailabilityStatus = signalsService.signal(getAvailabilityStatusFn);
|
|
21
14
|
return {
|
|
22
15
|
operationGroup,
|
|
23
16
|
operation,
|
|
24
17
|
isLoading,
|
|
25
18
|
error,
|
|
26
19
|
selectedItem,
|
|
27
|
-
getAvailabilityStatus,
|
|
28
20
|
availabilityDispatchAction,
|
|
29
21
|
};
|
|
30
22
|
});
|
package/package.json
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wix/headless-restaurants-olo",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.11",
|
|
4
|
+
"license": "MIT",
|
|
4
5
|
"type": "module",
|
|
5
6
|
"scripts": {
|
|
7
|
+
"prebuild": "cd ../components && yarn build && cd ../ecom && yarn build",
|
|
6
8
|
"build": "npm run build:esm && npm run build:cjs",
|
|
7
9
|
"build:esm": "tsc -p tsconfig.json",
|
|
8
10
|
"build:cjs": "tsc -p tsconfig.cjs.json",
|
|
@@ -52,9 +54,10 @@
|
|
|
52
54
|
"@radix-ui/react-radio-group": "^1.1.3",
|
|
53
55
|
"@radix-ui/react-slot": "^1.1.0",
|
|
54
56
|
"@wix/auto_sdk_restaurants_items": "^1.0.48",
|
|
55
|
-
"@wix/
|
|
56
|
-
"@wix/headless-
|
|
57
|
-
"@wix/headless-
|
|
57
|
+
"@wix/ecom": "^1.0.1461",
|
|
58
|
+
"@wix/headless-media": "0.0.16",
|
|
59
|
+
"@wix/headless-restaurants-menus": "0.0.16",
|
|
60
|
+
"@wix/headless-utils": "0.0.5",
|
|
58
61
|
"@wix/redirects": "^1.0.0",
|
|
59
62
|
"@wix/restaurants": "^1.0.396",
|
|
60
63
|
"@wix/sdk": "^1.15.24",
|
|
@@ -62,6 +65,17 @@
|
|
|
62
65
|
"@wix/services-manager-react": "^0.1.26"
|
|
63
66
|
},
|
|
64
67
|
"peerDependencies": {
|
|
65
|
-
"@wix/headless-components": "
|
|
66
|
-
}
|
|
68
|
+
"@wix/headless-components": "workspace:*"
|
|
69
|
+
},
|
|
70
|
+
"publishConfig": {
|
|
71
|
+
"registry": "https://registry.npmjs.org/",
|
|
72
|
+
"access": "public"
|
|
73
|
+
},
|
|
74
|
+
"wix": {
|
|
75
|
+
"artifact": {
|
|
76
|
+
"artifactId": "headless-restaurants-olo",
|
|
77
|
+
"groupId": "com.wixpress.headless-components"
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
"falconPackageHash": "2d2558a11db850641d49ff82441dcc3602297af366ec993cc9b50d7e"
|
|
67
81
|
}
|