@zorgo/next 1.1.0 → 1.1.2

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/seo.d.mts CHANGED
@@ -1,5 +1,86 @@
1
- import { Menu } from '@zorgo/universal/utils/menuUtils';
2
- import { MenuItem } from '@zorgo/universal/interfaces';
1
+ import { MenuItem as MenuItem$1, Category, Component as Component$1, Rule as Rule$1 } from '../interfaces';
2
+
3
+ interface Menu {
4
+ items: MenuItem$1[];
5
+ categories: Category[];
6
+ components: Component$1[];
7
+ rules: Rule$1[];
8
+ }
9
+
10
+ interface ItemVariant {
11
+ item_id: number;
12
+ name: string;
13
+ price: number;
14
+ components?: Component[];
15
+ base_item_id?: number;
16
+ rules?: Rule[];
17
+ display_price?: number;
18
+ active_promo_id?: number;
19
+ }
20
+ interface MenuItem {
21
+ base_item_id: number;
22
+ category_id: number;
23
+ franchise_id: number;
24
+ name: string;
25
+ per_person?: boolean | null;
26
+ image_path?: string | null;
27
+ variants: ItemVariant[];
28
+ rules: Rule[];
29
+ description?: string | null;
30
+ active_promo_id?: number;
31
+ is_catering?: boolean;
32
+ }
33
+ interface ScalingBehavior {
34
+ headcount_threshold: number;
35
+ starting_amount: number;
36
+ step_interval: number;
37
+ step_size: number;
38
+ maximum: number | null;
39
+ }
40
+ interface Component {
41
+ id: number;
42
+ servings_per_item?: number;
43
+ is_base?: boolean;
44
+ price_per_serving?: number;
45
+ franchise_id?: number;
46
+ component_type_id: number;
47
+ serving_weight?: number;
48
+ name: string;
49
+ item_id?: number;
50
+ prep_ahead?: boolean;
51
+ measurement_type?: "weight" | "count";
52
+ display_unit?: string;
53
+ behavior?: ScalingBehavior;
54
+ }
55
+ interface Rule {
56
+ rule_id?: number;
57
+ item_id?: number;
58
+ base_item_id?: number;
59
+ category_id?: number;
60
+ group_name: string;
61
+ min_selection: number;
62
+ max_selection?: number;
63
+ included_quantity: number;
64
+ items?: RuleItem[];
65
+ components?: RuleComponent[];
66
+ }
67
+ interface RuleItem {
68
+ item_id: number;
69
+ name: string;
70
+ quantity: number;
71
+ upcharge_price: number;
72
+ description?: string | null;
73
+ behavior?: ScalingBehavior;
74
+ }
75
+ interface RuleComponent {
76
+ component_id: number;
77
+ name: string;
78
+ quantity: number;
79
+ upcharge_price: number;
80
+ description?: string | null;
81
+ behavior?: ScalingBehavior;
82
+ serving_weight?: number;
83
+ }
3
84
 
4
85
  /** Franchise-level facts for the Restaurant node. Everything but `name` is
5
86
  * optional so the schema degrades gracefully when a field is missing. */
package/dist/seo.d.ts CHANGED
@@ -1,5 +1,86 @@
1
- import { Menu } from '@zorgo/universal/utils/menuUtils';
2
- import { MenuItem } from '@zorgo/universal/interfaces';
1
+ import { MenuItem as MenuItem$1, Category, Component as Component$1, Rule as Rule$1 } from '../interfaces';
2
+
3
+ interface Menu {
4
+ items: MenuItem$1[];
5
+ categories: Category[];
6
+ components: Component$1[];
7
+ rules: Rule$1[];
8
+ }
9
+
10
+ interface ItemVariant {
11
+ item_id: number;
12
+ name: string;
13
+ price: number;
14
+ components?: Component[];
15
+ base_item_id?: number;
16
+ rules?: Rule[];
17
+ display_price?: number;
18
+ active_promo_id?: number;
19
+ }
20
+ interface MenuItem {
21
+ base_item_id: number;
22
+ category_id: number;
23
+ franchise_id: number;
24
+ name: string;
25
+ per_person?: boolean | null;
26
+ image_path?: string | null;
27
+ variants: ItemVariant[];
28
+ rules: Rule[];
29
+ description?: string | null;
30
+ active_promo_id?: number;
31
+ is_catering?: boolean;
32
+ }
33
+ interface ScalingBehavior {
34
+ headcount_threshold: number;
35
+ starting_amount: number;
36
+ step_interval: number;
37
+ step_size: number;
38
+ maximum: number | null;
39
+ }
40
+ interface Component {
41
+ id: number;
42
+ servings_per_item?: number;
43
+ is_base?: boolean;
44
+ price_per_serving?: number;
45
+ franchise_id?: number;
46
+ component_type_id: number;
47
+ serving_weight?: number;
48
+ name: string;
49
+ item_id?: number;
50
+ prep_ahead?: boolean;
51
+ measurement_type?: "weight" | "count";
52
+ display_unit?: string;
53
+ behavior?: ScalingBehavior;
54
+ }
55
+ interface Rule {
56
+ rule_id?: number;
57
+ item_id?: number;
58
+ base_item_id?: number;
59
+ category_id?: number;
60
+ group_name: string;
61
+ min_selection: number;
62
+ max_selection?: number;
63
+ included_quantity: number;
64
+ items?: RuleItem[];
65
+ components?: RuleComponent[];
66
+ }
67
+ interface RuleItem {
68
+ item_id: number;
69
+ name: string;
70
+ quantity: number;
71
+ upcharge_price: number;
72
+ description?: string | null;
73
+ behavior?: ScalingBehavior;
74
+ }
75
+ interface RuleComponent {
76
+ component_id: number;
77
+ name: string;
78
+ quantity: number;
79
+ upcharge_price: number;
80
+ description?: string | null;
81
+ behavior?: ScalingBehavior;
82
+ serving_weight?: number;
83
+ }
3
84
 
4
85
  /** Franchise-level facts for the Restaurant node. Everything but `name` is
5
86
  * optional so the schema degrades gracefully when a field is missing. */