@seepmaini/stencil-recipe-components 0.0.1
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/LICENSE +21 -0
- package/dist/cjs/app-globals-V2Kpy_OQ.js +5 -0
- package/dist/cjs/index-BgGiRDlK.js +1502 -0
- package/dist/cjs/index.cjs.js +7 -0
- package/dist/cjs/loader.cjs.js +13 -0
- package/dist/cjs/my-component.cjs.entry.js +33 -0
- package/dist/cjs/no-recipe-found.cjs.entry.js +25 -0
- package/dist/cjs/recipe-browser.cjs.entry.js +64 -0
- package/dist/cjs/recipe-button.cjs.entry.js +24 -0
- package/dist/cjs/recipe-card.cjs.entry.js +78 -0
- package/dist/cjs/recipe-form-section.cjs.entry.js +20 -0
- package/dist/cjs/recipe-input.cjs.entry.js +24 -0
- package/dist/cjs/recipe-navbar.cjs.entry.js +30 -0
- package/dist/cjs/recipe-textarea.cjs.entry.js +23 -0
- package/dist/cjs/search-food.cjs.entry.js +36 -0
- package/dist/cjs/stencil-recipe-components.cjs.js +25 -0
- package/dist/collection/collection-manifest.json +22 -0
- package/dist/collection/components/my-component/my-component.cmp.test.js +27 -0
- package/dist/collection/components/my-component/my-component.css +3 -0
- package/dist/collection/components/my-component/my-component.js +95 -0
- package/dist/collection/components/no-recipe-found/no-recipe-found.css +76 -0
- package/dist/collection/components/no-recipe-found/no-recipe-found.js +107 -0
- package/dist/collection/components/recipe-browser/recipe-browser.css +183 -0
- package/dist/collection/components/recipe-browser/recipe-browser.js +220 -0
- package/dist/collection/components/recipe-button/recipe-button.css +34 -0
- package/dist/collection/components/recipe-button/recipe-button.js +89 -0
- package/dist/collection/components/recipe-card/recipe-card.css +207 -0
- package/dist/collection/components/recipe-card/recipe-card.js +260 -0
- package/dist/collection/components/recipe-form-section/recipe-form-section.css +54 -0
- package/dist/collection/components/recipe-form-section/recipe-form-section.js +82 -0
- package/dist/collection/components/recipe-input/recipe-input.css +47 -0
- package/dist/collection/components/recipe-input/recipe-input.js +167 -0
- package/dist/collection/components/recipe-navbar/recipe-navbar.css +56 -0
- package/dist/collection/components/recipe-navbar/recipe-navbar.js +55 -0
- package/dist/collection/components/recipe-textarea/recipe-textarea.css +43 -0
- package/dist/collection/components/recipe-textarea/recipe-textarea.js +146 -0
- package/dist/collection/components/search-food/search-food.css +117 -0
- package/dist/collection/components/search-food/search-food.js +92 -0
- package/dist/collection/index.js +10 -0
- package/dist/collection/utils/utils.js +3 -0
- package/dist/collection/utils/utils.unit.test.js +16 -0
- package/dist/components/index.d.ts +35 -0
- package/dist/components/index.js +1 -0
- package/dist/components/my-component.d.ts +11 -0
- package/dist/components/my-component.js +1 -0
- package/dist/components/no-recipe-found.d.ts +11 -0
- package/dist/components/no-recipe-found.js +1 -0
- package/dist/components/p-DlkZDAps.js +1 -0
- package/dist/components/recipe-browser.d.ts +11 -0
- package/dist/components/recipe-browser.js +1 -0
- package/dist/components/recipe-button.d.ts +11 -0
- package/dist/components/recipe-button.js +1 -0
- package/dist/components/recipe-card.d.ts +11 -0
- package/dist/components/recipe-card.js +1 -0
- package/dist/components/recipe-form-section.d.ts +11 -0
- package/dist/components/recipe-form-section.js +1 -0
- package/dist/components/recipe-input.d.ts +11 -0
- package/dist/components/recipe-input.js +1 -0
- package/dist/components/recipe-navbar.d.ts +11 -0
- package/dist/components/recipe-navbar.js +1 -0
- package/dist/components/recipe-textarea.d.ts +11 -0
- package/dist/components/recipe-textarea.js +1 -0
- package/dist/components/search-food.d.ts +11 -0
- package/dist/components/search-food.js +1 -0
- package/dist/esm/app-globals-DQuL1Twl.js +3 -0
- package/dist/esm/index-DxpnpZMq.js +1495 -0
- package/dist/esm/index.js +5 -0
- package/dist/esm/loader.js +11 -0
- package/dist/esm/my-component.entry.js +31 -0
- package/dist/esm/no-recipe-found.entry.js +23 -0
- package/dist/esm/recipe-browser.entry.js +62 -0
- package/dist/esm/recipe-button.entry.js +22 -0
- package/dist/esm/recipe-card.entry.js +76 -0
- package/dist/esm/recipe-form-section.entry.js +18 -0
- package/dist/esm/recipe-input.entry.js +22 -0
- package/dist/esm/recipe-navbar.entry.js +28 -0
- package/dist/esm/recipe-textarea.entry.js +21 -0
- package/dist/esm/search-food.entry.js +34 -0
- package/dist/esm/stencil-recipe-components.js +21 -0
- package/dist/index.cjs.js +1 -0
- package/dist/index.js +1 -0
- package/dist/stencil-recipe-components/index.esm.js +1 -0
- package/dist/stencil-recipe-components/p-06b59cd5.entry.js +1 -0
- package/dist/stencil-recipe-components/p-2289adb0.entry.js +1 -0
- package/dist/stencil-recipe-components/p-5df4665a.entry.js +1 -0
- package/dist/stencil-recipe-components/p-83e3c89d.entry.js +1 -0
- package/dist/stencil-recipe-components/p-87586541.entry.js +1 -0
- package/dist/stencil-recipe-components/p-969201bf.entry.js +1 -0
- package/dist/stencil-recipe-components/p-DQuL1Twl.js +1 -0
- package/dist/stencil-recipe-components/p-DxpnpZMq.js +3 -0
- package/dist/stencil-recipe-components/p-b5c77a1a.entry.js +1 -0
- package/dist/stencil-recipe-components/p-c8a44beb.entry.js +1 -0
- package/dist/stencil-recipe-components/p-efd4f7bb.entry.js +1 -0
- package/dist/stencil-recipe-components/p-f5524ed4.entry.js +1 -0
- package/dist/stencil-recipe-components/stencil-recipe-components.esm.js +1 -0
- package/dist/types/components/my-component/my-component.cmp.test.d.ts +1 -0
- package/dist/types/components/my-component/my-component.d.ts +16 -0
- package/dist/types/components/no-recipe-found/no-recipe-found.d.ts +9 -0
- package/dist/types/components/recipe-browser/recipe-browser.d.ts +21 -0
- package/dist/types/components/recipe-button/recipe-button.d.ts +6 -0
- package/dist/types/components/recipe-card/recipe-card.d.ts +34 -0
- package/dist/types/components/recipe-form-section/recipe-form-section.d.ts +6 -0
- package/dist/types/components/recipe-input/recipe-input.d.ts +10 -0
- package/dist/types/components/recipe-navbar/recipe-navbar.d.ts +4 -0
- package/dist/types/components/recipe-textarea/recipe-textarea.d.ts +9 -0
- package/dist/types/components/search-food/search-food.d.ts +10 -0
- package/dist/types/components.d.ts +558 -0
- package/dist/types/index.d.ts +11 -0
- package/dist/types/stencil-public-runtime.d.ts +1872 -0
- package/dist/types/utils/utils.d.ts +1 -0
- package/dist/types/utils/utils.unit.test.d.ts +1 -0
- package/loader/cdn.js +1 -0
- package/loader/index.cjs.js +1 -0
- package/loader/index.d.ts +24 -0
- package/loader/index.es2017.js +1 -0
- package/loader/index.js +2 -0
- package/package.json +82 -0
- package/readme.md +111 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { EventEmitter } from '../../stencil-public-runtime';
|
|
2
|
+
export type RecipeBrowseType = 'category' | 'area' | 'ingredient';
|
|
3
|
+
export interface RecipeBrowseEvent {
|
|
4
|
+
type: RecipeBrowseType;
|
|
5
|
+
value: string;
|
|
6
|
+
}
|
|
7
|
+
export declare class RecipeBrowser {
|
|
8
|
+
categories: string[];
|
|
9
|
+
areas: string[];
|
|
10
|
+
ingredients: string[];
|
|
11
|
+
selectedCategory: string;
|
|
12
|
+
selectedArea: string;
|
|
13
|
+
selectedIngredient: string;
|
|
14
|
+
browseChange: EventEmitter<RecipeBrowseEvent>;
|
|
15
|
+
browseClear: EventEmitter<void>;
|
|
16
|
+
private handleCategory;
|
|
17
|
+
private handleArea;
|
|
18
|
+
private handleIngredient;
|
|
19
|
+
private handleClear;
|
|
20
|
+
render(): any;
|
|
21
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { EventEmitter } from '../../stencil-public-runtime';
|
|
2
|
+
type MealType = 'Breakfast' | 'Lunch' | 'Dinner';
|
|
3
|
+
type PlannerEvent = {
|
|
4
|
+
id: string;
|
|
5
|
+
day: 'Monday' | 'Tuesday' | 'Wednesday' | 'Thursday' | 'Friday' | 'Saturday' | 'Sunday';
|
|
6
|
+
mealType: MealType;
|
|
7
|
+
};
|
|
8
|
+
export declare class RecipeCard {
|
|
9
|
+
recipeId: string;
|
|
10
|
+
recipeTitle: string;
|
|
11
|
+
image: string;
|
|
12
|
+
category: string;
|
|
13
|
+
cuisine: string;
|
|
14
|
+
favorite: boolean;
|
|
15
|
+
favoriteToggle: EventEmitter<{
|
|
16
|
+
id: string;
|
|
17
|
+
}>;
|
|
18
|
+
recipeClick: EventEmitter<{
|
|
19
|
+
id: string;
|
|
20
|
+
}>;
|
|
21
|
+
addToPlanner: EventEmitter<PlannerEvent>;
|
|
22
|
+
showPlanner: boolean;
|
|
23
|
+
selectedDay: string;
|
|
24
|
+
selectedMeal: MealType | '';
|
|
25
|
+
private handleViewRecipe;
|
|
26
|
+
private toggleFavorite;
|
|
27
|
+
private openPlanner;
|
|
28
|
+
private closePlanner;
|
|
29
|
+
private handleDayChange;
|
|
30
|
+
private handleMealChange;
|
|
31
|
+
private confirmPlanner;
|
|
32
|
+
render(): any;
|
|
33
|
+
}
|
|
34
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { EventEmitter } from '../../stencil-public-runtime';
|
|
2
|
+
export declare class SearchFood {
|
|
3
|
+
search: string;
|
|
4
|
+
searchSubmit: EventEmitter<string>;
|
|
5
|
+
searchClear: EventEmitter<void>;
|
|
6
|
+
private handleInput;
|
|
7
|
+
private handleSearch;
|
|
8
|
+
private clearSearch;
|
|
9
|
+
render(): any;
|
|
10
|
+
}
|
|
@@ -0,0 +1,558 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
/**
|
|
4
|
+
* This is an autogenerated file created by the Stencil compiler.
|
|
5
|
+
* It contains typing information for all components that exist in this project.
|
|
6
|
+
*/
|
|
7
|
+
import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
|
|
8
|
+
import { RecipeBrowseEvent } from "./components/recipe-browser/recipe-browser";
|
|
9
|
+
export { RecipeBrowseEvent } from "./components/recipe-browser/recipe-browser";
|
|
10
|
+
export namespace Components {
|
|
11
|
+
interface MyComponent {
|
|
12
|
+
/**
|
|
13
|
+
* The first name
|
|
14
|
+
*/
|
|
15
|
+
"first"?: string;
|
|
16
|
+
/**
|
|
17
|
+
* The last name
|
|
18
|
+
*/
|
|
19
|
+
"last"?: string;
|
|
20
|
+
/**
|
|
21
|
+
* The middle name
|
|
22
|
+
*/
|
|
23
|
+
"middle"?: string;
|
|
24
|
+
}
|
|
25
|
+
interface NoRecipeFound {
|
|
26
|
+
/**
|
|
27
|
+
* @default 'Clear Search'
|
|
28
|
+
*/
|
|
29
|
+
"buttonText": string;
|
|
30
|
+
/**
|
|
31
|
+
* @default 'No Recipes Found'
|
|
32
|
+
*/
|
|
33
|
+
"header": string;
|
|
34
|
+
/**
|
|
35
|
+
* @default 'We couldn’t find any recipes matching your search. Try a different recipe, category, cuisine, or ingredient.'
|
|
36
|
+
*/
|
|
37
|
+
"message": string;
|
|
38
|
+
}
|
|
39
|
+
interface RecipeBrowser {
|
|
40
|
+
/**
|
|
41
|
+
* @default []
|
|
42
|
+
*/
|
|
43
|
+
"areas": string[];
|
|
44
|
+
/**
|
|
45
|
+
* @default []
|
|
46
|
+
*/
|
|
47
|
+
"categories": string[];
|
|
48
|
+
/**
|
|
49
|
+
* @default []
|
|
50
|
+
*/
|
|
51
|
+
"ingredients": string[];
|
|
52
|
+
/**
|
|
53
|
+
* @default ''
|
|
54
|
+
*/
|
|
55
|
+
"selectedArea": string;
|
|
56
|
+
/**
|
|
57
|
+
* @default ''
|
|
58
|
+
*/
|
|
59
|
+
"selectedCategory": string;
|
|
60
|
+
/**
|
|
61
|
+
* @default ''
|
|
62
|
+
*/
|
|
63
|
+
"selectedIngredient": string;
|
|
64
|
+
}
|
|
65
|
+
interface RecipeButton {
|
|
66
|
+
/**
|
|
67
|
+
* @default false
|
|
68
|
+
*/
|
|
69
|
+
"disabled": boolean;
|
|
70
|
+
/**
|
|
71
|
+
* @default 'button'
|
|
72
|
+
*/
|
|
73
|
+
"type": 'button' | 'submit';
|
|
74
|
+
/**
|
|
75
|
+
* @default 'primary'
|
|
76
|
+
*/
|
|
77
|
+
"variant": 'primary' | 'secondary';
|
|
78
|
+
}
|
|
79
|
+
interface RecipeCard {
|
|
80
|
+
/**
|
|
81
|
+
* @default ''
|
|
82
|
+
*/
|
|
83
|
+
"category": string;
|
|
84
|
+
/**
|
|
85
|
+
* @default ''
|
|
86
|
+
*/
|
|
87
|
+
"cuisine": string;
|
|
88
|
+
/**
|
|
89
|
+
* @default false
|
|
90
|
+
*/
|
|
91
|
+
"favorite": boolean;
|
|
92
|
+
/**
|
|
93
|
+
* @default ''
|
|
94
|
+
*/
|
|
95
|
+
"image": string;
|
|
96
|
+
/**
|
|
97
|
+
* @default ''
|
|
98
|
+
*/
|
|
99
|
+
"recipeId": string;
|
|
100
|
+
/**
|
|
101
|
+
* @default ''
|
|
102
|
+
*/
|
|
103
|
+
"recipeTitle": string;
|
|
104
|
+
}
|
|
105
|
+
interface RecipeFormSection {
|
|
106
|
+
"description": string;
|
|
107
|
+
"formTitle": string;
|
|
108
|
+
"number": string;
|
|
109
|
+
}
|
|
110
|
+
interface RecipeInput {
|
|
111
|
+
/**
|
|
112
|
+
* @default ''
|
|
113
|
+
*/
|
|
114
|
+
"helper": string;
|
|
115
|
+
"label": string;
|
|
116
|
+
"name": string;
|
|
117
|
+
/**
|
|
118
|
+
* @default ''
|
|
119
|
+
*/
|
|
120
|
+
"placeholder": string;
|
|
121
|
+
/**
|
|
122
|
+
* @default false
|
|
123
|
+
*/
|
|
124
|
+
"required": boolean;
|
|
125
|
+
/**
|
|
126
|
+
* @default 'text'
|
|
127
|
+
*/
|
|
128
|
+
"type": string;
|
|
129
|
+
/**
|
|
130
|
+
* @default ''
|
|
131
|
+
*/
|
|
132
|
+
"value": string;
|
|
133
|
+
}
|
|
134
|
+
interface RecipeNavbar {
|
|
135
|
+
/**
|
|
136
|
+
* @default ''
|
|
137
|
+
*/
|
|
138
|
+
"currentPage": string;
|
|
139
|
+
}
|
|
140
|
+
interface RecipeTextarea {
|
|
141
|
+
"label": string;
|
|
142
|
+
"name": string;
|
|
143
|
+
/**
|
|
144
|
+
* @default ''
|
|
145
|
+
*/
|
|
146
|
+
"placeholder": string;
|
|
147
|
+
/**
|
|
148
|
+
* @default false
|
|
149
|
+
*/
|
|
150
|
+
"required": boolean;
|
|
151
|
+
/**
|
|
152
|
+
* @default 5
|
|
153
|
+
*/
|
|
154
|
+
"rows": number;
|
|
155
|
+
/**
|
|
156
|
+
* @default ''
|
|
157
|
+
*/
|
|
158
|
+
"value": string;
|
|
159
|
+
}
|
|
160
|
+
interface SearchFood {
|
|
161
|
+
/**
|
|
162
|
+
* @default ''
|
|
163
|
+
*/
|
|
164
|
+
"search": string;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
export interface NoRecipeFoundCustomEvent<T> extends CustomEvent<T> {
|
|
168
|
+
detail: T;
|
|
169
|
+
target: HTMLNoRecipeFoundElement;
|
|
170
|
+
}
|
|
171
|
+
export interface RecipeBrowserCustomEvent<T> extends CustomEvent<T> {
|
|
172
|
+
detail: T;
|
|
173
|
+
target: HTMLRecipeBrowserElement;
|
|
174
|
+
}
|
|
175
|
+
export interface RecipeCardCustomEvent<T> extends CustomEvent<T> {
|
|
176
|
+
detail: T;
|
|
177
|
+
target: HTMLRecipeCardElement;
|
|
178
|
+
}
|
|
179
|
+
export interface SearchFoodCustomEvent<T> extends CustomEvent<T> {
|
|
180
|
+
detail: T;
|
|
181
|
+
target: HTMLSearchFoodElement;
|
|
182
|
+
}
|
|
183
|
+
declare global {
|
|
184
|
+
interface HTMLMyComponentElement extends Components.MyComponent, HTMLStencilElement {
|
|
185
|
+
}
|
|
186
|
+
var HTMLMyComponentElement: {
|
|
187
|
+
prototype: HTMLMyComponentElement;
|
|
188
|
+
new (): HTMLMyComponentElement;
|
|
189
|
+
};
|
|
190
|
+
interface HTMLNoRecipeFoundElementEventMap {
|
|
191
|
+
"clear": void;
|
|
192
|
+
}
|
|
193
|
+
interface HTMLNoRecipeFoundElement extends Components.NoRecipeFound, HTMLStencilElement {
|
|
194
|
+
addEventListener<K extends keyof HTMLNoRecipeFoundElementEventMap>(type: K, listener: (this: HTMLNoRecipeFoundElement, ev: NoRecipeFoundCustomEvent<HTMLNoRecipeFoundElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
195
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
196
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
197
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
198
|
+
removeEventListener<K extends keyof HTMLNoRecipeFoundElementEventMap>(type: K, listener: (this: HTMLNoRecipeFoundElement, ev: NoRecipeFoundCustomEvent<HTMLNoRecipeFoundElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
199
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
200
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
201
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
202
|
+
}
|
|
203
|
+
var HTMLNoRecipeFoundElement: {
|
|
204
|
+
prototype: HTMLNoRecipeFoundElement;
|
|
205
|
+
new (): HTMLNoRecipeFoundElement;
|
|
206
|
+
};
|
|
207
|
+
interface HTMLRecipeBrowserElementEventMap {
|
|
208
|
+
"browseChange": RecipeBrowseEvent;
|
|
209
|
+
"browseClear": void;
|
|
210
|
+
}
|
|
211
|
+
interface HTMLRecipeBrowserElement extends Components.RecipeBrowser, HTMLStencilElement {
|
|
212
|
+
addEventListener<K extends keyof HTMLRecipeBrowserElementEventMap>(type: K, listener: (this: HTMLRecipeBrowserElement, ev: RecipeBrowserCustomEvent<HTMLRecipeBrowserElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
213
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
214
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
215
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
216
|
+
removeEventListener<K extends keyof HTMLRecipeBrowserElementEventMap>(type: K, listener: (this: HTMLRecipeBrowserElement, ev: RecipeBrowserCustomEvent<HTMLRecipeBrowserElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
217
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
218
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
219
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
220
|
+
}
|
|
221
|
+
var HTMLRecipeBrowserElement: {
|
|
222
|
+
prototype: HTMLRecipeBrowserElement;
|
|
223
|
+
new (): HTMLRecipeBrowserElement;
|
|
224
|
+
};
|
|
225
|
+
interface HTMLRecipeButtonElement extends Components.RecipeButton, HTMLStencilElement {
|
|
226
|
+
}
|
|
227
|
+
var HTMLRecipeButtonElement: {
|
|
228
|
+
prototype: HTMLRecipeButtonElement;
|
|
229
|
+
new (): HTMLRecipeButtonElement;
|
|
230
|
+
};
|
|
231
|
+
interface HTMLRecipeCardElementEventMap {
|
|
232
|
+
"favoriteToggle": { id: string };
|
|
233
|
+
"recipeClick": { id: string };
|
|
234
|
+
"add-to-planner": PlannerEvent;
|
|
235
|
+
}
|
|
236
|
+
interface HTMLRecipeCardElement extends Components.RecipeCard, HTMLStencilElement {
|
|
237
|
+
addEventListener<K extends keyof HTMLRecipeCardElementEventMap>(type: K, listener: (this: HTMLRecipeCardElement, ev: RecipeCardCustomEvent<HTMLRecipeCardElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
238
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
239
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
240
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
241
|
+
removeEventListener<K extends keyof HTMLRecipeCardElementEventMap>(type: K, listener: (this: HTMLRecipeCardElement, ev: RecipeCardCustomEvent<HTMLRecipeCardElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
242
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
243
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
244
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
245
|
+
}
|
|
246
|
+
var HTMLRecipeCardElement: {
|
|
247
|
+
prototype: HTMLRecipeCardElement;
|
|
248
|
+
new (): HTMLRecipeCardElement;
|
|
249
|
+
};
|
|
250
|
+
interface HTMLRecipeFormSectionElement extends Components.RecipeFormSection, HTMLStencilElement {
|
|
251
|
+
}
|
|
252
|
+
var HTMLRecipeFormSectionElement: {
|
|
253
|
+
prototype: HTMLRecipeFormSectionElement;
|
|
254
|
+
new (): HTMLRecipeFormSectionElement;
|
|
255
|
+
};
|
|
256
|
+
interface HTMLRecipeInputElement extends Components.RecipeInput, HTMLStencilElement {
|
|
257
|
+
}
|
|
258
|
+
var HTMLRecipeInputElement: {
|
|
259
|
+
prototype: HTMLRecipeInputElement;
|
|
260
|
+
new (): HTMLRecipeInputElement;
|
|
261
|
+
};
|
|
262
|
+
interface HTMLRecipeNavbarElement extends Components.RecipeNavbar, HTMLStencilElement {
|
|
263
|
+
}
|
|
264
|
+
var HTMLRecipeNavbarElement: {
|
|
265
|
+
prototype: HTMLRecipeNavbarElement;
|
|
266
|
+
new (): HTMLRecipeNavbarElement;
|
|
267
|
+
};
|
|
268
|
+
interface HTMLRecipeTextareaElement extends Components.RecipeTextarea, HTMLStencilElement {
|
|
269
|
+
}
|
|
270
|
+
var HTMLRecipeTextareaElement: {
|
|
271
|
+
prototype: HTMLRecipeTextareaElement;
|
|
272
|
+
new (): HTMLRecipeTextareaElement;
|
|
273
|
+
};
|
|
274
|
+
interface HTMLSearchFoodElementEventMap {
|
|
275
|
+
"searchSubmit": string;
|
|
276
|
+
"searchClear": void;
|
|
277
|
+
}
|
|
278
|
+
interface HTMLSearchFoodElement extends Components.SearchFood, HTMLStencilElement {
|
|
279
|
+
addEventListener<K extends keyof HTMLSearchFoodElementEventMap>(type: K, listener: (this: HTMLSearchFoodElement, ev: SearchFoodCustomEvent<HTMLSearchFoodElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
280
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
281
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
282
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
283
|
+
removeEventListener<K extends keyof HTMLSearchFoodElementEventMap>(type: K, listener: (this: HTMLSearchFoodElement, ev: SearchFoodCustomEvent<HTMLSearchFoodElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
284
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
285
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
286
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
287
|
+
}
|
|
288
|
+
var HTMLSearchFoodElement: {
|
|
289
|
+
prototype: HTMLSearchFoodElement;
|
|
290
|
+
new (): HTMLSearchFoodElement;
|
|
291
|
+
};
|
|
292
|
+
interface HTMLElementTagNameMap {
|
|
293
|
+
"my-component": HTMLMyComponentElement;
|
|
294
|
+
"no-recipe-found": HTMLNoRecipeFoundElement;
|
|
295
|
+
"recipe-browser": HTMLRecipeBrowserElement;
|
|
296
|
+
"recipe-button": HTMLRecipeButtonElement;
|
|
297
|
+
"recipe-card": HTMLRecipeCardElement;
|
|
298
|
+
"recipe-form-section": HTMLRecipeFormSectionElement;
|
|
299
|
+
"recipe-input": HTMLRecipeInputElement;
|
|
300
|
+
"recipe-navbar": HTMLRecipeNavbarElement;
|
|
301
|
+
"recipe-textarea": HTMLRecipeTextareaElement;
|
|
302
|
+
"search-food": HTMLSearchFoodElement;
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
declare namespace LocalJSX {
|
|
306
|
+
type OneOf<K extends string, PropT, AttrT = PropT> = { [P in K]: PropT } & { [P in `attr:${K}`]?: never } | { [P in `attr:${K}`]: AttrT } & { [P in K]?: never };
|
|
307
|
+
|
|
308
|
+
interface MyComponent {
|
|
309
|
+
/**
|
|
310
|
+
* The first name
|
|
311
|
+
*/
|
|
312
|
+
"first"?: string;
|
|
313
|
+
/**
|
|
314
|
+
* The last name
|
|
315
|
+
*/
|
|
316
|
+
"last"?: string;
|
|
317
|
+
/**
|
|
318
|
+
* The middle name
|
|
319
|
+
*/
|
|
320
|
+
"middle"?: string;
|
|
321
|
+
}
|
|
322
|
+
interface NoRecipeFound {
|
|
323
|
+
/**
|
|
324
|
+
* @default 'Clear Search'
|
|
325
|
+
*/
|
|
326
|
+
"buttonText"?: string;
|
|
327
|
+
/**
|
|
328
|
+
* @default 'No Recipes Found'
|
|
329
|
+
*/
|
|
330
|
+
"header"?: string;
|
|
331
|
+
/**
|
|
332
|
+
* @default 'We couldn’t find any recipes matching your search. Try a different recipe, category, cuisine, or ingredient.'
|
|
333
|
+
*/
|
|
334
|
+
"message"?: string;
|
|
335
|
+
"onClear"?: (event: NoRecipeFoundCustomEvent<void>) => void;
|
|
336
|
+
}
|
|
337
|
+
interface RecipeBrowser {
|
|
338
|
+
/**
|
|
339
|
+
* @default []
|
|
340
|
+
*/
|
|
341
|
+
"areas"?: string[];
|
|
342
|
+
/**
|
|
343
|
+
* @default []
|
|
344
|
+
*/
|
|
345
|
+
"categories"?: string[];
|
|
346
|
+
/**
|
|
347
|
+
* @default []
|
|
348
|
+
*/
|
|
349
|
+
"ingredients"?: string[];
|
|
350
|
+
"onBrowseChange"?: (event: RecipeBrowserCustomEvent<RecipeBrowseEvent>) => void;
|
|
351
|
+
"onBrowseClear"?: (event: RecipeBrowserCustomEvent<void>) => void;
|
|
352
|
+
/**
|
|
353
|
+
* @default ''
|
|
354
|
+
*/
|
|
355
|
+
"selectedArea"?: string;
|
|
356
|
+
/**
|
|
357
|
+
* @default ''
|
|
358
|
+
*/
|
|
359
|
+
"selectedCategory"?: string;
|
|
360
|
+
/**
|
|
361
|
+
* @default ''
|
|
362
|
+
*/
|
|
363
|
+
"selectedIngredient"?: string;
|
|
364
|
+
}
|
|
365
|
+
interface RecipeButton {
|
|
366
|
+
/**
|
|
367
|
+
* @default false
|
|
368
|
+
*/
|
|
369
|
+
"disabled"?: boolean;
|
|
370
|
+
/**
|
|
371
|
+
* @default 'button'
|
|
372
|
+
*/
|
|
373
|
+
"type"?: 'button' | 'submit';
|
|
374
|
+
/**
|
|
375
|
+
* @default 'primary'
|
|
376
|
+
*/
|
|
377
|
+
"variant"?: 'primary' | 'secondary';
|
|
378
|
+
}
|
|
379
|
+
interface RecipeCard {
|
|
380
|
+
/**
|
|
381
|
+
* @default ''
|
|
382
|
+
*/
|
|
383
|
+
"category"?: string;
|
|
384
|
+
/**
|
|
385
|
+
* @default ''
|
|
386
|
+
*/
|
|
387
|
+
"cuisine"?: string;
|
|
388
|
+
/**
|
|
389
|
+
* @default false
|
|
390
|
+
*/
|
|
391
|
+
"favorite"?: boolean;
|
|
392
|
+
/**
|
|
393
|
+
* @default ''
|
|
394
|
+
*/
|
|
395
|
+
"image"?: string;
|
|
396
|
+
"onAdd-to-planner"?: (event: RecipeCardCustomEvent<PlannerEvent>) => void;
|
|
397
|
+
"onFavoriteToggle"?: (event: RecipeCardCustomEvent<{ id: string }>) => void;
|
|
398
|
+
"onRecipeClick"?: (event: RecipeCardCustomEvent<{ id: string }>) => void;
|
|
399
|
+
/**
|
|
400
|
+
* @default ''
|
|
401
|
+
*/
|
|
402
|
+
"recipeId"?: string;
|
|
403
|
+
/**
|
|
404
|
+
* @default ''
|
|
405
|
+
*/
|
|
406
|
+
"recipeTitle"?: string;
|
|
407
|
+
}
|
|
408
|
+
interface RecipeFormSection {
|
|
409
|
+
"description": string;
|
|
410
|
+
"formTitle": string;
|
|
411
|
+
"number": string;
|
|
412
|
+
}
|
|
413
|
+
interface RecipeInput {
|
|
414
|
+
/**
|
|
415
|
+
* @default ''
|
|
416
|
+
*/
|
|
417
|
+
"helper"?: string;
|
|
418
|
+
"label": string;
|
|
419
|
+
"name": string;
|
|
420
|
+
/**
|
|
421
|
+
* @default ''
|
|
422
|
+
*/
|
|
423
|
+
"placeholder"?: string;
|
|
424
|
+
/**
|
|
425
|
+
* @default false
|
|
426
|
+
*/
|
|
427
|
+
"required"?: boolean;
|
|
428
|
+
/**
|
|
429
|
+
* @default 'text'
|
|
430
|
+
*/
|
|
431
|
+
"type"?: string;
|
|
432
|
+
/**
|
|
433
|
+
* @default ''
|
|
434
|
+
*/
|
|
435
|
+
"value"?: string;
|
|
436
|
+
}
|
|
437
|
+
interface RecipeNavbar {
|
|
438
|
+
/**
|
|
439
|
+
* @default ''
|
|
440
|
+
*/
|
|
441
|
+
"currentPage"?: string;
|
|
442
|
+
}
|
|
443
|
+
interface RecipeTextarea {
|
|
444
|
+
"label": string;
|
|
445
|
+
"name": string;
|
|
446
|
+
/**
|
|
447
|
+
* @default ''
|
|
448
|
+
*/
|
|
449
|
+
"placeholder"?: string;
|
|
450
|
+
/**
|
|
451
|
+
* @default false
|
|
452
|
+
*/
|
|
453
|
+
"required"?: boolean;
|
|
454
|
+
/**
|
|
455
|
+
* @default 5
|
|
456
|
+
*/
|
|
457
|
+
"rows"?: number;
|
|
458
|
+
/**
|
|
459
|
+
* @default ''
|
|
460
|
+
*/
|
|
461
|
+
"value"?: string;
|
|
462
|
+
}
|
|
463
|
+
interface SearchFood {
|
|
464
|
+
"onSearchClear"?: (event: SearchFoodCustomEvent<void>) => void;
|
|
465
|
+
"onSearchSubmit"?: (event: SearchFoodCustomEvent<string>) => void;
|
|
466
|
+
/**
|
|
467
|
+
* @default ''
|
|
468
|
+
*/
|
|
469
|
+
"search"?: string;
|
|
470
|
+
}
|
|
471
|
+
|
|
472
|
+
interface MyComponentAttributes {
|
|
473
|
+
"first": string;
|
|
474
|
+
"middle": string;
|
|
475
|
+
"last": string;
|
|
476
|
+
}
|
|
477
|
+
interface NoRecipeFoundAttributes {
|
|
478
|
+
"header": string;
|
|
479
|
+
"message": string;
|
|
480
|
+
"buttonText": string;
|
|
481
|
+
}
|
|
482
|
+
interface RecipeBrowserAttributes {
|
|
483
|
+
"selectedCategory": string;
|
|
484
|
+
"selectedArea": string;
|
|
485
|
+
"selectedIngredient": string;
|
|
486
|
+
}
|
|
487
|
+
interface RecipeButtonAttributes {
|
|
488
|
+
"variant": 'primary' | 'secondary';
|
|
489
|
+
"type": 'button' | 'submit';
|
|
490
|
+
"disabled": boolean;
|
|
491
|
+
}
|
|
492
|
+
interface RecipeCardAttributes {
|
|
493
|
+
"recipeId": string;
|
|
494
|
+
"recipeTitle": string;
|
|
495
|
+
"image": string;
|
|
496
|
+
"category": string;
|
|
497
|
+
"cuisine": string;
|
|
498
|
+
"favorite": boolean;
|
|
499
|
+
}
|
|
500
|
+
interface RecipeFormSectionAttributes {
|
|
501
|
+
"number": string;
|
|
502
|
+
"formTitle": string;
|
|
503
|
+
"description": string;
|
|
504
|
+
}
|
|
505
|
+
interface RecipeInputAttributes {
|
|
506
|
+
"label": string;
|
|
507
|
+
"name": string;
|
|
508
|
+
"type": string;
|
|
509
|
+
"placeholder": string;
|
|
510
|
+
"value": string;
|
|
511
|
+
"required": boolean;
|
|
512
|
+
"helper": string;
|
|
513
|
+
}
|
|
514
|
+
interface RecipeNavbarAttributes {
|
|
515
|
+
"currentPage": string;
|
|
516
|
+
}
|
|
517
|
+
interface RecipeTextareaAttributes {
|
|
518
|
+
"label": string;
|
|
519
|
+
"name": string;
|
|
520
|
+
"rows": number;
|
|
521
|
+
"placeholder": string;
|
|
522
|
+
"value": string;
|
|
523
|
+
"required": boolean;
|
|
524
|
+
}
|
|
525
|
+
interface SearchFoodAttributes {
|
|
526
|
+
"search": string;
|
|
527
|
+
}
|
|
528
|
+
|
|
529
|
+
interface IntrinsicElements {
|
|
530
|
+
"my-component": Omit<MyComponent, keyof MyComponentAttributes> & { [K in keyof MyComponent & keyof MyComponentAttributes]?: MyComponent[K] } & { [K in keyof MyComponent & keyof MyComponentAttributes as `attr:${K}`]?: MyComponentAttributes[K] } & { [K in keyof MyComponent & keyof MyComponentAttributes as `prop:${K}`]?: MyComponent[K] };
|
|
531
|
+
"no-recipe-found": Omit<NoRecipeFound, keyof NoRecipeFoundAttributes> & { [K in keyof NoRecipeFound & keyof NoRecipeFoundAttributes]?: NoRecipeFound[K] } & { [K in keyof NoRecipeFound & keyof NoRecipeFoundAttributes as `attr:${K}`]?: NoRecipeFoundAttributes[K] } & { [K in keyof NoRecipeFound & keyof NoRecipeFoundAttributes as `prop:${K}`]?: NoRecipeFound[K] };
|
|
532
|
+
"recipe-browser": Omit<RecipeBrowser, keyof RecipeBrowserAttributes> & { [K in keyof RecipeBrowser & keyof RecipeBrowserAttributes]?: RecipeBrowser[K] } & { [K in keyof RecipeBrowser & keyof RecipeBrowserAttributes as `attr:${K}`]?: RecipeBrowserAttributes[K] } & { [K in keyof RecipeBrowser & keyof RecipeBrowserAttributes as `prop:${K}`]?: RecipeBrowser[K] };
|
|
533
|
+
"recipe-button": Omit<RecipeButton, keyof RecipeButtonAttributes> & { [K in keyof RecipeButton & keyof RecipeButtonAttributes]?: RecipeButton[K] } & { [K in keyof RecipeButton & keyof RecipeButtonAttributes as `attr:${K}`]?: RecipeButtonAttributes[K] } & { [K in keyof RecipeButton & keyof RecipeButtonAttributes as `prop:${K}`]?: RecipeButton[K] };
|
|
534
|
+
"recipe-card": Omit<RecipeCard, keyof RecipeCardAttributes> & { [K in keyof RecipeCard & keyof RecipeCardAttributes]?: RecipeCard[K] } & { [K in keyof RecipeCard & keyof RecipeCardAttributes as `attr:${K}`]?: RecipeCardAttributes[K] } & { [K in keyof RecipeCard & keyof RecipeCardAttributes as `prop:${K}`]?: RecipeCard[K] };
|
|
535
|
+
"recipe-form-section": Omit<RecipeFormSection, keyof RecipeFormSectionAttributes> & { [K in keyof RecipeFormSection & keyof RecipeFormSectionAttributes]?: RecipeFormSection[K] } & { [K in keyof RecipeFormSection & keyof RecipeFormSectionAttributes as `attr:${K}`]?: RecipeFormSectionAttributes[K] } & { [K in keyof RecipeFormSection & keyof RecipeFormSectionAttributes as `prop:${K}`]?: RecipeFormSection[K] } & OneOf<"number", RecipeFormSection["number"], RecipeFormSectionAttributes["number"]> & OneOf<"formTitle", RecipeFormSection["formTitle"], RecipeFormSectionAttributes["formTitle"]> & OneOf<"description", RecipeFormSection["description"], RecipeFormSectionAttributes["description"]>;
|
|
536
|
+
"recipe-input": Omit<RecipeInput, keyof RecipeInputAttributes> & { [K in keyof RecipeInput & keyof RecipeInputAttributes]?: RecipeInput[K] } & { [K in keyof RecipeInput & keyof RecipeInputAttributes as `attr:${K}`]?: RecipeInputAttributes[K] } & { [K in keyof RecipeInput & keyof RecipeInputAttributes as `prop:${K}`]?: RecipeInput[K] } & OneOf<"label", RecipeInput["label"], RecipeInputAttributes["label"]> & OneOf<"name", RecipeInput["name"], RecipeInputAttributes["name"]>;
|
|
537
|
+
"recipe-navbar": Omit<RecipeNavbar, keyof RecipeNavbarAttributes> & { [K in keyof RecipeNavbar & keyof RecipeNavbarAttributes]?: RecipeNavbar[K] } & { [K in keyof RecipeNavbar & keyof RecipeNavbarAttributes as `attr:${K}`]?: RecipeNavbarAttributes[K] } & { [K in keyof RecipeNavbar & keyof RecipeNavbarAttributes as `prop:${K}`]?: RecipeNavbar[K] };
|
|
538
|
+
"recipe-textarea": Omit<RecipeTextarea, keyof RecipeTextareaAttributes> & { [K in keyof RecipeTextarea & keyof RecipeTextareaAttributes]?: RecipeTextarea[K] } & { [K in keyof RecipeTextarea & keyof RecipeTextareaAttributes as `attr:${K}`]?: RecipeTextareaAttributes[K] } & { [K in keyof RecipeTextarea & keyof RecipeTextareaAttributes as `prop:${K}`]?: RecipeTextarea[K] } & OneOf<"label", RecipeTextarea["label"], RecipeTextareaAttributes["label"]> & OneOf<"name", RecipeTextarea["name"], RecipeTextareaAttributes["name"]>;
|
|
539
|
+
"search-food": Omit<SearchFood, keyof SearchFoodAttributes> & { [K in keyof SearchFood & keyof SearchFoodAttributes]?: SearchFood[K] } & { [K in keyof SearchFood & keyof SearchFoodAttributes as `attr:${K}`]?: SearchFoodAttributes[K] } & { [K in keyof SearchFood & keyof SearchFoodAttributes as `prop:${K}`]?: SearchFood[K] };
|
|
540
|
+
}
|
|
541
|
+
}
|
|
542
|
+
export { LocalJSX as JSX };
|
|
543
|
+
declare module "@stencil/core" {
|
|
544
|
+
export namespace JSX {
|
|
545
|
+
interface IntrinsicElements {
|
|
546
|
+
"my-component": LocalJSX.IntrinsicElements["my-component"] & JSXBase.HTMLAttributes<HTMLMyComponentElement>;
|
|
547
|
+
"no-recipe-found": LocalJSX.IntrinsicElements["no-recipe-found"] & JSXBase.HTMLAttributes<HTMLNoRecipeFoundElement>;
|
|
548
|
+
"recipe-browser": LocalJSX.IntrinsicElements["recipe-browser"] & JSXBase.HTMLAttributes<HTMLRecipeBrowserElement>;
|
|
549
|
+
"recipe-button": LocalJSX.IntrinsicElements["recipe-button"] & JSXBase.HTMLAttributes<HTMLRecipeButtonElement>;
|
|
550
|
+
"recipe-card": LocalJSX.IntrinsicElements["recipe-card"] & JSXBase.HTMLAttributes<HTMLRecipeCardElement>;
|
|
551
|
+
"recipe-form-section": LocalJSX.IntrinsicElements["recipe-form-section"] & JSXBase.HTMLAttributes<HTMLRecipeFormSectionElement>;
|
|
552
|
+
"recipe-input": LocalJSX.IntrinsicElements["recipe-input"] & JSXBase.HTMLAttributes<HTMLRecipeInputElement>;
|
|
553
|
+
"recipe-navbar": LocalJSX.IntrinsicElements["recipe-navbar"] & JSXBase.HTMLAttributes<HTMLRecipeNavbarElement>;
|
|
554
|
+
"recipe-textarea": LocalJSX.IntrinsicElements["recipe-textarea"] & JSXBase.HTMLAttributes<HTMLRecipeTextareaElement>;
|
|
555
|
+
"search-food": LocalJSX.IntrinsicElements["search-food"] & JSXBase.HTMLAttributes<HTMLSearchFoodElement>;
|
|
556
|
+
}
|
|
557
|
+
}
|
|
558
|
+
}
|