@final-commerce/command-frame 0.3.2-preprod.1 → 0.4.1-preprod.1

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 (36) hide show
  1. package/README.md +47 -50
  2. package/dist/actions/apply-transition/mock.d.ts +1 -1
  3. package/dist/actions/apply-transition/mock.js +8 -18
  4. package/dist/actions/apply-transition/types.d.ts +6 -4
  5. package/dist/actions/extension-payment/types.d.ts +2 -2
  6. package/dist/actions/get-available-transitions/mock.d.ts +5 -3
  7. package/dist/actions/get-available-transitions/mock.js +24 -12
  8. package/dist/actions/get-refund-plan/action.d.ts +6 -0
  9. package/dist/actions/get-refund-plan/action.js +8 -0
  10. package/dist/actions/get-refund-plan/mock.d.ts +14 -0
  11. package/dist/actions/get-refund-plan/mock.js +59 -0
  12. package/dist/actions/get-refund-plan/types.d.ts +32 -0
  13. package/dist/actions/get-refund-plan/types.js +7 -0
  14. package/dist/actions/integration-payment/types.d.ts +2 -0
  15. package/dist/actions/partial-payment/types.d.ts +2 -2
  16. package/dist/actions/process-partial-refund/mock.js +9 -1
  17. package/dist/actions/process-partial-refund/types.d.ts +99 -1
  18. package/dist/actions/redeem-payment/types.d.ts +2 -0
  19. package/dist/actions/redeem-refund/action.d.ts +6 -0
  20. package/dist/actions/redeem-refund/action.js +8 -0
  21. package/dist/actions/redeem-refund/mock.d.ts +2 -0
  22. package/dist/actions/redeem-refund/mock.js +59 -0
  23. package/dist/actions/redeem-refund/types.d.ts +39 -0
  24. package/dist/actions/redeem-refund/types.js +2 -0
  25. package/dist/actions/terminal-payment/types.d.ts +3 -3
  26. package/dist/demo/database.d.ts +2 -2
  27. package/dist/demo/database.js +271 -264
  28. package/dist/index.d.ts +4 -0
  29. package/dist/index.js +4 -0
  30. package/dist/projects/render/mocks.js +6 -0
  31. package/dist/projects/render/types.d.ts +4 -1
  32. package/dist/pubsub/topics/orders/index.d.ts +2 -2
  33. package/dist/pubsub/topics/orders/index.js +27 -27
  34. package/dist/pubsub/topics/orders/types.d.ts +15 -15
  35. package/dist/pubsub/topics/orders/types.js +7 -7
  36. package/package.json +1 -1
@@ -2,11 +2,11 @@
2
2
  * Mock Database for Standalone/Demo Mode
3
3
  * Stores mock data that mimics the Render environment
4
4
  */
5
- import { CFProductType, CFUserTypes, CurrencyCode } from "../CommonTypes";
6
- export * from "./mocks";
5
+ import { CFProductType, CFUserTypes, CurrencyCode, } from '../CommonTypes';
6
+ export * from './mocks';
7
7
  // Asset Imports - Using Remote URLs to avoid build complexity with asset copying
8
- const ASSETS_BASE_URL = "https://raw.githubusercontent.com/Final-Commerce/command-frame/refs/heads/main/src/demo/assets";
9
- const logo = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA5OCAxMDQiIGZpbGw9Im5vbmUiPjxwYXRoIGQ9Ik01NS4yOTk4IDUwLjE2NjJMMzcuNzQyMiA0MC4wMjkzTDMxLjcyNzQgNTAuNDQ3MkwzOC45MjQyIDU0LjYwMjJMNTUuMjk5OCA1MC4xNjYyWiIgZmlsbD0iI0E1NjhCQyIvPjxwYXRoIGQ9Ik0zMS45OTYzIDcwLjQ1MDZMNDkuNTU2OCA4MC41ODkxTDU1LjU3MTUgNzAuMTcxM0w0OC4zNzE4IDY2LjAxNDVMMzEuOTk2MyA3MC40NTA2WiIgZmlsbD0iI0E1NjhCQyIvPjxwYXRoIGQ9Ik0zNi4zNTQyIDM0LjI1NzJDMzYuMzU0MiAzNC4yNTcyIDM2LjM1ODMgMzQuMjYzNSAzNi4zNTY3IDM0LjI2NjRDMzcuMTg2OSAzNC4wNjk3IDM4LjA5MTkgMzQuMTU5NiAzOC44ODUxIDM0LjYxNzVMNjIuNjQ4NiA0OC4zMzc0TDU0LjE3MjkgMjkuOTA0OUwzNi4zNDk2IDM0LjI1ODRMMzYuMzU0MiAzNC4yNTcyWiIgZmlsbD0iI0ZDODc1MyIvPjxwYXRoIGQ9Ik0zMy4wOTg4IDE4Ljk1MDdMMzYuMzc3MiAzNC4yNDczTDE4Ljc1MjUgMzkuMzM3M0wyOC45MzcxIDIxLjY5N0MyOS44NDUzIDIwLjEyMzkgMzEuNDE1MiAxOS4xNzYxIDMzLjA5ODggMTguOTUwN1oiIGZpbGw9IiM0MkQzQTkiLz48cGF0aCBkPSJNMTguNzUzMiAzOS4zNDA2TDIwLjY4MjQgNTkuNTE3MUw0LjU3NjA3IDYzLjg5NjJMMTguNzUzMiAzOS4zNDA2WiIgZmlsbD0iIzI3OTdFOCIvPjxwYXRoIGQ9Ik0zNi4zNzc5IDM0LjI0MDNDMzYuMzc3OSAzNC4yNDAzIDM2LjM3NzQgMzQuMjQ3OCAzNi4zODAzIDM0LjI0OTVDMzUuNTYyNCAzNC40OTE5IDM0LjgyMzkgMzUuMDE5NiAzNC4zNjczIDM1LjgxMDVMMjAuNjg2OSA1OS41MDU2TDE4Ljc1NzcgMzkuMzI5MUwzNi4zODI0IDM0LjIzOTFMMzYuMzc3OSAzNC4yNDAzWiIgZmlsbD0iIzFEQkFDQiIvPjxwYXRoIGQ9Ik01NS45MzUyIDEwMS41NDNMNTEuMDgxOSA4Ni42NjU5TDMzLjI1ODcgOTEuMDE5NEw1MC45NDk5IDEwMS4yMzNDNTIuNTI3NiAxMDIuMTQ0IDU0LjM2MzggMTAyLjE4NSA1NS45MzUyIDEwMS41NDNaIiBmaWxsPSIjRkQ1MjYzIi8+PHBhdGggZD0iTTMzLjI1NDkgOTEuMDE0TDI0Ljc4MjEgNzIuNTgzMkw4LjYzMTM1IDc2Ljc5NzVMMzMuMjU0OSA5MS4wMTRaIiBmaWxsPSIjRkZDRjIzIi8+PHBhdGggZD0iTTUxLjA3OSA4Ni42NjM5QzUxLjA3OSA4Ni42NjM5IDUxLjA3NDkgODYuNjU3NiA1MS4wNzY2IDg2LjY1NDdDNTAuMjQ2NCA4Ni44NTE0IDQ5LjM0MTQgODYuNzYxNSA0OC41NDgyIDg2LjMwMzZMMjQuNzg0NiA3Mi41ODM3TDMzLjI2MDQgOTEuMDE2MUw1MS4wODM2IDg2LjY2MjdMNTEuMDc5IDg2LjY2MzlaIiBmaWxsPSIjRkM4NzUzIi8+PHBhdGggZD0iTTU0LjMzNDIgMTAxLjk2OUw1MS4wNTU4IDg2LjY3MjRMNjguNjgwNSA4MS41ODI0TDU4LjQ5NTkgOTkuMjIyN0M1Ny41ODc3IDEwMC43OTYgNTYuMDE3OCAxMDEuNzQ0IDU0LjMzNDIgMTAxLjk2OVoiIGZpbGw9IiM0MkQzQTkiLz48cGF0aCBkPSJNNjguNjgwMSA4MS41ODk5TDY2Ljc0OTMgNjEuNDE2Mkw4Mi44NTU2IDU3LjAzNzJMNjguNjgwMSA4MS41ODk5WiIgZmlsbD0iIzI3OTdFOCIvPjxwYXRoIGQ9Ik01MS4wNTU3IDg2LjY3ODZDNTEuMDU1NyA4Ni42Nzg2IDUxLjA1NjIgODYuNjcxMSA1MS4wNTMyIDg2LjY2OTVDNTEuODcxMSA4Ni40MjcxIDUyLjYwOTcgODUuODk5NCA1My4wNjYzIDg1LjEwODVMNjYuNzQ2NyA2MS40MTMzTDY4LjY3NTkgODEuNTg5OEw1MS4wNTExIDg2LjY3OThMNTEuMDU1NyA4Ni42Nzg2WiIgZmlsbD0iIzFEQkFDQiIvPjxwYXRoIGQ9Ik00Ny44OTQ5IDI2LjI3NjhDNDcuODc4IDI2LjM1OTcgNDcuODUyIDI2LjQ0NTEgNDcuODA2OCAyNi41MjM0TDQ3LjYyNzggMjYuODMzM0M0Ni43ODY1IDI4LjI5MDYgNDQuOTIzMiAyOC43ODY5IDQzLjQ2MTggMjcuOTQzMkM0Mi4wMDA0IDI3LjA5OTQgNDEuNDk4NiAyNS4yMzc2IDQyLjMzOTkgMjMuNzgwNEw0Mi41MTg5IDIzLjQ3MDRDNDIuNTY0MSAyMy4zOTIyIDQyLjYyNSAyMy4zMjY5IDQyLjY4ODQgMjMuMjcwOEwzNi40ODUzIDE5LjY4OTRDMzQuOTA3NiAxOC43Nzg2IDMzLjA3MTQgMTguNzM4MiAzMS41IDE5LjM3OTlMMzYuMzUzMyAzNC4yNTY5TDU0LjE3NjUgMjkuOTAzNUw0Ny44OTQ5IDI2LjI3NjhaIiBmaWxsPSIjRkQ1MjYzIi8+PHBhdGggZD0iTTc1LjYzODYgNDIuMzAyN0M3NS42MjE3IDQyLjM4NTcgNzUuNTk1NiA0Mi40NzExIDc1LjU1MDUgNDIuNTQ5M0w3NS4zNzE1IDQyLjg1OTNDNzQuNTMwMiA0NC4zMTY1IDcyLjY2NjkgNDQuODEyOSA3MS4yMDU0IDQzLjk2OTFDNjkuNzQ0IDQzLjEyNTQgNjkuMjQyMyA0MS4yNjM2IDcwLjA4MzYgMzkuODA2M0w3MC4yNjI2IDM5LjQ5NjNDNzAuMzA3NyAzOS40MTgxIDcwLjM2ODYgMzkuMzUyOSA3MC40MzIgMzkuMjk2N0w1NC4xNzYxIDI5LjkxMTRMNjIuNjUxOSA0OC4zNDM5TDc4LjgwMjYgNDQuMTI5NUw3NS42NDE1IDQyLjMwNDRMNzUuNjM4NiA0Mi4zMDI3WiIgZmlsbD0iI0ZGQ0YyMyIvPjxwYXRoIGQ9Ik03NS42MDU4IDQwLjgyMTlMNzUuNjQ0MiA0MC43NTUyQzc4LjE0ODEgMzYuNDE4MyA3OC42NDY1IDMxLjQ0ODggNzcuNDMwOSAyNi45MzgzQzc2LjIxNTMgMjIuNDI3OCA3My4yODQ3IDE4LjM3MTggNjguOTM1MiAxNS44NjA3QzY0LjU4NTggMTMuMzQ5NSA1OS42MDc5IDEyLjgzOTUgNTUuMDkzOSAxNC4wNDJDNTAuNTc5OSAxNS4yNDQ2IDQ2LjUyNTMgMTguMTYwOSA0NC4wMjE0IDIyLjQ5NzhMNDIuOTkxMSAyNC4yODI0QzQyLjM3MzkgMjUuMzUxNCA0Mi43NDQyIDI2LjcxNjMgNDMuODEzNCAyNy4zMzM2QzQ0Ljg4MjYgMjcuOTUwOSA0Ni4yNTE0IDI3LjU4NjIgNDYuODY2OSAyNi41MjAxTDQ3Ljg5NzMgMjQuNzM1NUM0OS43ODU3IDIxLjQ2NDcgNTIuODQ0MSAxOS4yNjczIDU2LjI1NDggMTguMzU4N0M1OS42NjU0IDE3LjQ1MDEgNjMuNDE5MSAxNy44MzI3IDY2LjY5OTQgMTkuNzI2NkM2OS45Nzk2IDIxLjYyMDQgNzIuMTg3OSAyNC42Nzk5IDczLjEwNjMgMjguMDg3OUM3NC4wMjQ4IDMxLjQ5NiA3My42NTEgMzUuMjQzNCA3MS43NjI2IDM4LjUxNDFMNzEuNzI0MSAzOC41ODA4TDcwLjczMzkgNDAuMjk1OEM3MC4xMTY3IDQxLjM2NDkgNzAuNDg3IDQyLjcyOTcgNzEuNTU2MiA0My4zNDdDNzIuNjI1NCA0My45NjQ0IDczLjk5NDIgNDMuNTk5NyA3NC42MDk4IDQyLjUzMzZMNzUuNTk5OSA0MC44MTg1TDc1LjYwNTggNDAuODIxOVoiIGZpbGw9IiMzRDRDNjYiLz48L3N2Zz4="; // crisp vector mark (was logo.png — pixelated when scaled)
8
+ const ASSETS_BASE_URL = 'https://raw.githubusercontent.com/Final-Commerce/command-frame/refs/heads/main/src/demo/assets';
9
+ const logo = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA5OCAxMDQiIGZpbGw9Im5vbmUiPjxwYXRoIGQ9Ik01NS4yOTk4IDUwLjE2NjJMMzcuNzQyMiA0MC4wMjkzTDMxLjcyNzQgNTAuNDQ3MkwzOC45MjQyIDU0LjYwMjJMNTUuMjk5OCA1MC4xNjYyWiIgZmlsbD0iI0E1NjhCQyIvPjxwYXRoIGQ9Ik0zMS45OTYzIDcwLjQ1MDZMNDkuNTU2OCA4MC41ODkxTDU1LjU3MTUgNzAuMTcxM0w0OC4zNzE4IDY2LjAxNDVMMzEuOTk2MyA3MC40NTA2WiIgZmlsbD0iI0E1NjhCQyIvPjxwYXRoIGQ9Ik0zNi4zNTQyIDM0LjI1NzJDMzYuMzU0MiAzNC4yNTcyIDM2LjM1ODMgMzQuMjYzNSAzNi4zNTY3IDM0LjI2NjRDMzcuMTg2OSAzNC4wNjk3IDM4LjA5MTkgMzQuMTU5NiAzOC44ODUxIDM0LjYxNzVMNjIuNjQ4NiA0OC4zMzc0TDU0LjE3MjkgMjkuOTA0OUwzNi4zNDk2IDM0LjI1ODRMMzYuMzU0MiAzNC4yNTcyWiIgZmlsbD0iI0ZDODc1MyIvPjxwYXRoIGQ9Ik0zMy4wOTg4IDE4Ljk1MDdMMzYuMzc3MiAzNC4yNDczTDE4Ljc1MjUgMzkuMzM3M0wyOC45MzcxIDIxLjY5N0MyOS44NDUzIDIwLjEyMzkgMzEuNDE1MiAxOS4xNzYxIDMzLjA5ODggMTguOTUwN1oiIGZpbGw9IiM0MkQzQTkiLz48cGF0aCBkPSJNMTguNzUzMiAzOS4zNDA2TDIwLjY4MjQgNTkuNTE3MUw0LjU3NjA3IDYzLjg5NjJMMTguNzUzMiAzOS4zNDA2WiIgZmlsbD0iIzI3OTdFOCIvPjxwYXRoIGQ9Ik0zNi4zNzc5IDM0LjI0MDNDMzYuMzc3OSAzNC4yNDAzIDM2LjM3NzQgMzQuMjQ3OCAzNi4zODAzIDM0LjI0OTVDMzUuNTYyNCAzNC40OTE5IDM0LjgyMzkgMzUuMDE5NiAzNC4zNjczIDM1LjgxMDVMMjAuNjg2OSA1OS41MDU2TDE4Ljc1NzcgMzkuMzI5MUwzNi4zODI0IDM0LjIzOTFMMzYuMzc3OSAzNC4yNDAzWiIgZmlsbD0iIzFEQkFDQiIvPjxwYXRoIGQ9Ik01NS45MzUyIDEwMS41NDNMNTEuMDgxOSA4Ni42NjU5TDMzLjI1ODcgOTEuMDE5NEw1MC45NDk5IDEwMS4yMzNDNTIuNTI3NiAxMDIuMTQ0IDU0LjM2MzggMTAyLjE4NSA1NS45MzUyIDEwMS41NDNaIiBmaWxsPSIjRkQ1MjYzIi8+PHBhdGggZD0iTTMzLjI1NDkgOTEuMDE0TDI0Ljc4MjEgNzIuNTgzMkw4LjYzMTM1IDc2Ljc5NzVMMzMuMjU0OSA5MS4wMTRaIiBmaWxsPSIjRkZDRjIzIi8+PHBhdGggZD0iTTUxLjA3OSA4Ni42NjM5QzUxLjA3OSA4Ni42NjM5IDUxLjA3NDkgODYuNjU3NiA1MS4wNzY2IDg2LjY1NDdDNTAuMjQ2NCA4Ni44NTE0IDQ5LjM0MTQgODYuNzYxNSA0OC41NDgyIDg2LjMwMzZMMjQuNzg0NiA3Mi41ODM3TDMzLjI2MDQgOTEuMDE2MUw1MS4wODM2IDg2LjY2MjdMNTEuMDc5IDg2LjY2MzlaIiBmaWxsPSIjRkM4NzUzIi8+PHBhdGggZD0iTTU0LjMzNDIgMTAxLjk2OUw1MS4wNTU4IDg2LjY3MjRMNjguNjgwNSA4MS41ODI0TDU4LjQ5NTkgOTkuMjIyN0M1Ny41ODc3IDEwMC43OTYgNTYuMDE3OCAxMDEuNzQ0IDU0LjMzNDIgMTAxLjk2OVoiIGZpbGw9IiM0MkQzQTkiLz48cGF0aCBkPSJNNjguNjgwMSA4MS41ODk5TDY2Ljc0OTMgNjEuNDE2Mkw4Mi44NTU2IDU3LjAzNzJMNjguNjgwMSA4MS41ODk5WiIgZmlsbD0iIzI3OTdFOCIvPjxwYXRoIGQ9Ik01MS4wNTU3IDg2LjY3ODZDNTEuMDU1NyA4Ni42Nzg2IDUxLjA1NjIgODYuNjcxMSA1MS4wNTMyIDg2LjY2OTVDNTEuODcxMSA4Ni40MjcxIDUyLjYwOTcgODUuODk5NCA1My4wNjYzIDg1LjEwODVMNjYuNzQ2NyA2MS40MTMzTDY4LjY3NTkgODEuNTg5OEw1MS4wNTExIDg2LjY3OThMNTEuMDU1NyA4Ni42Nzg2WiIgZmlsbD0iIzFEQkFDQiIvPjxwYXRoIGQ9Ik00Ny44OTQ5IDI2LjI3NjhDNDcuODc4IDI2LjM1OTcgNDcuODUyIDI2LjQ0NTEgNDcuODA2OCAyNi41MjM0TDQ3LjYyNzggMjYuODMzM0M0Ni43ODY1IDI4LjI5MDYgNDQuOTIzMiAyOC43ODY5IDQzLjQ2MTggMjcuOTQzMkM0Mi4wMDA0IDI3LjA5OTQgNDEuNDk4NiAyNS4yMzc2IDQyLjMzOTkgMjMuNzgwNEw0Mi41MTg5IDIzLjQ3MDRDNDIuNTY0MSAyMy4zOTIyIDQyLjYyNSAyMy4zMjY5IDQyLjY4ODQgMjMuMjcwOEwzNi40ODUzIDE5LjY4OTRDMzQuOTA3NiAxOC43Nzg2IDMzLjA3MTQgMTguNzM4MiAzMS41IDE5LjM3OTlMMzYuMzUzMyAzNC4yNTY5TDU0LjE3NjUgMjkuOTAzNUw0Ny44OTQ5IDI2LjI3NjhaIiBmaWxsPSIjRkQ1MjYzIi8+PHBhdGggZD0iTTc1LjYzODYgNDIuMzAyN0M3NS42MjE3IDQyLjM4NTcgNzUuNTk1NiA0Mi40NzExIDc1LjU1MDUgNDIuNTQ5M0w3NS4zNzE1IDQyLjg1OTNDNzQuNTMwMiA0NC4zMTY1IDcyLjY2NjkgNDQuODEyOSA3MS4yMDU0IDQzLjk2OTFDNjkuNzQ0IDQzLjEyNTQgNjkuMjQyMyA0MS4yNjM2IDcwLjA4MzYgMzkuODA2M0w3MC4yNjI2IDM5LjQ5NjNDNzAuMzA3NyAzOS40MTgxIDcwLjM2ODYgMzkuMzUyOSA3MC40MzIgMzkuMjk2N0w1NC4xNzYxIDI5LjkxMTRMNjIuNjUxOSA0OC4zNDM5TDc4LjgwMjYgNDQuMTI5NUw3NS42NDE1IDQyLjMwNDRMNzUuNjM4NiA0Mi4zMDI3WiIgZmlsbD0iI0ZGQ0YyMyIvPjxwYXRoIGQ9Ik03NS42MDU4IDQwLjgyMTlMNzUuNjQ0MiA0MC43NTUyQzc4LjE0ODEgMzYuNDE4MyA3OC42NDY1IDMxLjQ0ODggNzcuNDMwOSAyNi45MzgzQzc2LjIxNTMgMjIuNDI3OCA3My4yODQ3IDE4LjM3MTggNjguOTM1MiAxNS44NjA3QzY0LjU4NTggMTMuMzQ5NSA1OS42MDc5IDEyLjgzOTUgNTUuMDkzOSAxNC4wNDJDNTAuNTc5OSAxNS4yNDQ2IDQ2LjUyNTMgMTguMTYwOSA0NC4wMjE0IDIyLjQ5NzhMNDIuOTkxMSAyNC4yODI0QzQyLjM3MzkgMjUuMzUxNCA0Mi43NDQyIDI2LjcxNjMgNDMuODEzNCAyNy4zMzM2QzQ0Ljg4MjYgMjcuOTUwOSA0Ni4yNTE0IDI3LjU4NjIgNDYuODY2OSAyNi41MjAxTDQ3Ljg5NzMgMjQuNzM1NUM0OS43ODU3IDIxLjQ2NDcgNTIuODQ0MSAxOS4yNjczIDU2LjI1NDggMTguMzU4N0M1OS42NjU0IDE3LjQ1MDEgNjMuNDE5MSAxNy44MzI3IDY2LjY5OTQgMTkuNzI2NkM2OS45Nzk2IDIxLjYyMDQgNzIuMTg3OSAyNC42Nzk5IDczLjEwNjMgMjguMDg3OUM3NC4wMjQ4IDMxLjQ5NiA3My42NTEgMzUuMjQzNCA3MS43NjI2IDM4LjUxNDFMNzEuNzI0MSAzOC41ODA4TDcwLjczMzkgNDAuMjk1OEM3MC4xMTY3IDQxLjM2NDkgNzAuNDg3IDQyLjcyOTcgNzEuNTU2MiA0My4zNDdDNzIuNjI1NCA0My45NjQ0IDczLjk5NDIgNDMuNTk5NyA3NC42MDk4IDQyLjUzMzZMNzUuNTk5OSA0MC44MTg1TDc1LjYwNTggNDAuODIxOVoiIGZpbGw9IiMzRDRDNjYiLz48L3N2Zz4='; // crisp vector mark (was logo.png — pixelated when scaled)
10
10
  const basilAlmondImg = `${ASSETS_BASE_URL}/basil-almond-paste.png`;
11
11
  const beerImg = `${ASSETS_BASE_URL}/beer-paste.png`;
12
12
  const beetImg = `${ASSETS_BASE_URL}/beet-paste.png`;
@@ -19,57 +19,57 @@ const redPepperImg = `${ASSETS_BASE_URL}/red-pepper-paste.png`;
19
19
  const roastedTomatoImg = `${ASSETS_BASE_URL}/roasted-tomato-paste.png`;
20
20
  // --- COMPANY ---
21
21
  export const MOCK_COMPANY = {
22
- id: "comp_paste_demo",
23
- name: "Paste Demo Company",
22
+ id: 'comp_paste_demo',
23
+ name: 'Paste Demo Company',
24
24
  logo: logo,
25
25
  settings: {
26
- currencyPrefix: "$",
27
- currencySuffix: "",
26
+ currencyPrefix: '$',
27
+ currencySuffix: '',
28
28
  minorUnits: 2,
29
- currencySymbol: "$",
30
- decimalSeparator: ".",
31
- thousandSeparator: ",",
32
- decimals: { $numberInt: "2" }
33
- }
29
+ currencySymbol: '$',
30
+ decimalSeparator: '.',
31
+ thousandSeparator: ',',
32
+ decimals: { $numberInt: '2' },
33
+ },
34
34
  };
35
35
  // --- OUTLETS ---
36
36
  export const MOCK_OUTLET_MAIN = {
37
- id: "outlet_main",
38
- _id: "outlet_main",
39
- name: "Main Kitchen",
40
- address: "123 Pasta Lane",
41
- address2: "Suite 1",
42
- city: "Rome",
43
- state: "RM",
44
- country: "IT",
45
- taxId: "TAX-IT-001",
46
- postCode: "00100",
37
+ id: 'outlet_main',
38
+ _id: 'outlet_main',
39
+ name: 'Main Kitchen',
40
+ address: '123 Pasta Lane',
41
+ address2: 'Suite 1',
42
+ city: 'Rome',
43
+ state: 'RM',
44
+ country: 'IT',
45
+ taxId: 'TAX-IT-001',
46
+ postCode: '00100',
47
47
  sequenceNumber: 1,
48
- stripeAccountId: "acct_paste_main"
48
+ stripeAccountId: 'acct_paste_main',
49
49
  };
50
50
  // --- STATIONS ---
51
51
  export const MOCK_STATION_1 = {
52
- _id: "station_counter_1",
53
- name: "Counter 1",
54
- status: "open",
52
+ _id: 'station_counter_1',
53
+ name: 'Counter 1',
54
+ status: 'open',
55
55
  sequenceNumber: 1,
56
- stripeTerminalId: "tm_1"
56
+ stripeTerminalId: 'tm_1',
57
57
  };
58
58
  export const MOCK_STATION_2 = {
59
- _id: "station_counter_2",
60
- name: "Counter 2",
61
- status: "open",
59
+ _id: 'station_counter_2',
60
+ name: 'Counter 2',
61
+ status: 'open',
62
62
  sequenceNumber: 2,
63
- stripeTerminalId: "tm_2"
63
+ stripeTerminalId: 'tm_2',
64
64
  };
65
65
  // --- SESSION (cash register) ---
66
66
  export const MOCK_SESSION = {
67
- id: "sess_mock_1",
67
+ id: 'sess_mock_1',
68
68
  stationId: MOCK_STATION_1._id,
69
69
  openingAmount: 100,
70
- openedBy: "user_mario",
70
+ openedBy: 'user_mario',
71
71
  currency: CurrencyCode.USD,
72
- minorUnits: 2
72
+ minorUnits: 2,
73
73
  };
74
74
  // --- ACTIVE REFUND DETAILS (refund UI state) ---
75
75
  export const MOCK_ACTIVE_REFUND_DETAILS = {
@@ -78,139 +78,139 @@ export const MOCK_ACTIVE_REFUND_DETAILS = {
78
78
  refundAmounts: {},
79
79
  currentRefundTotal: 0,
80
80
  amountRemaining: null,
81
- isRefund: true
81
+ isRefund: true,
82
82
  };
83
83
  // --- USERS ---
84
84
  export const MOCK_USER_MARIO = {
85
- id: "user_mario",
86
- firstName: "Mario",
87
- lastName: "Demoji",
85
+ id: 'user_mario',
86
+ firstName: 'Mario',
87
+ lastName: 'Demoji',
88
88
  type: CFUserTypes.MANAGER,
89
89
  role: {
90
- id: "role_manager",
91
- name: "Manager",
92
- permissions: []
90
+ id: 'role_manager',
91
+ name: 'Manager',
92
+ permissions: [],
93
93
  },
94
94
  outlets: [MOCK_OUTLET_MAIN.id],
95
- companies: [MOCK_COMPANY.id]
95
+ companies: [MOCK_COMPANY.id],
96
96
  };
97
97
  export const MOCK_USER_LUIGI = {
98
- id: "user_luigi",
99
- firstName: "Luigi",
100
- lastName: "Demoji",
98
+ id: 'user_luigi',
99
+ firstName: 'Luigi',
100
+ lastName: 'Demoji',
101
101
  type: CFUserTypes.CASHIER,
102
102
  role: {
103
- id: "role_cashier",
104
- name: "Cashier",
105
- permissions: []
103
+ id: 'role_cashier',
104
+ name: 'Cashier',
105
+ permissions: [],
106
106
  },
107
107
  outlets: [MOCK_OUTLET_MAIN.id],
108
- companies: [MOCK_COMPANY.id]
108
+ companies: [MOCK_COMPANY.id],
109
109
  };
110
110
  // --- CUSTOMERS ---
111
111
  export const MOCK_CUSTOMER_1 = {
112
- _id: "cust_giuseppe",
112
+ _id: 'cust_giuseppe',
113
113
  companyId: MOCK_COMPANY.id,
114
- email: "giuseppe@example.com",
115
- firstName: "Giuseppe",
116
- lastName: "Verdi",
117
- phone: "555-0101",
114
+ email: 'giuseppe@example.com',
115
+ firstName: 'Giuseppe',
116
+ lastName: 'Verdi',
117
+ phone: '555-0101',
118
118
  billing: {
119
- firstName: "Giuseppe",
120
- lastName: "Verdi",
121
- address1: "Via Roma 1",
122
- address2: "",
123
- city: "Milano",
124
- postCode: "20100",
125
- country: "IT"
119
+ firstName: 'Giuseppe',
120
+ lastName: 'Verdi',
121
+ address1: 'Via Roma 1',
122
+ address2: '',
123
+ city: 'Milano',
124
+ postCode: '20100',
125
+ country: 'IT',
126
126
  },
127
- shipping: null
127
+ shipping: null,
128
128
  };
129
129
  export const MOCK_CUSTOMER_2 = {
130
- _id: "cust_sofia",
130
+ _id: 'cust_sofia',
131
131
  companyId: MOCK_COMPANY.id,
132
- email: "sofia@example.com",
133
- firstName: "Sofia",
134
- lastName: "Loren",
135
- phone: "555-0102",
132
+ email: 'sofia@example.com',
133
+ firstName: 'Sofia',
134
+ lastName: 'Loren',
135
+ phone: '555-0102',
136
136
  billing: null,
137
- shipping: null
137
+ shipping: null,
138
138
  };
139
139
  export const MOCK_CUSTOMER_3 = {
140
- _id: "cust_alessandro",
140
+ _id: 'cust_alessandro',
141
141
  companyId: MOCK_COMPANY.id,
142
- email: "alessandro@example.com",
143
- firstName: "Alessandro",
144
- lastName: "Volta",
145
- phone: "555-0103",
142
+ email: 'alessandro@example.com',
143
+ firstName: 'Alessandro',
144
+ lastName: 'Volta',
145
+ phone: '555-0103',
146
146
  billing: null,
147
- shipping: null
147
+ shipping: null,
148
148
  };
149
149
  export const MOCK_CUSTOMER_4 = {
150
- _id: "cust_isabella",
150
+ _id: 'cust_isabella',
151
151
  companyId: MOCK_COMPANY.id,
152
- email: "isabella@example.com",
153
- firstName: "Isabella",
154
- lastName: "Rossellini",
155
- phone: "555-0104",
152
+ email: 'isabella@example.com',
153
+ firstName: 'Isabella',
154
+ lastName: 'Rossellini',
155
+ phone: '555-0104',
156
156
  billing: null,
157
- shipping: null
157
+ shipping: null,
158
158
  };
159
159
  export const MOCK_CUSTOMER_5 = {
160
- _id: "cust_leonardo",
160
+ _id: 'cust_leonardo',
161
161
  companyId: MOCK_COMPANY.id,
162
- email: "leonardo@example.com",
163
- firstName: "Leonardo",
164
- lastName: "Da Vinci",
165
- phone: "555-0105",
162
+ email: 'leonardo@example.com',
163
+ firstName: 'Leonardo',
164
+ lastName: 'Da Vinci',
165
+ phone: '555-0105',
166
166
  billing: null,
167
- shipping: null
167
+ shipping: null,
168
168
  };
169
169
  // --- CATEGORIES ---
170
170
  export const MOCK_CATEGORY_PASTES = {
171
- id: "cat_pastes",
172
- createdAt: "2024-01-01T00:00:00.000Z",
173
- updatedAt: "2024-01-01T00:00:00.000Z",
174
- name: "Pastes",
175
- externalId: "ext_cat_pastes",
171
+ id: 'cat_pastes',
172
+ createdAt: '2024-01-01T00:00:00.000Z',
173
+ updatedAt: '2024-01-01T00:00:00.000Z',
174
+ name: 'Pastes',
175
+ externalId: 'ext_cat_pastes',
176
176
  companyId: MOCK_COMPANY.id,
177
177
  };
178
178
  export const MOCK_CATEGORY_SPECIALTY = {
179
- id: "cat_specialty",
180
- createdAt: "2024-01-01T00:00:00.000Z",
181
- updatedAt: "2024-01-01T00:00:00.000Z",
182
- name: "Specialty",
183
- externalId: "ext_cat_specialty",
179
+ id: 'cat_specialty',
180
+ createdAt: '2024-01-01T00:00:00.000Z',
181
+ updatedAt: '2024-01-01T00:00:00.000Z',
182
+ name: 'Specialty',
183
+ externalId: 'ext_cat_specialty',
184
184
  companyId: MOCK_COMPANY.id,
185
- parentId: "cat_pastes"
185
+ parentId: 'cat_pastes',
186
186
  };
187
187
  export const MOCK_CATEGORY_BASIC = {
188
- id: "cat_basic",
189
- createdAt: "2024-01-01T00:00:00.000Z",
190
- updatedAt: "2024-01-01T00:00:00.000Z",
191
- name: "Basic",
192
- externalId: "ext_cat_basic",
188
+ id: 'cat_basic',
189
+ createdAt: '2024-01-01T00:00:00.000Z',
190
+ updatedAt: '2024-01-01T00:00:00.000Z',
191
+ name: 'Basic',
192
+ externalId: 'ext_cat_basic',
193
193
  companyId: MOCK_COMPANY.id,
194
- parentId: "cat_pastes"
194
+ parentId: 'cat_pastes',
195
195
  };
196
196
  export const MOCK_CATEGORY_VEGAN = {
197
- id: "cat_vegan",
198
- createdAt: "2024-01-01T00:00:00.000Z",
199
- updatedAt: "2024-01-01T00:00:00.000Z",
200
- name: "Vegan",
201
- externalId: "ext_cat_vegan",
197
+ id: 'cat_vegan',
198
+ createdAt: '2024-01-01T00:00:00.000Z',
199
+ updatedAt: '2024-01-01T00:00:00.000Z',
200
+ name: 'Vegan',
201
+ externalId: 'ext_cat_vegan',
202
202
  companyId: MOCK_COMPANY.id,
203
203
  };
204
204
  export const MOCK_CATEGORY_SPICY = {
205
- id: "cat_spicy",
206
- createdAt: "2024-01-01T00:00:00.000Z",
207
- updatedAt: "2024-01-01T00:00:00.000Z",
208
- name: "Spicy",
209
- externalId: "ext_cat_spicy",
205
+ id: 'cat_spicy',
206
+ createdAt: '2024-01-01T00:00:00.000Z',
207
+ updatedAt: '2024-01-01T00:00:00.000Z',
208
+ name: 'Spicy',
209
+ externalId: 'ext_cat_spicy',
210
210
  companyId: MOCK_COMPANY.id,
211
211
  };
212
212
  // --- PRODUCTS ---
213
- const createInventory = (stock) => [{ warehouse: "main", outletId: MOCK_OUTLET_MAIN.id, stock }];
213
+ const createInventory = (stock) => [{ warehouse: 'main', outletId: MOCK_OUTLET_MAIN.id, stock }];
214
214
  // Helper for Simple Product
215
215
  const createSimpleProduct = (id, name, price, image, categories, description) => {
216
216
  const sku = `SKU-${id.toUpperCase()}`;
@@ -224,12 +224,12 @@ const createSimpleProduct = (id, name, price, image, categories, description) =>
224
224
  minorUnits: 2,
225
225
  minPrice: price,
226
226
  maxPrice: price,
227
- status: "active",
227
+ status: 'active',
228
228
  productType: CFProductType.SIMPLE,
229
- taxTable: "tax_standard",
229
+ taxTable: 'tax_standard',
230
230
  description,
231
231
  images: [image],
232
- categories: categories.map(c => ({ name: c.name, externalId: c.externalId ?? c.id })),
232
+ categories: categories.map((c) => ({ name: c.name, externalId: c.externalId ?? c.id })),
233
233
  attributes: [],
234
234
  variants: [
235
235
  {
@@ -241,9 +241,9 @@ const createSimpleProduct = (id, name, price, image, categories, description) =>
241
241
  manageStock: true,
242
242
  externalId: `ext_${id}_var`,
243
243
  attributes: [],
244
- inventory: createInventory(100)
245
- }
246
- ]
244
+ inventory: createInventory(100),
245
+ },
246
+ ],
247
247
  };
248
248
  };
249
249
  // Helper for Variable Product (Size: Small, Large)
@@ -259,13 +259,13 @@ const createVariableProduct = (id, name, basePrice, largePrice, image, categorie
259
259
  minorUnits: 2,
260
260
  minPrice: basePrice,
261
261
  maxPrice: largePrice,
262
- status: "active",
262
+ status: 'active',
263
263
  productType: CFProductType.VARIABLE,
264
- taxTable: "tax_standard",
264
+ taxTable: 'tax_standard',
265
265
  description,
266
266
  images: [image],
267
- categories: categories.map(c => ({ name: c.name, externalId: c.externalId ?? c.id })),
268
- attributes: [{ name: "Size", values: ["Small", "Large"] }],
267
+ categories: categories.map((c) => ({ name: c.name, externalId: c.externalId ?? c.id })),
268
+ attributes: [{ name: 'Size', values: ['Small', 'Large'] }],
269
269
  variants: [
270
270
  {
271
271
  _id: `${id}_var_small`,
@@ -275,8 +275,8 @@ const createVariableProduct = (id, name, basePrice, largePrice, image, categorie
275
275
  isOnSale: false,
276
276
  manageStock: true,
277
277
  externalId: `ext_${id}_var_s`,
278
- attributes: [{ name: "Size", value: "Small" }],
279
- inventory: createInventory(50)
278
+ attributes: [{ name: 'Size', value: 'Small' }],
279
+ inventory: createInventory(50),
280
280
  },
281
281
  {
282
282
  _id: `${id}_var_large`,
@@ -286,30 +286,30 @@ const createVariableProduct = (id, name, basePrice, largePrice, image, categorie
286
286
  isOnSale: false,
287
287
  manageStock: true,
288
288
  externalId: `ext_${id}_var_l`,
289
- attributes: [{ name: "Size", value: "Large" }],
290
- inventory: createInventory(30)
291
- }
292
- ]
289
+ attributes: [{ name: 'Size', value: 'Large' }],
290
+ inventory: createInventory(30),
291
+ },
292
+ ],
293
293
  };
294
294
  };
295
- export const MOCK_PRODUCT_BASIL_ALMOND = createSimpleProduct("prod_basil_almond", "Basil Almond Paste", 1200, basilAlmondImg, [MOCK_CATEGORY_PASTES, MOCK_CATEGORY_SPECIALTY, MOCK_CATEGORY_VEGAN], "A rich blend of fresh basil and roasted almonds.");
296
- export const MOCK_PRODUCT_BEER = createVariableProduct("prod_beer", "Beer Paste", 1500, 2500, beerImg, [MOCK_CATEGORY_PASTES, MOCK_CATEGORY_SPECIALTY], "Unique paste infused with dark lager.");
297
- export const MOCK_PRODUCT_BEET = createSimpleProduct("prod_beet", "Beet Paste", 1000, beetImg, [MOCK_CATEGORY_PASTES, MOCK_CATEGORY_BASIC, MOCK_CATEGORY_VEGAN], "Earthy and sweet beet paste, perfect for salads.");
298
- export const MOCK_PRODUCT_CARAMELIZED = createVariableProduct("prod_caramelized", "Caramelized Paste", 1400, 2200, caramelizedImg, [MOCK_CATEGORY_PASTES, MOCK_CATEGORY_SPECIALTY, MOCK_CATEGORY_VEGAN], "Slow-cooked caramelized onion paste.");
299
- export const MOCK_PRODUCT_GARLIC_ONION = createVariableProduct("prod_garlic_onion", "Garlic Onion Paste", 1100, 1800, garlicOnionImg, [MOCK_CATEGORY_PASTES, MOCK_CATEGORY_BASIC, MOCK_CATEGORY_VEGAN], "Classic savory base for any dish.");
300
- export const MOCK_PRODUCT_GARLIC = createSimpleProduct("prod_garlic", "Garlic Paste", 900, garlicImg, [MOCK_CATEGORY_PASTES, MOCK_CATEGORY_BASIC, MOCK_CATEGORY_VEGAN], "Pure, intense garlic paste.");
301
- export const MOCK_PRODUCT_GINGER_LIME = createVariableProduct("prod_ginger_lime", "Ginger Lime Paste", 1300, 2000, gingerLimeImg, [MOCK_CATEGORY_PASTES, MOCK_CATEGORY_SPECIALTY, MOCK_CATEGORY_SPICY, MOCK_CATEGORY_VEGAN], "Zesty and spicy, great for asian cuisine.");
302
- export const MOCK_PRODUCT_LEMON = createSimpleProduct("prod_lemon", "Lemon Paste", 1050, lemonImg, [MOCK_CATEGORY_PASTES, MOCK_CATEGORY_BASIC, MOCK_CATEGORY_VEGAN], "Bright citrus flavor concentrate.");
303
- export const MOCK_PRODUCT_RED_PEPPER = createVariableProduct("prod_red_pepper", "Red Pepper Paste", 1250, 1900, redPepperImg, [MOCK_CATEGORY_PASTES, MOCK_CATEGORY_BASIC, MOCK_CATEGORY_SPICY, MOCK_CATEGORY_VEGAN], "Roasted red peppers with a hint of spice.");
304
- export const MOCK_PRODUCT_ROASTED_TOMATO = createVariableProduct("prod_roasted_tomato", "Roasted Tomato Paste", 1150, 1850, roastedTomatoImg, [MOCK_CATEGORY_PASTES, MOCK_CATEGORY_BASIC, MOCK_CATEGORY_VEGAN], "Deep, umami-rich tomato flavor.");
305
- export const MOCK_PRODUCT_MINT_LEMON = createSimpleProduct("prod_mint_lemon", "Mint Lemon Paste", 1200, lemonImg, // Reusing lemon image for now
306
- [MOCK_CATEGORY_PASTES, MOCK_CATEGORY_SPECIALTY, MOCK_CATEGORY_VEGAN], "Refreshing mint and lemon blend.");
307
- export const MOCK_PRODUCT_CHILI_GARLIC = createVariableProduct("prod_chili_garlic", "Chili Garlic Paste", 1050, 1650, redPepperImg, // Reusing red pepper image
308
- [MOCK_CATEGORY_PASTES, MOCK_CATEGORY_BASIC, MOCK_CATEGORY_SPICY, MOCK_CATEGORY_VEGAN], "Spicy garlic paste with chili flakes.");
309
- export const MOCK_PRODUCT_HABANERO = createSimpleProduct("prod_habanero", "Habanero Paste", 1400, redPepperImg, // Reusing red pepper image
310
- [MOCK_CATEGORY_PASTES, MOCK_CATEGORY_SPICY, MOCK_CATEGORY_VEGAN], "Extremely spicy habanero concentrate.");
311
- export const MOCK_PRODUCT_BLACK_GARLIC = createSimpleProduct("prod_black_garlic", "Black Garlic Paste", 1800, garlicImg, // Reusing garlic image
312
- [MOCK_CATEGORY_PASTES, MOCK_CATEGORY_SPECIALTY, MOCK_CATEGORY_VEGAN], "Fermented black garlic paste, sweet and savory.");
295
+ export const MOCK_PRODUCT_BASIL_ALMOND = createSimpleProduct('prod_basil_almond', 'Basil Almond Paste', 1200, basilAlmondImg, [MOCK_CATEGORY_PASTES, MOCK_CATEGORY_SPECIALTY, MOCK_CATEGORY_VEGAN], 'A rich blend of fresh basil and roasted almonds.');
296
+ export const MOCK_PRODUCT_BEER = createVariableProduct('prod_beer', 'Beer Paste', 1500, 2500, beerImg, [MOCK_CATEGORY_PASTES, MOCK_CATEGORY_SPECIALTY], 'Unique paste infused with dark lager.');
297
+ export const MOCK_PRODUCT_BEET = createSimpleProduct('prod_beet', 'Beet Paste', 1000, beetImg, [MOCK_CATEGORY_PASTES, MOCK_CATEGORY_BASIC, MOCK_CATEGORY_VEGAN], 'Earthy and sweet beet paste, perfect for salads.');
298
+ export const MOCK_PRODUCT_CARAMELIZED = createVariableProduct('prod_caramelized', 'Caramelized Paste', 1400, 2200, caramelizedImg, [MOCK_CATEGORY_PASTES, MOCK_CATEGORY_SPECIALTY, MOCK_CATEGORY_VEGAN], 'Slow-cooked caramelized onion paste.');
299
+ export const MOCK_PRODUCT_GARLIC_ONION = createVariableProduct('prod_garlic_onion', 'Garlic Onion Paste', 1100, 1800, garlicOnionImg, [MOCK_CATEGORY_PASTES, MOCK_CATEGORY_BASIC, MOCK_CATEGORY_VEGAN], 'Classic savory base for any dish.');
300
+ export const MOCK_PRODUCT_GARLIC = createSimpleProduct('prod_garlic', 'Garlic Paste', 900, garlicImg, [MOCK_CATEGORY_PASTES, MOCK_CATEGORY_BASIC, MOCK_CATEGORY_VEGAN], 'Pure, intense garlic paste.');
301
+ export const MOCK_PRODUCT_GINGER_LIME = createVariableProduct('prod_ginger_lime', 'Ginger Lime Paste', 1300, 2000, gingerLimeImg, [MOCK_CATEGORY_PASTES, MOCK_CATEGORY_SPECIALTY, MOCK_CATEGORY_SPICY, MOCK_CATEGORY_VEGAN], 'Zesty and spicy, great for asian cuisine.');
302
+ export const MOCK_PRODUCT_LEMON = createSimpleProduct('prod_lemon', 'Lemon Paste', 1050, lemonImg, [MOCK_CATEGORY_PASTES, MOCK_CATEGORY_BASIC, MOCK_CATEGORY_VEGAN], 'Bright citrus flavor concentrate.');
303
+ export const MOCK_PRODUCT_RED_PEPPER = createVariableProduct('prod_red_pepper', 'Red Pepper Paste', 1250, 1900, redPepperImg, [MOCK_CATEGORY_PASTES, MOCK_CATEGORY_BASIC, MOCK_CATEGORY_SPICY, MOCK_CATEGORY_VEGAN], 'Roasted red peppers with a hint of spice.');
304
+ export const MOCK_PRODUCT_ROASTED_TOMATO = createVariableProduct('prod_roasted_tomato', 'Roasted Tomato Paste', 1150, 1850, roastedTomatoImg, [MOCK_CATEGORY_PASTES, MOCK_CATEGORY_BASIC, MOCK_CATEGORY_VEGAN], 'Deep, umami-rich tomato flavor.');
305
+ export const MOCK_PRODUCT_MINT_LEMON = createSimpleProduct('prod_mint_lemon', 'Mint Lemon Paste', 1200, lemonImg, // Reusing lemon image for now
306
+ [MOCK_CATEGORY_PASTES, MOCK_CATEGORY_SPECIALTY, MOCK_CATEGORY_VEGAN], 'Refreshing mint and lemon blend.');
307
+ export const MOCK_PRODUCT_CHILI_GARLIC = createVariableProduct('prod_chili_garlic', 'Chili Garlic Paste', 1050, 1650, redPepperImg, // Reusing red pepper image
308
+ [MOCK_CATEGORY_PASTES, MOCK_CATEGORY_BASIC, MOCK_CATEGORY_SPICY, MOCK_CATEGORY_VEGAN], 'Spicy garlic paste with chili flakes.');
309
+ export const MOCK_PRODUCT_HABANERO = createSimpleProduct('prod_habanero', 'Habanero Paste', 1400, redPepperImg, // Reusing red pepper image
310
+ [MOCK_CATEGORY_PASTES, MOCK_CATEGORY_SPICY, MOCK_CATEGORY_VEGAN], 'Extremely spicy habanero concentrate.');
311
+ export const MOCK_PRODUCT_BLACK_GARLIC = createSimpleProduct('prod_black_garlic', 'Black Garlic Paste', 1800, garlicImg, // Reusing garlic image
312
+ [MOCK_CATEGORY_PASTES, MOCK_CATEGORY_SPECIALTY, MOCK_CATEGORY_VEGAN], 'Fermented black garlic paste, sweet and savory.');
313
313
  // --- ORDERS ---
314
314
  // Helper to create line item
315
315
  const createLineItem = (product, variantIndex = 0, quantity = 1) => {
@@ -323,30 +323,30 @@ const createLineItem = (product, variantIndex = 0, quantity = 1) => {
323
323
  taxes: [],
324
324
  discount: {
325
325
  itemDiscounts: [],
326
- cartDiscount: { percentage: 0, amount: 0 }
326
+ cartDiscount: { percentage: 0, amount: 0 },
327
327
  },
328
328
  fee: { itemFees: [] },
329
329
  totalTax: 0,
330
330
  total: variant.price * quantity,
331
331
  lineNetWithFees: variant.price * quantity,
332
332
  metadata: [],
333
- image: product.images?.[0] || "",
333
+ image: product.images?.[0] || '',
334
334
  sku: variant.sku,
335
335
  stock: variant.inventory?.[0]?.stock || 0,
336
- attributes: variant.attributes.map(a => `${a.name}: ${a.value}`).join(", ")
336
+ attributes: variant.attributes.map((a) => `${a.name}: ${a.value}`).join(', '),
337
337
  };
338
338
  };
339
339
  export const MOCK_ORDER_1 = {
340
- _id: "order_1001",
340
+ _id: 'order_1001',
341
341
  currency: CurrencyCode.USD,
342
342
  minorUnits: 2,
343
- receiptId: "1001-0001",
343
+ receiptId: '1001-0001',
344
344
  companyId: MOCK_COMPANY.id,
345
345
  externalId: null,
346
- status: "completed",
347
- paymentState: "paid",
348
- fulfillmentState: "fulfilled",
349
- displayState: "Completed",
346
+ status: 'completed',
347
+ paymentState: 'paid',
348
+ fulfillmentState: 'fulfilled',
349
+ displayState: 'Completed',
350
350
  customer: MOCK_CUSTOMER_1,
351
351
  summary: {
352
352
  total: 2100,
@@ -355,26 +355,26 @@ export const MOCK_ORDER_1 = {
355
355
  shippingTotal: 0,
356
356
  totalTaxes: 0,
357
357
  taxes: [],
358
- isTaxInclusive: false
358
+ isTaxInclusive: false,
359
359
  },
360
360
  cartDiscount: null,
361
361
  cartFees: [],
362
362
  paymentMethods: [
363
363
  {
364
- transactionId: "trans_cash_1",
365
- paymentType: "cash",
364
+ transactionId: 'trans_cash_1',
365
+ paymentType: 'cash',
366
366
  amount: 2100,
367
367
  timestamp: new Date().toISOString(),
368
- processor: "cash"
369
- }
368
+ processor: 'cash',
369
+ },
370
370
  ],
371
- source: "pos",
371
+ source: 'pos',
372
372
  posData: {
373
373
  outlet: MOCK_OUTLET_MAIN.id,
374
374
  station: MOCK_STATION_1._id,
375
- employee: MOCK_USER_LUIGI.id
375
+ employee: MOCK_USER_LUIGI.id,
376
376
  },
377
- sessionId: "sess_1",
377
+ sessionId: 'sess_1',
378
378
  metadata: [],
379
379
  billing: MOCK_CUSTOMER_1.billing || null,
380
380
  shipping: null,
@@ -384,19 +384,19 @@ export const MOCK_ORDER_1 = {
384
384
  user: MOCK_USER_LUIGI,
385
385
  outlet: MOCK_OUTLET_MAIN,
386
386
  station: MOCK_STATION_1,
387
- createdAt: new Date().toISOString()
387
+ createdAt: new Date().toISOString(),
388
388
  };
389
389
  export const MOCK_ORDER_2 = {
390
- _id: "order_1002",
390
+ _id: 'order_1002',
391
391
  currency: CurrencyCode.USD,
392
392
  minorUnits: 2,
393
- receiptId: "1001-0002",
393
+ receiptId: '1001-0002',
394
394
  companyId: MOCK_COMPANY.id,
395
395
  externalId: null,
396
- status: "completed",
397
- paymentState: "paid",
398
- fulfillmentState: "fulfilled",
399
- displayState: "Completed",
396
+ status: 'completed',
397
+ paymentState: 'paid',
398
+ fulfillmentState: 'fulfilled',
399
+ displayState: 'Completed',
400
400
  customer: MOCK_CUSTOMER_2,
401
401
  summary: {
402
402
  total: 3000,
@@ -405,26 +405,26 @@ export const MOCK_ORDER_2 = {
405
405
  shippingTotal: 0,
406
406
  totalTaxes: 0,
407
407
  taxes: [],
408
- isTaxInclusive: false
408
+ isTaxInclusive: false,
409
409
  },
410
410
  cartDiscount: null,
411
411
  cartFees: [],
412
412
  paymentMethods: [
413
413
  {
414
- transactionId: "trans_card_1",
415
- paymentType: "credit_card",
414
+ transactionId: 'trans_card_1',
415
+ paymentType: 'credit_card',
416
416
  amount: 3000,
417
417
  timestamp: new Date(Date.now() - 3600000).toISOString(),
418
- processor: "stripe"
419
- }
418
+ processor: 'stripe',
419
+ },
420
420
  ],
421
- source: "pos",
421
+ source: 'pos',
422
422
  posData: {
423
423
  outlet: MOCK_OUTLET_MAIN.id,
424
424
  station: MOCK_STATION_2._id,
425
- employee: MOCK_USER_MARIO.id
425
+ employee: MOCK_USER_MARIO.id,
426
426
  },
427
- sessionId: "sess_2",
427
+ sessionId: 'sess_2',
428
428
  metadata: [],
429
429
  billing: null,
430
430
  shipping: null,
@@ -434,19 +434,19 @@ export const MOCK_ORDER_2 = {
434
434
  user: MOCK_USER_MARIO,
435
435
  outlet: MOCK_OUTLET_MAIN,
436
436
  station: MOCK_STATION_2,
437
- createdAt: new Date(Date.now() - 3600000).toISOString()
437
+ createdAt: new Date(Date.now() - 3600000).toISOString(),
438
438
  };
439
439
  export const MOCK_ORDER_3 = {
440
- _id: "order_1003",
440
+ _id: 'order_1003',
441
441
  currency: CurrencyCode.USD,
442
442
  minorUnits: 2,
443
- receiptId: "1001-0003",
443
+ receiptId: '1001-0003',
444
444
  companyId: MOCK_COMPANY.id,
445
445
  externalId: null,
446
- status: "refunded",
447
- paymentState: "refunded",
448
- fulfillmentState: "fulfilled",
449
- displayState: "Refunded",
446
+ status: 'refunded',
447
+ paymentState: 'refunded',
448
+ fulfillmentState: 'fulfilled',
449
+ displayState: 'Refunded',
450
450
  customer: MOCK_CUSTOMER_3,
451
451
  summary: {
452
452
  total: 1500,
@@ -455,26 +455,26 @@ export const MOCK_ORDER_3 = {
455
455
  shippingTotal: 0,
456
456
  totalTaxes: 0,
457
457
  taxes: [],
458
- isTaxInclusive: false
458
+ isTaxInclusive: false,
459
459
  },
460
460
  cartDiscount: null,
461
461
  cartFees: [],
462
462
  paymentMethods: [
463
463
  {
464
- transactionId: "trans_card_2",
465
- paymentType: "credit_card",
464
+ transactionId: 'trans_card_2',
465
+ paymentType: 'credit_card',
466
466
  amount: 1500,
467
467
  timestamp: new Date(Date.now() - 7200000).toISOString(),
468
- processor: "stripe"
469
- }
468
+ processor: 'stripe',
469
+ },
470
470
  ],
471
- source: "pos",
471
+ source: 'pos',
472
472
  posData: {
473
473
  outlet: MOCK_OUTLET_MAIN.id,
474
474
  station: MOCK_STATION_1._id,
475
- employee: MOCK_USER_MARIO.id
475
+ employee: MOCK_USER_MARIO.id,
476
476
  },
477
- sessionId: "sess_3",
477
+ sessionId: 'sess_3',
478
478
  metadata: [],
479
479
  billing: null,
480
480
  shipping: null,
@@ -484,22 +484,22 @@ export const MOCK_ORDER_3 = {
484
484
  user: MOCK_USER_MARIO,
485
485
  outlet: MOCK_OUTLET_MAIN,
486
486
  station: MOCK_STATION_1,
487
- createdAt: new Date(Date.now() - 7200000).toISOString()
487
+ createdAt: new Date(Date.now() - 7200000).toISOString(),
488
488
  };
489
489
  // Open order with one captured deposit leg — voidable via the refund branch
490
490
  // (demoes voidOrder's `refunded` outcome). Copied from MOCK_ORDER_1, id/state/
491
491
  // paymentMethods changed.
492
492
  export const MOCK_ORDER_4 = {
493
- _id: "order_1004",
493
+ _id: 'order_1004',
494
494
  currency: CurrencyCode.USD,
495
495
  minorUnits: 2,
496
- receiptId: "1001-0004",
496
+ receiptId: '1001-0004',
497
497
  companyId: MOCK_COMPANY.id,
498
498
  externalId: null,
499
- status: "in_progress",
500
- paymentState: "partially_paid",
501
- fulfillmentState: "pending",
502
- displayState: "Partially Paid",
499
+ status: 'in_progress',
500
+ paymentState: 'partially_paid',
501
+ fulfillmentState: 'pending',
502
+ displayState: 'Partially Paid',
503
503
  customer: MOCK_CUSTOMER_5,
504
504
  summary: {
505
505
  total: 2500,
@@ -508,26 +508,26 @@ export const MOCK_ORDER_4 = {
508
508
  shippingTotal: 0,
509
509
  totalTaxes: 0,
510
510
  taxes: [],
511
- isTaxInclusive: false
511
+ isTaxInclusive: false,
512
512
  },
513
513
  cartDiscount: null,
514
514
  cartFees: [],
515
515
  paymentMethods: [
516
516
  {
517
- transactionId: "trans_cash_2",
518
- paymentType: "cash",
517
+ transactionId: 'trans_cash_2',
518
+ paymentType: 'cash',
519
519
  amount: 1000,
520
520
  timestamp: new Date(Date.now() - 600000).toISOString(),
521
- processor: "cash"
522
- }
521
+ processor: 'cash',
522
+ },
523
523
  ],
524
- source: "pos",
524
+ source: 'pos',
525
525
  posData: {
526
526
  outlet: MOCK_OUTLET_MAIN.id,
527
527
  station: MOCK_STATION_2._id,
528
- employee: MOCK_USER_MARIO.id
528
+ employee: MOCK_USER_MARIO.id,
529
529
  },
530
- sessionId: "sess_4",
530
+ sessionId: 'sess_4',
531
531
  metadata: [],
532
532
  billing: null,
533
533
  shipping: null,
@@ -537,19 +537,19 @@ export const MOCK_ORDER_4 = {
537
537
  user: MOCK_USER_MARIO,
538
538
  outlet: MOCK_OUTLET_MAIN,
539
539
  station: MOCK_STATION_2,
540
- createdAt: new Date(Date.now() - 600000).toISOString()
540
+ createdAt: new Date(Date.now() - 600000).toISOString(),
541
541
  };
542
542
  export const MOCK_PARKED_ORDER_1 = {
543
- _id: "parked_2001",
543
+ _id: 'parked_2001',
544
544
  currency: CurrencyCode.USD,
545
545
  minorUnits: 2,
546
- receiptId: "PARK-0001",
546
+ receiptId: 'PARK-0001',
547
547
  companyId: MOCK_COMPANY.id,
548
548
  externalId: null,
549
- status: "parked",
550
- paymentState: "unpaid",
551
- fulfillmentState: "pending",
552
- displayState: "Parked",
549
+ status: 'parked',
550
+ paymentState: 'unpaid',
551
+ fulfillmentState: 'pending',
552
+ displayState: 'Parked',
553
553
  customer: MOCK_CUSTOMER_4,
554
554
  summary: {
555
555
  total: 2100,
@@ -558,18 +558,18 @@ export const MOCK_PARKED_ORDER_1 = {
558
558
  shippingTotal: 0,
559
559
  totalTaxes: 0,
560
560
  taxes: [],
561
- isTaxInclusive: false
561
+ isTaxInclusive: false,
562
562
  },
563
563
  cartDiscount: null,
564
564
  cartFees: [],
565
565
  paymentMethods: [],
566
- source: "pos",
566
+ source: 'pos',
567
567
  posData: {
568
568
  outlet: MOCK_OUTLET_MAIN.id,
569
569
  station: MOCK_STATION_1._id,
570
- employee: MOCK_USER_LUIGI.id
570
+ employee: MOCK_USER_LUIGI.id,
571
571
  },
572
- sessionId: "sess_park_1",
572
+ sessionId: 'sess_park_1',
573
573
  metadata: [],
574
574
  billing: null,
575
575
  shipping: null,
@@ -579,19 +579,19 @@ export const MOCK_PARKED_ORDER_1 = {
579
579
  user: MOCK_USER_LUIGI,
580
580
  outlet: MOCK_OUTLET_MAIN,
581
581
  station: MOCK_STATION_1,
582
- createdAt: new Date(Date.now() - 1800000).toISOString()
582
+ createdAt: new Date(Date.now() - 1800000).toISOString(),
583
583
  };
584
584
  export const MOCK_PARKED_ORDER_2 = {
585
- _id: "parked_2002",
585
+ _id: 'parked_2002',
586
586
  currency: CurrencyCode.USD,
587
587
  minorUnits: 2,
588
- receiptId: "PARK-0002",
588
+ receiptId: 'PARK-0002',
589
589
  companyId: MOCK_COMPANY.id,
590
590
  externalId: null,
591
- status: "parked",
592
- paymentState: "unpaid",
593
- fulfillmentState: "pending",
594
- displayState: "Parked",
591
+ status: 'parked',
592
+ paymentState: 'unpaid',
593
+ fulfillmentState: 'pending',
594
+ displayState: 'Parked',
595
595
  customer: null,
596
596
  summary: {
597
597
  total: 2500,
@@ -600,18 +600,18 @@ export const MOCK_PARKED_ORDER_2 = {
600
600
  shippingTotal: 0,
601
601
  totalTaxes: 0,
602
602
  taxes: [],
603
- isTaxInclusive: false
603
+ isTaxInclusive: false,
604
604
  },
605
605
  cartDiscount: null,
606
606
  cartFees: [],
607
607
  paymentMethods: [],
608
- source: "pos",
608
+ source: 'pos',
609
609
  posData: {
610
610
  outlet: MOCK_OUTLET_MAIN.id,
611
611
  station: MOCK_STATION_2._id,
612
- employee: MOCK_USER_MARIO.id
612
+ employee: MOCK_USER_MARIO.id,
613
613
  },
614
- sessionId: "sess_park_2",
614
+ sessionId: 'sess_park_2',
615
615
  metadata: [],
616
616
  billing: null,
617
617
  shipping: null,
@@ -621,14 +621,20 @@ export const MOCK_PARKED_ORDER_2 = {
621
621
  user: MOCK_USER_MARIO,
622
622
  outlet: MOCK_OUTLET_MAIN,
623
623
  station: MOCK_STATION_2,
624
- createdAt: new Date(Date.now() - 900000).toISOString()
624
+ createdAt: new Date(Date.now() - 900000).toISOString(),
625
625
  };
626
626
  // --- EXPORT COLLECTIONS ---
627
627
  export const MOCK_USERS = [MOCK_USER_MARIO, MOCK_USER_LUIGI];
628
628
  export const MOCK_STATIONS = [MOCK_STATION_1, MOCK_STATION_2];
629
629
  export const MOCK_OUTLETS = [MOCK_OUTLET_MAIN];
630
630
  export const MOCK_CUSTOMERS = [MOCK_CUSTOMER_1, MOCK_CUSTOMER_2, MOCK_CUSTOMER_3, MOCK_CUSTOMER_4, MOCK_CUSTOMER_5];
631
- export const MOCK_CATEGORIES = [MOCK_CATEGORY_PASTES, MOCK_CATEGORY_SPECIALTY, MOCK_CATEGORY_BASIC, MOCK_CATEGORY_VEGAN, MOCK_CATEGORY_SPICY];
631
+ export const MOCK_CATEGORIES = [
632
+ MOCK_CATEGORY_PASTES,
633
+ MOCK_CATEGORY_SPECIALTY,
634
+ MOCK_CATEGORY_BASIC,
635
+ MOCK_CATEGORY_VEGAN,
636
+ MOCK_CATEGORY_SPICY,
637
+ ];
632
638
  export const MOCK_PRODUCTS = [
633
639
  MOCK_PRODUCT_BASIL_ALMOND,
634
640
  MOCK_PRODUCT_BEER,
@@ -643,7 +649,7 @@ export const MOCK_PRODUCTS = [
643
649
  MOCK_PRODUCT_MINT_LEMON,
644
650
  MOCK_PRODUCT_CHILI_GARLIC,
645
651
  MOCK_PRODUCT_HABANERO,
646
- MOCK_PRODUCT_BLACK_GARLIC
652
+ MOCK_PRODUCT_BLACK_GARLIC,
647
653
  ];
648
654
  export const MOCK_ORDERS = [MOCK_ORDER_1, MOCK_ORDER_2, MOCK_ORDER_3, MOCK_ORDER_4];
649
655
  export const MOCK_PARKED_ORDERS = [MOCK_PARKED_ORDER_1, MOCK_PARKED_ORDER_2];
@@ -659,7 +665,7 @@ export let MOCK_CART = {
659
665
  products: [],
660
666
  customSales: [],
661
667
  nonRevenueItems: [],
662
- customer: null
668
+ customer: null,
663
669
  };
664
670
  export let MOCK_ACTIVE_PRODUCT;
665
671
  export const setMockActiveProduct = (activeProduct) => {
@@ -679,13 +685,13 @@ export const resetMockCart = () => {
679
685
  products: [],
680
686
  customSales: [],
681
687
  nonRevenueItems: [],
682
- customer: null
688
+ customer: null,
683
689
  };
684
690
  };
685
691
  function resolveMockOrderCurrency() {
686
692
  const settings = MOCK_COMPANY.settings;
687
693
  const raw = settings?.currency;
688
- if (typeof raw === "string" && Object.values(CurrencyCode).includes(raw)) {
694
+ if (typeof raw === 'string' && Object.values(CurrencyCode).includes(raw)) {
689
695
  return raw;
690
696
  }
691
697
  return CurrencyCode.USD;
@@ -744,16 +750,15 @@ export const safeSerialize = (data) => {
744
750
  return JSON.parse(JSON.stringify(data));
745
751
  };
746
752
  const mockTopicSubscribers = {};
747
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
748
753
  export const mockPublishEvent = (topic, eventType, data) => {
749
754
  const subscribers = mockTopicSubscribers[topic] || [];
750
755
  const event = {
751
756
  topic,
752
757
  type: eventType,
753
758
  data,
754
- timestamp: new Date().toISOString()
759
+ timestamp: new Date().toISOString(),
755
760
  };
756
- subscribers.forEach(callback => {
761
+ subscribers.forEach((callback) => {
757
762
  try {
758
763
  callback(event);
759
764
  }
@@ -769,16 +774,16 @@ export const mockSubscribeToTopic = (topic, callback) => {
769
774
  mockTopicSubscribers[topic].push(callback);
770
775
  };
771
776
  // Helper to create order from cart
772
- export const createOrderFromCart = (paymentType, amount, processor = "cash") => {
777
+ export const createOrderFromCart = (paymentType, amount, processor = 'cash') => {
773
778
  const primaryOutlet = MOCK_OUTLETS[0] ?? MOCK_OUTLET_MAIN;
774
779
  const primaryStation = MOCK_STATIONS[0] ?? MOCK_STATION;
775
- const employeeUser = MOCK_USERS.find(u => u.type === CFUserTypes.CASHIER) ?? MOCK_USERS[0] ?? MOCK_USER;
780
+ const employeeUser = MOCK_USERS.find((u) => u.type === CFUserTypes.CASHIER) ?? MOCK_USERS[0] ?? MOCK_USER;
776
781
  const orderCurrency = resolveMockOrderCurrency();
777
782
  // Generate new Order ID
778
783
  const orderId = `order_${Date.now()}`;
779
784
  const receiptId = `receipt_${Date.now()}`;
780
785
  // Map cart products to line items
781
- const lineItems = MOCK_CART.products.map(p => {
786
+ const lineItems = MOCK_CART.products.map((p) => {
782
787
  return {
783
788
  productId: p.id,
784
789
  variantId: p.variantId,
@@ -788,17 +793,17 @@ export const createOrderFromCart = (paymentType, amount, processor = "cash") =>
788
793
  taxes: [],
789
794
  discount: {
790
795
  itemDiscounts: [],
791
- cartDiscount: { percentage: 0, amount: 0 }
796
+ cartDiscount: { percentage: 0, amount: 0 },
792
797
  },
793
798
  fee: { itemFees: [] },
794
799
  totalTax: 0,
795
800
  total: p.price * p.quantity,
796
801
  lineNetWithFees: p.price * p.quantity,
797
802
  metadata: [],
798
- image: p.images?.[0] || "",
799
- sku: p.sku || "",
803
+ image: p.images?.[0] || '',
804
+ sku: p.sku || '',
800
805
  stock: 100,
801
- attributes: p.attributes || ""
806
+ attributes: p.attributes || '',
802
807
  };
803
808
  });
804
809
  const totalNum = MOCK_CART.total;
@@ -809,10 +814,10 @@ export const createOrderFromCart = (paymentType, amount, processor = "cash") =>
809
814
  receiptId,
810
815
  companyId: MOCK_COMPANY.id,
811
816
  externalId: null,
812
- status: "completed",
813
- paymentState: "paid",
814
- fulfillmentState: "fulfilled",
815
- displayState: "Completed",
817
+ status: 'completed',
818
+ paymentState: 'paid',
819
+ fulfillmentState: 'fulfilled',
820
+ displayState: 'Completed',
816
821
  customer: MOCK_CART.customer ? MOCK_CART.customer : null,
817
822
  summary: {
818
823
  total: totalNum,
@@ -821,9 +826,11 @@ export const createOrderFromCart = (paymentType, amount, processor = "cash") =>
821
826
  shippingTotal: 0,
822
827
  totalTaxes: 0,
823
828
  taxes: [],
824
- isTaxInclusive: false
829
+ isTaxInclusive: false,
825
830
  },
826
- cartDiscount: MOCK_CART.discount ? { label: MOCK_CART.discount.label || "Discount", amount: 0, percentage: MOCK_CART.discount.value } : null,
831
+ cartDiscount: MOCK_CART.discount
832
+ ? { label: MOCK_CART.discount.label || 'Discount', amount: 0, percentage: MOCK_CART.discount.value }
833
+ : null,
827
834
  cartFees: [],
828
835
  paymentMethods: [
829
836
  {
@@ -831,14 +838,14 @@ export const createOrderFromCart = (paymentType, amount, processor = "cash") =>
831
838
  paymentType,
832
839
  amount,
833
840
  timestamp: new Date().toISOString(),
834
- processor
835
- }
841
+ processor,
842
+ },
836
843
  ],
837
- source: "pos",
844
+ source: 'pos',
838
845
  posData: {
839
846
  outlet: primaryOutlet.id,
840
847
  station: primaryStation._id,
841
- employee: employeeUser.id
848
+ employee: employeeUser.id,
842
849
  },
843
850
  sessionId: `session_${Date.now()}`,
844
851
  metadata: [],
@@ -850,12 +857,12 @@ export const createOrderFromCart = (paymentType, amount, processor = "cash") =>
850
857
  user: employeeUser,
851
858
  outlet: primaryOutlet,
852
859
  station: primaryStation,
853
- createdAt: new Date().toISOString()
860
+ createdAt: new Date().toISOString(),
854
861
  };
855
862
  MOCK_ORDERS.push(newOrder);
856
863
  resetMockCart();
857
864
  // Publish cart-created event after cart is reset (simulates new empty cart)
858
- mockPublishEvent("cart", "cart-created", {});
865
+ mockPublishEvent('cart', 'cart-created', {});
859
866
  return newOrder;
860
867
  };
861
868
  /**
@@ -864,7 +871,7 @@ export const createOrderFromCart = (paymentType, amount, processor = "cash") =>
864
871
  * (creates the order, resets the cart, returns it). Otherwise the cart stays
865
872
  * open with `amountToBeCharged` reset to what's left, and returns null.
866
873
  */
867
- export const applyMockPayment = (amount, paymentType, processor = "cash") => {
874
+ export const applyMockPayment = (amount, paymentType, processor = 'cash') => {
868
875
  const remainingBefore = MOCK_CART.remainingBalance ?? MOCK_CART.total;
869
876
  const charge = Math.min(Math.max(0, amount || remainingBefore), remainingBefore);
870
877
  const remainingAfter = Math.max(0, remainingBefore - charge);
@@ -872,12 +879,12 @@ export const applyMockPayment = (amount, paymentType, processor = "cash") => {
872
879
  // Partial payment — keep the cart open, queue the rest for the next tender.
873
880
  MOCK_CART.remainingBalance = remainingAfter;
874
881
  MOCK_CART.amountToBeCharged = remainingAfter;
875
- mockPublishEvent("cart", "partial-payment-applied", { charged: charge, remaining: remainingAfter });
882
+ mockPublishEvent('cart', 'partial-payment-applied', { charged: charge, remaining: remainingAfter });
876
883
  return null;
877
884
  }
878
885
  // Fully paid — create the completed order (this also resets the cart).
879
886
  const orderTotal = MOCK_CART.total;
880
887
  const order = createOrderFromCart(paymentType, orderTotal, processor);
881
- mockPublishEvent("payments", "payment-done", { order });
888
+ mockPublishEvent('payments', 'payment-done', { order });
882
889
  return order;
883
890
  };