@bace51/cocktailjs-react 1.0.1 → 1.0.3

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/README.md CHANGED
@@ -2,74 +2,53 @@
2
2
 
3
3
  Lightweight React components for rendering cocktail glasses and liquids as SVG.
4
4
 
5
- This package exports React components (SVG) for a variety of glasses and a `Liquid` helper used to render fills.
5
+ ## Installation
6
6
 
7
- **Installation**
8
-
9
- Install the package and add React as a peer dependency:
7
+ Install the package and ensure `react` is available as a peer dependency in your app:
10
8
 
11
9
  ```bash
12
10
  pnpm add cocktailjs-react
13
11
  # or
14
- # npm install cocktailjs-react
12
+ npm install cocktailjs-react
15
13
  ```
16
14
 
17
- Note: `react` and `react-dom` are peer dependencies; install them in your app if not present.
15
+ ## Basic usage
18
16
 
19
- **Basic usage**
17
+ Import components from the package and use them like standard React components.
20
18
 
21
19
  ```jsx
22
20
  import React from "react";
23
- import { WhiskeyShotGlass, Liquid } from "cocktailjs-react";
21
+ import { MartiniGlass } from "cocktailjs-react";
24
22
 
25
23
  export default function Example() {
26
24
  return (
27
25
  <div>
28
- <WhiskeyShotGlass size={120} liquidFill={["#b5651d", "#8b4513"]} />
29
- <Liquid level={0.6} highlight highlightColor="#fff" />
26
+ <MartiniGlass size={200} liquidFill={["#f6d365", "#fda085"]} />
30
27
  </div>
31
28
  );
32
29
  }
33
30
  ```
34
31
 
35
- You can also import any glass component directly:
36
-
37
- ```jsx
38
- import { MartiniGlass } from "cocktailjs-react";
39
- <MartiniGlass size={200} liquidFill={["#f6d365", "#fda085"]} />;
40
- ```
41
-
42
- **`Liquid` props**
32
+ ## Common props
43
33
 
44
- - `level` (number): fill level 0..1
45
- - `highlight` (boolean): adds highlight overlay
46
- - `highlightColor` (string): color for the highlight
47
- - `stopPositions` (array): gradient stop offsets
34
+ - `size` (number): width/height in pixels for glass components.
35
+ - `liquidFill` (string | string[]): color or gradient colors used for the liquid.
36
+ - `level` (number): for `Liquid`, fill level from `0` (empty) to `1` (full).
37
+ - `highlight` (boolean): for `Liquid`, enable a highlight overlay.
38
+ - `highlightColor` (string): color used for the highlight.
39
+ - `stopPositions` (array): optional gradient stop offsets for `Liquid`.
48
40
 
49
- **Development / Playground**
41
+ - `mixed` (boolean): render a visually-mixed liquid. Subdues strong gradients and biases toward a dominant color while still hinting original colors.
42
+ - `mixedBlend` (number 0..1): how much original colors remain when `mixed` is true (0 = pure dominant color, 1 = original colors). Default ~0.25.
43
+ - `mixedOpacity` (number 0..1): opacity applied to synthesized mixed gradient stops (default ~0.85).
50
44
 
51
- This repository includes a Vite playground (in `playground/`) that runs on port 5173. To run the playground locally from the repo root:
45
+ Notes about `mixed` vs gradients
52
46
 
53
- ```bash
54
- pnpm install
55
- pnpm run dev:with-playground
56
- # Admin server runs at http://localhost:3004 and playground at http://localhost:5173
57
- ```
58
-
59
- **Build & publish**
60
-
61
- The package includes esbuild-based scripts to generate ESM and CJS bundles into `dist/`.
62
-
63
- ```bash
64
- pnpm --filter ./packages/cocktailjs-react run build
65
- pnpm --filter ./packages/cocktailjs-react run build:cjs
66
- # or publish (prepare script runs build):
67
- pnpm publish --filter ./packages/cocktailjs-react
68
- ```
47
+ - When `mixed` is `true`, `Liquid` will choose a dominant color (highest saturation) and blend other stops toward it, reducing stop opacity so hints of the original palette remain. This produces a more natural "already mixed" appearance.
69
48
 
70
- **Notes**
49
+ ## Notes
71
50
 
72
- - The package exposes both ESM (`dist/index.mjs`) and CJS (`dist/index.cjs.js`) bundles.
73
- - Keep `react` as a peer dependency to avoid duplicate React instances in consumer apps.
51
+ - `react` and `react-dom` are peer dependencies install them in your application to avoid duplicate React instances.
52
+ - All components render SVG and accept standard SVG attributes (className, style, etc.).
74
53
 
75
- If you need help integrating the components or want additional examples, open an issue or request an example in the repo.
54
+ If you need more examples or integration help, open an issue in the repository.
package/dist/index.cjs.js CHANGED
@@ -84,7 +84,13 @@ function Liquid({
84
84
  // level: 0..1 vertical span of the gradient (1 = full height)
85
85
  level = 1,
86
86
  // optional explicit stop positions (array of 0..1) matching gradStops length
87
- stopPositions = null
87
+ stopPositions = null,
88
+ // if true, render a single 'mixed' color instead of a clear gradient
89
+ mixed = false,
90
+ // when mixed=true, how much original color shows (0..1). 0 = pure dominant color, 1 = original colors.
91
+ mixedBlend = 0.25,
92
+ // when mixed=true, opacity applied to gradient stops (0..1)
93
+ mixedOpacity = 0.85
88
94
  }) {
89
95
  let useExternal = false;
90
96
  let stops = null;
@@ -130,22 +136,106 @@ function Liquid({
130
136
  });
131
137
  }
132
138
  const localId = idBase;
133
- return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, !useExternal && /* @__PURE__ */ import_react.default.createElement("defs", null, /* @__PURE__ */ import_react.default.createElement("linearGradient", { id: localId, x1: "0", y1: "0", x2: "0", y2: "1" }, gradStops.map((c, i) => /* @__PURE__ */ import_react.default.createElement(
134
- "stop",
135
- {
136
- key: i,
137
- offset: `${offsets[i]}%`,
138
- stopColor: c,
139
- stopOpacity: 1
139
+ function hexToRgb(h) {
140
+ if (!h)
141
+ return [0, 0, 0];
142
+ let s = String(h).trim();
143
+ if (s[0] === "#")
144
+ s = s.slice(1);
145
+ if (s.length === 3)
146
+ s = s.split("").map((c) => c + c).join("");
147
+ const n = parseInt(s, 16);
148
+ return [n >> 16 & 255, n >> 8 & 255, n & 255];
149
+ }
150
+ function rgbToHsl(r, g, b) {
151
+ r /= 255;
152
+ g /= 255;
153
+ b /= 255;
154
+ const max = Math.max(r, g, b), min = Math.min(r, g, b);
155
+ let h = 0, s = 0;
156
+ const l = (max + min) / 2;
157
+ if (max !== min) {
158
+ const d2 = max - min;
159
+ s = l > 0.5 ? d2 / (2 - max - min) : d2 / (max + min);
160
+ switch (max) {
161
+ case r:
162
+ h = (g - b) / d2 + (g < b ? 6 : 0);
163
+ break;
164
+ case g:
165
+ h = (b - r) / d2 + 2;
166
+ break;
167
+ case b:
168
+ h = (r - g) / d2 + 4;
169
+ break;
170
+ }
171
+ h /= 6;
172
+ }
173
+ return [h, s, l];
174
+ }
175
+ function rgbToHex([r, g, b]) {
176
+ return "#" + [r, g, b].map((v) => {
177
+ const s = Math.round(Math.max(0, Math.min(255, v))).toString(16);
178
+ return s.length === 1 ? "0" + s : s;
179
+ }).join("");
180
+ }
181
+ function blendHex(a, b, t) {
182
+ const ra = hexToRgb(a);
183
+ const rb = hexToRgb(b);
184
+ const r = Math.round(ra[0] * (1 - t) + rb[0] * t);
185
+ const g = Math.round(ra[1] * (1 - t) + rb[1] * t);
186
+ const bl = Math.round(ra[2] * (1 - t) + rb[2] * t);
187
+ return rgbToHex([r, g, bl]);
188
+ }
189
+ let mixedColor = null;
190
+ let mixedGradStops = null;
191
+ if (mixed && !useExternal) {
192
+ try {
193
+ let best = null;
194
+ let bestS = -1;
195
+ for (const c of gradStops) {
196
+ const rgb = hexToRgb(c);
197
+ const [, s] = rgbToHsl(rgb[0], rgb[1], rgb[2]);
198
+ if (s > bestS) {
199
+ bestS = s;
200
+ best = c;
201
+ }
202
+ }
203
+ mixedColor = best || gradStops[0];
204
+ mixedGradStops = gradStops.map(
205
+ (orig) => blendHex(mixedColor, orig, Math.max(0, Math.min(1, mixedBlend)))
206
+ );
207
+ } catch (e) {
208
+ mixedColor = gradStops[0];
209
+ mixedGradStops = gradStops.slice();
140
210
  }
141
- )))), /* @__PURE__ */ import_react.default.createElement(
211
+ }
212
+ return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, !useExternal && /* @__PURE__ */ import_react.default.createElement("defs", null, /* @__PURE__ */ import_react.default.createElement("linearGradient", { id: localId, x1: "0", y1: "0", x2: "0", y2: "1" }, (mixed && mixedGradStops ? mixedGradStops : gradStops).map(
213
+ (c, i) => /* @__PURE__ */ import_react.default.createElement(
214
+ "stop",
215
+ {
216
+ key: i,
217
+ offset: `${offsets[i]}%`,
218
+ stopColor: c,
219
+ stopOpacity: mixed && mixedGradStops ? mixedOpacity : 1
220
+ }
221
+ )
222
+ ))), /* @__PURE__ */ import_react.default.createElement(
142
223
  "path",
143
224
  {
144
225
  d,
145
226
  transform,
146
227
  className: "liquid",
147
228
  style: liquidStyle || void 0,
148
- fill: liquidStyle ? void 0 : useExternal ? `url(${gradientAttr})` : `url(#${localId})`,
229
+ fill: (
230
+ // explicit style wins
231
+ liquidStyle ? void 0 : (
232
+ // if external gradient requested, use it
233
+ useExternal ? `url(${gradientAttr})` : (
234
+ // if mixed requested and no external gradient, prefer the blended gradient (so hints remain)
235
+ mixed && mixedColor ? `url(#${localId})` : `url(#${localId})`
236
+ )
237
+ )
238
+ ),
149
239
  opacity
150
240
  }
151
241
  ));
@@ -156,7 +246,8 @@ var import_react2 = __toESM(require("react"));
156
246
  function AbsintheGlass({
157
247
  liquidFill = ["#A8E6CF", "#DCEDC2", "#FFD3B6"],
158
248
  size = 80,
159
- strokeWidth = 0.5
249
+ strokeWidth = 0.5,
250
+ idBase = "AbsintheGlassGrad"
160
251
  }) {
161
252
  const height = Math.floor(size * 1.125);
162
253
  return /* @__PURE__ */ import_react2.default.createElement("svg", { width: size, height, viewBox: "0 0 64 90" }, /* @__PURE__ */ import_react2.default.createElement(
@@ -165,7 +256,7 @@ function AbsintheGlass({
165
256
  d: `M20 35 L44 35 L42 49 Q32 52 22 49 Z
166
257
  M26 50 Q32 50 38 50 L36 60 L28 60 Z`,
167
258
  transform: "scale(0.98)",
168
- idBase: "AbsintheGlassGrad",
259
+ idBase,
169
260
  opacity: 0.7,
170
261
  liquidFill
171
262
  }
@@ -205,7 +296,8 @@ function AbsintheGlass({
205
296
  var import_react3 = __toESM(require("react"));
206
297
  function BrandySnifterGlass({
207
298
  liquidFill = ["#F6D29A", "#D98F3A"],
208
- strokeWidth = 1
299
+ strokeWidth = 1,
300
+ idBase = "BrandySnifterGlassGrad"
209
301
  }) {
210
302
  return /* @__PURE__ */ import_react3.default.createElement("svg", { viewBox: "0 0 64 64" }, /* @__PURE__ */ import_react3.default.createElement(
211
303
  Liquid,
@@ -216,7 +308,7 @@ function BrandySnifterGlass({
216
308
  Q32 52 20 48
217
309
  Z`,
218
310
  transform: "scale(0.98)",
219
- idBase: "BrandySnifterGlassGrad",
311
+ idBase,
220
312
  opacity: 0.7,
221
313
  liquidFill
222
314
  }
@@ -264,14 +356,15 @@ function BrandySnifterGlass({
264
356
  var import_react4 = __toESM(require("react"));
265
357
  function CollinsGlass({
266
358
  liquidFill = ["#FFF7C0", "#FFD27A"],
267
- strokeWidth = 0.5
359
+ strokeWidth = 0.5,
360
+ idBase = "CollinsGlassGrad"
268
361
  }) {
269
362
  return /* @__PURE__ */ import_react4.default.createElement("svg", { viewBox: "0 0 64 64" }, /* @__PURE__ */ import_react4.default.createElement(
270
363
  Liquid,
271
364
  {
272
365
  d: `M22 10 L42 10 L42 54 L22 54 Z`,
273
366
  transform: "scale(0.98)",
274
- idBase: "CollinsGlassGrad",
367
+ idBase,
275
368
  opacity: 0.7,
276
369
  liquidFill
277
370
  }
@@ -381,13 +474,17 @@ try {
381
474
  }
382
475
 
383
476
  // src/components/glasses/CordialGlass.jsx
384
- function CordialGlass({ liquidFill = null, strokeWidth = 0.5 }) {
477
+ function CordialGlass({
478
+ liquidFill = null,
479
+ strokeWidth = 0.5,
480
+ idBase = "CordialGlassGrad"
481
+ }) {
385
482
  return /* @__PURE__ */ import_react6.default.createElement("svg", { viewBox: "0 0 64 64" }, /* @__PURE__ */ import_react6.default.createElement(
386
483
  Liquid,
387
484
  {
388
485
  d: `M30 16 L35 16 Q34 25 31 26 Q30 26 28 16 Z`,
389
486
  transform: "scale(0.98)",
390
- idBase: "CordialGlassGrad",
487
+ idBase,
391
488
  opacity: 0.7,
392
489
  liquidFill
393
490
  }
@@ -432,7 +529,8 @@ var import_react7 = __toESM(require("react"));
432
529
  function CoupeGlass({
433
530
  liquidFill = null,
434
531
  size = 80,
435
- strokeWidth = 1
532
+ strokeWidth = 1,
533
+ idBase = "CoupeGlassGrad"
436
534
  }) {
437
535
  return /* @__PURE__ */ import_react7.default.createElement("svg", { width: size, height: size, viewBox: "0 0 64 64" }, /* @__PURE__ */ import_react7.default.createElement(
438
536
  Liquid,
@@ -441,7 +539,7 @@ function CoupeGlass({
441
539
  M12 32 Q32 36 52 32 L52 18 Q32 18 12 18 Z
442
540
  `,
443
541
  transform: "scale(0.98)",
444
- idBase: "CoupeGlassGrad",
542
+ idBase,
445
543
  opacity: 0.7,
446
544
  liquidFill
447
545
  }
@@ -469,7 +567,8 @@ var import_react8 = __toESM(require("react"));
469
567
  function DemitasseGlass({
470
568
  liquidFill = null,
471
569
  size = 80,
472
- strokeWidth = 0.5
570
+ strokeWidth = 0.5,
571
+ idBase = "DemitasseGlassGrad"
473
572
  }) {
474
573
  return /* @__PURE__ */ import_react8.default.createElement("svg", { width: size, height: size, viewBox: "0 0 64 64" }, /* @__PURE__ */ import_react8.default.createElement(
475
574
  "path",
@@ -485,7 +584,7 @@ function DemitasseGlass({
485
584
  {
486
585
  d: `M20 24 L24 45 L40 45 L44 24 Z`,
487
586
  transform: "scale(0.98)",
488
- idBase: "DemitasseGlassGrad",
587
+ idBase,
489
588
  opacity: 0.7,
490
589
  liquidFill
491
590
  }
@@ -513,7 +612,8 @@ var import_react9 = __toESM(require("react"));
513
612
  function DoubleShotGlass({
514
613
  liquidFill = ["#FFF7C0", "#FFD27A"],
515
614
  size = 64,
516
- strokeWidth = 0.5
615
+ strokeWidth = 0.5,
616
+ idBase = "DoubleShotGlassGrad"
517
617
  }) {
518
618
  return /* @__PURE__ */ import_react9.default.createElement("svg", { width: size, height: size, viewBox: "0 0 64 64" }, /* @__PURE__ */ import_react9.default.createElement(
519
619
  "path",
@@ -528,7 +628,7 @@ function DoubleShotGlass({
528
628
  {
529
629
  d: `M20 18 C22 30 22 46 22.5 58 L41.5 58 C42.5 46 42.5 30 44 18 Z`,
530
630
  transform: "scale(0.98)",
531
- idBase: "DoubleShotGlassGrad",
631
+ idBase,
532
632
  opacity: 0.7,
533
633
  liquidFill
534
634
  }
@@ -551,7 +651,8 @@ var import_react10 = __toESM(require("react"));
551
651
  function FizzGlass({
552
652
  liquidFill = null,
553
653
  size = 80,
554
- strokeWidth = 0.5
654
+ strokeWidth = 0.5,
655
+ idBase = "FizzGlassGrad"
555
656
  }) {
556
657
  return /* @__PURE__ */ import_react10.default.createElement("svg", { width: size, height: size, viewBox: "0 0 64 64" }, /* @__PURE__ */ import_react10.default.createElement("path", { d: "M22 10 L42 10", stroke: "currentColor", strokeWidth }), /* @__PURE__ */ import_react10.default.createElement(
557
658
  Liquid,
@@ -560,7 +661,7 @@ function FizzGlass({
560
661
  M22 10 L24 23 L40 23 L42 10 Z
561
662
  `,
562
663
  transform: "scale(0.98)",
563
- idBase: "FizzGlassGrad",
664
+ idBase,
564
665
  opacity: 0.7,
565
666
  liquidFill
566
667
  }
@@ -599,7 +700,8 @@ var import_react11 = __toESM(require("react"));
599
700
  function FluteGlass({
600
701
  liquidFill = null,
601
702
  size = 80,
602
- strokeWidth = 0.5
703
+ strokeWidth = 0.5,
704
+ idBase = "FluteGlassGrad"
603
705
  }) {
604
706
  return /* @__PURE__ */ import_react11.default.createElement("svg", { width: size, height: size, viewBox: "0 0 64 64" }, /* @__PURE__ */ import_react11.default.createElement(
605
707
  Liquid,
@@ -612,7 +714,7 @@ function FluteGlass({
612
714
  Z
613
715
  `,
614
716
  transform: "scale(0.98)",
615
- idBase: "FluteGlassGrad",
717
+ idBase,
616
718
  opacity: 0.7,
617
719
  liquidFill
618
720
  }
@@ -651,7 +753,8 @@ var import_react12 = __toESM(require("react"));
651
753
  function GobletGlass({
652
754
  liquidFill = null,
653
755
  size = 80,
654
- strokeWidth = 2
756
+ strokeWidth = 2,
757
+ idBase = "GobletGlassGrad"
655
758
  }) {
656
759
  const height = Math.round(size * 90 / 80);
657
760
  return /* @__PURE__ */ import_react12.default.createElement("svg", { width: size, height, viewBox: "0 0 64 90" }, /* @__PURE__ */ import_react12.default.createElement(
@@ -670,7 +773,7 @@ function GobletGlass({
670
773
  {
671
774
  d: ` M19 28 L46 28 Q52 58 32 70 Q12 58 16 28 Z `,
672
775
  transform: "scale(0.98)",
673
- idBase: "GobletGlassGrad",
776
+ idBase,
674
777
  opacity: 0.7,
675
778
  liquidFill
676
779
  }
@@ -708,14 +811,15 @@ var import_react13 = __toESM(require("react"));
708
811
  function HighballGlass({
709
812
  liquidFill = null,
710
813
  size = 80,
711
- strokeWidth = 0.5
814
+ strokeWidth = 0.5,
815
+ idBase = "HighballGlassGrad"
712
816
  }) {
713
817
  return /* @__PURE__ */ import_react13.default.createElement("svg", { width: size, height: size, viewBox: "0 0 64 64" }, /* @__PURE__ */ import_react13.default.createElement(
714
818
  Liquid,
715
819
  {
716
820
  d: `M18 10 L46 10 L46 60 L18 60 Z`,
717
821
  transform: "scale(0.98)",
718
- idBase: "HighballGlassGrad",
822
+ idBase,
719
823
  opacity: 0.7,
720
824
  liquidFill
721
825
  }
@@ -750,14 +854,15 @@ function HurricaneGlass({
750
854
  liquidFill = null,
751
855
  garnish = null,
752
856
  size = 80,
753
- strokeWidth = 0.5
857
+ strokeWidth = 0.5,
858
+ idBase = "HurricaneGlassGrad"
754
859
  }) {
755
860
  return /* @__PURE__ */ import_react14.default.createElement("svg", { width: size, height: size, viewBox: "0 0 64 64" }, /* @__PURE__ */ import_react14.default.createElement(
756
861
  Liquid,
757
862
  {
758
863
  d: `M24 10 C16 22, 24 38, 28 44 C30 48, 34 48, 36 44 C40 38, 48 22, 40 10 Z`,
759
864
  transform: "scale(0.98)",
760
- idBase: "HurricaneGlassGrad",
865
+ idBase,
761
866
  opacity: 0.7,
762
867
  liquidFill
763
868
  }
@@ -796,7 +901,8 @@ var import_react15 = __toESM(require("react"));
796
901
  function IrishCoffeeGlass({
797
902
  liquidFill = null,
798
903
  size = 80,
799
- strokeWidth = 2
904
+ strokeWidth = 2,
905
+ idBase = "IrishCoffeeGlassGrad"
800
906
  }) {
801
907
  return /* @__PURE__ */ import_react15.default.createElement("svg", { width: size, height: size, viewBox: "0 0 64 64" }, /* @__PURE__ */ import_react15.default.createElement(
802
908
  "path",
@@ -818,7 +924,7 @@ function IrishCoffeeGlass({
818
924
  Z
819
925
  `,
820
926
  transform: "scale(0.98)",
821
- idBase: "IrishCoffeeGlassGrad",
927
+ idBase,
822
928
  opacity: 0.7,
823
929
  liquidFill
824
930
  }
@@ -957,7 +1063,8 @@ function MargaritaGlass({
957
1063
  // liquidStyle = "gradient",
958
1064
  // gradientAttr = { x1: "0", y1: "0", x2: "0", y2: "1" },
959
1065
  size = 80,
960
- strokeWidth = 0.5
1066
+ strokeWidth = 0.5,
1067
+ idBase = "MargaritaGlassGrad"
961
1068
  }) {
962
1069
  const stops = liquidFill;
963
1070
  return /* @__PURE__ */ import_react17.default.createElement("svg", { width: size, height: size, viewBox: "0 0 64 64" }, /* @__PURE__ */ import_react17.default.createElement(
@@ -965,7 +1072,7 @@ function MargaritaGlass({
965
1072
  {
966
1073
  d: `M14 18 L50 18 Q46 28 36 29 Q30 30 28 29 Q18 28 14 18 Z M28 29 Q32 29 36 29 Q38 34 32 36 Q26 34 28 29 Z`,
967
1074
  transform: "scale(0.98)",
968
- idBase: "MargaritaGlassGrad",
1075
+ idBase,
969
1076
  opacity: 0.7,
970
1077
  liquidFill
971
1078
  }
@@ -1005,14 +1112,15 @@ function MartiniGlass({
1005
1112
  liquidFill = null,
1006
1113
  garnish = null,
1007
1114
  size = 80,
1008
- strokeWidth = 1
1115
+ strokeWidth = 1,
1116
+ idBase = "MartiniGlassGrad"
1009
1117
  }) {
1010
1118
  return /* @__PURE__ */ import_react18.default.createElement("svg", { width: size, height: size, viewBox: "0 0 64 64" }, /* @__PURE__ */ import_react18.default.createElement(
1011
1119
  Liquid,
1012
1120
  {
1013
1121
  d: `M10 10 L54 10 L32 40 Z`,
1014
1122
  transform: "scale(0.98)",
1015
- idBase: "MartiniGlassGrad",
1123
+ idBase,
1016
1124
  opacity: 0.7,
1017
1125
  liquidFill
1018
1126
  }
@@ -1033,14 +1141,15 @@ function NickAndNoraGlass({
1033
1141
  liquidFill = null,
1034
1142
  garnish = null,
1035
1143
  size = 80,
1036
- strokeWidth = 0.5
1144
+ strokeWidth = 0.5,
1145
+ idBase = "NickAndNoraGlassGrad"
1037
1146
  }) {
1038
1147
  return /* @__PURE__ */ import_react19.default.createElement("svg", { width: size, height: size, viewBox: "0 0 64 64" }, /* @__PURE__ */ import_react19.default.createElement(
1039
1148
  Liquid,
1040
1149
  {
1041
1150
  d: `M24 38 L24 24 L40 24 L40 38 Q32 40 24 38 Z`,
1042
1151
  transform: "scale(0.98)",
1043
- idBase: "NickAndNoraGlassGrad",
1152
+ idBase,
1044
1153
  opacity: 0.7,
1045
1154
  liquidFill
1046
1155
  }
@@ -1079,7 +1188,8 @@ var import_react20 = __toESM(require("react"));
1079
1188
  function ParfaitGlass({
1080
1189
  liquidFill = null,
1081
1190
  size = 80,
1082
- strokeWidth = 0.5
1191
+ strokeWidth = 0.5,
1192
+ idBase = "ParfaitGlassGrad"
1083
1193
  }) {
1084
1194
  return /* @__PURE__ */ import_react20.default.createElement("svg", { width: size, height: size, viewBox: "0 0 64 64" }, /* @__PURE__ */ import_react20.default.createElement(
1085
1195
  Liquid,
@@ -1093,7 +1203,7 @@ function ParfaitGlass({
1093
1203
  Z
1094
1204
  `,
1095
1205
  transform: "scale(0.98)",
1096
- idBase: "ParfaitGlassGrad",
1206
+ idBase,
1097
1207
  opacity: 0.7,
1098
1208
  liquidFill
1099
1209
  }
@@ -1119,14 +1229,15 @@ var import_react21 = __toESM(require("react"));
1119
1229
  function PilsnerGlass({
1120
1230
  liquidFill = null,
1121
1231
  size = 80,
1122
- strokeWidth = 0.5
1232
+ strokeWidth = 0.5,
1233
+ idBase = "PilsnerGlassGrad"
1123
1234
  }) {
1124
1235
  return /* @__PURE__ */ import_react21.default.createElement("svg", { width: size, height: size, viewBox: "0 0 64 64" }, /* @__PURE__ */ import_react21.default.createElement(
1125
1236
  Liquid,
1126
1237
  {
1127
1238
  d: `M24 10 L40 10 Q38 36 36 50 Q32 54 28 50 Q26 36 24 10 Z`,
1128
1239
  transform: "scale(0.98)",
1129
- idBase: "PilsnerGlassGrad",
1240
+ idBase,
1130
1241
  opacity: 0.7,
1131
1242
  liquidFill
1132
1243
  }
@@ -1155,14 +1266,15 @@ function PintGlass({
1155
1266
  liquidFill = null,
1156
1267
  garnish = null,
1157
1268
  size = 80,
1158
- strokeWidth = 0.5
1269
+ strokeWidth = 0.5,
1270
+ idBase = "PintGlassGrad"
1159
1271
  }) {
1160
1272
  return /* @__PURE__ */ import_react22.default.createElement("svg", { width: size, height: size, viewBox: "0 0 64 64" }, /* @__PURE__ */ import_react22.default.createElement(
1161
1273
  Liquid,
1162
1274
  {
1163
1275
  d: `M18 10 L46 10 L42 54 L22 54 Z`,
1164
1276
  transform: "scale(0.98)",
1165
- idBase: "PintGlassGrad",
1277
+ idBase,
1166
1278
  opacity: 0.7,
1167
1279
  liquidFill
1168
1280
  }
@@ -1193,7 +1305,8 @@ var import_react23 = __toESM(require("react"));
1193
1305
  function PousseCafeGlass({
1194
1306
  liquidFill = null,
1195
1307
  size = 80,
1196
- strokeWidth = 0.5
1308
+ strokeWidth = 0.5,
1309
+ idBase = "PousseCafeGlassGrad"
1197
1310
  }) {
1198
1311
  const cx = 32;
1199
1312
  const height = Math.floor(size * 1.125);
@@ -1208,7 +1321,7 @@ function PousseCafeGlass({
1208
1321
  Z
1209
1322
  `,
1210
1323
  transform: "scale(0.98)",
1211
- idBase: "PousseCafeGlassGrad",
1324
+ idBase,
1212
1325
  opacity: 0.7,
1213
1326
  liquidFill
1214
1327
  }
@@ -1265,7 +1378,8 @@ var import_react24 = __toESM(require("react"));
1265
1378
  function PunchGlass({
1266
1379
  liquidFill = null,
1267
1380
  size = 80,
1268
- strokeWidth = 0.5
1381
+ strokeWidth = 0.5,
1382
+ idBase = "PunchGlassGrad"
1269
1383
  }) {
1270
1384
  return /* @__PURE__ */ import_react24.default.createElement("svg", { width: size, height: size, viewBox: "0 0 64 64" }, /* @__PURE__ */ import_react24.default.createElement("g", null, /* @__PURE__ */ import_react24.default.createElement(
1271
1385
  Liquid,
@@ -1279,7 +1393,7 @@ function PunchGlass({
1279
1393
  Z
1280
1394
  `,
1281
1395
  transform: "scale(0.98)",
1282
- idBase: "PunchGlassGrad",
1396
+ idBase,
1283
1397
  opacity: 0.7,
1284
1398
  liquidFill
1285
1399
  }
@@ -1334,14 +1448,15 @@ var import_react25 = __toESM(require("react"));
1334
1448
  function RocksGlass({
1335
1449
  liquidFill = null,
1336
1450
  size = 80,
1337
- strokeWidth = 0.5
1451
+ strokeWidth = 0.5,
1452
+ idBase = "RocksGlassGrad"
1338
1453
  }) {
1339
1454
  return /* @__PURE__ */ import_react25.default.createElement("svg", { width: size, height: size, viewBox: "0 0 64 64" }, /* @__PURE__ */ import_react25.default.createElement(
1340
1455
  Liquid,
1341
1456
  {
1342
1457
  d: `M14 24 L50 24 L50 58 L14 58 Z`,
1343
1458
  transform: "scale(0.98)",
1344
- idBase: "RocksGlassGrad",
1459
+ idBase,
1345
1460
  opacity: 0.7,
1346
1461
  liquidFill
1347
1462
  }
@@ -1374,7 +1489,8 @@ var import_react26 = __toESM(require("react"));
1374
1489
  function SingleShotGlass({
1375
1490
  liquidFill = ["#FFFFFF", "#E0E0E0"],
1376
1491
  size = 64,
1377
- strokeWidth = 0.5
1492
+ strokeWidth = 0.5,
1493
+ idBase = "SingleShotGlassGrad"
1378
1494
  }) {
1379
1495
  return /* @__PURE__ */ import_react26.default.createElement("svg", { width: size, height: size, viewBox: "0 0 64 64" }, /* @__PURE__ */ import_react26.default.createElement(
1380
1496
  "path",
@@ -1389,7 +1505,7 @@ function SingleShotGlass({
1389
1505
  {
1390
1506
  d: `M23 28 C24.5 36 24.5 40 25 48 L39 48 C39.5 40 39.5 36 41 28 Z`,
1391
1507
  transform: "scale(0.98)",
1392
- idBase: "SingleShotGlassGrad",
1508
+ idBase,
1393
1509
  opacity: 0.7,
1394
1510
  liquidFill
1395
1511
  }
@@ -1412,7 +1528,8 @@ var import_react27 = __toESM(require("react"));
1412
1528
  function SlingGlass({
1413
1529
  liquidFill = null,
1414
1530
  size = 80,
1415
- strokeWidth = 0.5
1531
+ strokeWidth = 0.5,
1532
+ idBase = "SlingGlassGrad"
1416
1533
  }) {
1417
1534
  return /* @__PURE__ */ import_react27.default.createElement("svg", { width: size, height: size, viewBox: "0 0 64 64" }, /* @__PURE__ */ import_react27.default.createElement(
1418
1535
  "line",
@@ -1429,7 +1546,7 @@ function SlingGlass({
1429
1546
  {
1430
1547
  d: `M25 12 L40 12 C41 29 40 46 32 55 C24 46 24 28 24 12 Z`,
1431
1548
  transform: "scale(0.98)",
1432
- idBase: "SlingGlassGrad",
1549
+ idBase,
1433
1550
  opacity: 0.7,
1434
1551
  liquidFill
1435
1552
  }
@@ -1458,7 +1575,8 @@ var import_react28 = __toESM(require("react"));
1458
1575
  function SnifterGlass({
1459
1576
  liquidFill = null,
1460
1577
  size = 80,
1461
- strokeWidth = 0.5
1578
+ strokeWidth = 0.5,
1579
+ idBase = "SnifterGlassGrad"
1462
1580
  }) {
1463
1581
  return /* @__PURE__ */ import_react28.default.createElement("svg", { width: size, height: size, viewBox: "0 0 64 64" }, /* @__PURE__ */ import_react28.default.createElement(
1464
1582
  "line",
@@ -1483,7 +1601,7 @@ function SnifterGlass({
1483
1601
  {
1484
1602
  d: ` M22 18 C16 32, 16 46, 32 52 C48 46, 48 32, 42 18 Z `,
1485
1603
  transform: "scale(0.98)",
1486
- idBase: "SnifterGlassGrad",
1604
+ idBase,
1487
1605
  opacity: 0.7,
1488
1606
  liquidFill
1489
1607
  }
@@ -1514,7 +1632,8 @@ var import_react29 = __toESM(require("react"));
1514
1632
  function SourGlass({
1515
1633
  liquidFill = null,
1516
1634
  size = 80,
1517
- strokeWidth = 0.5
1635
+ strokeWidth = 0.5,
1636
+ idBase = "SourGlassGrad"
1518
1637
  }) {
1519
1638
  return /* @__PURE__ */ import_react29.default.createElement("svg", { width: size, height: size, viewBox: "0 0 64 64" }, /* @__PURE__ */ import_react29.default.createElement(
1520
1639
  "line",
@@ -1537,7 +1656,7 @@ function SourGlass({
1537
1656
  Z
1538
1657
  `,
1539
1658
  transform: "scale(0.98)",
1540
- idBase: "SourGlassGrad",
1659
+ idBase,
1541
1660
  opacity: 0.7,
1542
1661
  liquidFill
1543
1662
  }
@@ -1563,14 +1682,15 @@ var import_react30 = __toESM(require("react"));
1563
1682
  function TankardGlass({
1564
1683
  liquidFill = null,
1565
1684
  size = 80,
1566
- strokeWidth = 1
1685
+ strokeWidth = 1,
1686
+ idBase = "TankardGlassGrad"
1567
1687
  }) {
1568
1688
  return /* @__PURE__ */ import_react30.default.createElement("svg", { width: size, height: size, viewBox: "0 0 64 64" }, /* @__PURE__ */ import_react30.default.createElement("rect", { x: 13, y: 44, width: 36, height: 4, fill: "currentColor" }), /* @__PURE__ */ import_react30.default.createElement(
1569
1689
  Liquid,
1570
1690
  {
1571
1691
  d: `M14 10 L48 10 L48 44 L14 44 Z`,
1572
1692
  transform: "scale(0.98)",
1573
- idBase: "TankardGlassGrad",
1693
+ idBase,
1574
1694
  opacity: 0.7,
1575
1695
  liquidFill
1576
1696
  }
@@ -1603,7 +1723,8 @@ var import_react31 = __toESM(require("react"));
1603
1723
  function TikiGlass({
1604
1724
  liquidFill = null,
1605
1725
  size = 80,
1606
- strokeWidth = 0.5
1726
+ strokeWidth = 0.5,
1727
+ idBase = "TikiGlassGrad"
1607
1728
  }) {
1608
1729
  return /* @__PURE__ */ import_react31.default.createElement("svg", { width: size, height: size, viewBox: "0 0 64 64" }, /* @__PURE__ */ import_react31.default.createElement("rect", { x: 21.75, y: 52, width: 20.5, height: 2, fill: "currentColor" }), /* @__PURE__ */ import_react31.default.createElement(
1609
1730
  "rect",
@@ -1633,7 +1754,7 @@ function TikiGlass({
1633
1754
  {
1634
1755
  d: `M21 9 L41 9 L41 51 L21 51 Z`,
1635
1756
  transform: "scale(0.98)",
1636
- idBase: "TikiGlassGrad",
1757
+ idBase,
1637
1758
  opacity: 0.7,
1638
1759
  liquidFill
1639
1760
  }
@@ -1645,14 +1766,15 @@ var import_react32 = __toESM(require("react"));
1645
1766
  function ToddyGlass({
1646
1767
  liquidFill = null,
1647
1768
  size = 80,
1648
- strokeWidth = 0.8
1769
+ strokeWidth = 0.8,
1770
+ idBase = "ToddyGlassGrad"
1649
1771
  }) {
1650
1772
  return /* @__PURE__ */ import_react32.default.createElement("svg", { width: size, height: size, viewBox: "0 0 64 64" }, /* @__PURE__ */ import_react32.default.createElement(
1651
1773
  Liquid,
1652
1774
  {
1653
1775
  d: `M22 12 H42 V40 H22 Z`,
1654
1776
  transform: "scale(0.98)",
1655
- idBase: "ToddyGlassGrad",
1777
+ idBase,
1656
1778
  opacity: 0.7,
1657
1779
  liquidFill
1658
1780
  }
@@ -1683,7 +1805,10 @@ var import_react33 = __toESM(require("react"));
1683
1805
  function WhiskeyShotGlass({
1684
1806
  liquidFill = ["#FFFFFF", "#E0E0E0"],
1685
1807
  size = 80,
1686
- strokeWidth = 0.5
1808
+ strokeWidth = 0.5,
1809
+ idBase = "ShotGlassGrad",
1810
+ // any extra props will be forwarded to `Liquid`
1811
+ ...liquidProps
1687
1812
  }) {
1688
1813
  return /* @__PURE__ */ import_react33.default.createElement("svg", { width: size, height: size, viewBox: "0 0 64 64" }, /* @__PURE__ */ import_react33.default.createElement(
1689
1814
  "rect",
@@ -1701,9 +1826,10 @@ function WhiskeyShotGlass({
1701
1826
  {
1702
1827
  d: `M22 30 L42 30 L42 48 L22 48 Z`,
1703
1828
  transform: "scale(0.98)",
1704
- idBase: "ShotGlassGrad",
1829
+ idBase,
1705
1830
  opacity: 0.7,
1706
- liquidFill
1831
+ liquidFill,
1832
+ ...liquidProps
1707
1833
  }
1708
1834
  ), /* @__PURE__ */ import_react33.default.createElement(
1709
1835
  "rect",
@@ -1724,7 +1850,8 @@ var import_react34 = __toESM(require("react"));
1724
1850
  function WineGlass({
1725
1851
  liquidFill = null,
1726
1852
  size = 80,
1727
- strokeWidth = 0.5
1853
+ strokeWidth = 0.5,
1854
+ idBase = "WineGlassGrad"
1728
1855
  }) {
1729
1856
  const height = Math.round(size * 90 / 80);
1730
1857
  return /* @__PURE__ */ import_react34.default.createElement("svg", { width: size, height, viewBox: "0 0 64 90" }, /* @__PURE__ */ import_react34.default.createElement(
@@ -1732,7 +1859,7 @@ function WineGlass({
1732
1859
  {
1733
1860
  d: `M26 26 L38 26 Q44 62 32 62 Q20 62 26 26 Z`,
1734
1861
  transform: "scale(0.98)",
1735
- idBase: "WineGlassGrad",
1862
+ idBase,
1736
1863
  opacity: 0.7,
1737
1864
  liquidFill
1738
1865
  }
package/dist/index.mjs CHANGED
@@ -1,151 +1,151 @@
1
- import m from"react";function i({d:t,transform:o,liquidFill:r=null,liquidStyle:l=null,gradientAttr:d=null,opacity:Br=.7,idBase:qr="liquidGrad",highlight:Zr=null,highlightColor:Fr="#fff7c0",level:Sr=1,stopPositions:V=null}){let O=!1,s=null;if(typeof d=="string"){let e=d.trim();if(e.startsWith("#"))O=!0;else if(e.startsWith("["))try{s=JSON.parse(e)}catch{s=null}else s=[e]}else Array.isArray(d)&&(s=d);(!s||!s.length)&&(r?s=Array.isArray(r)?r:[r]:s=["#93d3d8"]);let v=Zr==="liquid"||Zr==="all"?[Fr,...s]:[...s],P;if(Array.isArray(V)&&V.length===v.length)P=V.map(e=>{let u=Number(e)||0;return Math.round(Math.max(0,Math.min(1,u))*100)});else{let e=Math.max(0,Math.min(1,Number(Sr)||0)),u=1-e;v.length===1?P=[100]:P=v.map((Dr,Wr)=>{let $r=Wr/Math.max(1,v.length-1);return Math.round((u+$r*e)*100)})}let Qr=qr;return m.createElement(m.Fragment,null,!O&&m.createElement("defs",null,m.createElement("linearGradient",{id:Qr,x1:"0",y1:"0",x2:"0",y2:"1"},v.map((e,u)=>m.createElement("stop",{key:u,offset:`${P[u]}%`,stopColor:e,stopOpacity:1})))),m.createElement("path",{d:t,transform:o,className:"liquid",style:l||void 0,fill:l?void 0:O?`url(${d})`:`url(#${Qr})`,opacity:Br}))}import Z from"react";function _({liquidFill:t=["#A8E6CF","#DCEDC2","#FFD3B6"],size:o=80,strokeWidth:r=.5}){let l=Math.floor(o*1.125);return Z.createElement("svg",{width:o,height:l,viewBox:"0 0 64 90"},Z.createElement(i,{d:`M20 35 L44 35 L42 49 Q32 52 22 49 Z
2
- M26 50 Q32 50 38 50 L36 60 L28 60 Z`,transform:"scale(0.98)",idBase:"AbsintheGlassGrad",opacity:.7,liquidFill:t}),Z.createElement("path",{d:`M20 35 L44 35 L42 49 Q32 52 22 49 Z
3
- M26 50 Q32 50 38 50 L36 60 L28 60 Z`,stroke:"currentColor",strokeWidth:r,fill:"none"}),Z.createElement("rect",{x:31,y:60,width:2,height:16,fill:"black",stroke:"currentColor",strokeWidth:r}),Z.createElement("path",{d:" M24 77 Q32 76 40 77 L40 77 L24 77 Z ",fill:"currentColor",stroke:"currentColor",strokeWidth:r,rx:r}))}import p from"react";function K({liquidFill:t=["#F6D29A","#D98F3A"],strokeWidth:o=1}){return p.createElement("svg",{viewBox:"0 0 64 64"},p.createElement(i,{d:`M22 28
1
+ import g from"react";function i({d:t,transform:o,liquidFill:r=null,liquidStyle:l=null,gradientAttr:d=null,opacity:tr=.7,idBase:Nr="liquidGrad",highlight:Tr=null,highlightColor:Er="#fff7c0",level:jr=1,stopPositions:ir=null,mixed:I=!1,mixedBlend:Ir=.25,mixedOpacity:Jr=.85}){let J=!1,f=null;if(typeof d=="string"){let s=d.trim();if(s.startsWith("#"))J=!0;else if(s.startsWith("["))try{f=JSON.parse(s)}catch{f=null}else f=[s]}else Array.isArray(d)&&(f=d);(!f||!f.length)&&(r?f=Array.isArray(r)?r:[r]:f=["#93d3d8"]);let a=Tr==="liquid"||Tr==="all"?[Er,...f]:[...f],V;if(Array.isArray(ir)&&ir.length===a.length)V=ir.map(s=>{let e=Number(s)||0;return Math.round(Math.max(0,Math.min(1,e))*100)});else{let s=Math.max(0,Math.min(1,Number(jr)||0)),e=1-s;a.length===1?V=[100]:V=a.map((n,u)=>{let h=u/Math.max(1,a.length-1);return Math.round((e+h*s)*100)})}let lr=Nr;function er(s){if(!s)return[0,0,0];let e=String(s).trim();e[0]==="#"&&(e=e.slice(1)),e.length===3&&(e=e.split("").map(u=>u+u).join(""));let n=parseInt(e,16);return[n>>16&255,n>>8&255,n&255]}function Vr(s,e,n){s/=255,e/=255,n/=255;let u=Math.max(s,e,n),h=Math.min(s,e,n),p=0,_=0,K=(u+h)/2;if(u!==h){let S=u-h;switch(_=K>.5?S/(2-u-h):S/(u+h),u){case s:p=(e-n)/S+(e<n?6:0);break;case e:p=(n-s)/S+2;break;case n:p=(s-e)/S+4;break}p/=6}return[p,_,K]}function Or([s,e,n]){return"#"+[s,e,n].map(u=>{let h=Math.round(Math.max(0,Math.min(255,u))).toString(16);return h.length===1?"0"+h:h}).join("")}function _r(s,e,n){let u=er(s),h=er(e),p=Math.round(u[0]*(1-n)+h[0]*n),_=Math.round(u[1]*(1-n)+h[1]*n),K=Math.round(u[2]*(1-n)+h[2]*n);return Or([p,_,K])}let O=null,F=null;if(I&&!J)try{let s=null,e=-1;for(let n of a){let u=er(n),[,h]=Vr(u[0],u[1],u[2]);h>e&&(e=h,s=n)}O=s||a[0],F=a.map(n=>_r(O,n,Math.max(0,Math.min(1,Ir))))}catch{O=a[0],F=a.slice()}return g.createElement(g.Fragment,null,!J&&g.createElement("defs",null,g.createElement("linearGradient",{id:lr,x1:"0",y1:"0",x2:"0",y2:"1"},(I&&F?F:a).map((s,e)=>g.createElement("stop",{key:e,offset:`${V[e]}%`,stopColor:s,stopOpacity:I&&F?Jr:1})))),g.createElement("path",{d:t,transform:o,className:"liquid",style:l||void 0,fill:l?void 0:J?`url(${d})`:I&&O?`url(#${lr})`:`url(#${lr})`,opacity:tr}))}import W from"react";function sr({liquidFill:t=["#A8E6CF","#DCEDC2","#FFD3B6"],size:o=80,strokeWidth:r=.5,idBase:l="AbsintheGlassGrad"}){let d=Math.floor(o*1.125);return W.createElement("svg",{width:o,height:d,viewBox:"0 0 64 90"},W.createElement(i,{d:`M20 35 L44 35 L42 49 Q32 52 22 49 Z
2
+ M26 50 Q32 50 38 50 L36 60 L28 60 Z`,transform:"scale(0.98)",idBase:l,opacity:.7,liquidFill:t}),W.createElement("path",{d:`M20 35 L44 35 L42 49 Q32 52 22 49 Z
3
+ M26 50 Q32 50 38 50 L36 60 L28 60 Z`,stroke:"currentColor",strokeWidth:r,fill:"none"}),W.createElement("rect",{x:31,y:60,width:2,height:16,fill:"black",stroke:"currentColor",strokeWidth:r}),W.createElement("path",{d:" M24 77 Q32 76 40 77 L40 77 L24 77 Z ",fill:"currentColor",stroke:"currentColor",strokeWidth:r,rx:r}))}import x from"react";function nr({liquidFill:t=["#F6D29A","#D98F3A"],strokeWidth:o=1,idBase:r="BrandySnifterGlassGrad"}){return x.createElement("svg",{viewBox:"0 0 64 64"},x.createElement(i,{d:`M22 28
4
4
  L42 28
5
5
  L44 48
6
6
  Q32 52 20 48
7
- Z`,transform:"scale(0.98)",idBase:"BrandySnifterGlassGrad",opacity:.7,liquidFill:t}),p.createElement("path",{d:`
7
+ Z`,transform:"scale(0.98)",idBase:r,opacity:.7,liquidFill:t}),x.createElement("path",{d:`
8
8
  M22 28
9
9
  L42 28
10
10
  L44 48
11
11
  Q32 52 20 48
12
12
  Z
13
- `,fill:"none",stroke:"currentColor",strokeWidth:o}),p.createElement("line",{x1:22,y1:28,x2:42,y2:28,stroke:"currentColor",strokeWidth:o}),p.createElement("rect",{x:30,y:50,width:4,height:5,fill:"currentColor",stroke:"currentColor",strokeWidth:o}),p.createElement("path",{d:"M24 55 Q32 54 40 55 L40 55 L24 55 Z",fill:"currentColor",stroke:"currentColor",strokeWidth:o}))}import C from"react";function U({liquidFill:t=["#FFF7C0","#FFD27A"],strokeWidth:o=.5}){return C.createElement("svg",{viewBox:"0 0 64 64"},C.createElement(i,{d:"M22 10 L42 10 L42 54 L22 54 Z",transform:"scale(0.98)",idBase:"CollinsGlassGrad",opacity:.7,liquidFill:t}),C.createElement("line",{x1:22,y1:10,x2:22,y2:54,stroke:"currentColor",strokeWidth:o}),C.createElement("line",{x1:42,y1:10,x2:42,y2:54,stroke:"currentColor",strokeWidth:o}),C.createElement("line",{x1:21.76,y1:10,x2:42.24,y2:10,stroke:"currentColor",strokeWidth:o}),C.createElement("rect",{x:22,y:54,width:20,height:2,fill:"currentColor",stroke:"currentColor",strokeWidth:o}))}import Q from"react";function X({size:t=80,strokeWidth:o=.5,fill:r="#B87333"}){return Q.createElement("svg",{width:t,height:t,viewBox:"0 0 64 64"},Q.createElement("path",{d:"M47 23 C68 23 68 52 46.5 50",fill:"none",stroke:r,strokeWidth:o+2}),Q.createElement("path",{d:`
13
+ `,fill:"none",stroke:"currentColor",strokeWidth:o}),x.createElement("line",{x1:22,y1:28,x2:42,y2:28,stroke:"currentColor",strokeWidth:o}),x.createElement("rect",{x:30,y:50,width:4,height:5,fill:"currentColor",stroke:"currentColor",strokeWidth:o}),x.createElement("path",{d:"M24 55 Q32 54 40 55 L40 55 L24 55 Z",fill:"currentColor",stroke:"currentColor",strokeWidth:o}))}import k from"react";function dr({liquidFill:t=["#FFF7C0","#FFD27A"],strokeWidth:o=.5,idBase:r="CollinsGlassGrad"}){return k.createElement("svg",{viewBox:"0 0 64 64"},k.createElement(i,{d:"M22 10 L42 10 L42 54 L22 54 Z",transform:"scale(0.98)",idBase:r,opacity:.7,liquidFill:t}),k.createElement("line",{x1:22,y1:10,x2:22,y2:54,stroke:"currentColor",strokeWidth:o}),k.createElement("line",{x1:42,y1:10,x2:42,y2:54,stroke:"currentColor",strokeWidth:o}),k.createElement("line",{x1:21.76,y1:10,x2:42.24,y2:10,stroke:"currentColor",strokeWidth:o}),k.createElement("rect",{x:22,y:54,width:20,height:2,fill:"currentColor",stroke:"currentColor",strokeWidth:o}))}import b from"react";function ur({size:t=80,strokeWidth:o=.5,fill:r="#B87333"}){return b.createElement("svg",{width:t,height:t,viewBox:"0 0 64 64"},b.createElement("path",{d:"M47 23 C68 23 68 52 46.5 50",fill:"none",stroke:r,strokeWidth:o+2}),b.createElement("path",{d:`
14
14
  M18 16
15
15
  L46 16
16
16
  C48 24 48 40 46 56
17
17
  L18 56
18
18
  C16 40 16 24 18 16
19
19
  Z
20
- `,transform:"scale(0.98)",fill:r}),Q.createElement("path",{d:`
20
+ `,transform:"scale(0.98)",fill:r}),b.createElement("path",{d:`
21
21
  M18 16
22
22
  L46 16
23
23
  C48 24 48 40 46 56
24
24
  L18 56
25
25
  C16 40 16 24 18 16
26
26
  Z
27
- `,fill:"none",stroke:r,strokeWidth:o}),Q.createElement("line",{x1:18,y1:16,x2:46,y2:16,stroke:r,strokeWidth:o}))}import L from"react";var br={colors:{accent:{200:"#ffd180",500:"#e67e22"},warning:"#ffb300",success:"#4caf50",error:"#e53935",dark:{400:"#616161",700:"#212121",900:"#121212"}}};try{global.theme=br}catch{}function Y({liquidFill:t=null,strokeWidth:o=.5}){return L.createElement("svg",{viewBox:"0 0 64 64"},L.createElement(i,{d:"M30 16 L35 16 Q34 25 31 26 Q30 26 28 16 Z",transform:"scale(0.98)",idBase:"CordialGlassGrad",opacity:.7,liquidFill:t}),L.createElement("path",{d:"M28 16 L36 16 Q34 26 32 26 Q30 26 28 16 Z",stroke:"currentColor",strokeWidth:o,fill:"none"}),L.createElement("rect",{x:31.8,y:26,width:.5,height:6,fill:"currentColor",stroke:"currentColor",strokeWidth:o}),L.createElement("path",{d:"M28.5 17 L35.5 17 Q34 25 32 25 Q30 25 28.5 17 Z",fill:"rgba(255,255,255,0.06)"}),L.createElement("path",{d:"M28 32 Q32 31 36 32 L36 32 L28 32 Z",fill:"currentColor",stroke:"currentColor",strokeWidth:o}))}import B from"react";function z({liquidFill:t=null,size:o=80,strokeWidth:r=1}){return B.createElement("svg",{width:o,height:o,viewBox:"0 0 64 64"},B.createElement(i,{d:`
27
+ `,fill:"none",stroke:r,strokeWidth:o}),b.createElement("line",{x1:18,y1:16,x2:46,y2:16,stroke:r,strokeWidth:o}))}import G from"react";var Kr={colors:{accent:{200:"#ffd180",500:"#e67e22"},warning:"#ffb300",success:"#4caf50",error:"#e53935",dark:{400:"#616161",700:"#212121",900:"#121212"}}};try{global.theme=Kr}catch{}function hr({liquidFill:t=null,strokeWidth:o=.5,idBase:r="CordialGlassGrad"}){return G.createElement("svg",{viewBox:"0 0 64 64"},G.createElement(i,{d:"M30 16 L35 16 Q34 25 31 26 Q30 26 28 16 Z",transform:"scale(0.98)",idBase:r,opacity:.7,liquidFill:t}),G.createElement("path",{d:"M28 16 L36 16 Q34 26 32 26 Q30 26 28 16 Z",stroke:"currentColor",strokeWidth:o,fill:"none"}),G.createElement("rect",{x:31.8,y:26,width:.5,height:6,fill:"currentColor",stroke:"currentColor",strokeWidth:o}),G.createElement("path",{d:"M28.5 17 L35.5 17 Q34 25 32 25 Q30 25 28.5 17 Z",fill:"rgba(255,255,255,0.06)"}),G.createElement("path",{d:"M28 32 Q32 31 36 32 L36 32 L28 32 Z",fill:"currentColor",stroke:"currentColor",strokeWidth:o}))}import $ from"react";function fr({liquidFill:t=null,size:o=80,strokeWidth:r=1,idBase:l="CoupeGlassGrad"}){return $.createElement("svg",{width:o,height:o,viewBox:"0 0 64 64"},$.createElement(i,{d:`
28
28
  M12 32 Q32 36 52 32 L52 18 Q32 18 12 18 Z
29
- `,transform:"scale(0.98)",idBase:"CoupeGlassGrad",opacity:.7,liquidFill:t}),B.createElement("path",{d:`
29
+ `,transform:"scale(0.98)",idBase:l,opacity:.7,liquidFill:t}),$.createElement("path",{d:`
30
30
  M12 32 Q32 36 52 32 L52 18 Q32 18 12 18 Z
31
- `,fill:"none",stroke:"currentColor",strokeWidth:r}),B.createElement("path",{d:"M32 34 L32 60",stroke:"currentColor",strokeWidth:r}),B.createElement("path",{d:"M24 60 Q32 59 40 60 L40 60 L24 60 Z",fill:"currentColor",stroke:"currentColor",strokeWidth:r}))}import q from"react";function R({liquidFill:t=null,size:o=80,strokeWidth:r=.5}){return q.createElement("svg",{width:o,height:o,viewBox:"0 0 64 64"},q.createElement("path",{d:"M20 24 L24 45 L40 45 L44 24 Z",fill:"none",stroke:"currentColor",strokeLinejoin:"miter",strokeWidth:r}),q.createElement(i,{d:"M20 24 L24 45 L40 45 L44 24 Z",transform:"scale(0.98)",idBase:"DemitasseGlassGrad",opacity:.7,liquidFill:t}),q.createElement("path",{d:"M43 30 Q55 30 41 40",stroke:"currentColor",fill:"none",strokeWidth:r}),q.createElement("path",{d:"M24 45 Q32 45 40 45 L40 48 L24 48 Z",fill:"currentColor",stroke:"currentColor",strokeWidth:r}))}import H from"react";function rr({liquidFill:t=["#FFF7C0","#FFD27A"],size:o=64,strokeWidth:r=.5}){return H.createElement("svg",{width:o,height:o,viewBox:"0 0 64 64"},H.createElement("path",{d:"M20 18 C22 30 22 46 22.5 58 L41.5 58 C42.5 46 42.5 30 44 18 Z",stroke:"currentColor",fill:"none",strokeWidth:r}),H.createElement(i,{d:"M20 18 C22 30 22 46 22.5 58 L41.5 58 C42.5 46 42.5 30 44 18 Z",transform:"scale(0.98)",idBase:"DoubleShotGlassGrad",opacity:.7,liquidFill:t}),H.createElement("rect",{x:22.5,y:58,width:19,height:3,fill:"none",stroke:"currentColor",strokeWidth:r}))}import c from"react";function or({liquidFill:t=null,size:o=80,strokeWidth:r=.5}){return c.createElement("svg",{width:o,height:o,viewBox:"0 0 64 64"},c.createElement("path",{d:"M22 10 L42 10",stroke:"currentColor",strokeWidth:r}),c.createElement(i,{d:`
31
+ `,fill:"none",stroke:"currentColor",strokeWidth:r}),$.createElement("path",{d:"M32 34 L32 60",stroke:"currentColor",strokeWidth:r}),$.createElement("path",{d:"M24 60 Q32 59 40 60 L40 60 L24 60 Z",fill:"currentColor",stroke:"currentColor",strokeWidth:r}))}import A from"react";function ar({liquidFill:t=null,size:o=80,strokeWidth:r=.5,idBase:l="DemitasseGlassGrad"}){return A.createElement("svg",{width:o,height:o,viewBox:"0 0 64 64"},A.createElement("path",{d:"M20 24 L24 45 L40 45 L44 24 Z",fill:"none",stroke:"currentColor",strokeLinejoin:"miter",strokeWidth:r}),A.createElement(i,{d:"M20 24 L24 45 L40 45 L44 24 Z",transform:"scale(0.98)",idBase:l,opacity:.7,liquidFill:t}),A.createElement("path",{d:"M43 30 Q55 30 41 40",stroke:"currentColor",fill:"none",strokeWidth:r}),A.createElement("path",{d:"M24 45 Q32 45 40 45 L40 48 L24 48 Z",fill:"currentColor",stroke:"currentColor",strokeWidth:r}))}import U from"react";function mr({liquidFill:t=["#FFF7C0","#FFD27A"],size:o=64,strokeWidth:r=.5,idBase:l="DoubleShotGlassGrad"}){return U.createElement("svg",{width:o,height:o,viewBox:"0 0 64 64"},U.createElement("path",{d:"M20 18 C22 30 22 46 22.5 58 L41.5 58 C42.5 46 42.5 30 44 18 Z",stroke:"currentColor",fill:"none",strokeWidth:r}),U.createElement(i,{d:"M20 18 C22 30 22 46 22.5 58 L41.5 58 C42.5 46 42.5 30 44 18 Z",transform:"scale(0.98)",idBase:l,opacity:.7,liquidFill:t}),U.createElement("rect",{x:22.5,y:58,width:19,height:3,fill:"none",stroke:"currentColor",strokeWidth:r}))}import M from"react";function pr({liquidFill:t=null,size:o=80,strokeWidth:r=.5,idBase:l="FizzGlassGrad"}){return M.createElement("svg",{width:o,height:o,viewBox:"0 0 64 64"},M.createElement("path",{d:"M22 10 L42 10",stroke:"currentColor",strokeWidth:r}),M.createElement(i,{d:`
32
32
  M22 10 L24 23 L40 23 L42 10 Z
33
- `,transform:"scale(0.98)",idBase:"FizzGlassGrad",opacity:.7,liquidFill:t}),c.createElement("path",{d:`
33
+ `,transform:"scale(0.98)",idBase:l,opacity:.7,liquidFill:t}),M.createElement("path",{d:`
34
34
  M22 10 L24 23 L40 23 L42 10 Z
35
- `,fill:"none",stroke:"currentColor",strokeWidth:r}),c.createElement("rect",{x:32,y:23,width:1,height:10,fill:"currentColor",stroke:"currentColor",strokeWidth:r}),c.createElement("path",{d:"M26 33 Q32 32 38 33 L38 33 L26 33 Z",fill:"currentColor",stroke:"currentColor",strokeWidth:r}))}import F from"react";function tr({liquidFill:t=null,size:o=80,strokeWidth:r=.5}){return F.createElement("svg",{width:o,height:o,viewBox:"0 0 64 64"},F.createElement(i,{d:`
35
+ `,fill:"none",stroke:"currentColor",strokeWidth:r}),M.createElement("rect",{x:32,y:23,width:1,height:10,fill:"currentColor",stroke:"currentColor",strokeWidth:r}),M.createElement("path",{d:"M26 33 Q32 32 38 33 L38 33 L26 33 Z",fill:"currentColor",stroke:"currentColor",strokeWidth:r}))}import H from"react";function cr({liquidFill:t=null,size:o=80,strokeWidth:r=.5,idBase:l="FluteGlassGrad"}){return H.createElement("svg",{width:o,height:o,viewBox:"0 0 64 64"},H.createElement(i,{d:`
36
36
  M30 12
37
37
  L34 12
38
38
  L36 36
39
39
  Q32 38 28 36
40
40
  Z
41
- `,transform:"scale(0.98)",idBase:"FluteGlassGrad",opacity:.7,liquidFill:t}),F.createElement("path",{d:`
41
+ `,transform:"scale(0.98)",idBase:l,opacity:.7,liquidFill:t}),H.createElement("path",{d:`
42
42
  M30 12
43
43
  L34 12
44
44
  L36 36
45
45
  Q32 38 28 36
46
46
  Z
47
- `,fill:"none",stroke:"currentColor",strokeWidth:r}),F.createElement("rect",{x:32,y:37,width:r,height:16,fill:"currentColor",stroke:"currentColor",strokeWidth:r}),F.createElement("path",{d:"M26 53 Q32 52 38 53 L38 53 L26 53 Z",fill:"currentColor",stroke:"currentColor",strokeWidth:r}))}import g from"react";function ir({liquidFill:t=null,size:o=80,strokeWidth:r=2}){let l=Math.round(o*90/80);return g.createElement("svg",{width:o,height:l,viewBox:"0 0 64 90"},g.createElement("rect",{x:30.5,y:69,width:3,height:8,fill:"currentColor",stroke:"currentColor",strokeWidth:r}),g.createElement(i,{d:" M19 28 L46 28 Q52 58 32 70 Q12 58 16 28 Z ",transform:"scale(0.98)",idBase:"GobletGlassGrad",opacity:.7,liquidFill:t}),g.createElement("path",{d:`
47
+ `,fill:"none",stroke:"currentColor",strokeWidth:r}),H.createElement("rect",{x:32,y:37,width:r,height:16,fill:"currentColor",stroke:"currentColor",strokeWidth:r}),H.createElement("path",{d:"M26 53 Q32 52 38 53 L38 53 L26 53 Z",fill:"currentColor",stroke:"currentColor",strokeWidth:r}))}import y from"react";function Cr({liquidFill:t=null,size:o=80,strokeWidth:r=2,idBase:l="GobletGlassGrad"}){let d=Math.round(o*90/80);return y.createElement("svg",{width:o,height:d,viewBox:"0 0 64 90"},y.createElement("rect",{x:30.5,y:69,width:3,height:8,fill:"currentColor",stroke:"currentColor",strokeWidth:r}),y.createElement(i,{d:" M19 28 L46 28 Q52 58 32 70 Q12 58 16 28 Z ",transform:"scale(0.98)",idBase:l,opacity:.7,liquidFill:t}),y.createElement("path",{d:`
48
48
  M16 28
49
49
  L48 28
50
50
  Q52 58 32 70
51
51
  Q12 58 16 28
52
52
  Z
53
- `,fill:"none",stroke:"currentColor",strokeWidth:r}),g.createElement("line",{x1:16,y1:28,x2:48,y2:28,stroke:"currentColor",strokeWidth:r}),g.createElement("path",{d:" M24 77 Q32 76 40 77 L40 77 L24 77 Z ",fill:"currentColor",stroke:"currentColor",strokeWidth:r}))}import N from"react";function lr({liquidFill:t=null,size:o=80,strokeWidth:r=.5}){return N.createElement("svg",{width:o,height:o,viewBox:"0 0 64 64"},N.createElement(i,{d:"M18 10 L46 10 L46 60 L18 60 Z",transform:"scale(0.98)",idBase:"HighballGlassGrad",opacity:.7,liquidFill:t}),N.createElement("rect",{x:18,y:10,width:28,height:50,stroke:"currentColor",strokeWidth:r,fill:"none"}),N.createElement("rect",{x:18,y:60,width:28,height:2,fill:"currentColor",stroke:"currentColor",strokeWidth:r}))}import S from"react";function er({liquidFill:t=null,garnish:o=null,size:r=80,strokeWidth:l=.5}){return S.createElement("svg",{width:r,height:r,viewBox:"0 0 64 64"},S.createElement(i,{d:"M24 10 C16 22, 24 38, 28 44 C30 48, 34 48, 36 44 C40 38, 48 22, 40 10 Z",transform:"scale(0.98)",idBase:"HurricaneGlassGrad",opacity:.7,liquidFill:t}),S.createElement("path",{d:"M24 10 C16 22, 24 38, 28 44 C30 48, 34 48, 36 44 C40 38, 48 22, 40 10 Z",stroke:"currentColor",fill:"none",strokeWidth:l}),S.createElement("rect",{x:30.5,y:47,width:3,height:10,fill:"currentColor",stroke:"currentColor",strokeWidth:l}),S.createElement("path",{d:"M26 57 Q32 56 38 57 L38 57 L26 57 Z",fill:"currentColor",stroke:"currentColor",strokeWidth:l}))}import x from"react";function sr({liquidFill:t=null,size:o=80,strokeWidth:r=2}){return x.createElement("svg",{width:o,height:o,viewBox:"0 0 64 64"},x.createElement("path",{d:" M42 18 Q60 20 44 30 ",stroke:"currentColor",strokeWidth:r,fill:"none"}),x.createElement(i,{d:`
53
+ `,fill:"none",stroke:"currentColor",strokeWidth:r}),y.createElement("line",{x1:16,y1:28,x2:48,y2:28,stroke:"currentColor",strokeWidth:r}),y.createElement("path",{d:" M24 77 Q32 76 40 77 L40 77 L24 77 Z ",fill:"currentColor",stroke:"currentColor",strokeWidth:r}))}import X from"react";function Lr({liquidFill:t=null,size:o=80,strokeWidth:r=.5,idBase:l="HighballGlassGrad"}){return X.createElement("svg",{width:o,height:o,viewBox:"0 0 64 64"},X.createElement(i,{d:"M18 10 L46 10 L46 60 L18 60 Z",transform:"scale(0.98)",idBase:l,opacity:.7,liquidFill:t}),X.createElement("rect",{x:18,y:10,width:28,height:50,stroke:"currentColor",strokeWidth:r,fill:"none"}),X.createElement("rect",{x:18,y:60,width:28,height:2,fill:"currentColor",stroke:"currentColor",strokeWidth:r}))}import D from"react";function gr({liquidFill:t=null,garnish:o=null,size:r=80,strokeWidth:l=.5,idBase:d="HurricaneGlassGrad"}){return D.createElement("svg",{width:r,height:r,viewBox:"0 0 64 64"},D.createElement(i,{d:"M24 10 C16 22, 24 38, 28 44 C30 48, 34 48, 36 44 C40 38, 48 22, 40 10 Z",transform:"scale(0.98)",idBase:d,opacity:.7,liquidFill:t}),D.createElement("path",{d:"M24 10 C16 22, 24 38, 28 44 C30 48, 34 48, 36 44 C40 38, 48 22, 40 10 Z",stroke:"currentColor",fill:"none",strokeWidth:l}),D.createElement("rect",{x:30.5,y:47,width:3,height:10,fill:"currentColor",stroke:"currentColor",strokeWidth:l}),D.createElement("path",{d:"M26 57 Q32 56 38 57 L38 57 L26 57 Z",fill:"currentColor",stroke:"currentColor",strokeWidth:l}))}import w from"react";function xr({liquidFill:t=null,size:o=80,strokeWidth:r=2,idBase:l="IrishCoffeeGlassGrad"}){return w.createElement("svg",{width:o,height:o,viewBox:"0 0 64 64"},w.createElement("path",{d:" M42 18 Q60 20 44 30 ",stroke:"currentColor",strokeWidth:r,fill:"none"}),w.createElement(i,{d:`
54
54
  M22 16
55
55
  L42 16
56
56
  L44 30
57
57
  Q44 38 32 42
58
58
  Q20 38 20 30
59
59
  Z
60
- `,transform:"scale(0.98)",idBase:"IrishCoffeeGlassGrad",opacity:.7,liquidFill:t}),x.createElement("path",{d:`
60
+ `,transform:"scale(0.98)",idBase:l,opacity:.7,liquidFill:t}),w.createElement("path",{d:`
61
61
  M22 16
62
62
  L42 16
63
63
  L44 30
64
64
  Q44 38 32 42
65
65
  Q20 38 20 30
66
66
  Z
67
- `,stroke:"currentColor",strokeWidth:r-1,fill:"none"}),x.createElement("rect",{x:31,y:42,width:2,height:2,fill:"currentColor",stroke:"currentColor",strokeWidth:r}),x.createElement("path",{d:" M24 44 Q32 43 40 44 L40 44 L24 44 Z ",fill:"currentColor",stroke:"currentColor",strokeWidth:r}))}import n from"react";function nr({fill:t="#a1a1a1",size:o=80,strokeWidth:r=.5}){return n.createElement("svg",{width:o,height:o,viewBox:"0 0 64 64"},n.createElement("rect",{x:17,y:21,width:30,height:1,rx:1,fill:"none",stroke:t,strokeWidth:r}),n.createElement("rect",{x:17,y:21,width:30,height:1,rx:1,transform:"scale(0.98)",opacity:.7,fill:t,strokeWidth:0}),n.createElement("path",{d:`
67
+ `,stroke:"currentColor",strokeWidth:r-1,fill:"none"}),w.createElement("rect",{x:31,y:42,width:2,height:2,fill:"currentColor",stroke:"currentColor",strokeWidth:r}),w.createElement("path",{d:" M24 44 Q32 43 40 44 L40 44 L24 44 Z ",fill:"currentColor",stroke:"currentColor",strokeWidth:r}))}import m from"react";function kr({fill:t="#a1a1a1",size:o=80,strokeWidth:r=.5}){return m.createElement("svg",{width:o,height:o,viewBox:"0 0 64 64"},m.createElement("rect",{x:17,y:21,width:30,height:1,rx:1,fill:"none",stroke:t,strokeWidth:r}),m.createElement("rect",{x:17,y:21,width:30,height:1,rx:1,transform:"scale(0.98)",opacity:.7,fill:t,strokeWidth:0}),m.createElement("path",{d:`
68
68
  M18 22
69
69
  L46 22
70
70
  L42 54
71
71
  L22 54
72
72
  Z
73
- `,fill:"none",stroke:t,strokeWidth:r}),n.createElement("path",{d:`
73
+ `,fill:"none",stroke:t,strokeWidth:r}),m.createElement("path",{d:`
74
74
  M18 22
75
75
  L46 22
76
76
  L42 54
77
77
  L22 54
78
78
  Z
79
- `,transform:"scale(0.98)",fill:t}),n.createElement("rect",{x:20,y:53,width:24,height:1,rx:r,fill:"none",stroke:t,strokeWidth:r}),n.createElement("rect",{x:20,y:53,width:24,height:1,rx:r,transform:"scale(0.98)",fill:t,strokeWidth:0}),n.createElement("rect",{x:18.8,y:54,width:26,height:1,rx:r,fill:"none",stroke:t,strokeWidth:r}),n.createElement("rect",{x:18.8,y:54,width:26,height:1,rx:r,transform:"scale(0.98)",fill:t,strokeWidth:0}))}import W from"react";function dr({liquidFill:t=["#A8E063","#56AB2F"],size:o=80,strokeWidth:r=.5}){let l=t;return W.createElement("svg",{width:o,height:o,viewBox:"0 0 64 64"},W.createElement(i,{d:"M14 18 L50 18 Q46 28 36 29 Q30 30 28 29 Q18 28 14 18 Z M28 29 Q32 29 36 29 Q38 34 32 36 Q26 34 28 29 Z",transform:"scale(0.98)",idBase:"MargaritaGlassGrad",opacity:.7,liquidFill:t}),W.createElement("path",{d:`M14 18 L50 18 Q46 28 36 29 Q30 30 28 29 Q18 28 14 18 Z
80
- M28 29 Q32 29 36 29 Q38 34 32 36 Q26 34 28 29 Z`,fill:"none",stroke:"currentColor",strokeWidth:r}),W.createElement("rect",{x:31.5,y:36,width:1,height:10,fill:"currentColor",stroke:"currentColor",strokeWidth:r}),W.createElement("path",{d:" M24 46 Q32 45 40 46 L40 47 L24 47 Z ",fill:"currentColor",strokeWidth:0}))}import $ from"react";function ur({liquidFill:t=null,garnish:o=null,size:r=80,strokeWidth:l=1}){return $.createElement("svg",{width:r,height:r,viewBox:"0 0 64 64"},$.createElement(i,{d:"M10 10 L54 10 L32 40 Z",transform:"scale(0.98)",idBase:"MartiniGlassGrad",opacity:.7,liquidFill:t}),$.createElement("path",{d:"M10 10 L54 10 L32 40 Z",stroke:"currentColor",fill:"none",strokeWidth:l}),$.createElement("path",{d:"M32 40 L32 58",stroke:"currentColor",strokeWidth:l}),$.createElement("path",{d:" M24 58 Q32 57 40 58 L40 59 L24 59 Z ",fill:"currentColor"}))}import b from"react";function fr({liquidFill:t=null,garnish:o=null,size:r=80,strokeWidth:l=.5}){return b.createElement("svg",{width:r,height:r,viewBox:"0 0 64 64"},b.createElement(i,{d:"M24 38 L24 24 L40 24 L40 38 Q32 40 24 38 Z",transform:"scale(0.98)",idBase:"NickAndNoraGlassGrad",opacity:.7,liquidFill:t}),b.createElement("path",{d:"M24 38 L24 24 L40 24 L40 38 Q32 40 24 38 Z",fill:"none",stroke:"currentColor",strokeWidth:l}),b.createElement("rect",{x:32,y:39,width:1,height:16,fill:"currentColor",stroke:"currentColor",strokeWidth:l}),b.createElement("path",{d:" M24 55 Q32 54 40 55 L40 55 L24 55 Z ",fill:"currentColor",stroke:"currentColor",strokeWidth:l}))}import A from"react";function hr({liquidFill:t=null,size:o=80,strokeWidth:r=.5}){return A.createElement("svg",{width:o,height:o,viewBox:"0 0 64 64"},A.createElement(i,{d:`
79
+ `,transform:"scale(0.98)",fill:t}),m.createElement("rect",{x:20,y:53,width:24,height:1,rx:r,fill:"none",stroke:t,strokeWidth:r}),m.createElement("rect",{x:20,y:53,width:24,height:1,rx:r,transform:"scale(0.98)",fill:t,strokeWidth:0}),m.createElement("rect",{x:18.8,y:54,width:26,height:1,rx:r,fill:"none",stroke:t,strokeWidth:r}),m.createElement("rect",{x:18.8,y:54,width:26,height:1,rx:r,transform:"scale(0.98)",fill:t,strokeWidth:0}))}import P from"react";function Gr({liquidFill:t=["#A8E063","#56AB2F"],size:o=80,strokeWidth:r=.5,idBase:l="MargaritaGlassGrad"}){let d=t;return P.createElement("svg",{width:o,height:o,viewBox:"0 0 64 64"},P.createElement(i,{d:"M14 18 L50 18 Q46 28 36 29 Q30 30 28 29 Q18 28 14 18 Z M28 29 Q32 29 36 29 Q38 34 32 36 Q26 34 28 29 Z",transform:"scale(0.98)",idBase:l,opacity:.7,liquidFill:t}),P.createElement("path",{d:`M14 18 L50 18 Q46 28 36 29 Q30 30 28 29 Q18 28 14 18 Z
80
+ M28 29 Q32 29 36 29 Q38 34 32 36 Q26 34 28 29 Z`,fill:"none",stroke:"currentColor",strokeWidth:r}),P.createElement("rect",{x:31.5,y:36,width:1,height:10,fill:"currentColor",stroke:"currentColor",strokeWidth:r}),P.createElement("path",{d:" M24 46 Q32 45 40 46 L40 47 L24 47 Z ",fill:"currentColor",strokeWidth:0}))}import T from"react";function Mr({liquidFill:t=null,garnish:o=null,size:r=80,strokeWidth:l=1,idBase:d="MartiniGlassGrad"}){return T.createElement("svg",{width:r,height:r,viewBox:"0 0 64 64"},T.createElement(i,{d:"M10 10 L54 10 L32 40 Z",transform:"scale(0.98)",idBase:d,opacity:.7,liquidFill:t}),T.createElement("path",{d:"M10 10 L54 10 L32 40 Z",stroke:"currentColor",fill:"none",strokeWidth:l}),T.createElement("path",{d:"M32 40 L32 58",stroke:"currentColor",strokeWidth:l}),T.createElement("path",{d:" M24 58 Q32 57 40 58 L40 59 L24 59 Z ",fill:"currentColor"}))}import N from"react";function yr({liquidFill:t=null,garnish:o=null,size:r=80,strokeWidth:l=.5,idBase:d="NickAndNoraGlassGrad"}){return N.createElement("svg",{width:r,height:r,viewBox:"0 0 64 64"},N.createElement(i,{d:"M24 38 L24 24 L40 24 L40 38 Q32 40 24 38 Z",transform:"scale(0.98)",idBase:d,opacity:.7,liquidFill:t}),N.createElement("path",{d:"M24 38 L24 24 L40 24 L40 38 Q32 40 24 38 Z",fill:"none",stroke:"currentColor",strokeWidth:l}),N.createElement("rect",{x:32,y:39,width:1,height:16,fill:"currentColor",stroke:"currentColor",strokeWidth:l}),N.createElement("path",{d:" M24 55 Q32 54 40 55 L40 55 L24 55 Z ",fill:"currentColor",stroke:"currentColor",strokeWidth:l}))}import E from"react";function wr({liquidFill:t=null,size:o=80,strokeWidth:r=.5,idBase:l="ParfaitGlassGrad"}){return E.createElement("svg",{width:o,height:o,viewBox:"0 0 64 64"},E.createElement(i,{d:`
81
81
  M22 12
82
82
  L42 12
83
83
  Q40 30 38 44
84
84
  Q32 50 26 44
85
85
  Q24 30 22 12
86
86
  Z
87
- `,transform:"scale(0.98)",idBase:"ParfaitGlassGrad",opacity:.7,liquidFill:t}),A.createElement("path",{d:`
87
+ `,transform:"scale(0.98)",idBase:l,opacity:.7,liquidFill:t}),E.createElement("path",{d:`
88
88
  M22 12
89
89
  L42 12
90
90
  Q40 30 38 44
91
91
  Q32 50 26 44
92
92
  Q24 30 22 12
93
93
  Z
94
- `,stroke:"currentColor",strokeWidth:r,fill:"none"}),A.createElement("rect",{x:31,y:47,width:2,height:8,fill:"currentColor"}),A.createElement("path",{d:`
94
+ `,stroke:"currentColor",strokeWidth:r,fill:"none"}),E.createElement("rect",{x:31,y:47,width:2,height:8,fill:"currentColor"}),E.createElement("path",{d:`
95
95
  M22 57 Q32 53 42 57 L42 57.5 L22 57.5 Z
96
- `,fill:"currentColor"}))}import E from"react";function ar({liquidFill:t=null,size:o=80,strokeWidth:r=.5}){return E.createElement("svg",{width:o,height:o,viewBox:"0 0 64 64"},E.createElement(i,{d:"M24 10 L40 10 Q38 36 36 50 Q32 54 28 50 Q26 36 24 10 Z",transform:"scale(0.98)",idBase:"PilsnerGlassGrad",opacity:.7,liquidFill:t}),E.createElement("path",{d:"M28 50 Q32 55 37 51 L37 56 Q35 56 28.5 56 Z",transform:"scale(0.98)",fill:"currentColor",className:"base"}),E.createElement("path",{d:"M24 10 L40 10 Q38 36 36 55 Q32 55 28 55 Q26 36 24 10 Z",stroke:"currentColor",strokeWidth:r,fill:"none"}))}import T from"react";function mr({liquidFill:t=null,garnish:o=null,size:r=80,strokeWidth:l=.5}){return T.createElement("svg",{width:r,height:r,viewBox:"0 0 64 64"},T.createElement(i,{d:"M18 10 L46 10 L42 54 L22 54 Z",transform:"scale(0.98)",idBase:"PintGlassGrad",opacity:.7,liquidFill:t}),T.createElement("path",{d:"M18 10 L46 10 L42 54 L22 54 Z",stroke:"currentColor",strokeWidth:l,fill:"none"}),T.createElement("rect",{x:22,y:54,width:20,height:2,fill:"currentColor",stroke:"currentColor",strokeWidth:l}))}import f from"react";function pr({liquidFill:t=null,size:o=80,strokeWidth:r=.5}){let d=Math.floor(o*1.125);return f.createElement("svg",{width:o,height:d,viewBox:"0 0 64 90"},f.createElement("g",null,f.createElement(i,{d:`
96
+ `,fill:"currentColor"}))}import Y from"react";function vr({liquidFill:t=null,size:o=80,strokeWidth:r=.5,idBase:l="PilsnerGlassGrad"}){return Y.createElement("svg",{width:o,height:o,viewBox:"0 0 64 64"},Y.createElement(i,{d:"M24 10 L40 10 Q38 36 36 50 Q32 54 28 50 Q26 36 24 10 Z",transform:"scale(0.98)",idBase:l,opacity:.7,liquidFill:t}),Y.createElement("path",{d:"M28 50 Q32 55 37 51 L37 56 Q35 56 28.5 56 Z",transform:"scale(0.98)",fill:"currentColor",className:"base"}),Y.createElement("path",{d:"M24 10 L40 10 Q38 36 36 55 Q32 55 28 55 Q26 36 24 10 Z",stroke:"currentColor",strokeWidth:r,fill:"none"}))}import z from"react";function Zr({liquidFill:t=null,garnish:o=null,size:r=80,strokeWidth:l=.5,idBase:d="PintGlassGrad"}){return z.createElement("svg",{width:r,height:r,viewBox:"0 0 64 64"},z.createElement(i,{d:"M18 10 L46 10 L42 54 L22 54 Z",transform:"scale(0.98)",idBase:d,opacity:.7,liquidFill:t}),z.createElement("path",{d:"M18 10 L46 10 L42 54 L22 54 Z",stroke:"currentColor",strokeWidth:l,fill:"none"}),z.createElement("rect",{x:22,y:54,width:20,height:2,fill:"currentColor",stroke:"currentColor",strokeWidth:l}))}import c from"react";function Qr({liquidFill:t=null,size:o=80,strokeWidth:r=.5,idBase:l="PousseCafeGlassGrad"}){let tr=Math.floor(o*1.125);return c.createElement("svg",{width:o,height:tr,viewBox:"0 0 64 90"},c.createElement("g",null,c.createElement(i,{d:`
97
97
  M ${32-11} 12
98
98
  L ${32+11} 12
99
99
  L ${32+9} 38
100
100
  Q 32 42 ${32-9} 38
101
101
  Z
102
- `,transform:"scale(0.98)",idBase:"PousseCafeGlassGrad",opacity:.7,liquidFill:t}),f.createElement("path",{d:`
102
+ `,transform:"scale(0.98)",idBase:l,opacity:.7,liquidFill:t}),c.createElement("path",{d:`
103
103
  M ${32-11} 12
104
104
  L ${32+11} 12
105
105
  L ${32+9} 38
106
106
  Q 32 42 ${32-9} 38
107
107
  Z
108
- `,stroke:"currentColor",strokeWidth:r,fill:"none"}),f.createElement("path",{d:`
108
+ `,stroke:"currentColor",strokeWidth:r,fill:"none"}),c.createElement("path",{d:`
109
109
  M ${32-8} 18
110
110
  L ${32+8} 18
111
111
  L ${32+6} 30
112
112
  Q 32 33 ${32-6} 30
113
113
  Z
114
- `,fill:"rgba(255,255,255,0.06)"}),f.createElement("rect",{x:32-1,y:40,width:2,height:10,fill:"currentColor",stroke:"currentColor",strokeWidth:r}),f.createElement("path",{d:`M ${32-6} 50 Q 32 48 ${32+6} 50 L ${32+6} 50 L ${32-6} 50 Z`,fill:"currentColor",stroke:"currentColor",strokeWidth:r})))}import h from"react";function Cr({liquidFill:t=null,size:o=80,strokeWidth:r=.5}){return h.createElement("svg",{width:o,height:o,viewBox:"0 0 64 64"},h.createElement("g",null,h.createElement(i,{d:`
114
+ `,fill:"rgba(255,255,255,0.06)"}),c.createElement("rect",{x:32-1,y:40,width:2,height:10,fill:"currentColor",stroke:"currentColor",strokeWidth:r}),c.createElement("path",{d:`M ${32-6} 50 Q 32 48 ${32+6} 50 L ${32+6} 50 L ${32-6} 50 Z`,fill:"currentColor",stroke:"currentColor",strokeWidth:r})))}import C from"react";function Br({liquidFill:t=null,size:o=80,strokeWidth:r=.5,idBase:l="PunchGlassGrad"}){return C.createElement("svg",{width:o,height:o,viewBox:"0 0 64 64"},C.createElement("g",null,C.createElement(i,{d:`
115
115
  M22 18
116
116
  L42 18
117
117
  L38 30
118
118
  Q32 34 26 30
119
119
  L22 18
120
120
  Z
121
- `,transform:"scale(0.98)",idBase:"PunchGlassGrad",opacity:.7,liquidFill:t}),h.createElement("path",{d:`
121
+ `,transform:"scale(0.98)",idBase:l,opacity:.7,liquidFill:t}),C.createElement("path",{d:`
122
122
  M22 18
123
123
  L42 18
124
124
  L38 30
125
125
  Q32 34 26 30
126
126
  L22 18
127
127
  Z
128
- `,stroke:"currentColor",strokeWidth:r,fill:"none"}),h.createElement("path",{d:"M28 20 L28 28 M32 20 L32 30 M36 20 L36 28",stroke:"currentColor",strokeWidth:.6,strokeLinecap:"round",opacity:.06}),h.createElement("rect",{x:31,y:32,width:2,height:6,fill:"currentColor",stroke:"currentColor",strokeWidth:r}),h.createElement("path",{d:"M26 38 Q32 37 38 38 L38 38 L26 38 Z",fill:"currentColor",stroke:"currentColor",strokeWidth:r})))}import j from"react";function Lr({liquidFill:t=null,size:o=80,strokeWidth:r=.5}){return j.createElement("svg",{width:o,height:o,viewBox:"0 0 64 64"},j.createElement(i,{d:"M14 24 L50 24 L50 58 L14 58 Z",transform:"scale(0.98)",idBase:"RocksGlassGrad",opacity:.7,liquidFill:t}),j.createElement("rect",{x:14,y:24,width:36,height:34,stroke:"currentColor",strokeWidth:r,fill:"none"}),j.createElement("line",{x1:13.7,y1:59,x2:50.2,y2:59,stroke:"currentColor",strokeWidth:"2"}))}import I from"react";function cr({liquidFill:t=["#FFFFFF","#E0E0E0"],size:o=64,strokeWidth:r=.5}){return I.createElement("svg",{width:o,height:o,viewBox:"0 0 64 64"},I.createElement("path",{d:"M23 28 C24.5 36 24.5 40 25 48 L39 48 C39.5 40 39.5 36 41 28 Z",stroke:"currentColor",fill:"none",strokeWidth:r}),I.createElement(i,{d:"M23 28 C24.5 36 24.5 40 25 48 L39 48 C39.5 40 39.5 36 41 28 Z",transform:"scale(0.98)",idBase:"SingleShotGlassGrad",opacity:.7,liquidFill:t}),I.createElement("rect",{x:25,y:48,width:14,height:3,stroke:"currentColor",strokeWidth:r,fill:"none"}))}import k from"react";function gr({liquidFill:t=null,size:o=80,strokeWidth:r=.5}){return k.createElement("svg",{width:o,height:o,viewBox:"0 0 64 64"},k.createElement("line",{x1:24,y1:12,x2:40,y2:12,stroke:"currentColor",strokeWidth:r}),k.createElement(i,{d:"M25 12 L40 12 C41 29 40 46 32 55 C24 46 24 28 24 12 Z",transform:"scale(0.98)",idBase:"SlingGlassGrad",opacity:.7,liquidFill:t}),k.createElement("path",{d:"M25 12 L40 12 C41 29 40 46 32 55 C24 46 24 28 24 12 Z",stroke:"currentColor",strokeWidth:r,fill:"none"}),k.createElement("rect",{x:31,y:54,width:2,height:2,fill:"currentColor"}),k.createElement("path",{d:"M29 56 Q32 55 35 56 L35 56 L29 56 Z",fill:"currentColor",stroke:"currentColor",strokeWidth:r,rx:1}))}import G from"react";function xr({liquidFill:t=null,size:o=80,strokeWidth:r=.5}){return G.createElement("svg",{width:o,height:o,viewBox:"0 0 64 64"},G.createElement("line",{x1:22,y1:18,x2:42,y2:18,stroke:"currentColor",strokeWidth:r}),G.createElement("path",{d:`
128
+ `,stroke:"currentColor",strokeWidth:r,fill:"none"}),C.createElement("path",{d:"M28 20 L28 28 M32 20 L32 30 M36 20 L36 28",stroke:"currentColor",strokeWidth:.6,strokeLinecap:"round",opacity:.06}),C.createElement("rect",{x:31,y:32,width:2,height:6,fill:"currentColor",stroke:"currentColor",strokeWidth:r}),C.createElement("path",{d:"M26 38 Q32 37 38 38 L38 38 L26 38 Z",fill:"currentColor",stroke:"currentColor",strokeWidth:r})))}import R from"react";function qr({liquidFill:t=null,size:o=80,strokeWidth:r=.5,idBase:l="RocksGlassGrad"}){return R.createElement("svg",{width:o,height:o,viewBox:"0 0 64 64"},R.createElement(i,{d:"M14 24 L50 24 L50 58 L14 58 Z",transform:"scale(0.98)",idBase:l,opacity:.7,liquidFill:t}),R.createElement("rect",{x:14,y:24,width:36,height:34,stroke:"currentColor",strokeWidth:r,fill:"none"}),R.createElement("line",{x1:13.7,y1:59,x2:50.2,y2:59,stroke:"currentColor",strokeWidth:"2"}))}import rr from"react";function Fr({liquidFill:t=["#FFFFFF","#E0E0E0"],size:o=64,strokeWidth:r=.5,idBase:l="SingleShotGlassGrad"}){return rr.createElement("svg",{width:o,height:o,viewBox:"0 0 64 64"},rr.createElement("path",{d:"M23 28 C24.5 36 24.5 40 25 48 L39 48 C39.5 40 39.5 36 41 28 Z",stroke:"currentColor",fill:"none",strokeWidth:r}),rr.createElement(i,{d:"M23 28 C24.5 36 24.5 40 25 48 L39 48 C39.5 40 39.5 36 41 28 Z",transform:"scale(0.98)",idBase:l,opacity:.7,liquidFill:t}),rr.createElement("rect",{x:25,y:48,width:14,height:3,stroke:"currentColor",strokeWidth:r,fill:"none"}))}import v from"react";function Sr({liquidFill:t=null,size:o=80,strokeWidth:r=.5,idBase:l="SlingGlassGrad"}){return v.createElement("svg",{width:o,height:o,viewBox:"0 0 64 64"},v.createElement("line",{x1:24,y1:12,x2:40,y2:12,stroke:"currentColor",strokeWidth:r}),v.createElement(i,{d:"M25 12 L40 12 C41 29 40 46 32 55 C24 46 24 28 24 12 Z",transform:"scale(0.98)",idBase:l,opacity:.7,liquidFill:t}),v.createElement("path",{d:"M25 12 L40 12 C41 29 40 46 32 55 C24 46 24 28 24 12 Z",stroke:"currentColor",strokeWidth:r,fill:"none"}),v.createElement("rect",{x:31,y:54,width:2,height:2,fill:"currentColor"}),v.createElement("path",{d:"M29 56 Q32 55 35 56 L35 56 L29 56 Z",fill:"currentColor",stroke:"currentColor",strokeWidth:r,rx:1}))}import Z from"react";function Wr({liquidFill:t=null,size:o=80,strokeWidth:r=.5,idBase:l="SnifterGlassGrad"}){return Z.createElement("svg",{width:o,height:o,viewBox:"0 0 64 64"},Z.createElement("line",{x1:22,y1:18,x2:42,y2:18,stroke:"currentColor",strokeWidth:r}),Z.createElement("path",{d:`
129
129
  M22 18
130
130
  C16 32, 16 46, 32 52
131
131
  C48 46, 48 32, 42 18
132
132
  Z
133
- `,stroke:"currentColor",strokeWidth:r,fill:"none"}),G.createElement(i,{d:" M22 18 C16 32, 16 46, 32 52 C48 46, 48 32, 42 18 Z ",transform:"scale(0.98)",idBase:"SnifterGlassGrad",opacity:.7,liquidFill:t}),G.createElement("rect",{x:30,y:51,width:4,height:4,fill:"currentColor",stroke:"currentColor",strokeWidth:r}),G.createElement("path",{d:"M26 54 Q32 51 38 54 L38 55 L26 55 Z",fill:"currentColor",stroke:"currentColor",strokeWidth:r}))}import y from"react";function kr({liquidFill:t=null,size:o=80,strokeWidth:r=.5}){return y.createElement("svg",{width:o,height:o,viewBox:"0 0 64 64"},y.createElement("line",{x1:16,y1:18,x2:48,y2:18,stroke:"currentColor",strokeWidth:r}),y.createElement(i,{d:`
133
+ `,stroke:"currentColor",strokeWidth:r,fill:"none"}),Z.createElement(i,{d:" M22 18 C16 32, 16 46, 32 52 C48 46, 48 32, 42 18 Z ",transform:"scale(0.98)",idBase:l,opacity:.7,liquidFill:t}),Z.createElement("rect",{x:30,y:51,width:4,height:4,fill:"currentColor",stroke:"currentColor",strokeWidth:r}),Z.createElement("path",{d:"M26 54 Q32 51 38 54 L38 55 L26 55 Z",fill:"currentColor",stroke:"currentColor",strokeWidth:r}))}import Q from"react";function br({liquidFill:t=null,size:o=80,strokeWidth:r=.5,idBase:l="SourGlassGrad"}){return Q.createElement("svg",{width:o,height:o,viewBox:"0 0 64 64"},Q.createElement("line",{x1:16,y1:18,x2:48,y2:18,stroke:"currentColor",strokeWidth:r}),Q.createElement(i,{d:`
134
134
  M16 18
135
135
  L48 18
136
136
  C46 30, 46 38, 32 42
137
137
  C18 38, 18 30, 16 18
138
138
  Z
139
- `,transform:"scale(0.98)",idBase:"SourGlassGrad",opacity:.7,liquidFill:t}),y.createElement("path",{d:`
139
+ `,transform:"scale(0.98)",idBase:l,opacity:.7,liquidFill:t}),Q.createElement("path",{d:`
140
140
  M16 18
141
141
  L48 18
142
142
  C46 30, 46 38, 32 42
143
143
  C18 38, 18 30, 16 18
144
144
  Z
145
- `,stroke:"currentColor",strokeWidth:r,fill:"none"}),y.createElement("rect",{x:31,y:42,width:2,height:12,fill:"currentColor"}),y.createElement("path",{d:`
145
+ `,stroke:"currentColor",strokeWidth:r,fill:"none"}),Q.createElement("rect",{x:31,y:42,width:2,height:12,fill:"currentColor"}),Q.createElement("path",{d:`
146
146
  M22 54
147
147
  C22 52, 42 52, 42 54
148
148
  L42 54
149
149
  L22 54
150
150
  Z
151
- `,fill:"currentColor"}))}import M from"react";function Gr({liquidFill:t=null,size:o=80,strokeWidth:r=1}){return M.createElement("svg",{width:o,height:o,viewBox:"0 0 64 64"},M.createElement("rect",{x:13,y:44,width:36,height:4,fill:"currentColor"}),M.createElement(i,{d:"M14 10 L48 10 L48 44 L14 44 Z",transform:"scale(0.98)",idBase:"TankardGlassGrad",opacity:.7,liquidFill:t}),M.createElement("rect",{x:14,y:10,width:34,height:34,fill:"none",stroke:"currentColor",strokeWidth:r*1.4}),M.createElement("g",null,M.createElement("path",{d:"M49 17 C60 19 60 34 49 37",stroke:"currentColor",strokeWidth:r*3,strokeLinecap:"round",strokeLinejoin:"round",fill:"none"})))}import w from"react";function yr({liquidFill:t=null,size:o=80,strokeWidth:r=.5}){return w.createElement("svg",{width:o,height:o,viewBox:"0 0 64 64"},w.createElement("rect",{x:21.75,y:52,width:20.5,height:2,fill:"currentColor"}),w.createElement("rect",{x:20,y:50,width:24,height:4,rx:2,fill:"currentColor",opacity:.06}),w.createElement("rect",{x:22,y:10,width:20,height:42,stroke:"currentColor",strokeWidth:r,fill:"none",opacity:.9}),w.createElement(i,{d:"M21 9 L41 9 L41 51 L21 51 Z",transform:"scale(0.98)",idBase:"TikiGlassGrad",opacity:.7,liquidFill:t}),w.createElement("ellipse",{cx:32,cy:32,rx:6,ry:3,fill:"currentColor"}))}import a from"react";function Mr({liquidFill:t=null,size:o=80,strokeWidth:r=.8}){return a.createElement("svg",{width:o,height:o,viewBox:"0 0 64 64"},a.createElement(i,{d:"M22 12 H42 V40 H22 Z",transform:"scale(0.98)",idBase:"ToddyGlassGrad",opacity:.7,liquidFill:t}),a.createElement("path",{d:"M22 12 H42 V40 H22 Z",fill:"none",stroke:"currentColor",strokeWidth:r,strokeLinejoin:"round"}),a.createElement("g",null,a.createElement("path",{d:"M43 16 C52 18 52 34 43 36",stroke:"currentColor",strokeWidth:r*2.4,strokeLinecap:"round",strokeLinejoin:"round",fill:"none"})),a.createElement("rect",{x:30,y:40,width:4,height:6,fill:"currentColor"}),a.createElement("path",{d:"M22 47 Q32 43 42 47 L42 48 L22 48 Z",fill:"currentColor"}))}import J from"react";function wr({liquidFill:t=["#FFFFFF","#E0E0E0"],size:o=80,strokeWidth:r=.5}){return J.createElement("svg",{width:o,height:o,viewBox:"0 0 64 64"},J.createElement("rect",{x:22,y:30,width:20,height:18,stroke:"currentColor",fill:"none",strokeWidth:r}),J.createElement(i,{d:"M22 30 L42 30 L42 48 L22 48 Z",transform:"scale(0.98)",idBase:"ShotGlassGrad",opacity:.7,liquidFill:t}),J.createElement("rect",{x:22,y:48,width:20,height:3,fill:"none",stroke:"currentColor",strokeWidth:r}))}import D from"react";function vr({liquidFill:t=null,size:o=80,strokeWidth:r=.5}){let l=Math.round(o*90/80);return D.createElement("svg",{width:o,height:l,viewBox:"0 0 64 90"},D.createElement(i,{d:"M26 26 L38 26 Q44 62 32 62 Q20 62 26 26 Z",transform:"scale(0.98)",idBase:"WineGlassGrad",opacity:.7,liquidFill:t}),D.createElement("path",{d:"M26 26 L38 26 Q44 62 32 62 Q20 62 26 26 Z",fill:"none",stroke:"currentColor",strokeWidth:r}),D.createElement("rect",{x:31.5,y:62,width:1,height:25,fill:"currentColor"}),D.createElement("path",{d:"M24 86 Q32 84 40 86 L40 87 L24 87 Z",fill:"currentColor"}))}var Ki={Liquid:i,AbsintheGlass:_,BrandySnifterGlass:K,CollinsGlass:U,CopperMug:X,CordialGlass:Y,CoupeGlass:z,DemitasseGlass:R,DoubleShotGlass:rr,FizzGlass:or,FluteGlass:tr,GobletGlass:ir,HighballGlass:lr,HurricaneGlass:er,IrishCoffeeGlass:sr,JulepCup:nr,MargaritaGlass:dr,MartiniGlass:ur,NickAndNoraGlass:fr,ParfaitGlass:hr,PilsnerGlass:ar,PintGlass:mr,PousseCafeGlass:pr,PunchGlass:Cr,RocksGlass:Lr,SingleShotGlass:cr,SlingGlass:gr,SnifterGlass:xr,SourGlass:kr,TankardGlass:Gr,TikiGlass:yr,ToddyGlass:Mr,WhiskeyShotGlass:wr,WineGlass:vr};export{_ as AbsintheGlass,K as BrandySnifterGlass,U as CollinsGlass,X as CopperMug,Y as CordialGlass,z as CoupeGlass,R as DemitasseGlass,rr as DoubleShotGlass,or as FizzGlass,tr as FluteGlass,ir as GobletGlass,lr as HighballGlass,er as HurricaneGlass,sr as IrishCoffeeGlass,nr as JulepCup,i as Liquid,dr as MargaritaGlass,ur as MartiniGlass,fr as NickAndNoraGlass,hr as ParfaitGlass,ar as PilsnerGlass,mr as PintGlass,pr as PousseCafeGlass,Cr as PunchGlass,Lr as RocksGlass,cr as SingleShotGlass,gr as SlingGlass,xr as SnifterGlass,kr as SourGlass,Gr as TankardGlass,yr as TikiGlass,Mr as ToddyGlass,wr as WhiskeyShotGlass,vr as WineGlass,Ki as default};
151
+ `,fill:"currentColor"}))}import B from"react";function $r({liquidFill:t=null,size:o=80,strokeWidth:r=1,idBase:l="TankardGlassGrad"}){return B.createElement("svg",{width:o,height:o,viewBox:"0 0 64 64"},B.createElement("rect",{x:13,y:44,width:36,height:4,fill:"currentColor"}),B.createElement(i,{d:"M14 10 L48 10 L48 44 L14 44 Z",transform:"scale(0.98)",idBase:l,opacity:.7,liquidFill:t}),B.createElement("rect",{x:14,y:10,width:34,height:34,fill:"none",stroke:"currentColor",strokeWidth:r*1.4}),B.createElement("g",null,B.createElement("path",{d:"M49 17 C60 19 60 34 49 37",stroke:"currentColor",strokeWidth:r*3,strokeLinecap:"round",strokeLinejoin:"round",fill:"none"})))}import q from"react";function Ar({liquidFill:t=null,size:o=80,strokeWidth:r=.5,idBase:l="TikiGlassGrad"}){return q.createElement("svg",{width:o,height:o,viewBox:"0 0 64 64"},q.createElement("rect",{x:21.75,y:52,width:20.5,height:2,fill:"currentColor"}),q.createElement("rect",{x:20,y:50,width:24,height:4,rx:2,fill:"currentColor",opacity:.06}),q.createElement("rect",{x:22,y:10,width:20,height:42,stroke:"currentColor",strokeWidth:r,fill:"none",opacity:.9}),q.createElement(i,{d:"M21 9 L41 9 L41 51 L21 51 Z",transform:"scale(0.98)",idBase:l,opacity:.7,liquidFill:t}),q.createElement("ellipse",{cx:32,cy:32,rx:6,ry:3,fill:"currentColor"}))}import L from"react";function Hr({liquidFill:t=null,size:o=80,strokeWidth:r=.8,idBase:l="ToddyGlassGrad"}){return L.createElement("svg",{width:o,height:o,viewBox:"0 0 64 64"},L.createElement(i,{d:"M22 12 H42 V40 H22 Z",transform:"scale(0.98)",idBase:l,opacity:.7,liquidFill:t}),L.createElement("path",{d:"M22 12 H42 V40 H22 Z",fill:"none",stroke:"currentColor",strokeWidth:r,strokeLinejoin:"round"}),L.createElement("g",null,L.createElement("path",{d:"M43 16 C52 18 52 34 43 36",stroke:"currentColor",strokeWidth:r*2.4,strokeLinecap:"round",strokeLinejoin:"round",fill:"none"})),L.createElement("rect",{x:30,y:40,width:4,height:6,fill:"currentColor"}),L.createElement("path",{d:"M22 47 Q32 43 42 47 L42 48 L22 48 Z",fill:"currentColor"}))}import or from"react";function Dr({liquidFill:t=["#FFFFFF","#E0E0E0"],size:o=80,strokeWidth:r=.5,idBase:l="ShotGlassGrad",...d}){return or.createElement("svg",{width:o,height:o,viewBox:"0 0 64 64"},or.createElement("rect",{x:22,y:30,width:20,height:18,stroke:"currentColor",fill:"none",strokeWidth:r}),or.createElement(i,{d:"M22 30 L42 30 L42 48 L22 48 Z",transform:"scale(0.98)",idBase:l,opacity:.7,liquidFill:t,...d}),or.createElement("rect",{x:22,y:48,width:20,height:3,fill:"none",stroke:"currentColor",strokeWidth:r}))}import j from"react";function Pr({liquidFill:t=null,size:o=80,strokeWidth:r=.5,idBase:l="WineGlassGrad"}){let d=Math.round(o*90/80);return j.createElement("svg",{width:o,height:d,viewBox:"0 0 64 90"},j.createElement(i,{d:"M26 26 L38 26 Q44 62 32 62 Q20 62 26 26 Z",transform:"scale(0.98)",idBase:l,opacity:.7,liquidFill:t}),j.createElement("path",{d:"M26 26 L38 26 Q44 62 32 62 Q20 62 26 26 Z",fill:"none",stroke:"currentColor",strokeWidth:r}),j.createElement("rect",{x:31.5,y:62,width:1,height:25,fill:"currentColor"}),j.createElement("path",{d:"M24 86 Q32 84 40 86 L40 87 L24 87 Z",fill:"currentColor"}))}var nl={Liquid:i,AbsintheGlass:sr,BrandySnifterGlass:nr,CollinsGlass:dr,CopperMug:ur,CordialGlass:hr,CoupeGlass:fr,DemitasseGlass:ar,DoubleShotGlass:mr,FizzGlass:pr,FluteGlass:cr,GobletGlass:Cr,HighballGlass:Lr,HurricaneGlass:gr,IrishCoffeeGlass:xr,JulepCup:kr,MargaritaGlass:Gr,MartiniGlass:Mr,NickAndNoraGlass:yr,ParfaitGlass:wr,PilsnerGlass:vr,PintGlass:Zr,PousseCafeGlass:Qr,PunchGlass:Br,RocksGlass:qr,SingleShotGlass:Fr,SlingGlass:Sr,SnifterGlass:Wr,SourGlass:br,TankardGlass:$r,TikiGlass:Ar,ToddyGlass:Hr,WhiskeyShotGlass:Dr,WineGlass:Pr};export{sr as AbsintheGlass,nr as BrandySnifterGlass,dr as CollinsGlass,ur as CopperMug,hr as CordialGlass,fr as CoupeGlass,ar as DemitasseGlass,mr as DoubleShotGlass,pr as FizzGlass,cr as FluteGlass,Cr as GobletGlass,Lr as HighballGlass,gr as HurricaneGlass,xr as IrishCoffeeGlass,kr as JulepCup,i as Liquid,Gr as MargaritaGlass,Mr as MartiniGlass,yr as NickAndNoraGlass,wr as ParfaitGlass,vr as PilsnerGlass,Zr as PintGlass,Qr as PousseCafeGlass,Br as PunchGlass,qr as RocksGlass,Fr as SingleShotGlass,Sr as SlingGlass,Wr as SnifterGlass,br as SourGlass,$r as TankardGlass,Ar as TikiGlass,Hr as ToddyGlass,Dr as WhiskeyShotGlass,Pr as WineGlass,nl as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bace51/cocktailjs-react",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "private": false,
5
5
  "description": "Lightweight React components for rendering cocktail glasses and liquids as SVG.",
6
6
  "keywords": [
@@ -28,6 +28,13 @@
28
28
  "files": [
29
29
  "dist"
30
30
  ],
31
+ "scripts": {
32
+ "build": "esbuild src/index.js --bundle --outfile=dist/index.mjs --format=esm --platform=browser --minify --external:react --external:react-dom --external:react/jsx-runtime",
33
+ "build:cjs": "esbuild src/index.js --bundle --outfile=dist/index.cjs.js --format=cjs --platform=node --external:react --external:react-dom --external:react/jsx-runtime",
34
+ "prepare": "pnpm run build && pnpm run build:cjs && cp index.d.ts dist/index.d.ts || true",
35
+ "dev": "vite --config playground/vite.config.js",
36
+ "dev:dist": "USE_DIST=1 vite --config playground/vite.config.js"
37
+ },
31
38
  "devDependencies": {
32
39
  "esbuild": "^0.18.0",
33
40
  "vite": "^5.0.0",
@@ -51,11 +58,5 @@
51
58
  },
52
59
  "./*": "./dist/*",
53
60
  "./dist/*": "./dist/*"
54
- },
55
- "scripts": {
56
- "build": "esbuild src/index.js --bundle --outfile=dist/index.mjs --format=esm --platform=browser --minify --external:react --external:react-dom --external:react/jsx-runtime",
57
- "build:cjs": "esbuild src/index.js --bundle --outfile=dist/index.cjs.js --format=cjs --platform=node --external:react --external:react-dom --external:react/jsx-runtime",
58
- "dev": "vite --config playground/vite.config.js",
59
- "dev:dist": "USE_DIST=1 vite --config playground/vite.config.js"
60
61
  }
61
- }
62
+ }
package/dist/index.d.ts DELETED
@@ -1,111 +0,0 @@
1
- declare module '@bace51/cocktailjs-react' {
2
- import * as React from 'react';
3
-
4
- export type LiquidProps = {
5
- d: string;
6
- transform?: string;
7
- liquidFill?: string | string[] | null;
8
- liquidStyle?: React.CSSProperties | null;
9
- gradientAttr?: string | string[] | null;
10
- opacity?: number;
11
- idBase?: string;
12
- highlight?: 'liquid' | 'ice' | 'all' | null;
13
- highlightColor?: string;
14
- level?: number;
15
- stopPositions?: number[] | null;
16
- };
17
-
18
- export type SVGComponentProps = React.SVGProps<SVGSVGElement> & {
19
- liquidFill?: string | string[] | null;
20
- garnish?: any;
21
- size?: number;
22
- strokeWidth?: number;
23
- highlight?: LiquidProps['highlight'];
24
- highlightColor?: string;
25
- level?: number;
26
- stopPositions?: number[] | null;
27
- idBase?: string;
28
- };
29
-
30
- export const Liquid: React.FC<LiquidProps>;
31
-
32
- export const AbsintheGlass: React.FC<SVGComponentProps>;
33
- export const BrandySnifterGlass: React.FC<SVGComponentProps>;
34
- export const CollinsGlass: React.FC<SVGComponentProps>;
35
- export const CopperMug: React.FC<SVGComponentProps>;
36
- export const CordialGlass: React.FC<SVGComponentProps>;
37
- export const CoupeGlass: React.FC<SVGComponentProps>;
38
- export const DemitasseGlass: React.FC<SVGComponentProps>;
39
- export const DoubleShotGlass: React.FC<SVGComponentProps>;
40
- export const FizzGlass: React.FC<SVGComponentProps>;
41
- export const FluteGlass: React.FC<SVGComponentProps>;
42
- export const GobletGlass: React.FC<SVGComponentProps>;
43
- export const HighballGlass: React.FC<SVGComponentProps>;
44
- export const HurricaneGlass: React.FC<SVGComponentProps>;
45
- export const IrishCoffeeGlass: React.FC<SVGComponentProps>;
46
- export const JulepCup: React.FC<SVGComponentProps>;
47
- export const MargaritaGlass: React.FC<SVGComponentProps>;
48
- export const MartiniGlass: React.FC<SVGComponentProps>;
49
- export const NickAndNoraGlass: React.FC<SVGComponentProps>;
50
- export const ParfaitGlass: React.FC<SVGComponentProps>;
51
- export const PilsnerGlass: React.FC<SVGComponentProps>;
52
- export const PintGlass: React.FC<SVGComponentProps>;
53
- export const PousseCafeGlass: React.FC<SVGComponentProps>;
54
- export const PunchGlass: React.FC<SVGComponentProps>;
55
- export const RocksGlass: React.FC<SVGComponentProps>;
56
- export const SingleShotGlass: React.FC<SVGComponentProps>;
57
- export const SlingGlass: React.FC<SVGComponentProps>;
58
- export const SnifterGlass: React.FC<SVGComponentProps>;
59
- export const SourGlass: React.FC<SVGComponentProps>;
60
- export const TankardGlass: React.FC<SVGComponentProps>;
61
- export const TikiGlass: React.FC<SVGComponentProps>;
62
- export const ToddyGlass: React.FC<SVGComponentProps>;
63
- export const WhiskeyShotGlass: React.FC<SVGComponentProps>;
64
- export const WineGlass: React.FC<SVGComponentProps>;
65
-
66
- const _default: {
67
- Liquid: typeof Liquid;
68
- AbsintheGlass: typeof AbsintheGlass;
69
- BrandySnifterGlass: typeof BrandySnifterGlass;
70
- CollinsGlass: typeof CollinsGlass;
71
- CopperMug: typeof CopperMug;
72
- CordialGlass: typeof CordialGlass;
73
- CoupeGlass: typeof CoupeGlass;
74
- DemitasseGlass: typeof DemitasseGlass;
75
- DoubleShotGlass: typeof DoubleShotGlass;
76
- FizzGlass: typeof FizzGlass;
77
- FluteGlass: typeof FluteGlass;
78
- GobletGlass: typeof GobletGlass;
79
- HighballGlass: typeof HighballGlass;
80
- HurricaneGlass: typeof HurricaneGlass;
81
- IrishCoffeeGlass: typeof IrishCoffeeGlass;
82
- JulepCup: typeof JulepCup;
83
- MargaritaGlass: typeof MargaritaGlass;
84
- MartiniGlass: typeof MartiniGlass;
85
- NickAndNoraGlass: typeof NickAndNoraGlass;
86
- ParfaitGlass: typeof ParfaitGlass;
87
- PilsnerGlass: typeof PilsnerGlass;
88
- PintGlass: typeof PintGlass;
89
- PousseCafeGlass: typeof PousseCafeGlass;
90
- PunchGlass: typeof PunchGlass;
91
- RocksGlass: typeof RocksGlass;
92
- SingleShotGlass: typeof SingleShotGlass;
93
- SlingGlass: typeof SlingGlass;
94
- SnifterGlass: typeof SnifterGlass;
95
- SourGlass: typeof SourGlass;
96
- TankardGlass: typeof TankardGlass;
97
- TikiGlass: typeof TikiGlass;
98
- ToddyGlass: typeof ToddyGlass;
99
- WhiskeyShotGlass: typeof WhiskeyShotGlass;
100
- WineGlass: typeof WineGlass;
101
- };
102
-
103
- export default _default;
104
- }
105
-
106
- declare module '@bace51/cocktailjs-react/*' {
107
- import { SVGComponentProps } from '@bace51/cocktailjs-react';
108
- import * as React from 'react';
109
- const Component: React.FC<SVGComponentProps>;
110
- export default Component;
111
- }