eatopia-ds 0.0.85 → 0.0.86
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/index7.js +31 -34
- package/build/index7.js.map +1 -1
- package/package.json +1 -1
package/build/index7.js
CHANGED
|
@@ -3,12 +3,12 @@ import { useState as s, useEffect as x } from "react";
|
|
|
3
3
|
import { QuantidadeInput as q } from "./index6.js";
|
|
4
4
|
import B from "./index13.js";
|
|
5
5
|
import { UnitSelect as L } from "./index8.js";
|
|
6
|
-
function O({ produto: i, contagemInicial:
|
|
6
|
+
function O({ produto: i, contagemInicial: d, onChangeStockItens: l }) {
|
|
7
7
|
var m, h;
|
|
8
|
-
const [v, y] = s(0), [S, U] = s(i.estoque ?? 10), [W, E] = s(!1), [b, R] = s(!1), [k, g] = s(!1), [
|
|
8
|
+
const [v, y] = s(0), [S, U] = s(i.estoque ?? 10), [W, E] = s(!1), [b, R] = s(!1), [k, g] = s(!1), [r, f] = s([]), [c, j] = s(() => {
|
|
9
9
|
var a;
|
|
10
10
|
const e = i.unidades.find(
|
|
11
|
-
(
|
|
11
|
+
(o) => o.value === i.unidade_sap
|
|
12
12
|
);
|
|
13
13
|
return e ? e.value : ((a = i.unidades[0]) == null ? void 0 : a.value) || i.unidade_sap;
|
|
14
14
|
}), [u, C] = s(!1), [p, _] = s(i.unidades);
|
|
@@ -18,16 +18,13 @@ function O({ produto: i, contagemInicial: r, onChangeStockItens: l }) {
|
|
|
18
18
|
};
|
|
19
19
|
return e(), window.addEventListener("resize", e), () => window.removeEventListener("resize", e);
|
|
20
20
|
}, []), x(() => {
|
|
21
|
-
|
|
22
|
-
}, [
|
|
23
|
-
l(
|
|
24
|
-
}, [
|
|
25
|
-
l(
|
|
26
|
-
}, [
|
|
27
|
-
const w =
|
|
28
|
-
const t = parseInt(a.unidade.value) || 1;
|
|
29
|
-
return e + a.quantidade * t;
|
|
30
|
-
}, 0), o = {
|
|
21
|
+
d && d.length > 0 && f(d);
|
|
22
|
+
}, [d]), x(() => {
|
|
23
|
+
l(r);
|
|
24
|
+
}, [r, l]), x(() => {
|
|
25
|
+
l(r);
|
|
26
|
+
}, [r, l]);
|
|
27
|
+
const w = r.reduce((e, a) => e + a.quantidade, 0), t = {
|
|
31
28
|
card: {
|
|
32
29
|
backgroundColor: "white",
|
|
33
30
|
borderRadius: "12px",
|
|
@@ -127,38 +124,38 @@ function O({ produto: i, contagemInicial: r, onChangeStockItens: l }) {
|
|
|
127
124
|
}
|
|
128
125
|
};
|
|
129
126
|
return /* @__PURE__ */ n.jsxs(n.Fragment, { children: [
|
|
130
|
-
/* @__PURE__ */ n.jsx("div", { style:
|
|
131
|
-
/* @__PURE__ */ n.jsx("div", { style:
|
|
132
|
-
/* @__PURE__ */ n.jsxs("div", { style:
|
|
133
|
-
/* @__PURE__ */ n.jsx("div", { style:
|
|
127
|
+
/* @__PURE__ */ n.jsx("div", { style: t.card, children: /* @__PURE__ */ n.jsxs("button", { onClick: () => g(!0), style: t.cardButton, children: [
|
|
128
|
+
/* @__PURE__ */ n.jsx("div", { style: t.titleContainer, children: /* @__PURE__ */ n.jsx("span", { style: t.title, children: i.name }) }),
|
|
129
|
+
/* @__PURE__ */ n.jsxs("div", { style: t.contentContainer, children: [
|
|
130
|
+
/* @__PURE__ */ n.jsx("div", { style: t.stockContainer, children: r.map((e, a) => /* @__PURE__ */ n.jsxs(
|
|
134
131
|
"span",
|
|
135
132
|
{
|
|
136
|
-
style:
|
|
133
|
+
style: t.stockItem,
|
|
137
134
|
children: [
|
|
138
|
-
/* @__PURE__ */ n.jsxs("span", { style:
|
|
139
|
-
/* @__PURE__ */ n.jsx("span", { children: e.quantidade
|
|
140
|
-
/* @__PURE__ */ n.jsx("span", { style:
|
|
135
|
+
/* @__PURE__ */ n.jsxs("span", { style: t.stockItemContent, children: [
|
|
136
|
+
/* @__PURE__ */ n.jsx("span", { children: e.quantidade / (Number(e.unidade.value) || 1) }),
|
|
137
|
+
/* @__PURE__ */ n.jsx("span", { style: t.stockItemLabel, children: e.unidade.label })
|
|
141
138
|
] }),
|
|
142
139
|
/* @__PURE__ */ n.jsx(
|
|
143
140
|
"button",
|
|
144
141
|
{
|
|
145
|
-
onClick: (
|
|
146
|
-
|
|
142
|
+
onClick: (o) => {
|
|
143
|
+
o.stopPropagation(), f(
|
|
147
144
|
(I) => I.filter((z, M) => M !== a)
|
|
148
145
|
);
|
|
149
146
|
},
|
|
150
|
-
style:
|
|
151
|
-
onMouseEnter: (
|
|
152
|
-
|
|
147
|
+
style: t.removeButton,
|
|
148
|
+
onMouseEnter: (o) => {
|
|
149
|
+
o.currentTarget.style.backgroundColor = t.removeButtonHover.backgroundColor;
|
|
153
150
|
},
|
|
154
|
-
onMouseLeave: (
|
|
155
|
-
|
|
151
|
+
onMouseLeave: (o) => {
|
|
152
|
+
o.currentTarget.style.backgroundColor = "";
|
|
156
153
|
},
|
|
157
|
-
onMouseDown: (
|
|
158
|
-
|
|
154
|
+
onMouseDown: (o) => {
|
|
155
|
+
o.currentTarget.style.backgroundColor = t.removeButtonActive.backgroundColor;
|
|
159
156
|
},
|
|
160
|
-
onMouseUp: (
|
|
161
|
-
|
|
157
|
+
onMouseUp: (o) => {
|
|
158
|
+
o.currentTarget.style.backgroundColor = t.removeButtonHover.backgroundColor;
|
|
162
159
|
},
|
|
163
160
|
"aria-label": `Remover ${e.quantidade} ${e.unidade.label} do estoque`,
|
|
164
161
|
children: /* @__PURE__ */ n.jsx(
|
|
@@ -190,7 +187,7 @@ function O({ produto: i, contagemInicial: r, onChangeStockItens: l }) {
|
|
|
190
187
|
`${a}-${e.quantidade}-${e.unidade.value}`
|
|
191
188
|
)) }),
|
|
192
189
|
"=",
|
|
193
|
-
/* @__PURE__ */ n.jsxs("span", { style:
|
|
190
|
+
/* @__PURE__ */ n.jsxs("span", { style: t.totalContainer, children: [
|
|
194
191
|
w,
|
|
195
192
|
" ",
|
|
196
193
|
i.unidade_sap
|
|
@@ -265,7 +262,7 @@ function O({ produto: i, contagemInicial: r, onChangeStockItens: l }) {
|
|
|
265
262
|
...a,
|
|
266
263
|
{
|
|
267
264
|
quantidade: e,
|
|
268
|
-
unidade: p.find((
|
|
265
|
+
unidade: p.find((o) => o.value === c) || p[0]
|
|
269
266
|
}
|
|
270
267
|
]), g(!1);
|
|
271
268
|
},
|
package/build/index7.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index7.js","sources":["../src/components/EstoqueCard/index.tsx"],"sourcesContent":["import React, { useState, useEffect } from \"react\";\r\nimport { QuantidadeInput } from \"../QuantidadeInput\";\r\nimport Modal from \"../Modal\";\r\nimport { UnitSelect } from \"../UnitSelect\";\r\n\r\nexport interface Produto {\r\n id: number;\r\n name: string;\r\n sku: string;\r\n categoria: string;\r\n estoque?: number;\r\n unidades: { label: string; value: string }[];\r\n unidade_sap: string;\r\n}\r\n\r\nexport interface ContagemInicial {\r\n quantidade: number;\r\n unidade: {\r\n label: string;\r\n value: string;\r\n };\r\n}\r\n\r\nexport type EstoqueCardProps = {\r\n produto: Produto;\r\n contagemInicial?: ContagemInicial[];\r\n onChangeStockItens: (stockItens: StockItem[]) => void;\r\n};\r\n\r\nexport type StockItem = {\r\n quantidade: number;\r\n unidade: {\r\n label: string;\r\n value: string;\r\n };\r\n};\r\n\r\nexport function EstoqueCard({ produto, contagemInicial, onChangeStockItens }: EstoqueCardProps) {\r\n const [quantidade, setQuantidade] = useState(0);\r\n const [estoque, setEstoque] = useState(produto.estoque ?? 10);\r\n const [sucesso, setSucesso] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n const [isModalOpen, setIsModalOpen] = useState(false);\r\n const [stockItens, setStockItens] = useState<StockItem[]>([]);\r\n const [selectedUnit, setSelectedUnit] = useState(() => {\r\n // Tenta encontrar a unidade que corresponde à unidade_sap\r\n const sapUnit = produto.unidades.find(\r\n (u) => u.value === produto.unidade_sap\r\n );\r\n if (sapUnit) {\r\n return sapUnit.value;\r\n }\r\n // Se não encontrar, usa a primeira unidade disponível\r\n return produto.unidades[0]?.value || produto.unidade_sap;\r\n });\r\n const [isMobile, setIsMobile] = useState(false);\r\n\r\n const [unidades, setUnidades] = useState(produto.unidades);\r\n\r\n // Detecta se é dispositivo móvel\r\n useEffect(() => {\r\n const checkIsMobile = () => {\r\n setIsMobile(window.innerWidth <= 768);\r\n };\r\n\r\n checkIsMobile();\r\n window.addEventListener(\"resize\", checkIsMobile);\r\n\r\n return () => window.removeEventListener(\"resize\", checkIsMobile);\r\n }, []);\r\n\r\n // Atualiza o estoque inicial\r\n useEffect(() => {\r\n if (contagemInicial && contagemInicial.length > 0) {\r\n setStockItens(contagemInicial);\r\n }\r\n }, [contagemInicial]);\r\n\r\n // Notifica mudanças no stockItens\r\n useEffect(() => {\r\n onChangeStockItens(stockItens);\r\n }, [stockItens, onChangeStockItens]);\r\n\r\n\r\n // Notifica mudanças no stockItens\r\n useEffect(() => {\r\n onChangeStockItens(stockItens);\r\n }, [stockItens, onChangeStockItens]);\r\n\r\n const stockItensSum = stockItens.reduce((acc, curr) => {\r\n const multiplicador = parseInt(curr.unidade.value) || 1;\r\n return acc + curr.quantidade * multiplicador;\r\n }, 0);\r\n\r\n // Estilos inline para substituir Tailwind\r\n const styles = {\r\n card: {\r\n backgroundColor: \"white\",\r\n borderRadius: \"12px\",\r\n border: \"1px solid #e5e7eb\",\r\n padding: \"16px\",\r\n boxShadow:\r\n \"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)\",\r\n display: \"flex\",\r\n flexDirection: \"column\" as const,\r\n gap: \"12px\",\r\n transition: \"all 0.2s\",\r\n },\r\n cardButton: {\r\n background: \"none\",\r\n border: \"none\",\r\n padding: 0,\r\n cursor: \"pointer\",\r\n width: \"100%\",\r\n },\r\n title: {\r\n fontWeight: \"bold\",\r\n fontSize: \"18px\",\r\n color: \"#111827\",\r\n margin: 0,\r\n },\r\n titleContainer: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: \"8px\",\r\n marginBottom: \"4px\",\r\n },\r\n contentContainer: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: \"8px\",\r\n },\r\n stockContainer: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n minHeight: \"42px\",\r\n gap: \"8px\",\r\n border: \"2px solid #e5e7eb\",\r\n padding: \"8px\",\r\n width: \"100%\",\r\n borderRadius: \"6px\",\r\n flexWrap: \"wrap\" as const,\r\n },\r\n stockItem: {\r\n display: \"inline-flex\",\r\n alignItems: \"center\",\r\n gap: \"8px\",\r\n background: \"linear-gradient(to right, #fff7ed, #fed7aa)\",\r\n color: \"#9a3412\",\r\n fontSize: \"14px\",\r\n fontWeight: \"500\",\r\n borderRadius: \"6px\",\r\n padding: \"6px 12px\",\r\n boxShadow: \"0 1px 2px 0 rgba(0, 0, 0, 0.05)\",\r\n border: \"1px solid #fed7aa\",\r\n },\r\n stockItemContent: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: \"4px\",\r\n },\r\n stockItemLabel: {\r\n color: \"#c2410c\",\r\n },\r\n removeButton: {\r\n marginLeft: \"4px\",\r\n padding: \"2px\",\r\n borderRadius: \"50%\",\r\n border: \"none\",\r\n background: \"none\",\r\n cursor: \"pointer\",\r\n transition: \"background-color 0.2s\",\r\n },\r\n removeButtonHover: {\r\n backgroundColor: \"#fed7aa\",\r\n },\r\n removeButtonActive: {\r\n backgroundColor: \"#fdba74\",\r\n },\r\n totalContainer: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n marginLeft: \"auto\",\r\n background: \"linear-gradient(to right, #10b981, #059669)\",\r\n color: \"white\",\r\n fontSize: \"18px\",\r\n fontWeight: \"bold\",\r\n borderRadius: \"6px\",\r\n padding: \"8px 16px\",\r\n boxShadow: \"0 4px 6px -1px rgba(0, 0, 0, 0.1)\",\r\n border: \"1px solid #34d399\",\r\n minWidth: \"100px\",\r\n },\r\n };\r\n\r\n return (\r\n <>\r\n <div style={styles.card}>\r\n <button onClick={() => setIsModalOpen(true)} style={styles.cardButton}>\r\n <div style={styles.titleContainer}>\r\n <span style={styles.title}>{produto.name}</span>\r\n </div>\r\n <div style={styles.contentContainer}>\r\n <div style={styles.stockContainer}>\r\n {stockItens.map((item, index) => (\r\n <span\r\n key={`${index}-${item.quantidade}-${item.unidade.value}`}\r\n style={styles.stockItem}\r\n >\r\n <span style={styles.stockItemContent}>\r\n <span>\r\n {item.quantidade * (Number(item.unidade.value) || 1)}\r\n </span>\r\n <span style={styles.stockItemLabel}>\r\n {item.unidade.label}\r\n </span>\r\n </span>\r\n <button\r\n onClick={(e) => {\r\n e.stopPropagation();\r\n setStockItens((prev) =>\r\n prev.filter((_, i) => i !== index)\r\n );\r\n }}\r\n style={styles.removeButton}\r\n onMouseEnter={(e) => {\r\n e.currentTarget.style.backgroundColor =\r\n styles.removeButtonHover.backgroundColor!;\r\n }}\r\n onMouseLeave={(e) => {\r\n e.currentTarget.style.backgroundColor = \"\";\r\n }}\r\n onMouseDown={(e) => {\r\n e.currentTarget.style.backgroundColor =\r\n styles.removeButtonActive.backgroundColor!;\r\n }}\r\n onMouseUp={(e) => {\r\n e.currentTarget.style.backgroundColor =\r\n styles.removeButtonHover.backgroundColor!;\r\n }}\r\n aria-label={`Remover ${item.quantidade} ${item.unidade.label} do estoque`}\r\n >\r\n <svg\r\n style={{\r\n width: \"12px\",\r\n height: \"12px\",\r\n color: \"#dc2626\",\r\n }}\r\n fill=\"none\"\r\n viewBox=\"0 0 20 20\"\r\n stroke=\"currentColor\"\r\n >\r\n <path\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n strokeWidth={2}\r\n d=\"M6 18L18 6M6 6l12 12\"\r\n />\r\n </svg>\r\n </button>\r\n </span>\r\n ))}\r\n </div>\r\n =\r\n <span style={styles.totalContainer}>\r\n {stockItensSum} {produto.unidade_sap}\r\n </span>\r\n </div>\r\n </button>\r\n </div>\r\n\r\n <Modal\r\n isOpen={isModalOpen}\r\n onClose={() => setIsModalOpen(false)}\r\n width={isMobile ? \"100%\" : \"400px\"}\r\n minHeight=\"300px\"\r\n title=\"Inserir Estoque\"\r\n // unidades={unidades}\r\n // selectedUnit={selectedUnit}\r\n // setSelectedUnit={setSelectedUnit}\r\n >\r\n <div\r\n style={{\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n gap: \"16px\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n width: \"100%\",\r\n minWidth: isMobile ? \"100%\" : \"350px\",\r\n maxWidth: isMobile ? \"100%\" : \"400px\",\r\n margin: \"0 auto\",\r\n padding: isMobile ? \"0 16px\" : \"0\",\r\n }}\r\n >\r\n <div\r\n style={{\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n gap: \"16px\",\r\n width: \"100%\",\r\n }}\r\n >\r\n <div\r\n style={{\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n gap: \"8px\",\r\n alignItems: \"center\",\r\n }}\r\n >\r\n <UnitSelect\r\n units={unidades}\r\n selectedUnit={selectedUnit}\r\n onUnitChange={setSelectedUnit}\r\n defaultUnit={produto.unidade_sap}\r\n disabled={loading}\r\n />\r\n </div>\r\n\r\n <QuantidadeInput\r\n valor={quantidade}\r\n onChange={setQuantidade}\r\n disabled={loading}\r\n atalhos={[10, 25, 50, -10, -25, -50]}\r\n selectedUnit={\r\n unidades.find((u) => u.value === selectedUnit)?.label ||\r\n produto.unidade_sap\r\n }\r\n className=\"w-full\"\r\n addStockItem={(valor) => {\r\n setStockItens((prev) => [\r\n ...prev,\r\n {\r\n quantidade: valor,\r\n unidade:\r\n unidades.find((u) => u.value === selectedUnit) ||\r\n unidades[0],\r\n },\r\n ]);\r\n setIsModalOpen(false);\r\n }}\r\n defaultUnit={produto.unidade_sap}\r\n unitMultiplier={\r\n Number(\r\n produto.unidades.find((u) => u.value === selectedUnit)?.value\r\n ) || 1\r\n }\r\n />\r\n </div>\r\n </div>\r\n </Modal>\r\n </>\r\n );\r\n}\r\n"],"names":["EstoqueCard","produto","contagemInicial","onChangeStockItens","quantidade","setQuantidade","useState","estoque","setEstoque","sucesso","setSucesso","loading","setLoading","isModalOpen","setIsModalOpen","stockItens","setStockItens","selectedUnit","setSelectedUnit","sapUnit","u","_a","isMobile","setIsMobile","unidades","setUnidades","useEffect","checkIsMobile","stockItensSum","acc","curr","multiplicador","styles","jsxs","Fragment","jsx","item","index","e","prev","_","i","Modal","UnitSelect","QuantidadeInput","valor","_b"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index7.js","sources":["../src/components/EstoqueCard/index.tsx"],"sourcesContent":["import React, { useState, useEffect } from \"react\";\r\nimport { QuantidadeInput } from \"../QuantidadeInput\";\r\nimport Modal from \"../Modal\";\r\nimport { UnitSelect } from \"../UnitSelect\";\r\n\r\nexport interface Produto {\r\n id: number;\r\n name: string;\r\n sku: string;\r\n categoria: string;\r\n estoque?: number;\r\n unidades: { label: string; value: string }[];\r\n unidade_sap: string;\r\n}\r\n\r\nexport interface ContagemInicial {\r\n quantidade: number;\r\n unidade: {\r\n label: string;\r\n value: string;\r\n };\r\n}\r\n\r\nexport type EstoqueCardProps = {\r\n produto: Produto;\r\n contagemInicial?: ContagemInicial[];\r\n onChangeStockItens: (stockItens: StockItem[]) => void;\r\n};\r\n\r\nexport type StockItem = {\r\n quantidade: number;\r\n unidade: {\r\n label: string;\r\n value: string;\r\n };\r\n};\r\n\r\nexport function EstoqueCard({ produto, contagemInicial, onChangeStockItens }: EstoqueCardProps) {\r\n const [quantidade, setQuantidade] = useState(0);\r\n const [estoque, setEstoque] = useState(produto.estoque ?? 10);\r\n const [sucesso, setSucesso] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n const [isModalOpen, setIsModalOpen] = useState(false);\r\n const [stockItens, setStockItens] = useState<StockItem[]>([]);\r\n const [selectedUnit, setSelectedUnit] = useState(() => {\r\n // Tenta encontrar a unidade que corresponde à unidade_sap\r\n const sapUnit = produto.unidades.find(\r\n (u) => u.value === produto.unidade_sap\r\n );\r\n if (sapUnit) {\r\n return sapUnit.value;\r\n }\r\n // Se não encontrar, usa a primeira unidade disponível\r\n return produto.unidades[0]?.value || produto.unidade_sap;\r\n });\r\n const [isMobile, setIsMobile] = useState(false);\r\n\r\n const [unidades, setUnidades] = useState(produto.unidades);\r\n\r\n // Detecta se é dispositivo móvel\r\n useEffect(() => {\r\n const checkIsMobile = () => {\r\n setIsMobile(window.innerWidth <= 768);\r\n };\r\n\r\n checkIsMobile();\r\n window.addEventListener(\"resize\", checkIsMobile);\r\n\r\n return () => window.removeEventListener(\"resize\", checkIsMobile);\r\n }, []);\r\n\r\n // Atualiza o estoque inicial\r\n useEffect(() => {\r\n if (contagemInicial && contagemInicial.length > 0) {\r\n setStockItens(contagemInicial);\r\n }\r\n }, [contagemInicial]);\r\n\r\n // Notifica mudanças no stockItens\r\n useEffect(() => {\r\n onChangeStockItens(stockItens);\r\n }, [stockItens, onChangeStockItens]);\r\n\r\n\r\n // Notifica mudanças no stockItens\r\n useEffect(() => {\r\n onChangeStockItens(stockItens);\r\n }, [stockItens, onChangeStockItens]);\r\n\r\n const stockItensSum = stockItens.reduce((acc, curr) => {\r\n return acc + curr.quantidade;\r\n }, 0);\r\n\r\n // Estilos inline para substituir Tailwind\r\n const styles = {\r\n card: {\r\n backgroundColor: \"white\",\r\n borderRadius: \"12px\",\r\n border: \"1px solid #e5e7eb\",\r\n padding: \"16px\",\r\n boxShadow:\r\n \"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)\",\r\n display: \"flex\",\r\n flexDirection: \"column\" as const,\r\n gap: \"12px\",\r\n transition: \"all 0.2s\",\r\n },\r\n cardButton: {\r\n background: \"none\",\r\n border: \"none\",\r\n padding: 0,\r\n cursor: \"pointer\",\r\n width: \"100%\",\r\n },\r\n title: {\r\n fontWeight: \"bold\",\r\n fontSize: \"18px\",\r\n color: \"#111827\",\r\n margin: 0,\r\n },\r\n titleContainer: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: \"8px\",\r\n marginBottom: \"4px\",\r\n },\r\n contentContainer: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: \"8px\",\r\n },\r\n stockContainer: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n minHeight: \"42px\",\r\n gap: \"8px\",\r\n border: \"2px solid #e5e7eb\",\r\n padding: \"8px\",\r\n width: \"100%\",\r\n borderRadius: \"6px\",\r\n flexWrap: \"wrap\" as const,\r\n },\r\n stockItem: {\r\n display: \"inline-flex\",\r\n alignItems: \"center\",\r\n gap: \"8px\",\r\n background: \"linear-gradient(to right, #fff7ed, #fed7aa)\",\r\n color: \"#9a3412\",\r\n fontSize: \"14px\",\r\n fontWeight: \"500\",\r\n borderRadius: \"6px\",\r\n padding: \"6px 12px\",\r\n boxShadow: \"0 1px 2px 0 rgba(0, 0, 0, 0.05)\",\r\n border: \"1px solid #fed7aa\",\r\n },\r\n stockItemContent: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: \"4px\",\r\n },\r\n stockItemLabel: {\r\n color: \"#c2410c\",\r\n },\r\n removeButton: {\r\n marginLeft: \"4px\",\r\n padding: \"2px\",\r\n borderRadius: \"50%\",\r\n border: \"none\",\r\n background: \"none\",\r\n cursor: \"pointer\",\r\n transition: \"background-color 0.2s\",\r\n },\r\n removeButtonHover: {\r\n backgroundColor: \"#fed7aa\",\r\n },\r\n removeButtonActive: {\r\n backgroundColor: \"#fdba74\",\r\n },\r\n totalContainer: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n marginLeft: \"auto\",\r\n background: \"linear-gradient(to right, #10b981, #059669)\",\r\n color: \"white\",\r\n fontSize: \"18px\",\r\n fontWeight: \"bold\",\r\n borderRadius: \"6px\",\r\n padding: \"8px 16px\",\r\n boxShadow: \"0 4px 6px -1px rgba(0, 0, 0, 0.1)\",\r\n border: \"1px solid #34d399\",\r\n minWidth: \"100px\",\r\n },\r\n };\r\n\r\n return (\r\n <>\r\n <div style={styles.card}>\r\n <button onClick={() => setIsModalOpen(true)} style={styles.cardButton}>\r\n <div style={styles.titleContainer}>\r\n <span style={styles.title}>{produto.name}</span>\r\n </div>\r\n <div style={styles.contentContainer}>\r\n <div style={styles.stockContainer}>\r\n {stockItens.map((item, index) => (\r\n <span\r\n key={`${index}-${item.quantidade}-${item.unidade.value}`}\r\n style={styles.stockItem}\r\n >\r\n <span style={styles.stockItemContent}>\r\n <span>\r\n {item.quantidade / (Number(item.unidade.value) || 1)}\r\n </span>\r\n <span style={styles.stockItemLabel}>\r\n {item.unidade.label}\r\n </span>\r\n </span>\r\n <button\r\n onClick={(e) => {\r\n e.stopPropagation();\r\n setStockItens((prev) =>\r\n prev.filter((_, i) => i !== index)\r\n );\r\n }}\r\n style={styles.removeButton}\r\n onMouseEnter={(e) => {\r\n e.currentTarget.style.backgroundColor =\r\n styles.removeButtonHover.backgroundColor!;\r\n }}\r\n onMouseLeave={(e) => {\r\n e.currentTarget.style.backgroundColor = \"\";\r\n }}\r\n onMouseDown={(e) => {\r\n e.currentTarget.style.backgroundColor =\r\n styles.removeButtonActive.backgroundColor!;\r\n }}\r\n onMouseUp={(e) => {\r\n e.currentTarget.style.backgroundColor =\r\n styles.removeButtonHover.backgroundColor!;\r\n }}\r\n aria-label={`Remover ${item.quantidade} ${item.unidade.label} do estoque`}\r\n >\r\n <svg\r\n style={{\r\n width: \"12px\",\r\n height: \"12px\",\r\n color: \"#dc2626\",\r\n }}\r\n fill=\"none\"\r\n viewBox=\"0 0 20 20\"\r\n stroke=\"currentColor\"\r\n >\r\n <path\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n strokeWidth={2}\r\n d=\"M6 18L18 6M6 6l12 12\"\r\n />\r\n </svg>\r\n </button>\r\n </span>\r\n ))}\r\n </div>\r\n =\r\n <span style={styles.totalContainer}>\r\n {stockItensSum} {produto.unidade_sap}\r\n </span>\r\n </div>\r\n </button>\r\n </div>\r\n\r\n <Modal\r\n isOpen={isModalOpen}\r\n onClose={() => setIsModalOpen(false)}\r\n width={isMobile ? \"100%\" : \"400px\"}\r\n minHeight=\"300px\"\r\n title=\"Inserir Estoque\"\r\n // unidades={unidades}\r\n // selectedUnit={selectedUnit}\r\n // setSelectedUnit={setSelectedUnit}\r\n >\r\n <div\r\n style={{\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n gap: \"16px\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n width: \"100%\",\r\n minWidth: isMobile ? \"100%\" : \"350px\",\r\n maxWidth: isMobile ? \"100%\" : \"400px\",\r\n margin: \"0 auto\",\r\n padding: isMobile ? \"0 16px\" : \"0\",\r\n }}\r\n >\r\n <div\r\n style={{\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n gap: \"16px\",\r\n width: \"100%\",\r\n }}\r\n >\r\n <div\r\n style={{\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n gap: \"8px\",\r\n alignItems: \"center\",\r\n }}\r\n >\r\n <UnitSelect\r\n units={unidades}\r\n selectedUnit={selectedUnit}\r\n onUnitChange={setSelectedUnit}\r\n defaultUnit={produto.unidade_sap}\r\n disabled={loading}\r\n />\r\n </div>\r\n\r\n <QuantidadeInput\r\n valor={quantidade}\r\n onChange={setQuantidade}\r\n disabled={loading}\r\n atalhos={[10, 25, 50, -10, -25, -50]}\r\n selectedUnit={\r\n unidades.find((u) => u.value === selectedUnit)?.label ||\r\n produto.unidade_sap\r\n }\r\n className=\"w-full\"\r\n addStockItem={(valor) => {\r\n setStockItens((prev) => [\r\n ...prev,\r\n {\r\n quantidade: valor,\r\n unidade:\r\n unidades.find((u) => u.value === selectedUnit) ||\r\n unidades[0],\r\n },\r\n ]);\r\n setIsModalOpen(false);\r\n }}\r\n defaultUnit={produto.unidade_sap}\r\n unitMultiplier={\r\n Number(\r\n produto.unidades.find((u) => u.value === selectedUnit)?.value\r\n ) || 1\r\n }\r\n />\r\n </div>\r\n </div>\r\n </Modal>\r\n </>\r\n );\r\n}\r\n"],"names":["EstoqueCard","produto","contagemInicial","onChangeStockItens","quantidade","setQuantidade","useState","estoque","setEstoque","sucesso","setSucesso","loading","setLoading","isModalOpen","setIsModalOpen","stockItens","setStockItens","selectedUnit","setSelectedUnit","sapUnit","u","_a","isMobile","setIsMobile","unidades","setUnidades","useEffect","checkIsMobile","stockItensSum","acc","curr","styles","jsxs","Fragment","jsx","item","index","e","prev","_","i","Modal","UnitSelect","QuantidadeInput","valor","_b"],"mappings":"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"}
|