pi-kiosk-shared 2.1.0 → 2.1.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.
Files changed (62) hide show
  1. package/README.md +85 -85
  2. package/dist/api.d.ts +11 -9
  3. package/dist/api.d.ts.map +1 -0
  4. package/dist/api.js +13 -9
  5. package/dist/api.js.map +1 -0
  6. package/dist/components/ErrorDisplay.d.ts +1 -0
  7. package/dist/components/ErrorDisplay.d.ts.map +1 -0
  8. package/dist/components/ErrorDisplay.js +1 -0
  9. package/dist/components/ErrorDisplay.js.map +1 -0
  10. package/dist/components/LoadingSpinner.d.ts +1 -0
  11. package/dist/components/LoadingSpinner.d.ts.map +1 -0
  12. package/dist/components/LoadingSpinner.js +1 -0
  13. package/dist/components/LoadingSpinner.js.map +1 -0
  14. package/dist/config/deployment.d.ts +1 -0
  15. package/dist/config/deployment.d.ts.map +1 -0
  16. package/dist/config/deployment.js +4 -3
  17. package/dist/config/deployment.js.map +1 -0
  18. package/dist/config/environments.d.ts +0 -1
  19. package/dist/config/environments.d.ts.map +1 -1
  20. package/dist/config/environments.js +35 -19
  21. package/dist/config/environments.js.map +1 -1
  22. package/dist/config/logger.d.ts +1 -0
  23. package/dist/config/logger.d.ts.map +1 -0
  24. package/dist/config/logger.js +3 -1
  25. package/dist/config/logger.js.map +1 -0
  26. package/dist/constants.d.ts +1 -0
  27. package/dist/constants.d.ts.map +1 -0
  28. package/dist/constants.js +1 -0
  29. package/dist/constants.js.map +1 -0
  30. package/dist/errors.d.ts +13 -0
  31. package/dist/errors.d.ts.map +1 -0
  32. package/dist/errors.js +28 -0
  33. package/dist/errors.js.map +1 -0
  34. package/dist/hooks/useApi.d.ts +1 -0
  35. package/dist/hooks/useApi.d.ts.map +1 -0
  36. package/dist/hooks/useApi.js +1 -0
  37. package/dist/hooks/useApi.js.map +1 -0
  38. package/dist/hooks/useAsyncOperation.d.ts +1 -0
  39. package/dist/hooks/useAsyncOperation.d.ts.map +1 -0
  40. package/dist/hooks/useAsyncOperation.js +1 -0
  41. package/dist/hooks/useAsyncOperation.js.map +1 -0
  42. package/dist/hooks/useErrorHandler.d.ts +1 -0
  43. package/dist/hooks/useErrorHandler.d.ts.map +1 -0
  44. package/dist/hooks/useErrorHandler.js +1 -0
  45. package/dist/hooks/useErrorHandler.js.map +1 -0
  46. package/dist/index.d.ts +1 -0
  47. package/dist/index.d.ts.map +1 -0
  48. package/dist/index.js +1 -0
  49. package/dist/index.js.map +1 -0
  50. package/dist/types.d.ts +165 -17
  51. package/dist/types.d.ts.map +1 -0
  52. package/dist/types.js +18 -1
  53. package/dist/types.js.map +1 -0
  54. package/dist/utils.d.ts +7 -0
  55. package/dist/utils.d.ts.map +1 -0
  56. package/dist/utils.js +91 -25
  57. package/dist/utils.js.map +1 -0
  58. package/dist/validation.d.ts +16 -1
  59. package/dist/validation.d.ts.map +1 -0
  60. package/dist/validation.js +61 -1
  61. package/dist/validation.js.map +1 -0
  62. package/package.json +56 -56
@@ -59,6 +59,39 @@ export const validators = {
59
59
  return `Heslo musí mít alespoň ${APP_CONFIG.MIN_PASSWORD_LENGTH} znaků`;
60
60
  }
61
61
  return null;
62
+ },
63
+ kioskId: (value) => {
64
+ if (value === null || value === undefined)
65
+ return null;
66
+ if (!Number.isInteger(value) || value <= 0) {
67
+ return 'Kiosk ID musí být kladné celé číslo';
68
+ }
69
+ return null;
70
+ },
71
+ quantity: (value, fieldName = 'Množství') => {
72
+ if (value === null || value === undefined)
73
+ return null;
74
+ if (!Number.isInteger(value) || value < 0) {
75
+ return `${fieldName} musí být nezáporné celé číslo`;
76
+ }
77
+ return null;
78
+ },
79
+ price: (value, fieldName = 'Cena') => {
80
+ if (value === null || value === undefined)
81
+ return null;
82
+ if (isNaN(value) || value <= 0) {
83
+ return `${fieldName} musí být kladné číslo`;
84
+ }
85
+ // Check for reasonable price range (0.01 to 999999.99)
86
+ if (value < 0.01 || value > 999999.99) {
87
+ return `${fieldName} musí být v rozsahu 0,01 - 999 999,99 Kč`;
88
+ }
89
+ // Check for precision (max 2 decimal places)
90
+ const rounded = Math.round(value * 100) / 100;
91
+ if (Math.abs(value - rounded) > 0.001) {
92
+ return `${fieldName} může mít maximálně 2 desetinná místa`;
93
+ }
94
+ return null;
62
95
  }
63
96
  };
64
97
  export const validateSchema = (data, schema) => {
@@ -104,10 +137,37 @@ export const validationSchemas = {
104
137
  ],
105
138
  price: [
106
139
  (value) => validators.required(value),
107
- (value) => validators.positiveNumber(value, 'Cena')
140
+ validators.price
108
141
  ],
109
142
  description: [
110
143
  (value) => validators.maxLength(value, APP_CONFIG.MAX_DESCRIPTION_LENGTH, 'Popis')
111
144
  ]
145
+ },
146
+ kioskId: {
147
+ kioskId: [
148
+ (value) => validators.required(value),
149
+ validators.kioskId
150
+ ]
151
+ },
152
+ inventory: {
153
+ quantityInStock: [
154
+ (value) => validators.required(value),
155
+ validators.quantity
156
+ ]
157
+ },
158
+ payment: {
159
+ productId: [
160
+ (value) => validators.required(value),
161
+ (value) => validators.positiveNumber(value, 'ID produktu')
162
+ ],
163
+ kioskId: [
164
+ (value) => validators.required(value),
165
+ validators.kioskId
166
+ ],
167
+ amount: [
168
+ (value) => validators.required(value),
169
+ validators.price
170
+ ]
112
171
  }
113
172
  };
173
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,56 +1,56 @@
1
- {
2
- "name": "pi-kiosk-shared",
3
- "version": "2.1.0",
4
- "private": false,
5
- "description": "Shared components and utilities for Pi Kiosk system",
6
- "keywords": [
7
- "kiosk",
8
- "react",
9
- "typescript",
10
- "components"
11
- ],
12
- "author": "tehacko@seznam.cz",
13
- "license": "MIT",
14
- "repository": {
15
- "type": "git",
16
- "url": "https://github.com/tehacko/pi-kiosk-shared"
17
- },
18
- "main": "dist/index.js",
19
- "module": "dist/index.js",
20
- "types": "dist/index.d.ts",
21
- "exports": {
22
- ".": {
23
- "import": "./dist/index.js",
24
- "require": "./dist/index.js",
25
- "types": "./dist/index.d.ts"
26
- }
27
- },
28
- "scripts": {
29
- "build": "tsc",
30
- "dev": "tsc --watch",
31
- "test": "jest",
32
- "test:watch": "jest --watch",
33
- "test:coverage": "jest --coverage",
34
- "clean": "rimraf dist",
35
- "publish:local": "npm run build && npm pack --pack-destination ../",
36
- "prepublishOnly": "npm run build",
37
- "preversion": "npm run test",
38
- "postversion": "git push && git push --tags"
39
- },
40
- "files": [
41
- "dist",
42
- "README.md"
43
- ],
44
- "dependencies": {
45
- "react": "^18.2.0"
46
- },
47
- "devDependencies": {
48
- "typescript": "^5.0.0",
49
- "@types/jest": "^29.5.0",
50
- "@types/node": "^20.0.0",
51
- "@types/react": "^18.2.0",
52
- "jest": "^29.5.0",
53
- "ts-jest": "^29.1.0",
54
- "rimraf": "^5.0.0"
55
- }
56
- }
1
+ {
2
+ "name": "pi-kiosk-shared",
3
+ "version": "2.1.3",
4
+ "private": false,
5
+ "description": "Shared components and utilities for Pi Kiosk system",
6
+ "keywords": [
7
+ "kiosk",
8
+ "react",
9
+ "typescript",
10
+ "components"
11
+ ],
12
+ "author": "tehacko@seznam.cz",
13
+ "license": "MIT",
14
+ "repository": {
15
+ "type": "git",
16
+ "url": "https://github.com/tehacko/pi-kiosk-shared"
17
+ },
18
+ "main": "dist/index.js",
19
+ "module": "dist/index.js",
20
+ "types": "dist/index.d.ts",
21
+ "exports": {
22
+ ".": {
23
+ "import": "./dist/index.js",
24
+ "require": "./dist/index.js",
25
+ "types": "./dist/index.d.ts"
26
+ }
27
+ },
28
+ "scripts": {
29
+ "build": "tsc",
30
+ "dev": "tsc --watch",
31
+ "test": "jest --config jest.config.cjs",
32
+ "test:watch": "jest --config jest.config.cjs --watch",
33
+ "test:coverage": "jest --config jest.config.cjs --coverage",
34
+ "clean": "rimraf dist",
35
+ "publish:local": "npm run build && npm pack --pack-destination ../",
36
+ "prepublishOnly": "npm run build",
37
+ "preversion": "npm run test",
38
+ "postversion": "git push && git push --tags"
39
+ },
40
+ "files": [
41
+ "dist",
42
+ "README.md"
43
+ ],
44
+ "dependencies": {
45
+ "react": "^18.2.0"
46
+ },
47
+ "devDependencies": {
48
+ "typescript": "^5.0.0",
49
+ "@types/jest": "^29.5.0",
50
+ "@types/node": "^20.0.0",
51
+ "@types/react": "^18.2.0",
52
+ "jest": "^29.5.0",
53
+ "ts-jest": "^29.1.0",
54
+ "rimraf": "^5.0.0"
55
+ }
56
+ }