@coffer-org/plugin-kitchen 1.1.0

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.
@@ -0,0 +1,3 @@
1
+ declare const _default: import("@coffer-org/sdk/module").ModuleDef;
2
+ export default _default;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/food_item/index.ts"],"names":[],"mappings":";AAGA,wBAwBG"}
@@ -0,0 +1,28 @@
1
+ import { defineModule } from '@coffer-org/sdk/module';
2
+ import { field } from '@coffer-org/sdk/fields';
3
+ export default defineModule({
4
+ module: 'food_item',
5
+ vault: 'kitchen',
6
+ label: 'kitchen.food_item.label',
7
+ icon: 'lucide:soup',
8
+ views: {
9
+ table: ['subcategory', 'quantity', 'expires'],
10
+ },
11
+ fields: [
12
+ field.title({ key: 'name', label: 'core.fields.name' }),
13
+ field.image({ key: 'logo', label: 'kitchen.food_item.fields.logo' }),
14
+ field.text({ key: 'description', label: 'kitchen.food_item.fields.description', max: 1000 }),
15
+ field.string({ key: 'subcategory', label: 'kitchen.food_item.fields.subcategory', config: { max: 100 } }),
16
+ field.measured({
17
+ key: 'quantity',
18
+ label: 'kitchen.food_item.fields.quantity',
19
+ options: 'cooking',
20
+ config: { min: 0 },
21
+ }),
22
+ field.int({ key: 'minQuantity', label: 'kitchen.food_item.fields.minQuantity', config: { min: 0 } }),
23
+ field.date({ key: 'expires', label: 'kitchen.food_item.fields.expires' }),
24
+ field.string({ key: 'brand', label: 'kitchen.food_item.fields.brand', config: { max: 100 } }),
25
+ field.tags({ key: 'tags', label: 'kitchen.food_item.fields.tags' }),
26
+ ],
27
+ });
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/food_item/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAE/C,eAAe,YAAY,CAAC;IAC1B,MAAM,EAAE,WAAW;IACnB,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,yBAAyB;IAChC,IAAI,EAAE,aAAa;IACnB,KAAK,EAAE;QACL,KAAK,EAAE,CAAC,aAAa,EAAE,UAAU,EAAE,SAAS,CAAC;KAC9C;IACD,MAAM,EAAE;QACN,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;QACvD,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,+BAA+B,EAAE,CAAC;QACpE,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,sCAAsC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;QAC5F,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,sCAAsC,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;QACzG,KAAK,CAAC,QAAQ,CAAC;YACb,GAAG,EAAE,UAAU;YACf,KAAK,EAAE,mCAAmC;YAC1C,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;SACnB,CAAC;QACF,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,sCAAsC,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QACpG,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,kCAAkC,EAAE,CAAC;QACzE,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,gCAAgC,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;QAC7F,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,+BAA+B,EAAE,CAAC;KACpE;CACF,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("@coffer-org/sdk/module").ModuleDef;
2
+ export default _default;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/food_recipe/index.ts"],"names":[],"mappings":";AAGA,wBAkEG"}
@@ -0,0 +1,70 @@
1
+ import { defineModule } from '@coffer-org/sdk/module';
2
+ import { field } from '@coffer-org/sdk/fields';
3
+ export default defineModule({
4
+ module: 'food_recipe',
5
+ vault: 'kitchen',
6
+ label: 'kitchen.food_recipe.label',
7
+ icon: 'lucide:clipboard-list',
8
+ views: {
9
+ table: ['category', 'description', 'prep_time', 'cook_time'],
10
+ },
11
+ fields: [
12
+ field.title({ key: 'name', label: 'core.fields.name' }),
13
+ field.image({ key: 'images', label: 'kitchen.food_recipe.fields.images', multiple: true }),
14
+ field.text({ key: 'description', label: 'kitchen.food_recipe.fields.description', max: 500 }),
15
+ field.int({ key: 'servings', label: 'kitchen.food_recipe.fields.servings', config: { min: 1, max: 100 } }),
16
+ field.select({
17
+ key: 'difficulty',
18
+ label: 'kitchen.food_recipe.fields.difficulty',
19
+ options: [
20
+ { value: 'easy', title: 'kitchen.food_recipe.options.difficulty.easy' },
21
+ { value: 'medium', title: 'kitchen.food_recipe.options.difficulty.medium' },
22
+ { value: 'hard', title: 'kitchen.food_recipe.options.difficulty.hard' },
23
+ ],
24
+ }),
25
+ field.select({
26
+ key: 'category',
27
+ label: 'kitchen.food_recipe.fields.category',
28
+ multiple: true,
29
+ options: [
30
+ { value: 'first', title: 'kitchen.food_recipe.options.category.first' },
31
+ { value: 'main', title: 'kitchen.food_recipe.options.category.main' },
32
+ { value: 'salad', title: 'kitchen.food_recipe.options.category.salad' },
33
+ { value: 'appetizer', title: 'kitchen.food_recipe.options.category.appetizer' },
34
+ { value: 'side', title: 'kitchen.food_recipe.options.category.side' },
35
+ { value: 'dessert', title: 'kitchen.food_recipe.options.category.dessert' },
36
+ { value: 'drink', title: 'kitchen.food_recipe.options.category.drink' },
37
+ { value: 'sauce', title: 'kitchen.food_recipe.options.category.sauce' },
38
+ ],
39
+ }),
40
+ field.tags({ key: 'tags', label: 'kitchen.food_recipe.fields.tags' }),
41
+ field.duration({ key: 'prep_time', label: 'kitchen.food_recipe.fields.prep_time' }),
42
+ field.duration({ key: 'cook_time', label: 'kitchen.food_recipe.fields.cook_time' }),
43
+ field.group({
44
+ key: 'ingredients',
45
+ label: 'kitchen.food_recipe.fields.ingredients',
46
+ multiple: true,
47
+ unique: ['product'],
48
+ fields: [
49
+ field.relation({
50
+ key: 'product',
51
+ label: 'kitchen.food_recipe.ingredient.product',
52
+ vault: 'kitchen',
53
+ module: 'food_item',
54
+ }),
55
+ // Просте число: одиниця вимірювання — з пов'язаного продукту (lookup)
56
+ field.real({ key: 'amount', label: 'kitchen.food_recipe.ingredient.amount', config: { min: 0 } }),
57
+ field.lookup({
58
+ key: 'stock',
59
+ label: 'kitchen.food_recipe.ingredient.stock',
60
+ from: 'product',
61
+ pick: ['quantity'],
62
+ compareWith: 'amount',
63
+ }),
64
+ ],
65
+ }),
66
+ field.markdown({ key: 'steps', label: 'kitchen.food_recipe.fields.steps', config: { max: 5000 } }),
67
+ field.text({ key: 'comment', label: 'kitchen.food_recipe.fields.comment', max: 1000 }),
68
+ ],
69
+ });
70
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/food_recipe/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("@coffer-org/sdk/plugin").PluginManifest;
2
+ export default _default;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAKA,wBAUG"}
package/dist/index.js ADDED
@@ -0,0 +1,16 @@
1
+ import { defineVault } from '@coffer-org/sdk/vault';
2
+ import { definePlugin } from '@coffer-org/sdk/plugin';
3
+ import food_item from './food_item/index.js';
4
+ import food_recipe from './food_recipe/index.js';
5
+ export default definePlugin({
6
+ id: 'kitchen',
7
+ version: '1.0.0',
8
+ dependsOn: [],
9
+ vaults: [
10
+ {
11
+ meta: defineVault({ id: 'kitchen', label: 'kitchen.vault.label', icon: 'lucide:cooking-pot' }),
12
+ modules: [food_item, food_recipe],
13
+ },
14
+ ],
15
+ });
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAC7C,OAAO,WAAW,MAAM,wBAAwB,CAAC;AAEjD,eAAe,YAAY,CAAC;IAC1B,EAAE,EAAE,SAAS;IACb,OAAO,EAAE,OAAO;IAChB,SAAS,EAAE,EAAE;IACb,MAAM,EAAE;QACN;YACE,IAAI,EAAE,WAAW,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,qBAAqB,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC;YAC9F,OAAO,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC;SAClC;KACF;CACF,CAAC,CAAC"}
package/package.json ADDED
@@ -0,0 +1,22 @@
1
+ {
2
+ "name": "@coffer-org/plugin-kitchen",
3
+ "version": "1.1.0",
4
+ "type": "module",
5
+ "files": [
6
+ "dist"
7
+ ],
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "default": "./dist/index.js"
12
+ }
13
+ },
14
+ "scripts": {
15
+ "build": "tsc -b tsconfig.build.json",
16
+ "prepack": "npm run build && node ../../scripts/swap-exports.mjs dist",
17
+ "postpack": "node ../../scripts/swap-exports.mjs src"
18
+ },
19
+ "dependencies": {
20
+ "@coffer-org/sdk": "^1.1.0"
21
+ }
22
+ }