etiquetas.js 1.0.0-alpha.1 → 1.0.0-alpha.11

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.
Files changed (40) hide show
  1. package/README.md +122 -38
  2. package/README.npm.md +0 -0
  3. package/dist/etiquetas.es.js +65 -0
  4. package/dist/etiquetas.es.js.map +1 -0
  5. package/dist/etiquetas.umd.js +358 -0
  6. package/dist/etiquetas.umd.js.map +1 -0
  7. package/dist/index-Bl0CvwuC.js +59982 -0
  8. package/dist/index-Bl0CvwuC.js.map +1 -0
  9. package/dist/index.es-eEPQXFRd.js +9229 -0
  10. package/dist/index.es-eEPQXFRd.js.map +1 -0
  11. package/dist/purify.es-DzZgBtzL.js +965 -0
  12. package/dist/purify.es-DzZgBtzL.js.map +1 -0
  13. package/package.json +38 -14
  14. package/README.git.md +0 -486
  15. package/api/api-labels.json +0 -114
  16. package/api/api.js +0 -316
  17. package/api/mock/data-volume-id_680.json +0 -64
  18. package/api/mock/labels-input.json +0 -96
  19. package/api/mock/labels-part.json +0 -216
  20. package/api/mock/labels-scrap.json +0 -76
  21. package/api/mock/labels-thickened.json +0 -96
  22. package/api/mock/labels-volume.json +0 -56
  23. package/api/token.txt +0 -1
  24. package/services/index.js +0 -28
  25. package/src/constants.js +0 -247
  26. package/src/createLabel.js +0 -342
  27. package/src/etiquetas.js +0 -654
  28. package/src/formatData.js +0 -96
  29. package/src/formatDataIntegrated.js +0 -498
  30. package/src/index.js +0 -86
  31. package/src/label/services/index.js +0 -1201
  32. package/src/label/services/sortFunctions.js +0 -158
  33. package/src/label/services/utils.js +0 -280
  34. package/src/labelWorker.js +0 -123
  35. package/src/reducer.js +0 -40
  36. package/src/store.js +0 -55
  37. package/src/templates.js +0 -139
  38. package/src/useLabelData.js +0 -99
  39. package/src/usePrinterStore.js +0 -115
  40. package/src/variableManager.js +0 -224
package/README.md CHANGED
@@ -1,38 +1,122 @@
1
- # 🏷️ Sistema de Etiquetas - Etiquetas.js
2
-
3
- Sistema completo para geração de etiquetas de peças, tamponamentos, insumos, retalhos e volumes com suporte a impressão e download de PDFs.
4
-
5
- ## 📋 Recursos Principais
6
-
7
- - Geração de 5 tipos de etiquetas: Peças, Tamponamentos, Insumos, Retalhos e Volumes
8
- - Suporte para impressão direta
9
- - Download em formato PDF
10
- - Templates personalizáveis
11
- - Integração com API para busca de modelos de etiquetas
12
-
13
- ## 🚀 Instalação
14
-
15
- ```bash
16
- npm install etiquetas.js
17
- ```
18
-
19
- ## ⚙️ Uso Básico
20
-
21
- ```javascript
22
- import { etiquetas } from 'etiquetas.js';
23
-
24
- // Inicializar o sistema
25
- etiquetas.init({
26
- token:'<jwt-token>'
27
- });
28
-
29
- // Gerar etiqueta de peça
30
- const pdfPeca = await etiquetas.makePartLabel(dadosPeca, '<id-etiqueta>');
31
-
32
- // Download ou impressão
33
- await etiquetas.downloadPDF(pdfPeca, '<nome-etiqueta>.pdf');
34
- // ou
35
- await etiquetas.sendToPrinter(pdfPeca);
36
- ```
37
-
38
-
1
+ # 🏷️ Sistema de Etiquetas - Etiquetas.js
2
+
3
+ Sistema completo para geração de etiquetas de peças, tamponamentos, insumos, retalhos e volumes com suporte a impressão e download de PDFs.
4
+
5
+
6
+
7
+ ## 🚀 Instalação
8
+
9
+ ```bash
10
+ npm install etiquetas.js
11
+ ```
12
+
13
+ ## ⚙️ Configuração Inicial
14
+
15
+ ```javascript
16
+ import etiquetas from 'etiquetas.js';
17
+
18
+ // Inicializar o sistema
19
+ etiquetas.init({
20
+ token: '<jwt-token>'
21
+ });
22
+ ```
23
+
24
+ ## 📚 API Principal
25
+ <jwt-token> é utilizado como authorization na api dinabox para obter os templates de etiqueta
26
+ ### Inicialização e Configuração
27
+
28
+ ```javascript
29
+ // Inicializar sistema
30
+ etiquetas.init(config);
31
+
32
+
33
+ // Verificar status da impressora
34
+ const status = await etiquetas.getPrinterStatus();
35
+ ```
36
+
37
+ ### Geração de Etiquetas
38
+
39
+ const labelData = [{variableProps: {
40
+
41
+
42
+ ```javascript
43
+ // Gerar etiqueta de peça
44
+ [{
45
+ <all-variables>
46
+ }, specialProps: {
47
+ <all-specialprops>
48
+ }]
49
+ O tamanho do array de labelData é a quantidade de etiquetas que serão geradas. Os dados <all-variables> e <all-specialprops>
50
+
51
+ const pdfPeca = await etiquetas.makeLabel({variableProps: {
52
+ PROJETO_ID:123
53
+
54
+ },specialProps: {
55
+ lamination: {
56
+
57
+ material_id:"123",
58
+ edges: {
59
+ left_id:"123",
60
+ right_id:null,
61
+ bottom_id:"123",
62
+ top_id:"245"
63
+ }
64
+
65
+ },
66
+
67
+ }
68
+ }}, <label-id>);
69
+ ```
70
+
71
+ ### Saída e Impressão
72
+
73
+
74
+
75
+ ```javascript
76
+ // Download de PDF
77
+ await etiquetas.downloadPDF(pdfBuffer, 'etiqueta.pdf');
78
+
79
+ // Enviar para impressora
80
+ await etiquetas.sendToPrinter(pdfBuffer);
81
+
82
+ // Envio inteligente (imprime se conectado, senão faz download)
83
+ await etiquetas.sendLabel(labelData, <label-id>);
84
+
85
+ ```
86
+
87
+ ## 🎨 Templates
88
+
89
+ ### Templates Disponíveis
90
+ Utilizando a API das labels busque o ID do template
91
+
92
+ Cada arquivo contém a definição de variáveis e propriedades especiais que podem ser usadas na geração das etiquetas correspondentes.
93
+
94
+ ## 📑 Variáveis e SpecialProps dos Templates
95
+
96
+ Abaixo estão listadas todas as variáveis (`variableProps`) e propriedades especiais (`specialProps`) disponíveis para uso em qualquer template de etiqueta. Use-as conforme o tipo de etiqueta desejado.
97
+
98
+ ### Lista universal de variableProps
99
+
100
+ - {{PROJETO_NOME}}, {{PROJETO_ID}}, {{LOTE_ID}}, {{CLIENTE_NOME}}, {{MODULO_NOME}}, {{MODULO_QTD}}, {{MODULO_REF}}, {{MODULO_OBS}}, {{PECA_ID}}, {{PECA_CODIGO}}, {{PECA_REF}}, {{PECA_INDICE}}, {{PECA_INDICE2}}, {{PECA_NOME}}, {{PECA_OBS}}, {{LARGURA}}, {{ALTURA}}, {{ESPESSURA}}, {{MN}}, {{MA}}, {{ML}}, {{FURO_A}}, {{FURO_A2}}, {{FURO_B}}, {{FURO_B2}}, {{FE}}, {{FD}}, {{FS}}, {{FI}}, {{PECA_TIPO}}, {{MATERIAL_NOME}}, {{TAMPONAMENTO_ID}}, {{TAMPONAMENTO_REF}}, {{TAMPONAMENTO_QT}}, {{TAMPONAMENTO_PESO}}, {{TAMPONAMENTO_NOME}}, {{INSUMO_NOME}}, {{INSUMO_ID}}, {{INSUMO_DIMENSOES}}, {{INSUMO_QTD}}, {{INSUMO_PESO}}, {{INSUMO_REF}}, {{INSUMO_MARCA}}, {{INSUMO_CATEGORIA}}, {{INSUMO_FABRICANTE}}, {{RETALHO_ID}}, {{DATA_CRIACAO}}, {{RETALHO_INDICE}}, {{LADO_USINAGEM}}, {{RETALHO_NOME}}, {{RETALHO_QT}}, {{RETALHO_PESO}}, {{RETALHO_DIMENSOES}}, {{RETALHO_MATERIAL}}, {{RETALHO_ORIGEM}}, {{CODIGO_A}}, {{CODIGO_B}}, {{FURO_A_SD}}, {{FURO_B_SD}}, {{FURO_TOPO}}, {{VOLUME_ID}}, {{VOLUME_NOME}}, {{VOLUME_PESO}}, {{VOLUME_DATA}}, {{VOLUME_DESCRICAO}}, {{VOLUME_PECAS}}, {{VOLUME_DIMENSOES}}
101
+
102
+ > **Observação:** Você pode usar qualquer combinação dessas variáveis em qualquer template, desde que o template utilize o campo correspondente.
103
+
104
+ ---
105
+
106
+ ### Lista universal de specialProps
107
+
108
+ - **rect**: Retângulo. Dados necessários: já vem no template.
109
+ - **lamination**: Desenha bordas de laminação conforme materiais. Dados necessários: informações de borda e material (edge_left_id, material_id, etc).
110
+ - **enhancedLamination**: Laminação detalhada, com indicação visual de materiais e furos. Dados necessários: dados de peça, bordas e furos (holes_diagram, width, height, etc).
111
+ - **identifierByProject**: Gera um identificador visual (preto e branco) para o projeto. Dados necessários: project_id, numberByProject.
112
+ - **colorfulIdentifierByProject**: Igual ao anterior, mas colorido. Dados necessários: project_id, numberByProject, color.
113
+ - **barCode**: Gera um código de barras. Dados necessários: código a ser convertido (originBarcode, customBarcode, code_a, code_b, etc).
114
+ - **miniSheet**: Miniatura da chapa. Dados necessários: lista de partes (parts), dimensões da chapa (height, width).
115
+ - **miniPartA**: Miniatura da peça (lado A). Dados necessários: dados da peça (width, height, index).
116
+ - **miniPartB**: Miniatura da peça (lado B). Dados necessários: dados da peça (width, height, index).
117
+ - **Image**: Imagem. Dados necessários: já vem no template.
118
+ - **text**: Texto estático. Dados necessários: já vem no template.
119
+ - **volumeContent**: Gera uma tabela de itens do volume. Dados necessários: itemList (array de itens do volume).
120
+
121
+ > **Observação:** Você pode usar qualquer combinação dessas specialProps em qualquer template, desde que o template utilize o campo correspondente.
122
+
package/README.npm.md ADDED
File without changes
@@ -0,0 +1,65 @@
1
+ import { a0, L, h, q, M, K, P, O, a6, D, G, J, T, U, i, S, a8, E, H, x, R, V, A, j, a7, $, X, a3, a4, m, e, a9, Z, a, l, n, t, b, d, f, s, p, a2, B, C, o, F, v, Y, a5, N, r, Q, w, y, I, W, a1, u, k, z } from "./index-Bl0CvwuC.js";
2
+ export {
3
+ a0 as DEFAULT_LAMINATION_COLORS,
4
+ L as LABEL_TYPES,
5
+ h as LabelWorker,
6
+ q as LabelsAPI,
7
+ M as base64Decode,
8
+ K as base64Encode,
9
+ P as checkPrinterAvailability,
10
+ O as convertPdfToImages,
11
+ a6 as convertSVGTableToAutoTableData,
12
+ D as createBrowserCanvas,
13
+ G as createBrowserDOM,
14
+ J as createBuffer,
15
+ T as createImage,
16
+ U as createImageFromPart,
17
+ i as createLabelWorker,
18
+ S as createMiniSheet,
19
+ a8 as dataTypeList,
20
+ E as default,
21
+ H as downloadFile,
22
+ x as downloadPDF,
23
+ R as downloadPdfFallback,
24
+ V as drawRect,
25
+ A as etiquetas,
26
+ j as generateLabelsFromHookData,
27
+ a7 as generateTableSVG,
28
+ $ as getAspectRatio,
29
+ X as getBorderColor,
30
+ a3 as getImagesFromUrl,
31
+ a4 as getImagesFromUrlToBase64,
32
+ m as getInputForLabels,
33
+ e as getInputLabels,
34
+ a9 as getInputsByCategory,
35
+ Z as getNode,
36
+ a as getPartLabels,
37
+ l as getPartsForLabels,
38
+ n as getPartsFromProjectToLabels,
39
+ t as getPrinterStatus,
40
+ b as getScrapLabels,
41
+ d as getThickenedLabels,
42
+ f as getVolumeLabels,
43
+ s as init,
44
+ p as initialState,
45
+ a2 as initializeBrowserEnvironment,
46
+ B as isBrowser,
47
+ C as isNodeJS,
48
+ o as labelTypeNames,
49
+ F as loadImageBrowser,
50
+ v as makeLabel,
51
+ Y as makeLamination,
52
+ a5 as mmToPx,
53
+ N as processLabelForParts,
54
+ r as reducer,
55
+ Q as sendImagesToPrinter,
56
+ w as sendLabel,
57
+ y as sendToPrinter,
58
+ I as serializeXML,
59
+ W as setBorder,
60
+ a1 as stopCreatingLabels,
61
+ u as useLabelData,
62
+ k as useLabelStore,
63
+ z as validateLabelData
64
+ };
65
+ //# sourceMappingURL=etiquetas.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"etiquetas.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}