cooking-temperature 1.0.4 → 1.0.5

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/icons.d.mts CHANGED
@@ -1,5 +1,16 @@
1
1
  declare const CATEGORY_ICONS: Record<string, string>;
2
+ declare const POULTRY_ICONS: Record<string, string>;
3
+ declare const BEEF_ICONS: Record<string, string>;
4
+ declare const PORK_ICONS: Record<string, string>;
5
+ declare const SEAFOOD_ICONS: Record<string, string>;
6
+ declare const EGG_ICONS: Record<string, string>;
7
+ declare const VEGETABLE_ICONS: Record<string, string>;
8
+ declare const GRAIN_ICONS: Record<string, string>;
2
9
  declare const INGREDIENT_ICONS: Record<string, string>;
10
+ /**
11
+ * Get icon URL for a category or ingredient by ID
12
+ * Falls back to category icon if no specific ingredient icon exists
13
+ */
3
14
  declare const getIcon: (id: string, category?: string) => string | undefined;
4
15
 
5
- export { CATEGORY_ICONS, INGREDIENT_ICONS, getIcon };
16
+ export { BEEF_ICONS, CATEGORY_ICONS, EGG_ICONS, GRAIN_ICONS, INGREDIENT_ICONS, PORK_ICONS, POULTRY_ICONS, SEAFOOD_ICONS, VEGETABLE_ICONS, getIcon };
package/dist/icons.d.ts CHANGED
@@ -1,5 +1,16 @@
1
1
  declare const CATEGORY_ICONS: Record<string, string>;
2
+ declare const POULTRY_ICONS: Record<string, string>;
3
+ declare const BEEF_ICONS: Record<string, string>;
4
+ declare const PORK_ICONS: Record<string, string>;
5
+ declare const SEAFOOD_ICONS: Record<string, string>;
6
+ declare const EGG_ICONS: Record<string, string>;
7
+ declare const VEGETABLE_ICONS: Record<string, string>;
8
+ declare const GRAIN_ICONS: Record<string, string>;
2
9
  declare const INGREDIENT_ICONS: Record<string, string>;
10
+ /**
11
+ * Get icon URL for a category or ingredient by ID
12
+ * Falls back to category icon if no specific ingredient icon exists
13
+ */
3
14
  declare const getIcon: (id: string, category?: string) => string | undefined;
4
15
 
5
- export { CATEGORY_ICONS, INGREDIENT_ICONS, getIcon };
16
+ export { BEEF_ICONS, CATEGORY_ICONS, EGG_ICONS, GRAIN_ICONS, INGREDIENT_ICONS, PORK_ICONS, POULTRY_ICONS, SEAFOOD_ICONS, VEGETABLE_ICONS, getIcon };
package/dist/icons.js CHANGED
@@ -20,69 +20,150 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // icons.ts
21
21
  var icons_exports = {};
22
22
  __export(icons_exports, {
23
+ BEEF_ICONS: () => BEEF_ICONS,
23
24
  CATEGORY_ICONS: () => CATEGORY_ICONS,
25
+ EGG_ICONS: () => EGG_ICONS,
26
+ GRAIN_ICONS: () => GRAIN_ICONS,
24
27
  INGREDIENT_ICONS: () => INGREDIENT_ICONS,
28
+ PORK_ICONS: () => PORK_ICONS,
29
+ POULTRY_ICONS: () => POULTRY_ICONS,
30
+ SEAFOOD_ICONS: () => SEAFOOD_ICONS,
31
+ VEGETABLE_ICONS: () => VEGETABLE_ICONS,
25
32
  getIcon: () => getIcon
26
33
  });
27
34
  module.exports = __toCommonJS(icons_exports);
28
- var toDataUrl = (svg) => {
29
- const encoded = encodeURIComponent(svg).replace(/'/g, "%27").replace(/"/g, "%22");
30
- return `data:image/svg+xml,${encoded}`;
31
- };
32
- var SVG_POULTRY = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#C1694F" d="M30.326 14.24c-.279-4.063-4.016-7.592-8.396-7.931-4.38-.339-7.294 1.908-8.406 5.865-1.113 3.958 1.006 9.672 1.006 9.672l1.781 2.281 3.594 5.719 3 .281 2.219-1.562 3.344-4.281 1.5-1.75.358-8.294z"/><path fill="#E0A577" d="M26.639 12.178c-.224-3.25-3.213-6.074-6.717-6.345-3.504-.271-5.836 1.526-6.725 4.692-.889 3.166.805 7.738.805 7.738l1.425 1.825 2.875 4.575 2.4.225 1.775-1.25 2.675-3.425 1.2-1.4.287-6.635z"/><path fill="#C1694F" d="M11.069 18.063c-2.5-1.688-3.02-4.602-3.02-4.602s-.937-6.219-.479-8.732c.458-2.513 2.769-3.27 4.436-2.498 1.667.771 1.428 1.705 2.016 3.575.588 1.87.336 3.803 1.078 5.614.741 1.811 1.913 2.933 2.26 4.618.346 1.685-.33 3.327-2.372 3.806-2.041.478-3.919-1.781-3.919-1.781z"/><path fill="#E0A577" d="M12.298 16.537c-2-1.35-2.416-3.682-2.416-3.682s-.75-4.975-.383-6.986c.367-2.01 2.215-2.616 3.549-1.998 1.333.617 1.142 1.364 1.613 2.86.47 1.496.269 3.042.862 4.491.593 1.449 1.531 2.347 1.808 3.694.277 1.348-.264 2.662-1.898 3.045-1.633.383-3.135-1.424-3.135-1.424z"/><ellipse cx="17.952" cy="32.656" fill="#C1694F" rx="4.218" ry="1.594"/><path fill="#E0A577" d="M16.858 21.858s-.546 6.792-.179 8.75c.367 1.958 1 2.344 2.042 2.25 1.041-.094 1.291-1.125 1.375-2.417.083-1.292.125-8.333.125-8.333l-3.363-.25z"/></svg>`;
33
- var SVG_BEEF = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#BE1931" d="M35.728 10.357c-2.267-5.266-6.9-8.628-12.102-9.472-1.249-.203-7.308-.937-13.081 2.279C5.058 6.641 1.353 11.785.16 20.074c-.591 4.108-.074 7.093 1.539 8.871 2.021 2.229 5.555 2.596 8.306 2.596.976 0 1.87-.052 2.58-.103 2.018-.149 8.741-1.043 14.396-4.636 5.575-3.543 9.989-10.38 8.747-16.445z"/><path fill="#DD2E44" d="M33.728 11.357c-1.983-4.608-6.037-7.549-10.59-8.29-1.093-.178-6.395-.82-11.446 1.994C6.801 7.936 3.558 12.437 2.513 19.69c-.518 3.595-.065 6.207 1.347 7.762 1.769 1.951 4.861 2.272 7.268 2.272.854 0 1.636-.046 2.257-.09 1.766-.131 7.649-.913 12.597-4.057 4.88-3.102 8.742-9.085 7.746-14.22z"/><path fill="#BE1931" d="M23.901 5.398c-1.093-.178-6.395-.82-11.446 1.994-.969.54-1.859 1.157-2.674 1.833 1.019-.397 2.149-.652 3.394-.652 5.237 0 9.891 3.618 10.909 8.707.324 1.62.283 3.219-.056 4.73 3.019-2.727 5.476-6.757 4.62-10.392-1.983-4.608-6.037-7.549-10.59-8.29.614.09 4.219.788 5.843 2.07z"/><ellipse cx="12.814" cy="15.785" fill="#F7DECE" rx="7.021" ry="5.404"/><ellipse cx="12.814" cy="15.785" fill="#BE1931" rx="3.298" ry="2.54"/></svg>`;
34
- var SVG_PORK = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#C1694F" d="M31.29 13.214c-.483-4.839-5.274-8.944-10.761-9.221-5.487-.277-9.12 2.704-10.481 7.571-1.361 4.867.636 11.714 1.959 14.199 1.323 2.485 2.978 4.354 6.27 4.648 3.292.294 6.234-1.102 8.413-3.826 2.179-2.724 5.083-8.532 4.6-13.371z"/><path fill="#E0A577" d="M28.632 13.661c-.386-3.871-4.219-7.155-8.609-7.377-4.39-.222-7.296 2.163-8.385 6.057-1.089 3.894.509 9.371 1.567 11.359 1.058 1.988 2.382 3.483 5.016 3.718 2.634.235 4.987-.882 6.73-3.061 1.744-2.179 4.067-6.825 3.681-10.696z"/><path fill="#FFCC4D" d="M10.733 19.714c-1.128 1.332-4.012 4.523-5.345 5.618-1.333 1.095-3.857 2.857-3.857 4.762s1.524 3.619 3.619 3.619c2.095 0 3.583-1.179 4.917-2.333 1.333-1.155 4.379-4.446 5.065-5.422.686-.976 1.143-2.531.762-3.238-.381-.708-2.115-.746-3.219-.368-1.105.381-1.942-2.638-1.942-2.638z"/><path fill="#FFAC33" d="M5.482 31.003c-.073 0-.146-.022-.209-.067-.156-.111-.193-.328-.082-.484 1.04-1.459 3.113-4.063 3.134-4.09.117-.148.331-.177.483-.063.151.114.182.328.067.48-.021.027-2.089 2.625-3.125 4.078-.069.095-.176.146-.268.146zm1.729.814c-.073 0-.147-.022-.21-.068-.155-.111-.192-.328-.081-.484 1.373-1.928 3.076-4.138 3.093-4.161.115-.151.33-.181.482-.066.152.113.183.328.068.48-.017.023-1.716 2.228-3.084 4.148-.068.098-.175.151-.268.151zm1.787.664c-.073 0-.147-.022-.21-.068-.155-.111-.192-.328-.081-.484 1.398-1.961 2.869-3.931 2.884-3.951.114-.152.33-.184.482-.069.153.113.185.327.071.48-.015.02-1.482 1.984-2.877 3.941-.068.099-.175.151-.269.151z"/><ellipse cx="6.833" cy="32.524" fill="#FFCC4D" rx="2.667" ry="1.143"/></svg>`;
35
- var SVG_FISH = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#55ACEE" d="M27 2s-5.958 3.75-8.031 5.469C14.865 11.057 8.503 18.839 5 23c-1.5 1-2.5 2.25-2.5 3.5 0 2.5 2.603 5.5 4.5 5.5 1.5 0 2.5-1 3.5-2.5 3.5-4.5 10.654-10.588 13.5-13.5C25.806 14.056 31 9 31 9l-4-7z"/><circle cx="9.5" cy="27.5" r="1.5" fill="#292F33"/><path fill="#3B88C3" d="M25 4s-4.958 3.75-7.031 5.469C13.865 13.057 8.503 19.839 5 24c-1.5 1-2.083 2.5-2.083 3.5 0 1.75 1.686 3.5 3.583 3.5 1.5 0 2.5-1 3.5-2.5 3.5-4.5 9.654-9.588 12.5-12.5C24.306 14.056 29 10 29 10l-4-6z"/><path fill="#55ACEE" d="M31 8s3 3.334 3 6c0 2.668-3 6-3 6l-2.667-5.333L31 8z"/><path fill="#3B88C3" d="M29 10s3 2.334 3 5c0 2.668-3 5-3 5l-2-4.5 2-5.5z"/></svg>`;
36
- var SVG_SHRIMP = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#F4900C" d="M26.688 9.812c-.271 2.917-1.167 8.146-4.792 11.771-2.917 2.917-8.771 3.125-12.708 3.125-1.549 0-2.912-.049-3.938-.106-1.958-.107-2.313-.707-2.188-1.914s1.538-.998 3.059-.871c.761.063 1.722.107 2.817.107 3.458 0 8.146-.438 10.146-2.438 2.833-2.833 3.563-6.563 3.813-8.938.188-1.792.854-1.917 1.604-1.646.75.272.395 1.91.187 2.91z"/><path fill="#FFCC4D" d="M10.376 15.098c-2.188.354-3.188.917-3.188 2.417 0 1.125.667 1.792 1.792 1.792 1.75 0 2.104-.771 2.104-1.917s-.708-2.292-.708-2.292z"/><path fill="#F4900C" d="M16.542 10.639c-4.25 0-5.917 2.042-6.875 4.5.084-.001.162-.014.25-.014 2.292 0 2.667 2.417 2.667 3.583 0 1.75-.854 3.167-3.292 3.167-1.708 0-3-1.104-3.145-2.958-.032.035-.065.065-.098.101-1.125 1.25-1.875 3.063-1.875 5.875 0 4.166 3.333 8.229 8.833 8.229s9.667-4.229 9.667-9.646c0-6.625-3.25-12.837-6.132-12.837z"/><circle cx="9.396" cy="27.441" r="1.25" fill="#662113"/><path fill="#FFCC4D" d="M15.5 25c-1.375 0-2.5 1.625-2.5 3.5 0 1.25.375 2.5 1.875 2.5 1.667 0 2.125-1.417 2.125-2.917 0-1.208-.125-3.083-1.5-3.083zm4-1c-1.125 0-2 1.542-2 3.25 0 1.083.333 2.25 1.625 2.25 1.375 0 1.875-1.208 1.875-2.583 0-1.084-.167-2.917-1.5-2.917z"/><path fill="#F4900C" d="M5.813 25.77c-.094-.178-.428-.188-.746-.022-.318.166-.479.452-.385.631l1.334 2.428c.081.155.327.187.599.095-.233-.497-1.026-1.995-.802-3.132z"/><path fill="#FFCC4D" d="M30.599 5.401c-.345.174-.525.513-.431.785.036.104.136.393-.212.938-.49.768-1.679 1.717-4.002 2.882-5.708 2.862-8.62.67-10.33-.776-.615-.52-1.084-1.059-1.462-1.55-.295-.384-.764-.389-1.047-.01-.283.378-.172.919.168 1.27l.022.023c.396.443.925.986 1.622 1.555 1.981 1.616 5.846 4.287 12.511.948 2.549-1.277 3.944-2.394 4.604-3.429.451-.708.554-1.378.343-1.988-.094-.272-.34-.361-.513-.361-.089 0-.175.021-.249.059-.355.179-.549.504-.479.784.054.217-.011.448-.234.668-.356.351-1.085.787-2.186 1.323-3.364 1.637-5.539 1.314-6.753.552-1.028-.646-1.424-1.558-1.425-1.56-.116-.266-.5-.361-.857-.212-.356.149-.54.484-.423.749l.001.002c.02.046.508 1.131 1.778 1.933 1.535.968 4.167 1.378 8.079-.527 1.212-.59 2.036-1.087 2.495-1.54.538-.531.659-1.102.529-1.574-.132-.476-.51-.818-.993-.818-.109 0-.221.019-.334.056z"/><ellipse cx="27.819" cy="2.692" fill="#FFCC4D" rx="2.413" ry="1.025" transform="rotate(-63.435 27.82 2.693)"/><ellipse cx="30.569" cy="4.067" fill="#FFCC4D" rx="2.413" ry="1.025" transform="rotate(-63.435 30.57 4.067)"/></svg>`;
37
- var SVG_EGG = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#E1E8ED" d="M18 35c-7.732 0-14-4.701-14-10.5C4 14.603 11.268 1 18 1s14 13.603 14 23.5c0 5.799-6.268 10.5-14 10.5z"/><path fill="#CCD6DD" d="M18 33c-6.627 0-12-3.873-12-8.5C6 15.603 12.268 3 18 3s12 12.603 12 21.5c0 4.627-5.373 8.5-12 8.5z"/></svg>`;
38
- var SVG_BROCCOLI = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#77B255" d="M22.453 35.564c-.315 0-.636-.08-.934-.251-5.281-3.029-5.792-10.958-5.813-11.294-.042-.679.474-1.263 1.152-1.305.683-.048 1.263.474 1.305 1.152.005.073.456 7.134 4.607 9.515.59.339.795 1.091.456 1.683-.227.396-.642.617-1.069.617-.001-.117-.296-.117-.704-.117z"/><path fill="#5C913B" d="M13.838 35.564c-.315 0-.636-.08-.934-.251-5.281-3.029-5.792-10.958-5.813-11.294-.042-.679.474-1.263 1.152-1.305.683-.048 1.263.474 1.305 1.152.005.073.456 7.134 4.607 9.515.59.339.795 1.091.456 1.683-.227.396-.642.617-1.069.617-.001-.117-.296-.117-.704-.117z"/><ellipse cx="20.285" cy="18.546" fill="#77B255" rx="5.701" ry="5.476"/><ellipse cx="8.073" cy="15.9" fill="#5C913B" rx="5.145" ry="4.943"/><circle cx="23.111" cy="9.561" r="5.588" fill="#77B255"/><ellipse cx="13.838" cy="7.589" fill="#5C913B" rx="4.866" ry="4.674"/><circle cx="17.236" cy="13.369" r="6.145" fill="#3E721D"/><circle cx="10.166" cy="9.561" r="4.588" fill="#77B255"/><circle cx="26.508" cy="14.571" r="4.588" fill="#5C913B"/><ellipse cx="20.285" cy="4.787" fill="#5C913B" rx="4.31" ry="4.141"/></svg>`;
39
- var SVG_RICE = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#CCD6DD" d="M33 22H3c-1.657 0-3 1.343-3 3v6c0 1.657 1.343 3 3 3h30c1.657 0 3-1.343 3-3v-6c0-1.657-1.343-3-3-3z"/><path fill="#E1E8ED" d="M33 20H3c-1.657 0-3 1.343-3 3v6c0 1.657 1.343 3 3 3h30c1.657 0 3-1.343 3-3v-6c0-1.657-1.343-3-3-3z"/><path fill="#F5F8FA" d="M8 18c-.552 0-1-.447-1-1v-4c0-.553.448-1 1-1s1 .447 1 1v4c0 .553-.448 1-1 1zm4 0c-.552 0-1-.447-1-1v-5c0-.553.448-1 1-1s1 .447 1 1v5c0 .553-.448 1-1 1zm4-1c-.552 0-1-.447-1-1v-4c0-.553.448-1 1-1s1 .447 1 1v4c0 .553-.448 1-1 1zm4 0c-.552 0-1-.447-1-1v-5c0-.553.448-1 1-1s1 .447 1 1v5c0 .553-.448 1-1 1zm4 1c-.552 0-1-.447-1-1v-4c0-.553.448-1 1-1s1 .447 1 1v4c0 .553-.448 1-1 1zm4 0c-.552 0-1-.447-1-1v-5c0-.553.448-1 1-1s1 .447 1 1v5c0 .553-.448 1-1 1z"/></svg>`;
40
- var SVG_FRIED_EGG = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#E1E8ED" d="M35 19.5c0 4.142-3.582 7.5-8 7.5-2.348 0-4.471-.939-6-2.452C19.471 26.061 17.348 27 15 27c-4.418 0-8-3.358-8-7.5 0-.646.087-1.271.248-1.865C4.414 17.047 2 14.552 2 11.5 2 8.186 4.833 5.5 8.333 5.5c.357 0 .707.027 1.05.078C10.66 3.398 12.928 2 15.5 2c2.572 0 4.84 1.398 6.117 3.578.343-.051.693-.078 1.05-.078C26.167 5.5 29 8.186 29 11.5c0 .985-.227 1.918-.631 2.757C32.159 14.676 35 16.799 35 19.5z"/><ellipse cx="15" cy="18" fill="#FFCC4D" rx="8" ry="7"/><ellipse cx="15" cy="17" fill="#FFE8B6" rx="4" ry="3.5"/></svg>`;
35
+ var FLUENT_BASE = "https://registry.npmmirror.com/@lobehub/fluent-emoji-3d/latest/files/assets";
36
+ var fluent = (codepoint) => `${FLUENT_BASE}/${codepoint}.webp`;
41
37
  var CATEGORY_ICONS = {
42
- poultry: toDataUrl(SVG_POULTRY),
43
- beef: toDataUrl(SVG_BEEF),
44
- pork: toDataUrl(SVG_PORK),
45
- seafood_fish: toDataUrl(SVG_FISH),
46
- seafood_shellfish: toDataUrl(SVG_SHRIMP),
47
- egg: toDataUrl(SVG_EGG),
48
- vegetable: toDataUrl(SVG_BROCCOLI),
49
- grain: toDataUrl(SVG_RICE)
38
+ poultry: fluent("1f357"),
39
+ // 🍗 Poultry Leg
40
+ beef: fluent("1f969"),
41
+ // 🥩 Cut of Meat
42
+ pork: fluent("1f356"),
43
+ // 🍖 Meat on Bone
44
+ seafood_fish: fluent("1f41f"),
45
+ // 🐟 Fish
46
+ seafood_shellfish: fluent("1f990"),
47
+ // 🦐 Shrimp
48
+ egg: fluent("1f95a"),
49
+ // 🥚 Egg
50
+ vegetable: fluent("1f966"),
51
+ // 🥦 Broccoli
52
+ grain: fluent("1f35a")
53
+ // 🍚 Cooked Rice
54
+ };
55
+ var POULTRY_ICONS = {
56
+ chicken_breast: fluent("1f357"),
57
+ // 🍗
58
+ chicken_thigh: fluent("1f357"),
59
+ // 🍗
60
+ chicken_breast_boneless: fluent("1f357"),
61
+ // 🍗
62
+ chicken_thigh_boneless: fluent("1f357"),
63
+ // 🍗
64
+ chicken_whole: fluent("1f414"),
65
+ // 🐔
66
+ turkey_breast: fluent("1f983"),
67
+ // 🦃
68
+ duck: fluent("1f986")
69
+ // 🦆
70
+ };
71
+ var BEEF_ICONS = {
72
+ beef_steak_ribeye: fluent("1f969"),
73
+ // 🥩
74
+ beef_ground: fluent("1f969"),
75
+ // 🥩
76
+ beef_roast: fluent("1f969")
77
+ // 🥩
78
+ };
79
+ var PORK_ICONS = {
80
+ pork_chop: fluent("1f356"),
81
+ // 🍖
82
+ pork_tenderloin: fluent("1f356"),
83
+ // 🍖
84
+ pork_ribs: fluent("1f356"),
85
+ // 🍖
86
+ bacon: fluent("1f953")
87
+ // 🥓
88
+ };
89
+ var SEAFOOD_ICONS = {
90
+ salmon_fillet: fluent("1f41f"),
91
+ // 🐟
92
+ tuna_steak: fluent("1f41f"),
93
+ // 🐟
94
+ cod_fillet: fluent("1f41f"),
95
+ // 🐟
96
+ shrimp: fluent("1f990"),
97
+ // 🦐
98
+ lobster: fluent("1f99e"),
99
+ // 🦞
100
+ scallops: fluent("1f41a"),
101
+ // 🐚
102
+ crab: fluent("1f980")
103
+ // 🦀
104
+ };
105
+ var EGG_ICONS = {
106
+ egg_fried: fluent("1f373"),
107
+ // 🍳
108
+ egg_boiled: fluent("1f95a"),
109
+ // 🥚
110
+ egg_scrambled: fluent("1f373"),
111
+ // 🍳
112
+ egg_poached: fluent("1f373"),
113
+ // 🍳
114
+ egg_omelette: fluent("1f373")
115
+ // 🍳
116
+ };
117
+ var VEGETABLE_ICONS = {
118
+ broccoli: fluent("1f966"),
119
+ // 🥦
120
+ asparagus: fluent("1f96c"),
121
+ // 🥬 (leafy green, closest match)
122
+ potato: fluent("1f954"),
123
+ // 🥔
124
+ carrot: fluent("1f955"),
125
+ // 🥕
126
+ corn: fluent("1f33d"),
127
+ // 🌽
128
+ tomato: fluent("1f345"),
129
+ // 🍅
130
+ onion: fluent("1f9c5"),
131
+ // 🧅
132
+ garlic: fluent("1f9c4"),
133
+ // 🧄
134
+ pepper: fluent("1fad1"),
135
+ // 🫑 Bell Pepper
136
+ leafy_greens: fluent("1f96c"),
137
+ // 🥬
138
+ mushroom: fluent("1f344"),
139
+ // 🍄
140
+ eggplant: fluent("1f346"),
141
+ // 🍆
142
+ cucumber: fluent("1f952"),
143
+ // 🥒
144
+ avocado: fluent("1f951")
145
+ // 🥑
146
+ };
147
+ var GRAIN_ICONS = {
148
+ rice_white: fluent("1f35a"),
149
+ // 🍚
150
+ rice_brown: fluent("1f35a"),
151
+ // 🍚
152
+ pasta: fluent("1f35d"),
153
+ // 🍝
154
+ bread: fluent("1f35e"),
155
+ // 🍞
156
+ quinoa: fluent("1f35a")
157
+ // 🍚
50
158
  };
51
159
  var INGREDIENT_ICONS = {
52
- // Poultry
53
- chicken_breast: toDataUrl(SVG_POULTRY),
54
- chicken_breast_boneless: toDataUrl(SVG_POULTRY),
55
- chicken_thigh_boneless: toDataUrl(SVG_POULTRY),
56
- chicken_thigh: toDataUrl(SVG_POULTRY),
57
- chicken_whole: toDataUrl(SVG_POULTRY),
58
- turkey_breast: toDataUrl(SVG_POULTRY),
59
- // Beef
60
- beef_steak_ribeye: toDataUrl(SVG_BEEF),
61
- beef_ground: toDataUrl(SVG_BEEF),
62
- beef_roast: toDataUrl(SVG_BEEF),
63
- // Pork
64
- pork_chop: toDataUrl(SVG_PORK),
65
- pork_tenderloin: toDataUrl(SVG_PORK),
66
- pork_ribs: toDataUrl(SVG_PORK),
67
- // Seafood
68
- salmon_fillet: toDataUrl(SVG_FISH),
69
- tuna_steak: toDataUrl(SVG_FISH),
70
- cod_fillet: toDataUrl(SVG_FISH),
71
- shrimp: toDataUrl(SVG_SHRIMP),
72
- // Eggs
73
- egg_fried: toDataUrl(SVG_FRIED_EGG),
74
- egg_boiled: toDataUrl(SVG_EGG),
75
- egg_scrambled: toDataUrl(SVG_FRIED_EGG),
76
- egg_poached: toDataUrl(SVG_FRIED_EGG),
77
- // Vegetables
78
- broccoli: toDataUrl(SVG_BROCCOLI),
79
- asparagus: toDataUrl(SVG_BROCCOLI),
80
- potato: toDataUrl(SVG_BROCCOLI),
81
- carrot: toDataUrl(SVG_BROCCOLI),
82
- // Grains
83
- rice_white: toDataUrl(SVG_RICE),
84
- pasta: toDataUrl(SVG_RICE),
85
- quinoa: toDataUrl(SVG_RICE)
160
+ ...POULTRY_ICONS,
161
+ ...BEEF_ICONS,
162
+ ...PORK_ICONS,
163
+ ...SEAFOOD_ICONS,
164
+ ...EGG_ICONS,
165
+ ...VEGETABLE_ICONS,
166
+ ...GRAIN_ICONS
86
167
  };
87
168
  var getIcon = (id, category) => {
88
169
  if (INGREDIENT_ICONS[id]) {
@@ -95,8 +176,15 @@ var getIcon = (id, category) => {
95
176
  };
96
177
  // Annotate the CommonJS export names for ESM import in node:
97
178
  0 && (module.exports = {
179
+ BEEF_ICONS,
98
180
  CATEGORY_ICONS,
181
+ EGG_ICONS,
182
+ GRAIN_ICONS,
99
183
  INGREDIENT_ICONS,
184
+ PORK_ICONS,
185
+ POULTRY_ICONS,
186
+ SEAFOOD_ICONS,
187
+ VEGETABLE_ICONS,
100
188
  getIcon
101
189
  });
102
190
  //# sourceMappingURL=icons.js.map
package/dist/icons.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../icons.ts"],"sourcesContent":["// High-quality flat-style food icons as data URLs\n// Consistent style, no external dependencies\n\n// Helper to encode SVG as data URL\nconst toDataUrl = (svg: string): string => {\n const encoded = encodeURIComponent(svg)\n .replace(/'/g, '%27')\n .replace(/\"/g, '%22');\n return `data:image/svg+xml,${encoded}`;\n};\n\n// =============================================================================\n// SVG DEFINITIONS\n// =============================================================================\n\nconst SVG_POULTRY = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 36 36\"><path fill=\"#C1694F\" d=\"M30.326 14.24c-.279-4.063-4.016-7.592-8.396-7.931-4.38-.339-7.294 1.908-8.406 5.865-1.113 3.958 1.006 9.672 1.006 9.672l1.781 2.281 3.594 5.719 3 .281 2.219-1.562 3.344-4.281 1.5-1.75.358-8.294z\"/><path fill=\"#E0A577\" d=\"M26.639 12.178c-.224-3.25-3.213-6.074-6.717-6.345-3.504-.271-5.836 1.526-6.725 4.692-.889 3.166.805 7.738.805 7.738l1.425 1.825 2.875 4.575 2.4.225 1.775-1.25 2.675-3.425 1.2-1.4.287-6.635z\"/><path fill=\"#C1694F\" d=\"M11.069 18.063c-2.5-1.688-3.02-4.602-3.02-4.602s-.937-6.219-.479-8.732c.458-2.513 2.769-3.27 4.436-2.498 1.667.771 1.428 1.705 2.016 3.575.588 1.87.336 3.803 1.078 5.614.741 1.811 1.913 2.933 2.26 4.618.346 1.685-.33 3.327-2.372 3.806-2.041.478-3.919-1.781-3.919-1.781z\"/><path fill=\"#E0A577\" d=\"M12.298 16.537c-2-1.35-2.416-3.682-2.416-3.682s-.75-4.975-.383-6.986c.367-2.01 2.215-2.616 3.549-1.998 1.333.617 1.142 1.364 1.613 2.86.47 1.496.269 3.042.862 4.491.593 1.449 1.531 2.347 1.808 3.694.277 1.348-.264 2.662-1.898 3.045-1.633.383-3.135-1.424-3.135-1.424z\"/><ellipse cx=\"17.952\" cy=\"32.656\" fill=\"#C1694F\" rx=\"4.218\" ry=\"1.594\"/><path fill=\"#E0A577\" d=\"M16.858 21.858s-.546 6.792-.179 8.75c.367 1.958 1 2.344 2.042 2.25 1.041-.094 1.291-1.125 1.375-2.417.083-1.292.125-8.333.125-8.333l-3.363-.25z\"/></svg>`;\n\nconst SVG_BEEF = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 36 36\"><path fill=\"#BE1931\" d=\"M35.728 10.357c-2.267-5.266-6.9-8.628-12.102-9.472-1.249-.203-7.308-.937-13.081 2.279C5.058 6.641 1.353 11.785.16 20.074c-.591 4.108-.074 7.093 1.539 8.871 2.021 2.229 5.555 2.596 8.306 2.596.976 0 1.87-.052 2.58-.103 2.018-.149 8.741-1.043 14.396-4.636 5.575-3.543 9.989-10.38 8.747-16.445z\"/><path fill=\"#DD2E44\" d=\"M33.728 11.357c-1.983-4.608-6.037-7.549-10.59-8.29-1.093-.178-6.395-.82-11.446 1.994C6.801 7.936 3.558 12.437 2.513 19.69c-.518 3.595-.065 6.207 1.347 7.762 1.769 1.951 4.861 2.272 7.268 2.272.854 0 1.636-.046 2.257-.09 1.766-.131 7.649-.913 12.597-4.057 4.88-3.102 8.742-9.085 7.746-14.22z\"/><path fill=\"#BE1931\" d=\"M23.901 5.398c-1.093-.178-6.395-.82-11.446 1.994-.969.54-1.859 1.157-2.674 1.833 1.019-.397 2.149-.652 3.394-.652 5.237 0 9.891 3.618 10.909 8.707.324 1.62.283 3.219-.056 4.73 3.019-2.727 5.476-6.757 4.62-10.392-1.983-4.608-6.037-7.549-10.59-8.29.614.09 4.219.788 5.843 2.07z\"/><ellipse cx=\"12.814\" cy=\"15.785\" fill=\"#F7DECE\" rx=\"7.021\" ry=\"5.404\"/><ellipse cx=\"12.814\" cy=\"15.785\" fill=\"#BE1931\" rx=\"3.298\" ry=\"2.54\"/></svg>`;\n\nconst SVG_PORK = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 36 36\"><path fill=\"#C1694F\" d=\"M31.29 13.214c-.483-4.839-5.274-8.944-10.761-9.221-5.487-.277-9.12 2.704-10.481 7.571-1.361 4.867.636 11.714 1.959 14.199 1.323 2.485 2.978 4.354 6.27 4.648 3.292.294 6.234-1.102 8.413-3.826 2.179-2.724 5.083-8.532 4.6-13.371z\"/><path fill=\"#E0A577\" d=\"M28.632 13.661c-.386-3.871-4.219-7.155-8.609-7.377-4.39-.222-7.296 2.163-8.385 6.057-1.089 3.894.509 9.371 1.567 11.359 1.058 1.988 2.382 3.483 5.016 3.718 2.634.235 4.987-.882 6.73-3.061 1.744-2.179 4.067-6.825 3.681-10.696z\"/><path fill=\"#FFCC4D\" d=\"M10.733 19.714c-1.128 1.332-4.012 4.523-5.345 5.618-1.333 1.095-3.857 2.857-3.857 4.762s1.524 3.619 3.619 3.619c2.095 0 3.583-1.179 4.917-2.333 1.333-1.155 4.379-4.446 5.065-5.422.686-.976 1.143-2.531.762-3.238-.381-.708-2.115-.746-3.219-.368-1.105.381-1.942-2.638-1.942-2.638z\"/><path fill=\"#FFAC33\" d=\"M5.482 31.003c-.073 0-.146-.022-.209-.067-.156-.111-.193-.328-.082-.484 1.04-1.459 3.113-4.063 3.134-4.09.117-.148.331-.177.483-.063.151.114.182.328.067.48-.021.027-2.089 2.625-3.125 4.078-.069.095-.176.146-.268.146zm1.729.814c-.073 0-.147-.022-.21-.068-.155-.111-.192-.328-.081-.484 1.373-1.928 3.076-4.138 3.093-4.161.115-.151.33-.181.482-.066.152.113.183.328.068.48-.017.023-1.716 2.228-3.084 4.148-.068.098-.175.151-.268.151zm1.787.664c-.073 0-.147-.022-.21-.068-.155-.111-.192-.328-.081-.484 1.398-1.961 2.869-3.931 2.884-3.951.114-.152.33-.184.482-.069.153.113.185.327.071.48-.015.02-1.482 1.984-2.877 3.941-.068.099-.175.151-.269.151z\"/><ellipse cx=\"6.833\" cy=\"32.524\" fill=\"#FFCC4D\" rx=\"2.667\" ry=\"1.143\"/></svg>`;\n\nconst SVG_FISH = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 36 36\"><path fill=\"#55ACEE\" d=\"M27 2s-5.958 3.75-8.031 5.469C14.865 11.057 8.503 18.839 5 23c-1.5 1-2.5 2.25-2.5 3.5 0 2.5 2.603 5.5 4.5 5.5 1.5 0 2.5-1 3.5-2.5 3.5-4.5 10.654-10.588 13.5-13.5C25.806 14.056 31 9 31 9l-4-7z\"/><circle cx=\"9.5\" cy=\"27.5\" r=\"1.5\" fill=\"#292F33\"/><path fill=\"#3B88C3\" d=\"M25 4s-4.958 3.75-7.031 5.469C13.865 13.057 8.503 19.839 5 24c-1.5 1-2.083 2.5-2.083 3.5 0 1.75 1.686 3.5 3.583 3.5 1.5 0 2.5-1 3.5-2.5 3.5-4.5 9.654-9.588 12.5-12.5C24.306 14.056 29 10 29 10l-4-6z\"/><path fill=\"#55ACEE\" d=\"M31 8s3 3.334 3 6c0 2.668-3 6-3 6l-2.667-5.333L31 8z\"/><path fill=\"#3B88C3\" d=\"M29 10s3 2.334 3 5c0 2.668-3 5-3 5l-2-4.5 2-5.5z\"/></svg>`;\n\nconst SVG_SHRIMP = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 36 36\"><path fill=\"#F4900C\" d=\"M26.688 9.812c-.271 2.917-1.167 8.146-4.792 11.771-2.917 2.917-8.771 3.125-12.708 3.125-1.549 0-2.912-.049-3.938-.106-1.958-.107-2.313-.707-2.188-1.914s1.538-.998 3.059-.871c.761.063 1.722.107 2.817.107 3.458 0 8.146-.438 10.146-2.438 2.833-2.833 3.563-6.563 3.813-8.938.188-1.792.854-1.917 1.604-1.646.75.272.395 1.91.187 2.91z\"/><path fill=\"#FFCC4D\" d=\"M10.376 15.098c-2.188.354-3.188.917-3.188 2.417 0 1.125.667 1.792 1.792 1.792 1.75 0 2.104-.771 2.104-1.917s-.708-2.292-.708-2.292z\"/><path fill=\"#F4900C\" d=\"M16.542 10.639c-4.25 0-5.917 2.042-6.875 4.5.084-.001.162-.014.25-.014 2.292 0 2.667 2.417 2.667 3.583 0 1.75-.854 3.167-3.292 3.167-1.708 0-3-1.104-3.145-2.958-.032.035-.065.065-.098.101-1.125 1.25-1.875 3.063-1.875 5.875 0 4.166 3.333 8.229 8.833 8.229s9.667-4.229 9.667-9.646c0-6.625-3.25-12.837-6.132-12.837z\"/><circle cx=\"9.396\" cy=\"27.441\" r=\"1.25\" fill=\"#662113\"/><path fill=\"#FFCC4D\" d=\"M15.5 25c-1.375 0-2.5 1.625-2.5 3.5 0 1.25.375 2.5 1.875 2.5 1.667 0 2.125-1.417 2.125-2.917 0-1.208-.125-3.083-1.5-3.083zm4-1c-1.125 0-2 1.542-2 3.25 0 1.083.333 2.25 1.625 2.25 1.375 0 1.875-1.208 1.875-2.583 0-1.084-.167-2.917-1.5-2.917z\"/><path fill=\"#F4900C\" d=\"M5.813 25.77c-.094-.178-.428-.188-.746-.022-.318.166-.479.452-.385.631l1.334 2.428c.081.155.327.187.599.095-.233-.497-1.026-1.995-.802-3.132z\"/><path fill=\"#FFCC4D\" d=\"M30.599 5.401c-.345.174-.525.513-.431.785.036.104.136.393-.212.938-.49.768-1.679 1.717-4.002 2.882-5.708 2.862-8.62.67-10.33-.776-.615-.52-1.084-1.059-1.462-1.55-.295-.384-.764-.389-1.047-.01-.283.378-.172.919.168 1.27l.022.023c.396.443.925.986 1.622 1.555 1.981 1.616 5.846 4.287 12.511.948 2.549-1.277 3.944-2.394 4.604-3.429.451-.708.554-1.378.343-1.988-.094-.272-.34-.361-.513-.361-.089 0-.175.021-.249.059-.355.179-.549.504-.479.784.054.217-.011.448-.234.668-.356.351-1.085.787-2.186 1.323-3.364 1.637-5.539 1.314-6.753.552-1.028-.646-1.424-1.558-1.425-1.56-.116-.266-.5-.361-.857-.212-.356.149-.54.484-.423.749l.001.002c.02.046.508 1.131 1.778 1.933 1.535.968 4.167 1.378 8.079-.527 1.212-.59 2.036-1.087 2.495-1.54.538-.531.659-1.102.529-1.574-.132-.476-.51-.818-.993-.818-.109 0-.221.019-.334.056z\"/><ellipse cx=\"27.819\" cy=\"2.692\" fill=\"#FFCC4D\" rx=\"2.413\" ry=\"1.025\" transform=\"rotate(-63.435 27.82 2.693)\"/><ellipse cx=\"30.569\" cy=\"4.067\" fill=\"#FFCC4D\" rx=\"2.413\" ry=\"1.025\" transform=\"rotate(-63.435 30.57 4.067)\"/></svg>`;\n\nconst SVG_EGG = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 36 36\"><path fill=\"#E1E8ED\" d=\"M18 35c-7.732 0-14-4.701-14-10.5C4 14.603 11.268 1 18 1s14 13.603 14 23.5c0 5.799-6.268 10.5-14 10.5z\"/><path fill=\"#CCD6DD\" d=\"M18 33c-6.627 0-12-3.873-12-8.5C6 15.603 12.268 3 18 3s12 12.603 12 21.5c0 4.627-5.373 8.5-12 8.5z\"/></svg>`;\n\nconst SVG_BROCCOLI = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 36 36\"><path fill=\"#77B255\" d=\"M22.453 35.564c-.315 0-.636-.08-.934-.251-5.281-3.029-5.792-10.958-5.813-11.294-.042-.679.474-1.263 1.152-1.305.683-.048 1.263.474 1.305 1.152.005.073.456 7.134 4.607 9.515.59.339.795 1.091.456 1.683-.227.396-.642.617-1.069.617-.001-.117-.296-.117-.704-.117z\"/><path fill=\"#5C913B\" d=\"M13.838 35.564c-.315 0-.636-.08-.934-.251-5.281-3.029-5.792-10.958-5.813-11.294-.042-.679.474-1.263 1.152-1.305.683-.048 1.263.474 1.305 1.152.005.073.456 7.134 4.607 9.515.59.339.795 1.091.456 1.683-.227.396-.642.617-1.069.617-.001-.117-.296-.117-.704-.117z\"/><ellipse cx=\"20.285\" cy=\"18.546\" fill=\"#77B255\" rx=\"5.701\" ry=\"5.476\"/><ellipse cx=\"8.073\" cy=\"15.9\" fill=\"#5C913B\" rx=\"5.145\" ry=\"4.943\"/><circle cx=\"23.111\" cy=\"9.561\" r=\"5.588\" fill=\"#77B255\"/><ellipse cx=\"13.838\" cy=\"7.589\" fill=\"#5C913B\" rx=\"4.866\" ry=\"4.674\"/><circle cx=\"17.236\" cy=\"13.369\" r=\"6.145\" fill=\"#3E721D\"/><circle cx=\"10.166\" cy=\"9.561\" r=\"4.588\" fill=\"#77B255\"/><circle cx=\"26.508\" cy=\"14.571\" r=\"4.588\" fill=\"#5C913B\"/><ellipse cx=\"20.285\" cy=\"4.787\" fill=\"#5C913B\" rx=\"4.31\" ry=\"4.141\"/></svg>`;\n\nconst SVG_RICE = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 36 36\"><path fill=\"#CCD6DD\" d=\"M33 22H3c-1.657 0-3 1.343-3 3v6c0 1.657 1.343 3 3 3h30c1.657 0 3-1.343 3-3v-6c0-1.657-1.343-3-3-3z\"/><path fill=\"#E1E8ED\" d=\"M33 20H3c-1.657 0-3 1.343-3 3v6c0 1.657 1.343 3 3 3h30c1.657 0 3-1.343 3-3v-6c0-1.657-1.343-3-3-3z\"/><path fill=\"#F5F8FA\" d=\"M8 18c-.552 0-1-.447-1-1v-4c0-.553.448-1 1-1s1 .447 1 1v4c0 .553-.448 1-1 1zm4 0c-.552 0-1-.447-1-1v-5c0-.553.448-1 1-1s1 .447 1 1v5c0 .553-.448 1-1 1zm4-1c-.552 0-1-.447-1-1v-4c0-.553.448-1 1-1s1 .447 1 1v4c0 .553-.448 1-1 1zm4 0c-.552 0-1-.447-1-1v-5c0-.553.448-1 1-1s1 .447 1 1v5c0 .553-.448 1-1 1zm4 1c-.552 0-1-.447-1-1v-4c0-.553.448-1 1-1s1 .447 1 1v4c0 .553-.448 1-1 1zm4 0c-.552 0-1-.447-1-1v-5c0-.553.448-1 1-1s1 .447 1 1v5c0 .553-.448 1-1 1z\"/></svg>`;\n\nconst SVG_FRIED_EGG = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 36 36\"><path fill=\"#E1E8ED\" d=\"M35 19.5c0 4.142-3.582 7.5-8 7.5-2.348 0-4.471-.939-6-2.452C19.471 26.061 17.348 27 15 27c-4.418 0-8-3.358-8-7.5 0-.646.087-1.271.248-1.865C4.414 17.047 2 14.552 2 11.5 2 8.186 4.833 5.5 8.333 5.5c.357 0 .707.027 1.05.078C10.66 3.398 12.928 2 15.5 2c2.572 0 4.84 1.398 6.117 3.578.343-.051.693-.078 1.05-.078C26.167 5.5 29 8.186 29 11.5c0 .985-.227 1.918-.631 2.757C32.159 14.676 35 16.799 35 19.5z\"/><ellipse cx=\"15\" cy=\"18\" fill=\"#FFCC4D\" rx=\"8\" ry=\"7\"/><ellipse cx=\"15\" cy=\"17\" fill=\"#FFE8B6\" rx=\"4\" ry=\"3.5\"/></svg>`;\n\n// =============================================================================\n// CATEGORY ICONS\n// =============================================================================\n\nexport const CATEGORY_ICONS: Record<string, string> = {\n poultry: toDataUrl(SVG_POULTRY),\n beef: toDataUrl(SVG_BEEF),\n pork: toDataUrl(SVG_PORK),\n seafood_fish: toDataUrl(SVG_FISH),\n seafood_shellfish: toDataUrl(SVG_SHRIMP),\n egg: toDataUrl(SVG_EGG),\n vegetable: toDataUrl(SVG_BROCCOLI),\n grain: toDataUrl(SVG_RICE),\n};\n\n// =============================================================================\n// INGREDIENT ICONS\n// =============================================================================\n\nexport const INGREDIENT_ICONS: Record<string, string> = {\n // Poultry\n chicken_breast: toDataUrl(SVG_POULTRY),\n chicken_breast_boneless: toDataUrl(SVG_POULTRY),\n chicken_thigh_boneless: toDataUrl(SVG_POULTRY),\n chicken_thigh: toDataUrl(SVG_POULTRY),\n chicken_whole: toDataUrl(SVG_POULTRY),\n turkey_breast: toDataUrl(SVG_POULTRY),\n\n // Beef\n beef_steak_ribeye: toDataUrl(SVG_BEEF),\n beef_ground: toDataUrl(SVG_BEEF),\n beef_roast: toDataUrl(SVG_BEEF),\n\n // Pork\n pork_chop: toDataUrl(SVG_PORK),\n pork_tenderloin: toDataUrl(SVG_PORK),\n pork_ribs: toDataUrl(SVG_PORK),\n\n // Seafood\n salmon_fillet: toDataUrl(SVG_FISH),\n tuna_steak: toDataUrl(SVG_FISH),\n cod_fillet: toDataUrl(SVG_FISH),\n shrimp: toDataUrl(SVG_SHRIMP),\n\n // Eggs\n egg_fried: toDataUrl(SVG_FRIED_EGG),\n egg_boiled: toDataUrl(SVG_EGG),\n egg_scrambled: toDataUrl(SVG_FRIED_EGG),\n egg_poached: toDataUrl(SVG_FRIED_EGG),\n\n // Vegetables\n broccoli: toDataUrl(SVG_BROCCOLI),\n asparagus: toDataUrl(SVG_BROCCOLI),\n potato: toDataUrl(SVG_BROCCOLI),\n carrot: toDataUrl(SVG_BROCCOLI),\n\n // Grains\n rice_white: toDataUrl(SVG_RICE),\n pasta: toDataUrl(SVG_RICE),\n quinoa: toDataUrl(SVG_RICE),\n};\n\n// =============================================================================\n// HELPER\n// =============================================================================\n\nexport const getIcon = (id: string, category?: string): string | undefined => {\n if (INGREDIENT_ICONS[id]) {\n return INGREDIENT_ICONS[id];\n }\n if (category && CATEGORY_ICONS[category]) {\n return CATEGORY_ICONS[category];\n }\n return undefined;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,IAAM,YAAY,CAAC,QAAwB;AACzC,QAAM,UAAU,mBAAmB,GAAG,EACnC,QAAQ,MAAM,KAAK,EACnB,QAAQ,MAAM,KAAK;AACtB,SAAO,sBAAsB,OAAO;AACtC;AAMA,IAAM,cAAc;AAEpB,IAAM,WAAW;AAEjB,IAAM,WAAW;AAEjB,IAAM,WAAW;AAEjB,IAAM,aAAa;AAEnB,IAAM,UAAU;AAEhB,IAAM,eAAe;AAErB,IAAM,WAAW;AAEjB,IAAM,gBAAgB;AAMf,IAAM,iBAAyC;AAAA,EACpD,SAAS,UAAU,WAAW;AAAA,EAC9B,MAAM,UAAU,QAAQ;AAAA,EACxB,MAAM,UAAU,QAAQ;AAAA,EACxB,cAAc,UAAU,QAAQ;AAAA,EAChC,mBAAmB,UAAU,UAAU;AAAA,EACvC,KAAK,UAAU,OAAO;AAAA,EACtB,WAAW,UAAU,YAAY;AAAA,EACjC,OAAO,UAAU,QAAQ;AAC3B;AAMO,IAAM,mBAA2C;AAAA;AAAA,EAEtD,gBAAgB,UAAU,WAAW;AAAA,EACrC,yBAAyB,UAAU,WAAW;AAAA,EAC9C,wBAAwB,UAAU,WAAW;AAAA,EAC7C,eAAe,UAAU,WAAW;AAAA,EACpC,eAAe,UAAU,WAAW;AAAA,EACpC,eAAe,UAAU,WAAW;AAAA;AAAA,EAGpC,mBAAmB,UAAU,QAAQ;AAAA,EACrC,aAAa,UAAU,QAAQ;AAAA,EAC/B,YAAY,UAAU,QAAQ;AAAA;AAAA,EAG9B,WAAW,UAAU,QAAQ;AAAA,EAC7B,iBAAiB,UAAU,QAAQ;AAAA,EACnC,WAAW,UAAU,QAAQ;AAAA;AAAA,EAG7B,eAAe,UAAU,QAAQ;AAAA,EACjC,YAAY,UAAU,QAAQ;AAAA,EAC9B,YAAY,UAAU,QAAQ;AAAA,EAC9B,QAAQ,UAAU,UAAU;AAAA;AAAA,EAG5B,WAAW,UAAU,aAAa;AAAA,EAClC,YAAY,UAAU,OAAO;AAAA,EAC7B,eAAe,UAAU,aAAa;AAAA,EACtC,aAAa,UAAU,aAAa;AAAA;AAAA,EAGpC,UAAU,UAAU,YAAY;AAAA,EAChC,WAAW,UAAU,YAAY;AAAA,EACjC,QAAQ,UAAU,YAAY;AAAA,EAC9B,QAAQ,UAAU,YAAY;AAAA;AAAA,EAG9B,YAAY,UAAU,QAAQ;AAAA,EAC9B,OAAO,UAAU,QAAQ;AAAA,EACzB,QAAQ,UAAU,QAAQ;AAC5B;AAMO,IAAM,UAAU,CAAC,IAAY,aAA0C;AAC5E,MAAI,iBAAiB,EAAE,GAAG;AACxB,WAAO,iBAAiB,EAAE;AAAA,EAC5B;AACA,MAAI,YAAY,eAAe,QAAQ,GAAG;AACxC,WAAO,eAAe,QAAQ;AAAA,EAChC;AACA,SAAO;AACT;","names":[]}
1
+ {"version":3,"sources":["../icons.ts"],"sourcesContent":["// Microsoft Fluent Emoji 3D via Lobehub CDN\n// Beautiful 3D emoji - MIT licensed, no Twitter involved\n\nconst FLUENT_BASE = 'https://registry.npmmirror.com/@lobehub/fluent-emoji-3d/latest/files/assets';\n\nconst fluent = (codepoint: string): string => `${FLUENT_BASE}/${codepoint}.webp`;\n\n// =============================================================================\n// CATEGORY ICONS\n// =============================================================================\nexport const CATEGORY_ICONS: Record<string, string> = {\n poultry: fluent('1f357'), // 🍗 Poultry Leg\n beef: fluent('1f969'), // 🥩 Cut of Meat\n pork: fluent('1f356'), // 🍖 Meat on Bone\n seafood_fish: fluent('1f41f'), // 🐟 Fish\n seafood_shellfish: fluent('1f990'), // 🦐 Shrimp\n egg: fluent('1f95a'), // 🥚 Egg\n vegetable: fluent('1f966'), // 🥦 Broccoli\n grain: fluent('1f35a'), // 🍚 Cooked Rice\n};\n\n// =============================================================================\n// INGREDIENT ICONS - Poultry\n// =============================================================================\nexport const POULTRY_ICONS: Record<string, string> = {\n chicken_breast: fluent('1f357'), // 🍗\n chicken_thigh: fluent('1f357'), // 🍗\n chicken_breast_boneless: fluent('1f357'), // 🍗\n chicken_thigh_boneless: fluent('1f357'), // 🍗\n chicken_whole: fluent('1f414'), // 🐔\n turkey_breast: fluent('1f983'), // 🦃\n duck: fluent('1f986'), // 🦆\n};\n\n// =============================================================================\n// INGREDIENT ICONS - Beef\n// =============================================================================\nexport const BEEF_ICONS: Record<string, string> = {\n beef_steak_ribeye: fluent('1f969'), // 🥩\n beef_ground: fluent('1f969'), // 🥩\n beef_roast: fluent('1f969'), // 🥩\n};\n\n// =============================================================================\n// INGREDIENT ICONS - Pork\n// =============================================================================\nexport const PORK_ICONS: Record<string, string> = {\n pork_chop: fluent('1f356'), // 🍖\n pork_tenderloin: fluent('1f356'), // 🍖\n pork_ribs: fluent('1f356'), // 🍖\n bacon: fluent('1f953'), // 🥓\n};\n\n// =============================================================================\n// INGREDIENT ICONS - Seafood\n// =============================================================================\nexport const SEAFOOD_ICONS: Record<string, string> = {\n salmon_fillet: fluent('1f41f'), // 🐟\n tuna_steak: fluent('1f41f'), // 🐟\n cod_fillet: fluent('1f41f'), // 🐟\n shrimp: fluent('1f990'), // 🦐\n lobster: fluent('1f99e'), // 🦞\n scallops: fluent('1f41a'), // 🐚\n crab: fluent('1f980'), // 🦀\n};\n\n// =============================================================================\n// INGREDIENT ICONS - Eggs\n// =============================================================================\nexport const EGG_ICONS: Record<string, string> = {\n egg_fried: fluent('1f373'), // 🍳\n egg_boiled: fluent('1f95a'), // 🥚\n egg_scrambled: fluent('1f373'), // 🍳\n egg_poached: fluent('1f373'), // 🍳\n egg_omelette: fluent('1f373'), // 🍳\n};\n\n// =============================================================================\n// INGREDIENT ICONS - Vegetables\n// =============================================================================\nexport const VEGETABLE_ICONS: Record<string, string> = {\n broccoli: fluent('1f966'), // 🥦\n asparagus: fluent('1f96c'), // 🥬 (leafy green, closest match)\n potato: fluent('1f954'), // 🥔\n carrot: fluent('1f955'), // 🥕\n corn: fluent('1f33d'), // 🌽\n tomato: fluent('1f345'), // 🍅\n onion: fluent('1f9c5'), // 🧅\n garlic: fluent('1f9c4'), // 🧄\n pepper: fluent('1fad1'), // 🫑 Bell Pepper\n leafy_greens: fluent('1f96c'), // 🥬\n mushroom: fluent('1f344'), // 🍄\n eggplant: fluent('1f346'), // 🍆\n cucumber: fluent('1f952'), // 🥒\n avocado: fluent('1f951'), // 🥑\n};\n\n// =============================================================================\n// INGREDIENT ICONS - Grains\n// =============================================================================\nexport const GRAIN_ICONS: Record<string, string> = {\n rice_white: fluent('1f35a'), // 🍚\n rice_brown: fluent('1f35a'), // 🍚\n pasta: fluent('1f35d'), // 🍝\n bread: fluent('1f35e'), // 🍞\n quinoa: fluent('1f35a'), // 🍚\n};\n\n// =============================================================================\n// COMBINED INGREDIENT ICONS\n// =============================================================================\nexport const INGREDIENT_ICONS: Record<string, string> = {\n ...POULTRY_ICONS,\n ...BEEF_ICONS,\n ...PORK_ICONS,\n ...SEAFOOD_ICONS,\n ...EGG_ICONS,\n ...VEGETABLE_ICONS,\n ...GRAIN_ICONS,\n};\n\n// =============================================================================\n// HELPER FUNCTION\n// =============================================================================\n/**\n * Get icon URL for a category or ingredient by ID\n * Falls back to category icon if no specific ingredient icon exists\n */\nexport const getIcon = (id: string, category?: string): string | undefined => {\n if (INGREDIENT_ICONS[id]) {\n return INGREDIENT_ICONS[id];\n }\n\n if (category && CATEGORY_ICONS[category]) {\n return CATEGORY_ICONS[category];\n }\n\n return undefined;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,IAAM,cAAc;AAEpB,IAAM,SAAS,CAAC,cAA8B,GAAG,WAAW,IAAI,SAAS;AAKlE,IAAM,iBAAyC;AAAA,EACpD,SAAS,OAAO,OAAO;AAAA;AAAA,EACvB,MAAM,OAAO,OAAO;AAAA;AAAA,EACpB,MAAM,OAAO,OAAO;AAAA;AAAA,EACpB,cAAc,OAAO,OAAO;AAAA;AAAA,EAC5B,mBAAmB,OAAO,OAAO;AAAA;AAAA,EACjC,KAAK,OAAO,OAAO;AAAA;AAAA,EACnB,WAAW,OAAO,OAAO;AAAA;AAAA,EACzB,OAAO,OAAO,OAAO;AAAA;AACvB;AAKO,IAAM,gBAAwC;AAAA,EACnD,gBAAgB,OAAO,OAAO;AAAA;AAAA,EAC9B,eAAe,OAAO,OAAO;AAAA;AAAA,EAC7B,yBAAyB,OAAO,OAAO;AAAA;AAAA,EACvC,wBAAwB,OAAO,OAAO;AAAA;AAAA,EACtC,eAAe,OAAO,OAAO;AAAA;AAAA,EAC7B,eAAe,OAAO,OAAO;AAAA;AAAA,EAC7B,MAAM,OAAO,OAAO;AAAA;AACtB;AAKO,IAAM,aAAqC;AAAA,EAChD,mBAAmB,OAAO,OAAO;AAAA;AAAA,EACjC,aAAa,OAAO,OAAO;AAAA;AAAA,EAC3B,YAAY,OAAO,OAAO;AAAA;AAC5B;AAKO,IAAM,aAAqC;AAAA,EAChD,WAAW,OAAO,OAAO;AAAA;AAAA,EACzB,iBAAiB,OAAO,OAAO;AAAA;AAAA,EAC/B,WAAW,OAAO,OAAO;AAAA;AAAA,EACzB,OAAO,OAAO,OAAO;AAAA;AACvB;AAKO,IAAM,gBAAwC;AAAA,EACnD,eAAe,OAAO,OAAO;AAAA;AAAA,EAC7B,YAAY,OAAO,OAAO;AAAA;AAAA,EAC1B,YAAY,OAAO,OAAO;AAAA;AAAA,EAC1B,QAAQ,OAAO,OAAO;AAAA;AAAA,EACtB,SAAS,OAAO,OAAO;AAAA;AAAA,EACvB,UAAU,OAAO,OAAO;AAAA;AAAA,EACxB,MAAM,OAAO,OAAO;AAAA;AACtB;AAKO,IAAM,YAAoC;AAAA,EAC/C,WAAW,OAAO,OAAO;AAAA;AAAA,EACzB,YAAY,OAAO,OAAO;AAAA;AAAA,EAC1B,eAAe,OAAO,OAAO;AAAA;AAAA,EAC7B,aAAa,OAAO,OAAO;AAAA;AAAA,EAC3B,cAAc,OAAO,OAAO;AAAA;AAC9B;AAKO,IAAM,kBAA0C;AAAA,EACrD,UAAU,OAAO,OAAO;AAAA;AAAA,EACxB,WAAW,OAAO,OAAO;AAAA;AAAA,EACzB,QAAQ,OAAO,OAAO;AAAA;AAAA,EACtB,QAAQ,OAAO,OAAO;AAAA;AAAA,EACtB,MAAM,OAAO,OAAO;AAAA;AAAA,EACpB,QAAQ,OAAO,OAAO;AAAA;AAAA,EACtB,OAAO,OAAO,OAAO;AAAA;AAAA,EACrB,QAAQ,OAAO,OAAO;AAAA;AAAA,EACtB,QAAQ,OAAO,OAAO;AAAA;AAAA,EACtB,cAAc,OAAO,OAAO;AAAA;AAAA,EAC5B,UAAU,OAAO,OAAO;AAAA;AAAA,EACxB,UAAU,OAAO,OAAO;AAAA;AAAA,EACxB,UAAU,OAAO,OAAO;AAAA;AAAA,EACxB,SAAS,OAAO,OAAO;AAAA;AACzB;AAKO,IAAM,cAAsC;AAAA,EACjD,YAAY,OAAO,OAAO;AAAA;AAAA,EAC1B,YAAY,OAAO,OAAO;AAAA;AAAA,EAC1B,OAAO,OAAO,OAAO;AAAA;AAAA,EACrB,OAAO,OAAO,OAAO;AAAA;AAAA,EACrB,QAAQ,OAAO,OAAO;AAAA;AACxB;AAKO,IAAM,mBAA2C;AAAA,EACtD,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACL;AASO,IAAM,UAAU,CAAC,IAAY,aAA0C;AAC5E,MAAI,iBAAiB,EAAE,GAAG;AACxB,WAAO,iBAAiB,EAAE;AAAA,EAC5B;AAEA,MAAI,YAAY,eAAe,QAAQ,GAAG;AACxC,WAAO,eAAe,QAAQ;AAAA,EAChC;AAEA,SAAO;AACT;","names":[]}
package/dist/icons.mjs CHANGED
@@ -1,62 +1,136 @@
1
1
  // icons.ts
2
- var toDataUrl = (svg) => {
3
- const encoded = encodeURIComponent(svg).replace(/'/g, "%27").replace(/"/g, "%22");
4
- return `data:image/svg+xml,${encoded}`;
5
- };
6
- var SVG_POULTRY = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#C1694F" d="M30.326 14.24c-.279-4.063-4.016-7.592-8.396-7.931-4.38-.339-7.294 1.908-8.406 5.865-1.113 3.958 1.006 9.672 1.006 9.672l1.781 2.281 3.594 5.719 3 .281 2.219-1.562 3.344-4.281 1.5-1.75.358-8.294z"/><path fill="#E0A577" d="M26.639 12.178c-.224-3.25-3.213-6.074-6.717-6.345-3.504-.271-5.836 1.526-6.725 4.692-.889 3.166.805 7.738.805 7.738l1.425 1.825 2.875 4.575 2.4.225 1.775-1.25 2.675-3.425 1.2-1.4.287-6.635z"/><path fill="#C1694F" d="M11.069 18.063c-2.5-1.688-3.02-4.602-3.02-4.602s-.937-6.219-.479-8.732c.458-2.513 2.769-3.27 4.436-2.498 1.667.771 1.428 1.705 2.016 3.575.588 1.87.336 3.803 1.078 5.614.741 1.811 1.913 2.933 2.26 4.618.346 1.685-.33 3.327-2.372 3.806-2.041.478-3.919-1.781-3.919-1.781z"/><path fill="#E0A577" d="M12.298 16.537c-2-1.35-2.416-3.682-2.416-3.682s-.75-4.975-.383-6.986c.367-2.01 2.215-2.616 3.549-1.998 1.333.617 1.142 1.364 1.613 2.86.47 1.496.269 3.042.862 4.491.593 1.449 1.531 2.347 1.808 3.694.277 1.348-.264 2.662-1.898 3.045-1.633.383-3.135-1.424-3.135-1.424z"/><ellipse cx="17.952" cy="32.656" fill="#C1694F" rx="4.218" ry="1.594"/><path fill="#E0A577" d="M16.858 21.858s-.546 6.792-.179 8.75c.367 1.958 1 2.344 2.042 2.25 1.041-.094 1.291-1.125 1.375-2.417.083-1.292.125-8.333.125-8.333l-3.363-.25z"/></svg>`;
7
- var SVG_BEEF = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#BE1931" d="M35.728 10.357c-2.267-5.266-6.9-8.628-12.102-9.472-1.249-.203-7.308-.937-13.081 2.279C5.058 6.641 1.353 11.785.16 20.074c-.591 4.108-.074 7.093 1.539 8.871 2.021 2.229 5.555 2.596 8.306 2.596.976 0 1.87-.052 2.58-.103 2.018-.149 8.741-1.043 14.396-4.636 5.575-3.543 9.989-10.38 8.747-16.445z"/><path fill="#DD2E44" d="M33.728 11.357c-1.983-4.608-6.037-7.549-10.59-8.29-1.093-.178-6.395-.82-11.446 1.994C6.801 7.936 3.558 12.437 2.513 19.69c-.518 3.595-.065 6.207 1.347 7.762 1.769 1.951 4.861 2.272 7.268 2.272.854 0 1.636-.046 2.257-.09 1.766-.131 7.649-.913 12.597-4.057 4.88-3.102 8.742-9.085 7.746-14.22z"/><path fill="#BE1931" d="M23.901 5.398c-1.093-.178-6.395-.82-11.446 1.994-.969.54-1.859 1.157-2.674 1.833 1.019-.397 2.149-.652 3.394-.652 5.237 0 9.891 3.618 10.909 8.707.324 1.62.283 3.219-.056 4.73 3.019-2.727 5.476-6.757 4.62-10.392-1.983-4.608-6.037-7.549-10.59-8.29.614.09 4.219.788 5.843 2.07z"/><ellipse cx="12.814" cy="15.785" fill="#F7DECE" rx="7.021" ry="5.404"/><ellipse cx="12.814" cy="15.785" fill="#BE1931" rx="3.298" ry="2.54"/></svg>`;
8
- var SVG_PORK = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#C1694F" d="M31.29 13.214c-.483-4.839-5.274-8.944-10.761-9.221-5.487-.277-9.12 2.704-10.481 7.571-1.361 4.867.636 11.714 1.959 14.199 1.323 2.485 2.978 4.354 6.27 4.648 3.292.294 6.234-1.102 8.413-3.826 2.179-2.724 5.083-8.532 4.6-13.371z"/><path fill="#E0A577" d="M28.632 13.661c-.386-3.871-4.219-7.155-8.609-7.377-4.39-.222-7.296 2.163-8.385 6.057-1.089 3.894.509 9.371 1.567 11.359 1.058 1.988 2.382 3.483 5.016 3.718 2.634.235 4.987-.882 6.73-3.061 1.744-2.179 4.067-6.825 3.681-10.696z"/><path fill="#FFCC4D" d="M10.733 19.714c-1.128 1.332-4.012 4.523-5.345 5.618-1.333 1.095-3.857 2.857-3.857 4.762s1.524 3.619 3.619 3.619c2.095 0 3.583-1.179 4.917-2.333 1.333-1.155 4.379-4.446 5.065-5.422.686-.976 1.143-2.531.762-3.238-.381-.708-2.115-.746-3.219-.368-1.105.381-1.942-2.638-1.942-2.638z"/><path fill="#FFAC33" d="M5.482 31.003c-.073 0-.146-.022-.209-.067-.156-.111-.193-.328-.082-.484 1.04-1.459 3.113-4.063 3.134-4.09.117-.148.331-.177.483-.063.151.114.182.328.067.48-.021.027-2.089 2.625-3.125 4.078-.069.095-.176.146-.268.146zm1.729.814c-.073 0-.147-.022-.21-.068-.155-.111-.192-.328-.081-.484 1.373-1.928 3.076-4.138 3.093-4.161.115-.151.33-.181.482-.066.152.113.183.328.068.48-.017.023-1.716 2.228-3.084 4.148-.068.098-.175.151-.268.151zm1.787.664c-.073 0-.147-.022-.21-.068-.155-.111-.192-.328-.081-.484 1.398-1.961 2.869-3.931 2.884-3.951.114-.152.33-.184.482-.069.153.113.185.327.071.48-.015.02-1.482 1.984-2.877 3.941-.068.099-.175.151-.269.151z"/><ellipse cx="6.833" cy="32.524" fill="#FFCC4D" rx="2.667" ry="1.143"/></svg>`;
9
- var SVG_FISH = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#55ACEE" d="M27 2s-5.958 3.75-8.031 5.469C14.865 11.057 8.503 18.839 5 23c-1.5 1-2.5 2.25-2.5 3.5 0 2.5 2.603 5.5 4.5 5.5 1.5 0 2.5-1 3.5-2.5 3.5-4.5 10.654-10.588 13.5-13.5C25.806 14.056 31 9 31 9l-4-7z"/><circle cx="9.5" cy="27.5" r="1.5" fill="#292F33"/><path fill="#3B88C3" d="M25 4s-4.958 3.75-7.031 5.469C13.865 13.057 8.503 19.839 5 24c-1.5 1-2.083 2.5-2.083 3.5 0 1.75 1.686 3.5 3.583 3.5 1.5 0 2.5-1 3.5-2.5 3.5-4.5 9.654-9.588 12.5-12.5C24.306 14.056 29 10 29 10l-4-6z"/><path fill="#55ACEE" d="M31 8s3 3.334 3 6c0 2.668-3 6-3 6l-2.667-5.333L31 8z"/><path fill="#3B88C3" d="M29 10s3 2.334 3 5c0 2.668-3 5-3 5l-2-4.5 2-5.5z"/></svg>`;
10
- var SVG_SHRIMP = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#F4900C" d="M26.688 9.812c-.271 2.917-1.167 8.146-4.792 11.771-2.917 2.917-8.771 3.125-12.708 3.125-1.549 0-2.912-.049-3.938-.106-1.958-.107-2.313-.707-2.188-1.914s1.538-.998 3.059-.871c.761.063 1.722.107 2.817.107 3.458 0 8.146-.438 10.146-2.438 2.833-2.833 3.563-6.563 3.813-8.938.188-1.792.854-1.917 1.604-1.646.75.272.395 1.91.187 2.91z"/><path fill="#FFCC4D" d="M10.376 15.098c-2.188.354-3.188.917-3.188 2.417 0 1.125.667 1.792 1.792 1.792 1.75 0 2.104-.771 2.104-1.917s-.708-2.292-.708-2.292z"/><path fill="#F4900C" d="M16.542 10.639c-4.25 0-5.917 2.042-6.875 4.5.084-.001.162-.014.25-.014 2.292 0 2.667 2.417 2.667 3.583 0 1.75-.854 3.167-3.292 3.167-1.708 0-3-1.104-3.145-2.958-.032.035-.065.065-.098.101-1.125 1.25-1.875 3.063-1.875 5.875 0 4.166 3.333 8.229 8.833 8.229s9.667-4.229 9.667-9.646c0-6.625-3.25-12.837-6.132-12.837z"/><circle cx="9.396" cy="27.441" r="1.25" fill="#662113"/><path fill="#FFCC4D" d="M15.5 25c-1.375 0-2.5 1.625-2.5 3.5 0 1.25.375 2.5 1.875 2.5 1.667 0 2.125-1.417 2.125-2.917 0-1.208-.125-3.083-1.5-3.083zm4-1c-1.125 0-2 1.542-2 3.25 0 1.083.333 2.25 1.625 2.25 1.375 0 1.875-1.208 1.875-2.583 0-1.084-.167-2.917-1.5-2.917z"/><path fill="#F4900C" d="M5.813 25.77c-.094-.178-.428-.188-.746-.022-.318.166-.479.452-.385.631l1.334 2.428c.081.155.327.187.599.095-.233-.497-1.026-1.995-.802-3.132z"/><path fill="#FFCC4D" d="M30.599 5.401c-.345.174-.525.513-.431.785.036.104.136.393-.212.938-.49.768-1.679 1.717-4.002 2.882-5.708 2.862-8.62.67-10.33-.776-.615-.52-1.084-1.059-1.462-1.55-.295-.384-.764-.389-1.047-.01-.283.378-.172.919.168 1.27l.022.023c.396.443.925.986 1.622 1.555 1.981 1.616 5.846 4.287 12.511.948 2.549-1.277 3.944-2.394 4.604-3.429.451-.708.554-1.378.343-1.988-.094-.272-.34-.361-.513-.361-.089 0-.175.021-.249.059-.355.179-.549.504-.479.784.054.217-.011.448-.234.668-.356.351-1.085.787-2.186 1.323-3.364 1.637-5.539 1.314-6.753.552-1.028-.646-1.424-1.558-1.425-1.56-.116-.266-.5-.361-.857-.212-.356.149-.54.484-.423.749l.001.002c.02.046.508 1.131 1.778 1.933 1.535.968 4.167 1.378 8.079-.527 1.212-.59 2.036-1.087 2.495-1.54.538-.531.659-1.102.529-1.574-.132-.476-.51-.818-.993-.818-.109 0-.221.019-.334.056z"/><ellipse cx="27.819" cy="2.692" fill="#FFCC4D" rx="2.413" ry="1.025" transform="rotate(-63.435 27.82 2.693)"/><ellipse cx="30.569" cy="4.067" fill="#FFCC4D" rx="2.413" ry="1.025" transform="rotate(-63.435 30.57 4.067)"/></svg>`;
11
- var SVG_EGG = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#E1E8ED" d="M18 35c-7.732 0-14-4.701-14-10.5C4 14.603 11.268 1 18 1s14 13.603 14 23.5c0 5.799-6.268 10.5-14 10.5z"/><path fill="#CCD6DD" d="M18 33c-6.627 0-12-3.873-12-8.5C6 15.603 12.268 3 18 3s12 12.603 12 21.5c0 4.627-5.373 8.5-12 8.5z"/></svg>`;
12
- var SVG_BROCCOLI = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#77B255" d="M22.453 35.564c-.315 0-.636-.08-.934-.251-5.281-3.029-5.792-10.958-5.813-11.294-.042-.679.474-1.263 1.152-1.305.683-.048 1.263.474 1.305 1.152.005.073.456 7.134 4.607 9.515.59.339.795 1.091.456 1.683-.227.396-.642.617-1.069.617-.001-.117-.296-.117-.704-.117z"/><path fill="#5C913B" d="M13.838 35.564c-.315 0-.636-.08-.934-.251-5.281-3.029-5.792-10.958-5.813-11.294-.042-.679.474-1.263 1.152-1.305.683-.048 1.263.474 1.305 1.152.005.073.456 7.134 4.607 9.515.59.339.795 1.091.456 1.683-.227.396-.642.617-1.069.617-.001-.117-.296-.117-.704-.117z"/><ellipse cx="20.285" cy="18.546" fill="#77B255" rx="5.701" ry="5.476"/><ellipse cx="8.073" cy="15.9" fill="#5C913B" rx="5.145" ry="4.943"/><circle cx="23.111" cy="9.561" r="5.588" fill="#77B255"/><ellipse cx="13.838" cy="7.589" fill="#5C913B" rx="4.866" ry="4.674"/><circle cx="17.236" cy="13.369" r="6.145" fill="#3E721D"/><circle cx="10.166" cy="9.561" r="4.588" fill="#77B255"/><circle cx="26.508" cy="14.571" r="4.588" fill="#5C913B"/><ellipse cx="20.285" cy="4.787" fill="#5C913B" rx="4.31" ry="4.141"/></svg>`;
13
- var SVG_RICE = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#CCD6DD" d="M33 22H3c-1.657 0-3 1.343-3 3v6c0 1.657 1.343 3 3 3h30c1.657 0 3-1.343 3-3v-6c0-1.657-1.343-3-3-3z"/><path fill="#E1E8ED" d="M33 20H3c-1.657 0-3 1.343-3 3v6c0 1.657 1.343 3 3 3h30c1.657 0 3-1.343 3-3v-6c0-1.657-1.343-3-3-3z"/><path fill="#F5F8FA" d="M8 18c-.552 0-1-.447-1-1v-4c0-.553.448-1 1-1s1 .447 1 1v4c0 .553-.448 1-1 1zm4 0c-.552 0-1-.447-1-1v-5c0-.553.448-1 1-1s1 .447 1 1v5c0 .553-.448 1-1 1zm4-1c-.552 0-1-.447-1-1v-4c0-.553.448-1 1-1s1 .447 1 1v4c0 .553-.448 1-1 1zm4 0c-.552 0-1-.447-1-1v-5c0-.553.448-1 1-1s1 .447 1 1v5c0 .553-.448 1-1 1zm4 1c-.552 0-1-.447-1-1v-4c0-.553.448-1 1-1s1 .447 1 1v4c0 .553-.448 1-1 1zm4 0c-.552 0-1-.447-1-1v-5c0-.553.448-1 1-1s1 .447 1 1v5c0 .553-.448 1-1 1z"/></svg>`;
14
- var SVG_FRIED_EGG = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#E1E8ED" d="M35 19.5c0 4.142-3.582 7.5-8 7.5-2.348 0-4.471-.939-6-2.452C19.471 26.061 17.348 27 15 27c-4.418 0-8-3.358-8-7.5 0-.646.087-1.271.248-1.865C4.414 17.047 2 14.552 2 11.5 2 8.186 4.833 5.5 8.333 5.5c.357 0 .707.027 1.05.078C10.66 3.398 12.928 2 15.5 2c2.572 0 4.84 1.398 6.117 3.578.343-.051.693-.078 1.05-.078C26.167 5.5 29 8.186 29 11.5c0 .985-.227 1.918-.631 2.757C32.159 14.676 35 16.799 35 19.5z"/><ellipse cx="15" cy="18" fill="#FFCC4D" rx="8" ry="7"/><ellipse cx="15" cy="17" fill="#FFE8B6" rx="4" ry="3.5"/></svg>`;
2
+ var FLUENT_BASE = "https://registry.npmmirror.com/@lobehub/fluent-emoji-3d/latest/files/assets";
3
+ var fluent = (codepoint) => `${FLUENT_BASE}/${codepoint}.webp`;
15
4
  var CATEGORY_ICONS = {
16
- poultry: toDataUrl(SVG_POULTRY),
17
- beef: toDataUrl(SVG_BEEF),
18
- pork: toDataUrl(SVG_PORK),
19
- seafood_fish: toDataUrl(SVG_FISH),
20
- seafood_shellfish: toDataUrl(SVG_SHRIMP),
21
- egg: toDataUrl(SVG_EGG),
22
- vegetable: toDataUrl(SVG_BROCCOLI),
23
- grain: toDataUrl(SVG_RICE)
5
+ poultry: fluent("1f357"),
6
+ // 🍗 Poultry Leg
7
+ beef: fluent("1f969"),
8
+ // 🥩 Cut of Meat
9
+ pork: fluent("1f356"),
10
+ // 🍖 Meat on Bone
11
+ seafood_fish: fluent("1f41f"),
12
+ // 🐟 Fish
13
+ seafood_shellfish: fluent("1f990"),
14
+ // 🦐 Shrimp
15
+ egg: fluent("1f95a"),
16
+ // 🥚 Egg
17
+ vegetable: fluent("1f966"),
18
+ // 🥦 Broccoli
19
+ grain: fluent("1f35a")
20
+ // 🍚 Cooked Rice
21
+ };
22
+ var POULTRY_ICONS = {
23
+ chicken_breast: fluent("1f357"),
24
+ // 🍗
25
+ chicken_thigh: fluent("1f357"),
26
+ // 🍗
27
+ chicken_breast_boneless: fluent("1f357"),
28
+ // 🍗
29
+ chicken_thigh_boneless: fluent("1f357"),
30
+ // 🍗
31
+ chicken_whole: fluent("1f414"),
32
+ // 🐔
33
+ turkey_breast: fluent("1f983"),
34
+ // 🦃
35
+ duck: fluent("1f986")
36
+ // 🦆
37
+ };
38
+ var BEEF_ICONS = {
39
+ beef_steak_ribeye: fluent("1f969"),
40
+ // 🥩
41
+ beef_ground: fluent("1f969"),
42
+ // 🥩
43
+ beef_roast: fluent("1f969")
44
+ // 🥩
45
+ };
46
+ var PORK_ICONS = {
47
+ pork_chop: fluent("1f356"),
48
+ // 🍖
49
+ pork_tenderloin: fluent("1f356"),
50
+ // 🍖
51
+ pork_ribs: fluent("1f356"),
52
+ // 🍖
53
+ bacon: fluent("1f953")
54
+ // 🥓
55
+ };
56
+ var SEAFOOD_ICONS = {
57
+ salmon_fillet: fluent("1f41f"),
58
+ // 🐟
59
+ tuna_steak: fluent("1f41f"),
60
+ // 🐟
61
+ cod_fillet: fluent("1f41f"),
62
+ // 🐟
63
+ shrimp: fluent("1f990"),
64
+ // 🦐
65
+ lobster: fluent("1f99e"),
66
+ // 🦞
67
+ scallops: fluent("1f41a"),
68
+ // 🐚
69
+ crab: fluent("1f980")
70
+ // 🦀
71
+ };
72
+ var EGG_ICONS = {
73
+ egg_fried: fluent("1f373"),
74
+ // 🍳
75
+ egg_boiled: fluent("1f95a"),
76
+ // 🥚
77
+ egg_scrambled: fluent("1f373"),
78
+ // 🍳
79
+ egg_poached: fluent("1f373"),
80
+ // 🍳
81
+ egg_omelette: fluent("1f373")
82
+ // 🍳
83
+ };
84
+ var VEGETABLE_ICONS = {
85
+ broccoli: fluent("1f966"),
86
+ // 🥦
87
+ asparagus: fluent("1f96c"),
88
+ // 🥬 (leafy green, closest match)
89
+ potato: fluent("1f954"),
90
+ // 🥔
91
+ carrot: fluent("1f955"),
92
+ // 🥕
93
+ corn: fluent("1f33d"),
94
+ // 🌽
95
+ tomato: fluent("1f345"),
96
+ // 🍅
97
+ onion: fluent("1f9c5"),
98
+ // 🧅
99
+ garlic: fluent("1f9c4"),
100
+ // 🧄
101
+ pepper: fluent("1fad1"),
102
+ // 🫑 Bell Pepper
103
+ leafy_greens: fluent("1f96c"),
104
+ // 🥬
105
+ mushroom: fluent("1f344"),
106
+ // 🍄
107
+ eggplant: fluent("1f346"),
108
+ // 🍆
109
+ cucumber: fluent("1f952"),
110
+ // 🥒
111
+ avocado: fluent("1f951")
112
+ // 🥑
113
+ };
114
+ var GRAIN_ICONS = {
115
+ rice_white: fluent("1f35a"),
116
+ // 🍚
117
+ rice_brown: fluent("1f35a"),
118
+ // 🍚
119
+ pasta: fluent("1f35d"),
120
+ // 🍝
121
+ bread: fluent("1f35e"),
122
+ // 🍞
123
+ quinoa: fluent("1f35a")
124
+ // 🍚
24
125
  };
25
126
  var INGREDIENT_ICONS = {
26
- // Poultry
27
- chicken_breast: toDataUrl(SVG_POULTRY),
28
- chicken_breast_boneless: toDataUrl(SVG_POULTRY),
29
- chicken_thigh_boneless: toDataUrl(SVG_POULTRY),
30
- chicken_thigh: toDataUrl(SVG_POULTRY),
31
- chicken_whole: toDataUrl(SVG_POULTRY),
32
- turkey_breast: toDataUrl(SVG_POULTRY),
33
- // Beef
34
- beef_steak_ribeye: toDataUrl(SVG_BEEF),
35
- beef_ground: toDataUrl(SVG_BEEF),
36
- beef_roast: toDataUrl(SVG_BEEF),
37
- // Pork
38
- pork_chop: toDataUrl(SVG_PORK),
39
- pork_tenderloin: toDataUrl(SVG_PORK),
40
- pork_ribs: toDataUrl(SVG_PORK),
41
- // Seafood
42
- salmon_fillet: toDataUrl(SVG_FISH),
43
- tuna_steak: toDataUrl(SVG_FISH),
44
- cod_fillet: toDataUrl(SVG_FISH),
45
- shrimp: toDataUrl(SVG_SHRIMP),
46
- // Eggs
47
- egg_fried: toDataUrl(SVG_FRIED_EGG),
48
- egg_boiled: toDataUrl(SVG_EGG),
49
- egg_scrambled: toDataUrl(SVG_FRIED_EGG),
50
- egg_poached: toDataUrl(SVG_FRIED_EGG),
51
- // Vegetables
52
- broccoli: toDataUrl(SVG_BROCCOLI),
53
- asparagus: toDataUrl(SVG_BROCCOLI),
54
- potato: toDataUrl(SVG_BROCCOLI),
55
- carrot: toDataUrl(SVG_BROCCOLI),
56
- // Grains
57
- rice_white: toDataUrl(SVG_RICE),
58
- pasta: toDataUrl(SVG_RICE),
59
- quinoa: toDataUrl(SVG_RICE)
127
+ ...POULTRY_ICONS,
128
+ ...BEEF_ICONS,
129
+ ...PORK_ICONS,
130
+ ...SEAFOOD_ICONS,
131
+ ...EGG_ICONS,
132
+ ...VEGETABLE_ICONS,
133
+ ...GRAIN_ICONS
60
134
  };
61
135
  var getIcon = (id, category) => {
62
136
  if (INGREDIENT_ICONS[id]) {
@@ -68,8 +142,15 @@ var getIcon = (id, category) => {
68
142
  return void 0;
69
143
  };
70
144
  export {
145
+ BEEF_ICONS,
71
146
  CATEGORY_ICONS,
147
+ EGG_ICONS,
148
+ GRAIN_ICONS,
72
149
  INGREDIENT_ICONS,
150
+ PORK_ICONS,
151
+ POULTRY_ICONS,
152
+ SEAFOOD_ICONS,
153
+ VEGETABLE_ICONS,
73
154
  getIcon
74
155
  };
75
156
  //# sourceMappingURL=icons.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../icons.ts"],"sourcesContent":["// High-quality flat-style food icons as data URLs\n// Consistent style, no external dependencies\n\n// Helper to encode SVG as data URL\nconst toDataUrl = (svg: string): string => {\n const encoded = encodeURIComponent(svg)\n .replace(/'/g, '%27')\n .replace(/\"/g, '%22');\n return `data:image/svg+xml,${encoded}`;\n};\n\n// =============================================================================\n// SVG DEFINITIONS\n// =============================================================================\n\nconst SVG_POULTRY = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 36 36\"><path fill=\"#C1694F\" d=\"M30.326 14.24c-.279-4.063-4.016-7.592-8.396-7.931-4.38-.339-7.294 1.908-8.406 5.865-1.113 3.958 1.006 9.672 1.006 9.672l1.781 2.281 3.594 5.719 3 .281 2.219-1.562 3.344-4.281 1.5-1.75.358-8.294z\"/><path fill=\"#E0A577\" d=\"M26.639 12.178c-.224-3.25-3.213-6.074-6.717-6.345-3.504-.271-5.836 1.526-6.725 4.692-.889 3.166.805 7.738.805 7.738l1.425 1.825 2.875 4.575 2.4.225 1.775-1.25 2.675-3.425 1.2-1.4.287-6.635z\"/><path fill=\"#C1694F\" d=\"M11.069 18.063c-2.5-1.688-3.02-4.602-3.02-4.602s-.937-6.219-.479-8.732c.458-2.513 2.769-3.27 4.436-2.498 1.667.771 1.428 1.705 2.016 3.575.588 1.87.336 3.803 1.078 5.614.741 1.811 1.913 2.933 2.26 4.618.346 1.685-.33 3.327-2.372 3.806-2.041.478-3.919-1.781-3.919-1.781z\"/><path fill=\"#E0A577\" d=\"M12.298 16.537c-2-1.35-2.416-3.682-2.416-3.682s-.75-4.975-.383-6.986c.367-2.01 2.215-2.616 3.549-1.998 1.333.617 1.142 1.364 1.613 2.86.47 1.496.269 3.042.862 4.491.593 1.449 1.531 2.347 1.808 3.694.277 1.348-.264 2.662-1.898 3.045-1.633.383-3.135-1.424-3.135-1.424z\"/><ellipse cx=\"17.952\" cy=\"32.656\" fill=\"#C1694F\" rx=\"4.218\" ry=\"1.594\"/><path fill=\"#E0A577\" d=\"M16.858 21.858s-.546 6.792-.179 8.75c.367 1.958 1 2.344 2.042 2.25 1.041-.094 1.291-1.125 1.375-2.417.083-1.292.125-8.333.125-8.333l-3.363-.25z\"/></svg>`;\n\nconst SVG_BEEF = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 36 36\"><path fill=\"#BE1931\" d=\"M35.728 10.357c-2.267-5.266-6.9-8.628-12.102-9.472-1.249-.203-7.308-.937-13.081 2.279C5.058 6.641 1.353 11.785.16 20.074c-.591 4.108-.074 7.093 1.539 8.871 2.021 2.229 5.555 2.596 8.306 2.596.976 0 1.87-.052 2.58-.103 2.018-.149 8.741-1.043 14.396-4.636 5.575-3.543 9.989-10.38 8.747-16.445z\"/><path fill=\"#DD2E44\" d=\"M33.728 11.357c-1.983-4.608-6.037-7.549-10.59-8.29-1.093-.178-6.395-.82-11.446 1.994C6.801 7.936 3.558 12.437 2.513 19.69c-.518 3.595-.065 6.207 1.347 7.762 1.769 1.951 4.861 2.272 7.268 2.272.854 0 1.636-.046 2.257-.09 1.766-.131 7.649-.913 12.597-4.057 4.88-3.102 8.742-9.085 7.746-14.22z\"/><path fill=\"#BE1931\" d=\"M23.901 5.398c-1.093-.178-6.395-.82-11.446 1.994-.969.54-1.859 1.157-2.674 1.833 1.019-.397 2.149-.652 3.394-.652 5.237 0 9.891 3.618 10.909 8.707.324 1.62.283 3.219-.056 4.73 3.019-2.727 5.476-6.757 4.62-10.392-1.983-4.608-6.037-7.549-10.59-8.29.614.09 4.219.788 5.843 2.07z\"/><ellipse cx=\"12.814\" cy=\"15.785\" fill=\"#F7DECE\" rx=\"7.021\" ry=\"5.404\"/><ellipse cx=\"12.814\" cy=\"15.785\" fill=\"#BE1931\" rx=\"3.298\" ry=\"2.54\"/></svg>`;\n\nconst SVG_PORK = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 36 36\"><path fill=\"#C1694F\" d=\"M31.29 13.214c-.483-4.839-5.274-8.944-10.761-9.221-5.487-.277-9.12 2.704-10.481 7.571-1.361 4.867.636 11.714 1.959 14.199 1.323 2.485 2.978 4.354 6.27 4.648 3.292.294 6.234-1.102 8.413-3.826 2.179-2.724 5.083-8.532 4.6-13.371z\"/><path fill=\"#E0A577\" d=\"M28.632 13.661c-.386-3.871-4.219-7.155-8.609-7.377-4.39-.222-7.296 2.163-8.385 6.057-1.089 3.894.509 9.371 1.567 11.359 1.058 1.988 2.382 3.483 5.016 3.718 2.634.235 4.987-.882 6.73-3.061 1.744-2.179 4.067-6.825 3.681-10.696z\"/><path fill=\"#FFCC4D\" d=\"M10.733 19.714c-1.128 1.332-4.012 4.523-5.345 5.618-1.333 1.095-3.857 2.857-3.857 4.762s1.524 3.619 3.619 3.619c2.095 0 3.583-1.179 4.917-2.333 1.333-1.155 4.379-4.446 5.065-5.422.686-.976 1.143-2.531.762-3.238-.381-.708-2.115-.746-3.219-.368-1.105.381-1.942-2.638-1.942-2.638z\"/><path fill=\"#FFAC33\" d=\"M5.482 31.003c-.073 0-.146-.022-.209-.067-.156-.111-.193-.328-.082-.484 1.04-1.459 3.113-4.063 3.134-4.09.117-.148.331-.177.483-.063.151.114.182.328.067.48-.021.027-2.089 2.625-3.125 4.078-.069.095-.176.146-.268.146zm1.729.814c-.073 0-.147-.022-.21-.068-.155-.111-.192-.328-.081-.484 1.373-1.928 3.076-4.138 3.093-4.161.115-.151.33-.181.482-.066.152.113.183.328.068.48-.017.023-1.716 2.228-3.084 4.148-.068.098-.175.151-.268.151zm1.787.664c-.073 0-.147-.022-.21-.068-.155-.111-.192-.328-.081-.484 1.398-1.961 2.869-3.931 2.884-3.951.114-.152.33-.184.482-.069.153.113.185.327.071.48-.015.02-1.482 1.984-2.877 3.941-.068.099-.175.151-.269.151z\"/><ellipse cx=\"6.833\" cy=\"32.524\" fill=\"#FFCC4D\" rx=\"2.667\" ry=\"1.143\"/></svg>`;\n\nconst SVG_FISH = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 36 36\"><path fill=\"#55ACEE\" d=\"M27 2s-5.958 3.75-8.031 5.469C14.865 11.057 8.503 18.839 5 23c-1.5 1-2.5 2.25-2.5 3.5 0 2.5 2.603 5.5 4.5 5.5 1.5 0 2.5-1 3.5-2.5 3.5-4.5 10.654-10.588 13.5-13.5C25.806 14.056 31 9 31 9l-4-7z\"/><circle cx=\"9.5\" cy=\"27.5\" r=\"1.5\" fill=\"#292F33\"/><path fill=\"#3B88C3\" d=\"M25 4s-4.958 3.75-7.031 5.469C13.865 13.057 8.503 19.839 5 24c-1.5 1-2.083 2.5-2.083 3.5 0 1.75 1.686 3.5 3.583 3.5 1.5 0 2.5-1 3.5-2.5 3.5-4.5 9.654-9.588 12.5-12.5C24.306 14.056 29 10 29 10l-4-6z\"/><path fill=\"#55ACEE\" d=\"M31 8s3 3.334 3 6c0 2.668-3 6-3 6l-2.667-5.333L31 8z\"/><path fill=\"#3B88C3\" d=\"M29 10s3 2.334 3 5c0 2.668-3 5-3 5l-2-4.5 2-5.5z\"/></svg>`;\n\nconst SVG_SHRIMP = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 36 36\"><path fill=\"#F4900C\" d=\"M26.688 9.812c-.271 2.917-1.167 8.146-4.792 11.771-2.917 2.917-8.771 3.125-12.708 3.125-1.549 0-2.912-.049-3.938-.106-1.958-.107-2.313-.707-2.188-1.914s1.538-.998 3.059-.871c.761.063 1.722.107 2.817.107 3.458 0 8.146-.438 10.146-2.438 2.833-2.833 3.563-6.563 3.813-8.938.188-1.792.854-1.917 1.604-1.646.75.272.395 1.91.187 2.91z\"/><path fill=\"#FFCC4D\" d=\"M10.376 15.098c-2.188.354-3.188.917-3.188 2.417 0 1.125.667 1.792 1.792 1.792 1.75 0 2.104-.771 2.104-1.917s-.708-2.292-.708-2.292z\"/><path fill=\"#F4900C\" d=\"M16.542 10.639c-4.25 0-5.917 2.042-6.875 4.5.084-.001.162-.014.25-.014 2.292 0 2.667 2.417 2.667 3.583 0 1.75-.854 3.167-3.292 3.167-1.708 0-3-1.104-3.145-2.958-.032.035-.065.065-.098.101-1.125 1.25-1.875 3.063-1.875 5.875 0 4.166 3.333 8.229 8.833 8.229s9.667-4.229 9.667-9.646c0-6.625-3.25-12.837-6.132-12.837z\"/><circle cx=\"9.396\" cy=\"27.441\" r=\"1.25\" fill=\"#662113\"/><path fill=\"#FFCC4D\" d=\"M15.5 25c-1.375 0-2.5 1.625-2.5 3.5 0 1.25.375 2.5 1.875 2.5 1.667 0 2.125-1.417 2.125-2.917 0-1.208-.125-3.083-1.5-3.083zm4-1c-1.125 0-2 1.542-2 3.25 0 1.083.333 2.25 1.625 2.25 1.375 0 1.875-1.208 1.875-2.583 0-1.084-.167-2.917-1.5-2.917z\"/><path fill=\"#F4900C\" d=\"M5.813 25.77c-.094-.178-.428-.188-.746-.022-.318.166-.479.452-.385.631l1.334 2.428c.081.155.327.187.599.095-.233-.497-1.026-1.995-.802-3.132z\"/><path fill=\"#FFCC4D\" d=\"M30.599 5.401c-.345.174-.525.513-.431.785.036.104.136.393-.212.938-.49.768-1.679 1.717-4.002 2.882-5.708 2.862-8.62.67-10.33-.776-.615-.52-1.084-1.059-1.462-1.55-.295-.384-.764-.389-1.047-.01-.283.378-.172.919.168 1.27l.022.023c.396.443.925.986 1.622 1.555 1.981 1.616 5.846 4.287 12.511.948 2.549-1.277 3.944-2.394 4.604-3.429.451-.708.554-1.378.343-1.988-.094-.272-.34-.361-.513-.361-.089 0-.175.021-.249.059-.355.179-.549.504-.479.784.054.217-.011.448-.234.668-.356.351-1.085.787-2.186 1.323-3.364 1.637-5.539 1.314-6.753.552-1.028-.646-1.424-1.558-1.425-1.56-.116-.266-.5-.361-.857-.212-.356.149-.54.484-.423.749l.001.002c.02.046.508 1.131 1.778 1.933 1.535.968 4.167 1.378 8.079-.527 1.212-.59 2.036-1.087 2.495-1.54.538-.531.659-1.102.529-1.574-.132-.476-.51-.818-.993-.818-.109 0-.221.019-.334.056z\"/><ellipse cx=\"27.819\" cy=\"2.692\" fill=\"#FFCC4D\" rx=\"2.413\" ry=\"1.025\" transform=\"rotate(-63.435 27.82 2.693)\"/><ellipse cx=\"30.569\" cy=\"4.067\" fill=\"#FFCC4D\" rx=\"2.413\" ry=\"1.025\" transform=\"rotate(-63.435 30.57 4.067)\"/></svg>`;\n\nconst SVG_EGG = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 36 36\"><path fill=\"#E1E8ED\" d=\"M18 35c-7.732 0-14-4.701-14-10.5C4 14.603 11.268 1 18 1s14 13.603 14 23.5c0 5.799-6.268 10.5-14 10.5z\"/><path fill=\"#CCD6DD\" d=\"M18 33c-6.627 0-12-3.873-12-8.5C6 15.603 12.268 3 18 3s12 12.603 12 21.5c0 4.627-5.373 8.5-12 8.5z\"/></svg>`;\n\nconst SVG_BROCCOLI = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 36 36\"><path fill=\"#77B255\" d=\"M22.453 35.564c-.315 0-.636-.08-.934-.251-5.281-3.029-5.792-10.958-5.813-11.294-.042-.679.474-1.263 1.152-1.305.683-.048 1.263.474 1.305 1.152.005.073.456 7.134 4.607 9.515.59.339.795 1.091.456 1.683-.227.396-.642.617-1.069.617-.001-.117-.296-.117-.704-.117z\"/><path fill=\"#5C913B\" d=\"M13.838 35.564c-.315 0-.636-.08-.934-.251-5.281-3.029-5.792-10.958-5.813-11.294-.042-.679.474-1.263 1.152-1.305.683-.048 1.263.474 1.305 1.152.005.073.456 7.134 4.607 9.515.59.339.795 1.091.456 1.683-.227.396-.642.617-1.069.617-.001-.117-.296-.117-.704-.117z\"/><ellipse cx=\"20.285\" cy=\"18.546\" fill=\"#77B255\" rx=\"5.701\" ry=\"5.476\"/><ellipse cx=\"8.073\" cy=\"15.9\" fill=\"#5C913B\" rx=\"5.145\" ry=\"4.943\"/><circle cx=\"23.111\" cy=\"9.561\" r=\"5.588\" fill=\"#77B255\"/><ellipse cx=\"13.838\" cy=\"7.589\" fill=\"#5C913B\" rx=\"4.866\" ry=\"4.674\"/><circle cx=\"17.236\" cy=\"13.369\" r=\"6.145\" fill=\"#3E721D\"/><circle cx=\"10.166\" cy=\"9.561\" r=\"4.588\" fill=\"#77B255\"/><circle cx=\"26.508\" cy=\"14.571\" r=\"4.588\" fill=\"#5C913B\"/><ellipse cx=\"20.285\" cy=\"4.787\" fill=\"#5C913B\" rx=\"4.31\" ry=\"4.141\"/></svg>`;\n\nconst SVG_RICE = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 36 36\"><path fill=\"#CCD6DD\" d=\"M33 22H3c-1.657 0-3 1.343-3 3v6c0 1.657 1.343 3 3 3h30c1.657 0 3-1.343 3-3v-6c0-1.657-1.343-3-3-3z\"/><path fill=\"#E1E8ED\" d=\"M33 20H3c-1.657 0-3 1.343-3 3v6c0 1.657 1.343 3 3 3h30c1.657 0 3-1.343 3-3v-6c0-1.657-1.343-3-3-3z\"/><path fill=\"#F5F8FA\" d=\"M8 18c-.552 0-1-.447-1-1v-4c0-.553.448-1 1-1s1 .447 1 1v4c0 .553-.448 1-1 1zm4 0c-.552 0-1-.447-1-1v-5c0-.553.448-1 1-1s1 .447 1 1v5c0 .553-.448 1-1 1zm4-1c-.552 0-1-.447-1-1v-4c0-.553.448-1 1-1s1 .447 1 1v4c0 .553-.448 1-1 1zm4 0c-.552 0-1-.447-1-1v-5c0-.553.448-1 1-1s1 .447 1 1v5c0 .553-.448 1-1 1zm4 1c-.552 0-1-.447-1-1v-4c0-.553.448-1 1-1s1 .447 1 1v4c0 .553-.448 1-1 1zm4 0c-.552 0-1-.447-1-1v-5c0-.553.448-1 1-1s1 .447 1 1v5c0 .553-.448 1-1 1z\"/></svg>`;\n\nconst SVG_FRIED_EGG = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 36 36\"><path fill=\"#E1E8ED\" d=\"M35 19.5c0 4.142-3.582 7.5-8 7.5-2.348 0-4.471-.939-6-2.452C19.471 26.061 17.348 27 15 27c-4.418 0-8-3.358-8-7.5 0-.646.087-1.271.248-1.865C4.414 17.047 2 14.552 2 11.5 2 8.186 4.833 5.5 8.333 5.5c.357 0 .707.027 1.05.078C10.66 3.398 12.928 2 15.5 2c2.572 0 4.84 1.398 6.117 3.578.343-.051.693-.078 1.05-.078C26.167 5.5 29 8.186 29 11.5c0 .985-.227 1.918-.631 2.757C32.159 14.676 35 16.799 35 19.5z\"/><ellipse cx=\"15\" cy=\"18\" fill=\"#FFCC4D\" rx=\"8\" ry=\"7\"/><ellipse cx=\"15\" cy=\"17\" fill=\"#FFE8B6\" rx=\"4\" ry=\"3.5\"/></svg>`;\n\n// =============================================================================\n// CATEGORY ICONS\n// =============================================================================\n\nexport const CATEGORY_ICONS: Record<string, string> = {\n poultry: toDataUrl(SVG_POULTRY),\n beef: toDataUrl(SVG_BEEF),\n pork: toDataUrl(SVG_PORK),\n seafood_fish: toDataUrl(SVG_FISH),\n seafood_shellfish: toDataUrl(SVG_SHRIMP),\n egg: toDataUrl(SVG_EGG),\n vegetable: toDataUrl(SVG_BROCCOLI),\n grain: toDataUrl(SVG_RICE),\n};\n\n// =============================================================================\n// INGREDIENT ICONS\n// =============================================================================\n\nexport const INGREDIENT_ICONS: Record<string, string> = {\n // Poultry\n chicken_breast: toDataUrl(SVG_POULTRY),\n chicken_breast_boneless: toDataUrl(SVG_POULTRY),\n chicken_thigh_boneless: toDataUrl(SVG_POULTRY),\n chicken_thigh: toDataUrl(SVG_POULTRY),\n chicken_whole: toDataUrl(SVG_POULTRY),\n turkey_breast: toDataUrl(SVG_POULTRY),\n\n // Beef\n beef_steak_ribeye: toDataUrl(SVG_BEEF),\n beef_ground: toDataUrl(SVG_BEEF),\n beef_roast: toDataUrl(SVG_BEEF),\n\n // Pork\n pork_chop: toDataUrl(SVG_PORK),\n pork_tenderloin: toDataUrl(SVG_PORK),\n pork_ribs: toDataUrl(SVG_PORK),\n\n // Seafood\n salmon_fillet: toDataUrl(SVG_FISH),\n tuna_steak: toDataUrl(SVG_FISH),\n cod_fillet: toDataUrl(SVG_FISH),\n shrimp: toDataUrl(SVG_SHRIMP),\n\n // Eggs\n egg_fried: toDataUrl(SVG_FRIED_EGG),\n egg_boiled: toDataUrl(SVG_EGG),\n egg_scrambled: toDataUrl(SVG_FRIED_EGG),\n egg_poached: toDataUrl(SVG_FRIED_EGG),\n\n // Vegetables\n broccoli: toDataUrl(SVG_BROCCOLI),\n asparagus: toDataUrl(SVG_BROCCOLI),\n potato: toDataUrl(SVG_BROCCOLI),\n carrot: toDataUrl(SVG_BROCCOLI),\n\n // Grains\n rice_white: toDataUrl(SVG_RICE),\n pasta: toDataUrl(SVG_RICE),\n quinoa: toDataUrl(SVG_RICE),\n};\n\n// =============================================================================\n// HELPER\n// =============================================================================\n\nexport const getIcon = (id: string, category?: string): string | undefined => {\n if (INGREDIENT_ICONS[id]) {\n return INGREDIENT_ICONS[id];\n }\n if (category && CATEGORY_ICONS[category]) {\n return CATEGORY_ICONS[category];\n }\n return undefined;\n};\n"],"mappings":";AAIA,IAAM,YAAY,CAAC,QAAwB;AACzC,QAAM,UAAU,mBAAmB,GAAG,EACnC,QAAQ,MAAM,KAAK,EACnB,QAAQ,MAAM,KAAK;AACtB,SAAO,sBAAsB,OAAO;AACtC;AAMA,IAAM,cAAc;AAEpB,IAAM,WAAW;AAEjB,IAAM,WAAW;AAEjB,IAAM,WAAW;AAEjB,IAAM,aAAa;AAEnB,IAAM,UAAU;AAEhB,IAAM,eAAe;AAErB,IAAM,WAAW;AAEjB,IAAM,gBAAgB;AAMf,IAAM,iBAAyC;AAAA,EACpD,SAAS,UAAU,WAAW;AAAA,EAC9B,MAAM,UAAU,QAAQ;AAAA,EACxB,MAAM,UAAU,QAAQ;AAAA,EACxB,cAAc,UAAU,QAAQ;AAAA,EAChC,mBAAmB,UAAU,UAAU;AAAA,EACvC,KAAK,UAAU,OAAO;AAAA,EACtB,WAAW,UAAU,YAAY;AAAA,EACjC,OAAO,UAAU,QAAQ;AAC3B;AAMO,IAAM,mBAA2C;AAAA;AAAA,EAEtD,gBAAgB,UAAU,WAAW;AAAA,EACrC,yBAAyB,UAAU,WAAW;AAAA,EAC9C,wBAAwB,UAAU,WAAW;AAAA,EAC7C,eAAe,UAAU,WAAW;AAAA,EACpC,eAAe,UAAU,WAAW;AAAA,EACpC,eAAe,UAAU,WAAW;AAAA;AAAA,EAGpC,mBAAmB,UAAU,QAAQ;AAAA,EACrC,aAAa,UAAU,QAAQ;AAAA,EAC/B,YAAY,UAAU,QAAQ;AAAA;AAAA,EAG9B,WAAW,UAAU,QAAQ;AAAA,EAC7B,iBAAiB,UAAU,QAAQ;AAAA,EACnC,WAAW,UAAU,QAAQ;AAAA;AAAA,EAG7B,eAAe,UAAU,QAAQ;AAAA,EACjC,YAAY,UAAU,QAAQ;AAAA,EAC9B,YAAY,UAAU,QAAQ;AAAA,EAC9B,QAAQ,UAAU,UAAU;AAAA;AAAA,EAG5B,WAAW,UAAU,aAAa;AAAA,EAClC,YAAY,UAAU,OAAO;AAAA,EAC7B,eAAe,UAAU,aAAa;AAAA,EACtC,aAAa,UAAU,aAAa;AAAA;AAAA,EAGpC,UAAU,UAAU,YAAY;AAAA,EAChC,WAAW,UAAU,YAAY;AAAA,EACjC,QAAQ,UAAU,YAAY;AAAA,EAC9B,QAAQ,UAAU,YAAY;AAAA;AAAA,EAG9B,YAAY,UAAU,QAAQ;AAAA,EAC9B,OAAO,UAAU,QAAQ;AAAA,EACzB,QAAQ,UAAU,QAAQ;AAC5B;AAMO,IAAM,UAAU,CAAC,IAAY,aAA0C;AAC5E,MAAI,iBAAiB,EAAE,GAAG;AACxB,WAAO,iBAAiB,EAAE;AAAA,EAC5B;AACA,MAAI,YAAY,eAAe,QAAQ,GAAG;AACxC,WAAO,eAAe,QAAQ;AAAA,EAChC;AACA,SAAO;AACT;","names":[]}
1
+ {"version":3,"sources":["../icons.ts"],"sourcesContent":["// Microsoft Fluent Emoji 3D via Lobehub CDN\n// Beautiful 3D emoji - MIT licensed, no Twitter involved\n\nconst FLUENT_BASE = 'https://registry.npmmirror.com/@lobehub/fluent-emoji-3d/latest/files/assets';\n\nconst fluent = (codepoint: string): string => `${FLUENT_BASE}/${codepoint}.webp`;\n\n// =============================================================================\n// CATEGORY ICONS\n// =============================================================================\nexport const CATEGORY_ICONS: Record<string, string> = {\n poultry: fluent('1f357'), // 🍗 Poultry Leg\n beef: fluent('1f969'), // 🥩 Cut of Meat\n pork: fluent('1f356'), // 🍖 Meat on Bone\n seafood_fish: fluent('1f41f'), // 🐟 Fish\n seafood_shellfish: fluent('1f990'), // 🦐 Shrimp\n egg: fluent('1f95a'), // 🥚 Egg\n vegetable: fluent('1f966'), // 🥦 Broccoli\n grain: fluent('1f35a'), // 🍚 Cooked Rice\n};\n\n// =============================================================================\n// INGREDIENT ICONS - Poultry\n// =============================================================================\nexport const POULTRY_ICONS: Record<string, string> = {\n chicken_breast: fluent('1f357'), // 🍗\n chicken_thigh: fluent('1f357'), // 🍗\n chicken_breast_boneless: fluent('1f357'), // 🍗\n chicken_thigh_boneless: fluent('1f357'), // 🍗\n chicken_whole: fluent('1f414'), // 🐔\n turkey_breast: fluent('1f983'), // 🦃\n duck: fluent('1f986'), // 🦆\n};\n\n// =============================================================================\n// INGREDIENT ICONS - Beef\n// =============================================================================\nexport const BEEF_ICONS: Record<string, string> = {\n beef_steak_ribeye: fluent('1f969'), // 🥩\n beef_ground: fluent('1f969'), // 🥩\n beef_roast: fluent('1f969'), // 🥩\n};\n\n// =============================================================================\n// INGREDIENT ICONS - Pork\n// =============================================================================\nexport const PORK_ICONS: Record<string, string> = {\n pork_chop: fluent('1f356'), // 🍖\n pork_tenderloin: fluent('1f356'), // 🍖\n pork_ribs: fluent('1f356'), // 🍖\n bacon: fluent('1f953'), // 🥓\n};\n\n// =============================================================================\n// INGREDIENT ICONS - Seafood\n// =============================================================================\nexport const SEAFOOD_ICONS: Record<string, string> = {\n salmon_fillet: fluent('1f41f'), // 🐟\n tuna_steak: fluent('1f41f'), // 🐟\n cod_fillet: fluent('1f41f'), // 🐟\n shrimp: fluent('1f990'), // 🦐\n lobster: fluent('1f99e'), // 🦞\n scallops: fluent('1f41a'), // 🐚\n crab: fluent('1f980'), // 🦀\n};\n\n// =============================================================================\n// INGREDIENT ICONS - Eggs\n// =============================================================================\nexport const EGG_ICONS: Record<string, string> = {\n egg_fried: fluent('1f373'), // 🍳\n egg_boiled: fluent('1f95a'), // 🥚\n egg_scrambled: fluent('1f373'), // 🍳\n egg_poached: fluent('1f373'), // 🍳\n egg_omelette: fluent('1f373'), // 🍳\n};\n\n// =============================================================================\n// INGREDIENT ICONS - Vegetables\n// =============================================================================\nexport const VEGETABLE_ICONS: Record<string, string> = {\n broccoli: fluent('1f966'), // 🥦\n asparagus: fluent('1f96c'), // 🥬 (leafy green, closest match)\n potato: fluent('1f954'), // 🥔\n carrot: fluent('1f955'), // 🥕\n corn: fluent('1f33d'), // 🌽\n tomato: fluent('1f345'), // 🍅\n onion: fluent('1f9c5'), // 🧅\n garlic: fluent('1f9c4'), // 🧄\n pepper: fluent('1fad1'), // 🫑 Bell Pepper\n leafy_greens: fluent('1f96c'), // 🥬\n mushroom: fluent('1f344'), // 🍄\n eggplant: fluent('1f346'), // 🍆\n cucumber: fluent('1f952'), // 🥒\n avocado: fluent('1f951'), // 🥑\n};\n\n// =============================================================================\n// INGREDIENT ICONS - Grains\n// =============================================================================\nexport const GRAIN_ICONS: Record<string, string> = {\n rice_white: fluent('1f35a'), // 🍚\n rice_brown: fluent('1f35a'), // 🍚\n pasta: fluent('1f35d'), // 🍝\n bread: fluent('1f35e'), // 🍞\n quinoa: fluent('1f35a'), // 🍚\n};\n\n// =============================================================================\n// COMBINED INGREDIENT ICONS\n// =============================================================================\nexport const INGREDIENT_ICONS: Record<string, string> = {\n ...POULTRY_ICONS,\n ...BEEF_ICONS,\n ...PORK_ICONS,\n ...SEAFOOD_ICONS,\n ...EGG_ICONS,\n ...VEGETABLE_ICONS,\n ...GRAIN_ICONS,\n};\n\n// =============================================================================\n// HELPER FUNCTION\n// =============================================================================\n/**\n * Get icon URL for a category or ingredient by ID\n * Falls back to category icon if no specific ingredient icon exists\n */\nexport const getIcon = (id: string, category?: string): string | undefined => {\n if (INGREDIENT_ICONS[id]) {\n return INGREDIENT_ICONS[id];\n }\n\n if (category && CATEGORY_ICONS[category]) {\n return CATEGORY_ICONS[category];\n }\n\n return undefined;\n};\n"],"mappings":"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","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cooking-temperature",
3
- "version": "1.0.4",
3
+ "version": "1.0.5",
4
4
  "description": "A comprehensive library for safe cooking temperatures, doneness levels, and cooking instructions for various ingredients",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",