eatopia-ds 0.0.86 → 0.0.87

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/build/index6.js CHANGED
@@ -1,26 +1,49 @@
1
1
  import { j as e } from "./index9.js";
2
- function C({
2
+ import { useState as B, useEffect as H } from "react";
3
+ function D({
3
4
  valor: n,
4
- onChange: f,
5
+ onChange: k,
5
6
  min: c = 0,
6
- max: a,
7
+ max: i,
7
8
  disabled: r = !1,
8
- className: b = "",
9
- atalhos: y = [5, 10, 25, 100],
10
- mostrarAtalhos: k = !0,
11
- selectedUnit: p,
12
- addStockItem: l,
13
- unitMultiplier: h,
14
- defaultUnit: x
9
+ className: h = "",
10
+ atalhos: v = [5, 10, 25, 100],
11
+ mostrarAtalhos: m = !0,
12
+ selectedUnit: x,
13
+ addStockItem: b,
14
+ unitMultiplier: f,
15
+ defaultUnit: y
15
16
  }) {
16
- const s = (t) => {
17
- let u = Math.max(c, t);
18
- a !== void 0 && (u = Math.min(a, u)), f(u);
19
- }, v = (t) => {
20
- const u = n + t;
21
- s(u);
22
- }, w = () => {
23
- l && (l(n * (h || 1)), s(1));
17
+ const [g, d] = B(n.toString());
18
+ H(() => {
19
+ d(n.toString());
20
+ }, [n]);
21
+ const l = (t) => {
22
+ let a = Math.max(c, t);
23
+ i !== void 0 && (a = Math.min(i, a)), k(a), d(a.toString());
24
+ }, w = (t) => /^$|^\d*([.,]\d*)?$/.test(t), C = (t) => {
25
+ const a = t.target.value.replace(",", ".");
26
+ if (w(a) && (d(a), a !== "" && !a.endsWith("."))) {
27
+ const s = parseFloat(a);
28
+ isNaN(s) || l(s);
29
+ }
30
+ }, S = (t) => {
31
+ if (t.target.style.outline = "", t.target.style.borderColor = o.input.border, t.target.style.boxShadow = o.input.boxShadow, g === "" || g === ".") {
32
+ d(n.toString());
33
+ return;
34
+ }
35
+ const a = parseFloat(g);
36
+ if (isNaN(a))
37
+ d(n.toString());
38
+ else {
39
+ const s = a.toString();
40
+ d(s), l(a);
41
+ }
42
+ }, T = (t) => {
43
+ const a = n + t;
44
+ l(a);
45
+ }, j = () => {
46
+ b && (b(n * (f || 1)), l(1));
24
47
  }, o = {
25
48
  container: {
26
49
  display: "flex",
@@ -214,8 +237,8 @@ function C({
214
237
  {
215
238
  style: {
216
239
  ...o.container,
217
- ...b && {
218
- width: b.includes("w-full") ? "100%" : o.container.width
240
+ ...h && {
241
+ width: h.includes("w-full") ? "100%" : o.container.width
219
242
  }
220
243
  },
221
244
  children: [
@@ -240,38 +263,21 @@ function C({
240
263
  onMouseUp: (t) => {
241
264
  !r && n > c && (t.currentTarget.style.background = o.buttonHover.background, t.currentTarget.style.transform = o.buttonHover.transform);
242
265
  },
243
- onClick: () => s(n - 1),
266
+ onClick: () => l(n - 1),
244
267
  disabled: r || n <= c,
245
268
  "aria-label": "Diminuir quantidade",
246
- children: /* @__PURE__ */ e.jsx(
247
- "svg",
248
- {
249
- style: { width: "24px", height: "24px" },
250
- fill: "none",
251
- viewBox: "0 0 24 24",
252
- stroke: "currentColor",
253
- children: /* @__PURE__ */ e.jsx(
254
- "path",
255
- {
256
- strokeLinecap: "round",
257
- strokeLinejoin: "round",
258
- strokeWidth: 2.5,
259
- d: "M20 12H4"
260
- }
261
- )
262
- }
263
- )
269
+ children: /* @__PURE__ */ e.jsx("svg", { style: { width: "24px", height: "24px" }, fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ e.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2.5, d: "M20 12H4" }) })
264
270
  }
265
271
  ),
266
272
  /* @__PURE__ */ e.jsx("div", { style: o.inputContainer, children: /* @__PURE__ */ e.jsxs("div", { style: o.inputWrapper, children: [
267
273
  /* @__PURE__ */ e.jsx(
268
274
  "input",
269
275
  {
270
- type: "decimal",
271
- value: n,
272
- onChange: (t) => s(Number(t.target.value)),
276
+ type: "text",
277
+ value: g,
278
+ onChange: C,
273
279
  min: 0,
274
- max: a,
280
+ max: i,
275
281
  disabled: r,
276
282
  style: {
277
283
  ...o.input,
@@ -280,14 +286,12 @@ function C({
280
286
  onFocus: (t) => {
281
287
  r || (t.target.style.outline = o.inputFocus.outline, t.target.style.borderColor = o.inputFocus.borderColor, t.target.style.boxShadow = o.inputFocus.boxShadow);
282
288
  },
283
- onBlur: (t) => {
284
- t.target.style.outline = "", t.target.style.borderColor = o.input.border, t.target.style.boxShadow = o.input.boxShadow;
285
- },
289
+ onBlur: S,
286
290
  "aria-label": "Quantidade",
287
291
  placeholder: "0"
288
292
  }
289
293
  ),
290
- p && /* @__PURE__ */ e.jsx("div", { style: o.unitLabel, children: p }),
294
+ x && /* @__PURE__ */ e.jsx("div", { style: o.unitLabel, children: x }),
291
295
  /* @__PURE__ */ e.jsx("div", { style: o.inputOverlay })
292
296
  ] }) }),
293
297
  /* @__PURE__ */ e.jsx(
@@ -296,80 +300,63 @@ function C({
296
300
  type: "button",
297
301
  style: {
298
302
  ...o.button,
299
- ...r || a !== void 0 && n >= a ? o.buttonDisabled : {}
303
+ ...r || i !== void 0 && n >= i ? o.buttonDisabled : {}
300
304
  },
301
305
  onMouseEnter: (t) => {
302
- !r && (a === void 0 || n < a) && (t.currentTarget.style.background = o.buttonHover.background, t.currentTarget.style.boxShadow = o.buttonHover.boxShadow, t.currentTarget.style.transform = o.buttonHover.transform);
306
+ !r && (i === void 0 || n < i) && (t.currentTarget.style.background = o.buttonHover.background, t.currentTarget.style.boxShadow = o.buttonHover.boxShadow, t.currentTarget.style.transform = o.buttonHover.transform);
303
307
  },
304
308
  onMouseLeave: (t) => {
305
309
  t.currentTarget.style.background = o.button.background, t.currentTarget.style.boxShadow = o.button.boxShadow, t.currentTarget.style.transform = "";
306
310
  },
307
311
  onMouseDown: (t) => {
308
- !r && (a === void 0 || n < a) && (t.currentTarget.style.background = o.buttonActive.background, t.currentTarget.style.transform = o.buttonActive.transform);
312
+ !r && (i === void 0 || n < i) && (t.currentTarget.style.background = o.buttonActive.background, t.currentTarget.style.transform = o.buttonActive.transform);
309
313
  },
310
314
  onMouseUp: (t) => {
311
- !r && (a === void 0 || n < a) && (t.currentTarget.style.background = o.buttonHover.background, t.currentTarget.style.transform = o.buttonHover.transform);
315
+ !r && (i === void 0 || n < i) && (t.currentTarget.style.background = o.buttonHover.background, t.currentTarget.style.transform = o.buttonHover.transform);
312
316
  },
313
- onClick: () => s(n + 1),
314
- disabled: r || a !== void 0 && n >= a,
317
+ onClick: () => l(n + 1),
318
+ disabled: r || i !== void 0 && n >= i,
315
319
  "aria-label": "Aumentar quantidade",
316
- children: /* @__PURE__ */ e.jsx(
317
- "svg",
318
- {
319
- style: { width: "24px", height: "24px" },
320
- fill: "none",
321
- viewBox: "0 0 24 24",
322
- stroke: "currentColor",
323
- children: /* @__PURE__ */ e.jsx(
324
- "path",
325
- {
326
- strokeLinecap: "round",
327
- strokeLinejoin: "round",
328
- strokeWidth: 2.5,
329
- d: "M12 4v16m8-8H4"
330
- }
331
- )
332
- }
333
- )
320
+ children: /* @__PURE__ */ e.jsx("svg", { style: { width: "24px", height: "24px" }, fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ e.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2.5, d: "M12 4v16m8-8H4" }) })
334
321
  }
335
322
  )
336
323
  ] }) }) }),
337
- k && /* @__PURE__ */ e.jsx("div", { style: o.shortcutsContainer, children: /* @__PURE__ */ e.jsx("div", { style: o.shortcutsGrid, children: y.slice().sort((t, u) => t - u).filter((t) => t > 0 ? !0 : n > Math.abs(t)).map((t, u) => {
338
- const d = t > 0, g = {
324
+ m && /* @__PURE__ */ e.jsx("div", { style: o.shortcutsContainer, children: /* @__PURE__ */ e.jsx("div", { style: o.shortcutsGrid, children: v.slice().sort((t, a) => t - a).filter((t) => t > 0 ? !0 : n > Math.abs(t)).map((t, a) => {
325
+ const s = t > 0, p = {
339
326
  ...o.shortcutButton,
340
327
  ...r ? o.shortcutButtonDisabled : {},
341
- ...d ? o.positiveShortcut : o.negativeShortcut
328
+ ...s ? o.positiveShortcut : o.negativeShortcut
342
329
  };
343
330
  return /* @__PURE__ */ e.jsx(
344
331
  "button",
345
332
  {
346
333
  type: "button",
347
- style: g,
348
- onMouseEnter: (i) => {
349
- r || (i.currentTarget.style.background = d ? o.positiveShortcutHover.background : o.negativeShortcutHover.background, i.currentTarget.style.boxShadow = "0 4px 6px -1px rgba(0, 0, 0, 0.1)");
334
+ style: p,
335
+ onMouseEnter: (u) => {
336
+ r || (u.currentTarget.style.background = s ? o.positiveShortcutHover.background : o.negativeShortcutHover.background, u.currentTarget.style.boxShadow = "0 4px 6px -1px rgba(0, 0, 0, 0.1)");
350
337
  },
351
- onMouseLeave: (i) => {
352
- i.currentTarget.style.background = g.background, i.currentTarget.style.boxShadow = g.boxShadow, i.currentTarget.style.transform = "";
338
+ onMouseLeave: (u) => {
339
+ u.currentTarget.style.background = p.background, u.currentTarget.style.boxShadow = p.boxShadow, u.currentTarget.style.transform = "";
353
340
  },
354
- onMouseDown: (i) => {
355
- r || (i.currentTarget.style.background = d ? o.positiveShortcutActive.background : o.negativeShortcutActive.background, i.currentTarget.style.transform = o.shortcutButtonActive.transform);
341
+ onMouseDown: (u) => {
342
+ r || (u.currentTarget.style.background = s ? o.positiveShortcutActive.background : o.negativeShortcutActive.background, u.currentTarget.style.transform = o.shortcutButtonActive.transform);
356
343
  },
357
- onMouseUp: (i) => {
358
- r || (i.currentTarget.style.background = d ? o.positiveShortcutHover.background : o.negativeShortcutHover.background, i.currentTarget.style.transform = "");
344
+ onMouseUp: (u) => {
345
+ r || (u.currentTarget.style.background = s ? o.positiveShortcutHover.background : o.negativeShortcutHover.background, u.currentTarget.style.transform = "");
359
346
  },
360
- onClick: () => v(t),
347
+ onClick: () => T(t),
361
348
  disabled: r,
362
349
  "aria-label": `Adicionar ${t} ao contador`,
363
350
  children: t > 0 ? `+${t}` : t
364
351
  },
365
- u
352
+ a
366
353
  );
367
354
  }) }) }),
368
- l && /* @__PURE__ */ e.jsx("div", { style: o.addButtonContainer, children: /* @__PURE__ */ e.jsxs(
355
+ b && /* @__PURE__ */ e.jsx("div", { style: o.addButtonContainer, children: /* @__PURE__ */ e.jsxs(
369
356
  "button",
370
357
  {
371
358
  type: "button",
372
- onClick: w,
359
+ onClick: j,
373
360
  disabled: r,
374
361
  style: {
375
362
  ...o.addButton,
@@ -389,27 +376,10 @@ function C({
389
376
  },
390
377
  "aria-label": "Atualizar contagem",
391
378
  children: [
392
- /* @__PURE__ */ e.jsx(
393
- "svg",
394
- {
395
- style: { width: "24px", height: "24px" },
396
- fill: "none",
397
- viewBox: "0 0 24 24",
398
- stroke: "currentColor",
399
- children: /* @__PURE__ */ e.jsx(
400
- "path",
401
- {
402
- strokeLinecap: "round",
403
- strokeLinejoin: "round",
404
- strokeWidth: 2,
405
- d: "M12 4v16m8-8H4"
406
- }
407
- )
408
- }
409
- ),
379
+ /* @__PURE__ */ e.jsx("svg", { style: { width: "24px", height: "24px" }, fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ e.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M12 4v16m8-8H4" }) }),
410
380
  "Adicionar contagem ",
411
- n * (h || 1),
412
- x && ` ${x}`
381
+ n * (f || 1),
382
+ y && ` ${y}`
413
383
  ]
414
384
  }
415
385
  ) })
@@ -418,6 +388,6 @@ function C({
418
388
  );
419
389
  }
420
390
  export {
421
- C as QuantidadeInput
391
+ D as QuantidadeInput
422
392
  };
423
393
  //# sourceMappingURL=index6.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index6.js","sources":["../src/components/QuantidadeInput/index.tsx"],"sourcesContent":["import React from \"react\";\r\n\r\nexport interface QuantidadeInputProps {\r\n valor: number;\r\n onChange: (novoValor: number) => void;\r\n min?: number;\r\n max?: number;\r\n disabled?: boolean;\r\n className?: string;\r\n atalhos?: number[];\r\n mostrarAtalhos?: boolean;\r\n addStockItem?: (valor: number) => void;\r\n selectedUnit?: string;\r\n defaultUnit?: string;\r\n unitMultiplier?: number;\r\n}\r\n\r\nexport function QuantidadeInput({\r\n valor,\r\n onChange,\r\n min = 0,\r\n max,\r\n disabled = false,\r\n className = \"\",\r\n atalhos = [5, 10, 25, 100],\r\n mostrarAtalhos = true,\r\n selectedUnit,\r\n addStockItem,\r\n unitMultiplier,\r\n defaultUnit,\r\n}: QuantidadeInputProps) {\r\n const handleChange = (novoValor: number) => {\r\n let valorFinal = Math.max(min, novoValor);\r\n if (max !== undefined) {\r\n valorFinal = Math.min(max, valorFinal);\r\n }\r\n onChange(valorFinal);\r\n };\r\n\r\n const handleAtalhoClick = (v: number) => {\r\n const novoValor = valor + v;\r\n handleChange(novoValor);\r\n };\r\n\r\n const handleAtualizarContagem = () => {\r\n if (!addStockItem) return;\r\n addStockItem(valor * (unitMultiplier || 1));\r\n handleChange(1);\r\n };\r\n\r\n // Estilos inline para substituir Tailwind\r\n const styles = {\r\n container: {\r\n display: \"flex\",\r\n flexDirection: \"column\" as const,\r\n gap: \"16px\",\r\n borderRadius: \"16px\",\r\n width: \"100%\",\r\n maxWidth: \"384px\",\r\n },\r\n calculatorContainer: {\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n },\r\n calculator: {\r\n position: \"relative\" as const,\r\n backgroundColor: \"#111827\",\r\n borderRadius: \"16px\",\r\n padding: \"16px\",\r\n width: \"100%\",\r\n maxWidth: \"384px\",\r\n boxShadow:\r\n \"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)\",\r\n },\r\n calculatorContent: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n gap: \"16px\",\r\n },\r\n button: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n width: \"64px\",\r\n height: \"64px\",\r\n borderRadius: \"16px\",\r\n background: \"linear-gradient(to bottom right, #4b5563, #374151)\",\r\n color: \"white\",\r\n border: \"none\",\r\n cursor: \"pointer\",\r\n transition: \"all 0.2s\",\r\n boxShadow: \"0 10px 15px -3px rgba(0, 0, 0, 0.1)\",\r\n },\r\n buttonHover: {\r\n background: \"linear-gradient(to bottom right, #6b7280, #4b5563)\",\r\n boxShadow:\r\n \"0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)\",\r\n transform: \"scale(1.05)\",\r\n },\r\n buttonActive: {\r\n background: \"linear-gradient(to bottom right, #374151, #1f2937)\",\r\n transform: \"scale(0.95)\",\r\n },\r\n buttonDisabled: {\r\n opacity: 0.4,\r\n cursor: \"not-allowed\",\r\n },\r\n inputContainer: {\r\n display: \"flex\",\r\n flexDirection: \"column\" as const,\r\n alignItems: \"center\",\r\n flex: 1,\r\n maxWidth: \"192px\",\r\n },\r\n inputWrapper: {\r\n position: \"relative\" as const,\r\n width: \"100%\",\r\n },\r\n input: {\r\n width: \"100%\",\r\n height: \"64px\",\r\n textAlign: \"center\" as const,\r\n fontSize: \"24px\",\r\n fontWeight: \"bold\",\r\n borderRadius: \"24px\",\r\n border: \"2px solid #6b7280\",\r\n background: \"linear-gradient(to bottom right, #374151, #1f2937)\",\r\n color: \"white\",\r\n paddingRight: \"64px\",\r\n boxShadow: \"inset 0 2px 4px 0 rgba(0, 0, 0, 0.06)\",\r\n appearance: \"textfield\" as const,\r\n },\r\n inputFocus: {\r\n outline: \"none\",\r\n borderColor: \"#3b82f6\",\r\n boxShadow:\r\n \"0 0 0 4px rgba(59, 130, 246, 0.3), inset 0 2px 4px 0 rgba(0, 0, 0, 0.06)\",\r\n },\r\n inputDisabled: {\r\n opacity: 0.4,\r\n cursor: \"not-allowed\",\r\n },\r\n unitLabel: {\r\n position: \"absolute\" as const,\r\n top: \"50%\",\r\n right: \"16px\",\r\n transform: \"translateY(-50%)\",\r\n pointerEvents: \"none\" as const,\r\n fontSize: \"14px\",\r\n color: \"#9ca3af\",\r\n fontWeight: \"500\",\r\n },\r\n inputOverlay: {\r\n position: \"absolute\" as const,\r\n inset: 0,\r\n borderRadius: \"16px\",\r\n background:\r\n \"linear-gradient(to bottom right, transparent, rgba(255, 255, 255, 0.05), transparent)\",\r\n pointerEvents: \"none\" as const,\r\n },\r\n shortcutsContainer: {\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n },\r\n shortcutsGrid: {\r\n display: \"grid\",\r\n gridTemplateColumns: \"repeat(auto-fit, minmax(80px, 1fr))\",\r\n gap: \"12px\",\r\n width: \"100%\",\r\n maxWidth: \"384px\",\r\n },\r\n shortcutButton: {\r\n height: \"56px\",\r\n borderRadius: \"16px\",\r\n fontWeight: \"600\",\r\n fontSize: \"24px\",\r\n transition: \"all 0.2s\",\r\n border: \"none\",\r\n cursor: \"pointer\",\r\n boxShadow: \"0 1px 2px 0 rgba(0, 0, 0, 0.05)\",\r\n },\r\n shortcutButtonDisabled: {\r\n opacity: 0.4,\r\n cursor: \"not-allowed\",\r\n },\r\n shortcutButtonActive: {\r\n transform: \"scale(0.95)\",\r\n },\r\n positiveShortcut: {\r\n background: \"linear-gradient(to bottom right, #dbeafe, #bfdbfe)\",\r\n color: \"#1d4ed8\",\r\n border: \"1px solid #93c5fd\",\r\n },\r\n positiveShortcutHover: {\r\n background: \"linear-gradient(to bottom right, #bfdbfe, #93c5fd)\",\r\n },\r\n positiveShortcutActive: {\r\n background: \"linear-gradient(to bottom right, #93c5fd, #60a5fa)\",\r\n },\r\n negativeShortcut: {\r\n background: \"linear-gradient(to bottom right, #fee2e2, #fecaca)\",\r\n color: \"#dc2626\",\r\n border: \"1px solid #fca5a5\",\r\n },\r\n negativeShortcutHover: {\r\n background: \"linear-gradient(to bottom right, #fecaca, #fca5a5)\",\r\n },\r\n negativeShortcutActive: {\r\n background: \"linear-gradient(to bottom right, #fca5a5, #f87171)\",\r\n },\r\n addButtonContainer: {\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n },\r\n addButton: {\r\n width: \"100%\",\r\n maxWidth: \"384px\",\r\n height: \"56px\",\r\n borderRadius: \"12px\",\r\n backgroundColor: \"#059669\",\r\n color: \"white\",\r\n border: \"none\",\r\n cursor: \"pointer\",\r\n transition: \"all 0.2s\",\r\n fontWeight: \"600\",\r\n fontSize: \"18px\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n gap: \"8px\",\r\n },\r\n addButtonHover: {\r\n backgroundColor: \"#047857\",\r\n },\r\n addButtonActive: {\r\n backgroundColor: \"#065f46\",\r\n },\r\n addButtonDisabled: {\r\n opacity: 0.4,\r\n cursor: \"not-allowed\",\r\n },\r\n };\r\n\r\n return (\r\n <div\r\n style={{\r\n ...styles.container,\r\n ...(className && {\r\n width: className.includes(\"w-full\") ? \"100%\" : styles.container.width,\r\n }),\r\n }}\r\n >\r\n {/* Display da Calculadora */}\r\n <div style={styles.calculatorContainer}>\r\n <div style={styles.calculator}>\r\n <div style={styles.calculatorContent}>\r\n {/* Botão Diminuir */}\r\n <button\r\n type=\"button\"\r\n style={{\r\n ...styles.button,\r\n ...(disabled || valor <= min ? styles.buttonDisabled : {}),\r\n }}\r\n onMouseEnter={(e) => {\r\n if (!disabled && valor > min) {\r\n e.currentTarget.style.background =\r\n styles.buttonHover.background!;\r\n e.currentTarget.style.boxShadow =\r\n styles.buttonHover.boxShadow!;\r\n e.currentTarget.style.transform =\r\n styles.buttonHover.transform!;\r\n }\r\n }}\r\n onMouseLeave={(e) => {\r\n e.currentTarget.style.background = styles.button.background!;\r\n e.currentTarget.style.boxShadow = styles.button.boxShadow!;\r\n e.currentTarget.style.transform = \"\";\r\n }}\r\n onMouseDown={(e) => {\r\n if (!disabled && valor > min) {\r\n e.currentTarget.style.background =\r\n styles.buttonActive.background!;\r\n e.currentTarget.style.transform =\r\n styles.buttonActive.transform!;\r\n }\r\n }}\r\n onMouseUp={(e) => {\r\n if (!disabled && valor > min) {\r\n e.currentTarget.style.background =\r\n styles.buttonHover.background!;\r\n e.currentTarget.style.transform =\r\n styles.buttonHover.transform!;\r\n }\r\n }}\r\n onClick={() => handleChange(valor - 1)}\r\n disabled={disabled || valor <= min}\r\n aria-label=\"Diminuir quantidade\"\r\n >\r\n <svg\r\n style={{ width: \"24px\", height: \"24px\" }}\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n >\r\n <path\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n strokeWidth={2.5}\r\n d=\"M20 12H4\"\r\n />\r\n </svg>\r\n </button>\r\n\r\n {/* Input do Valor */}\r\n <div style={styles.inputContainer}>\r\n <div style={styles.inputWrapper}>\r\n <input\r\n type=\"decimal\"\r\n value={valor}\r\n onChange={(e) => handleChange(Number(e.target.value))}\r\n min={0}\r\n max={max}\r\n disabled={disabled}\r\n style={{\r\n ...styles.input,\r\n ...(disabled ? styles.inputDisabled : {}),\r\n }}\r\n onFocus={(e) => {\r\n if (!disabled) {\r\n e.target.style.outline = styles.inputFocus.outline!;\r\n e.target.style.borderColor =\r\n styles.inputFocus.borderColor!;\r\n e.target.style.boxShadow = styles.inputFocus.boxShadow!;\r\n }\r\n }}\r\n onBlur={(e) => {\r\n e.target.style.outline = \"\";\r\n e.target.style.borderColor = styles.input.border!;\r\n e.target.style.boxShadow = styles.input.boxShadow!;\r\n }}\r\n aria-label=\"Quantidade\"\r\n placeholder=\"0\"\r\n />\r\n {selectedUnit && (\r\n <div style={styles.unitLabel}>{selectedUnit}</div>\r\n )}\r\n <div style={styles.inputOverlay}></div>\r\n </div>\r\n </div>\r\n\r\n {/* Botão Aumentar */}\r\n <button\r\n type=\"button\"\r\n style={{\r\n ...styles.button,\r\n ...(disabled || (max !== undefined && valor >= max)\r\n ? styles.buttonDisabled\r\n : {}),\r\n }}\r\n onMouseEnter={(e) => {\r\n if (!disabled && (max === undefined || valor < max)) {\r\n e.currentTarget.style.background =\r\n styles.buttonHover.background!;\r\n e.currentTarget.style.boxShadow =\r\n styles.buttonHover.boxShadow!;\r\n e.currentTarget.style.transform =\r\n styles.buttonHover.transform!;\r\n }\r\n }}\r\n onMouseLeave={(e) => {\r\n e.currentTarget.style.background = styles.button.background!;\r\n e.currentTarget.style.boxShadow = styles.button.boxShadow!;\r\n e.currentTarget.style.transform = \"\";\r\n }}\r\n onMouseDown={(e) => {\r\n if (!disabled && (max === undefined || valor < max)) {\r\n e.currentTarget.style.background =\r\n styles.buttonActive.background!;\r\n e.currentTarget.style.transform =\r\n styles.buttonActive.transform!;\r\n }\r\n }}\r\n onMouseUp={(e) => {\r\n if (!disabled && (max === undefined || valor < max)) {\r\n e.currentTarget.style.background =\r\n styles.buttonHover.background!;\r\n e.currentTarget.style.transform =\r\n styles.buttonHover.transform!;\r\n }\r\n }}\r\n onClick={() => handleChange(valor + 1)}\r\n disabled={disabled || (max !== undefined && valor >= max)}\r\n aria-label=\"Aumentar quantidade\"\r\n >\r\n <svg\r\n style={{ width: \"24px\", height: \"24px\" }}\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n >\r\n <path\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n strokeWidth={2.5}\r\n d=\"M12 4v16m8-8H4\"\r\n />\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n {/* Teclado de Atalhos */}\r\n {mostrarAtalhos && (\r\n <div style={styles.shortcutsContainer}>\r\n <div style={styles.shortcutsGrid}>\r\n {atalhos\r\n .slice()\r\n .sort((a, b) => a - b)\r\n .filter((v) => {\r\n // Mostra sempre atalhos positivos\r\n if (v > 0) return true;\r\n // Para atalhos negativos, só mostra se o valor atual é maior que o valor absoluto\r\n return valor > Math.abs(v);\r\n })\r\n .map((v, i) => {\r\n const isPositive = v > 0;\r\n const baseStyle = {\r\n ...styles.shortcutButton,\r\n ...(disabled ? styles.shortcutButtonDisabled : {}),\r\n ...(isPositive\r\n ? styles.positiveShortcut\r\n : styles.negativeShortcut),\r\n };\r\n\r\n return (\r\n <button\r\n key={i}\r\n type=\"button\"\r\n style={baseStyle}\r\n onMouseEnter={(e) => {\r\n if (!disabled) {\r\n e.currentTarget.style.background = isPositive\r\n ? styles.positiveShortcutHover.background!\r\n : styles.negativeShortcutHover.background!;\r\n e.currentTarget.style.boxShadow =\r\n \"0 4px 6px -1px rgba(0, 0, 0, 0.1)\";\r\n }\r\n }}\r\n onMouseLeave={(e) => {\r\n e.currentTarget.style.background = baseStyle.background!;\r\n e.currentTarget.style.boxShadow = baseStyle.boxShadow!;\r\n e.currentTarget.style.transform = \"\";\r\n }}\r\n onMouseDown={(e) => {\r\n if (!disabled) {\r\n e.currentTarget.style.background = isPositive\r\n ? styles.positiveShortcutActive.background!\r\n : styles.negativeShortcutActive.background!;\r\n e.currentTarget.style.transform =\r\n styles.shortcutButtonActive.transform!;\r\n }\r\n }}\r\n onMouseUp={(e) => {\r\n if (!disabled) {\r\n e.currentTarget.style.background = isPositive\r\n ? styles.positiveShortcutHover.background!\r\n : styles.negativeShortcutHover.background!;\r\n e.currentTarget.style.transform = \"\";\r\n }\r\n }}\r\n onClick={() => handleAtalhoClick(v)}\r\n disabled={disabled}\r\n aria-label={`Adicionar ${v} ao contador`}\r\n >\r\n {v > 0 ? `+${v}` : v}\r\n </button>\r\n );\r\n })}\r\n </div>\r\n </div>\r\n )}\r\n\r\n {/* Botão Atualizar */}\r\n {addStockItem && (\r\n <div style={styles.addButtonContainer}>\r\n <button\r\n type=\"button\"\r\n onClick={handleAtualizarContagem}\r\n disabled={disabled}\r\n style={{\r\n ...styles.addButton,\r\n ...(disabled ? styles.addButtonDisabled : {}),\r\n }}\r\n onMouseEnter={(e) => {\r\n if (!disabled) {\r\n e.currentTarget.style.backgroundColor =\r\n styles.addButtonHover.backgroundColor!;\r\n }\r\n }}\r\n onMouseLeave={(e) => {\r\n e.currentTarget.style.backgroundColor =\r\n styles.addButton.backgroundColor!;\r\n }}\r\n onMouseDown={(e) => {\r\n if (!disabled) {\r\n e.currentTarget.style.backgroundColor =\r\n styles.addButtonActive.backgroundColor!;\r\n }\r\n }}\r\n onMouseUp={(e) => {\r\n if (!disabled) {\r\n e.currentTarget.style.backgroundColor =\r\n styles.addButtonHover.backgroundColor!;\r\n }\r\n }}\r\n aria-label=\"Atualizar contagem\"\r\n >\r\n <svg\r\n style={{ width: \"24px\", height: \"24px\" }}\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n >\r\n <path\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n strokeWidth={2}\r\n d=\"M12 4v16m8-8H4\"\r\n />\r\n </svg>\r\n Adicionar contagem {valor * (unitMultiplier || 1)}\r\n {defaultUnit && ` ${defaultUnit}`}\r\n </button>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n}\r\n"],"names":["QuantidadeInput","valor","onChange","min","max","disabled","className","atalhos","mostrarAtalhos","selectedUnit","addStockItem","unitMultiplier","defaultUnit","handleChange","novoValor","valorFinal","handleAtalhoClick","v","handleAtualizarContagem","styles","jsxs","jsx","e","a","b","i","isPositive","baseStyle"],"mappings":"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"}
1
+ {"version":3,"file":"index6.js","sources":["../src/components/QuantidadeInput/index.tsx"],"sourcesContent":["import React, { useState, useEffect } from 'react';\n\nexport interface QuantidadeInputProps {\n valor: number;\n onChange: (novoValor: number) => void;\n min?: number;\n max?: number;\n disabled?: boolean;\n className?: string;\n atalhos?: number[];\n mostrarAtalhos?: boolean;\n addStockItem?: (valor: number) => void;\n selectedUnit?: string;\n defaultUnit?: string;\n unitMultiplier?: number;\n}\n\nexport function QuantidadeInput({\n valor,\n onChange,\n min = 0,\n max,\n disabled = false,\n className = '',\n atalhos = [5, 10, 25, 100],\n mostrarAtalhos = true,\n selectedUnit,\n addStockItem,\n unitMultiplier,\n defaultUnit,\n}: QuantidadeInputProps) {\n const [inputValue, setInputValue] = useState(valor.toString());\n\n // Atualiza o inputValue quando o valor prop muda externamente\n useEffect(() => {\n setInputValue(valor.toString());\n }, [valor]);\n\n const handleChange = (novoValor: number) => {\n let valorFinal = Math.max(min, novoValor);\n if (max !== undefined) {\n valorFinal = Math.min(max, valorFinal);\n }\n onChange(valorFinal);\n setInputValue(valorFinal.toString());\n };\n\n const isValidNumber = (value: string): boolean => {\n // Permite números vazios, números inteiros e decimais (com , ou .)\n return /^$|^\\d*([.,]\\d*)?$/.test(value);\n };\n\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const value = e.target.value.replace(',', '.');\n\n if (!isValidNumber(value)) return;\n\n setInputValue(value);\n\n if (value !== '' && !value.endsWith('.')) {\n const numeroConvertido = parseFloat(value);\n if (!isNaN(numeroConvertido)) {\n handleChange(numeroConvertido);\n }\n }\n };\n\n const handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n // Resetar estilos do input\n e.target.style.outline = '';\n e.target.style.borderColor = styles.input.border!;\n e.target.style.boxShadow = styles.input.boxShadow!;\n\n // Se o valor estiver vazio ou for apenas um ponto, reseta para o último valor válido\n if (inputValue === '' || inputValue === '.') {\n setInputValue(valor.toString());\n return;\n }\n\n // Formata o número com até 2 casas decimais\n const numeroConvertido = parseFloat(inputValue);\n if (!isNaN(numeroConvertido)) {\n const valorFormatado = numeroConvertido.toString();\n setInputValue(valorFormatado);\n handleChange(numeroConvertido);\n } else {\n setInputValue(valor.toString());\n }\n };\n\n const handleAtalhoClick = (v: number) => {\n const novoValor = valor + v;\n handleChange(novoValor);\n };\n\n const handleAtualizarContagem = () => {\n if (!addStockItem) return;\n addStockItem(valor * (unitMultiplier || 1));\n handleChange(1);\n };\n\n // Estilos inline para substituir Tailwind\n const styles = {\n container: {\n display: 'flex',\n flexDirection: 'column' as const,\n gap: '16px',\n borderRadius: '16px',\n width: '100%',\n maxWidth: '384px',\n },\n calculatorContainer: {\n display: 'flex',\n justifyContent: 'center',\n },\n calculator: {\n position: 'relative' as const,\n backgroundColor: '#111827',\n borderRadius: '16px',\n padding: '16px',\n width: '100%',\n maxWidth: '384px',\n boxShadow: '0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)',\n },\n calculatorContent: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n gap: '16px',\n },\n button: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: '64px',\n height: '64px',\n borderRadius: '16px',\n background: 'linear-gradient(to bottom right, #4b5563, #374151)',\n color: 'white',\n border: 'none',\n cursor: 'pointer',\n transition: 'all 0.2s',\n boxShadow: '0 10px 15px -3px rgba(0, 0, 0, 0.1)',\n },\n buttonHover: {\n background: 'linear-gradient(to bottom right, #6b7280, #4b5563)',\n boxShadow: '0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)',\n transform: 'scale(1.05)',\n },\n buttonActive: {\n background: 'linear-gradient(to bottom right, #374151, #1f2937)',\n transform: 'scale(0.95)',\n },\n buttonDisabled: {\n opacity: 0.4,\n cursor: 'not-allowed',\n },\n inputContainer: {\n display: 'flex',\n flexDirection: 'column' as const,\n alignItems: 'center',\n flex: 1,\n maxWidth: '192px',\n },\n inputWrapper: {\n position: 'relative' as const,\n width: '100%',\n },\n input: {\n width: '100%',\n height: '64px',\n textAlign: 'center' as const,\n fontSize: '24px',\n fontWeight: 'bold',\n borderRadius: '24px',\n border: '2px solid #6b7280',\n background: 'linear-gradient(to bottom right, #374151, #1f2937)',\n color: 'white',\n paddingRight: '64px',\n boxShadow: 'inset 0 2px 4px 0 rgba(0, 0, 0, 0.06)',\n appearance: 'textfield' as const,\n },\n inputFocus: {\n outline: 'none',\n borderColor: '#3b82f6',\n boxShadow: '0 0 0 4px rgba(59, 130, 246, 0.3), inset 0 2px 4px 0 rgba(0, 0, 0, 0.06)',\n },\n inputDisabled: {\n opacity: 0.4,\n cursor: 'not-allowed',\n },\n unitLabel: {\n position: 'absolute' as const,\n top: '50%',\n right: '16px',\n transform: 'translateY(-50%)',\n pointerEvents: 'none' as const,\n fontSize: '14px',\n color: '#9ca3af',\n fontWeight: '500',\n },\n inputOverlay: {\n position: 'absolute' as const,\n inset: 0,\n borderRadius: '16px',\n background: 'linear-gradient(to bottom right, transparent, rgba(255, 255, 255, 0.05), transparent)',\n pointerEvents: 'none' as const,\n },\n shortcutsContainer: {\n display: 'flex',\n justifyContent: 'center',\n },\n shortcutsGrid: {\n display: 'grid',\n gridTemplateColumns: 'repeat(auto-fit, minmax(80px, 1fr))',\n gap: '12px',\n width: '100%',\n maxWidth: '384px',\n },\n shortcutButton: {\n height: '56px',\n borderRadius: '16px',\n fontWeight: '600',\n fontSize: '24px',\n transition: 'all 0.2s',\n border: 'none',\n cursor: 'pointer',\n boxShadow: '0 1px 2px 0 rgba(0, 0, 0, 0.05)',\n },\n shortcutButtonDisabled: {\n opacity: 0.4,\n cursor: 'not-allowed',\n },\n shortcutButtonActive: {\n transform: 'scale(0.95)',\n },\n positiveShortcut: {\n background: 'linear-gradient(to bottom right, #dbeafe, #bfdbfe)',\n color: '#1d4ed8',\n border: '1px solid #93c5fd',\n },\n positiveShortcutHover: {\n background: 'linear-gradient(to bottom right, #bfdbfe, #93c5fd)',\n },\n positiveShortcutActive: {\n background: 'linear-gradient(to bottom right, #93c5fd, #60a5fa)',\n },\n negativeShortcut: {\n background: 'linear-gradient(to bottom right, #fee2e2, #fecaca)',\n color: '#dc2626',\n border: '1px solid #fca5a5',\n },\n negativeShortcutHover: {\n background: 'linear-gradient(to bottom right, #fecaca, #fca5a5)',\n },\n negativeShortcutActive: {\n background: 'linear-gradient(to bottom right, #fca5a5, #f87171)',\n },\n addButtonContainer: {\n display: 'flex',\n justifyContent: 'center',\n },\n addButton: {\n width: '100%',\n maxWidth: '384px',\n height: '56px',\n borderRadius: '12px',\n backgroundColor: '#059669',\n color: 'white',\n border: 'none',\n cursor: 'pointer',\n transition: 'all 0.2s',\n fontWeight: '600',\n fontSize: '18px',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n gap: '8px',\n },\n addButtonHover: {\n backgroundColor: '#047857',\n },\n addButtonActive: {\n backgroundColor: '#065f46',\n },\n addButtonDisabled: {\n opacity: 0.4,\n cursor: 'not-allowed',\n },\n };\n\n return (\n <div\n style={{\n ...styles.container,\n ...(className && {\n width: className.includes('w-full') ? '100%' : styles.container.width,\n }),\n }}>\n {/* Display da Calculadora */}\n <div style={styles.calculatorContainer}>\n <div style={styles.calculator}>\n <div style={styles.calculatorContent}>\n {/* Botão Diminuir */}\n <button\n type=\"button\"\n style={{\n ...styles.button,\n ...(disabled || valor <= min ? styles.buttonDisabled : {}),\n }}\n onMouseEnter={(e) => {\n if (!disabled && valor > min) {\n e.currentTarget.style.background = styles.buttonHover.background!;\n e.currentTarget.style.boxShadow = styles.buttonHover.boxShadow!;\n e.currentTarget.style.transform = styles.buttonHover.transform!;\n }\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.background = styles.button.background!;\n e.currentTarget.style.boxShadow = styles.button.boxShadow!;\n e.currentTarget.style.transform = '';\n }}\n onMouseDown={(e) => {\n if (!disabled && valor > min) {\n e.currentTarget.style.background = styles.buttonActive.background!;\n e.currentTarget.style.transform = styles.buttonActive.transform!;\n }\n }}\n onMouseUp={(e) => {\n if (!disabled && valor > min) {\n e.currentTarget.style.background = styles.buttonHover.background!;\n e.currentTarget.style.transform = styles.buttonHover.transform!;\n }\n }}\n onClick={() => handleChange(valor - 1)}\n disabled={disabled || valor <= min}\n aria-label=\"Diminuir quantidade\">\n <svg style={{ width: '24px', height: '24px' }} fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2.5} d=\"M20 12H4\" />\n </svg>\n </button>\n\n {/* Input do Valor */}\n <div style={styles.inputContainer}>\n <div style={styles.inputWrapper}>\n <input\n type=\"text\"\n value={inputValue}\n onChange={handleInputChange}\n min={0}\n max={max}\n disabled={disabled}\n style={{\n ...styles.input,\n ...(disabled ? styles.inputDisabled : {}),\n }}\n onFocus={(e) => {\n if (!disabled) {\n e.target.style.outline = styles.inputFocus.outline!;\n e.target.style.borderColor = styles.inputFocus.borderColor!;\n e.target.style.boxShadow = styles.inputFocus.boxShadow!;\n }\n }}\n onBlur={handleBlur}\n aria-label=\"Quantidade\"\n placeholder=\"0\"\n />\n {selectedUnit && <div style={styles.unitLabel}>{selectedUnit}</div>}\n <div style={styles.inputOverlay}></div>\n </div>\n </div>\n\n {/* Botão Aumentar */}\n <button\n type=\"button\"\n style={{\n ...styles.button,\n ...(disabled || (max !== undefined && valor >= max) ? styles.buttonDisabled : {}),\n }}\n onMouseEnter={(e) => {\n if (!disabled && (max === undefined || valor < max)) {\n e.currentTarget.style.background = styles.buttonHover.background!;\n e.currentTarget.style.boxShadow = styles.buttonHover.boxShadow!;\n e.currentTarget.style.transform = styles.buttonHover.transform!;\n }\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.background = styles.button.background!;\n e.currentTarget.style.boxShadow = styles.button.boxShadow!;\n e.currentTarget.style.transform = '';\n }}\n onMouseDown={(e) => {\n if (!disabled && (max === undefined || valor < max)) {\n e.currentTarget.style.background = styles.buttonActive.background!;\n e.currentTarget.style.transform = styles.buttonActive.transform!;\n }\n }}\n onMouseUp={(e) => {\n if (!disabled && (max === undefined || valor < max)) {\n e.currentTarget.style.background = styles.buttonHover.background!;\n e.currentTarget.style.transform = styles.buttonHover.transform!;\n }\n }}\n onClick={() => handleChange(valor + 1)}\n disabled={disabled || (max !== undefined && valor >= max)}\n aria-label=\"Aumentar quantidade\">\n <svg style={{ width: '24px', height: '24px' }} fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2.5} d=\"M12 4v16m8-8H4\" />\n </svg>\n </button>\n </div>\n </div>\n </div>\n\n {/* Teclado de Atalhos */}\n {mostrarAtalhos && (\n <div style={styles.shortcutsContainer}>\n <div style={styles.shortcutsGrid}>\n {atalhos\n .slice()\n .sort((a, b) => a - b)\n .filter((v) => {\n // Mostra sempre atalhos positivos\n if (v > 0) return true;\n // Para atalhos negativos, só mostra se o valor atual é maior que o valor absoluto\n return valor > Math.abs(v);\n })\n .map((v, i) => {\n const isPositive = v > 0;\n const baseStyle = {\n ...styles.shortcutButton,\n ...(disabled ? styles.shortcutButtonDisabled : {}),\n ...(isPositive ? styles.positiveShortcut : styles.negativeShortcut),\n };\n\n return (\n <button\n key={i}\n type=\"button\"\n style={baseStyle}\n onMouseEnter={(e) => {\n if (!disabled) {\n e.currentTarget.style.background = isPositive\n ? styles.positiveShortcutHover.background!\n : styles.negativeShortcutHover.background!;\n e.currentTarget.style.boxShadow = '0 4px 6px -1px rgba(0, 0, 0, 0.1)';\n }\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.background = baseStyle.background!;\n e.currentTarget.style.boxShadow = baseStyle.boxShadow!;\n e.currentTarget.style.transform = '';\n }}\n onMouseDown={(e) => {\n if (!disabled) {\n e.currentTarget.style.background = isPositive\n ? styles.positiveShortcutActive.background!\n : styles.negativeShortcutActive.background!;\n e.currentTarget.style.transform = styles.shortcutButtonActive.transform!;\n }\n }}\n onMouseUp={(e) => {\n if (!disabled) {\n e.currentTarget.style.background = isPositive\n ? styles.positiveShortcutHover.background!\n : styles.negativeShortcutHover.background!;\n e.currentTarget.style.transform = '';\n }\n }}\n onClick={() => handleAtalhoClick(v)}\n disabled={disabled}\n aria-label={`Adicionar ${v} ao contador`}>\n {v > 0 ? `+${v}` : v}\n </button>\n );\n })}\n </div>\n </div>\n )}\n\n {/* Botão Atualizar */}\n {addStockItem && (\n <div style={styles.addButtonContainer}>\n <button\n type=\"button\"\n onClick={handleAtualizarContagem}\n disabled={disabled}\n style={{\n ...styles.addButton,\n ...(disabled ? styles.addButtonDisabled : {}),\n }}\n onMouseEnter={(e) => {\n if (!disabled) {\n e.currentTarget.style.backgroundColor = styles.addButtonHover.backgroundColor!;\n }\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.backgroundColor = styles.addButton.backgroundColor!;\n }}\n onMouseDown={(e) => {\n if (!disabled) {\n e.currentTarget.style.backgroundColor = styles.addButtonActive.backgroundColor!;\n }\n }}\n onMouseUp={(e) => {\n if (!disabled) {\n e.currentTarget.style.backgroundColor = styles.addButtonHover.backgroundColor!;\n }\n }}\n aria-label=\"Atualizar contagem\">\n <svg style={{ width: '24px', height: '24px' }} fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M12 4v16m8-8H4\" />\n </svg>\n Adicionar contagem {valor * (unitMultiplier || 1)}\n {defaultUnit && ` ${defaultUnit}`}\n </button>\n </div>\n )}\n </div>\n );\n}\n"],"names":["QuantidadeInput","valor","onChange","min","max","disabled","className","atalhos","mostrarAtalhos","selectedUnit","addStockItem","unitMultiplier","defaultUnit","inputValue","setInputValue","useState","useEffect","handleChange","novoValor","valorFinal","isValidNumber","value","handleInputChange","e","numeroConvertido","handleBlur","styles","valorFormatado","handleAtalhoClick","v","handleAtualizarContagem","jsxs","jsx","a","b","i","isPositive","baseStyle"],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "eatopia-ds",
3
3
  "private": false,
4
- "version": "0.0.86",
4
+ "version": "0.0.87",
5
5
  "type": "module",
6
6
  "types": "./build/types/index.d.ts",
7
7
  "main": "./build/index.js",