diff --git a/apps/user-ui/.easignore b/apps/user-ui/.easignore new file mode 100644 index 0000000..3635ab9 --- /dev/null +++ b/apps/user-ui/.easignore @@ -0,0 +1,69 @@ +# EAS CLI ignores .gitignore entirely once this file exists, so the repo's +# .gitignore patterns are reproduced here (see AGENTS.md / docs.expo.dev +# build-reference/easignore). Keep this in sync when .gitignore changes. + +# --- from root .gitignore --- +node_modules/ +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* +.pnpm-debug.log* +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json +pids +*.pid +*.seed +*.pid.lock +coverage +*.lcov +.nyc_output +bower_components +build/Release +jspm_packages/ +web_modules/ +*.tsbuildinfo +.npm +.eslintcache +.stylelintcache +.node_repl_history +*.tgz +.yarn-integrity +.cache +.parcel-cache +.next +out +.nuxt +dist +.docusaurus +.serverless/ +.fusebox/ +.dynamodb/ +.tern-port +.vscode-test +.yarn/cache +.yarn/unplugged +.yarn/build-state.yml +.yarn/install-state.gz +.pnp.* +type-clusters/* +.maestro-output/* + +# --- from apps/user-ui/.gitignore --- +expo-env.d.ts +.expo/ + +# --- EAS Build does not need these --- +# Native projects are generated by Prebuild (matches git-ignored android/). +android/ +ios/ +.turbo/ + +# Tests, fixtures and mocks are never part of a build. +tests/ + +# Do not ship local secrets/config to the build servers. +.env +.env.* +!.env.example diff --git a/apps/user-ui/app/(drawer)/(tabs)/home/index.tsx b/apps/user-ui/app/(drawer)/(tabs)/home/index.tsx index d25274c..124348c 100755 --- a/apps/user-ui/app/(drawer)/(tabs)/home/index.tsx +++ b/apps/user-ui/app/(drawer)/(tabs)/home/index.tsx @@ -231,6 +231,7 @@ const TagTabStrip = memo(({ return ( { positions.current[i] = e.nativeEvent.layout.x; }} @@ -295,7 +296,7 @@ const TagScene = memo(({ const hasMore = products.length > 6 && !expanded; return ( - + {products.length > 0 ? ( {visible.map((product: any) => ( @@ -311,6 +312,7 @@ const TagScene = memo(({ )} {hasMore && ( onToggleExpand(tagId)} @@ -326,7 +328,7 @@ const ExploreProductItem = memo(({ item, onPress }: ProductItemProps) => { const handlePress = useCallback(() => onPress(item.id), [item.id, onPress]); return ( - + + value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); + +config.resolver.blockList = [ + ...(config.resolver.blockList + ? [].concat(config.resolver.blockList) + : []), + new RegExp(`^${escapeForRegExp(path.resolve(__dirname, 'tests'))}[/\\\\].*$`), +]; + module.exports = config; diff --git a/apps/user-ui/package.json b/apps/user-ui/package.json index a809d30..a1d8715 100644 --- a/apps/user-ui/package.json +++ b/apps/user-ui/package.json @@ -8,7 +8,10 @@ "android": "expo run:android", "ios": "expo run:ios", "web": "expo start --web", - "lint": "expo lint" + "lint": "expo lint", + "test": "jest --config tests/jest.config.js", + "test:watch": "jest --config tests/jest.config.js --watch", + "test:typecheck": "tsc --noEmit --project tsconfig.json" }, "dependencies": { "@expo/vector-icons": "^14.1.0", @@ -71,10 +74,16 @@ }, "devDependencies": { "@babel/core": "^7.25.2", + "@testing-library/react-native": "^13", + "@types/jest": "^29", "@types/react": "~19.0.10", "@types/react-native-razorpay": "^2.2.6", + "babel-preset-expo": "~13.0.0", "eslint": "^9.25.0", "eslint-config-expo": "~9.2.0", + "jest": "~29.7.0", + "jest-expo": "~53.0.0", + "react-test-renderer": "19.0.0", "typescript": "~5.8.3" }, "private": true diff --git a/apps/user-ui/tests/__fixtures__/essentialConsts.json b/apps/user-ui/tests/__fixtures__/essentialConsts.json new file mode 100644 index 0000000..fd670a6 --- /dev/null +++ b/apps/user-ui/tests/__fixtures__/essentialConsts.json @@ -0,0 +1,27 @@ +[ + { + "result": { + "data": { + "freeDeliveryThreshold": 249, + "deliveryCharge": 15, + "flashFreeDeliveryThreshold": 399, + "flashDeliveryCharge": 39, + "popularItems": "40,109,9,75,98,6,24,59", + "versionNum": "1.2.0", + "playStoreUrl": "https://info.freshyo.in/qr-based-download", + "appStoreUrl": "https://info.freshyo.in/qr-based-download", + "webViewHtml": null, + "webviewHtml": null, + "isWebviewClosable": true, + "isFlashDeliveryEnabled": false, + "supportMobile": "9000885620", + "supportEmail": "qushammohd@gmail.com", + "assetsDomain": "https://assets.freshyo.in/", + "apiCacheKey": "api-cache", + "cacheVersion": 755, + "availabilityVersionNum": 72, + "slotsVersionNum": 401 + } + } + } +] diff --git a/apps/user-ui/tests/home.test.tsx b/apps/user-ui/tests/home.test.tsx new file mode 100644 index 0000000..0374b54 --- /dev/null +++ b/apps/user-ui/tests/home.test.tsx @@ -0,0 +1,125 @@ +/** + * Integration tests for app/(drawer)/(tabs)/home/index.tsx + * + * API responses are mocked at the network layer: + * - common.essentialConsts -> tests/__fixtures__/essentialConsts.json + * - assets CDN -> tests/mocks/mock-*-response.json + * + * Runner: `bun run test` (or `bun run test:watch`) from apps/user-ui. + */ + +import React from 'react' +import { QueryClient, QueryClientProvider } from '@tanstack/react-query' +import { + fireEvent, + render, + screen, + waitFor, + within, +} from '@testing-library/react-native' +import { RefreshProvider } from 'common-ui' + +import Dashboard from '@/app/(drawer)/(tabs)/home/index' +import { trpc, trpcClient } from '@/src/trpc-client' +import productsResponse from './mocks/mock-products-response.json' +import { PRODUCTS_URL, setupApiMocks } from './mocks/api' + +// The tag grid renders at most this many items before its "Show More" button +// expands it (see the products.slice(0, 6) in TagScene). +const TAG_GRID_PREVIEW = 6 + +const knownProductIds = new Set(productsResponse.products.map((p) => p.id)) +const tags = productsResponse.tags + +/** Products a tag points at that actually exist in the products cache. */ +const productIdsForTag = (tag: (typeof tags)[number]) => + tag.productIds.filter((id) => knownProductIds.has(id)) + +function renderHome() { + const queryClient = new QueryClient({ + defaultOptions: { queries: { retry: false, gcTime: 0 } }, + }) + + return render( + + + + + + + + ) +} + +describe('Home page', () => { + let api: ReturnType + + beforeEach(() => { + api = setupApiMocks() + }) + + it('requests the products cache url derived from common.essentialConsts', async () => { + renderHome() + + await waitFor(() => { + expect( + api.fetchMock.mock.calls.some(([url]) => + String(url).includes('common.essentialConsts') + ) + ).toBe(true) + }) + + await waitFor(() => { + expect(api.axiosGet).toHaveBeenCalledWith(PRODUCTS_URL) + }) + }) + + it('shows a tab for every tag', async () => { + renderHome() + + await waitFor(() => { + expect(screen.getByTestId(`tag-tab-${tags[0].id}`)).toBeTruthy() + }) + + for (const tag of tags) { + const tab = screen.getByTestId(`tag-tab-${tag.id}`) + expect(within(tab).getByText(tag.tagName)).toBeVisible() + } + }) + + it('shows every product of every tag, expanding each grid once', async () => { + renderHome() + + await waitFor(() => { + expect(screen.getByTestId(`tag-grid-${tags[0].id}`)).toBeTruthy() + }) + + for (const tag of tags) { + fireEvent.press(screen.getByTestId(`tag-tab-${tag.id}`)) + + const expected = productIdsForTag(tag) + expect(expected.length).toBeGreaterThan(0) + + for (const id of expected.slice(0, TAG_GRID_PREVIEW)) { + expect(screen.getByTestId(`tag-product-${id}`)).toBeVisible() + } + + if (expected.length <= TAG_GRID_PREVIEW) continue + + // Items past the preview are withheld until the grid is expanded. + expect( + screen.queryByTestId(`tag-product-${expected[TAG_GRID_PREVIEW]}`) + ).toBeNull() + + fireEvent.press(screen.getByTestId(`tag-show-more-${tag.id}`)) + + for (const id of expected) { + expect(screen.getByTestId(`tag-product-${id}`)).toBeVisible() + } + } + }) + + it.todo('shows every product returned by the products cache') + it.todo('shows the store list') + it.todo('shows the upcoming delivery slots') +}) diff --git a/apps/user-ui/tests/jest-env.d.ts b/apps/user-ui/tests/jest-env.d.ts new file mode 100644 index 0000000..044ff29 --- /dev/null +++ b/apps/user-ui/tests/jest-env.d.ts @@ -0,0 +1,7 @@ +/// + +// Declares the Jest globals (describe, it, expect, jest, ...) for the tests in +// this folder. @types/jest is a devDependency, but making the reference explicit +// means the globals are declared by a file inside the project rather than +// relying on ambient @types auto-inclusion, so editors resolve them even when a +// file falls back to an inferred project. diff --git a/apps/user-ui/tests/jest.config.js b/apps/user-ui/tests/jest.config.js new file mode 100644 index 0000000..e4e2883 --- /dev/null +++ b/apps/user-ui/tests/jest.config.js @@ -0,0 +1,56 @@ +const path = require('path') + +const appRoot = path.resolve(__dirname, '..') + +/** + * Jest project for apps/user-ui integration tests. + * + * Kept out of the app build three ways: + * 1. .easignore (tests/ never uploaded to EAS) + * 2. metro.config.js resolver.blockList (never bundled) + * 3. tsconfig.json exclude + tests/tsconfig.json (separate typecheck scope) + */ +module.exports = { + preset: 'jest-expo', + rootDir: appRoot, + roots: ['/tests'], + testMatch: ['/tests/**/*.test.ts', '/tests/**/*.test.tsx'], + setupFiles: ['/tests/setup.ts'], + clearMocks: true, + moduleNameMapper: { + '^@/(.*)$': '/$1', + '^@backend/(.*)$': '/../backend/src/$1', + '^shared-types$': '/../shared-types', + '^@packages/shared$': '/../../packages/shared', + '^@packages/shared/(.*)$': '/../../packages/shared/$1', + '^global-shared$': '/../../packages/shared', + '^global-shared/(.*)$': '/../../packages/shared/$1', + '^common-ui$': '/../../packages/ui', + '^common-ui/(.*)$': '/../../packages/ui/$1', + }, + transformIgnorePatterns: [ + 'node_modules/(?!(?:.pnpm/)?(' + + [ + '(jest-)?react-native', + '@react-native(-community)?', + 'expo(nent)?', + '@expo(nent)?/.*', + '@expo-google-fonts/.*', + 'react-navigation', + '@react-navigation/.*', + '@sentry/react-native', + 'native-base', + 'react-native-svg', + 'react-native-gesture-handler', + 'react-native-reanimated', + 'react-native-safe-area-context', + 'react-native-screens', + '@trpc/.*', + '@tanstack/.*', + 'twrnc', + 'zod', + '@testing-library/react-native', + ].join('|') + + '))', + ], +} diff --git a/apps/user-ui/tests/mocks/api.ts b/apps/user-ui/tests/mocks/api.ts new file mode 100644 index 0000000..51223e9 --- /dev/null +++ b/apps/user-ui/tests/mocks/api.ts @@ -0,0 +1,90 @@ +/** + * Network-layer mocks for the user-ui tests. + * + * Everything the home page fetches goes through one of two doors: + * - tRPC -> global.fetch (common.essentialConsts, ...) + * - axios -> the assets CDN (products.json, stores.json, slots.json, availability.json) + * + * Both are stubbed here and both fail loudly on an unmocked URL, so a new + * dependency introduced by app code surfaces as a test failure instead of a + * silent empty render. + * + * The tRPC URL is matched on the procedure path rather than the host, because + * BASE_API_URL (packages/ui/index.ts) is a local address during development. + * `jest.mock('axios')` lives in tests/setup.ts so it is registered before any + * app module imports axios. + * + * Fixtures are imported as JSON rather than read with `fs`: importing a Node + * builtin pulls @types/node into the typecheck program, which flips + * `setTimeout` from `number` to `NodeJS.Timeout` and breaks unrelated app types. + * + * NOTE: mock-slots-response.json is a snapshot of a real day (see the + * deliveryTime values). The home page drops past slots, so those fixtures need + * refreshing once their dates fall behind. + */ + +import essentialConsts from '../__fixtures__/essentialConsts.json' +import availability from './mock-availability-response.json' +import products from './mock-products-response.json' +import slots from './mock-slots-response.json' +import stores from './mock-stores-response.json' + +export const ESSENTIAL_CONSTS_URL = + 'https://worker.freshyo.in/api/trpc/common.essentialConsts?batch=1&input=%7B%220%22%3A%7B%22json%22%3Anull%2C%22meta%22%3A%7B%22values%22%3A%5B%22undefined%22%5D%7D%7D%7D' + +// Derived by useCacheUrl / useAvailabilityCacheUrl / useSlotsCacheUrl from the +// essentialConsts payload above (assetsDomain, apiCacheKey, cacheVersion, +// availabilityVersionNum, slotsVersionNum). +export const PRODUCTS_URL = + 'https://assets.freshyo.in/api-cache/v-755/products.json' +export const AVAILABILITY_URL = + 'https://assets.freshyo.in/av-72/availability.json' +export const STORES_URL = 'https://assets.freshyo.in/api-cache/v-755/stores.json' +export const SLOTS_URL = 'https://assets.freshyo.in/slots/v-401/slots.json?v=123' + +/** Route a CDN file name to its mock response. */ +const mockForCacheFile = (url: string): unknown => { + if (url.includes('products.json')) return products + if (url.includes('stores.json')) return stores + if (url.includes('slots.json')) return slots + if (url.includes('availability.json')) return availability + throw new Error(`[tests] unmocked assets request: ${url}`) +} + +const jsonResponse = (body: unknown) => ({ + ok: true, + status: 200, + statusText: 'OK', + headers: new Map(), + url: '', + json: async () => body, + text: async () => JSON.stringify(body), +}) + +/** + * Install the fetch + axios stubs and return the handles for assertions. + * Call from beforeEach so each test starts from a clean call history. + */ +export function setupApiMocks() { + const axios = require('axios') + + axios.get.mockImplementation(async (url: string) => ({ + data: mockForCacheFile(url), + status: 200, + statusText: 'OK', + headers: {}, + config: {}, + })) + + const fetchMock = jest.fn(async (url: string) => { + if (url.includes('common.essentialConsts')) { + return jsonResponse(essentialConsts) + } + + throw new Error(`[tests] unmocked fetch: ${url}`) + }) + + ;(global as unknown as { fetch: unknown }).fetch = fetchMock + + return { fetchMock, axiosGet: axios.get } +} diff --git a/apps/user-ui/tests/mocks/mock-availability-response.json b/apps/user-ui/tests/mocks/mock-availability-response.json new file mode 100644 index 0000000..97d5a7a --- /dev/null +++ b/apps/user-ui/tests/mocks/mock-availability-response.json @@ -0,0 +1,1346 @@ +{ + "availability": [ + { + "id": 1, + "price": 99, + "marketPrice": 110, + "flashPrice": null, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 2, + "price": 215, + "marketPrice": 220, + "flashPrice": 215, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 3, + "price": 99, + "marketPrice": 120, + "flashPrice": 120, + "isFlashAvailable": false, + "isOutOfStock": true, + "isSuspended": false + }, + { + "id": 4, + "price": 839, + "marketPrice": 860, + "flashPrice": null, + "isFlashAvailable": false, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 5, + "price": 15, + "marketPrice": 19, + "flashPrice": 15, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 6, + "price": 109, + "marketPrice": 120, + "flashPrice": null, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 7, + "price": 69, + "marketPrice": 79, + "flashPrice": 69, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 8, + "price": 129, + "marketPrice": 139, + "flashPrice": 129, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 9, + "price": 296, + "marketPrice": 340, + "flashPrice": 320, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 10, + "price": 269, + "marketPrice": 299, + "flashPrice": 269, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 11, + "price": 119, + "marketPrice": 150, + "flashPrice": 150, + "isFlashAvailable": true, + "isOutOfStock": true, + "isSuspended": false + }, + { + "id": 12, + "price": 850, + "marketPrice": 870, + "flashPrice": null, + "isFlashAvailable": false, + "isOutOfStock": true, + "isSuspended": false + }, + { + "id": 13, + "price": 79, + "marketPrice": 89, + "flashPrice": 79, + "isFlashAvailable": false, + "isOutOfStock": true, + "isSuspended": false + }, + { + "id": 14, + "price": 419, + "marketPrice": 450, + "flashPrice": 430, + "isFlashAvailable": false, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 15, + "price": 210, + "marketPrice": 250, + "flashPrice": null, + "isFlashAvailable": false, + "isOutOfStock": true, + "isSuspended": false + }, + { + "id": 16, + "price": 16, + "marketPrice": 20, + "flashPrice": 16, + "isFlashAvailable": false, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 17, + "price": 28, + "marketPrice": 35, + "flashPrice": null, + "isFlashAvailable": false, + "isOutOfStock": true, + "isSuspended": false + }, + { + "id": 18, + "price": 59, + "marketPrice": 69, + "flashPrice": 65, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 19, + "price": 15, + "marketPrice": 19, + "flashPrice": 19, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 20, + "price": 379, + "marketPrice": 400, + "flashPrice": null, + "isFlashAvailable": false, + "isOutOfStock": true, + "isSuspended": false + }, + { + "id": 21, + "price": 499, + "marketPrice": 519, + "flashPrice": 499, + "isFlashAvailable": false, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 22, + "price": 649, + "marketPrice": 799, + "flashPrice": null, + "isFlashAvailable": false, + "isOutOfStock": true, + "isSuspended": false + }, + { + "id": 23, + "price": 129, + "marketPrice": 135, + "flashPrice": 129, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 24, + "price": 215, + "marketPrice": 230, + "flashPrice": 215, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 25, + "price": 119, + "marketPrice": 130, + "flashPrice": null, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 26, + "price": 78, + "marketPrice": 94, + "flashPrice": null, + "isFlashAvailable": false, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 27, + "price": 13, + "marketPrice": 19, + "flashPrice": 13, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 28, + "price": 729, + "marketPrice": 799, + "flashPrice": 729, + "isFlashAvailable": false, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 29, + "price": 29, + "marketPrice": 32, + "flashPrice": null, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 30, + "price": 17, + "marketPrice": 20, + "flashPrice": 17, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 31, + "price": 13, + "marketPrice": 16, + "flashPrice": 13, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 32, + "price": 19, + "marketPrice": 25, + "flashPrice": 19, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 33, + "price": 15, + "marketPrice": 20, + "flashPrice": null, + "isFlashAvailable": false, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 34, + "price": 362, + "marketPrice": 399, + "flashPrice": 362, + "isFlashAvailable": false, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 35, + "price": 429, + "marketPrice": 450, + "flashPrice": null, + "isFlashAvailable": false, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 36, + "price": 269, + "marketPrice": 289, + "flashPrice": 269, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 37, + "price": 49, + "marketPrice": 59, + "flashPrice": 49, + "isFlashAvailable": false, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 38, + "price": 76, + "marketPrice": 85, + "flashPrice": null, + "isFlashAvailable": true, + "isOutOfStock": true, + "isSuspended": false + }, + { + "id": 39, + "price": 119, + "marketPrice": 140, + "flashPrice": 129, + "isFlashAvailable": true, + "isOutOfStock": true, + "isSuspended": false + }, + { + "id": 40, + "price": 129, + "marketPrice": 135, + "flashPrice": 129, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 41, + "price": 215, + "marketPrice": 230, + "flashPrice": 215, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 42, + "price": 119, + "marketPrice": 129, + "flashPrice": 119, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 43, + "price": 135, + "marketPrice": 160, + "flashPrice": null, + "isFlashAvailable": false, + "isOutOfStock": true, + "isSuspended": false + }, + { + "id": 44, + "price": 159, + "marketPrice": 170, + "flashPrice": 159, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 45, + "price": 15, + "marketPrice": 16, + "flashPrice": 15, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 46, + "price": 109, + "marketPrice": 130, + "flashPrice": null, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 47, + "price": 119, + "marketPrice": 130, + "flashPrice": null, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 48, + "price": 59, + "marketPrice": 68, + "flashPrice": 59, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 49, + "price": 159, + "marketPrice": 179, + "flashPrice": 159, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 50, + "price": 119, + "marketPrice": 128, + "flashPrice": null, + "isFlashAvailable": false, + "isOutOfStock": true, + "isSuspended": false + }, + { + "id": 51, + "price": 169, + "marketPrice": 180, + "flashPrice": null, + "isFlashAvailable": false, + "isOutOfStock": true, + "isSuspended": false + }, + { + "id": 52, + "price": 29, + "marketPrice": 40, + "flashPrice": null, + "isFlashAvailable": false, + "isOutOfStock": true, + "isSuspended": false + }, + { + "id": 53, + "price": 89, + "marketPrice": 109, + "flashPrice": null, + "isFlashAvailable": false, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 54, + "price": 280, + "marketPrice": 310, + "flashPrice": null, + "isFlashAvailable": false, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 55, + "price": 69, + "marketPrice": 80, + "flashPrice": null, + "isFlashAvailable": false, + "isOutOfStock": true, + "isSuspended": false + }, + { + "id": 56, + "price": 67, + "marketPrice": 72, + "flashPrice": null, + "isFlashAvailable": false, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 57, + "price": 59, + "marketPrice": 69, + "flashPrice": null, + "isFlashAvailable": false, + "isOutOfStock": true, + "isSuspended": false + }, + { + "id": 58, + "price": 59, + "marketPrice": 75, + "flashPrice": 59, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 59, + "price": 120, + "marketPrice": 130, + "flashPrice": 120, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 60, + "price": 79, + "marketPrice": 89, + "flashPrice": 79, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 61, + "price": 109, + "marketPrice": 119, + "flashPrice": 119, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 62, + "price": 99, + "marketPrice": 110, + "flashPrice": null, + "isFlashAvailable": true, + "isOutOfStock": true, + "isSuspended": false + }, + { + "id": 63, + "price": 269, + "marketPrice": 289, + "flashPrice": null, + "isFlashAvailable": true, + "isOutOfStock": true, + "isSuspended": false + }, + { + "id": 64, + "price": 69, + "marketPrice": 76, + "flashPrice": null, + "isFlashAvailable": false, + "isOutOfStock": true, + "isSuspended": false + }, + { + "id": 65, + "price": 16, + "marketPrice": 20, + "flashPrice": 17, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 66, + "price": 29, + "marketPrice": 35, + "flashPrice": 30, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 67, + "price": 35, + "marketPrice": 39, + "flashPrice": 35, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 68, + "price": 32, + "marketPrice": 34, + "flashPrice": null, + "isFlashAvailable": false, + "isOutOfStock": true, + "isSuspended": false + }, + { + "id": 69, + "price": 15, + "marketPrice": 19, + "flashPrice": 19, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 70, + "price": 19, + "marketPrice": 25, + "flashPrice": null, + "isFlashAvailable": false, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 71, + "price": 15, + "marketPrice": 22, + "flashPrice": null, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 72, + "price": 15, + "marketPrice": 20, + "flashPrice": 15, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 73, + "price": 59, + "marketPrice": 70, + "flashPrice": null, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 74, + "price": 29, + "marketPrice": 35, + "flashPrice": 29, + "isFlashAvailable": false, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 75, + "price": 529, + "marketPrice": 599, + "flashPrice": 529, + "isFlashAvailable": false, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 76, + "price": 29, + "marketPrice": 39, + "flashPrice": 39, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 77, + "price": 15, + "marketPrice": 20, + "flashPrice": 15, + "isFlashAvailable": false, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 78, + "price": 15, + "marketPrice": 19, + "flashPrice": 15, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 79, + "price": 39, + "marketPrice": 47, + "flashPrice": null, + "isFlashAvailable": true, + "isOutOfStock": true, + "isSuspended": false + }, + { + "id": 80, + "price": 799, + "marketPrice": 569, + "flashPrice": 819, + "isFlashAvailable": false, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 81, + "price": 569, + "marketPrice": 599, + "flashPrice": 569, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 82, + "price": 389, + "marketPrice": 419, + "flashPrice": 420, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 83, + "price": 210, + "marketPrice": 230, + "flashPrice": null, + "isFlashAvailable": false, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 84, + "price": 129, + "marketPrice": 149, + "flashPrice": null, + "isFlashAvailable": false, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 85, + "price": 259, + "marketPrice": 270, + "flashPrice": null, + "isFlashAvailable": false, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 86, + "price": 439, + "marketPrice": 440, + "flashPrice": 439, + "isFlashAvailable": false, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 87, + "price": 259, + "marketPrice": 300, + "flashPrice": null, + "isFlashAvailable": false, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 88, + "price": 99, + "marketPrice": 110, + "flashPrice": null, + "isFlashAvailable": true, + "isOutOfStock": true, + "isSuspended": false + }, + { + "id": 89, + "price": 13, + "marketPrice": 16, + "flashPrice": 13, + "isFlashAvailable": false, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 90, + "price": 27, + "marketPrice": 29, + "flashPrice": null, + "isFlashAvailable": false, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 91, + "price": 39, + "marketPrice": 44, + "flashPrice": null, + "isFlashAvailable": true, + "isOutOfStock": true, + "isSuspended": false + }, + { + "id": 92, + "price": 35, + "marketPrice": 39, + "flashPrice": 39, + "isFlashAvailable": false, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 93, + "price": 89, + "marketPrice": 96, + "flashPrice": null, + "isFlashAvailable": false, + "isOutOfStock": true, + "isSuspended": false + }, + { + "id": 94, + "price": 15, + "marketPrice": 19, + "flashPrice": 15, + "isFlashAvailable": false, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 95, + "price": 15, + "marketPrice": 19, + "flashPrice": 15, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 96, + "price": 109, + "marketPrice": 120, + "flashPrice": null, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 97, + "price": 19, + "marketPrice": 25, + "flashPrice": null, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 98, + "price": 419, + "marketPrice": 449, + "flashPrice": null, + "isFlashAvailable": false, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 99, + "price": 635, + "marketPrice": 660, + "flashPrice": null, + "isFlashAvailable": false, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 100, + "price": 109, + "marketPrice": 119, + "flashPrice": 109, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 101, + "price": 19, + "marketPrice": 23, + "flashPrice": 20, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 102, + "price": 498, + "marketPrice": 520, + "flashPrice": 499, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 103, + "price": 29, + "marketPrice": 35, + "flashPrice": null, + "isFlashAvailable": false, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 104, + "price": 49, + "marketPrice": 59, + "flashPrice": null, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 105, + "price": 59, + "marketPrice": 65, + "flashPrice": 59, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 106, + "price": 49, + "marketPrice": 59, + "flashPrice": 49, + "isFlashAvailable": true, + "isOutOfStock": true, + "isSuspended": false + }, + { + "id": 107, + "price": 49, + "marketPrice": 59, + "flashPrice": null, + "isFlashAvailable": false, + "isOutOfStock": true, + "isSuspended": false + }, + { + "id": 108, + "price": 39, + "marketPrice": 49, + "flashPrice": null, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 109, + "price": 49, + "marketPrice": 59, + "flashPrice": 49, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 110, + "price": 49, + "marketPrice": 59, + "flashPrice": null, + "isFlashAvailable": true, + "isOutOfStock": true, + "isSuspended": false + }, + { + "id": 111, + "price": 29, + "marketPrice": 39, + "flashPrice": null, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 112, + "price": 109, + "marketPrice": 120, + "flashPrice": 110, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 113, + "price": 39, + "marketPrice": 49, + "flashPrice": null, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 114, + "price": 49, + "marketPrice": 56, + "flashPrice": null, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 115, + "price": 99, + "marketPrice": 109, + "flashPrice": null, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 116, + "price": 29, + "marketPrice": 39, + "flashPrice": null, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 117, + "price": 59, + "marketPrice": 69, + "flashPrice": null, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 118, + "price": 39, + "marketPrice": 49, + "flashPrice": null, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 119, + "price": 119, + "marketPrice": 129, + "flashPrice": null, + "isFlashAvailable": false, + "isOutOfStock": true, + "isSuspended": false + }, + { + "id": 120, + "price": 119, + "marketPrice": 129, + "flashPrice": null, + "isFlashAvailable": false, + "isOutOfStock": true, + "isSuspended": false + }, + { + "id": 121, + "price": 49, + "marketPrice": 59, + "flashPrice": null, + "isFlashAvailable": false, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 122, + "price": 59, + "marketPrice": 65, + "flashPrice": 65, + "isFlashAvailable": false, + "isOutOfStock": true, + "isSuspended": false + }, + { + "id": 123, + "price": 111, + "marketPrice": 121, + "flashPrice": null, + "isFlashAvailable": false, + "isOutOfStock": true, + "isSuspended": false + }, + { + "id": 124, + "price": 69, + "marketPrice": 79, + "flashPrice": null, + "isFlashAvailable": false, + "isOutOfStock": true, + "isSuspended": false + }, + { + "id": 125, + "price": 169, + "marketPrice": 199, + "flashPrice": 169, + "isFlashAvailable": true, + "isOutOfStock": true, + "isSuspended": false + }, + { + "id": 126, + "price": 169, + "marketPrice": 199, + "flashPrice": null, + "isFlashAvailable": false, + "isOutOfStock": true, + "isSuspended": false + }, + { + "id": 127, + "price": 33, + "marketPrice": 38, + "flashPrice": null, + "isFlashAvailable": false, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 128, + "price": 589, + "marketPrice": 799, + "flashPrice": 625, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 129, + "price": 249, + "marketPrice": 299, + "flashPrice": 249, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 130, + "price": 300, + "marketPrice": 315, + "flashPrice": 269, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 131, + "price": 149, + "marketPrice": 189, + "flashPrice": 169, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 132, + "price": 299, + "marketPrice": 329, + "flashPrice": 310, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 133, + "price": 712, + "marketPrice": 759, + "flashPrice": 720, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 134, + "price": 169, + "marketPrice": 200, + "flashPrice": 179, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 135, + "price": 375, + "marketPrice": 399, + "flashPrice": 375, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 136, + "price": 199, + "marketPrice": 319, + "flashPrice": null, + "isFlashAvailable": false, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 137, + "price": 259, + "marketPrice": 269, + "flashPrice": 259, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 138, + "price": 339, + "marketPrice": 359, + "flashPrice": null, + "isFlashAvailable": false, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 139, + "price": 119, + "marketPrice": 139, + "flashPrice": null, + "isFlashAvailable": false, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 140, + "price": 129, + "marketPrice": 169, + "flashPrice": 129, + "isFlashAvailable": false, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 141, + "price": 399, + "marketPrice": 429, + "flashPrice": null, + "isFlashAvailable": false, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 142, + "price": 219, + "marketPrice": 249, + "flashPrice": null, + "isFlashAvailable": false, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 143, + "price": 210, + "marketPrice": 229, + "flashPrice": null, + "isFlashAvailable": false, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 144, + "price": 15, + "marketPrice": 19, + "flashPrice": 19, + "isFlashAvailable": true, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 145, + "price": 15, + "marketPrice": 19, + "flashPrice": null, + "isFlashAvailable": false, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 146, + "price": 15, + "marketPrice": 19, + "flashPrice": null, + "isFlashAvailable": false, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 147, + "price": 129, + "marketPrice": 149, + "flashPrice": null, + "isFlashAvailable": false, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 148, + "price": 59, + "marketPrice": 49, + "flashPrice": null, + "isFlashAvailable": false, + "isOutOfStock": false, + "isSuspended": false + }, + { + "id": 149, + "price": 149, + "marketPrice": 219, + "flashPrice": null, + "isFlashAvailable": false, + "isOutOfStock": false, + "isSuspended": false + } + ], + "count": 149 +} \ No newline at end of file diff --git a/apps/user-ui/tests/mocks/mock-products-response.json b/apps/user-ui/tests/mocks/mock-products-response.json new file mode 100644 index 0000000..6e3734d --- /dev/null +++ b/apps/user-ui/tests/mocks/mock-products-response.json @@ -0,0 +1,3537 @@ +{ + "products": [ + { + "id": 1, + "name": "Chicken Liver", + "shortDescription": "Liver sourced from the farm hens.", + "unit": "0.5Kg", + "unitNotation": "0.5Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 1, + "isOutOfStock": false, + "nextDeliveryDate": null, + "images": [ + "https://assets.freshyo.in/product-images/1768478127128-0", + "https://assets.freshyo.in/product-images/1768478472220-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 99, + "marketPrice": 110, + "flashPrice": null, + "isFlashAvailable": true + }, + { + "id": 2, + "name": "Chicken Breast 500 g", + "shortDescription": "Farm Chicken Breast uncut and solid.", + "unit": "0.5Kg", + "unitNotation": "0.5Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 1, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768397780093-0", + "https://assets.freshyo.in/product-images/1768479562478-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 215, + "marketPrice": 220, + "flashPrice": 215, + "isFlashAvailable": true + }, + { + "id": 3, + "name": "Chicken Lollipops", + "shortDescription": "Chicken cut for lollipop starter dish", + "unit": "0.25Kg", + "unitNotation": "0.25Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 1, + "isOutOfStock": true, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768475599800-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 99, + "marketPrice": 120, + "flashPrice": 120, + "isFlashAvailable": false + }, + { + "id": 4, + "name": "Mutton", + "shortDescription": "Fresh, tender mutton cut from quality goat meat, cleaned and prepared hygienically for rich taste and authentic curries.", + "unit": "1Kg", + "unitNotation": "1Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 1, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T06:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1767636171845-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 839, + "marketPrice": 860, + "flashPrice": null, + "isFlashAvailable": false + }, + { + "id": 5, + "name": "Cucumber(Kheera)", + "shortDescription": "High water content, helps hydration, and keeps the body cool.", + "unit": "0.25Kg", + "unitNotation": "0.25Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 4, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T12:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768710099841-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 15, + "marketPrice": 19, + "flashPrice": 15, + "isFlashAvailable": true + }, + { + "id": 6, + "name": "Apple ( pack of 3) ", + "shortDescription": "Kashmiri Apples", + "unit": "3Pc", + "unitNotation": "3Pc", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 2, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T06:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768640936747-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 109, + "marketPrice": 120, + "flashPrice": null, + "isFlashAvailable": true + }, + { + "id": 7, + "name": "Banana", + "shortDescription": "Fresh bananas with a naturally sweet taste and soft, creamy texture.", + "unit": "1Dz", + "unitNotation": "1Dz", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 2, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768640009078-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 69, + "marketPrice": 79, + "flashPrice": 69, + "isFlashAvailable": true + }, + { + "id": 8, + "name": "Kiwi", + "shortDescription": "Fresh kiwis with sweet-tart flavor, juicy green flesh, and edible seeds.", + "unit": "3pc", + "unitNotation": "3pc", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 2, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768647119198-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 129, + "marketPrice": 139, + "flashPrice": 129, + "isFlashAvailable": true + }, + { + "id": 9, + "name": "Apollo Fish", + "shortDescription": "Boneless\nFresh tuna fish, high in protein and omega-3, ideal for curries, grilling, and pan-fry.", + "unit": "0.7Kg", + "unitNotation": "0.7Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 1, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768832690994-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 296, + "marketPrice": 340, + "flashPrice": 320, + "isFlashAvailable": true + }, + { + "id": 10, + "name": "Chicken leg piece ", + "shortDescription": "6 pieces ", + "unit": "6Pc", + "unitNotation": "6Pc", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 1, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768390245969-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 269, + "marketPrice": 299, + "flashPrice": 269, + "isFlashAvailable": true + }, + { + "id": 11, + "name": "Nagpur orange (pack 5)", + "shortDescription": "Fresh oranges with juicy, sweet-tangy flesh and a refreshing citrus taste.", + "unit": "5Pc", + "unitNotation": "5Pc", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 2, + "isOutOfStock": true, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768641635898-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 119, + "marketPrice": 150, + "flashPrice": 150, + "isFlashAvailable": true + }, + { + "id": 12, + "name": "Lamb Mutton", + "shortDescription": "", + "unit": "1Kg", + "unitNotation": "1Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 1, + "isOutOfStock": true, + "nextDeliveryDate": null, + "images": [ + "https://assets.freshyo.in/product-images/1764500702143-0", + "https://assets.freshyo.in/product-images/1764500702144-1" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 850, + "marketPrice": 870, + "flashPrice": null, + "isFlashAvailable": false + }, + { + "id": 13, + "name": "Amla (Gooseberry)", + "shortDescription": "Fresh amla with a tangy, slightly sour taste and firm texture.", + "unit": "0.5Kg", + "unitNotation": "0.5Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 2, + "isOutOfStock": true, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768641988607-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 79, + "marketPrice": 89, + "flashPrice": 79, + "isFlashAvailable": false + }, + { + "id": 14, + "name": "Mutton Boti (Goat Intestines)", + "shortDescription": "Fresh mutton boti, rich in protein and iron, ideal for traditional curries and spicy dishes.", + "unit": "1Kg", + "unitNotation": "1Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 1, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T06:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768834170995-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 419, + "marketPrice": 450, + "flashPrice": 430, + "isFlashAvailable": false + }, + { + "id": 15, + "name": "Chicken Gizard", + "shortDescription": "Fresh, cleaned chicken gizzards with a rich, meaty texture-ideal for curries, fry recipes, and traditional dishes.", + "unit": "1Kg", + "unitNotation": "1Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 1, + "isOutOfStock": true, + "nextDeliveryDate": null, + "images": [ + "https://assets.freshyo.in/product-images/1768477813647-0", + "https://assets.freshyo.in/product-images/1768477813648-1" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 210, + "marketPrice": 250, + "flashPrice": null, + "isFlashAvailable": false + }, + { + "id": 16, + "name": "Arvi (Arbi) – Colocasia Root", + "shortDescription": "Fresh arvi with soft texture when cooked, ideal for curries, fries, and dry sabzi.", + "unit": "0.25Kg", + "unitNotation": "0.25Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 4, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T12:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1769397372526-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 16, + "marketPrice": 20, + "flashPrice": 16, + "isFlashAvailable": false + }, + { + "id": 17, + "name": "Tomato ", + "shortDescription": "Healthy, tasty, and fresh tomatoes", + "unit": "1Kg", + "unitNotation": "1Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 4, + "isOutOfStock": true, + "nextDeliveryDate": "2026-09-16T12:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768640233068-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 28, + "marketPrice": 35, + "flashPrice": null, + "isFlashAvailable": false + }, + { + "id": 18, + "name": "Onions ", + "shortDescription": "Fresh and flavorful onions for everyday cooking.", + "unit": "1Kg", + "unitNotation": "1Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 4, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T12:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1769351976737-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 59, + "marketPrice": 69, + "flashPrice": 65, + "isFlashAvailable": true + }, + { + "id": 19, + "name": "Potato", + "shortDescription": "Fresh, healthy potatoes perfect for every dish.", + "unit": "0.5Kg", + "unitNotation": "0.5Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 4, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T12:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768639707515-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 15, + "marketPrice": 19, + "flashPrice": 19, + "isFlashAvailable": true + }, + { + "id": 20, + "name": "Mutton Head", + "shortDescription": "Fresh mutton head rich in protein and collagen, ideal for traditional curries and soups.", + "unit": "1Pc", + "unitNotation": "1Pc", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 1, + "isOutOfStock": true, + "nextDeliveryDate": null, + "images": [ + "https://assets.freshyo.in/product-images/1769353802270-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 379, + "marketPrice": 400, + "flashPrice": null, + "isFlashAvailable": false + }, + { + "id": 21, + "name": "Whole chicken - fresh cut", + "shortDescription": "Fresh, tender whole chicken cleaned and cut hygienically for rich taste and high protein meals.", + "unit": "2Kg", + "unitNotation": "2Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 1, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768539930897-0", + "https://assets.freshyo.in/product-images/1768539930899-1" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 499, + "marketPrice": 519, + "flashPrice": 499, + "isFlashAvailable": false + }, + { + "id": 22, + "name": "Tuna Fish boneless ", + "shortDescription": "Fresh tuna fish, high in protein and omega-3, ideal for curries, grilling, and pan-fry.", + "unit": "0.5Kg", + "unitNotation": "0.5Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 1, + "isOutOfStock": true, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768834996932-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 649, + "marketPrice": 799, + "flashPrice": null, + "isFlashAvailable": false + }, + { + "id": 23, + "name": "Chicken ( regular cut )- Small pieces ", + "shortDescription": "Fresh, bone-in chicken pieces ideal for making rich and flavorful curries.", + "unit": "0.5Kg", + "unitNotation": "0.5Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 1, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1767635527063-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 127, + "marketPrice": 135, + "flashPrice": 127, + "isFlashAvailable": true + }, + { + "id": 24, + "name": "Chicken boneless", + "shortDescription": "Fresh, tender boneless chicken pieces, perfectly trimmed for quick cooking. Ideal for curries, stir-fries, grills, and biryanis.", + "unit": "0.5Kg", + "unitNotation": "0.5Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 1, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768484106870-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 215, + "marketPrice": 230, + "flashPrice": 215, + "isFlashAvailable": true + }, + { + "id": 25, + "name": "White Dragon Fruit", + "shortDescription": "Fresh white dragon fruit with mild sweetness and soft, juicy flesh.", + "unit": "1Pc", + "unitNotation": "1Pc", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 2, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768649838027-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 119, + "marketPrice": 130, + "flashPrice": null, + "isFlashAvailable": true + }, + { + "id": 26, + "name": "Fig (Anjeer)", + "shortDescription": "Fresh fig with a soft flesh and mild, naturally sweet flavor.", + "unit": "0.25Kg", + "unitNotation": "0.25Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 2, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768640645444-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 78, + "marketPrice": 94, + "flashPrice": null, + "isFlashAvailable": false + }, + { + "id": 27, + "name": "Brinjal ", + "shortDescription": "Fresh medium-sized brinjal, rich in fiber, low in calories, and ideal for everyday curries and fries.", + "unit": "0.25Kg", + "unitNotation": "0.25Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 4, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T12:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768639645423-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 13, + "marketPrice": 19, + "flashPrice": 13, + "isFlashAvailable": true + }, + { + "id": 28, + "name": "Mutton Boneless ", + "shortDescription": "Tender boneless mutton rich in protein, ideal for quick curries, fry, and kebabs.", + "unit": "0.5Kg", + "unitNotation": "0.5Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 1, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T12:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1769356702593-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 729, + "marketPrice": 799, + "flashPrice": 729, + "isFlashAvailable": false + }, + { + "id": 29, + "name": " Bottle Gourd (Lauki)", + "shortDescription": "Fresh medium-sized bottle gourd, low in calories, high in water content, easy to digest, and ideal for healthy everyday cooking.", + "unit": "1Pc", + "unitNotation": "1Pc", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 4, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T12:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768823985921-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 29, + "marketPrice": 32, + "flashPrice": null, + "isFlashAvailable": true + }, + { + "id": 30, + "name": " Bitter Gourd (Karela)", + "shortDescription": "Fresh bitter gourd, known to help control blood sugar and support digestion.", + "unit": "0.25Kg", + "unitNotation": "0.25Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 4, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T12:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768726783083-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 17, + "marketPrice": 20, + "flashPrice": 17, + "isFlashAvailable": true + }, + { + "id": 31, + "name": "Lady Finger (Okra / Bhindi)", + "shortDescription": "Fresh tender lady finger, soft and non-fibrous, ideal for fries and curries.", + "unit": "0.25Kg", + "unitNotation": "0.25Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 4, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T12:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1769574792720-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 13, + "marketPrice": 16, + "flashPrice": 13, + "isFlashAvailable": true + }, + { + "id": 32, + "name": "Lemons ", + "shortDescription": "Farm-fresh lemons with high juice content and natural tangy flavor. Perfect for daily cooking, juices, and salads.", + "unit": "3Pc", + "unitNotation": "3Pc", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 4, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T12:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1766406273176-0", + "https://assets.freshyo.in/product-images/1766406273178-1" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 19, + "marketPrice": 25, + "flashPrice": 19, + "isFlashAvailable": true + }, + { + "id": 33, + "name": "Small Methi / Baby Fenugreek Leaves", + "shortDescription": "Fresh small methi leaves with a mild bitterness, perfect for everyday cooking and quick stir-fries.", + "unit": "8Pc", + "unitNotation": "8Pc", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 4, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T12:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1769396046557-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 15, + "marketPrice": 20, + "flashPrice": null, + "isFlashAvailable": false + }, + { + "id": 34, + "name": " Mutton Boneless – Mini Pack", + "shortDescription": "Tender boneless mutton, high in protein, easy to cook, ideal for quick curries and fry.", + "unit": "0.25Kg", + "unitNotation": "0.25Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 1, + "isOutOfStock": false, + "nextDeliveryDate": null, + "images": [ + "https://assets.freshyo.in/product-images/1769356039418-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 362, + "marketPrice": 399, + "flashPrice": 362, + "isFlashAvailable": false + }, + { + "id": 35, + "name": "Mutton kheema", + "shortDescription": "Freshly minced premium mutton, finely ground for rich flavor and juicy texture—perfect for kebabs, keema curry, cutlets, and stuffing.", + "unit": "0.5Kg", + "unitNotation": "0.5Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 1, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T06:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1767636561867-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 429, + "marketPrice": 450, + "flashPrice": null, + "isFlashAvailable": false + }, + { + "id": 36, + "name": "Chicken Leg With Thigh Pack of 3", + "shortDescription": "Fresh chicken leg with thigh, cut from tender, juicy chicken. Rich in flavor, naturally succulent, and ideal for frying, roasting, grilling, and curries.", + "unit": "1Kg", + "unitNotation": "1Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 1, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768413754684-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 269, + "marketPrice": 289, + "flashPrice": 269, + "isFlashAvailable": true + }, + { + "id": 37, + "name": "Drum sticks ", + "shortDescription": "Rich in fiber, vitamins, supports digestion.", + "unit": "6Pc", + "unitNotation": "6Pc", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 4, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T12:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1766636589779-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 49, + "marketPrice": 59, + "flashPrice": 49, + "isFlashAvailable": false + }, + { + "id": 38, + "name": "Sapota (Chikoo)", + "shortDescription": "Fresh sapota with a soft texture and naturally sweet, malty flavor.", + "unit": "1Kg", + "unitNotation": "1Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 2, + "isOutOfStock": true, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768640403001-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 76, + "marketPrice": 85, + "flashPrice": null, + "isFlashAvailable": true + }, + { + "id": 39, + "name": "Mango", + "shortDescription": "Fresh seasonal mangoes with juicy flesh and natural sweetness.", + "unit": "1Kg", + "unitNotation": "1Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 2, + "isOutOfStock": true, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768650081183-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 119, + "marketPrice": 140, + "flashPrice": 129, + "isFlashAvailable": true + }, + { + "id": 40, + "name": "Chicken (regular cut) Large pieces ", + "shortDescription": "Fresh chicken curry cut with large pieces, high in protein and ideal for rich gravies and slow cooking.", + "unit": "0.5Kg", + "unitNotation": "0.5Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 1, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1767637606890-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 127, + "marketPrice": 135, + "flashPrice": 127, + "isFlashAvailable": true + }, + { + "id": 41, + "name": "Chicken mince/kheema 500 g", + "shortDescription": "Fresh, lean chicken mince made from premium chicken meat. Finely ground, high in protein, low in fat—perfect for kebabs, cutlets, burgers, curries, and wraps.", + "unit": "0.5Kg", + "unitNotation": "0.5Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 1, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768307047191-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 215, + "marketPrice": 230, + "flashPrice": 215, + "isFlashAvailable": true + }, + { + "id": 42, + "name": "Chicken Breast Boneless - Mini Pack", + "shortDescription": "Fresh boneless chicken breast mini pack. Lean, tender, and high in protein—perfect for quick meals, salads, grilling, and stir-fries.", + "unit": "0.25Kg", + "unitNotation": "0.25Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 1, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768393778962-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 119, + "marketPrice": 129, + "flashPrice": 119, + "isFlashAvailable": true + }, + { + "id": 43, + "name": "Strawberry ", + "shortDescription": "Fresh, juicy strawberries with a natural sweetness and soft bite. Handpicked for vibrant color, rich aroma, and everyday freshness.", + "unit": "0.2Kg", + "unitNotation": "0.2Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 2, + "isOutOfStock": true, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768638795991-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 135, + "marketPrice": 160, + "flashPrice": null, + "isFlashAvailable": false + }, + { + "id": 44, + "name": " Oranges (pack of 5)", + "shortDescription": "Fresh, juicy oranges with a natural balance of sweetness and tang. Perfect for snacking or fresh juice.", + "unit": "5Pc", + "unitNotation": "5Pc", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 2, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768639090932-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 129, + "marketPrice": 139, + "flashPrice": 139, + "isFlashAvailable": true + }, + { + "id": 45, + "name": "Tomato\n", + "shortDescription": "Indian Tomato\n\nJuicy, tangy & ideal for all Indian curries\n500 g", + "unit": "0.5Kg", + "unitNotation": "0.5Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 4, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T12:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768639292540-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 15, + "marketPrice": 16, + "flashPrice": 15, + "isFlashAvailable": true + }, + { + "id": 46, + "name": "Pomegranate ", + "shortDescription": "Fresh pomegranate with deep red seeds and a naturally sweet-tangy taste.", + "unit": "3Pc", + "unitNotation": "3Pc", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 2, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768639705530-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 109, + "marketPrice": 130, + "flashPrice": null, + "isFlashAvailable": true + }, + { + "id": 47, + "name": "Green Apple (pack 2) ", + "shortDescription": "Crisp green apples with a tangy-sweet taste and firm, juicy texture.", + "unit": "2Pc", + "unitNotation": "2Pc", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 2, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768642455479-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 119, + "marketPrice": 130, + "flashPrice": null, + "isFlashAvailable": true + }, + { + "id": 48, + "name": "Guava (Jama Kaya)", + "shortDescription": "Fresh guavas with a sweet-tangy flavor and crisp, juicy texture.", + "unit": "0.5Kg", + "unitNotation": "0.5Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 2, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768642724520-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 59, + "marketPrice": 68, + "flashPrice": 59, + "isFlashAvailable": true + }, + { + "id": 49, + "name": "Pear", + "shortDescription": "Fresh pears with soft, juicy texture and a naturally sweet flavor.", + "unit": "3Pc", + "unitNotation": "3Pc", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 2, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768643138910-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 159, + "marketPrice": 179, + "flashPrice": 159, + "isFlashAvailable": true + }, + { + "id": 50, + "name": "Alu Bukhara (Plum / Prunes)", + "shortDescription": "Fresh plums (Alu Bukhara) with a juicy, sweet‑tart flavor, perfect for snacking or making chutneys and juices.", + "unit": "0.6Kg", + "unitNotation": "0.6Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 2, + "isOutOfStock": true, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768643354251-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 119, + "marketPrice": 128, + "flashPrice": null, + "isFlashAvailable": false + }, + { + "id": 51, + "name": "Shahtoot (Mulberry)", + "shortDescription": "Fresh mulberries with a naturally sweet flavor and juicy, soft texture.", + "unit": "0.25Kg", + "unitNotation": "0.25Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 2, + "isOutOfStock": true, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768646295695-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 169, + "marketPrice": 180, + "flashPrice": null, + "isFlashAvailable": false + }, + { + "id": 52, + "name": "Sugarcane", + "shortDescription": "Fresh sugarcane stalks with natural sweetness, juicy and perfect for chewing or juice extraction.", + "unit": "2Pc", + "unitNotation": "2Pc", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 2, + "isOutOfStock": true, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768646744949-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 29, + "marketPrice": 40, + "flashPrice": null, + "isFlashAvailable": false + }, + { + "id": 53, + "name": "Hass Avocado", + "shortDescription": "Creamy Hass avocados with rich, buttery texture and mild, nutty flavor.", + "unit": "1pc", + "unitNotation": "1pc", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 2, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768646932088-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 89, + "marketPrice": 109, + "flashPrice": null, + "isFlashAvailable": false + }, + { + "id": 54, + "name": "Blueberry", + "shortDescription": "Fresh blueberries with a sweet-tart flavor, juicy texture, and rich purple color.", + "unit": "0.15Kg", + "unitNotation": "0.15Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 2, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768649454994-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 280, + "marketPrice": 310, + "flashPrice": null, + "isFlashAvailable": false + }, + { + "id": 55, + "name": "Muscat Grapes", + "shortDescription": "Fresh seasonal mangoes with juicy flesh and natural sweetness.", + "unit": "0.25Kg", + "unitNotation": "0.25Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 2, + "isOutOfStock": true, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768650709484-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 69, + "marketPrice": 80, + "flashPrice": null, + "isFlashAvailable": false + }, + { + "id": 56, + "name": "Muskmelon (Kharbuja)", + "shortDescription": "For bigger-sized muskmelon, choose the 1 kg option.", + "unit": "1Kg", + "unitNotation": "1Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 2, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768651334320-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 67, + "marketPrice": 72, + "flashPrice": null, + "isFlashAvailable": false + }, + { + "id": 57, + "name": "Pineapple", + "shortDescription": "Note: This is a medium-size pineapple.", + "unit": "1Pc", + "unitNotation": "1Pc", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 2, + "isOutOfStock": true, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768651774899-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 59, + "marketPrice": 69, + "flashPrice": null, + "isFlashAvailable": false + }, + { + "id": 58, + "name": "Papaya", + "shortDescription": "Note: This is a medium-size papaya.", + "unit": "1Pc", + "unitNotation": "1Pc", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 2, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768652061701-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 59, + "marketPrice": 75, + "flashPrice": 59, + "isFlashAvailable": true + }, + { + "id": 59, + "name": "Watermelon", + "shortDescription": "Add 1kg if you want watermelon in big size", + "unit": "3Kg", + "unitNotation": "3Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 2, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768653009851-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 120, + "marketPrice": 130, + "flashPrice": 120, + "isFlashAvailable": true + }, + { + "id": 60, + "name": "Green Grapes", + "shortDescription": "Supports immunity, provides natural energy, and is rich in antioxidants.", + "unit": "0.5Kg", + "unitNotation": "0.5Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 2, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768653997561-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 79, + "marketPrice": 89, + "flashPrice": 79, + "isFlashAvailable": true + }, + { + "id": 61, + "name": "Red Globe Grapes", + "shortDescription": "High in antioxidants, supports immunity, and provides natural energy. Seeded", + "unit": "0.25Kg", + "unitNotation": "0.25Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 2, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768654475850-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 109, + "marketPrice": 119, + "flashPrice": 119, + "isFlashAvailable": true + }, + { + "id": 62, + "name": "Black beauty Grapes", + "shortDescription": "Supports immunity, rich in antioxidants, and provides natural energy.", + "unit": "0.25Kg", + "unitNotation": "0.25Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 2, + "isOutOfStock": true, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768654740988-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 99, + "marketPrice": 110, + "flashPrice": null, + "isFlashAvailable": true + }, + { + "id": 63, + "name": "Pink Dragon Fruit", + "shortDescription": "Boosts immunity, rich in antioxidants, supports digestion, and provides natural energy.", + "unit": "2Pc", + "unitNotation": "2Pc", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 2, + "isOutOfStock": true, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768658094891-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 269, + "marketPrice": 289, + "flashPrice": null, + "isFlashAvailable": true + }, + { + "id": 64, + "name": "Broccoli", + "shortDescription": "Note: This is a medium-size broccoli.\nRich in fiber and vitamins, supports digestion and overall nutrition.", + "unit": "1Pc", + "unitNotation": "1Pc", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 4, + "isOutOfStock": true, + "nextDeliveryDate": "2026-09-16T12:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768709567040-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 69, + "marketPrice": 76, + "flashPrice": null, + "isFlashAvailable": false + }, + { + "id": 65, + "name": "Beetroot", + "shortDescription": "Supports blood health, rich in fiber, and helps maintain energy levels.", + "unit": "0.25Kg", + "unitNotation": "0.25Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 4, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T12:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768710434326-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 16, + "marketPrice": 20, + "flashPrice": 17, + "isFlashAvailable": true + }, + { + "id": 66, + "name": "Cabbage(Patta Gobhi)", + "shortDescription": "Note: This is a medium-size cabbage.\nRich in fiber, supports digestion, and low in calories.", + "unit": "1Pc", + "unitNotation": "1Pc", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 4, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T12:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768710760133-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 29, + "marketPrice": 35, + "flashPrice": 30, + "isFlashAvailable": true + }, + { + "id": 67, + "name": "Cauliflower(Phool Gobhi)", + "shortDescription": "Note: This is a medium-size cauliflower.\nHigh in fiber and vitamin C, supports digestion and immunity.", + "unit": "1Pc", + "unitNotation": "1Pc", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 4, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T12:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768711261174-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 35, + "marketPrice": 39, + "flashPrice": 35, + "isFlashAvailable": true + }, + { + "id": 68, + "name": "Sweet Potato", + "shortDescription": "High in fiber, supports digestion, and provides natural energy.", + "unit": "0.5Kg", + "unitNotation": "0.5Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 4, + "isOutOfStock": true, + "nextDeliveryDate": "2026-09-16T12:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768711919135-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 32, + "marketPrice": 34, + "flashPrice": null, + "isFlashAvailable": false + }, + { + "id": 69, + "name": "Carrot", + "shortDescription": "Rich in vitamin A, supports eye health and immunity.", + "unit": "0.25Kg", + "unitNotation": "0.25Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 4, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T12:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768712093829-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 15, + "marketPrice": 19, + "flashPrice": 19, + "isFlashAvailable": true + }, + { + "id": 70, + "name": "White Radish(Mooli)", + "shortDescription": "Aids digestion, rich in fibre, supports gut health.", + "unit": "2Pc", + "unitNotation": "2Pc", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 4, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T12:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768712490280-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 19, + "marketPrice": 25, + "flashPrice": null, + "isFlashAvailable": false + }, + { + "id": 71, + "name": "Curry Leaves(Karivepak)\n", + "shortDescription": "1 bunch\nAdds aroma, supports digestion, and enhances flavour in cooking.", + "unit": "1Pc", + "unitNotation": "1Pc", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 4, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T12:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768713206145-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 15, + "marketPrice": 22, + "flashPrice": null, + "isFlashAvailable": true + }, + { + "id": 72, + "name": "Spinach (Palak)", + "shortDescription": "Rich in iron, supports blood health, and boosts immunity.", + "unit": "7Pc", + "unitNotation": "7Pc", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 4, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T12:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768713537512-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 15, + "marketPrice": 20, + "flashPrice": 15, + "isFlashAvailable": true + }, + { + "id": 73, + "name": "Coconut", + "shortDescription": "Rich in natural electrolytes, supports hydration, and provides energy.", + "unit": "1Pc", + "unitNotation": "1Pc", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 2, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768718685357-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 59, + "marketPrice": 70, + "flashPrice": null, + "isFlashAvailable": true + }, + { + "id": 74, + "name": "Fenugreek Leaves(Methi)", + "shortDescription": "Rich in vitamins, supports digestion, and enhances flavor in cooking.", + "unit": "1Pc", + "unitNotation": "1Pc", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 4, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T12:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768713886512-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 29, + "marketPrice": 35, + "flashPrice": 29, + "isFlashAvailable": false + }, + { + "id": 75, + "name": "Murrel / Korameenu / కోరమీను - Live", + "shortDescription": "Fresh murrel fish, high in protein, known for aiding recovery and boosting strength.", + "unit": "1Kg", + "unitNotation": "1Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 1, + "isOutOfStock": false, + "nextDeliveryDate": null, + "images": [ + "https://assets.freshyo.in/product-images/1768817786453-0", + "https://assets.freshyo.in/product-images/1768817786455-1" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 529, + "marketPrice": 599, + "flashPrice": 529, + "isFlashAvailable": false + }, + { + "id": 76, + "name": "Coriander Leaves (Kothimeer)", + "shortDescription": "Fresh coriander leaves with a strong aroma, perfect for garnishing and cooking.", + "unit": "1Pc", + "unitNotation": "1Pc", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 4, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T12:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768727264220-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 29, + "marketPrice": 39, + "flashPrice": 39, + "isFlashAvailable": true + }, + { + "id": 77, + "name": "Gongura (Sorrel Leaves)", + "shortDescription": "Fresh gongura leaves with a natural tangy taste, perfect for traditional Andhra dishes and chutneys.", + "unit": "8Pc", + "unitNotation": "8Pc", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 4, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T12:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1769396724595-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 15, + "marketPrice": 20, + "flashPrice": 15, + "isFlashAvailable": false + }, + { + "id": 78, + "name": "Green Chillies", + "shortDescription": "Fresh green chillies rich in vitamin C, add heat and flavor to everyday cooking.", + "unit": "0.25Kg", + "unitNotation": "0.25Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 4, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T12:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1769241234003-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 15, + "marketPrice": 19, + "flashPrice": 15, + "isFlashAvailable": true + }, + { + "id": 79, + "name": "Red Carrot ", + "shortDescription": "Big-sized red carrots with natural sweetness, ideal for salads, juices, and cooking.", + "unit": "0.5Kg", + "unitNotation": "0.5Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 4, + "isOutOfStock": true, + "nextDeliveryDate": "2026-09-16T12:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1768822893380-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 39, + "marketPrice": 47, + "flashPrice": null, + "isFlashAvailable": true + }, + { + "id": 80, + "name": "Country Chicken (Desi / Natu Kodi) live .", + "shortDescription": "Fresh country chicken, high in protein and rich in natural flavor, ideal for traditional slow-cooked dishes.", + "unit": "1Kg", + "unitNotation": "1Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 1, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1769063336125-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 799, + "marketPrice": 569, + "flashPrice": 819, + "isFlashAvailable": false + }, + { + "id": 81, + "name": "Tigers prawns large ", + "shortDescription": "Premium tiger prawns rich in protein and omega-3, ideal for grilling, frying, and special dishes.", + "unit": "0.8Kg", + "unitNotation": "0.8Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 1, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1769063467386-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 569, + "marketPrice": 599, + "flashPrice": 569, + "isFlashAvailable": true + }, + { + "id": 82, + "name": "Fresh Prawns – Medium (Cleaned & Deveined)", + "shortDescription": "High in protein and omega-3, supports muscle growth and heart health.", + "unit": "0.75Kg", + "unitNotation": "0.75Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 1, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1782023099986.png" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 389, + "marketPrice": 419, + "flashPrice": 420, + "isFlashAvailable": true + }, + { + "id": 83, + "name": "Rohu- రోహు live ", + "shortDescription": "Fresh rohu fish rich in protein and omega-3, ideal for everyday curries and home cooking.", + "unit": "1Kg", + "unitNotation": "1Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 1, + "isOutOfStock": false, + "nextDeliveryDate": null, + "images": [ + "https://assets.freshyo.in/product-images/1769149204037-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 210, + "marketPrice": 230, + "flashPrice": null, + "isFlashAvailable": false + }, + { + "id": 84, + "name": "Mutton Brain (Bheja). మటన్ బ్రెయిన్ (భేజా)", + "shortDescription": "Fresh mutton brain, rich in healthy fats and protein, ideal for traditional bheja fry and curries.", + "unit": "1Pc", + "unitNotation": "1Pc", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 1, + "isOutOfStock": false, + "nextDeliveryDate": null, + "images": [ + "https://assets.freshyo.in/1769149707440-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 129, + "marketPrice": 149, + "flashPrice": null, + "isFlashAvailable": false + }, + { + "id": 85, + "name": "Mutton Paya (Goat Trotters)", + "shortDescription": "Fresh mutton paya rich in collagen and minerals, ideal for nourishing paya soup.", + "unit": "4Pc", + "unitNotation": "4Pc", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 1, + "isOutOfStock": false, + "nextDeliveryDate": null, + "images": [ + "https://assets.freshyo.in/product-images/1769150471654-0", + "https://assets.freshyo.in/product-images/1769150471655-1" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 259, + "marketPrice": 270, + "flashPrice": null, + "isFlashAvailable": false + }, + { + "id": 86, + "name": "Mutton Chops - మటన్ చాప్స్", + "shortDescription": "Fresh mutton chops, rich in protein and iron, ideal for curries and slow cooking.", + "unit": "0.5Kg", + "unitNotation": "0.5Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 1, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T06:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1769151216776-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 439, + "marketPrice": 440, + "flashPrice": 439, + "isFlashAvailable": false + }, + { + "id": 87, + "name": "Mutton Soup Bones -మటన్ సూప్ ఎముకలు", + "shortDescription": "Fresh mutton soup bones rich in collagen and minerals, ideal for nourishing soups and broths.", + "unit": "0.5Kg", + "unitNotation": "0.5Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 1, + "isOutOfStock": false, + "nextDeliveryDate": null, + "images": [ + "https://assets.freshyo.in/product-images/1769151844424-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 259, + "marketPrice": 300, + "flashPrice": null, + "isFlashAvailable": false + }, + { + "id": 88, + "name": "Purple Cabbage (Red Cabbage)", + "shortDescription": "Medium-sized purple cabbage\nFresh purple cabbage rich in antioxidants and fiber, supports digestion and immunity.", + "unit": "1Pc", + "unitNotation": "1Pc", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 4, + "isOutOfStock": true, + "nextDeliveryDate": "2026-09-16T12:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1769394457296-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 99, + "marketPrice": 110, + "flashPrice": null, + "isFlashAvailable": true + }, + { + "id": 89, + "name": "Light Purple Brinjal", + "shortDescription": "Fresh light purple brinjal rich in fiber and antioxidants, ideal for curries and fries.", + "unit": "0.25Kg", + "unitNotation": "0.25Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 4, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T12:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1769395184980-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 13, + "marketPrice": 16, + "flashPrice": 13, + "isFlashAvailable": false + }, + { + "id": 90, + "name": "Indian Yellow Cucumber (Madras / Dosakai)", + "shortDescription": "Fresh Indian yellow cucumber, also known as Madras cucumber, mild and crisp, perfect for salads, pickles, and cooking.", + "unit": "0.5Kg", + "unitNotation": "0.5Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 4, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T12:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1769398103853-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 27, + "marketPrice": 29, + "flashPrice": null, + "isFlashAvailable": false + }, + { + "id": 91, + "name": "Green Peas", + "shortDescription": "Fresh green peas with natural sweetness, ideal for curries, pulao, and snacks.", + "unit": "0.5Kg", + "unitNotation": "0.5Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 4, + "isOutOfStock": true, + "nextDeliveryDate": "2026-09-16T12:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1769398710713-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 39, + "marketPrice": 44, + "flashPrice": null, + "isFlashAvailable": true + }, + { + "id": 92, + "name": "French Beans (Chikkudukaya)", + "shortDescription": "Fresh Benis with crisp texture, ideal for stir-fries, curries, and salads.", + "unit": "0.25Kg", + "unitNotation": "0.25Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 4, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T12:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1769399617573-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 35, + "marketPrice": 39, + "flashPrice": 39, + "isFlashAvailable": false + }, + { + "id": 93, + "name": "Red & Yellow Capsicum (Bell Peppers)", + "shortDescription": "Fresh red and yellow capsicum with crisp texture and mild sweetness, perfect for cooking and salads.", + "unit": "0.5Kg", + "unitNotation": "0.5Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 4, + "isOutOfStock": true, + "nextDeliveryDate": null, + "images": [ + "https://assets.freshyo.in/product-images/1769571126092-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 89, + "marketPrice": 96, + "flashPrice": null, + "isFlashAvailable": false + }, + { + "id": 94, + "name": "Gawar Beans (Cluster Beans)", + "shortDescription": "Fresh tender gawar beans, ideal for stir-fries, curries, and traditional dishes.", + "unit": "0.25Kg", + "unitNotation": "0.25Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 4, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T12:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1769571810861-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 15, + "marketPrice": 19, + "flashPrice": 15, + "isFlashAvailable": false + }, + { + "id": 95, + "name": "Dondakaya (Ivy Gourd)", + "shortDescription": "Fresh tender ivy gourd, ideal for fries, stir-fries, and curries.", + "unit": "0.25Kg", + "unitNotation": "0.25Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 4, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T12:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1769571978680-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 15, + "marketPrice": 19, + "flashPrice": 15, + "isFlashAvailable": true + }, + { + "id": 96, + "name": "Pineapple – Large", + "shortDescription": "Large-sized fresh pineapple with juicy, sweet-tangy flesh.", + "unit": "1Pc", + "unitNotation": "1Pc", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 2, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1769576743718-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 109, + "marketPrice": 120, + "flashPrice": null, + "isFlashAvailable": true + }, + { + "id": 97, + "name": "Pudina (Mint Leaves)", + "shortDescription": "Fresh aromatic mint leaves, ideal for chutneys, curries, and drinks.", + "unit": "1Pc", + "unitNotation": "1Pc", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 4, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T12:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1769577010969-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 19, + "marketPrice": 25, + "flashPrice": null, + "isFlashAvailable": true + }, + { + "id": 98, + "name": "Mutton Curry Cut (Regular)– 500 g", + "shortDescription": "Fresh mutton curry cut with bone, suitable for everyday curries.", + "unit": "0.5Kg", + "unitNotation": "0.5Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 1, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T06:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1770051810386-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 419, + "marketPrice": 449, + "flashPrice": null, + "isFlashAvailable": false + }, + { + "id": 99, + "name": "Mutton Curry Cut (Regular) – 750 g", + "shortDescription": "Fresh mutton curry cut with bone, ideal for family-sized curries.", + "unit": "0.75Kg", + "unitNotation": "0.75Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 1, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T06:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1770051959669-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 635, + "marketPrice": 660, + "flashPrice": null, + "isFlashAvailable": false + }, + { + "id": 100, + "name": "Irani Apple. Pack of (4)", + "shortDescription": "Fresh Irani apples with crisp texture and mildly sweet taste.", + "unit": "4Pc", + "unitNotation": "4Pc", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 2, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1770212631435-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 109, + "marketPrice": 119, + "flashPrice": 109, + "isFlashAvailable": true + }, + { + "id": 101, + "name": "Coriander Leaves (Kothimeer) small 1 ", + "shortDescription": "", + "unit": "1Pc", + "unitNotation": "1Pc", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 4, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T12:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1771249922306-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 19, + "marketPrice": 23, + "flashPrice": 20, + "isFlashAvailable": true + }, + { + "id": 102, + "name": " Basa Fish Fillets", + "shortDescription": null, + "unit": "0.7Kg", + "unitNotation": "0.7Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 1, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1771411526889-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 498, + "marketPrice": 520, + "flashPrice": 499, + "isFlashAvailable": true + }, + { + "id": 103, + "name": "Ridge Gourd (Turai) ..(Beerkaya)", + "shortDescription": "", + "unit": "0.5Kg", + "unitNotation": "0.5Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 4, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T12:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1771647812442-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 29, + "marketPrice": 35, + "flashPrice": null, + "isFlashAvailable": false + }, + { + "id": 104, + "name": "Green grape fresh juice", + "shortDescription": "Refreshing juice made from freshly crushed sweet green grapes.", + "unit": "0.2L", + "unitNotation": "0.2L", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 8, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1773126251435-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 49, + "marketPrice": 59, + "flashPrice": null, + "isFlashAvailable": true + }, + { + "id": 105, + "name": "Fresh fig juice (anjeer) ", + "shortDescription": "Naturally sweet juice made from fresh and ripe figs", + "unit": "0.2L", + "unitNotation": "0.2L", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 8, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1773126524403-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 59, + "marketPrice": 65, + "flashPrice": 59, + "isFlashAvailable": true + }, + { + "id": 106, + "name": "Chikoo (sapota)fresh juice", + "shortDescription": "Creamy and naturally sweet juice made juice from fresh ripe chikoo", + "unit": "0.2L", + "unitNotation": "0.2L", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 8, + "isOutOfStock": true, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1773127805418-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 49, + "marketPrice": 59, + "flashPrice": 49, + "isFlashAvailable": true + }, + { + "id": 107, + "name": "Fresh mango juice", + "shortDescription": "Sweet and refreshing juice made from freshly blended ripe mangoes", + "unit": "0.2L", + "unitNotation": "0.2L", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 8, + "isOutOfStock": true, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1773128056033-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 49, + "marketPrice": 59, + "flashPrice": null, + "isFlashAvailable": false + }, + { + "id": 108, + "name": "Fresh orange juice", + "shortDescription": "Refreshing juice made from freshly squeezed sweet oranges", + "unit": "0.2L", + "unitNotation": "0.2L", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 8, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1773128303272-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 39, + "marketPrice": 49, + "flashPrice": null, + "isFlashAvailable": true + }, + { + "id": 109, + "name": "Fresh apple juice", + "shortDescription": "Naturally sweet and refreshing juice made from fresh apples", + "unit": "0.2L", + "unitNotation": "0.2L", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 8, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1773129061191-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 49, + "marketPrice": 59, + "flashPrice": 49, + "isFlashAvailable": true + }, + { + "id": 110, + "name": "Fresh strawberry juice", + "shortDescription": "Sweet and refreshing juice made from fresh ripe strawberries", + "unit": "0.2L", + "unitNotation": "0.2L", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 8, + "isOutOfStock": true, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1773129209100-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 49, + "marketPrice": 59, + "flashPrice": null, + "isFlashAvailable": true + }, + { + "id": 111, + "name": "Fresh watermelon juice", + "shortDescription": "Cool and refreshing juice made from juicy fresh watermelon", + "unit": "0.2L", + "unitNotation": "0.2L", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 8, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1773566003997-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 29, + "marketPrice": 39, + "flashPrice": null, + "isFlashAvailable": true + }, + { + "id": 112, + "name": "Fresh avocado juice", + "shortDescription": "Creamy and nutritious juice made from fresh ripe avocados", + "unit": "0.2L", + "unitNotation": "0.2L", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 8, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1773130741608-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 109, + "marketPrice": 120, + "flashPrice": 110, + "isFlashAvailable": true + }, + { + "id": 113, + "name": "Fresh muskmelon juice", + "shortDescription": "Naturally sweet and refreshing juice made from fresh muskmelon (karbuja) ", + "unit": "0.2L", + "unitNotation": "0.2L", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 8, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1773566035297-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 39, + "marketPrice": 49, + "flashPrice": null, + "isFlashAvailable": true + }, + { + "id": 114, + "name": "Fresh papaya juice", + "shortDescription": "Naturally sweet and healthy juice made from ripe fresh papaya", + "unit": "0.2L", + "unitNotation": "0.2L", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 8, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1773566115806-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 49, + "marketPrice": 56, + "flashPrice": null, + "isFlashAvailable": true + }, + { + "id": 115, + "name": "Fresh kiwi juice", + "shortDescription": "Tangy and refreshing juice made from fresh ripe kiwi fruits", + "unit": "0.2L", + "unitNotation": "0.2L", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 8, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1773566605539-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 99, + "marketPrice": 109, + "flashPrice": null, + "isFlashAvailable": true + }, + { + "id": 116, + "name": "Fresh banana juice", + "shortDescription": "Creamy and naturally sweet juice made from fresh ripe bananas ", + "unit": "0.2L", + "unitNotation": "0.2L", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 8, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1773209103816-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 29, + "marketPrice": 39, + "flashPrice": null, + "isFlashAvailable": true + }, + { + "id": 117, + "name": "Fresh black grape juice", + "shortDescription": "Sweet and refreshing juice made from fresh black grapes", + "unit": "0.2L", + "unitNotation": "0.2L", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 8, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1773222507937-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 59, + "marketPrice": 69, + "flashPrice": null, + "isFlashAvailable": true + }, + { + "id": 118, + "name": "Fresh mosambi juice", + "shortDescription": "Refreshing and naturally sweet juice made from fresh mosambi (sweet lime) ", + "unit": "0.2L", + "unitNotation": "0.2L", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 8, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1773224238549-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 39, + "marketPrice": 49, + "flashPrice": null, + "isFlashAvailable": true + }, + { + "id": 119, + "name": "Shahtoot Malai (Mulberry Cream Dessert) ", + "shortDescription": "Rich and creamy shahtoot malai made with fresh mulberries, smooth cream and a perfect touch of sweetness-refreshing, fruity and indulgent in every bite", + "unit": "1Pc", + "unitNotation": "1Pc", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 8, + "isOutOfStock": true, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1774961460199-0", + "https://assets.freshyo.in/product-images/1774961460203-1" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 119, + "marketPrice": 129, + "flashPrice": null, + "isFlashAvailable": false + }, + { + "id": 120, + "name": "Kaddu ki kheer", + "shortDescription": "Deliciously creamy kaddu ki kheer made with fresh bottle gourd(louki), rich in milk, and dry fruits-light nutritious, and perfectly sweet", + "unit": "1Pc", + "unitNotation": "1Pc", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 8, + "isOutOfStock": true, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1774961917278-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 119, + "marketPrice": 129, + "flashPrice": null, + "isFlashAvailable": false + }, + { + "id": 121, + "name": "Badam milk", + "shortDescription": "Rich and refreshing badam milk made with premium almonds, milk and a hint of saffron-nutritious, creamy and delicious", + "unit": "0.2L", + "unitNotation": "0.2L", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 8, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1774967050357-0" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 49, + "marketPrice": 59, + "flashPrice": null, + "isFlashAvailable": false + }, + { + "id": 122, + "name": "Custard Fruit salad ", + "shortDescription": "A refreshing mix of freshly cut, juicy fruits packed with natural sweetness, vitamins and vibrant flavours- perfect for a healthy snack anytime", + "unit": "1Pc", + "unitNotation": "1Pc", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 8, + "isOutOfStock": true, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1776166347889.png" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 59, + "marketPrice": 65, + "flashPrice": 65, + "isFlashAvailable": false + }, + { + "id": 123, + "name": "Malai fruit salad", + "shortDescription": "A rich and creamy blend of fresh fruits mixed with sweet, smooth malai-perfectly indulgent and refreshing in every bite", + "unit": "1Pc", + "unitNotation": "1Pc", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 8, + "isOutOfStock": true, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1776166580757.png" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 111, + "marketPrice": 121, + "flashPrice": null, + "isFlashAvailable": false + }, + { + "id": 124, + "name": "Mango lassi", + "shortDescription": "A creamy and refreshing blend of sweet mangoes and chilled yogurt, perfectly smooth and naturally delicious", + "unit": "1Pc", + "unitNotation": "1Pc", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 8, + "isOutOfStock": true, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1776166786776.png", + "https://assets.freshyo.in/product-images/1776166787107.jpg" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 69, + "marketPrice": 79, + "flashPrice": null, + "isFlashAvailable": false + }, + { + "id": 125, + "name": "Kesari mango", + "shortDescription": "Sweet, juicy and aromatic, kesari mango is known for its saffron-colored pulp and irresistible flavor", + "unit": "1Kg", + "unitNotation": "1Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 2, + "isOutOfStock": true, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1777263925402.jpg" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 169, + "marketPrice": 199, + "flashPrice": 169, + "isFlashAvailable": true + }, + { + "id": 126, + "name": "Mallika mango", + "shortDescription": "The Mallika Mango is a premium indian hybrid mango known for its rich sweetness, juicy fiberless pulp, and strong fruity aroma. It has deep orange flesh with delicious honey, and melon like flavours, making it one of the tastiest mango varieties", + "unit": "1Kg", + "unitNotation": "1Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 2, + "isOutOfStock": true, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1778175573767.jpg" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 169, + "marketPrice": 199, + "flashPrice": null, + "isFlashAvailable": false + }, + { + "id": 127, + "name": "Capsicun", + "shortDescription": "Fresh green capsicum, crisp and flavorful, perfect for salads, curries, stir-fries, and snacks", + "unit": "0.25Kg", + "unitNotation": "0.25Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 4, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T12:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1781711355656.png" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 33, + "marketPrice": 38, + "flashPrice": null, + "isFlashAvailable": false + }, + { + "id": 128, + "name": "Country Chicken (Farm Raised) ", + "shortDescription": "This is a country chicken raised to grow like a farm chicken. Not truly 'Naatu' but much better than broiler chicken", + "unit": "1Kg", + "unitNotation": "1Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 1, + "isOutOfStock": false, + "nextDeliveryDate": null, + "images": [ + "https://assets.freshyo.in/product-images/1783237670627.png", + "https://assets.freshyo.in/product-images/1783237718972.jpg" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 589, + "marketPrice": 799, + "flashPrice": 625, + "isFlashAvailable": true + }, + { + "id": 129, + "name": "Cashew (kaju) ", + "shortDescription": "Premium quality kaju (cashew nuts)- fresh, crunchy, naturally rich in protein, healthy fats and essential nutrients. Perfect for snacking, cooking and desserts", + "unit": "0.25Kg", + "unitNotation": "0.25Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 9, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1784220823113.jpg" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 249, + "marketPrice": 299, + "flashPrice": 249, + "isFlashAvailable": true + }, + { + "id": 130, + "name": "Badam", + "shortDescription": "Premium Badam (Almonds) – fresh, crunchy, and naturally rich in protein, fiber, vitamin E, and healthy fats. Perfect for daily snacking and healthy living.", + "unit": "0.25Kg", + "unitNotation": "0.25Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 9, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1784698463282.jpg" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 300, + "marketPrice": 315, + "flashPrice": 269, + "isFlashAvailable": true + }, + { + "id": 131, + "name": "Raisins (kishmish) ", + "shortDescription": "Premium Kishmish (Raisins) – naturally sweet, soft, and rich in fiber, iron, and antioxidants. A healthy snack for everyday nutrition.", + "unit": "0.25Kg", + "unitNotation": "0.25Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 9, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1784221386651.jpg" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 149, + "marketPrice": 189, + "flashPrice": 169, + "isFlashAvailable": true + }, + { + "id": 132, + "name": "Dried figs (Anjeer) ", + "shortDescription": "Premium Anjeer (Dried Figs) – naturally sweet, soft, and rich in fiber, calcium, iron, and antioxidants. A delicious and nutritious snack", + "unit": "0.25Kg", + "unitNotation": "0.25Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 9, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1784221665870.jpg" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 299, + "marketPrice": 329, + "flashPrice": 310, + "isFlashAvailable": true + }, + { + "id": 133, + "name": "Pistachios (pista) ", + "shortDescription": "Premium Pista (Pistachios) – fresh, crunchy, and naturally rich in protein, fiber, healthy fats, and antioxidants. A perfect healthy snack(without shell)", + "unit": "0.25Kg", + "unitNotation": "0.25Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 9, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1784221842934.jpg" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 712, + "marketPrice": 759, + "flashPrice": 720, + "isFlashAvailable": true + }, + { + "id": 134, + "name": "black raisin ( kishmish) ", + "shortDescription": "Premium quality black raisins that are naturally sweet, soft, and packed with essential nutrients. Perfect for snacking, desserts, and healthy recipes", + "unit": "0.25Kg", + "unitNotation": "0.25Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 9, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1784222032500.jpg" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 169, + "marketPrice": 200, + "flashPrice": 179, + "isFlashAvailable": true + }, + { + "id": 135, + "name": "Walnut (Akhrot) ", + "shortDescription": "Premium quality Akhrot (Walnuts) with a rich, crunchy texture and naturally delicious taste. A wholesome snack packed with nutrition.", + "unit": "0.25Kg", + "unitNotation": "0.25Kg", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 9, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1784700581756.png" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 375, + "marketPrice": 399, + "flashPrice": 375, + "isFlashAvailable": true + }, + { + "id": 136, + "name": "15 veggies pack ", + "shortDescription": "Fresh 15-vegetable combo at just ₹219. Freshly sourced and delivered to your doorstep.", + "unit": "15 pc", + "unitNotation": "15 pc", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 4, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T09:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1788533822538.jpg" + ], + "productType": "combo", + "isComboOnly": false, + "isOffer": false, + "price": 199, + "marketPrice": 319, + "flashPrice": null, + "isFlashAvailable": false + }, + { + "id": 137, + "name": "Chicken regular cut", + "shortDescription": null, + "unit": "1kg ", + "unitNotation": "1kg ", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 1, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1787247236467.png" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 251, + "marketPrice": 260, + "flashPrice": 251, + "isFlashAvailable": true + }, + { + "id": 138, + "name": "Biryani pack ", + "shortDescription": "Everything you need for a delicious biryani, packed fresh and ready to cook.", + "unit": "7", + "unitNotation": "7", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 1, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T10:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1787247755954.jpg" + ], + "productType": "combo", + "isComboOnly": false, + "isOffer": false, + "price": 319, + "marketPrice": 359, + "flashPrice": null, + "isFlashAvailable": false + }, + { + "id": 139, + "name": "Curry pack ", + "shortDescription": null, + "unit": "5 pc", + "unitNotation": "5 pc", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 4, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T10:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1787248611495.jpg" + ], + "productType": "combo", + "isComboOnly": false, + "isOffer": false, + "price": 119, + "marketPrice": 139, + "flashPrice": null, + "isFlashAvailable": false + }, + { + "id": 140, + "name": "Salad pack ", + "shortDescription": "Fresh, crisp salad essentials packed together for a healthy and refreshing meal.", + "unit": "5 pc", + "unitNotation": "5 pc", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 4, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T10:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1787248824197.png", + "https://assets.freshyo.in/product-images/1787248824464.jpg" + ], + "productType": "combo", + "isComboOnly": false, + "isOffer": false, + "price": 129, + "marketPrice": 169, + "flashPrice": 129, + "isFlashAvailable": false + }, + { + "id": 141, + "name": "Fruit pack", + "shortDescription": null, + "unit": "4 pc ", + "unitNotation": "4 pc ", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 2, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1787249312475.jpg" + ], + "productType": "combo", + "isComboOnly": false, + "isOffer": false, + "price": 399, + "marketPrice": 429, + "flashPrice": null, + "isFlashAvailable": false + }, + { + "id": 142, + "name": "Calta Fish live ", + "shortDescription": "Fresh Catla fish – premium freshwater carp with soft, sweet white meat. Perfect for curries & fries. Cleaned and cut as per your choice.", + "unit": "1kg ", + "unitNotation": "1kg ", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 1, + "isOutOfStock": false, + "nextDeliveryDate": null, + "images": [ + "https://assets.freshyo.in/product-images/1787993797843.jpg" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 219, + "marketPrice": 249, + "flashPrice": null, + "isFlashAvailable": false + }, + { + "id": 143, + "name": "Tilapia Fish live ", + "shortDescription": "Fresh Tilapia Fish — Farm-fresh, whole tilapia with firm white flesh and a mild, sweet taste. Cleaned, hygienically packed on food-grade trays, and delivered fresh. Rich in protein, low in fat. Perfect for fry, curry, or grill.", + "unit": "1 kg ", + "unitNotation": "1 kg ", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 1, + "isOutOfStock": false, + "nextDeliveryDate": null, + "images": [ + "https://assets.freshyo.in/product-images/1787994834302.png" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 210, + "marketPrice": 229, + "flashPrice": null, + "isFlashAvailable": false + }, + { + "id": 144, + "name": "Amaranth(Thotakura)7 pc", + "shortDescription": "Fresh Amaranth Leaves (Thotakura) — Tender, farm-fresh green amaranth leaves, naturally grown and handpicked daily. Rich in iron, calcium, and vitamins. Perfect for dal, curries, and soups. Cleaned and hygienically packed.", + "unit": "7pc", + "unitNotation": "7pc", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 4, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T12:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1787996184981.jpg" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 15, + "marketPrice": 19, + "flashPrice": 19, + "isFlashAvailable": true + }, + { + "id": 145, + "name": "White Gongura 7 pc ", + "shortDescription": "Fresh White Gongura Leaves — Tender, farm-fresh white-stem gongura with a mild tangy flavour, handpicked daily from local farms. Rich in iron, vitamins, and antioxidants. Perfect for gongura pachadi, pulusu, dal, and non-veg curries. Cleaned and hygienically packed.", + "unit": "7 pc", + "unitNotation": "7 pc", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 4, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T12:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1787996367962.jpg" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 15, + "marketPrice": 19, + "flashPrice": null, + "isFlashAvailable": false + }, + { + "id": 146, + "name": "Green Sorrel(Chukka Kura) 7pc", + "shortDescription": "Fresh Green Sorrel Leaves (Chukka Kura) — Tender, tangy green sorrel leaves, handpicked fresh from local farms. Naturally rich in iron, vitamin C, and antioxidants. Perfect for chukka kura pappu (dal), pulusu, pachadi, and stir-fries. Cleaned and hygienically packed.", + "unit": "7 pc", + "unitNotation": "7 pc", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 4, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T12:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1787996596668.jpg" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 15, + "marketPrice": 19, + "flashPrice": null, + "isFlashAvailable": false + }, + { + "id": 147, + "name": "All green leaf veggies pack ", + "shortDescription": null, + "unit": "8", + "unitNotation": "8", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 4, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1788230211980.png" + ], + "productType": "combo", + "isComboOnly": false, + "isOffer": false, + "price": 129, + "marketPrice": 149, + "flashPrice": null, + "isFlashAvailable": false + }, + { + "id": 148, + "name": "Pomegranate juice", + "shortDescription": "Pomegranate juice is a deep ruby-red drink pressed from the jewel-like arils of the pomegranate fruit. It has a refreshing sweet-tart flavor with a slightly tangy, tannic finish. Naturally rich in vitamin C, potassium, and powerful polyphenol antioxidants, it's prized for supporting heart health and reducing inflammation. Enjoyed fresh, in mocktails and cocktails, or reduced into molasses for cooking, it has been treasured since ancient times as both a refreshment and a tonic.", + "unit": "0.2L", + "unitNotation": "0.2L", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 8, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1788767922579.png" + ], + "productType": "item", + "isComboOnly": false, + "isOffer": false, + "price": 59, + "marketPrice": 49, + "flashPrice": null, + "isFlashAvailable": false + }, + { + "id": 149, + "name": "GYM PACK ", + "shortDescription": null, + "unit": "5pc", + "unitNotation": "5pc", + "incrementStep": 1, + "productQuantity": 1, + "storeId": 1, + "isOutOfStock": false, + "nextDeliveryDate": "2026-09-16T13:30:00.000Z", + "images": [ + "https://assets.freshyo.in/product-images/1789123496246.png" + ], + "productType": "combo", + "isComboOnly": true, + "isOffer": false, + "price": 149, + "marketPrice": 219, + "flashPrice": null, + "isFlashAvailable": false + } + ], + "count": 149, + "tags": [ + { + "id": 1, + "tagName": "Chicken", + "tagDescription": "Chicken related items", + "imageUrl": "https://assets.freshyo.in/tags/1770321659633-1763869265110-e22b6d94-dac9-499f-babb-1e944d90b01a.jpeg%3FX-Amz-Algorithm%3DAWS4-HMAC-SHA256%26X-Amz-Content-Sha256%3DUNSIGNED-PAYLOAD%26X-Amz-Credential%3D8fab47503efb9547b50e4fb317e35cc7%252F20260205%252Fapac%252Fs3%252Faws4_request%26X-Amz-Date%3D20260205T195535Z%26X-Amz-Expires%3D259200%26X-Amz-Signature%3D917db15bcc60cab7ac5cd5e49d85d13a960fe77b4a5e327dd449048870494cf9%26X-Amz-SignedHeaders%3Dhost%26x-amz-checksum-mode%3DENABLED%26x-id%3DGetObject", + "isDashboardTag": true, + "relatedStores": [ + 1 + ], + "productIds": [ + 23, + 2, + 24, + 41, + 36, + 40, + 42, + 21, + 10, + 80, + 128, + 137, + 1 + ] + }, + { + "id": 2, + "tagName": "Meat", + "tagDescription": "Meat Products", + "imageUrl": "https://assets.freshyo.in/tags/1763835253683-c9c3e293-0bef-4c58-a976-dd49c050cd36.jpeg", + "isDashboardTag": true, + "relatedStores": [], + "productIds": [ + 98, + 14, + 28, + 4, + 2, + 42, + 21, + 3, + 24, + 15, + 41, + 10, + 34, + 12, + 84, + 86, + 99, + 20, + 35, + 85, + 87, + 23, + 81, + 128 + ] + }, + { + "id": 3, + "tagName": "Fruits", + "tagDescription": "Delicious fresh fruits", + "imageUrl": "https://assets.freshyo.in/tags/1763835293899-43b3fbe1-9b5b-441c-b4d4-d1691c3f02f3.webp", + "isDashboardTag": true, + "relatedStores": [ + 2 + ], + "productIds": [ + 7, + 26, + 39, + 11, + 25, + 55, + 53, + 6, + 47, + 96, + 38, + 46, + 62, + 60, + 100, + 59, + 44, + 125, + 126, + 8, + 48, + 49, + 13, + 61, + 50 + ] + }, + { + "id": 4, + "tagName": "Fish", + "tagDescription": "Types ", + "imageUrl": "https://assets.freshyo.in/tags/1770323410499-1763869436182-bf82f7b4-a1f3-4113-985b-96311b7a910e.jpeg%3FX-Amz-Algorithm%3DAWS4-HMAC-SHA256%26X-Amz-Content-Sha256%3DUNSIGNED-PAYLOAD%26X-Amz-Credential%3D8fab47503efb9547b50e4fb317e35cc7%252F20260205%252Fapac%252Fs3%252Faws4_request%26X-Amz-Date%3D20260205T202804Z%26X-Amz-Expires%3D259200%26X-Amz-Signature%3Dea436390b277935d843cae6b5cfa62aeed5799cb4a962ab31a0be4b132ca4b30%26X-Amz-SignedHeaders%3Dhost%26x-amz-checksum-mode%3DENABLED%26x-id%3DGetObject", + "isDashboardTag": true, + "relatedStores": [ + 1 + ], + "productIds": [ + 9, + 75, + 83, + 81, + 22, + 102, + 82, + 142, + 143 + ] + }, + { + "id": 5, + "tagName": "Vegetables", + "tagDescription": null, + "imageUrl": "https://assets.freshyo.in/tags/1768709725124-ebf421c5-ad52-49a9-b65c-1de008110b8a.png", + "isDashboardTag": true, + "relatedStores": [ + 4 + ], + "productIds": [ + 33, + 72, + 29, + 19, + 18, + 70, + 76, + 67, + 17, + 37, + 64, + 77, + 74, + 92, + 127, + 30, + 16, + 65, + 27, + 5, + 78, + 31, + 89, + 32, + 45, + 146, + 145, + 144, + 13, + 66, + 68, + 69, + 71, + 79, + 88, + 90, + 91, + 93, + 94, + 95, + 97, + 101, + 103 + ] + }, + { + "id": 6, + "tagName": "Mutton", + "tagDescription": "Mutton Products", + "imageUrl": "https://assets.freshyo.in/tags/1770323560823-fd0ec463-bed0-474e-aa14-dc6480ce36af.jpeg", + "isDashboardTag": true, + "relatedStores": [ + 1 + ], + "productIds": [ + 4, + 14, + 20, + 28, + 35, + 84, + 85, + 86, + 87, + 98, + 99 + ] + }, + { + "id": 7, + "tagName": "Fruits juices", + "tagDescription": null, + "imageUrl": "https://assets.freshyo.in/tags/1773132996598-1773119837289-8c93f343-2885-415e-b545-dcaa1dc88857.jpeg%3FX-Amz-Algorithm%3DAWS4-HMAC-SHA256%26X-Amz-Content-Sha256%3DUNSIGNED-PAYLOAD%26X-Amz-Credential%3D8fab47503efb9547b50e4fb317e35cc7%252F20260310%252Fapac%252Fs3%252Faws4_request%26X-Amz-Date%3D20260310T051718Z%26X-Amz-Expires%3D259200%26X-Amz-Signature%3D22358087a6f102caf7eb7a4b3cfd455df9aca13685fff8bb751d3c3d813b9d72%26X-Amz-SignedHeaders%3Dhost%26x-amz-checksum-mode%3DENABLED%26x-id%3DGetObject", + "isDashboardTag": true, + "relatedStores": [ + 8 + ], + "productIds": [ + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 113, + 116, + 117, + 122, + 123, + 124 + ] + }, + { + "id": 8, + "tagName": "Dry fruits", + "tagDescription": null, + "imageUrl": "https://assets.freshyo.in/tags/1784697809481.jpg", + "isDashboardTag": false, + "relatedStores": [ + 9 + ], + "productIds": [ + 129, + 130, + 131, + 132, + 133, + 134, + 135 + ] + } + ] +} \ No newline at end of file diff --git a/apps/user-ui/tests/mocks/mock-slots-response.json b/apps/user-ui/tests/mocks/mock-slots-response.json new file mode 100644 index 0000000..8ee5148 --- /dev/null +++ b/apps/user-ui/tests/mocks/mock-slots-response.json @@ -0,0 +1,6045 @@ +{ + "slots": [ + { + "id": 1849, + "deliveryTime": "2026-09-18T01:30:00.000Z", + "freezeTime": "2026-09-18T01:20:00.000Z", + "products": [ + { + "id": 9, + "images": [ + "https://assets.freshyo.in/product-images/1768832690994-0" + ] + }, + { + "id": 22, + "images": [ + "https://assets.freshyo.in/product-images/1768834996932-0" + ] + }, + { + "id": 81, + "images": [ + "https://assets.freshyo.in/product-images/1769063467386-0" + ] + }, + { + "id": 82, + "images": [ + "https://assets.freshyo.in/product-images/1782023099986.png" + ] + }, + { + "id": 102, + "images": [ + "https://assets.freshyo.in/product-images/1771411526889-0" + ] + }, + { + "id": 5, + "images": [ + "https://assets.freshyo.in/product-images/1768710099841-0" + ] + }, + { + "id": 6, + "images": [ + "https://assets.freshyo.in/product-images/1768640936747-0" + ] + }, + { + "id": 13, + "images": [ + "https://assets.freshyo.in/product-images/1768641988607-0" + ] + }, + { + "id": 16, + "images": [ + "https://assets.freshyo.in/product-images/1769397372526-0" + ] + }, + { + "id": 17, + "images": [ + "https://assets.freshyo.in/product-images/1768640233068-0" + ] + }, + { + "id": 18, + "images": [ + "https://assets.freshyo.in/product-images/1769351976737-0" + ] + }, + { + "id": 19, + "images": [ + "https://assets.freshyo.in/product-images/1768639707515-0" + ] + }, + { + "id": 27, + "images": [ + "https://assets.freshyo.in/product-images/1768639645423-0" + ] + }, + { + "id": 28, + "images": [ + "https://assets.freshyo.in/product-images/1769356702593-0" + ] + }, + { + "id": 29, + "images": [ + "https://assets.freshyo.in/product-images/1768823985921-0" + ] + }, + { + "id": 30, + "images": [ + "https://assets.freshyo.in/product-images/1768726783083-0" + ] + }, + { + "id": 31, + "images": [ + "https://assets.freshyo.in/product-images/1769574792720-0" + ] + }, + { + "id": 32, + "images": [ + "https://assets.freshyo.in/product-images/1766406273176-0", + "https://assets.freshyo.in/product-images/1766406273178-1" + ] + }, + { + "id": 33, + "images": [ + "https://assets.freshyo.in/product-images/1769396046557-0" + ] + }, + { + "id": 37, + "images": [ + "https://assets.freshyo.in/product-images/1766636589779-0" + ] + }, + { + "id": 45, + "images": [ + "https://assets.freshyo.in/product-images/1768639292540-0" + ] + }, + { + "id": 64, + "images": [ + "https://assets.freshyo.in/product-images/1768709567040-0" + ] + }, + { + "id": 65, + "images": [ + "https://assets.freshyo.in/product-images/1768710434326-0" + ] + }, + { + "id": 66, + "images": [ + "https://assets.freshyo.in/product-images/1768710760133-0" + ] + }, + { + "id": 67, + "images": [ + "https://assets.freshyo.in/product-images/1768711261174-0" + ] + }, + { + "id": 68, + "images": [ + "https://assets.freshyo.in/product-images/1768711919135-0" + ] + }, + { + "id": 69, + "images": [ + "https://assets.freshyo.in/product-images/1768712093829-0" + ] + }, + { + "id": 70, + "images": [ + "https://assets.freshyo.in/product-images/1768712490280-0" + ] + }, + { + "id": 71, + "images": [ + "https://assets.freshyo.in/product-images/1768713206145-0" + ] + }, + { + "id": 72, + "images": [ + "https://assets.freshyo.in/product-images/1768713537512-0" + ] + }, + { + "id": 74, + "images": [ + "https://assets.freshyo.in/product-images/1768713886512-0" + ] + }, + { + "id": 76, + "images": [ + "https://assets.freshyo.in/product-images/1768727264220-0" + ] + }, + { + "id": 77, + "images": [ + "https://assets.freshyo.in/product-images/1769396724595-0" + ] + }, + { + "id": 78, + "images": [ + "https://assets.freshyo.in/product-images/1769241234003-0" + ] + }, + { + "id": 79, + "images": [ + "https://assets.freshyo.in/product-images/1768822893380-0" + ] + }, + { + "id": 88, + "images": [ + "https://assets.freshyo.in/product-images/1769394457296-0" + ] + }, + { + "id": 89, + "images": [ + "https://assets.freshyo.in/product-images/1769395184980-0" + ] + }, + { + "id": 90, + "images": [ + "https://assets.freshyo.in/product-images/1769398103853-0" + ] + }, + { + "id": 91, + "images": [ + "https://assets.freshyo.in/product-images/1769398710713-0" + ] + }, + { + "id": 92, + "images": [ + "https://assets.freshyo.in/product-images/1769399617573-0" + ] + }, + { + "id": 94, + "images": [ + "https://assets.freshyo.in/product-images/1769571810861-0" + ] + }, + { + "id": 95, + "images": [ + "https://assets.freshyo.in/product-images/1769571978680-0" + ] + }, + { + "id": 97, + "images": [ + "https://assets.freshyo.in/product-images/1769577010969-0" + ] + }, + { + "id": 101, + "images": [ + "https://assets.freshyo.in/product-images/1771249922306-0" + ] + }, + { + "id": 103, + "images": [ + "https://assets.freshyo.in/product-images/1771647812442-0" + ] + }, + { + "id": 127, + "images": [ + "https://assets.freshyo.in/product-images/1781711355656.png" + ] + }, + { + "id": 144, + "images": [ + "https://assets.freshyo.in/product-images/1787996184981.jpg" + ] + }, + { + "id": 145, + "images": [ + "https://assets.freshyo.in/product-images/1787996367962.jpg" + ] + }, + { + "id": 146, + "images": [ + "https://assets.freshyo.in/product-images/1787996596668.jpg" + ] + }, + { + "id": 4, + "images": [ + "https://assets.freshyo.in/product-images/1767636171845-0" + ] + }, + { + "id": 14, + "images": [ + "https://assets.freshyo.in/product-images/1768834170995-0" + ] + }, + { + "id": 35, + "images": [ + "https://assets.freshyo.in/product-images/1767636561867-0" + ] + }, + { + "id": 86, + "images": [ + "https://assets.freshyo.in/product-images/1769151216776-0" + ] + }, + { + "id": 98, + "images": [ + "https://assets.freshyo.in/product-images/1770051810386-0" + ] + }, + { + "id": 99, + "images": [ + "https://assets.freshyo.in/product-images/1770051959669-0" + ] + }, + { + "id": 2, + "images": [ + "https://assets.freshyo.in/product-images/1768397780093-0", + "https://assets.freshyo.in/product-images/1768479562478-0" + ] + }, + { + "id": 3, + "images": [ + "https://assets.freshyo.in/product-images/1768475599800-0" + ] + }, + { + "id": 10, + "images": [ + "https://assets.freshyo.in/product-images/1768390245969-0" + ] + }, + { + "id": 21, + "images": [ + "https://assets.freshyo.in/product-images/1768539930897-0", + "https://assets.freshyo.in/product-images/1768539930899-1" + ] + }, + { + "id": 23, + "images": [ + "https://assets.freshyo.in/product-images/1767635527063-0" + ] + }, + { + "id": 24, + "images": [ + "https://assets.freshyo.in/product-images/1768484106870-0" + ] + }, + { + "id": 36, + "images": [ + "https://assets.freshyo.in/product-images/1768413754684-0" + ] + }, + { + "id": 40, + "images": [ + "https://assets.freshyo.in/product-images/1767637606890-0" + ] + }, + { + "id": 41, + "images": [ + "https://assets.freshyo.in/product-images/1768307047191-0" + ] + }, + { + "id": 42, + "images": [ + "https://assets.freshyo.in/product-images/1768393778962-0" + ] + }, + { + "id": 80, + "images": [ + "https://assets.freshyo.in/product-images/1769063336125-0" + ] + }, + { + "id": 137, + "images": [ + "https://assets.freshyo.in/product-images/1787247236467.png" + ] + }, + { + "id": 149, + "images": [ + "https://assets.freshyo.in/product-images/1789123496246.png" + ] + }, + { + "id": 147, + "images": [ + "https://assets.freshyo.in/product-images/1788230211980.png" + ] + }, + { + "id": 140, + "images": [ + "https://assets.freshyo.in/product-images/1787248824197.png", + "https://assets.freshyo.in/product-images/1787248824464.jpg" + ] + }, + { + "id": 139, + "images": [ + "https://assets.freshyo.in/product-images/1787248611495.jpg" + ] + }, + { + "id": 138, + "images": [ + "https://assets.freshyo.in/product-images/1787247755954.jpg" + ] + }, + { + "id": 136, + "images": [ + "https://assets.freshyo.in/product-images/1788533822538.jpg" + ] + } + ] + }, + { + "id": 1847, + "deliveryTime": "2026-09-18T02:30:00.000Z", + "freezeTime": "2026-09-18T02:00:00.000Z", + "products": [ + { + "id": 2, + "images": [ + "https://assets.freshyo.in/product-images/1768397780093-0", + "https://assets.freshyo.in/product-images/1768479562478-0" + ] + }, + { + "id": 3, + "images": [ + "https://assets.freshyo.in/product-images/1768475599800-0" + ] + }, + { + "id": 4, + "images": [ + "https://assets.freshyo.in/product-images/1767636171845-0" + ] + }, + { + "id": 5, + "images": [ + "https://assets.freshyo.in/product-images/1768710099841-0" + ] + }, + { + "id": 6, + "images": [ + "https://assets.freshyo.in/product-images/1768640936747-0" + ] + }, + { + "id": 7, + "images": [ + "https://assets.freshyo.in/product-images/1768640009078-0" + ] + }, + { + "id": 8, + "images": [ + "https://assets.freshyo.in/product-images/1768647119198-0" + ] + }, + { + "id": 9, + "images": [ + "https://assets.freshyo.in/product-images/1768832690994-0" + ] + }, + { + "id": 10, + "images": [ + "https://assets.freshyo.in/product-images/1768390245969-0" + ] + }, + { + "id": 11, + "images": [ + "https://assets.freshyo.in/product-images/1768641635898-0" + ] + }, + { + "id": 13, + "images": [ + "https://assets.freshyo.in/product-images/1768641988607-0" + ] + }, + { + "id": 14, + "images": [ + "https://assets.freshyo.in/product-images/1768834170995-0" + ] + }, + { + "id": 16, + "images": [ + "https://assets.freshyo.in/product-images/1769397372526-0" + ] + }, + { + "id": 17, + "images": [ + "https://assets.freshyo.in/product-images/1768640233068-0" + ] + }, + { + "id": 18, + "images": [ + "https://assets.freshyo.in/product-images/1769351976737-0" + ] + }, + { + "id": 19, + "images": [ + "https://assets.freshyo.in/product-images/1768639707515-0" + ] + }, + { + "id": 21, + "images": [ + "https://assets.freshyo.in/product-images/1768539930897-0", + "https://assets.freshyo.in/product-images/1768539930899-1" + ] + }, + { + "id": 22, + "images": [ + "https://assets.freshyo.in/product-images/1768834996932-0" + ] + }, + { + "id": 23, + "images": [ + "https://assets.freshyo.in/product-images/1767635527063-0" + ] + }, + { + "id": 24, + "images": [ + "https://assets.freshyo.in/product-images/1768484106870-0" + ] + }, + { + "id": 25, + "images": [ + "https://assets.freshyo.in/product-images/1768649838027-0" + ] + }, + { + "id": 26, + "images": [ + "https://assets.freshyo.in/product-images/1768640645444-0" + ] + }, + { + "id": 27, + "images": [ + "https://assets.freshyo.in/product-images/1768639645423-0" + ] + }, + { + "id": 28, + "images": [ + "https://assets.freshyo.in/product-images/1769356702593-0" + ] + }, + { + "id": 29, + "images": [ + "https://assets.freshyo.in/product-images/1768823985921-0" + ] + }, + { + "id": 30, + "images": [ + "https://assets.freshyo.in/product-images/1768726783083-0" + ] + }, + { + "id": 31, + "images": [ + "https://assets.freshyo.in/product-images/1769574792720-0" + ] + }, + { + "id": 32, + "images": [ + "https://assets.freshyo.in/product-images/1766406273176-0", + "https://assets.freshyo.in/product-images/1766406273178-1" + ] + }, + { + "id": 33, + "images": [ + "https://assets.freshyo.in/product-images/1769396046557-0" + ] + }, + { + "id": 35, + "images": [ + "https://assets.freshyo.in/product-images/1767636561867-0" + ] + }, + { + "id": 36, + "images": [ + "https://assets.freshyo.in/product-images/1768413754684-0" + ] + }, + { + "id": 37, + "images": [ + "https://assets.freshyo.in/product-images/1766636589779-0" + ] + }, + { + "id": 38, + "images": [ + "https://assets.freshyo.in/product-images/1768640403001-0" + ] + }, + { + "id": 39, + "images": [ + "https://assets.freshyo.in/product-images/1768650081183-0" + ] + }, + { + "id": 40, + "images": [ + "https://assets.freshyo.in/product-images/1767637606890-0" + ] + }, + { + "id": 41, + "images": [ + "https://assets.freshyo.in/product-images/1768307047191-0" + ] + }, + { + "id": 42, + "images": [ + "https://assets.freshyo.in/product-images/1768393778962-0" + ] + }, + { + "id": 43, + "images": [ + "https://assets.freshyo.in/product-images/1768638795991-0" + ] + }, + { + "id": 44, + "images": [ + "https://assets.freshyo.in/product-images/1768639090932-0" + ] + }, + { + "id": 45, + "images": [ + "https://assets.freshyo.in/product-images/1768639292540-0" + ] + }, + { + "id": 46, + "images": [ + "https://assets.freshyo.in/product-images/1768639705530-0" + ] + }, + { + "id": 47, + "images": [ + "https://assets.freshyo.in/product-images/1768642455479-0" + ] + }, + { + "id": 48, + "images": [ + "https://assets.freshyo.in/product-images/1768642724520-0" + ] + }, + { + "id": 49, + "images": [ + "https://assets.freshyo.in/product-images/1768643138910-0" + ] + }, + { + "id": 50, + "images": [ + "https://assets.freshyo.in/product-images/1768643354251-0" + ] + }, + { + "id": 51, + "images": [ + "https://assets.freshyo.in/product-images/1768646295695-0" + ] + }, + { + "id": 52, + "images": [ + "https://assets.freshyo.in/product-images/1768646744949-0" + ] + }, + { + "id": 53, + "images": [ + "https://assets.freshyo.in/product-images/1768646932088-0" + ] + }, + { + "id": 54, + "images": [ + "https://assets.freshyo.in/product-images/1768649454994-0" + ] + }, + { + "id": 55, + "images": [ + "https://assets.freshyo.in/product-images/1768650709484-0" + ] + }, + { + "id": 56, + "images": [ + "https://assets.freshyo.in/product-images/1768651334320-0" + ] + }, + { + "id": 57, + "images": [ + "https://assets.freshyo.in/product-images/1768651774899-0" + ] + }, + { + "id": 58, + "images": [ + "https://assets.freshyo.in/product-images/1768652061701-0" + ] + }, + { + "id": 59, + "images": [ + "https://assets.freshyo.in/product-images/1768653009851-0" + ] + }, + { + "id": 60, + "images": [ + "https://assets.freshyo.in/product-images/1768653997561-0" + ] + }, + { + "id": 61, + "images": [ + "https://assets.freshyo.in/product-images/1768654475850-0" + ] + }, + { + "id": 62, + "images": [ + "https://assets.freshyo.in/product-images/1768654740988-0" + ] + }, + { + "id": 63, + "images": [ + "https://assets.freshyo.in/product-images/1768658094891-0" + ] + }, + { + "id": 64, + "images": [ + "https://assets.freshyo.in/product-images/1768709567040-0" + ] + }, + { + "id": 65, + "images": [ + "https://assets.freshyo.in/product-images/1768710434326-0" + ] + }, + { + "id": 66, + "images": [ + "https://assets.freshyo.in/product-images/1768710760133-0" + ] + }, + { + "id": 67, + "images": [ + "https://assets.freshyo.in/product-images/1768711261174-0" + ] + }, + { + "id": 68, + "images": [ + "https://assets.freshyo.in/product-images/1768711919135-0" + ] + }, + { + "id": 69, + "images": [ + "https://assets.freshyo.in/product-images/1768712093829-0" + ] + }, + { + "id": 70, + "images": [ + "https://assets.freshyo.in/product-images/1768712490280-0" + ] + }, + { + "id": 71, + "images": [ + "https://assets.freshyo.in/product-images/1768713206145-0" + ] + }, + { + "id": 72, + "images": [ + "https://assets.freshyo.in/product-images/1768713537512-0" + ] + }, + { + "id": 73, + "images": [ + "https://assets.freshyo.in/product-images/1768718685357-0" + ] + }, + { + "id": 74, + "images": [ + "https://assets.freshyo.in/product-images/1768713886512-0" + ] + }, + { + "id": 76, + "images": [ + "https://assets.freshyo.in/product-images/1768727264220-0" + ] + }, + { + "id": 77, + "images": [ + "https://assets.freshyo.in/product-images/1769396724595-0" + ] + }, + { + "id": 78, + "images": [ + "https://assets.freshyo.in/product-images/1769241234003-0" + ] + }, + { + "id": 79, + "images": [ + "https://assets.freshyo.in/product-images/1768822893380-0" + ] + }, + { + "id": 80, + "images": [ + "https://assets.freshyo.in/product-images/1769063336125-0" + ] + }, + { + "id": 81, + "images": [ + "https://assets.freshyo.in/product-images/1769063467386-0" + ] + }, + { + "id": 82, + "images": [ + "https://assets.freshyo.in/product-images/1782023099986.png" + ] + }, + { + "id": 86, + "images": [ + "https://assets.freshyo.in/product-images/1769151216776-0" + ] + }, + { + "id": 88, + "images": [ + "https://assets.freshyo.in/product-images/1769394457296-0" + ] + }, + { + "id": 89, + "images": [ + "https://assets.freshyo.in/product-images/1769395184980-0" + ] + }, + { + "id": 90, + "images": [ + "https://assets.freshyo.in/product-images/1769398103853-0" + ] + }, + { + "id": 91, + "images": [ + "https://assets.freshyo.in/product-images/1769398710713-0" + ] + }, + { + "id": 92, + "images": [ + "https://assets.freshyo.in/product-images/1769399617573-0" + ] + }, + { + "id": 94, + "images": [ + "https://assets.freshyo.in/product-images/1769571810861-0" + ] + }, + { + "id": 95, + "images": [ + "https://assets.freshyo.in/product-images/1769571978680-0" + ] + }, + { + "id": 96, + "images": [ + "https://assets.freshyo.in/product-images/1769576743718-0" + ] + }, + { + "id": 97, + "images": [ + "https://assets.freshyo.in/product-images/1769577010969-0" + ] + }, + { + "id": 98, + "images": [ + "https://assets.freshyo.in/product-images/1770051810386-0" + ] + }, + { + "id": 99, + "images": [ + "https://assets.freshyo.in/product-images/1770051959669-0" + ] + }, + { + "id": 100, + "images": [ + "https://assets.freshyo.in/product-images/1770212631435-0" + ] + }, + { + "id": 101, + "images": [ + "https://assets.freshyo.in/product-images/1771249922306-0" + ] + }, + { + "id": 102, + "images": [ + "https://assets.freshyo.in/product-images/1771411526889-0" + ] + }, + { + "id": 103, + "images": [ + "https://assets.freshyo.in/product-images/1771647812442-0" + ] + }, + { + "id": 125, + "images": [ + "https://assets.freshyo.in/product-images/1777263925402.jpg" + ] + }, + { + "id": 126, + "images": [ + "https://assets.freshyo.in/product-images/1778175573767.jpg" + ] + }, + { + "id": 127, + "images": [ + "https://assets.freshyo.in/product-images/1781711355656.png" + ] + }, + { + "id": 136, + "images": [ + "https://assets.freshyo.in/product-images/1788533822538.jpg" + ] + }, + { + "id": 137, + "images": [ + "https://assets.freshyo.in/product-images/1787247236467.png" + ] + }, + { + "id": 138, + "images": [ + "https://assets.freshyo.in/product-images/1787247755954.jpg" + ] + }, + { + "id": 139, + "images": [ + "https://assets.freshyo.in/product-images/1787248611495.jpg" + ] + }, + { + "id": 140, + "images": [ + "https://assets.freshyo.in/product-images/1787248824197.png", + "https://assets.freshyo.in/product-images/1787248824464.jpg" + ] + }, + { + "id": 141, + "images": [ + "https://assets.freshyo.in/product-images/1787249312475.jpg" + ] + }, + { + "id": 144, + "images": [ + "https://assets.freshyo.in/product-images/1787996184981.jpg" + ] + }, + { + "id": 145, + "images": [ + "https://assets.freshyo.in/product-images/1787996367962.jpg" + ] + }, + { + "id": 146, + "images": [ + "https://assets.freshyo.in/product-images/1787996596668.jpg" + ] + }, + { + "id": 147, + "images": [ + "https://assets.freshyo.in/product-images/1788230211980.png" + ] + } + ] + }, + { + "id": 1848, + "deliveryTime": "2026-09-18T05:30:00.000Z", + "freezeTime": "2026-09-18T05:20:00.000Z", + "products": [ + { + "id": 129, + "images": [ + "https://assets.freshyo.in/product-images/1784220823113.jpg" + ] + }, + { + "id": 130, + "images": [ + "https://assets.freshyo.in/product-images/1784698463282.jpg" + ] + }, + { + "id": 131, + "images": [ + "https://assets.freshyo.in/product-images/1784221386651.jpg" + ] + }, + { + "id": 132, + "images": [ + "https://assets.freshyo.in/product-images/1784221665870.jpg" + ] + }, + { + "id": 133, + "images": [ + "https://assets.freshyo.in/product-images/1784221842934.jpg" + ] + }, + { + "id": 134, + "images": [ + "https://assets.freshyo.in/product-images/1784222032500.jpg" + ] + }, + { + "id": 135, + "images": [ + "https://assets.freshyo.in/product-images/1784700581756.png" + ] + }, + { + "id": 104, + "images": [ + "https://assets.freshyo.in/product-images/1773126251435-0" + ] + }, + { + "id": 105, + "images": [ + "https://assets.freshyo.in/product-images/1773126524403-0" + ] + }, + { + "id": 106, + "images": [ + "https://assets.freshyo.in/product-images/1773127805418-0" + ] + }, + { + "id": 107, + "images": [ + "https://assets.freshyo.in/product-images/1773128056033-0" + ] + }, + { + "id": 108, + "images": [ + "https://assets.freshyo.in/product-images/1773128303272-0" + ] + }, + { + "id": 109, + "images": [ + "https://assets.freshyo.in/product-images/1773129061191-0" + ] + }, + { + "id": 110, + "images": [ + "https://assets.freshyo.in/product-images/1773129209100-0" + ] + }, + { + "id": 111, + "images": [ + "https://assets.freshyo.in/product-images/1773566003997-0" + ] + }, + { + "id": 112, + "images": [ + "https://assets.freshyo.in/product-images/1773130741608-0" + ] + }, + { + "id": 113, + "images": [ + "https://assets.freshyo.in/product-images/1773566035297-0" + ] + }, + { + "id": 114, + "images": [ + "https://assets.freshyo.in/product-images/1773566115806-0" + ] + }, + { + "id": 115, + "images": [ + "https://assets.freshyo.in/product-images/1773566605539-0" + ] + }, + { + "id": 116, + "images": [ + "https://assets.freshyo.in/product-images/1773209103816-0" + ] + }, + { + "id": 117, + "images": [ + "https://assets.freshyo.in/product-images/1773222507937-0" + ] + }, + { + "id": 118, + "images": [ + "https://assets.freshyo.in/product-images/1773224238549-0" + ] + }, + { + "id": 119, + "images": [ + "https://assets.freshyo.in/product-images/1774961460199-0", + "https://assets.freshyo.in/product-images/1774961460203-1" + ] + }, + { + "id": 120, + "images": [ + "https://assets.freshyo.in/product-images/1774961917278-0" + ] + }, + { + "id": 121, + "images": [ + "https://assets.freshyo.in/product-images/1774967050357-0" + ] + }, + { + "id": 122, + "images": [ + "https://assets.freshyo.in/product-images/1776166347889.png" + ] + }, + { + "id": 123, + "images": [ + "https://assets.freshyo.in/product-images/1776166580757.png" + ] + }, + { + "id": 124, + "images": [ + "https://assets.freshyo.in/product-images/1776166786776.png", + "https://assets.freshyo.in/product-images/1776166787107.jpg" + ] + }, + { + "id": 148, + "images": [ + "https://assets.freshyo.in/product-images/1788767922579.png" + ] + }, + { + "id": 6, + "images": [ + "https://assets.freshyo.in/product-images/1768640936747-0" + ] + }, + { + "id": 7, + "images": [ + "https://assets.freshyo.in/product-images/1768640009078-0" + ] + }, + { + "id": 8, + "images": [ + "https://assets.freshyo.in/product-images/1768647119198-0" + ] + }, + { + "id": 11, + "images": [ + "https://assets.freshyo.in/product-images/1768641635898-0" + ] + }, + { + "id": 13, + "images": [ + "https://assets.freshyo.in/product-images/1768641988607-0" + ] + }, + { + "id": 25, + "images": [ + "https://assets.freshyo.in/product-images/1768649838027-0" + ] + }, + { + "id": 26, + "images": [ + "https://assets.freshyo.in/product-images/1768640645444-0" + ] + }, + { + "id": 38, + "images": [ + "https://assets.freshyo.in/product-images/1768640403001-0" + ] + }, + { + "id": 39, + "images": [ + "https://assets.freshyo.in/product-images/1768650081183-0" + ] + }, + { + "id": 43, + "images": [ + "https://assets.freshyo.in/product-images/1768638795991-0" + ] + }, + { + "id": 44, + "images": [ + "https://assets.freshyo.in/product-images/1768639090932-0" + ] + }, + { + "id": 46, + "images": [ + "https://assets.freshyo.in/product-images/1768639705530-0" + ] + }, + { + "id": 47, + "images": [ + "https://assets.freshyo.in/product-images/1768642455479-0" + ] + }, + { + "id": 48, + "images": [ + "https://assets.freshyo.in/product-images/1768642724520-0" + ] + }, + { + "id": 49, + "images": [ + "https://assets.freshyo.in/product-images/1768643138910-0" + ] + }, + { + "id": 50, + "images": [ + "https://assets.freshyo.in/product-images/1768643354251-0" + ] + }, + { + "id": 51, + "images": [ + "https://assets.freshyo.in/product-images/1768646295695-0" + ] + }, + { + "id": 52, + "images": [ + "https://assets.freshyo.in/product-images/1768646744949-0" + ] + }, + { + "id": 53, + "images": [ + "https://assets.freshyo.in/product-images/1768646932088-0" + ] + }, + { + "id": 54, + "images": [ + "https://assets.freshyo.in/product-images/1768649454994-0" + ] + }, + { + "id": 55, + "images": [ + "https://assets.freshyo.in/product-images/1768650709484-0" + ] + }, + { + "id": 56, + "images": [ + "https://assets.freshyo.in/product-images/1768651334320-0" + ] + }, + { + "id": 57, + "images": [ + "https://assets.freshyo.in/product-images/1768651774899-0" + ] + }, + { + "id": 58, + "images": [ + "https://assets.freshyo.in/product-images/1768652061701-0" + ] + }, + { + "id": 59, + "images": [ + "https://assets.freshyo.in/product-images/1768653009851-0" + ] + }, + { + "id": 60, + "images": [ + "https://assets.freshyo.in/product-images/1768653997561-0" + ] + }, + { + "id": 61, + "images": [ + "https://assets.freshyo.in/product-images/1768654475850-0" + ] + }, + { + "id": 62, + "images": [ + "https://assets.freshyo.in/product-images/1768654740988-0" + ] + }, + { + "id": 63, + "images": [ + "https://assets.freshyo.in/product-images/1768658094891-0" + ] + }, + { + "id": 73, + "images": [ + "https://assets.freshyo.in/product-images/1768718685357-0" + ] + }, + { + "id": 96, + "images": [ + "https://assets.freshyo.in/product-images/1769576743718-0" + ] + }, + { + "id": 100, + "images": [ + "https://assets.freshyo.in/product-images/1770212631435-0" + ] + }, + { + "id": 125, + "images": [ + "https://assets.freshyo.in/product-images/1777263925402.jpg" + ] + }, + { + "id": 126, + "images": [ + "https://assets.freshyo.in/product-images/1778175573767.jpg" + ] + }, + { + "id": 9, + "images": [ + "https://assets.freshyo.in/product-images/1768832690994-0" + ] + }, + { + "id": 22, + "images": [ + "https://assets.freshyo.in/product-images/1768834996932-0" + ] + }, + { + "id": 81, + "images": [ + "https://assets.freshyo.in/product-images/1769063467386-0" + ] + }, + { + "id": 82, + "images": [ + "https://assets.freshyo.in/product-images/1782023099986.png" + ] + }, + { + "id": 102, + "images": [ + "https://assets.freshyo.in/product-images/1771411526889-0" + ] + }, + { + "id": 5, + "images": [ + "https://assets.freshyo.in/product-images/1768710099841-0" + ] + }, + { + "id": 16, + "images": [ + "https://assets.freshyo.in/product-images/1769397372526-0" + ] + }, + { + "id": 17, + "images": [ + "https://assets.freshyo.in/product-images/1768640233068-0" + ] + }, + { + "id": 18, + "images": [ + "https://assets.freshyo.in/product-images/1769351976737-0" + ] + }, + { + "id": 19, + "images": [ + "https://assets.freshyo.in/product-images/1768639707515-0" + ] + }, + { + "id": 27, + "images": [ + "https://assets.freshyo.in/product-images/1768639645423-0" + ] + }, + { + "id": 28, + "images": [ + "https://assets.freshyo.in/product-images/1769356702593-0" + ] + }, + { + "id": 29, + "images": [ + "https://assets.freshyo.in/product-images/1768823985921-0" + ] + }, + { + "id": 30, + "images": [ + "https://assets.freshyo.in/product-images/1768726783083-0" + ] + }, + { + "id": 31, + "images": [ + "https://assets.freshyo.in/product-images/1769574792720-0" + ] + }, + { + "id": 32, + "images": [ + "https://assets.freshyo.in/product-images/1766406273176-0", + "https://assets.freshyo.in/product-images/1766406273178-1" + ] + }, + { + "id": 33, + "images": [ + "https://assets.freshyo.in/product-images/1769396046557-0" + ] + }, + { + "id": 37, + "images": [ + "https://assets.freshyo.in/product-images/1766636589779-0" + ] + }, + { + "id": 45, + "images": [ + "https://assets.freshyo.in/product-images/1768639292540-0" + ] + }, + { + "id": 64, + "images": [ + "https://assets.freshyo.in/product-images/1768709567040-0" + ] + }, + { + "id": 65, + "images": [ + "https://assets.freshyo.in/product-images/1768710434326-0" + ] + }, + { + "id": 66, + "images": [ + "https://assets.freshyo.in/product-images/1768710760133-0" + ] + }, + { + "id": 67, + "images": [ + "https://assets.freshyo.in/product-images/1768711261174-0" + ] + }, + { + "id": 68, + "images": [ + "https://assets.freshyo.in/product-images/1768711919135-0" + ] + }, + { + "id": 69, + "images": [ + "https://assets.freshyo.in/product-images/1768712093829-0" + ] + }, + { + "id": 70, + "images": [ + "https://assets.freshyo.in/product-images/1768712490280-0" + ] + }, + { + "id": 71, + "images": [ + "https://assets.freshyo.in/product-images/1768713206145-0" + ] + }, + { + "id": 72, + "images": [ + "https://assets.freshyo.in/product-images/1768713537512-0" + ] + }, + { + "id": 74, + "images": [ + "https://assets.freshyo.in/product-images/1768713886512-0" + ] + }, + { + "id": 76, + "images": [ + "https://assets.freshyo.in/product-images/1768727264220-0" + ] + }, + { + "id": 77, + "images": [ + "https://assets.freshyo.in/product-images/1769396724595-0" + ] + }, + { + "id": 78, + "images": [ + "https://assets.freshyo.in/product-images/1769241234003-0" + ] + }, + { + "id": 79, + "images": [ + "https://assets.freshyo.in/product-images/1768822893380-0" + ] + }, + { + "id": 88, + "images": [ + "https://assets.freshyo.in/product-images/1769394457296-0" + ] + }, + { + "id": 89, + "images": [ + "https://assets.freshyo.in/product-images/1769395184980-0" + ] + }, + { + "id": 90, + "images": [ + "https://assets.freshyo.in/product-images/1769398103853-0" + ] + }, + { + "id": 91, + "images": [ + "https://assets.freshyo.in/product-images/1769398710713-0" + ] + }, + { + "id": 92, + "images": [ + "https://assets.freshyo.in/product-images/1769399617573-0" + ] + }, + { + "id": 94, + "images": [ + "https://assets.freshyo.in/product-images/1769571810861-0" + ] + }, + { + "id": 95, + "images": [ + "https://assets.freshyo.in/product-images/1769571978680-0" + ] + }, + { + "id": 97, + "images": [ + "https://assets.freshyo.in/product-images/1769577010969-0" + ] + }, + { + "id": 101, + "images": [ + "https://assets.freshyo.in/product-images/1771249922306-0" + ] + }, + { + "id": 103, + "images": [ + "https://assets.freshyo.in/product-images/1771647812442-0" + ] + }, + { + "id": 127, + "images": [ + "https://assets.freshyo.in/product-images/1781711355656.png" + ] + }, + { + "id": 144, + "images": [ + "https://assets.freshyo.in/product-images/1787996184981.jpg" + ] + }, + { + "id": 145, + "images": [ + "https://assets.freshyo.in/product-images/1787996367962.jpg" + ] + }, + { + "id": 146, + "images": [ + "https://assets.freshyo.in/product-images/1787996596668.jpg" + ] + }, + { + "id": 4, + "images": [ + "https://assets.freshyo.in/product-images/1767636171845-0" + ] + }, + { + "id": 14, + "images": [ + "https://assets.freshyo.in/product-images/1768834170995-0" + ] + }, + { + "id": 35, + "images": [ + "https://assets.freshyo.in/product-images/1767636561867-0" + ] + }, + { + "id": 86, + "images": [ + "https://assets.freshyo.in/product-images/1769151216776-0" + ] + }, + { + "id": 98, + "images": [ + "https://assets.freshyo.in/product-images/1770051810386-0" + ] + }, + { + "id": 99, + "images": [ + "https://assets.freshyo.in/product-images/1770051959669-0" + ] + }, + { + "id": 2, + "images": [ + "https://assets.freshyo.in/product-images/1768397780093-0", + "https://assets.freshyo.in/product-images/1768479562478-0" + ] + }, + { + "id": 3, + "images": [ + "https://assets.freshyo.in/product-images/1768475599800-0" + ] + }, + { + "id": 10, + "images": [ + "https://assets.freshyo.in/product-images/1768390245969-0" + ] + }, + { + "id": 21, + "images": [ + "https://assets.freshyo.in/product-images/1768539930897-0", + "https://assets.freshyo.in/product-images/1768539930899-1" + ] + }, + { + "id": 23, + "images": [ + "https://assets.freshyo.in/product-images/1767635527063-0" + ] + }, + { + "id": 24, + "images": [ + "https://assets.freshyo.in/product-images/1768484106870-0" + ] + }, + { + "id": 36, + "images": [ + "https://assets.freshyo.in/product-images/1768413754684-0" + ] + }, + { + "id": 40, + "images": [ + "https://assets.freshyo.in/product-images/1767637606890-0" + ] + }, + { + "id": 41, + "images": [ + "https://assets.freshyo.in/product-images/1768307047191-0" + ] + }, + { + "id": 42, + "images": [ + "https://assets.freshyo.in/product-images/1768393778962-0" + ] + }, + { + "id": 80, + "images": [ + "https://assets.freshyo.in/product-images/1769063336125-0" + ] + }, + { + "id": 137, + "images": [ + "https://assets.freshyo.in/product-images/1787247236467.png" + ] + }, + { + "id": 149, + "images": [ + "https://assets.freshyo.in/product-images/1789123496246.png" + ] + }, + { + "id": 147, + "images": [ + "https://assets.freshyo.in/product-images/1788230211980.png" + ] + }, + { + "id": 141, + "images": [ + "https://assets.freshyo.in/product-images/1787249312475.jpg" + ] + }, + { + "id": 140, + "images": [ + "https://assets.freshyo.in/product-images/1787248824197.png", + "https://assets.freshyo.in/product-images/1787248824464.jpg" + ] + }, + { + "id": 138, + "images": [ + "https://assets.freshyo.in/product-images/1787247755954.jpg" + ] + }, + { + "id": 139, + "images": [ + "https://assets.freshyo.in/product-images/1787248611495.jpg" + ] + }, + { + "id": 136, + "images": [ + "https://assets.freshyo.in/product-images/1788533822538.jpg" + ] + } + ] + }, + { + "id": 1850, + "deliveryTime": "2026-09-18T06:30:00.000Z", + "freezeTime": "2026-09-18T06:20:00.000Z", + "products": [ + { + "id": 129, + "images": [ + "https://assets.freshyo.in/product-images/1784220823113.jpg" + ] + }, + { + "id": 130, + "images": [ + "https://assets.freshyo.in/product-images/1784698463282.jpg" + ] + }, + { + "id": 131, + "images": [ + "https://assets.freshyo.in/product-images/1784221386651.jpg" + ] + }, + { + "id": 132, + "images": [ + "https://assets.freshyo.in/product-images/1784221665870.jpg" + ] + }, + { + "id": 133, + "images": [ + "https://assets.freshyo.in/product-images/1784221842934.jpg" + ] + }, + { + "id": 134, + "images": [ + "https://assets.freshyo.in/product-images/1784222032500.jpg" + ] + }, + { + "id": 135, + "images": [ + "https://assets.freshyo.in/product-images/1784700581756.png" + ] + }, + { + "id": 104, + "images": [ + "https://assets.freshyo.in/product-images/1773126251435-0" + ] + }, + { + "id": 105, + "images": [ + "https://assets.freshyo.in/product-images/1773126524403-0" + ] + }, + { + "id": 106, + "images": [ + "https://assets.freshyo.in/product-images/1773127805418-0" + ] + }, + { + "id": 107, + "images": [ + "https://assets.freshyo.in/product-images/1773128056033-0" + ] + }, + { + "id": 108, + "images": [ + "https://assets.freshyo.in/product-images/1773128303272-0" + ] + }, + { + "id": 109, + "images": [ + "https://assets.freshyo.in/product-images/1773129061191-0" + ] + }, + { + "id": 110, + "images": [ + "https://assets.freshyo.in/product-images/1773129209100-0" + ] + }, + { + "id": 111, + "images": [ + "https://assets.freshyo.in/product-images/1773566003997-0" + ] + }, + { + "id": 112, + "images": [ + "https://assets.freshyo.in/product-images/1773130741608-0" + ] + }, + { + "id": 113, + "images": [ + "https://assets.freshyo.in/product-images/1773566035297-0" + ] + }, + { + "id": 114, + "images": [ + "https://assets.freshyo.in/product-images/1773566115806-0" + ] + }, + { + "id": 115, + "images": [ + "https://assets.freshyo.in/product-images/1773566605539-0" + ] + }, + { + "id": 116, + "images": [ + "https://assets.freshyo.in/product-images/1773209103816-0" + ] + }, + { + "id": 117, + "images": [ + "https://assets.freshyo.in/product-images/1773222507937-0" + ] + }, + { + "id": 118, + "images": [ + "https://assets.freshyo.in/product-images/1773224238549-0" + ] + }, + { + "id": 119, + "images": [ + "https://assets.freshyo.in/product-images/1774961460199-0", + "https://assets.freshyo.in/product-images/1774961460203-1" + ] + }, + { + "id": 120, + "images": [ + "https://assets.freshyo.in/product-images/1774961917278-0" + ] + }, + { + "id": 121, + "images": [ + "https://assets.freshyo.in/product-images/1774967050357-0" + ] + }, + { + "id": 122, + "images": [ + "https://assets.freshyo.in/product-images/1776166347889.png" + ] + }, + { + "id": 123, + "images": [ + "https://assets.freshyo.in/product-images/1776166580757.png" + ] + }, + { + "id": 124, + "images": [ + "https://assets.freshyo.in/product-images/1776166786776.png", + "https://assets.freshyo.in/product-images/1776166787107.jpg" + ] + }, + { + "id": 148, + "images": [ + "https://assets.freshyo.in/product-images/1788767922579.png" + ] + }, + { + "id": 6, + "images": [ + "https://assets.freshyo.in/product-images/1768640936747-0" + ] + }, + { + "id": 7, + "images": [ + "https://assets.freshyo.in/product-images/1768640009078-0" + ] + }, + { + "id": 8, + "images": [ + "https://assets.freshyo.in/product-images/1768647119198-0" + ] + }, + { + "id": 11, + "images": [ + "https://assets.freshyo.in/product-images/1768641635898-0" + ] + }, + { + "id": 13, + "images": [ + "https://assets.freshyo.in/product-images/1768641988607-0" + ] + }, + { + "id": 25, + "images": [ + "https://assets.freshyo.in/product-images/1768649838027-0" + ] + }, + { + "id": 26, + "images": [ + "https://assets.freshyo.in/product-images/1768640645444-0" + ] + }, + { + "id": 38, + "images": [ + "https://assets.freshyo.in/product-images/1768640403001-0" + ] + }, + { + "id": 39, + "images": [ + "https://assets.freshyo.in/product-images/1768650081183-0" + ] + }, + { + "id": 43, + "images": [ + "https://assets.freshyo.in/product-images/1768638795991-0" + ] + }, + { + "id": 44, + "images": [ + "https://assets.freshyo.in/product-images/1768639090932-0" + ] + }, + { + "id": 46, + "images": [ + "https://assets.freshyo.in/product-images/1768639705530-0" + ] + }, + { + "id": 47, + "images": [ + "https://assets.freshyo.in/product-images/1768642455479-0" + ] + }, + { + "id": 48, + "images": [ + "https://assets.freshyo.in/product-images/1768642724520-0" + ] + }, + { + "id": 49, + "images": [ + "https://assets.freshyo.in/product-images/1768643138910-0" + ] + }, + { + "id": 50, + "images": [ + "https://assets.freshyo.in/product-images/1768643354251-0" + ] + }, + { + "id": 51, + "images": [ + "https://assets.freshyo.in/product-images/1768646295695-0" + ] + }, + { + "id": 52, + "images": [ + "https://assets.freshyo.in/product-images/1768646744949-0" + ] + }, + { + "id": 53, + "images": [ + "https://assets.freshyo.in/product-images/1768646932088-0" + ] + }, + { + "id": 54, + "images": [ + "https://assets.freshyo.in/product-images/1768649454994-0" + ] + }, + { + "id": 55, + "images": [ + "https://assets.freshyo.in/product-images/1768650709484-0" + ] + }, + { + "id": 56, + "images": [ + "https://assets.freshyo.in/product-images/1768651334320-0" + ] + }, + { + "id": 57, + "images": [ + "https://assets.freshyo.in/product-images/1768651774899-0" + ] + }, + { + "id": 58, + "images": [ + "https://assets.freshyo.in/product-images/1768652061701-0" + ] + }, + { + "id": 59, + "images": [ + "https://assets.freshyo.in/product-images/1768653009851-0" + ] + }, + { + "id": 60, + "images": [ + "https://assets.freshyo.in/product-images/1768653997561-0" + ] + }, + { + "id": 61, + "images": [ + "https://assets.freshyo.in/product-images/1768654475850-0" + ] + }, + { + "id": 62, + "images": [ + "https://assets.freshyo.in/product-images/1768654740988-0" + ] + }, + { + "id": 63, + "images": [ + "https://assets.freshyo.in/product-images/1768658094891-0" + ] + }, + { + "id": 73, + "images": [ + "https://assets.freshyo.in/product-images/1768718685357-0" + ] + }, + { + "id": 96, + "images": [ + "https://assets.freshyo.in/product-images/1769576743718-0" + ] + }, + { + "id": 100, + "images": [ + "https://assets.freshyo.in/product-images/1770212631435-0" + ] + }, + { + "id": 125, + "images": [ + "https://assets.freshyo.in/product-images/1777263925402.jpg" + ] + }, + { + "id": 126, + "images": [ + "https://assets.freshyo.in/product-images/1778175573767.jpg" + ] + }, + { + "id": 9, + "images": [ + "https://assets.freshyo.in/product-images/1768832690994-0" + ] + }, + { + "id": 22, + "images": [ + "https://assets.freshyo.in/product-images/1768834996932-0" + ] + }, + { + "id": 81, + "images": [ + "https://assets.freshyo.in/product-images/1769063467386-0" + ] + }, + { + "id": 82, + "images": [ + "https://assets.freshyo.in/product-images/1782023099986.png" + ] + }, + { + "id": 102, + "images": [ + "https://assets.freshyo.in/product-images/1771411526889-0" + ] + }, + { + "id": 5, + "images": [ + "https://assets.freshyo.in/product-images/1768710099841-0" + ] + }, + { + "id": 16, + "images": [ + "https://assets.freshyo.in/product-images/1769397372526-0" + ] + }, + { + "id": 17, + "images": [ + "https://assets.freshyo.in/product-images/1768640233068-0" + ] + }, + { + "id": 18, + "images": [ + "https://assets.freshyo.in/product-images/1769351976737-0" + ] + }, + { + "id": 19, + "images": [ + "https://assets.freshyo.in/product-images/1768639707515-0" + ] + }, + { + "id": 27, + "images": [ + "https://assets.freshyo.in/product-images/1768639645423-0" + ] + }, + { + "id": 28, + "images": [ + "https://assets.freshyo.in/product-images/1769356702593-0" + ] + }, + { + "id": 29, + "images": [ + "https://assets.freshyo.in/product-images/1768823985921-0" + ] + }, + { + "id": 30, + "images": [ + "https://assets.freshyo.in/product-images/1768726783083-0" + ] + }, + { + "id": 31, + "images": [ + "https://assets.freshyo.in/product-images/1769574792720-0" + ] + }, + { + "id": 32, + "images": [ + "https://assets.freshyo.in/product-images/1766406273176-0", + "https://assets.freshyo.in/product-images/1766406273178-1" + ] + }, + { + "id": 33, + "images": [ + "https://assets.freshyo.in/product-images/1769396046557-0" + ] + }, + { + "id": 37, + "images": [ + "https://assets.freshyo.in/product-images/1766636589779-0" + ] + }, + { + "id": 45, + "images": [ + "https://assets.freshyo.in/product-images/1768639292540-0" + ] + }, + { + "id": 64, + "images": [ + "https://assets.freshyo.in/product-images/1768709567040-0" + ] + }, + { + "id": 65, + "images": [ + "https://assets.freshyo.in/product-images/1768710434326-0" + ] + }, + { + "id": 66, + "images": [ + "https://assets.freshyo.in/product-images/1768710760133-0" + ] + }, + { + "id": 67, + "images": [ + "https://assets.freshyo.in/product-images/1768711261174-0" + ] + }, + { + "id": 68, + "images": [ + "https://assets.freshyo.in/product-images/1768711919135-0" + ] + }, + { + "id": 69, + "images": [ + "https://assets.freshyo.in/product-images/1768712093829-0" + ] + }, + { + "id": 70, + "images": [ + "https://assets.freshyo.in/product-images/1768712490280-0" + ] + }, + { + "id": 71, + "images": [ + "https://assets.freshyo.in/product-images/1768713206145-0" + ] + }, + { + "id": 72, + "images": [ + "https://assets.freshyo.in/product-images/1768713537512-0" + ] + }, + { + "id": 74, + "images": [ + "https://assets.freshyo.in/product-images/1768713886512-0" + ] + }, + { + "id": 76, + "images": [ + "https://assets.freshyo.in/product-images/1768727264220-0" + ] + }, + { + "id": 77, + "images": [ + "https://assets.freshyo.in/product-images/1769396724595-0" + ] + }, + { + "id": 78, + "images": [ + "https://assets.freshyo.in/product-images/1769241234003-0" + ] + }, + { + "id": 79, + "images": [ + "https://assets.freshyo.in/product-images/1768822893380-0" + ] + }, + { + "id": 88, + "images": [ + "https://assets.freshyo.in/product-images/1769394457296-0" + ] + }, + { + "id": 89, + "images": [ + "https://assets.freshyo.in/product-images/1769395184980-0" + ] + }, + { + "id": 90, + "images": [ + "https://assets.freshyo.in/product-images/1769398103853-0" + ] + }, + { + "id": 91, + "images": [ + "https://assets.freshyo.in/product-images/1769398710713-0" + ] + }, + { + "id": 92, + "images": [ + "https://assets.freshyo.in/product-images/1769399617573-0" + ] + }, + { + "id": 94, + "images": [ + "https://assets.freshyo.in/product-images/1769571810861-0" + ] + }, + { + "id": 95, + "images": [ + "https://assets.freshyo.in/product-images/1769571978680-0" + ] + }, + { + "id": 97, + "images": [ + "https://assets.freshyo.in/product-images/1769577010969-0" + ] + }, + { + "id": 101, + "images": [ + "https://assets.freshyo.in/product-images/1771249922306-0" + ] + }, + { + "id": 103, + "images": [ + "https://assets.freshyo.in/product-images/1771647812442-0" + ] + }, + { + "id": 127, + "images": [ + "https://assets.freshyo.in/product-images/1781711355656.png" + ] + }, + { + "id": 144, + "images": [ + "https://assets.freshyo.in/product-images/1787996184981.jpg" + ] + }, + { + "id": 145, + "images": [ + "https://assets.freshyo.in/product-images/1787996367962.jpg" + ] + }, + { + "id": 146, + "images": [ + "https://assets.freshyo.in/product-images/1787996596668.jpg" + ] + }, + { + "id": 4, + "images": [ + "https://assets.freshyo.in/product-images/1767636171845-0" + ] + }, + { + "id": 14, + "images": [ + "https://assets.freshyo.in/product-images/1768834170995-0" + ] + }, + { + "id": 35, + "images": [ + "https://assets.freshyo.in/product-images/1767636561867-0" + ] + }, + { + "id": 86, + "images": [ + "https://assets.freshyo.in/product-images/1769151216776-0" + ] + }, + { + "id": 98, + "images": [ + "https://assets.freshyo.in/product-images/1770051810386-0" + ] + }, + { + "id": 99, + "images": [ + "https://assets.freshyo.in/product-images/1770051959669-0" + ] + }, + { + "id": 2, + "images": [ + "https://assets.freshyo.in/product-images/1768397780093-0", + "https://assets.freshyo.in/product-images/1768479562478-0" + ] + }, + { + "id": 3, + "images": [ + "https://assets.freshyo.in/product-images/1768475599800-0" + ] + }, + { + "id": 10, + "images": [ + "https://assets.freshyo.in/product-images/1768390245969-0" + ] + }, + { + "id": 21, + "images": [ + "https://assets.freshyo.in/product-images/1768539930897-0", + "https://assets.freshyo.in/product-images/1768539930899-1" + ] + }, + { + "id": 23, + "images": [ + "https://assets.freshyo.in/product-images/1767635527063-0" + ] + }, + { + "id": 24, + "images": [ + "https://assets.freshyo.in/product-images/1768484106870-0" + ] + }, + { + "id": 36, + "images": [ + "https://assets.freshyo.in/product-images/1768413754684-0" + ] + }, + { + "id": 40, + "images": [ + "https://assets.freshyo.in/product-images/1767637606890-0" + ] + }, + { + "id": 41, + "images": [ + "https://assets.freshyo.in/product-images/1768307047191-0" + ] + }, + { + "id": 42, + "images": [ + "https://assets.freshyo.in/product-images/1768393778962-0" + ] + }, + { + "id": 80, + "images": [ + "https://assets.freshyo.in/product-images/1769063336125-0" + ] + }, + { + "id": 137, + "images": [ + "https://assets.freshyo.in/product-images/1787247236467.png" + ] + }, + { + "id": 149, + "images": [ + "https://assets.freshyo.in/product-images/1789123496246.png" + ] + }, + { + "id": 147, + "images": [ + "https://assets.freshyo.in/product-images/1788230211980.png" + ] + }, + { + "id": 141, + "images": [ + "https://assets.freshyo.in/product-images/1787249312475.jpg" + ] + }, + { + "id": 140, + "images": [ + "https://assets.freshyo.in/product-images/1787248824197.png", + "https://assets.freshyo.in/product-images/1787248824464.jpg" + ] + }, + { + "id": 139, + "images": [ + "https://assets.freshyo.in/product-images/1787248611495.jpg" + ] + }, + { + "id": 138, + "images": [ + "https://assets.freshyo.in/product-images/1787247755954.jpg" + ] + }, + { + "id": 136, + "images": [ + "https://assets.freshyo.in/product-images/1788533822538.jpg" + ] + } + ] + }, + { + "id": 1851, + "deliveryTime": "2026-09-18T09:30:00.000Z", + "freezeTime": "2026-09-18T09:20:00.000Z", + "products": [ + { + "id": 129, + "images": [ + "https://assets.freshyo.in/product-images/1784220823113.jpg" + ] + }, + { + "id": 130, + "images": [ + "https://assets.freshyo.in/product-images/1784698463282.jpg" + ] + }, + { + "id": 131, + "images": [ + "https://assets.freshyo.in/product-images/1784221386651.jpg" + ] + }, + { + "id": 132, + "images": [ + "https://assets.freshyo.in/product-images/1784221665870.jpg" + ] + }, + { + "id": 133, + "images": [ + "https://assets.freshyo.in/product-images/1784221842934.jpg" + ] + }, + { + "id": 134, + "images": [ + "https://assets.freshyo.in/product-images/1784222032500.jpg" + ] + }, + { + "id": 135, + "images": [ + "https://assets.freshyo.in/product-images/1784700581756.png" + ] + }, + { + "id": 104, + "images": [ + "https://assets.freshyo.in/product-images/1773126251435-0" + ] + }, + { + "id": 105, + "images": [ + "https://assets.freshyo.in/product-images/1773126524403-0" + ] + }, + { + "id": 106, + "images": [ + "https://assets.freshyo.in/product-images/1773127805418-0" + ] + }, + { + "id": 107, + "images": [ + "https://assets.freshyo.in/product-images/1773128056033-0" + ] + }, + { + "id": 108, + "images": [ + "https://assets.freshyo.in/product-images/1773128303272-0" + ] + }, + { + "id": 109, + "images": [ + "https://assets.freshyo.in/product-images/1773129061191-0" + ] + }, + { + "id": 110, + "images": [ + "https://assets.freshyo.in/product-images/1773129209100-0" + ] + }, + { + "id": 111, + "images": [ + "https://assets.freshyo.in/product-images/1773566003997-0" + ] + }, + { + "id": 112, + "images": [ + "https://assets.freshyo.in/product-images/1773130741608-0" + ] + }, + { + "id": 113, + "images": [ + "https://assets.freshyo.in/product-images/1773566035297-0" + ] + }, + { + "id": 114, + "images": [ + "https://assets.freshyo.in/product-images/1773566115806-0" + ] + }, + { + "id": 115, + "images": [ + "https://assets.freshyo.in/product-images/1773566605539-0" + ] + }, + { + "id": 116, + "images": [ + "https://assets.freshyo.in/product-images/1773209103816-0" + ] + }, + { + "id": 117, + "images": [ + "https://assets.freshyo.in/product-images/1773222507937-0" + ] + }, + { + "id": 118, + "images": [ + "https://assets.freshyo.in/product-images/1773224238549-0" + ] + }, + { + "id": 119, + "images": [ + "https://assets.freshyo.in/product-images/1774961460199-0", + "https://assets.freshyo.in/product-images/1774961460203-1" + ] + }, + { + "id": 120, + "images": [ + "https://assets.freshyo.in/product-images/1774961917278-0" + ] + }, + { + "id": 121, + "images": [ + "https://assets.freshyo.in/product-images/1774967050357-0" + ] + }, + { + "id": 122, + "images": [ + "https://assets.freshyo.in/product-images/1776166347889.png" + ] + }, + { + "id": 123, + "images": [ + "https://assets.freshyo.in/product-images/1776166580757.png" + ] + }, + { + "id": 124, + "images": [ + "https://assets.freshyo.in/product-images/1776166786776.png", + "https://assets.freshyo.in/product-images/1776166787107.jpg" + ] + }, + { + "id": 148, + "images": [ + "https://assets.freshyo.in/product-images/1788767922579.png" + ] + }, + { + "id": 6, + "images": [ + "https://assets.freshyo.in/product-images/1768640936747-0" + ] + }, + { + "id": 7, + "images": [ + "https://assets.freshyo.in/product-images/1768640009078-0" + ] + }, + { + "id": 8, + "images": [ + "https://assets.freshyo.in/product-images/1768647119198-0" + ] + }, + { + "id": 11, + "images": [ + "https://assets.freshyo.in/product-images/1768641635898-0" + ] + }, + { + "id": 13, + "images": [ + "https://assets.freshyo.in/product-images/1768641988607-0" + ] + }, + { + "id": 25, + "images": [ + "https://assets.freshyo.in/product-images/1768649838027-0" + ] + }, + { + "id": 26, + "images": [ + "https://assets.freshyo.in/product-images/1768640645444-0" + ] + }, + { + "id": 38, + "images": [ + "https://assets.freshyo.in/product-images/1768640403001-0" + ] + }, + { + "id": 39, + "images": [ + "https://assets.freshyo.in/product-images/1768650081183-0" + ] + }, + { + "id": 43, + "images": [ + "https://assets.freshyo.in/product-images/1768638795991-0" + ] + }, + { + "id": 44, + "images": [ + "https://assets.freshyo.in/product-images/1768639090932-0" + ] + }, + { + "id": 46, + "images": [ + "https://assets.freshyo.in/product-images/1768639705530-0" + ] + }, + { + "id": 47, + "images": [ + "https://assets.freshyo.in/product-images/1768642455479-0" + ] + }, + { + "id": 48, + "images": [ + "https://assets.freshyo.in/product-images/1768642724520-0" + ] + }, + { + "id": 49, + "images": [ + "https://assets.freshyo.in/product-images/1768643138910-0" + ] + }, + { + "id": 50, + "images": [ + "https://assets.freshyo.in/product-images/1768643354251-0" + ] + }, + { + "id": 51, + "images": [ + "https://assets.freshyo.in/product-images/1768646295695-0" + ] + }, + { + "id": 52, + "images": [ + "https://assets.freshyo.in/product-images/1768646744949-0" + ] + }, + { + "id": 53, + "images": [ + "https://assets.freshyo.in/product-images/1768646932088-0" + ] + }, + { + "id": 54, + "images": [ + "https://assets.freshyo.in/product-images/1768649454994-0" + ] + }, + { + "id": 55, + "images": [ + "https://assets.freshyo.in/product-images/1768650709484-0" + ] + }, + { + "id": 56, + "images": [ + "https://assets.freshyo.in/product-images/1768651334320-0" + ] + }, + { + "id": 57, + "images": [ + "https://assets.freshyo.in/product-images/1768651774899-0" + ] + }, + { + "id": 58, + "images": [ + "https://assets.freshyo.in/product-images/1768652061701-0" + ] + }, + { + "id": 59, + "images": [ + "https://assets.freshyo.in/product-images/1768653009851-0" + ] + }, + { + "id": 60, + "images": [ + "https://assets.freshyo.in/product-images/1768653997561-0" + ] + }, + { + "id": 61, + "images": [ + "https://assets.freshyo.in/product-images/1768654475850-0" + ] + }, + { + "id": 62, + "images": [ + "https://assets.freshyo.in/product-images/1768654740988-0" + ] + }, + { + "id": 63, + "images": [ + "https://assets.freshyo.in/product-images/1768658094891-0" + ] + }, + { + "id": 73, + "images": [ + "https://assets.freshyo.in/product-images/1768718685357-0" + ] + }, + { + "id": 96, + "images": [ + "https://assets.freshyo.in/product-images/1769576743718-0" + ] + }, + { + "id": 100, + "images": [ + "https://assets.freshyo.in/product-images/1770212631435-0" + ] + }, + { + "id": 125, + "images": [ + "https://assets.freshyo.in/product-images/1777263925402.jpg" + ] + }, + { + "id": 126, + "images": [ + "https://assets.freshyo.in/product-images/1778175573767.jpg" + ] + }, + { + "id": 9, + "images": [ + "https://assets.freshyo.in/product-images/1768832690994-0" + ] + }, + { + "id": 22, + "images": [ + "https://assets.freshyo.in/product-images/1768834996932-0" + ] + }, + { + "id": 81, + "images": [ + "https://assets.freshyo.in/product-images/1769063467386-0" + ] + }, + { + "id": 82, + "images": [ + "https://assets.freshyo.in/product-images/1782023099986.png" + ] + }, + { + "id": 102, + "images": [ + "https://assets.freshyo.in/product-images/1771411526889-0" + ] + }, + { + "id": 5, + "images": [ + "https://assets.freshyo.in/product-images/1768710099841-0" + ] + }, + { + "id": 16, + "images": [ + "https://assets.freshyo.in/product-images/1769397372526-0" + ] + }, + { + "id": 17, + "images": [ + "https://assets.freshyo.in/product-images/1768640233068-0" + ] + }, + { + "id": 18, + "images": [ + "https://assets.freshyo.in/product-images/1769351976737-0" + ] + }, + { + "id": 19, + "images": [ + "https://assets.freshyo.in/product-images/1768639707515-0" + ] + }, + { + "id": 27, + "images": [ + "https://assets.freshyo.in/product-images/1768639645423-0" + ] + }, + { + "id": 28, + "images": [ + "https://assets.freshyo.in/product-images/1769356702593-0" + ] + }, + { + "id": 29, + "images": [ + "https://assets.freshyo.in/product-images/1768823985921-0" + ] + }, + { + "id": 30, + "images": [ + "https://assets.freshyo.in/product-images/1768726783083-0" + ] + }, + { + "id": 31, + "images": [ + "https://assets.freshyo.in/product-images/1769574792720-0" + ] + }, + { + "id": 32, + "images": [ + "https://assets.freshyo.in/product-images/1766406273176-0", + "https://assets.freshyo.in/product-images/1766406273178-1" + ] + }, + { + "id": 33, + "images": [ + "https://assets.freshyo.in/product-images/1769396046557-0" + ] + }, + { + "id": 37, + "images": [ + "https://assets.freshyo.in/product-images/1766636589779-0" + ] + }, + { + "id": 45, + "images": [ + "https://assets.freshyo.in/product-images/1768639292540-0" + ] + }, + { + "id": 64, + "images": [ + "https://assets.freshyo.in/product-images/1768709567040-0" + ] + }, + { + "id": 65, + "images": [ + "https://assets.freshyo.in/product-images/1768710434326-0" + ] + }, + { + "id": 66, + "images": [ + "https://assets.freshyo.in/product-images/1768710760133-0" + ] + }, + { + "id": 67, + "images": [ + "https://assets.freshyo.in/product-images/1768711261174-0" + ] + }, + { + "id": 68, + "images": [ + "https://assets.freshyo.in/product-images/1768711919135-0" + ] + }, + { + "id": 69, + "images": [ + "https://assets.freshyo.in/product-images/1768712093829-0" + ] + }, + { + "id": 70, + "images": [ + "https://assets.freshyo.in/product-images/1768712490280-0" + ] + }, + { + "id": 71, + "images": [ + "https://assets.freshyo.in/product-images/1768713206145-0" + ] + }, + { + "id": 72, + "images": [ + "https://assets.freshyo.in/product-images/1768713537512-0" + ] + }, + { + "id": 74, + "images": [ + "https://assets.freshyo.in/product-images/1768713886512-0" + ] + }, + { + "id": 76, + "images": [ + "https://assets.freshyo.in/product-images/1768727264220-0" + ] + }, + { + "id": 77, + "images": [ + "https://assets.freshyo.in/product-images/1769396724595-0" + ] + }, + { + "id": 78, + "images": [ + "https://assets.freshyo.in/product-images/1769241234003-0" + ] + }, + { + "id": 79, + "images": [ + "https://assets.freshyo.in/product-images/1768822893380-0" + ] + }, + { + "id": 88, + "images": [ + "https://assets.freshyo.in/product-images/1769394457296-0" + ] + }, + { + "id": 89, + "images": [ + "https://assets.freshyo.in/product-images/1769395184980-0" + ] + }, + { + "id": 90, + "images": [ + "https://assets.freshyo.in/product-images/1769398103853-0" + ] + }, + { + "id": 91, + "images": [ + "https://assets.freshyo.in/product-images/1769398710713-0" + ] + }, + { + "id": 92, + "images": [ + "https://assets.freshyo.in/product-images/1769399617573-0" + ] + }, + { + "id": 94, + "images": [ + "https://assets.freshyo.in/product-images/1769571810861-0" + ] + }, + { + "id": 95, + "images": [ + "https://assets.freshyo.in/product-images/1769571978680-0" + ] + }, + { + "id": 97, + "images": [ + "https://assets.freshyo.in/product-images/1769577010969-0" + ] + }, + { + "id": 101, + "images": [ + "https://assets.freshyo.in/product-images/1771249922306-0" + ] + }, + { + "id": 103, + "images": [ + "https://assets.freshyo.in/product-images/1771647812442-0" + ] + }, + { + "id": 127, + "images": [ + "https://assets.freshyo.in/product-images/1781711355656.png" + ] + }, + { + "id": 144, + "images": [ + "https://assets.freshyo.in/product-images/1787996184981.jpg" + ] + }, + { + "id": 145, + "images": [ + "https://assets.freshyo.in/product-images/1787996367962.jpg" + ] + }, + { + "id": 146, + "images": [ + "https://assets.freshyo.in/product-images/1787996596668.jpg" + ] + }, + { + "id": 2, + "images": [ + "https://assets.freshyo.in/product-images/1768397780093-0", + "https://assets.freshyo.in/product-images/1768479562478-0" + ] + }, + { + "id": 3, + "images": [ + "https://assets.freshyo.in/product-images/1768475599800-0" + ] + }, + { + "id": 10, + "images": [ + "https://assets.freshyo.in/product-images/1768390245969-0" + ] + }, + { + "id": 21, + "images": [ + "https://assets.freshyo.in/product-images/1768539930897-0", + "https://assets.freshyo.in/product-images/1768539930899-1" + ] + }, + { + "id": 23, + "images": [ + "https://assets.freshyo.in/product-images/1767635527063-0" + ] + }, + { + "id": 24, + "images": [ + "https://assets.freshyo.in/product-images/1768484106870-0" + ] + }, + { + "id": 36, + "images": [ + "https://assets.freshyo.in/product-images/1768413754684-0" + ] + }, + { + "id": 40, + "images": [ + "https://assets.freshyo.in/product-images/1767637606890-0" + ] + }, + { + "id": 41, + "images": [ + "https://assets.freshyo.in/product-images/1768307047191-0" + ] + }, + { + "id": 42, + "images": [ + "https://assets.freshyo.in/product-images/1768393778962-0" + ] + }, + { + "id": 80, + "images": [ + "https://assets.freshyo.in/product-images/1769063336125-0" + ] + }, + { + "id": 137, + "images": [ + "https://assets.freshyo.in/product-images/1787247236467.png" + ] + }, + { + "id": 149, + "images": [ + "https://assets.freshyo.in/product-images/1789123496246.png" + ] + }, + { + "id": 147, + "images": [ + "https://assets.freshyo.in/product-images/1788230211980.png" + ] + }, + { + "id": 141, + "images": [ + "https://assets.freshyo.in/product-images/1787249312475.jpg" + ] + }, + { + "id": 140, + "images": [ + "https://assets.freshyo.in/product-images/1787248824197.png", + "https://assets.freshyo.in/product-images/1787248824464.jpg" + ] + }, + { + "id": 139, + "images": [ + "https://assets.freshyo.in/product-images/1787248611495.jpg" + ] + }, + { + "id": 138, + "images": [ + "https://assets.freshyo.in/product-images/1787247755954.jpg" + ] + }, + { + "id": 136, + "images": [ + "https://assets.freshyo.in/product-images/1788533822538.jpg" + ] + } + ] + }, + { + "id": 1852, + "deliveryTime": "2026-09-18T10:30:00.000Z", + "freezeTime": "2026-09-18T10:20:00.000Z", + "products": [ + { + "id": 129, + "images": [ + "https://assets.freshyo.in/product-images/1784220823113.jpg" + ] + }, + { + "id": 130, + "images": [ + "https://assets.freshyo.in/product-images/1784698463282.jpg" + ] + }, + { + "id": 131, + "images": [ + "https://assets.freshyo.in/product-images/1784221386651.jpg" + ] + }, + { + "id": 132, + "images": [ + "https://assets.freshyo.in/product-images/1784221665870.jpg" + ] + }, + { + "id": 133, + "images": [ + "https://assets.freshyo.in/product-images/1784221842934.jpg" + ] + }, + { + "id": 134, + "images": [ + "https://assets.freshyo.in/product-images/1784222032500.jpg" + ] + }, + { + "id": 135, + "images": [ + "https://assets.freshyo.in/product-images/1784700581756.png" + ] + }, + { + "id": 104, + "images": [ + "https://assets.freshyo.in/product-images/1773126251435-0" + ] + }, + { + "id": 105, + "images": [ + "https://assets.freshyo.in/product-images/1773126524403-0" + ] + }, + { + "id": 106, + "images": [ + "https://assets.freshyo.in/product-images/1773127805418-0" + ] + }, + { + "id": 107, + "images": [ + "https://assets.freshyo.in/product-images/1773128056033-0" + ] + }, + { + "id": 108, + "images": [ + "https://assets.freshyo.in/product-images/1773128303272-0" + ] + }, + { + "id": 109, + "images": [ + "https://assets.freshyo.in/product-images/1773129061191-0" + ] + }, + { + "id": 110, + "images": [ + "https://assets.freshyo.in/product-images/1773129209100-0" + ] + }, + { + "id": 111, + "images": [ + "https://assets.freshyo.in/product-images/1773566003997-0" + ] + }, + { + "id": 112, + "images": [ + "https://assets.freshyo.in/product-images/1773130741608-0" + ] + }, + { + "id": 113, + "images": [ + "https://assets.freshyo.in/product-images/1773566035297-0" + ] + }, + { + "id": 114, + "images": [ + "https://assets.freshyo.in/product-images/1773566115806-0" + ] + }, + { + "id": 115, + "images": [ + "https://assets.freshyo.in/product-images/1773566605539-0" + ] + }, + { + "id": 116, + "images": [ + "https://assets.freshyo.in/product-images/1773209103816-0" + ] + }, + { + "id": 117, + "images": [ + "https://assets.freshyo.in/product-images/1773222507937-0" + ] + }, + { + "id": 118, + "images": [ + "https://assets.freshyo.in/product-images/1773224238549-0" + ] + }, + { + "id": 119, + "images": [ + "https://assets.freshyo.in/product-images/1774961460199-0", + "https://assets.freshyo.in/product-images/1774961460203-1" + ] + }, + { + "id": 120, + "images": [ + "https://assets.freshyo.in/product-images/1774961917278-0" + ] + }, + { + "id": 121, + "images": [ + "https://assets.freshyo.in/product-images/1774967050357-0" + ] + }, + { + "id": 122, + "images": [ + "https://assets.freshyo.in/product-images/1776166347889.png" + ] + }, + { + "id": 123, + "images": [ + "https://assets.freshyo.in/product-images/1776166580757.png" + ] + }, + { + "id": 124, + "images": [ + "https://assets.freshyo.in/product-images/1776166786776.png", + "https://assets.freshyo.in/product-images/1776166787107.jpg" + ] + }, + { + "id": 148, + "images": [ + "https://assets.freshyo.in/product-images/1788767922579.png" + ] + }, + { + "id": 7, + "images": [ + "https://assets.freshyo.in/product-images/1768640009078-0" + ] + }, + { + "id": 8, + "images": [ + "https://assets.freshyo.in/product-images/1768647119198-0" + ] + }, + { + "id": 11, + "images": [ + "https://assets.freshyo.in/product-images/1768641635898-0" + ] + }, + { + "id": 13, + "images": [ + "https://assets.freshyo.in/product-images/1768641988607-0" + ] + }, + { + "id": 25, + "images": [ + "https://assets.freshyo.in/product-images/1768649838027-0" + ] + }, + { + "id": 26, + "images": [ + "https://assets.freshyo.in/product-images/1768640645444-0" + ] + }, + { + "id": 38, + "images": [ + "https://assets.freshyo.in/product-images/1768640403001-0" + ] + }, + { + "id": 39, + "images": [ + "https://assets.freshyo.in/product-images/1768650081183-0" + ] + }, + { + "id": 43, + "images": [ + "https://assets.freshyo.in/product-images/1768638795991-0" + ] + }, + { + "id": 44, + "images": [ + "https://assets.freshyo.in/product-images/1768639090932-0" + ] + }, + { + "id": 46, + "images": [ + "https://assets.freshyo.in/product-images/1768639705530-0" + ] + }, + { + "id": 47, + "images": [ + "https://assets.freshyo.in/product-images/1768642455479-0" + ] + }, + { + "id": 48, + "images": [ + "https://assets.freshyo.in/product-images/1768642724520-0" + ] + }, + { + "id": 49, + "images": [ + "https://assets.freshyo.in/product-images/1768643138910-0" + ] + }, + { + "id": 50, + "images": [ + "https://assets.freshyo.in/product-images/1768643354251-0" + ] + }, + { + "id": 51, + "images": [ + "https://assets.freshyo.in/product-images/1768646295695-0" + ] + }, + { + "id": 52, + "images": [ + "https://assets.freshyo.in/product-images/1768646744949-0" + ] + }, + { + "id": 53, + "images": [ + "https://assets.freshyo.in/product-images/1768646932088-0" + ] + }, + { + "id": 54, + "images": [ + "https://assets.freshyo.in/product-images/1768649454994-0" + ] + }, + { + "id": 55, + "images": [ + "https://assets.freshyo.in/product-images/1768650709484-0" + ] + }, + { + "id": 56, + "images": [ + "https://assets.freshyo.in/product-images/1768651334320-0" + ] + }, + { + "id": 57, + "images": [ + "https://assets.freshyo.in/product-images/1768651774899-0" + ] + }, + { + "id": 58, + "images": [ + "https://assets.freshyo.in/product-images/1768652061701-0" + ] + }, + { + "id": 59, + "images": [ + "https://assets.freshyo.in/product-images/1768653009851-0" + ] + }, + { + "id": 60, + "images": [ + "https://assets.freshyo.in/product-images/1768653997561-0" + ] + }, + { + "id": 61, + "images": [ + "https://assets.freshyo.in/product-images/1768654475850-0" + ] + }, + { + "id": 62, + "images": [ + "https://assets.freshyo.in/product-images/1768654740988-0" + ] + }, + { + "id": 63, + "images": [ + "https://assets.freshyo.in/product-images/1768658094891-0" + ] + }, + { + "id": 73, + "images": [ + "https://assets.freshyo.in/product-images/1768718685357-0" + ] + }, + { + "id": 96, + "images": [ + "https://assets.freshyo.in/product-images/1769576743718-0" + ] + }, + { + "id": 100, + "images": [ + "https://assets.freshyo.in/product-images/1770212631435-0" + ] + }, + { + "id": 125, + "images": [ + "https://assets.freshyo.in/product-images/1777263925402.jpg" + ] + }, + { + "id": 126, + "images": [ + "https://assets.freshyo.in/product-images/1778175573767.jpg" + ] + }, + { + "id": 9, + "images": [ + "https://assets.freshyo.in/product-images/1768832690994-0" + ] + }, + { + "id": 22, + "images": [ + "https://assets.freshyo.in/product-images/1768834996932-0" + ] + }, + { + "id": 81, + "images": [ + "https://assets.freshyo.in/product-images/1769063467386-0" + ] + }, + { + "id": 82, + "images": [ + "https://assets.freshyo.in/product-images/1782023099986.png" + ] + }, + { + "id": 102, + "images": [ + "https://assets.freshyo.in/product-images/1771411526889-0" + ] + }, + { + "id": 5, + "images": [ + "https://assets.freshyo.in/product-images/1768710099841-0" + ] + }, + { + "id": 16, + "images": [ + "https://assets.freshyo.in/product-images/1769397372526-0" + ] + }, + { + "id": 17, + "images": [ + "https://assets.freshyo.in/product-images/1768640233068-0" + ] + }, + { + "id": 18, + "images": [ + "https://assets.freshyo.in/product-images/1769351976737-0" + ] + }, + { + "id": 19, + "images": [ + "https://assets.freshyo.in/product-images/1768639707515-0" + ] + }, + { + "id": 27, + "images": [ + "https://assets.freshyo.in/product-images/1768639645423-0" + ] + }, + { + "id": 28, + "images": [ + "https://assets.freshyo.in/product-images/1769356702593-0" + ] + }, + { + "id": 29, + "images": [ + "https://assets.freshyo.in/product-images/1768823985921-0" + ] + }, + { + "id": 30, + "images": [ + "https://assets.freshyo.in/product-images/1768726783083-0" + ] + }, + { + "id": 31, + "images": [ + "https://assets.freshyo.in/product-images/1769574792720-0" + ] + }, + { + "id": 32, + "images": [ + "https://assets.freshyo.in/product-images/1766406273176-0", + "https://assets.freshyo.in/product-images/1766406273178-1" + ] + }, + { + "id": 33, + "images": [ + "https://assets.freshyo.in/product-images/1769396046557-0" + ] + }, + { + "id": 37, + "images": [ + "https://assets.freshyo.in/product-images/1766636589779-0" + ] + }, + { + "id": 45, + "images": [ + "https://assets.freshyo.in/product-images/1768639292540-0" + ] + }, + { + "id": 64, + "images": [ + "https://assets.freshyo.in/product-images/1768709567040-0" + ] + }, + { + "id": 65, + "images": [ + "https://assets.freshyo.in/product-images/1768710434326-0" + ] + }, + { + "id": 66, + "images": [ + "https://assets.freshyo.in/product-images/1768710760133-0" + ] + }, + { + "id": 67, + "images": [ + "https://assets.freshyo.in/product-images/1768711261174-0" + ] + }, + { + "id": 68, + "images": [ + "https://assets.freshyo.in/product-images/1768711919135-0" + ] + }, + { + "id": 69, + "images": [ + "https://assets.freshyo.in/product-images/1768712093829-0" + ] + }, + { + "id": 70, + "images": [ + "https://assets.freshyo.in/product-images/1768712490280-0" + ] + }, + { + "id": 71, + "images": [ + "https://assets.freshyo.in/product-images/1768713206145-0" + ] + }, + { + "id": 72, + "images": [ + "https://assets.freshyo.in/product-images/1768713537512-0" + ] + }, + { + "id": 74, + "images": [ + "https://assets.freshyo.in/product-images/1768713886512-0" + ] + }, + { + "id": 76, + "images": [ + "https://assets.freshyo.in/product-images/1768727264220-0" + ] + }, + { + "id": 77, + "images": [ + "https://assets.freshyo.in/product-images/1769396724595-0" + ] + }, + { + "id": 78, + "images": [ + "https://assets.freshyo.in/product-images/1769241234003-0" + ] + }, + { + "id": 79, + "images": [ + "https://assets.freshyo.in/product-images/1768822893380-0" + ] + }, + { + "id": 88, + "images": [ + "https://assets.freshyo.in/product-images/1769394457296-0" + ] + }, + { + "id": 89, + "images": [ + "https://assets.freshyo.in/product-images/1769395184980-0" + ] + }, + { + "id": 90, + "images": [ + "https://assets.freshyo.in/product-images/1769398103853-0" + ] + }, + { + "id": 91, + "images": [ + "https://assets.freshyo.in/product-images/1769398710713-0" + ] + }, + { + "id": 92, + "images": [ + "https://assets.freshyo.in/product-images/1769399617573-0" + ] + }, + { + "id": 94, + "images": [ + "https://assets.freshyo.in/product-images/1769571810861-0" + ] + }, + { + "id": 95, + "images": [ + "https://assets.freshyo.in/product-images/1769571978680-0" + ] + }, + { + "id": 97, + "images": [ + "https://assets.freshyo.in/product-images/1769577010969-0" + ] + }, + { + "id": 101, + "images": [ + "https://assets.freshyo.in/product-images/1771249922306-0" + ] + }, + { + "id": 103, + "images": [ + "https://assets.freshyo.in/product-images/1771647812442-0" + ] + }, + { + "id": 127, + "images": [ + "https://assets.freshyo.in/product-images/1781711355656.png" + ] + }, + { + "id": 144, + "images": [ + "https://assets.freshyo.in/product-images/1787996184981.jpg" + ] + }, + { + "id": 145, + "images": [ + "https://assets.freshyo.in/product-images/1787996367962.jpg" + ] + }, + { + "id": 146, + "images": [ + "https://assets.freshyo.in/product-images/1787996596668.jpg" + ] + }, + { + "id": 2, + "images": [ + "https://assets.freshyo.in/product-images/1768397780093-0", + "https://assets.freshyo.in/product-images/1768479562478-0" + ] + }, + { + "id": 3, + "images": [ + "https://assets.freshyo.in/product-images/1768475599800-0" + ] + }, + { + "id": 10, + "images": [ + "https://assets.freshyo.in/product-images/1768390245969-0" + ] + }, + { + "id": 21, + "images": [ + "https://assets.freshyo.in/product-images/1768539930897-0", + "https://assets.freshyo.in/product-images/1768539930899-1" + ] + }, + { + "id": 23, + "images": [ + "https://assets.freshyo.in/product-images/1767635527063-0" + ] + }, + { + "id": 24, + "images": [ + "https://assets.freshyo.in/product-images/1768484106870-0" + ] + }, + { + "id": 36, + "images": [ + "https://assets.freshyo.in/product-images/1768413754684-0" + ] + }, + { + "id": 40, + "images": [ + "https://assets.freshyo.in/product-images/1767637606890-0" + ] + }, + { + "id": 41, + "images": [ + "https://assets.freshyo.in/product-images/1768307047191-0" + ] + }, + { + "id": 42, + "images": [ + "https://assets.freshyo.in/product-images/1768393778962-0" + ] + }, + { + "id": 80, + "images": [ + "https://assets.freshyo.in/product-images/1769063336125-0" + ] + }, + { + "id": 137, + "images": [ + "https://assets.freshyo.in/product-images/1787247236467.png" + ] + }, + { + "id": 149, + "images": [ + "https://assets.freshyo.in/product-images/1789123496246.png" + ] + }, + { + "id": 147, + "images": [ + "https://assets.freshyo.in/product-images/1788230211980.png" + ] + }, + { + "id": 141, + "images": [ + "https://assets.freshyo.in/product-images/1787249312475.jpg" + ] + }, + { + "id": 140, + "images": [ + "https://assets.freshyo.in/product-images/1787248824197.png", + "https://assets.freshyo.in/product-images/1787248824464.jpg" + ] + }, + { + "id": 139, + "images": [ + "https://assets.freshyo.in/product-images/1787248611495.jpg" + ] + }, + { + "id": 138, + "images": [ + "https://assets.freshyo.in/product-images/1787247755954.jpg" + ] + }, + { + "id": 136, + "images": [ + "https://assets.freshyo.in/product-images/1788533822538.jpg" + ] + } + ] + }, + { + "id": 1853, + "deliveryTime": "2026-09-18T12:30:00.000Z", + "freezeTime": "2026-09-18T12:20:00.000Z", + "products": [ + { + "id": 129, + "images": [ + "https://assets.freshyo.in/product-images/1784220823113.jpg" + ] + }, + { + "id": 130, + "images": [ + "https://assets.freshyo.in/product-images/1784698463282.jpg" + ] + }, + { + "id": 131, + "images": [ + "https://assets.freshyo.in/product-images/1784221386651.jpg" + ] + }, + { + "id": 132, + "images": [ + "https://assets.freshyo.in/product-images/1784221665870.jpg" + ] + }, + { + "id": 133, + "images": [ + "https://assets.freshyo.in/product-images/1784221842934.jpg" + ] + }, + { + "id": 134, + "images": [ + "https://assets.freshyo.in/product-images/1784222032500.jpg" + ] + }, + { + "id": 135, + "images": [ + "https://assets.freshyo.in/product-images/1784700581756.png" + ] + }, + { + "id": 104, + "images": [ + "https://assets.freshyo.in/product-images/1773126251435-0" + ] + }, + { + "id": 105, + "images": [ + "https://assets.freshyo.in/product-images/1773126524403-0" + ] + }, + { + "id": 106, + "images": [ + "https://assets.freshyo.in/product-images/1773127805418-0" + ] + }, + { + "id": 107, + "images": [ + "https://assets.freshyo.in/product-images/1773128056033-0" + ] + }, + { + "id": 108, + "images": [ + "https://assets.freshyo.in/product-images/1773128303272-0" + ] + }, + { + "id": 109, + "images": [ + "https://assets.freshyo.in/product-images/1773129061191-0" + ] + }, + { + "id": 110, + "images": [ + "https://assets.freshyo.in/product-images/1773129209100-0" + ] + }, + { + "id": 111, + "images": [ + "https://assets.freshyo.in/product-images/1773566003997-0" + ] + }, + { + "id": 112, + "images": [ + "https://assets.freshyo.in/product-images/1773130741608-0" + ] + }, + { + "id": 113, + "images": [ + "https://assets.freshyo.in/product-images/1773566035297-0" + ] + }, + { + "id": 114, + "images": [ + "https://assets.freshyo.in/product-images/1773566115806-0" + ] + }, + { + "id": 115, + "images": [ + "https://assets.freshyo.in/product-images/1773566605539-0" + ] + }, + { + "id": 116, + "images": [ + "https://assets.freshyo.in/product-images/1773209103816-0" + ] + }, + { + "id": 117, + "images": [ + "https://assets.freshyo.in/product-images/1773222507937-0" + ] + }, + { + "id": 118, + "images": [ + "https://assets.freshyo.in/product-images/1773224238549-0" + ] + }, + { + "id": 119, + "images": [ + "https://assets.freshyo.in/product-images/1774961460199-0", + "https://assets.freshyo.in/product-images/1774961460203-1" + ] + }, + { + "id": 120, + "images": [ + "https://assets.freshyo.in/product-images/1774961917278-0" + ] + }, + { + "id": 121, + "images": [ + "https://assets.freshyo.in/product-images/1774967050357-0" + ] + }, + { + "id": 122, + "images": [ + "https://assets.freshyo.in/product-images/1776166347889.png" + ] + }, + { + "id": 123, + "images": [ + "https://assets.freshyo.in/product-images/1776166580757.png" + ] + }, + { + "id": 124, + "images": [ + "https://assets.freshyo.in/product-images/1776166786776.png", + "https://assets.freshyo.in/product-images/1776166787107.jpg" + ] + }, + { + "id": 148, + "images": [ + "https://assets.freshyo.in/product-images/1788767922579.png" + ] + }, + { + "id": 6, + "images": [ + "https://assets.freshyo.in/product-images/1768640936747-0" + ] + }, + { + "id": 7, + "images": [ + "https://assets.freshyo.in/product-images/1768640009078-0" + ] + }, + { + "id": 8, + "images": [ + "https://assets.freshyo.in/product-images/1768647119198-0" + ] + }, + { + "id": 11, + "images": [ + "https://assets.freshyo.in/product-images/1768641635898-0" + ] + }, + { + "id": 13, + "images": [ + "https://assets.freshyo.in/product-images/1768641988607-0" + ] + }, + { + "id": 25, + "images": [ + "https://assets.freshyo.in/product-images/1768649838027-0" + ] + }, + { + "id": 26, + "images": [ + "https://assets.freshyo.in/product-images/1768640645444-0" + ] + }, + { + "id": 38, + "images": [ + "https://assets.freshyo.in/product-images/1768640403001-0" + ] + }, + { + "id": 39, + "images": [ + "https://assets.freshyo.in/product-images/1768650081183-0" + ] + }, + { + "id": 43, + "images": [ + "https://assets.freshyo.in/product-images/1768638795991-0" + ] + }, + { + "id": 44, + "images": [ + "https://assets.freshyo.in/product-images/1768639090932-0" + ] + }, + { + "id": 46, + "images": [ + "https://assets.freshyo.in/product-images/1768639705530-0" + ] + }, + { + "id": 47, + "images": [ + "https://assets.freshyo.in/product-images/1768642455479-0" + ] + }, + { + "id": 48, + "images": [ + "https://assets.freshyo.in/product-images/1768642724520-0" + ] + }, + { + "id": 49, + "images": [ + "https://assets.freshyo.in/product-images/1768643138910-0" + ] + }, + { + "id": 50, + "images": [ + "https://assets.freshyo.in/product-images/1768643354251-0" + ] + }, + { + "id": 51, + "images": [ + "https://assets.freshyo.in/product-images/1768646295695-0" + ] + }, + { + "id": 52, + "images": [ + "https://assets.freshyo.in/product-images/1768646744949-0" + ] + }, + { + "id": 53, + "images": [ + "https://assets.freshyo.in/product-images/1768646932088-0" + ] + }, + { + "id": 54, + "images": [ + "https://assets.freshyo.in/product-images/1768649454994-0" + ] + }, + { + "id": 55, + "images": [ + "https://assets.freshyo.in/product-images/1768650709484-0" + ] + }, + { + "id": 56, + "images": [ + "https://assets.freshyo.in/product-images/1768651334320-0" + ] + }, + { + "id": 57, + "images": [ + "https://assets.freshyo.in/product-images/1768651774899-0" + ] + }, + { + "id": 58, + "images": [ + "https://assets.freshyo.in/product-images/1768652061701-0" + ] + }, + { + "id": 59, + "images": [ + "https://assets.freshyo.in/product-images/1768653009851-0" + ] + }, + { + "id": 60, + "images": [ + "https://assets.freshyo.in/product-images/1768653997561-0" + ] + }, + { + "id": 61, + "images": [ + "https://assets.freshyo.in/product-images/1768654475850-0" + ] + }, + { + "id": 62, + "images": [ + "https://assets.freshyo.in/product-images/1768654740988-0" + ] + }, + { + "id": 63, + "images": [ + "https://assets.freshyo.in/product-images/1768658094891-0" + ] + }, + { + "id": 73, + "images": [ + "https://assets.freshyo.in/product-images/1768718685357-0" + ] + }, + { + "id": 96, + "images": [ + "https://assets.freshyo.in/product-images/1769576743718-0" + ] + }, + { + "id": 100, + "images": [ + "https://assets.freshyo.in/product-images/1770212631435-0" + ] + }, + { + "id": 125, + "images": [ + "https://assets.freshyo.in/product-images/1777263925402.jpg" + ] + }, + { + "id": 126, + "images": [ + "https://assets.freshyo.in/product-images/1778175573767.jpg" + ] + }, + { + "id": 9, + "images": [ + "https://assets.freshyo.in/product-images/1768832690994-0" + ] + }, + { + "id": 22, + "images": [ + "https://assets.freshyo.in/product-images/1768834996932-0" + ] + }, + { + "id": 81, + "images": [ + "https://assets.freshyo.in/product-images/1769063467386-0" + ] + }, + { + "id": 82, + "images": [ + "https://assets.freshyo.in/product-images/1782023099986.png" + ] + }, + { + "id": 102, + "images": [ + "https://assets.freshyo.in/product-images/1771411526889-0" + ] + }, + { + "id": 2, + "images": [ + "https://assets.freshyo.in/product-images/1768397780093-0", + "https://assets.freshyo.in/product-images/1768479562478-0" + ] + }, + { + "id": 3, + "images": [ + "https://assets.freshyo.in/product-images/1768475599800-0" + ] + }, + { + "id": 10, + "images": [ + "https://assets.freshyo.in/product-images/1768390245969-0" + ] + }, + { + "id": 21, + "images": [ + "https://assets.freshyo.in/product-images/1768539930897-0", + "https://assets.freshyo.in/product-images/1768539930899-1" + ] + }, + { + "id": 23, + "images": [ + "https://assets.freshyo.in/product-images/1767635527063-0" + ] + }, + { + "id": 24, + "images": [ + "https://assets.freshyo.in/product-images/1768484106870-0" + ] + }, + { + "id": 36, + "images": [ + "https://assets.freshyo.in/product-images/1768413754684-0" + ] + }, + { + "id": 40, + "images": [ + "https://assets.freshyo.in/product-images/1767637606890-0" + ] + }, + { + "id": 41, + "images": [ + "https://assets.freshyo.in/product-images/1768307047191-0" + ] + }, + { + "id": 42, + "images": [ + "https://assets.freshyo.in/product-images/1768393778962-0" + ] + }, + { + "id": 80, + "images": [ + "https://assets.freshyo.in/product-images/1769063336125-0" + ] + }, + { + "id": 137, + "images": [ + "https://assets.freshyo.in/product-images/1787247236467.png" + ] + }, + { + "id": 141, + "images": [ + "https://assets.freshyo.in/product-images/1787249312475.jpg" + ] + } + ] + }, + { + "id": 1846, + "deliveryTime": "2026-09-18T13:30:00.000Z", + "freezeTime": "2026-09-18T13:00:00.000Z", + "products": [ + { + "id": 2, + "images": [ + "https://assets.freshyo.in/product-images/1768397780093-0", + "https://assets.freshyo.in/product-images/1768479562478-0" + ] + }, + { + "id": 3, + "images": [ + "https://assets.freshyo.in/product-images/1768475599800-0" + ] + }, + { + "id": 4, + "images": [ + "https://assets.freshyo.in/product-images/1767636171845-0" + ] + }, + { + "id": 5, + "images": [ + "https://assets.freshyo.in/product-images/1768710099841-0" + ] + }, + { + "id": 6, + "images": [ + "https://assets.freshyo.in/product-images/1768640936747-0" + ] + }, + { + "id": 7, + "images": [ + "https://assets.freshyo.in/product-images/1768640009078-0" + ] + }, + { + "id": 8, + "images": [ + "https://assets.freshyo.in/product-images/1768647119198-0" + ] + }, + { + "id": 9, + "images": [ + "https://assets.freshyo.in/product-images/1768832690994-0" + ] + }, + { + "id": 10, + "images": [ + "https://assets.freshyo.in/product-images/1768390245969-0" + ] + }, + { + "id": 11, + "images": [ + "https://assets.freshyo.in/product-images/1768641635898-0" + ] + }, + { + "id": 13, + "images": [ + "https://assets.freshyo.in/product-images/1768641988607-0" + ] + }, + { + "id": 14, + "images": [ + "https://assets.freshyo.in/product-images/1768834170995-0" + ] + }, + { + "id": 16, + "images": [ + "https://assets.freshyo.in/product-images/1769397372526-0" + ] + }, + { + "id": 17, + "images": [ + "https://assets.freshyo.in/product-images/1768640233068-0" + ] + }, + { + "id": 18, + "images": [ + "https://assets.freshyo.in/product-images/1769351976737-0" + ] + }, + { + "id": 19, + "images": [ + "https://assets.freshyo.in/product-images/1768639707515-0" + ] + }, + { + "id": 21, + "images": [ + "https://assets.freshyo.in/product-images/1768539930897-0", + "https://assets.freshyo.in/product-images/1768539930899-1" + ] + }, + { + "id": 22, + "images": [ + "https://assets.freshyo.in/product-images/1768834996932-0" + ] + }, + { + "id": 23, + "images": [ + "https://assets.freshyo.in/product-images/1767635527063-0" + ] + }, + { + "id": 24, + "images": [ + "https://assets.freshyo.in/product-images/1768484106870-0" + ] + }, + { + "id": 25, + "images": [ + "https://assets.freshyo.in/product-images/1768649838027-0" + ] + }, + { + "id": 26, + "images": [ + "https://assets.freshyo.in/product-images/1768640645444-0" + ] + }, + { + "id": 27, + "images": [ + "https://assets.freshyo.in/product-images/1768639645423-0" + ] + }, + { + "id": 28, + "images": [ + "https://assets.freshyo.in/product-images/1769356702593-0" + ] + }, + { + "id": 29, + "images": [ + "https://assets.freshyo.in/product-images/1768823985921-0" + ] + }, + { + "id": 30, + "images": [ + "https://assets.freshyo.in/product-images/1768726783083-0" + ] + }, + { + "id": 31, + "images": [ + "https://assets.freshyo.in/product-images/1769574792720-0" + ] + }, + { + "id": 32, + "images": [ + "https://assets.freshyo.in/product-images/1766406273176-0", + "https://assets.freshyo.in/product-images/1766406273178-1" + ] + }, + { + "id": 33, + "images": [ + "https://assets.freshyo.in/product-images/1769396046557-0" + ] + }, + { + "id": 35, + "images": [ + "https://assets.freshyo.in/product-images/1767636561867-0" + ] + }, + { + "id": 36, + "images": [ + "https://assets.freshyo.in/product-images/1768413754684-0" + ] + }, + { + "id": 37, + "images": [ + "https://assets.freshyo.in/product-images/1766636589779-0" + ] + }, + { + "id": 38, + "images": [ + "https://assets.freshyo.in/product-images/1768640403001-0" + ] + }, + { + "id": 39, + "images": [ + "https://assets.freshyo.in/product-images/1768650081183-0" + ] + }, + { + "id": 40, + "images": [ + "https://assets.freshyo.in/product-images/1767637606890-0" + ] + }, + { + "id": 41, + "images": [ + "https://assets.freshyo.in/product-images/1768307047191-0" + ] + }, + { + "id": 42, + "images": [ + "https://assets.freshyo.in/product-images/1768393778962-0" + ] + }, + { + "id": 43, + "images": [ + "https://assets.freshyo.in/product-images/1768638795991-0" + ] + }, + { + "id": 44, + "images": [ + "https://assets.freshyo.in/product-images/1768639090932-0" + ] + }, + { + "id": 45, + "images": [ + "https://assets.freshyo.in/product-images/1768639292540-0" + ] + }, + { + "id": 46, + "images": [ + "https://assets.freshyo.in/product-images/1768639705530-0" + ] + }, + { + "id": 47, + "images": [ + "https://assets.freshyo.in/product-images/1768642455479-0" + ] + }, + { + "id": 48, + "images": [ + "https://assets.freshyo.in/product-images/1768642724520-0" + ] + }, + { + "id": 49, + "images": [ + "https://assets.freshyo.in/product-images/1768643138910-0" + ] + }, + { + "id": 50, + "images": [ + "https://assets.freshyo.in/product-images/1768643354251-0" + ] + }, + { + "id": 51, + "images": [ + "https://assets.freshyo.in/product-images/1768646295695-0" + ] + }, + { + "id": 52, + "images": [ + "https://assets.freshyo.in/product-images/1768646744949-0" + ] + }, + { + "id": 53, + "images": [ + "https://assets.freshyo.in/product-images/1768646932088-0" + ] + }, + { + "id": 54, + "images": [ + "https://assets.freshyo.in/product-images/1768649454994-0" + ] + }, + { + "id": 55, + "images": [ + "https://assets.freshyo.in/product-images/1768650709484-0" + ] + }, + { + "id": 56, + "images": [ + "https://assets.freshyo.in/product-images/1768651334320-0" + ] + }, + { + "id": 57, + "images": [ + "https://assets.freshyo.in/product-images/1768651774899-0" + ] + }, + { + "id": 58, + "images": [ + "https://assets.freshyo.in/product-images/1768652061701-0" + ] + }, + { + "id": 59, + "images": [ + "https://assets.freshyo.in/product-images/1768653009851-0" + ] + }, + { + "id": 60, + "images": [ + "https://assets.freshyo.in/product-images/1768653997561-0" + ] + }, + { + "id": 61, + "images": [ + "https://assets.freshyo.in/product-images/1768654475850-0" + ] + }, + { + "id": 62, + "images": [ + "https://assets.freshyo.in/product-images/1768654740988-0" + ] + }, + { + "id": 63, + "images": [ + "https://assets.freshyo.in/product-images/1768658094891-0" + ] + }, + { + "id": 64, + "images": [ + "https://assets.freshyo.in/product-images/1768709567040-0" + ] + }, + { + "id": 65, + "images": [ + "https://assets.freshyo.in/product-images/1768710434326-0" + ] + }, + { + "id": 66, + "images": [ + "https://assets.freshyo.in/product-images/1768710760133-0" + ] + }, + { + "id": 67, + "images": [ + "https://assets.freshyo.in/product-images/1768711261174-0" + ] + }, + { + "id": 68, + "images": [ + "https://assets.freshyo.in/product-images/1768711919135-0" + ] + }, + { + "id": 69, + "images": [ + "https://assets.freshyo.in/product-images/1768712093829-0" + ] + }, + { + "id": 70, + "images": [ + "https://assets.freshyo.in/product-images/1768712490280-0" + ] + }, + { + "id": 71, + "images": [ + "https://assets.freshyo.in/product-images/1768713206145-0" + ] + }, + { + "id": 72, + "images": [ + "https://assets.freshyo.in/product-images/1768713537512-0" + ] + }, + { + "id": 73, + "images": [ + "https://assets.freshyo.in/product-images/1768718685357-0" + ] + }, + { + "id": 74, + "images": [ + "https://assets.freshyo.in/product-images/1768713886512-0" + ] + }, + { + "id": 76, + "images": [ + "https://assets.freshyo.in/product-images/1768727264220-0" + ] + }, + { + "id": 77, + "images": [ + "https://assets.freshyo.in/product-images/1769396724595-0" + ] + }, + { + "id": 78, + "images": [ + "https://assets.freshyo.in/product-images/1769241234003-0" + ] + }, + { + "id": 79, + "images": [ + "https://assets.freshyo.in/product-images/1768822893380-0" + ] + }, + { + "id": 80, + "images": [ + "https://assets.freshyo.in/product-images/1769063336125-0" + ] + }, + { + "id": 81, + "images": [ + "https://assets.freshyo.in/product-images/1769063467386-0" + ] + }, + { + "id": 82, + "images": [ + "https://assets.freshyo.in/product-images/1782023099986.png" + ] + }, + { + "id": 86, + "images": [ + "https://assets.freshyo.in/product-images/1769151216776-0" + ] + }, + { + "id": 88, + "images": [ + "https://assets.freshyo.in/product-images/1769394457296-0" + ] + }, + { + "id": 89, + "images": [ + "https://assets.freshyo.in/product-images/1769395184980-0" + ] + }, + { + "id": 90, + "images": [ + "https://assets.freshyo.in/product-images/1769398103853-0" + ] + }, + { + "id": 91, + "images": [ + "https://assets.freshyo.in/product-images/1769398710713-0" + ] + }, + { + "id": 92, + "images": [ + "https://assets.freshyo.in/product-images/1769399617573-0" + ] + }, + { + "id": 94, + "images": [ + "https://assets.freshyo.in/product-images/1769571810861-0" + ] + }, + { + "id": 95, + "images": [ + "https://assets.freshyo.in/product-images/1769571978680-0" + ] + }, + { + "id": 96, + "images": [ + "https://assets.freshyo.in/product-images/1769576743718-0" + ] + }, + { + "id": 97, + "images": [ + "https://assets.freshyo.in/product-images/1769577010969-0" + ] + }, + { + "id": 98, + "images": [ + "https://assets.freshyo.in/product-images/1770051810386-0" + ] + }, + { + "id": 99, + "images": [ + "https://assets.freshyo.in/product-images/1770051959669-0" + ] + }, + { + "id": 100, + "images": [ + "https://assets.freshyo.in/product-images/1770212631435-0" + ] + }, + { + "id": 101, + "images": [ + "https://assets.freshyo.in/product-images/1771249922306-0" + ] + }, + { + "id": 102, + "images": [ + "https://assets.freshyo.in/product-images/1771411526889-0" + ] + }, + { + "id": 103, + "images": [ + "https://assets.freshyo.in/product-images/1771647812442-0" + ] + }, + { + "id": 125, + "images": [ + "https://assets.freshyo.in/product-images/1777263925402.jpg" + ] + }, + { + "id": 126, + "images": [ + "https://assets.freshyo.in/product-images/1778175573767.jpg" + ] + }, + { + "id": 127, + "images": [ + "https://assets.freshyo.in/product-images/1781711355656.png" + ] + }, + { + "id": 137, + "images": [ + "https://assets.freshyo.in/product-images/1787247236467.png" + ] + }, + { + "id": 144, + "images": [ + "https://assets.freshyo.in/product-images/1787996184981.jpg" + ] + }, + { + "id": 145, + "images": [ + "https://assets.freshyo.in/product-images/1787996367962.jpg" + ] + }, + { + "id": 146, + "images": [ + "https://assets.freshyo.in/product-images/1787996596668.jpg" + ] + }, + { + "id": 147, + "images": [ + "https://assets.freshyo.in/product-images/1788230211980.png" + ] + }, + { + "id": 141, + "images": [ + "https://assets.freshyo.in/product-images/1787249312475.jpg" + ] + }, + { + "id": 139, + "images": [ + "https://assets.freshyo.in/product-images/1787248611495.jpg" + ] + }, + { + "id": 140, + "images": [ + "https://assets.freshyo.in/product-images/1787248824197.png", + "https://assets.freshyo.in/product-images/1787248824464.jpg" + ] + }, + { + "id": 138, + "images": [ + "https://assets.freshyo.in/product-images/1787247755954.jpg" + ] + }, + { + "id": 136, + "images": [ + "https://assets.freshyo.in/product-images/1788533822538.jpg" + ] + } + ] + } + ], + "productAvailability": [ + { + "id": 1, + "isOutOfStock": false + }, + { + "id": 2, + "isOutOfStock": false + }, + { + "id": 3, + "isOutOfStock": true + }, + { + "id": 4, + "isOutOfStock": false + }, + { + "id": 5, + "isOutOfStock": false + }, + { + "id": 6, + "isOutOfStock": false + }, + { + "id": 7, + "isOutOfStock": false + }, + { + "id": 8, + "isOutOfStock": false + }, + { + "id": 9, + "isOutOfStock": false + }, + { + "id": 10, + "isOutOfStock": false + }, + { + "id": 11, + "isOutOfStock": true + }, + { + "id": 12, + "isOutOfStock": true + }, + { + "id": 13, + "isOutOfStock": true + }, + { + "id": 14, + "isOutOfStock": false + }, + { + "id": 15, + "isOutOfStock": true + }, + { + "id": 16, + "isOutOfStock": false + }, + { + "id": 17, + "isOutOfStock": true + }, + { + "id": 18, + "isOutOfStock": false + }, + { + "id": 19, + "isOutOfStock": false + }, + { + "id": 20, + "isOutOfStock": true + }, + { + "id": 21, + "isOutOfStock": false + }, + { + "id": 22, + "isOutOfStock": true + }, + { + "id": 23, + "isOutOfStock": false + }, + { + "id": 24, + "isOutOfStock": false + }, + { + "id": 25, + "isOutOfStock": false + }, + { + "id": 26, + "isOutOfStock": false + }, + { + "id": 27, + "isOutOfStock": false + }, + { + "id": 28, + "isOutOfStock": false + }, + { + "id": 29, + "isOutOfStock": false + }, + { + "id": 30, + "isOutOfStock": false + }, + { + "id": 31, + "isOutOfStock": false + }, + { + "id": 32, + "isOutOfStock": false + }, + { + "id": 33, + "isOutOfStock": false + }, + { + "id": 34, + "isOutOfStock": false + }, + { + "id": 35, + "isOutOfStock": false + }, + { + "id": 36, + "isOutOfStock": false + }, + { + "id": 37, + "isOutOfStock": false + }, + { + "id": 38, + "isOutOfStock": true + }, + { + "id": 39, + "isOutOfStock": true + }, + { + "id": 40, + "isOutOfStock": false + }, + { + "id": 41, + "isOutOfStock": false + }, + { + "id": 42, + "isOutOfStock": false + }, + { + "id": 43, + "isOutOfStock": true + }, + { + "id": 44, + "isOutOfStock": false + }, + { + "id": 45, + "isOutOfStock": false + }, + { + "id": 46, + "isOutOfStock": false + }, + { + "id": 47, + "isOutOfStock": false + }, + { + "id": 48, + "isOutOfStock": false + }, + { + "id": 49, + "isOutOfStock": false + }, + { + "id": 50, + "isOutOfStock": true + }, + { + "id": 51, + "isOutOfStock": true + }, + { + "id": 52, + "isOutOfStock": true + }, + { + "id": 53, + "isOutOfStock": false + }, + { + "id": 54, + "isOutOfStock": false + }, + { + "id": 55, + "isOutOfStock": true + }, + { + "id": 56, + "isOutOfStock": false + }, + { + "id": 57, + "isOutOfStock": true + }, + { + "id": 58, + "isOutOfStock": false + }, + { + "id": 59, + "isOutOfStock": false + }, + { + "id": 60, + "isOutOfStock": false + }, + { + "id": 61, + "isOutOfStock": false + }, + { + "id": 62, + "isOutOfStock": true + }, + { + "id": 63, + "isOutOfStock": true + }, + { + "id": 64, + "isOutOfStock": true + }, + { + "id": 65, + "isOutOfStock": false + }, + { + "id": 66, + "isOutOfStock": false + }, + { + "id": 67, + "isOutOfStock": false + }, + { + "id": 68, + "isOutOfStock": true + }, + { + "id": 69, + "isOutOfStock": false + }, + { + "id": 70, + "isOutOfStock": false + }, + { + "id": 71, + "isOutOfStock": false + }, + { + "id": 72, + "isOutOfStock": false + }, + { + "id": 73, + "isOutOfStock": false + }, + { + "id": 74, + "isOutOfStock": false + }, + { + "id": 75, + "isOutOfStock": false + }, + { + "id": 76, + "isOutOfStock": false + }, + { + "id": 77, + "isOutOfStock": false + }, + { + "id": 78, + "isOutOfStock": false + }, + { + "id": 79, + "isOutOfStock": true + }, + { + "id": 80, + "isOutOfStock": false + }, + { + "id": 81, + "isOutOfStock": false + }, + { + "id": 82, + "isOutOfStock": false + }, + { + "id": 83, + "isOutOfStock": false + }, + { + "id": 84, + "isOutOfStock": false + }, + { + "id": 85, + "isOutOfStock": false + }, + { + "id": 86, + "isOutOfStock": false + }, + { + "id": 87, + "isOutOfStock": false + }, + { + "id": 88, + "isOutOfStock": true + }, + { + "id": 89, + "isOutOfStock": false + }, + { + "id": 90, + "isOutOfStock": false + }, + { + "id": 91, + "isOutOfStock": true + }, + { + "id": 92, + "isOutOfStock": false + }, + { + "id": 93, + "isOutOfStock": true + }, + { + "id": 94, + "isOutOfStock": false + }, + { + "id": 95, + "isOutOfStock": false + }, + { + "id": 96, + "isOutOfStock": false + }, + { + "id": 97, + "isOutOfStock": false + }, + { + "id": 98, + "isOutOfStock": false + }, + { + "id": 99, + "isOutOfStock": false + }, + { + "id": 100, + "isOutOfStock": false + }, + { + "id": 101, + "isOutOfStock": false + }, + { + "id": 102, + "isOutOfStock": false + }, + { + "id": 103, + "isOutOfStock": false + }, + { + "id": 104, + "isOutOfStock": false + }, + { + "id": 105, + "isOutOfStock": false + }, + { + "id": 106, + "isOutOfStock": true + }, + { + "id": 107, + "isOutOfStock": true + }, + { + "id": 108, + "isOutOfStock": false + }, + { + "id": 109, + "isOutOfStock": false + }, + { + "id": 110, + "isOutOfStock": true + }, + { + "id": 111, + "isOutOfStock": false + }, + { + "id": 112, + "isOutOfStock": false + }, + { + "id": 113, + "isOutOfStock": false + }, + { + "id": 114, + "isOutOfStock": false + }, + { + "id": 115, + "isOutOfStock": false + }, + { + "id": 116, + "isOutOfStock": false + }, + { + "id": 117, + "isOutOfStock": false + }, + { + "id": 118, + "isOutOfStock": false + }, + { + "id": 119, + "isOutOfStock": true + }, + { + "id": 120, + "isOutOfStock": true + }, + { + "id": 121, + "isOutOfStock": false + }, + { + "id": 122, + "isOutOfStock": true + }, + { + "id": 123, + "isOutOfStock": true + }, + { + "id": 124, + "isOutOfStock": true + }, + { + "id": 125, + "isOutOfStock": true + }, + { + "id": 126, + "isOutOfStock": true + }, + { + "id": 127, + "isOutOfStock": false + }, + { + "id": 128, + "isOutOfStock": false + }, + { + "id": 129, + "isOutOfStock": false + }, + { + "id": 130, + "isOutOfStock": false + }, + { + "id": 131, + "isOutOfStock": false + }, + { + "id": 132, + "isOutOfStock": false + }, + { + "id": 133, + "isOutOfStock": false + }, + { + "id": 134, + "isOutOfStock": false + }, + { + "id": 135, + "isOutOfStock": false + }, + { + "id": 136, + "isOutOfStock": false + }, + { + "id": 137, + "isOutOfStock": false + }, + { + "id": 138, + "isOutOfStock": false + }, + { + "id": 139, + "isOutOfStock": false + }, + { + "id": 140, + "isOutOfStock": false + }, + { + "id": 141, + "isOutOfStock": false + }, + { + "id": 142, + "isOutOfStock": false + }, + { + "id": 143, + "isOutOfStock": false + }, + { + "id": 144, + "isOutOfStock": false + }, + { + "id": 145, + "isOutOfStock": false + }, + { + "id": 146, + "isOutOfStock": false + }, + { + "id": 147, + "isOutOfStock": false + }, + { + "id": 148, + "isOutOfStock": false + }, + { + "id": 149, + "isOutOfStock": false + } + ], + "count": 8 +} \ No newline at end of file diff --git a/apps/user-ui/tests/mocks/mock-stores-response.json b/apps/user-ui/tests/mocks/mock-stores-response.json new file mode 100644 index 0000000..19dc4da --- /dev/null +++ b/apps/user-ui/tests/mocks/mock-stores-response.json @@ -0,0 +1,124 @@ +{ + "stores": [ + { + "id": 1, + "name": "Meat Store", + "description": "\"Fresh, high-quality meat sourced from trusted suppliers and hygienically processed. Cut fresh, packed safely, and delivered to your doorstep.\"", + "signedImageUrl": "https://assets.freshyo.in/store-images/1766052073748.png", + "productCount": 39, + "sampleProducts": [ + { + "id": 1, + "name": "Chicken Liver", + "signedImageUrl": "https://assets.freshyo.in/product-images/1768478127128-0" + }, + { + "id": 2, + "name": "Chicken Breast 500 g", + "signedImageUrl": "https://assets.freshyo.in/product-images/1768397780093-0" + }, + { + "id": 3, + "name": "Chicken Lollipops", + "signedImageUrl": "https://assets.freshyo.in/product-images/1768475599800-0" + } + ] + }, + { + "id": 2, + "name": "The Fruit Store", + "description": "\"Fresh, juicy fruits handpicked for quality and taste. Naturally ripened, carefully packed, and delivered fresh to your home.\"", + "signedImageUrl": "https://assets.freshyo.in/store-images/1766053828604.png", + "productCount": 35, + "sampleProducts": [ + { + "id": 6, + "name": "Apple ( pack of 3) ", + "signedImageUrl": "https://assets.freshyo.in/product-images/1768640936747-0" + }, + { + "id": 7, + "name": "Banana", + "signedImageUrl": "https://assets.freshyo.in/product-images/1768640009078-0" + }, + { + "id": 8, + "name": "Kiwi", + "signedImageUrl": "https://assets.freshyo.in/product-images/1768647119198-0" + } + ] + }, + { + "id": 4, + "name": "Vegetables", + "description": "Fresh, handpicked vegetables delivered straight from trusted farms to your home. Enjoy clean, high-quality sabzi every day-healthy, natural, and full of freshness.", + "signedImageUrl": "https://assets.freshyo.in/store-images/1766051618139.png", + "productCount": 46, + "sampleProducts": [ + { + "id": 5, + "name": "Cucumber(Kheera)", + "signedImageUrl": "https://assets.freshyo.in/product-images/1768710099841-0" + }, + { + "id": 16, + "name": "Arvi (Arbi) – Colocasia Root", + "signedImageUrl": "https://assets.freshyo.in/product-images/1769397372526-0" + }, + { + "id": 17, + "name": "Tomato ", + "signedImageUrl": "https://assets.freshyo.in/product-images/1768640233068-0" + } + ] + }, + { + "id": 8, + "name": "Fruits Juices ", + "description": "", + "signedImageUrl": "https://assets.freshyo.in/store-images/1773121148038.png", + "productCount": 22, + "sampleProducts": [ + { + "id": 104, + "name": "Green grape fresh juice", + "signedImageUrl": "https://assets.freshyo.in/product-images/1773126251435-0" + }, + { + "id": 105, + "name": "Fresh fig juice (anjeer) ", + "signedImageUrl": "https://assets.freshyo.in/product-images/1773126524403-0" + }, + { + "id": 106, + "name": "Chikoo (sapota)fresh juice", + "signedImageUrl": "https://assets.freshyo.in/product-images/1773127805418-0" + } + ] + }, + { + "id": 9, + "name": "Dry Fruits store ", + "description": "", + "signedImageUrl": "https://assets.freshyo.in/store-images/1784697413573.jpg", + "productCount": 7, + "sampleProducts": [ + { + "id": 129, + "name": "Cashew (kaju) ", + "signedImageUrl": "https://assets.freshyo.in/product-images/1784220823113.jpg" + }, + { + "id": 130, + "name": "Badam", + "signedImageUrl": "https://assets.freshyo.in/product-images/1784698463282.jpg" + }, + { + "id": 131, + "name": "Raisins (kishmish) ", + "signedImageUrl": "https://assets.freshyo.in/product-images/1784221386651.jpg" + } + ] + } + ] +} \ No newline at end of file diff --git a/apps/user-ui/tests/setup.ts b/apps/user-ui/tests/setup.ts new file mode 100644 index 0000000..7dc0d67 --- /dev/null +++ b/apps/user-ui/tests/setup.ts @@ -0,0 +1,111 @@ +/** + * Shared Jest setup for apps/user-ui. + * + * Only the native/context dependencies that cannot run under a plain Jest + * environment are stubbed here. Everything else (components, stores, hooks) + * stays real so tests exercise the actual wiring. + * + * Note: no `typeof import('react-native')` type expressions below. Loading the + * RN ambient globals from a type position here reverses their precedence with + * @types/node's, which flips `setTimeout` from `number` to `NodeJS.Timeout` and + * fails typecheck in unrelated app files (packages/ui/src/components/ + * bottom-dropdown.tsx). + */ + +import type { ReactNode } from 'react' + +jest.mock('expo-router', () => ({ + useRouter: () => ({ + push: jest.fn(), + replace: jest.fn(), + back: jest.fn(), + navigate: jest.fn(), + }), + router: { + push: jest.fn(), + replace: jest.fn(), + back: jest.fn(), + }, + useLocalSearchParams: () => ({}), + useGlobalSearchParams: () => ({}), + useFocusEffect: () => {}, + Link: ({ children }: { children?: ReactNode }) => children ?? null, +})) + +/** + * Refresh plumbing, irrelevant to what these tests assert. + * `useMarkDataFetchers` runs `useFocusEffect`, which throws without a + * NavigationContainer. These are mocked by their own module paths rather than + * partially mocking the `common-ui` index: several index components import + * back from `common-ui` (button.tsx -> common-ui), so spreading + * `jest.requireActual('common-ui')` walks a half-initialised module and throws. + */ +jest.mock('common-ui/hooks/useMarkDataFetchers', () => ({ + __esModule: true, + useMarkDataFetchers: () => {}, +})) + +jest.mock('common-ui/hooks/useManualRefresh', () => ({ + __esModule: true, + default: () => {}, +})) + +// Registered here (not in the test files) so it is in place before any app +// module imports axios. Implementations are set in tests/mocks/api.ts. +jest.mock('axios') + +/** + * Auth is out of scope for these tests. `useUserDetails` throws without an + * AuthProvider (which would drag in secure-store, tRPC login and redirect + * handling), so the context is stubbed with the signed-out shape. + */ +jest.mock('@/src/contexts/AuthContext', () => ({ + AuthProvider: ({ children }: { children?: ReactNode }) => children ?? null, + useAuth: () => ({ + user: null, + userDetails: null, + isAuthenticated: false, + isLoading: false, + token: null, + }), + useUserDetails: () => null, +})) + +/** + * Cart hooks import this deep path directly (not via the common-ui index), and + * the real service talks to expo-secure-store. In-memory map instead; the cart + * starts empty, which is the cold-start path these tests exercise. + */ +jest.mock('common-ui/src/services/StorageServiceCasual', () => { + const store = new Map() + + return { + StorageServiceCasual: { + getItem: jest.fn(async (key: string) => store.get(key) ?? null), + setItem: jest.fn(async (key: string, value: string) => { + store.set(key, value) + return true + }), + removeItem: jest.fn(async (key: string) => { + store.delete(key) + return true + }), + clearAll: jest.fn(async (keys: string[]) => { + keys.forEach((key) => store.delete(key)) + return true + }), + }, + } +}) + +/** + * Freeze the clock for every test. The home page is time-sensitive — it drops + * slots whose deliveryTime is not after `dayjs()` and flags slots "closing + * soon" within 4 hours — while the slot mocks carry fixed deliveryTime values. + * A drifting wall clock therefore makes those assertions flaky. + * + * Frozen at suite start rather than a hard-coded instant, so the fixed slot + * dates in the mocks stay in the future. Use `jest.advanceTimersByTime()` / + * `jest.setSystemTime()` in a test that needs to move through time. + */ +jest.useFakeTimers({ now: Date.now() }) diff --git a/apps/user-ui/tsconfig.json b/apps/user-ui/tsconfig.json index 6442a8a..a8a70a8 100755 --- a/apps/user-ui/tsconfig.json +++ b/apps/user-ui/tsconfig.json @@ -47,5 +47,8 @@ ".expo/types/**/*.ts", "expo-env.d.ts", "../../packages/shared" + ], + "exclude": [ + "node_modules" ] } \ No newline at end of file diff --git a/bun.lock b/bun.lock index 6c10fd5..4c5adb9 100644 --- a/bun.lock +++ b/bun.lock @@ -305,10 +305,16 @@ }, "devDependencies": { "@babel/core": "^7.25.2", + "@testing-library/react-native": "^13", + "@types/jest": "^29", "@types/react": "~19.0.10", "@types/react-native-razorpay": "^2.2.6", + "babel-preset-expo": "~13.0.0", "eslint": "^9.25.0", "eslint-config-expo": "~9.2.0", + "jest": "~29.7.0", + "jest-expo": "~53.0.0", + "react-test-renderer": "19.0.0", "typescript": "~5.8.3", }, }, @@ -696,6 +702,8 @@ "@babel/types": ["@babel/types@7.29.0", "", { "dependencies": { "@babel/helper-string-parser": "^7.27.1", "@babel/helper-validator-identifier": "^7.28.5" } }, "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A=="], + "@bcoe/v8-coverage": ["@bcoe/v8-coverage@0.2.3", "", {}, "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw=="], + "@bramus/specificity": ["@bramus/specificity@2.4.2", "", { "dependencies": { "css-tree": "^3.0.0" }, "bin": { "specificity": "bin/cli.js" } }, "sha512-ctxtJ/eA+t+6q2++vj5j7FYX3nRu311q1wfYH3xjlLOsczhlhxAg2FWNUXhpGvAw3BWo1xBcvOV6/YLc2r5FJw=="], "@callstack/react-theme-provider": ["@callstack/react-theme-provider@3.0.9", "", { "dependencies": { "deepmerge": "^3.2.0", "hoist-non-react-statics": "^3.3.0" }, "peerDependencies": { "react": ">=16.3.0" } }, "sha512-tTQ0uDSCL0ypeMa8T/E9wAZRGKWj8kXP7+6RYgPTfOPs9N07C9xM8P02GJ3feETap4Ux5S69D9nteq9mEj86NA=="], @@ -956,14 +964,40 @@ "@istanbuljs/schema": ["@istanbuljs/schema@0.1.3", "", {}, "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA=="], + "@jest/console": ["@jest/console@29.7.0", "", { "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", "chalk": "^4.0.0", "jest-message-util": "^29.7.0", "jest-util": "^29.7.0", "slash": "^3.0.0" } }, "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg=="], + + "@jest/core": ["@jest/core@29.7.0", "", { "dependencies": { "@jest/console": "^29.7.0", "@jest/reporters": "^29.7.0", "@jest/test-result": "^29.7.0", "@jest/transform": "^29.7.0", "@jest/types": "^29.6.3", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", "ci-info": "^3.2.0", "exit": "^0.1.2", "graceful-fs": "^4.2.9", "jest-changed-files": "^29.7.0", "jest-config": "^29.7.0", "jest-haste-map": "^29.7.0", "jest-message-util": "^29.7.0", "jest-regex-util": "^29.6.3", "jest-resolve": "^29.7.0", "jest-resolve-dependencies": "^29.7.0", "jest-runner": "^29.7.0", "jest-runtime": "^29.7.0", "jest-snapshot": "^29.7.0", "jest-util": "^29.7.0", "jest-validate": "^29.7.0", "jest-watcher": "^29.7.0", "micromatch": "^4.0.4", "pretty-format": "^29.7.0", "slash": "^3.0.0", "strip-ansi": "^6.0.0" }, "peerDependencies": { "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" }, "optionalPeers": ["node-notifier"] }, "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg=="], + "@jest/create-cache-key-function": ["@jest/create-cache-key-function@29.7.0", "", { "dependencies": { "@jest/types": "^29.6.3" } }, "sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA=="], + "@jest/diff-sequences": ["@jest/diff-sequences@30.5.0", "", {}, "sha512-OsqBjHXCn8cadasoAZBP6nWYvMsRhpMzGXTpxJ5aO04NlbdhIz+FVe3q49l0AwVhsz/cEmIpBes6gAFl1/dWQg=="], + "@jest/environment": ["@jest/environment@29.7.0", "", { "dependencies": { "@jest/fake-timers": "^29.7.0", "@jest/types": "^29.6.3", "@types/node": "*", "jest-mock": "^29.7.0" } }, "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw=="], + "@jest/expect": ["@jest/expect@29.7.0", "", { "dependencies": { "expect": "^29.7.0", "jest-snapshot": "^29.7.0" } }, "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ=="], + + "@jest/expect-utils": ["@jest/expect-utils@29.7.0", "", { "dependencies": { "jest-get-type": "^29.6.3" } }, "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA=="], + "@jest/fake-timers": ["@jest/fake-timers@29.7.0", "", { "dependencies": { "@jest/types": "^29.6.3", "@sinonjs/fake-timers": "^10.0.2", "@types/node": "*", "jest-message-util": "^29.7.0", "jest-mock": "^29.7.0", "jest-util": "^29.7.0" } }, "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ=="], + "@jest/get-type": ["@jest/get-type@30.5.0", "", {}, "sha512-9/2VUPitAjmBzbvDvqrxmvB7BzWsBW0WmkkojX1ODuxX1NLGxx9gfaZpHB0z8DtJ9uhGNmZG/VXBhf8uO0OV8Q=="], + + "@jest/globals": ["@jest/globals@29.7.0", "", { "dependencies": { "@jest/environment": "^29.7.0", "@jest/expect": "^29.7.0", "@jest/types": "^29.6.3", "jest-mock": "^29.7.0" } }, "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ=="], + + "@jest/react-is-18": ["react-is@18.3.1", "", {}, "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg=="], + + "@jest/react-is-19": ["react-is@19.3.0", "", {}, "sha512-UpMYezM4v5/18F28aC66AEsjXIgE02kyEMH6yLdgLXu/UTfa1Ntwck/nNLrbqJsEXW7gPb0coNO9FQse9WTovA=="], + + "@jest/reporters": ["@jest/reporters@29.7.0", "", { "dependencies": { "@bcoe/v8-coverage": "^0.2.3", "@jest/console": "^29.7.0", "@jest/test-result": "^29.7.0", "@jest/transform": "^29.7.0", "@jest/types": "^29.6.3", "@jridgewell/trace-mapping": "^0.3.18", "@types/node": "*", "chalk": "^4.0.0", "collect-v8-coverage": "^1.0.0", "exit": "^0.1.2", "glob": "^7.1.3", "graceful-fs": "^4.2.9", "istanbul-lib-coverage": "^3.0.0", "istanbul-lib-instrument": "^6.0.0", "istanbul-lib-report": "^3.0.0", "istanbul-lib-source-maps": "^4.0.0", "istanbul-reports": "^3.1.3", "jest-message-util": "^29.7.0", "jest-util": "^29.7.0", "jest-worker": "^29.7.0", "slash": "^3.0.0", "string-length": "^4.0.1", "strip-ansi": "^6.0.0", "v8-to-istanbul": "^9.0.1" }, "peerDependencies": { "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" }, "optionalPeers": ["node-notifier"] }, "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg=="], + "@jest/schemas": ["@jest/schemas@29.6.3", "", { "dependencies": { "@sinclair/typebox": "^0.27.8" } }, "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA=="], + "@jest/source-map": ["@jest/source-map@29.6.3", "", { "dependencies": { "@jridgewell/trace-mapping": "^0.3.18", "callsites": "^3.0.0", "graceful-fs": "^4.2.9" } }, "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw=="], + + "@jest/test-result": ["@jest/test-result@29.7.0", "", { "dependencies": { "@jest/console": "^29.7.0", "@jest/types": "^29.6.3", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" } }, "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA=="], + + "@jest/test-sequencer": ["@jest/test-sequencer@29.7.0", "", { "dependencies": { "@jest/test-result": "^29.7.0", "graceful-fs": "^4.2.9", "jest-haste-map": "^29.7.0", "slash": "^3.0.0" } }, "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw=="], + "@jest/transform": ["@jest/transform@29.7.0", "", { "dependencies": { "@babel/core": "^7.11.6", "@jest/types": "^29.6.3", "@jridgewell/trace-mapping": "^0.3.18", "babel-plugin-istanbul": "^6.1.1", "chalk": "^4.0.0", "convert-source-map": "^2.0.0", "fast-json-stable-stringify": "^2.1.0", "graceful-fs": "^4.2.9", "jest-haste-map": "^29.7.0", "jest-regex-util": "^29.6.3", "jest-util": "^29.7.0", "micromatch": "^4.0.4", "pirates": "^4.0.4", "slash": "^3.0.0", "write-file-atomic": "^4.0.2" } }, "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw=="], "@jest/types": ["@jest/types@29.6.3", "", { "dependencies": { "@jest/schemas": "^29.6.3", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", "@types/yargs": "^17.0.8", "chalk": "^4.0.0" } }, "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw=="], @@ -1050,9 +1084,9 @@ "@react-native/assets-registry": ["@react-native/assets-registry@0.79.6", "", {}, "sha512-UVSP1224PWg0X+mRlZNftV5xQwZGfawhivuW8fGgxNK9MS/U84xZ+16lkqcPh1ank6MOt239lIWHQ1S33CHgqA=="], - "@react-native/babel-plugin-codegen": ["@react-native/babel-plugin-codegen@0.79.6", "", { "dependencies": { "@babel/traverse": "^7.25.3", "@react-native/codegen": "0.79.6" } }, "sha512-CS5OrgcMPixOyUJ/Sk/HSsKsKgyKT5P7y3CojimOQzWqRZBmoQfxdST4ugj7n1H+ebM2IKqbgovApFbqXsoX0g=="], + "@react-native/babel-plugin-codegen": ["@react-native/babel-plugin-codegen@0.79.0-rc.4", "", { "dependencies": { "@babel/traverse": "^7.25.3", "@react-native/codegen": "0.79.0-rc.4" } }, "sha512-vhYfoFdzz1D/bDAuGThtNia9bUpjtCo73IWfndNoKj+84SOGTtrKaZ/jOpXs5uMskpe1D4xaHuOHHFbzp/0E8g=="], - "@react-native/babel-preset": ["@react-native/babel-preset@0.79.6", "", { "dependencies": { "@babel/core": "^7.25.2", "@babel/plugin-proposal-export-default-from": "^7.24.7", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-default-from": "^7.24.7", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", "@babel/plugin-syntax-optional-chaining": "^7.8.3", "@babel/plugin-transform-arrow-functions": "^7.24.7", "@babel/plugin-transform-async-generator-functions": "^7.25.4", "@babel/plugin-transform-async-to-generator": "^7.24.7", "@babel/plugin-transform-block-scoping": "^7.25.0", "@babel/plugin-transform-class-properties": "^7.25.4", "@babel/plugin-transform-classes": "^7.25.4", "@babel/plugin-transform-computed-properties": "^7.24.7", "@babel/plugin-transform-destructuring": "^7.24.8", "@babel/plugin-transform-flow-strip-types": "^7.25.2", "@babel/plugin-transform-for-of": "^7.24.7", "@babel/plugin-transform-function-name": "^7.25.1", "@babel/plugin-transform-literals": "^7.25.2", "@babel/plugin-transform-logical-assignment-operators": "^7.24.7", "@babel/plugin-transform-modules-commonjs": "^7.24.8", "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.7", "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.7", "@babel/plugin-transform-numeric-separator": "^7.24.7", "@babel/plugin-transform-object-rest-spread": "^7.24.7", "@babel/plugin-transform-optional-catch-binding": "^7.24.7", "@babel/plugin-transform-optional-chaining": "^7.24.8", "@babel/plugin-transform-parameters": "^7.24.7", "@babel/plugin-transform-private-methods": "^7.24.7", "@babel/plugin-transform-private-property-in-object": "^7.24.7", "@babel/plugin-transform-react-display-name": "^7.24.7", "@babel/plugin-transform-react-jsx": "^7.25.2", "@babel/plugin-transform-react-jsx-self": "^7.24.7", "@babel/plugin-transform-react-jsx-source": "^7.24.7", "@babel/plugin-transform-regenerator": "^7.24.7", "@babel/plugin-transform-runtime": "^7.24.7", "@babel/plugin-transform-shorthand-properties": "^7.24.7", "@babel/plugin-transform-spread": "^7.24.7", "@babel/plugin-transform-sticky-regex": "^7.24.7", "@babel/plugin-transform-typescript": "^7.25.2", "@babel/plugin-transform-unicode-regex": "^7.24.7", "@babel/template": "^7.25.0", "@react-native/babel-plugin-codegen": "0.79.6", "babel-plugin-syntax-hermes-parser": "0.25.1", "babel-plugin-transform-flow-enums": "^0.0.2", "react-refresh": "^0.14.0" } }, "sha512-H+FRO+r2Ql6b5IwfE0E7D52JhkxjeGSBSUpCXAI5zQ60zSBJ54Hwh2bBJOohXWl4J+C7gKYSAd2JHMUETu+c/A=="], + "@react-native/babel-preset": ["@react-native/babel-preset@0.79.0-rc.4", "", { "dependencies": { "@babel/core": "^7.25.2", "@babel/plugin-proposal-export-default-from": "^7.24.7", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-default-from": "^7.24.7", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", "@babel/plugin-syntax-optional-chaining": "^7.8.3", "@babel/plugin-transform-arrow-functions": "^7.24.7", "@babel/plugin-transform-async-generator-functions": "^7.25.4", "@babel/plugin-transform-async-to-generator": "^7.24.7", "@babel/plugin-transform-block-scoping": "^7.25.0", "@babel/plugin-transform-class-properties": "^7.25.4", "@babel/plugin-transform-classes": "^7.25.4", "@babel/plugin-transform-computed-properties": "^7.24.7", "@babel/plugin-transform-destructuring": "^7.24.8", "@babel/plugin-transform-flow-strip-types": "^7.25.2", "@babel/plugin-transform-for-of": "^7.24.7", "@babel/plugin-transform-function-name": "^7.25.1", "@babel/plugin-transform-literals": "^7.25.2", "@babel/plugin-transform-logical-assignment-operators": "^7.24.7", "@babel/plugin-transform-modules-commonjs": "^7.24.8", "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.7", "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.7", "@babel/plugin-transform-numeric-separator": "^7.24.7", "@babel/plugin-transform-object-rest-spread": "^7.24.7", "@babel/plugin-transform-optional-catch-binding": "^7.24.7", "@babel/plugin-transform-optional-chaining": "^7.24.8", "@babel/plugin-transform-parameters": "^7.24.7", "@babel/plugin-transform-private-methods": "^7.24.7", "@babel/plugin-transform-private-property-in-object": "^7.24.7", "@babel/plugin-transform-react-display-name": "^7.24.7", "@babel/plugin-transform-react-jsx": "^7.25.2", "@babel/plugin-transform-react-jsx-self": "^7.24.7", "@babel/plugin-transform-react-jsx-source": "^7.24.7", "@babel/plugin-transform-regenerator": "^7.24.7", "@babel/plugin-transform-runtime": "^7.24.7", "@babel/plugin-transform-shorthand-properties": "^7.24.7", "@babel/plugin-transform-spread": "^7.24.7", "@babel/plugin-transform-sticky-regex": "^7.24.7", "@babel/plugin-transform-typescript": "^7.25.2", "@babel/plugin-transform-unicode-regex": "^7.24.7", "@babel/template": "^7.25.0", "@react-native/babel-plugin-codegen": "0.79.0-rc.4", "babel-plugin-syntax-hermes-parser": "0.25.1", "babel-plugin-transform-flow-enums": "^0.0.2", "react-refresh": "^0.14.0" } }, "sha512-0vyO3Ix2N0sI43w0XNJ2zzSWzX7no/JMrXnVzJEm9IhNHsuMmKaXQdRvijDZroepDINIbb6vaIWwzeWkqhiPAA=="], "@react-native/codegen": ["@react-native/codegen@0.79.6", "", { "dependencies": { "@babel/core": "^7.25.2", "@babel/parser": "^7.25.3", "glob": "^7.1.1", "hermes-parser": "0.25.1", "invariant": "^2.2.4", "nullthrows": "^1.1.1", "yargs": "^17.6.2" } }, "sha512-iRBX8Lgbqypwnfba7s6opeUwVyaR23mowh9ILw7EcT2oLz3RqMmjJdrbVpWhGSMGq2qkPfqAH7bhO8C7O+xfjQ=="], @@ -1324,6 +1358,10 @@ "@tanstack/virtual-file-routes": ["@tanstack/virtual-file-routes@1.161.7", "", { "bin": { "intent": "bin/intent.js" } }, "sha512-olW33+Cn+bsCsZKPwEGhlkqS6w3M2slFv11JIobdnCFKMLG97oAI2kWKdx5/zsywTL8flpnoIgaZZPlQTFYhdQ=="], + "@testing-library/react-native": ["@testing-library/react-native@13.3.3", "", { "dependencies": { "jest-matcher-utils": "^30.0.5", "picocolors": "^1.1.1", "pretty-format": "^30.0.5", "redent": "^3.0.0" }, "peerDependencies": { "jest": ">=29.0.0", "react": ">=18.2.0", "react-native": ">=0.71", "react-test-renderer": ">=18.2.0" }, "optionalPeers": ["jest"] }, "sha512-k6Mjsd9dbZgvY4Bl7P1NIpePQNi+dfYtlJ5voi9KQlynxSyQkfOgJmYGCYmw/aSgH/rUcFvG8u5gd4npzgRDyg=="], + + "@tootallnate/once": ["@tootallnate/once@2.0.1", "", {}, "sha512-HqmEUIGRJ5fSXchkVgR5F7qn48bDBzv0kWj/Kfu5e6uci4UlEeng4331LnBkWffb++Ei3FOVLxo8JJWMFBDMeQ=="], + "@trpc/client": ["@trpc/client@11.17.0", "", { "peerDependencies": { "@trpc/server": "11.17.0", "typescript": ">=5.7.2" }, "bin": { "intent": "bin/intent.js" } }, "sha512-KpJBFrbKTDeVCFv/3ckL1XBBH5Yssn8hethI/rUy7GIpTj+VzjtPjykDqJpzobuVOz+d26cXCSu1t4I6MYI5Zg=="], "@trpc/react-query": ["@trpc/react-query@11.17.0", "", { "peerDependencies": { "@tanstack/react-query": "^5.80.3", "@trpc/client": "11.17.0", "@trpc/server": "11.17.0", "react": ">=18.2.0", "typescript": ">=5.7.2" } }, "sha512-AGcl5YAF8NnhBmyJ6PqJqKb1M5VTGSoNRNqJ3orct4o4epdcg0GWhW+qT9q6gPzs/2ImIwYCdfFpgNGdZ9yLHA=="], @@ -1386,6 +1424,10 @@ "@types/istanbul-reports": ["@types/istanbul-reports@3.0.4", "", { "dependencies": { "@types/istanbul-lib-report": "*" } }, "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ=="], + "@types/jest": ["@types/jest@29.5.14", "", { "dependencies": { "expect": "^29.0.0", "pretty-format": "^29.0.0" } }, "sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ=="], + + "@types/jsdom": ["@types/jsdom@20.0.1", "", { "dependencies": { "@types/node": "*", "@types/tough-cookie": "*", "parse5": "^7.0.0" } }, "sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ=="], + "@types/json-schema": ["@types/json-schema@7.0.15", "", {}, "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA=="], "@types/json5": ["@types/json5@0.0.29", "", {}, "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ=="], @@ -1422,6 +1464,8 @@ "@types/three": ["@types/three@0.182.0", "", { "dependencies": { "@dimforge/rapier3d-compat": "~0.12.0", "@tweenjs/tween.js": "~23.1.3", "@types/stats.js": "*", "@types/webxr": ">=0.5.17", "@webgpu/types": "*", "fflate": "~0.8.2", "meshoptimizer": "~0.22.0" } }, "sha512-WByN9V3Sbwbe2OkWuSGyoqQO8Du6yhYaXtXLoA5FkKTUJorZ+yOHBZ35zUUPQXlAKABZmbYp5oAqpA4RBjtJ/Q=="], + "@types/tough-cookie": ["@types/tough-cookie@4.0.5", "", {}, "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA=="], + "@types/webxr": ["@types/webxr@0.5.24", "", {}, "sha512-h8fgEd/DpoS9CBrjEQXR+dIDraopAEfu4wYVNY2tEPwk60stPWhvZMf4Foo5FakuQ7HFZoa8WceaWFervK2Ovg=="], "@types/yargs": ["@types/yargs@17.0.35", "", { "dependencies": { "@types/yargs-parser": "*" } }, "sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg=="], @@ -1516,12 +1560,16 @@ "@xmldom/xmldom": ["@xmldom/xmldom@0.8.11", "", {}, "sha512-cQzWCtO6C8TQiYl1ruKNn2U6Ao4o4WBBcbL61yJl84x+j5sOWWFU9X7DpND8XZG3daDppSsigMdfAIl2upQBRw=="], + "abab": ["abab@2.0.6", "", {}, "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA=="], + "abort-controller": ["abort-controller@3.0.0", "", { "dependencies": { "event-target-shim": "^5.0.0" } }, "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg=="], "accepts": ["accepts@1.3.8", "", { "dependencies": { "mime-types": "~2.1.34", "negotiator": "0.6.3" } }, "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw=="], "acorn": ["acorn@8.16.0", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw=="], + "acorn-globals": ["acorn-globals@7.0.1", "", { "dependencies": { "acorn": "^8.1.0", "acorn-walk": "^8.0.2" } }, "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q=="], + "acorn-jsx": ["acorn-jsx@5.3.2", "", { "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ=="], "acorn-walk": ["acorn-walk@8.3.5", "", { "dependencies": { "acorn": "^8.11.0" } }, "sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw=="], @@ -1618,7 +1666,7 @@ "babel-preset-current-node-syntax": ["babel-preset-current-node-syntax@1.2.0", "", { "dependencies": { "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-class-static-block": "^7.14.5", "@babel/plugin-syntax-import-attributes": "^7.24.7", "@babel/plugin-syntax-import-meta": "^7.10.4", "@babel/plugin-syntax-json-strings": "^7.8.3", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", "@babel/plugin-syntax-numeric-separator": "^7.10.4", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", "@babel/plugin-syntax-optional-chaining": "^7.8.3", "@babel/plugin-syntax-private-property-in-object": "^7.14.5", "@babel/plugin-syntax-top-level-await": "^7.14.5" }, "peerDependencies": { "@babel/core": "^7.0.0 || ^8.0.0-0" } }, "sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg=="], - "babel-preset-expo": ["babel-preset-expo@13.2.5", "", { "dependencies": { "@babel/helper-module-imports": "^7.25.9", "@babel/plugin-proposal-decorators": "^7.12.9", "@babel/plugin-proposal-export-default-from": "^7.24.7", "@babel/plugin-syntax-export-default-from": "^7.24.7", "@babel/plugin-transform-export-namespace-from": "^7.25.9", "@babel/plugin-transform-flow-strip-types": "^7.25.2", "@babel/plugin-transform-modules-commonjs": "^7.24.8", "@babel/plugin-transform-object-rest-spread": "^7.24.7", "@babel/plugin-transform-parameters": "^7.24.7", "@babel/plugin-transform-private-methods": "^7.24.7", "@babel/plugin-transform-private-property-in-object": "^7.24.7", "@babel/plugin-transform-runtime": "^7.24.7", "@babel/preset-react": "^7.22.15", "@babel/preset-typescript": "^7.23.0", "@react-native/babel-preset": "0.79.6", "babel-plugin-react-native-web": "~0.19.13", "babel-plugin-syntax-hermes-parser": "^0.25.1", "babel-plugin-transform-flow-enums": "^0.0.2", "debug": "^4.3.4", "react-refresh": "^0.14.2", "resolve-from": "^5.0.0" }, "peerDependencies": { "babel-plugin-react-compiler": "^19.0.0-beta-e993439-20250405" }, "optionalPeers": ["babel-plugin-react-compiler"] }, "sha512-YjVkP1bOLO2OgR2fyCedruYMPR7GFbAtCvvWITBW1UAp6e3ACYZtN6uoqkXgXP6PHQkb6M7qf2vZreBPEZK38A=="], + "babel-preset-expo": ["babel-preset-expo@13.0.0", "", { "dependencies": { "@babel/helper-module-imports": "^7.25.9", "@babel/plugin-proposal-decorators": "^7.12.9", "@babel/plugin-proposal-export-default-from": "^7.24.7", "@babel/plugin-syntax-export-default-from": "^7.24.7", "@babel/plugin-transform-export-namespace-from": "^7.25.9", "@babel/plugin-transform-flow-strip-types": "^7.25.2", "@babel/plugin-transform-modules-commonjs": "^7.24.8", "@babel/plugin-transform-object-rest-spread": "^7.24.7", "@babel/plugin-transform-parameters": "^7.24.7", "@babel/plugin-transform-private-methods": "^7.24.7", "@babel/plugin-transform-private-property-in-object": "^7.24.7", "@babel/plugin-transform-runtime": "^7.24.7", "@babel/preset-react": "^7.22.15", "@babel/preset-typescript": "^7.23.0", "@react-native/babel-preset": "0.79.0-rc.4", "babel-plugin-react-native-web": "~0.19.13", "babel-plugin-syntax-hermes-parser": "^0.25.1", "babel-plugin-transform-flow-enums": "^0.0.2", "debug": "^4.3.4", "react-refresh": "^0.14.2", "resolve-from": "^5.0.0" }, "peerDependencies": { "babel-plugin-react-compiler": "^19.0.0-beta-9ee70a1-20241017", "react-compiler-runtime": "^19.0.0-beta-8a03594-20241020" }, "optionalPeers": ["babel-plugin-react-compiler", "react-compiler-runtime"] }, "sha512-4NfamKh+BKu6v0VUtZ2wFuZ9VdaDnYOC+vsAHhUF3ks1jzFLo9TwBqsrkhD129DIHfdhVJnRJah2KRCXEjcrVQ=="], "babel-preset-jest": ["babel-preset-jest@29.6.3", "", { "dependencies": { "babel-plugin-jest-hoist": "^29.6.3", "babel-preset-current-node-syntax": "^1.0.0" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA=="], @@ -1700,6 +1748,8 @@ "chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], + "char-regex": ["char-regex@2.0.2", "", {}, "sha512-cbGOjAptfM2LVmWhwRFHEKTPkLwNddVmuqYZQt895yXwAsWsXObCG+YN4DGQ/JBtT4GP1a1lPPdio2z413LmTg=="], + "character-parser": ["character-parser@2.2.0", "", { "dependencies": { "is-regex": "^1.0.3" } }, "sha512-+UqJQjFEFaTAs3bNsF2j2kEN1baG/zghZbdqoYEDxGZtJo9LBzl1A+m0D4n3qKx8N2FNv8/Xp6yV9mQmBuptaw=="], "cheerio": ["cheerio@1.2.0", "", { "dependencies": { "cheerio-select": "^2.1.0", "dom-serializer": "^2.0.0", "domhandler": "^5.0.3", "domutils": "^3.2.2", "encoding-sniffer": "^0.2.1", "htmlparser2": "^10.1.0", "parse5": "^7.3.0", "parse5-htmlparser2-tree-adapter": "^7.1.0", "parse5-parser-stream": "^7.1.2", "undici": "^7.19.0", "whatwg-mimetype": "^4.0.0" } }, "sha512-WDrybc/gKFpTYQutKIK6UvfcuxijIZfMfXaYm8NMsPQxSYvf+13fXUJ4rztGGbJcBQ/GF55gvrZ0Bc0bj/mqvg=="], @@ -1716,6 +1766,8 @@ "ci-info": ["ci-info@3.9.0", "", {}, "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ=="], + "cjs-module-lexer": ["cjs-module-lexer@1.4.3", "", {}, "sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q=="], + "class-variance-authority": ["class-variance-authority@0.7.1", "", { "dependencies": { "clsx": "^2.1.1" } }, "sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg=="], "cli-cursor": ["cli-cursor@2.1.0", "", { "dependencies": { "restore-cursor": "^2.0.0" } }, "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw=="], @@ -1730,6 +1782,10 @@ "clsx": ["clsx@2.1.1", "", {}, "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA=="], + "co": ["co@4.6.0", "", {}, "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ=="], + + "collect-v8-coverage": ["collect-v8-coverage@1.0.3", "", {}, "sha512-1L5aqIkwPfiodaMgQunkF1zRhNqifHBmtbbbxcr6yVxxBnliw4TDOW6NxpO8DJLgJ16OT+Y4ztZqP6p/FtXnAw=="], + "color": ["color@4.2.3", "", { "dependencies": { "color-convert": "^2.0.1", "color-string": "^1.9.0" } }, "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A=="], "color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="], @@ -1774,6 +1830,8 @@ "cosmiconfig": ["cosmiconfig@5.2.1", "", { "dependencies": { "import-fresh": "^2.0.0", "is-directory": "^0.3.1", "js-yaml": "^3.13.1", "parse-json": "^4.0.0" } }, "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA=="], + "create-jest": ["create-jest@29.7.0", "", { "dependencies": { "@jest/types": "^29.6.3", "chalk": "^4.0.0", "exit": "^0.1.2", "graceful-fs": "^4.2.9", "jest-config": "^29.7.0", "jest-util": "^29.7.0", "prompts": "^2.0.1" }, "bin": { "create-jest": "bin/create-jest.js" } }, "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q=="], + "create-require": ["create-require@1.1.1", "", {}, "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ=="], "cross-env": ["cross-env@7.0.3", "", { "dependencies": { "cross-spawn": "^7.0.1" }, "bin": { "cross-env": "src/bin/cross-env.js", "cross-env-shell": "src/bin/cross-env-shell.js" } }, "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw=="], @@ -1796,6 +1854,8 @@ "cssesc": ["cssesc@3.0.0", "", { "bin": { "cssesc": "bin/cssesc" } }, "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg=="], + "cssom": ["cssom@0.5.0", "", {}, "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw=="], + "cssstyle": ["cssstyle@6.2.0", "", { "dependencies": { "@asamuzakjp/css-color": "^5.0.1", "@csstools/css-syntax-patches-for-csstree": "^1.0.28", "css-tree": "^3.1.0", "lru-cache": "^11.2.6" } }, "sha512-Fm5NvhYathRnXNVndkUsCCuR63DCLVVwGOOwQw782coXFi5HhkXdu289l59HlXZBawsyNccXfWRYvLzcDCdDig=="], "csstype": ["csstype@3.2.3", "", {}, "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ=="], @@ -1824,6 +1884,8 @@ "decompress-response": ["decompress-response@6.0.0", "", { "dependencies": { "mimic-response": "^3.1.0" } }, "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ=="], + "dedent": ["dedent@1.7.2", "", { "peerDependencies": { "babel-plugin-macros": "^3.1.0" }, "optionalPeers": ["babel-plugin-macros"] }, "sha512-WzMx3mW98SN+zn3hgemf4OzdmyNhhhKz5Ay0pUfQiMQ3e1g+xmTJWp/pKdwKVXhdSkAEGIIzqeuWrL3mV/AXbA=="], + "deep-extend": ["deep-extend@0.6.0", "", {}, "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA=="], "deep-is": ["deep-is@0.1.4", "", {}, "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="], @@ -1850,10 +1912,14 @@ "detect-libc": ["detect-libc@2.1.2", "", {}, "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ=="], + "detect-newline": ["detect-newline@3.1.0", "", {}, "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA=="], + "didyoumean": ["didyoumean@1.2.2", "", {}, "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw=="], "diff": ["diff@8.0.4", "", {}, "sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw=="], + "diff-sequences": ["diff-sequences@29.6.3", "", {}, "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q=="], + "dir-glob": ["dir-glob@3.0.1", "", { "dependencies": { "path-type": "^4.0.0" } }, "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA=="], "dlv": ["dlv@1.1.3", "", {}, "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA=="], @@ -1866,6 +1932,8 @@ "domelementtype": ["domelementtype@2.3.0", "", {}, "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw=="], + "domexception": ["domexception@4.0.0", "", { "dependencies": { "webidl-conversions": "^7.0.0" } }, "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw=="], + "domhandler": ["domhandler@5.0.3", "", { "dependencies": { "domelementtype": "^2.3.0" } }, "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w=="], "domutils": ["domutils@3.2.2", "", { "dependencies": { "dom-serializer": "^2.0.0", "domelementtype": "^2.3.0", "domhandler": "^5.0.3" } }, "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw=="], @@ -1892,6 +1960,8 @@ "electron-to-chromium": ["electron-to-chromium@1.5.313", "", {}, "sha512-QBMrTWEf00GXZmJyx2lbYD45jpI3TUFnNIzJ5BBc8piGUDwMPa1GV6HJWTZVvY/eiN3fSopl7NRbgGp9sZ9LTA=="], + "emittery": ["emittery@0.13.1", "", {}, "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ=="], + "emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="], "encodeurl": ["encodeurl@2.0.0", "", {}, "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg=="], @@ -1944,6 +2014,8 @@ "escape-string-regexp": ["escape-string-regexp@4.0.0", "", {}, "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="], + "escodegen": ["escodegen@2.1.0", "", { "dependencies": { "esprima": "^4.0.1", "estraverse": "^5.2.0", "esutils": "^2.0.2" }, "optionalDependencies": { "source-map": "~0.6.1" }, "bin": { "esgenerate": "bin/esgenerate.js", "escodegen": "bin/escodegen.js" } }, "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w=="], + "eslint": ["eslint@9.39.4", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", "@eslint/config-array": "^0.21.2", "@eslint/config-helpers": "^0.4.2", "@eslint/core": "^0.17.0", "@eslint/eslintrc": "^3.3.5", "@eslint/js": "9.39.4", "@eslint/plugin-kit": "^0.4.1", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", "@types/estree": "^1.0.6", "ajv": "^6.14.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.6", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", "eslint-scope": "^8.4.0", "eslint-visitor-keys": "^4.2.1", "espree": "^10.4.0", "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^8.0.0", "find-up": "^5.0.0", "glob-parent": "^6.0.2", "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "json-stable-stringify-without-jsonify": "^1.0.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.5", "natural-compare": "^1.4.0", "optionator": "^0.9.3" }, "peerDependencies": { "jiti": "*" }, "optionalPeers": ["jiti"], "bin": { "eslint": "bin/eslint.js" } }, "sha512-XoMjdBOwe/esVgEvLmNsD3IRHkm7fbKIUGvrleloJXUZgDHig2IPWNniv+GwjyJXzuNqVjlr5+4yVUZjycJwfQ=="], "eslint-config-expo": ["eslint-config-expo@9.2.0", "", { "dependencies": { "@typescript-eslint/eslint-plugin": "^8.18.2", "@typescript-eslint/parser": "^8.18.2", "eslint-import-resolver-typescript": "^3.6.3", "eslint-plugin-expo": "^0.1.4", "eslint-plugin-import": "^2.30.0", "eslint-plugin-react": "^7.37.3", "eslint-plugin-react-hooks": "^5.1.0", "globals": "^16.0.0" }, "peerDependencies": { "eslint": ">=8.10" } }, "sha512-TQgmSx+2mRM7qUS0hB5kTDrHcSC35rA1UzOSgK5YRLmSkSMlKLmXkUrhwOpnyo9D/nHdf4ERRAySRYxgA6dlrw=="], @@ -1986,10 +2058,16 @@ "event-target-shim": ["event-target-shim@5.0.1", "", {}, "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ=="], + "execa": ["execa@5.1.1", "", { "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.0", "human-signals": "^2.1.0", "is-stream": "^2.0.0", "merge-stream": "^2.0.0", "npm-run-path": "^4.0.1", "onetime": "^5.1.2", "signal-exit": "^3.0.3", "strip-final-newline": "^2.0.0" } }, "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg=="], + + "exit": ["exit@0.1.2", "", {}, "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ=="], + "exit-hook": ["exit-hook@2.2.1", "", {}, "sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw=="], "expand-template": ["expand-template@2.0.3", "", {}, "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg=="], + "expect": ["expect@29.7.0", "", { "dependencies": { "@jest/expect-utils": "^29.7.0", "jest-get-type": "^29.6.3", "jest-matcher-utils": "^29.7.0", "jest-message-util": "^29.7.0", "jest-util": "^29.7.0" } }, "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw=="], + "expect-type": ["expect-type@1.3.0", "", {}, "sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA=="], "expo": ["expo@53.0.27", "", { "dependencies": { "@babel/runtime": "^7.20.0", "@expo/cli": "0.24.24", "@expo/config": "~11.0.13", "@expo/config-plugins": "~10.1.2", "@expo/fingerprint": "0.13.4", "@expo/metro-config": "0.20.18", "@expo/vector-icons": "^14.0.0", "babel-preset-expo": "~13.2.5", "expo-asset": "~11.1.7", "expo-constants": "~17.1.8", "expo-file-system": "~18.1.11", "expo-font": "~13.3.2", "expo-keep-awake": "~14.1.4", "expo-modules-autolinking": "2.1.15", "expo-modules-core": "2.5.0", "react-native-edge-to-edge": "1.6.0", "whatwg-url-without-unicode": "8.0.0-3" }, "peerDependencies": { "@expo/dom-webview": "*", "@expo/metro-runtime": "*", "react": "*", "react-native": "*", "react-native-webview": "*" }, "optionalPeers": ["@expo/dom-webview", "@expo/metro-runtime", "react-native-webview"], "bin": { "expo": "bin/cli", "fingerprint": "bin/fingerprint", "expo-modules-autolinking": "bin/autolinking" } }, "sha512-iQwe2uWLb88opUY4vBYEW1d2GUq3lsa43gsMBEdDV+6pw0Oek93l/4nDLe0ODDdrBRjIJm/rdhKqJC/ehHCUqw=="], @@ -2238,6 +2316,8 @@ "html-encoding-sniffer": ["html-encoding-sniffer@6.0.0", "", { "dependencies": { "@exodus/bytes": "^1.6.0" } }, "sha512-CV9TW3Y3f8/wT0BRFc1/KAVQ3TUHiXmaAb6VW9vtiMFf7SLoMd1PdAc4W3KFOFETBJUb90KatHqlsZMWV+R9Gg=="], + "html-escaper": ["html-escaper@2.0.2", "", {}, "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg=="], + "htmlparser2": ["htmlparser2@10.1.0", "", { "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.3", "domutils": "^3.2.2", "entities": "^7.0.1" } }, "sha512-VTZkM9GWRAtEpveh7MSF6SjjrpNVNNVJfFup7xTY3UpFtm67foy9HDVXneLtFVt4pMz5kZtgNcvCniNFb1hlEQ=="], "http-errors": ["http-errors@2.0.1", "", { "dependencies": { "depd": "~2.0.0", "inherits": "~2.0.4", "setprototypeof": "~1.2.0", "statuses": "~2.0.2", "toidentifier": "~1.0.1" } }, "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ=="], @@ -2248,6 +2328,8 @@ "httpxy": ["httpxy@0.5.5", "", {}, "sha512-uDjmnPyp1q4Sgzf3w+J/Fc6UqcCEj0x4Wjp7OqK5dGhNeDgpyrAmnS6ey8QWrX3SWDon2DMKf9sBa5X9+CVyMA=="], + "human-signals": ["human-signals@2.1.0", "", {}, "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw=="], + "hyphenate-style-name": ["hyphenate-style-name@1.1.0", "", {}, "sha512-WDC/ui2VVRrz3jOVi+XtjqkDjiVjTtFaAGiW37k6b+ohyQ5wYDOGkvCZa8+H0nx3gyvv0+BST9xuOgIyGQ00gw=="], "iconv-lite": ["iconv-lite@0.4.24", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3" } }, "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA=="], @@ -2262,8 +2344,12 @@ "import-fresh": ["import-fresh@3.3.1", "", { "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" } }, "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ=="], + "import-local": ["import-local@3.2.0", "", { "dependencies": { "pkg-dir": "^4.2.0", "resolve-cwd": "^3.0.0" }, "bin": { "import-local-fixture": "fixtures/cli.js" } }, "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA=="], + "imurmurhash": ["imurmurhash@0.1.4", "", {}, "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA=="], + "indent-string": ["indent-string@4.0.0", "", {}, "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg=="], + "inflight": ["inflight@1.0.6", "", { "dependencies": { "once": "^1.3.0", "wrappy": "1" } }, "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA=="], "inherits": ["inherits@2.0.4", "", {}, "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="], @@ -2314,6 +2400,8 @@ "is-fullwidth-code-point": ["is-fullwidth-code-point@3.0.0", "", {}, "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="], + "is-generator-fn": ["is-generator-fn@2.1.0", "", {}, "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ=="], + "is-generator-function": ["is-generator-function@1.1.2", "", { "dependencies": { "call-bound": "^1.0.4", "generator-function": "^2.0.0", "get-proto": "^1.0.1", "has-tostringtag": "^1.0.2", "safe-regex-test": "^1.1.0" } }, "sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA=="], "is-glob": ["is-glob@4.0.3", "", { "dependencies": { "is-extglob": "^2.1.1" } }, "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg=="], @@ -2338,6 +2426,8 @@ "is-shared-array-buffer": ["is-shared-array-buffer@1.0.4", "", { "dependencies": { "call-bound": "^1.0.3" } }, "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A=="], + "is-stream": ["is-stream@2.0.1", "", {}, "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg=="], + "is-string": ["is-string@1.1.1", "", { "dependencies": { "call-bound": "^1.0.3", "has-tostringtag": "^1.0.2" } }, "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA=="], "is-symbol": ["is-symbol@1.1.1", "", { "dependencies": { "call-bound": "^1.0.2", "has-symbols": "^1.1.0", "safe-regex-test": "^1.1.0" } }, "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w=="], @@ -2364,28 +2454,76 @@ "istanbul-lib-instrument": ["istanbul-lib-instrument@5.2.1", "", { "dependencies": { "@babel/core": "^7.12.3", "@babel/parser": "^7.14.7", "@istanbuljs/schema": "^0.1.2", "istanbul-lib-coverage": "^3.2.0", "semver": "^6.3.0" } }, "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg=="], + "istanbul-lib-report": ["istanbul-lib-report@3.0.1", "", { "dependencies": { "istanbul-lib-coverage": "^3.0.0", "make-dir": "^4.0.0", "supports-color": "^7.1.0" } }, "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw=="], + + "istanbul-lib-source-maps": ["istanbul-lib-source-maps@4.0.1", "", { "dependencies": { "debug": "^4.1.1", "istanbul-lib-coverage": "^3.0.0", "source-map": "^0.6.1" } }, "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw=="], + + "istanbul-reports": ["istanbul-reports@3.2.0", "", { "dependencies": { "html-escaper": "^2.0.0", "istanbul-lib-report": "^3.0.0" } }, "sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA=="], + "iterator.prototype": ["iterator.prototype@1.1.5", "", { "dependencies": { "define-data-property": "^1.1.4", "es-object-atoms": "^1.0.0", "get-intrinsic": "^1.2.6", "get-proto": "^1.0.0", "has-symbols": "^1.1.0", "set-function-name": "^2.0.2" } }, "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g=="], "its-fine": ["its-fine@2.0.0", "", { "dependencies": { "@types/react-reconciler": "^0.28.9" }, "peerDependencies": { "react": "^19.0.0" } }, "sha512-KLViCmWx94zOvpLwSlsx6yOCeMhZYaxrJV87Po5k/FoZzcPSahvK5qJ7fYhS61sZi5ikmh2S3Hz55A2l3U69ng=="], "jackspeak": ["jackspeak@3.4.3", "", { "dependencies": { "@isaacs/cliui": "^8.0.2" }, "optionalDependencies": { "@pkgjs/parseargs": "^0.11.0" } }, "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw=="], + "jest": ["jest@29.7.0", "", { "dependencies": { "@jest/core": "^29.7.0", "@jest/types": "^29.6.3", "import-local": "^3.0.2", "jest-cli": "^29.7.0" }, "peerDependencies": { "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" }, "optionalPeers": ["node-notifier"], "bin": { "jest": "bin/jest.js" } }, "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw=="], + + "jest-changed-files": ["jest-changed-files@29.7.0", "", { "dependencies": { "execa": "^5.0.0", "jest-util": "^29.7.0", "p-limit": "^3.1.0" } }, "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w=="], + + "jest-circus": ["jest-circus@29.7.0", "", { "dependencies": { "@jest/environment": "^29.7.0", "@jest/expect": "^29.7.0", "@jest/test-result": "^29.7.0", "@jest/types": "^29.6.3", "@types/node": "*", "chalk": "^4.0.0", "co": "^4.6.0", "dedent": "^1.0.0", "is-generator-fn": "^2.0.0", "jest-each": "^29.7.0", "jest-matcher-utils": "^29.7.0", "jest-message-util": "^29.7.0", "jest-runtime": "^29.7.0", "jest-snapshot": "^29.7.0", "jest-util": "^29.7.0", "p-limit": "^3.1.0", "pretty-format": "^29.7.0", "pure-rand": "^6.0.0", "slash": "^3.0.0", "stack-utils": "^2.0.3" } }, "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw=="], + + "jest-cli": ["jest-cli@29.7.0", "", { "dependencies": { "@jest/core": "^29.7.0", "@jest/test-result": "^29.7.0", "@jest/types": "^29.6.3", "chalk": "^4.0.0", "create-jest": "^29.7.0", "exit": "^0.1.2", "import-local": "^3.0.2", "jest-config": "^29.7.0", "jest-util": "^29.7.0", "jest-validate": "^29.7.0", "yargs": "^17.3.1" }, "peerDependencies": { "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" }, "optionalPeers": ["node-notifier"], "bin": { "jest": "bin/jest.js" } }, "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg=="], + + "jest-config": ["jest-config@29.7.0", "", { "dependencies": { "@babel/core": "^7.11.6", "@jest/test-sequencer": "^29.7.0", "@jest/types": "^29.6.3", "babel-jest": "^29.7.0", "chalk": "^4.0.0", "ci-info": "^3.2.0", "deepmerge": "^4.2.2", "glob": "^7.1.3", "graceful-fs": "^4.2.9", "jest-circus": "^29.7.0", "jest-environment-node": "^29.7.0", "jest-get-type": "^29.6.3", "jest-regex-util": "^29.6.3", "jest-resolve": "^29.7.0", "jest-runner": "^29.7.0", "jest-util": "^29.7.0", "jest-validate": "^29.7.0", "micromatch": "^4.0.4", "parse-json": "^5.2.0", "pretty-format": "^29.7.0", "slash": "^3.0.0", "strip-json-comments": "^3.1.1" }, "peerDependencies": { "@types/node": "*", "ts-node": ">=9.0.0" }, "optionalPeers": ["@types/node", "ts-node"] }, "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ=="], + + "jest-diff": ["jest-diff@30.5.1", "", { "dependencies": { "@jest/diff-sequences": "30.5.0", "@jest/get-type": "30.5.0", "chalk": "^4.1.2", "pretty-format": "30.5.1" } }, "sha512-e3cNNMpv8Kh20MjjphTXs+3Vz7DQyLM1nft7KJhnh46atFhjVJRa+0Hq0beywuwsACtMQUBihQkFl8zxb7gt1Q=="], + + "jest-docblock": ["jest-docblock@29.7.0", "", { "dependencies": { "detect-newline": "^3.0.0" } }, "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g=="], + + "jest-each": ["jest-each@29.7.0", "", { "dependencies": { "@jest/types": "^29.6.3", "chalk": "^4.0.0", "jest-get-type": "^29.6.3", "jest-util": "^29.7.0", "pretty-format": "^29.7.0" } }, "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ=="], + + "jest-environment-jsdom": ["jest-environment-jsdom@29.7.0", "", { "dependencies": { "@jest/environment": "^29.7.0", "@jest/fake-timers": "^29.7.0", "@jest/types": "^29.6.3", "@types/jsdom": "^20.0.0", "@types/node": "*", "jest-mock": "^29.7.0", "jest-util": "^29.7.0", "jsdom": "^20.0.0" }, "peerDependencies": { "canvas": "^2.5.0" }, "optionalPeers": ["canvas"] }, "sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA=="], + "jest-environment-node": ["jest-environment-node@29.7.0", "", { "dependencies": { "@jest/environment": "^29.7.0", "@jest/fake-timers": "^29.7.0", "@jest/types": "^29.6.3", "@types/node": "*", "jest-mock": "^29.7.0", "jest-util": "^29.7.0" } }, "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw=="], + "jest-expo": ["jest-expo@53.0.14", "", { "dependencies": { "@expo/config": "~11.0.13", "@expo/json-file": "^9.1.5", "@jest/create-cache-key-function": "^29.2.1", "@jest/globals": "^29.2.1", "babel-jest": "^29.2.1", "find-up": "^5.0.0", "jest-environment-jsdom": "^29.2.1", "jest-snapshot": "^29.2.1", "jest-watch-select-projects": "^2.0.0", "jest-watch-typeahead": "2.2.1", "json5": "^2.2.3", "lodash": "^4.17.19", "react-test-renderer": "19.0.0", "server-only": "^0.0.1", "stacktrace-js": "^2.0.2" }, "peerDependencies": { "expo": "*", "react-native": "*", "react-server-dom-webpack": "~19.0.4 || ~19.1.5 || ~19.2.4" }, "optionalPeers": ["react-server-dom-webpack"], "bin": { "jest": "bin/jest.js" } }, "sha512-BwE5ZTjkhTvO+ejJBBJNlwar2YiahWjbcwhSPQ3oYV5UyvVdTrpKvZ+KjFv/7N5OaC3cOhv4/Ve4cTgS6m6vcw=="], + "jest-get-type": ["jest-get-type@29.6.3", "", {}, "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw=="], "jest-haste-map": ["jest-haste-map@29.7.0", "", { "dependencies": { "@jest/types": "^29.6.3", "@types/graceful-fs": "^4.1.3", "@types/node": "*", "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", "graceful-fs": "^4.2.9", "jest-regex-util": "^29.6.3", "jest-util": "^29.7.0", "jest-worker": "^29.7.0", "micromatch": "^4.0.4", "walker": "^1.0.8" }, "optionalDependencies": { "fsevents": "^2.3.2" } }, "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA=="], + "jest-leak-detector": ["jest-leak-detector@29.7.0", "", { "dependencies": { "jest-get-type": "^29.6.3", "pretty-format": "^29.7.0" } }, "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw=="], + + "jest-matcher-utils": ["jest-matcher-utils@30.5.1", "", { "dependencies": { "@jest/get-type": "30.5.0", "chalk": "^4.1.2", "jest-diff": "30.5.1", "pretty-format": "30.5.1" } }, "sha512-aroZVqwOz/wC2y6pC+obgFWKV9viaQWQTTSB6W5H55+egtUczIfXR/rxExTv92xD/ADYwpqaYfVWx1aqwKg7FA=="], + "jest-message-util": ["jest-message-util@29.7.0", "", { "dependencies": { "@babel/code-frame": "^7.12.13", "@jest/types": "^29.6.3", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", "pretty-format": "^29.7.0", "slash": "^3.0.0", "stack-utils": "^2.0.3" } }, "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w=="], "jest-mock": ["jest-mock@29.7.0", "", { "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", "jest-util": "^29.7.0" } }, "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw=="], + "jest-pnp-resolver": ["jest-pnp-resolver@1.2.3", "", { "peerDependencies": { "jest-resolve": "*" }, "optionalPeers": ["jest-resolve"] }, "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w=="], + "jest-regex-util": ["jest-regex-util@29.6.3", "", {}, "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg=="], + "jest-resolve": ["jest-resolve@29.7.0", "", { "dependencies": { "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "jest-haste-map": "^29.7.0", "jest-pnp-resolver": "^1.2.2", "jest-util": "^29.7.0", "jest-validate": "^29.7.0", "resolve": "^1.20.0", "resolve.exports": "^2.0.0", "slash": "^3.0.0" } }, "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA=="], + + "jest-resolve-dependencies": ["jest-resolve-dependencies@29.7.0", "", { "dependencies": { "jest-regex-util": "^29.6.3", "jest-snapshot": "^29.7.0" } }, "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA=="], + + "jest-runner": ["jest-runner@29.7.0", "", { "dependencies": { "@jest/console": "^29.7.0", "@jest/environment": "^29.7.0", "@jest/test-result": "^29.7.0", "@jest/transform": "^29.7.0", "@jest/types": "^29.6.3", "@types/node": "*", "chalk": "^4.0.0", "emittery": "^0.13.1", "graceful-fs": "^4.2.9", "jest-docblock": "^29.7.0", "jest-environment-node": "^29.7.0", "jest-haste-map": "^29.7.0", "jest-leak-detector": "^29.7.0", "jest-message-util": "^29.7.0", "jest-resolve": "^29.7.0", "jest-runtime": "^29.7.0", "jest-util": "^29.7.0", "jest-watcher": "^29.7.0", "jest-worker": "^29.7.0", "p-limit": "^3.1.0", "source-map-support": "0.5.13" } }, "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ=="], + + "jest-runtime": ["jest-runtime@29.7.0", "", { "dependencies": { "@jest/environment": "^29.7.0", "@jest/fake-timers": "^29.7.0", "@jest/globals": "^29.7.0", "@jest/source-map": "^29.6.3", "@jest/test-result": "^29.7.0", "@jest/transform": "^29.7.0", "@jest/types": "^29.6.3", "@types/node": "*", "chalk": "^4.0.0", "cjs-module-lexer": "^1.0.0", "collect-v8-coverage": "^1.0.0", "glob": "^7.1.3", "graceful-fs": "^4.2.9", "jest-haste-map": "^29.7.0", "jest-message-util": "^29.7.0", "jest-mock": "^29.7.0", "jest-regex-util": "^29.6.3", "jest-resolve": "^29.7.0", "jest-snapshot": "^29.7.0", "jest-util": "^29.7.0", "slash": "^3.0.0", "strip-bom": "^4.0.0" } }, "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ=="], + + "jest-snapshot": ["jest-snapshot@29.7.0", "", { "dependencies": { "@babel/core": "^7.11.6", "@babel/generator": "^7.7.2", "@babel/plugin-syntax-jsx": "^7.7.2", "@babel/plugin-syntax-typescript": "^7.7.2", "@babel/types": "^7.3.3", "@jest/expect-utils": "^29.7.0", "@jest/transform": "^29.7.0", "@jest/types": "^29.6.3", "babel-preset-current-node-syntax": "^1.0.0", "chalk": "^4.0.0", "expect": "^29.7.0", "graceful-fs": "^4.2.9", "jest-diff": "^29.7.0", "jest-get-type": "^29.6.3", "jest-matcher-utils": "^29.7.0", "jest-message-util": "^29.7.0", "jest-util": "^29.7.0", "natural-compare": "^1.4.0", "pretty-format": "^29.7.0", "semver": "^7.5.3" } }, "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw=="], + "jest-util": ["jest-util@29.7.0", "", { "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", "graceful-fs": "^4.2.9", "picomatch": "^2.2.3" } }, "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA=="], "jest-validate": ["jest-validate@29.7.0", "", { "dependencies": { "@jest/types": "^29.6.3", "camelcase": "^6.2.0", "chalk": "^4.0.0", "jest-get-type": "^29.6.3", "leven": "^3.1.0", "pretty-format": "^29.7.0" } }, "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw=="], + "jest-watch-select-projects": ["jest-watch-select-projects@2.0.0", "", { "dependencies": { "ansi-escapes": "^4.3.0", "chalk": "^3.0.0", "prompts": "^2.2.1" } }, "sha512-j00nW4dXc2NiCW6znXgFLF9g8PJ0zP25cpQ1xRro/HU2GBfZQFZD0SoXnAlaoKkIY4MlfTMkKGbNXFpvCdjl1w=="], + + "jest-watch-typeahead": ["jest-watch-typeahead@2.2.1", "", { "dependencies": { "ansi-escapes": "^6.0.0", "chalk": "^4.0.0", "jest-regex-util": "^29.0.0", "jest-watcher": "^29.0.0", "slash": "^5.0.0", "string-length": "^5.0.1", "strip-ansi": "^7.0.1" }, "peerDependencies": { "jest": "^27.0.0 || ^28.0.0 || ^29.0.0" } }, "sha512-jYpYmUnTzysmVnwq49TAxlmtOAwp8QIqvZyoofQFn8fiWhEDZj33ZXzg3JA4nGnzWFm1hbWf3ADpteUokvXgFA=="], + + "jest-watcher": ["jest-watcher@29.7.0", "", { "dependencies": { "@jest/test-result": "^29.7.0", "@jest/types": "^29.6.3", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", "emittery": "^0.13.1", "jest-util": "^29.7.0", "string-length": "^4.0.1" } }, "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g=="], + "jest-worker": ["jest-worker@29.7.0", "", { "dependencies": { "@types/node": "*", "jest-util": "^29.7.0", "merge-stream": "^2.0.0", "supports-color": "^8.0.0" } }, "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw=="], "jimp-compact": ["jimp-compact@0.16.1", "", {}, "sha512-dZ6Ra7u1G8c4Letq/B5EzAxj4tLFHL+cGtdpR+PVm4yzPDj+lCk+AbivWt1eOM+ikzkowtyV7qSqX6qr3t71Ww=="], @@ -2410,6 +2548,8 @@ "json-parse-better-errors": ["json-parse-better-errors@1.0.2", "", {}, "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw=="], + "json-parse-even-better-errors": ["json-parse-even-better-errors@2.3.1", "", {}, "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w=="], + "json-schema-traverse": ["json-schema-traverse@0.4.1", "", {}, "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="], "json-stable-stringify-without-jsonify": ["json-stable-stringify-without-jsonify@1.0.1", "", {}, "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw=="], @@ -2496,6 +2636,8 @@ "magic-string": ["magic-string@0.30.21", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.5" } }, "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ=="], + "make-dir": ["make-dir@4.0.0", "", { "dependencies": { "semver": "^7.5.3" } }, "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw=="], + "make-error": ["make-error@1.3.6", "", {}, "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw=="], "makeerror": ["makeerror@1.0.12", "", { "dependencies": { "tmpl": "1.0.5" } }, "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg=="], @@ -2560,10 +2702,12 @@ "mime-types": ["mime-types@2.1.35", "", { "dependencies": { "mime-db": "1.52.0" } }, "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw=="], - "mimic-fn": ["mimic-fn@1.2.0", "", {}, "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ=="], + "mimic-fn": ["mimic-fn@2.1.0", "", {}, "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="], "mimic-response": ["mimic-response@3.1.0", "", {}, "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ=="], + "min-indent": ["min-indent@1.0.1", "", {}, "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg=="], + "miniflare": ["miniflare@4.20260616.0", "", { "dependencies": { "@cspotcode/source-map-support": "0.8.1", "sharp": "0.34.5", "undici": "7.24.8", "workerd": "1.20260616.1", "ws": "8.20.1", "youch": "4.1.0-beta.10" }, "bin": { "miniflare": "bootstrap.js" } }, "sha512-cEpzoNgSWjedzYmhJvttUPmL4Jk6nSzzeNNi118T5zwnmYP9fnM8UXwFU/Qa/1qoQ4SzGqtM1Q7tinHvHvIGtw=="], "minimatch": ["minimatch@3.1.5", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w=="], @@ -2622,10 +2766,14 @@ "npm-package-arg": ["npm-package-arg@11.0.3", "", { "dependencies": { "hosted-git-info": "^7.0.0", "proc-log": "^4.0.0", "semver": "^7.3.5", "validate-npm-package-name": "^5.0.0" } }, "sha512-sHGJy8sOC1YraBywpzQlIKBE4pBbGbiF95U6Auspzyem956E0+FtDtsx1ZxlOJkQCZ1AFXAY/yuvtFYrOxF+Bw=="], + "npm-run-path": ["npm-run-path@4.0.1", "", { "dependencies": { "path-key": "^3.0.0" } }, "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw=="], + "nth-check": ["nth-check@2.1.1", "", { "dependencies": { "boolbase": "^1.0.0" } }, "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w=="], "nullthrows": ["nullthrows@1.1.1", "", {}, "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw=="], + "nwsapi": ["nwsapi@2.2.27", "", {}, "sha512-gQPNF78qebCQ6tvVFBYrvJdBNOrYZm90ZlXgpIFm06p6qHDHq/XC4TnJftN6OMbxVE0UTBAoRgcsDeJBBooITw=="], + "ob1": ["ob1@0.82.5", "", { "dependencies": { "flow-enums-runtime": "^0.0.6" } }, "sha512-QyQQ6e66f+Ut/qUVjEce0E/wux5nAGLXYZDn1jr15JWstHsCH3l6VVrg8NKDptW9NEiBXKOJeGF/ydxeSDF3IQ=="], "object-assign": ["object-assign@4.1.1", "", {}, "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="], @@ -2662,7 +2810,7 @@ "once": ["once@1.4.0", "", { "dependencies": { "wrappy": "1" } }, "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w=="], - "onetime": ["onetime@2.0.1", "", { "dependencies": { "mimic-fn": "^1.0.0" } }, "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ=="], + "onetime": ["onetime@5.1.2", "", { "dependencies": { "mimic-fn": "^2.1.0" } }, "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg=="], "open": ["open@7.4.2", "", { "dependencies": { "is-docker": "^2.0.0", "is-wsl": "^2.1.1" } }, "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q=="], @@ -2682,7 +2830,7 @@ "parent-module": ["parent-module@1.0.1", "", { "dependencies": { "callsites": "^3.0.0" } }, "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g=="], - "parse-json": ["parse-json@4.0.0", "", { "dependencies": { "error-ex": "^1.3.1", "json-parse-better-errors": "^1.0.1" } }, "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw=="], + "parse-json": ["parse-json@5.2.0", "", { "dependencies": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", "json-parse-even-better-errors": "^2.3.0", "lines-and-columns": "^1.1.6" } }, "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg=="], "parse-png": ["parse-png@2.1.0", "", { "dependencies": { "pngjs": "^3.3.0" } }, "sha512-Nt/a5SfCLiTnQAjx3fHlqp8hRgTL3z7kTQZzvIMS9uCAepnCyjpdEc6M/sz69WqMBdaDBw9sF1F1UaHROYzGkQ=="], @@ -2736,6 +2884,8 @@ "pirates": ["pirates@4.0.7", "", {}, "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA=="], + "pkg-dir": ["pkg-dir@4.2.0", "", { "dependencies": { "find-up": "^4.0.0" } }, "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ=="], + "playwright": ["playwright@1.63.0", "", { "dependencies": { "playwright-core": "1.63.0" }, "bin": { "playwright": "cli.js" } }, "sha512-+7ziBLidS4NaNCdt57SUDT+wYmmd5fmiQejUic/kb+YsYSCPyOOE9sebzMjNmQrsnNpDJqd4WHvV/8lfKfUDUg=="], "playwright-core": ["playwright-core@1.63.0", "", { "bin": { "playwright-core": "cli.js" } }, "sha512-rYCsBF/M5HjUch52bbtVONEFjv6Xu8sm8h72dNlR5bzIE1fvC/bxgspzkjSfU+MweEMmPM8KJebG6nnyxo5mCg=="], @@ -2810,6 +2960,8 @@ "proxy-from-env": ["proxy-from-env@2.1.0", "", {}, "sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA=="], + "psl": ["psl@1.15.0", "", { "dependencies": { "punycode": "^2.3.1" } }, "sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w=="], + "pug": ["pug@3.0.4", "", { "dependencies": { "pug-code-gen": "^3.0.4", "pug-filters": "^4.0.0", "pug-lexer": "^5.0.1", "pug-linker": "^4.0.0", "pug-load": "^3.0.0", "pug-parser": "^6.0.0", "pug-runtime": "^3.0.1", "pug-strip-comments": "^2.0.0" } }, "sha512-kFfq5mMzrS7+wrl5pLJzZEzemx34OQ0w4SARfhy/3yxTlhbstsudDwJzhf1hP02yHzbjoVMSXUj/Sz6RNfMyXg=="], "pug-attrs": ["pug-attrs@3.0.0", "", { "dependencies": { "constantinople": "^4.0.1", "js-stringify": "^1.0.2", "pug-runtime": "^3.0.0" } }, "sha512-azINV9dUtzPMFQktvTXciNAfAuVh/L/JCl0vtPCwvOA21uZrC08K/UnmrL+SXGEVc1FwzjW62+xw5S/uaLj6cA=="], @@ -2838,12 +2990,16 @@ "punycode": ["punycode@2.3.1", "", {}, "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg=="], + "pure-rand": ["pure-rand@6.1.0", "", {}, "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA=="], + "qrcode-terminal": ["qrcode-terminal@0.11.0", "", { "bin": { "qrcode-terminal": "./bin/qrcode-terminal.js" } }, "sha512-Uu7ii+FQy4Qf82G4xu7ShHhjhGahEpCWc3x8UavY3CTcWV+ufmmCtwkr7ZKsX42jdL0kr1B5FKUeqJvAn51jzQ=="], "qs": ["qs@6.14.2", "", { "dependencies": { "side-channel": "^1.1.0" } }, "sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q=="], "query-string": ["query-string@7.1.3", "", { "dependencies": { "decode-uri-component": "^0.2.2", "filter-obj": "^1.1.0", "split-on-first": "^1.0.0", "strict-uri-encode": "^2.0.0" } }, "sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg=="], + "querystringify": ["querystringify@2.2.0", "", {}, "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ=="], + "queue": ["queue@6.0.2", "", { "dependencies": { "inherits": "~2.0.3" } }, "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA=="], "queue-lit": ["queue-lit@1.5.2", "", {}, "sha512-tLc36IOPeMAubu8BkW8YDBV+WyIgKlYU7zUNs0J5Vk9skSZ4JfGlPOqplP0aHdfv7HL0B2Pg6nwiq60Qc6M2Hw=="], @@ -2870,7 +3026,7 @@ "react-hook-form": ["react-hook-form@7.71.2", "", { "peerDependencies": { "react": "^16.8.0 || ^17 || ^18 || ^19" } }, "sha512-1CHvcDYzuRUNOflt4MOq3ZM46AronNJtQ1S7tnX6YN4y72qhgiUItpacZUAQ0TyWYci3yz1X+rXaSxiuEm86PA=="], - "react-is": ["react-is@18.3.1", "", {}, "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg=="], + "react-is": ["react-is@19.2.4", "", {}, "sha512-W+EWGn2v0ApPKgKKCy/7s7WHXkboGcsrXE+2joLyVxkbyVQfO3MUEaUQDHoSmb8TFFrSKYa9mw64WZHNHSDzYA=="], "react-native": ["react-native@0.79.6", "", { "dependencies": { "@jest/create-cache-key-function": "^29.7.0", "@react-native/assets-registry": "0.79.6", "@react-native/codegen": "0.79.6", "@react-native/community-cli-plugin": "0.79.6", "@react-native/gradle-plugin": "0.79.6", "@react-native/js-polyfills": "0.79.6", "@react-native/normalize-colors": "0.79.6", "@react-native/virtualized-lists": "0.79.6", "abort-controller": "^3.0.0", "anser": "^1.4.9", "ansi-regex": "^5.0.0", "babel-jest": "^29.7.0", "babel-plugin-syntax-hermes-parser": "0.25.1", "base64-js": "^1.5.1", "chalk": "^4.0.0", "commander": "^12.0.0", "event-target-shim": "^5.0.1", "flow-enums-runtime": "^0.0.6", "glob": "^7.1.1", "invariant": "^2.2.4", "jest-environment-node": "^29.7.0", "memoize-one": "^5.0.0", "metro-runtime": "^0.82.0", "metro-source-map": "^0.82.0", "nullthrows": "^1.1.1", "pretty-format": "^29.7.0", "promise": "^8.3.0", "react-devtools-core": "^6.1.1", "react-refresh": "^0.14.0", "regenerator-runtime": "^0.13.2", "scheduler": "0.25.0", "semver": "^7.1.3", "stacktrace-parser": "^0.1.10", "whatwg-fetch": "^3.0.0", "ws": "^6.2.3", "yargs": "^17.6.2" }, "peerDependencies": { "@types/react": "^19.0.0", "react": "^19.0.0" }, "optionalPeers": ["@types/react"], "bin": { "react-native": "cli.js" } }, "sha512-kvIWSmf4QPfY41HC25TR285N7Fv0Pyn3DAEK8qRL9dA35usSaxsJkHfw+VqnonqJjXOaoKCEanwudRAJ60TBGA=="], @@ -2916,6 +3072,8 @@ "react-refresh": ["react-refresh@0.14.2", "", {}, "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA=="], + "react-test-renderer": ["react-test-renderer@19.0.0", "", { "dependencies": { "react-is": "^19.0.0", "scheduler": "^0.25.0" }, "peerDependencies": { "react": "^19.0.0" } }, "sha512-oX5u9rOQlHzqrE/64CNr0HB0uWxkCQmZNSfozlYvwE71TLVgeZxVf0IjouGEr1v7r1kcDifdAJBeOhdhxsG/DA=="], + "react-use-measure": ["react-use-measure@2.1.7", "", { "peerDependencies": { "react": ">=16.13", "react-dom": ">=16.13" }, "optionalPeers": ["react-dom"] }, "sha512-KrvcAo13I/60HpwGO5jpW7E9DfusKyLPLvuHlUyP5zqnmAPhNc6qTRjUQrdTADl0lpPpDVU2/Gg51UlOGHXbdg=="], "read-cache": ["read-cache@1.0.0", "", { "dependencies": { "pify": "^2.3.0" } }, "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA=="], @@ -2924,6 +3082,8 @@ "readdirp": ["readdirp@3.6.0", "", { "dependencies": { "picomatch": "^2.2.1" } }, "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA=="], + "redent": ["redent@3.0.0", "", { "dependencies": { "indent-string": "^4.0.0", "strip-indent": "^3.0.0" } }, "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg=="], + "reflect.getprototypeof": ["reflect.getprototypeof@1.0.10", "", { "dependencies": { "call-bind": "^1.0.8", "define-properties": "^1.2.1", "es-abstract": "^1.23.9", "es-errors": "^1.3.0", "es-object-atoms": "^1.0.0", "get-intrinsic": "^1.2.7", "get-proto": "^1.0.1", "which-builtin-type": "^1.2.1" } }, "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw=="], "regenerate": ["regenerate@1.4.2", "", {}, "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A=="], @@ -2946,8 +3106,12 @@ "requireg": ["requireg@0.2.2", "", { "dependencies": { "nested-error-stacks": "~2.0.1", "rc": "~1.2.7", "resolve": "~1.7.1" } }, "sha512-nYzyjnFcPNGR3lx9lwPPPnuQxv6JWEZd2Ci0u9opN7N5zUEPIhY/GbL3vMGOr2UXwEg9WwSyV9X9Y/kLFgPsOg=="], + "requires-port": ["requires-port@1.0.0", "", {}, "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ=="], + "resolve": ["resolve@1.22.11", "", { "dependencies": { "is-core-module": "^2.16.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" } }, "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ=="], + "resolve-cwd": ["resolve-cwd@3.0.0", "", { "dependencies": { "resolve-from": "^5.0.0" } }, "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg=="], + "resolve-from": ["resolve-from@5.0.0", "", {}, "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw=="], "resolve-pkg-maps": ["resolve-pkg-maps@1.0.0", "", {}, "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw=="], @@ -3084,12 +3248,18 @@ "stable-hash": ["stable-hash@0.0.5", "", {}, "sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA=="], + "stack-generator": ["stack-generator@2.0.10", "", { "dependencies": { "stackframe": "^1.3.4" } }, "sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ=="], + "stack-utils": ["stack-utils@2.0.6", "", { "dependencies": { "escape-string-regexp": "^2.0.0" } }, "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ=="], "stackback": ["stackback@0.0.2", "", {}, "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw=="], "stackframe": ["stackframe@1.3.4", "", {}, "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw=="], + "stacktrace-gps": ["stacktrace-gps@3.1.2", "", { "dependencies": { "source-map": "0.5.6", "stackframe": "^1.3.4" } }, "sha512-GcUgbO4Jsqqg6RxfyTHFiPxdPqF+3LFmQhm7MgCuYQOYuWyqxo5pwRPz5d/u6/WYJdEnWfK4r+jGbyD8TSggXQ=="], + + "stacktrace-js": ["stacktrace-js@2.0.2", "", { "dependencies": { "error-stack-parser": "^2.0.6", "stack-generator": "^2.0.5", "stacktrace-gps": "^3.0.4" } }, "sha512-Je5vBeY4S1r/RnLydLl0TBTi3F2qdfWmYsGvtfZgEI+SCprPppaIhQf5nGcal4gI4cGpCV/duLcAzT1np6sQqg=="], + "stacktrace-parser": ["stacktrace-parser@0.1.11", "", { "dependencies": { "type-fest": "^0.7.1" } }, "sha512-WjlahMgHmCJpqzU8bIBy4qtsZdU9lRlcZE3Lvyej6t4tuOuv1vk57OW3MBrj6hXBFx/nNoC9MPMTcr5YA7NQbg=="], "stacktracey": ["stacktracey@2.2.0", "", { "dependencies": { "as-table": "^1.0.36", "get-source": "^2.0.12" } }, "sha512-ETyQEz+CzXiLjEbyJqpbp+/T79RQD/6wqFucRBIlVNZfYq2Ay7wbretD4cxpbymZlaPWx58aIhPEY1Cr8DlVvg=="], @@ -3110,6 +3280,8 @@ "strict-uri-encode": ["strict-uri-encode@2.0.0", "", {}, "sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ=="], + "string-length": ["string-length@5.0.1", "", { "dependencies": { "char-regex": "^2.0.0", "strip-ansi": "^7.0.1" } }, "sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow=="], + "string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], "string-width-cjs": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], @@ -3126,12 +3298,16 @@ "string_decoder": ["string_decoder@1.3.0", "", { "dependencies": { "safe-buffer": "~5.2.0" } }, "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA=="], - "strip-ansi": ["strip-ansi@5.2.0", "", { "dependencies": { "ansi-regex": "^4.1.0" } }, "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA=="], + "strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], "strip-ansi-cjs": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], "strip-bom": ["strip-bom@3.0.0", "", {}, "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA=="], + "strip-final-newline": ["strip-final-newline@2.0.0", "", {}, "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA=="], + + "strip-indent": ["strip-indent@3.0.0", "", { "dependencies": { "min-indent": "^1.0.0" } }, "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ=="], + "strip-json-comments": ["strip-json-comments@3.1.1", "", {}, "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig=="], "structured-headers": ["structured-headers@0.4.1", "", {}, "sha512-0MP/Cxx5SzeeZ10p/bZI0S6MpgD+yxAhi1BOQ34jgnMXsCq3j1t6tQnZu+KdlL7dvJTLT3g9xN8tl10TqgFMcg=="], @@ -3310,6 +3486,8 @@ "unique-string": ["unique-string@2.0.0", "", { "dependencies": { "crypto-random-string": "^2.0.0" } }, "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg=="], + "universalify": ["universalify@0.2.0", "", {}, "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg=="], + "unpipe": ["unpipe@1.0.0", "", {}, "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ=="], "unplugin": ["unplugin@3.0.0", "", { "dependencies": { "@jridgewell/remapping": "^2.3.5", "picomatch": "^4.0.3", "webpack-virtual-modules": "^0.6.2" } }, "sha512-0Mqk3AT2TZCXWKdcoaufeXNukv2mTrEZExeXlHIOZXdqYoHHr4n51pymnwV8x2BOVxwXbK2HLlI7usrqMpycdg=="], @@ -3322,6 +3500,8 @@ "uri-js": ["uri-js@4.4.1", "", { "dependencies": { "punycode": "^2.1.0" } }, "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg=="], + "url-parse": ["url-parse@1.5.10", "", { "dependencies": { "querystringify": "^2.1.1", "requires-port": "^1.0.0" } }, "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ=="], + "use-latest-callback": ["use-latest-callback@0.2.6", "", { "peerDependencies": { "react": ">=16.8" } }, "sha512-FvRG9i1HSo0wagmX63Vrm8SnlUU3LMM3WyZkQ76RnslpBrX694AdG4A0zQBx2B3ZifFA0yv/BaEHGBnEax5rZg=="], "use-sync-external-store": ["use-sync-external-store@1.6.0", "", { "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w=="], @@ -3340,6 +3520,8 @@ "v8-compile-cache-lib": ["v8-compile-cache-lib@3.0.1", "", {}, "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg=="], + "v8-to-istanbul": ["v8-to-istanbul@9.3.0", "", { "dependencies": { "@jridgewell/trace-mapping": "^0.3.12", "@types/istanbul-lib-coverage": "^2.0.1", "convert-source-map": "^2.0.0" } }, "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA=="], + "validate-npm-package-name": ["validate-npm-package-name@5.0.1", "", {}, "sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ=="], "vary": ["vary@1.1.2", "", {}, "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg=="], @@ -3376,7 +3558,7 @@ "webpack-virtual-modules": ["webpack-virtual-modules@0.6.2", "", {}, "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ=="], - "whatwg-encoding": ["whatwg-encoding@3.1.1", "", { "dependencies": { "iconv-lite": "0.6.3" } }, "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ=="], + "whatwg-encoding": ["whatwg-encoding@2.0.0", "", { "dependencies": { "iconv-lite": "0.6.3" } }, "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg=="], "whatwg-fetch": ["whatwg-fetch@3.6.20", "", {}, "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg=="], @@ -3546,10 +3728,20 @@ "@istanbuljs/load-nyc-config/js-yaml": ["js-yaml@3.14.2", "", { "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg=="], + "@jest/console/@types/node": ["@types/node@24.12.0", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-GYDxsZi3ChgmckRT9HPU0WEhKLP08ev/Yfcq2AstjrDASOYCSXeyjDsHg4v5t4jOj7cyDX3vmprafKlWIG9MXQ=="], + + "@jest/core/@types/node": ["@types/node@24.12.0", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-GYDxsZi3ChgmckRT9HPU0WEhKLP08ev/Yfcq2AstjrDASOYCSXeyjDsHg4v5t4jOj7cyDX3vmprafKlWIG9MXQ=="], + "@jest/environment/@types/node": ["@types/node@24.12.0", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-GYDxsZi3ChgmckRT9HPU0WEhKLP08ev/Yfcq2AstjrDASOYCSXeyjDsHg4v5t4jOj7cyDX3vmprafKlWIG9MXQ=="], "@jest/fake-timers/@types/node": ["@types/node@24.12.0", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-GYDxsZi3ChgmckRT9HPU0WEhKLP08ev/Yfcq2AstjrDASOYCSXeyjDsHg4v5t4jOj7cyDX3vmprafKlWIG9MXQ=="], + "@jest/reporters/@types/node": ["@types/node@24.12.0", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-GYDxsZi3ChgmckRT9HPU0WEhKLP08ev/Yfcq2AstjrDASOYCSXeyjDsHg4v5t4jOj7cyDX3vmprafKlWIG9MXQ=="], + + "@jest/reporters/istanbul-lib-instrument": ["istanbul-lib-instrument@6.0.3", "", { "dependencies": { "@babel/core": "^7.23.9", "@babel/parser": "^7.23.9", "@istanbuljs/schema": "^0.1.3", "istanbul-lib-coverage": "^3.2.0", "semver": "^7.5.4" } }, "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q=="], + + "@jest/reporters/string-length": ["string-length@4.0.2", "", { "dependencies": { "char-regex": "^1.0.2", "strip-ansi": "^6.0.0" } }, "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ=="], + "@jest/types/@types/node": ["@types/node@24.12.0", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-GYDxsZi3ChgmckRT9HPU0WEhKLP08ev/Yfcq2AstjrDASOYCSXeyjDsHg4v5t4jOj7cyDX3vmprafKlWIG9MXQ=="], "@maplibre/maplibre-gl-style-spec/quickselect": ["quickselect@2.0.0", "", {}, "sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw=="], @@ -3576,14 +3768,14 @@ "@poppinss/dumper/supports-color": ["supports-color@10.2.2", "", {}, "sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g=="], + "@react-native/babel-plugin-codegen/@react-native/codegen": ["@react-native/codegen@0.79.0-rc.4", "", { "dependencies": { "glob": "^7.1.1", "hermes-parser": "0.25.1", "invariant": "^2.2.4", "nullthrows": "^1.1.1", "yargs": "^17.6.2" }, "peerDependencies": { "@babel/core": "*" } }, "sha512-62J5LVV0LBqyqSV1REin2+ciWamctlYMFyy216Gko/+aqMdoYVX/bM14pdPmqtPZRoMEgWQCgmfw+xc0yx9aPQ=="], + "@react-native/community-cli-plugin/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="], "@react-native/community-cli-plugin/semver": ["semver@7.7.4", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA=="], "@react-native/dev-middleware/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="], - "@react-navigation/core/react-is": ["react-is@19.2.4", "", {}, "sha512-W+EWGn2v0ApPKgKKCy/7s7WHXkboGcsrXE+2joLyVxkbyVQfO3MUEaUQDHoSmb8TFFrSKYa9mw64WZHNHSDzYA=="], - "@tailwindcss/node/jiti": ["jiti@2.7.0", "", { "bin": { "jiti": "lib/jiti-cli.mjs" } }, "sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ=="], "@tailwindcss/oxide-wasm32-wasi/@emnapi/core": ["@emnapi/core@1.10.0", "", { "dependencies": { "@emnapi/wasi-threads": "1.2.1", "tslib": "^2.4.0" }, "bundled": true }, "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw=="], @@ -3620,10 +3812,16 @@ "@tanstack/start-plugin-core/zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="], + "@testing-library/react-native/pretty-format": ["pretty-format@30.5.1", "", { "dependencies": { "@jest/react-is-18": "npm:react-is@^18.3.1", "@jest/react-is-19": "npm:react-is@^19.2.5", "@jest/schemas": "30.5.0", "ansi-styles": "^5.2.0" } }, "sha512-byhRAPguVKMQIj4kjJwJ5lAskVhfuiSdiYl/aLTWpgkGEmic2jYhJh1yE9ih8Ox44Xg9ccCT11/S6QrzSJuNrg=="], + "@types/better-sqlite3/@types/node": ["@types/node@24.12.0", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-GYDxsZi3ChgmckRT9HPU0WEhKLP08ev/Yfcq2AstjrDASOYCSXeyjDsHg4v5t4jOj7cyDX3vmprafKlWIG9MXQ=="], "@types/graceful-fs/@types/node": ["@types/node@24.12.0", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-GYDxsZi3ChgmckRT9HPU0WEhKLP08ev/Yfcq2AstjrDASOYCSXeyjDsHg4v5t4jOj7cyDX3vmprafKlWIG9MXQ=="], + "@types/jsdom/@types/node": ["@types/node@24.12.0", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-GYDxsZi3ChgmckRT9HPU0WEhKLP08ev/Yfcq2AstjrDASOYCSXeyjDsHg4v5t4jOj7cyDX3vmprafKlWIG9MXQ=="], + + "@types/jsdom/parse5": ["parse5@7.3.0", "", { "dependencies": { "entities": "^6.0.0" } }, "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw=="], + "@types/pg/@types/node": ["@types/node@24.12.0", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-GYDxsZi3ChgmckRT9HPU0WEhKLP08ev/Yfcq2AstjrDASOYCSXeyjDsHg4v5t4jOj7cyDX3vmprafKlWIG9MXQ=="], "@typescript-eslint/eslint-plugin/ignore": ["ignore@7.0.5", "", {}, "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg=="], @@ -3690,8 +3888,6 @@ "chromium-edge-launcher/rimraf": ["rimraf@3.0.2", "", { "dependencies": { "glob": "^7.1.3" }, "bin": { "rimraf": "bin.js" } }, "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA=="], - "cliui/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], - "common-ui/react-native-pager-view": ["react-native-pager-view@6.9.1", "", { "peerDependencies": { "react": "*", "react-native": "*" } }, "sha512-uUT0MMMbNtoSbxe9pRvdJJKEi9snjuJ3fXlZhG8F2vVMOBJVt/AFtqMPUHu9yMflmqOr08PewKzj9EPl/Yj+Gw=="], "common-ui/zustand": ["zustand@5.0.13", "", { "peerDependencies": { "@types/react": ">=18.0.0", "immer": ">=9.0.6", "react": ">=18.0.0", "use-sync-external-store": ">=1.2.0" }, "optionalPeers": ["@types/react", "immer", "react", "use-sync-external-store"] }, "sha512-efI2tVaVQPqtOh114loML/Z80Y4NP3yc+Ff0fYiZJPauNeWZeIp/bRFD7I9bfmCOYBh/PHxlglQ9+wvlwnPikQ=="], @@ -3710,6 +3906,8 @@ "cosmiconfig/js-yaml": ["js-yaml@3.14.2", "", { "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg=="], + "cosmiconfig/parse-json": ["parse-json@4.0.0", "", { "dependencies": { "error-ex": "^1.3.1", "json-parse-better-errors": "^1.0.1" } }, "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw=="], + "css-tree/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="], "cssstyle/css-tree": ["css-tree@3.2.1", "", { "dependencies": { "mdn-data": "2.27.1", "source-map-js": "^1.2.1" } }, "sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA=="], @@ -3718,14 +3916,20 @@ "dom-serializer/entities": ["entities@4.5.0", "", {}, "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw=="], + "domexception/webidl-conversions": ["webidl-conversions@7.0.0", "", {}, "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g=="], + "dotenv-expand/dotenv": ["dotenv@16.4.7", "", {}, "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ=="], "encoding-sniffer/iconv-lite": ["iconv-lite@0.6.3", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw=="], + "encoding-sniffer/whatwg-encoding": ["whatwg-encoding@3.1.1", "", { "dependencies": { "iconv-lite": "0.6.3" } }, "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ=="], + "env-runner/exsolve": ["exsolve@1.1.1", "", {}, "sha512-9U/jZUgjnSGyntRr6y5Muu1MJcwFl6kPu7k8qLF0IMNfLqvw0NZ4nnVDq0RVoZ0RvCyumib4Ez3KYrVfilrw+g=="], "error-ex/is-arrayish": ["is-arrayish@0.2.1", "", {}, "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg=="], + "escodegen/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="], + "eslint-import-resolver-node/debug": ["debug@3.2.7", "", { "dependencies": { "ms": "^2.1.1" } }, "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ=="], "eslint-import-resolver-typescript/tinyglobby": ["tinyglobby@0.2.15", "", { "dependencies": { "fdir": "^6.5.0", "picomatch": "^4.0.3" } }, "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ=="], @@ -3736,6 +3940,12 @@ "eslint-plugin-react/resolve": ["resolve@2.0.0-next.6", "", { "dependencies": { "es-errors": "^1.3.0", "is-core-module": "^2.16.1", "node-exports-info": "^1.6.0", "object-keys": "^1.1.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" } }, "sha512-3JmVl5hMGtJ3kMmB3zi3DL25KfkCEyy3Tw7Gmw7z5w8M9WlwoPFnIvwChzu1+cF3iaK3sp18hhPz8ANeimdJfA=="], + "execa/signal-exit": ["signal-exit@3.0.7", "", {}, "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="], + + "expect/jest-matcher-utils": ["jest-matcher-utils@29.7.0", "", { "dependencies": { "chalk": "^4.0.0", "jest-diff": "^29.7.0", "jest-get-type": "^29.6.3", "pretty-format": "^29.7.0" } }, "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g=="], + + "expo/babel-preset-expo": ["babel-preset-expo@13.2.5", "", { "dependencies": { "@babel/helper-module-imports": "^7.25.9", "@babel/plugin-proposal-decorators": "^7.12.9", "@babel/plugin-proposal-export-default-from": "^7.24.7", "@babel/plugin-syntax-export-default-from": "^7.24.7", "@babel/plugin-transform-export-namespace-from": "^7.25.9", "@babel/plugin-transform-flow-strip-types": "^7.25.2", "@babel/plugin-transform-modules-commonjs": "^7.24.8", "@babel/plugin-transform-object-rest-spread": "^7.24.7", "@babel/plugin-transform-parameters": "^7.24.7", "@babel/plugin-transform-private-methods": "^7.24.7", "@babel/plugin-transform-private-property-in-object": "^7.24.7", "@babel/plugin-transform-runtime": "^7.24.7", "@babel/preset-react": "^7.22.15", "@babel/preset-typescript": "^7.23.0", "@react-native/babel-preset": "0.79.6", "babel-plugin-react-native-web": "~0.19.13", "babel-plugin-syntax-hermes-parser": "^0.25.1", "babel-plugin-transform-flow-enums": "^0.0.2", "debug": "^4.3.4", "react-refresh": "^0.14.2", "resolve-from": "^5.0.0" }, "peerDependencies": { "babel-plugin-react-compiler": "^19.0.0-beta-e993439-20250405" }, "optionalPeers": ["babel-plugin-react-compiler"] }, "sha512-YjVkP1bOLO2OgR2fyCedruYMPR7GFbAtCvvWITBW1UAp6e3ACYZtN6uoqkXgXP6PHQkb6M7qf2vZreBPEZK38A=="], + "expo-dev-launcher/ajv": ["ajv@8.11.0", "", { "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2", "uri-js": "^4.2.2" } }, "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg=="], "expo-modules-autolinking/commander": ["commander@7.2.0", "", {}, "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw=="], @@ -3796,16 +4006,58 @@ "is-expression/acorn": ["acorn@7.4.1", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A=="], + "istanbul-lib-source-maps/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="], + + "jest-circus/@types/node": ["@types/node@24.12.0", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-GYDxsZi3ChgmckRT9HPU0WEhKLP08ev/Yfcq2AstjrDASOYCSXeyjDsHg4v5t4jOj7cyDX3vmprafKlWIG9MXQ=="], + + "jest-circus/jest-matcher-utils": ["jest-matcher-utils@29.7.0", "", { "dependencies": { "chalk": "^4.0.0", "jest-diff": "^29.7.0", "jest-get-type": "^29.6.3", "pretty-format": "^29.7.0" } }, "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g=="], + + "jest-config/deepmerge": ["deepmerge@4.3.1", "", {}, "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A=="], + + "jest-diff/pretty-format": ["pretty-format@30.5.1", "", { "dependencies": { "@jest/react-is-18": "npm:react-is@^18.3.1", "@jest/react-is-19": "npm:react-is@^19.2.5", "@jest/schemas": "30.5.0", "ansi-styles": "^5.2.0" } }, "sha512-byhRAPguVKMQIj4kjJwJ5lAskVhfuiSdiYl/aLTWpgkGEmic2jYhJh1yE9ih8Ox44Xg9ccCT11/S6QrzSJuNrg=="], + + "jest-environment-jsdom/@types/node": ["@types/node@24.12.0", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-GYDxsZi3ChgmckRT9HPU0WEhKLP08ev/Yfcq2AstjrDASOYCSXeyjDsHg4v5t4jOj7cyDX3vmprafKlWIG9MXQ=="], + + "jest-environment-jsdom/jsdom": ["jsdom@20.0.3", "", { "dependencies": { "abab": "^2.0.6", "acorn": "^8.8.1", "acorn-globals": "^7.0.0", "cssom": "^0.5.0", "cssstyle": "^2.3.0", "data-urls": "^3.0.2", "decimal.js": "^10.4.2", "domexception": "^4.0.0", "escodegen": "^2.0.0", "form-data": "^4.0.0", "html-encoding-sniffer": "^3.0.0", "http-proxy-agent": "^5.0.0", "https-proxy-agent": "^5.0.1", "is-potential-custom-element-name": "^1.0.1", "nwsapi": "^2.2.2", "parse5": "^7.1.1", "saxes": "^6.0.0", "symbol-tree": "^3.2.4", "tough-cookie": "^4.1.2", "w3c-xmlserializer": "^4.0.0", "webidl-conversions": "^7.0.0", "whatwg-encoding": "^2.0.0", "whatwg-mimetype": "^3.0.0", "whatwg-url": "^11.0.0", "ws": "^8.11.0", "xml-name-validator": "^4.0.0" }, "peerDependencies": { "canvas": "^2.5.0" }, "optionalPeers": ["canvas"] }, "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ=="], + "jest-environment-node/@types/node": ["@types/node@24.12.0", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-GYDxsZi3ChgmckRT9HPU0WEhKLP08ev/Yfcq2AstjrDASOYCSXeyjDsHg4v5t4jOj7cyDX3vmprafKlWIG9MXQ=="], "jest-haste-map/@types/node": ["@types/node@24.12.0", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-GYDxsZi3ChgmckRT9HPU0WEhKLP08ev/Yfcq2AstjrDASOYCSXeyjDsHg4v5t4jOj7cyDX3vmprafKlWIG9MXQ=="], + "jest-matcher-utils/pretty-format": ["pretty-format@30.5.1", "", { "dependencies": { "@jest/react-is-18": "npm:react-is@^18.3.1", "@jest/react-is-19": "npm:react-is@^19.2.5", "@jest/schemas": "30.5.0", "ansi-styles": "^5.2.0" } }, "sha512-byhRAPguVKMQIj4kjJwJ5lAskVhfuiSdiYl/aLTWpgkGEmic2jYhJh1yE9ih8Ox44Xg9ccCT11/S6QrzSJuNrg=="], + "jest-mock/@types/node": ["@types/node@24.12.0", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-GYDxsZi3ChgmckRT9HPU0WEhKLP08ev/Yfcq2AstjrDASOYCSXeyjDsHg4v5t4jOj7cyDX3vmprafKlWIG9MXQ=="], + "jest-runner/@types/node": ["@types/node@24.12.0", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-GYDxsZi3ChgmckRT9HPU0WEhKLP08ev/Yfcq2AstjrDASOYCSXeyjDsHg4v5t4jOj7cyDX3vmprafKlWIG9MXQ=="], + + "jest-runner/source-map-support": ["source-map-support@0.5.13", "", { "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" } }, "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w=="], + + "jest-runtime/@types/node": ["@types/node@24.12.0", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-GYDxsZi3ChgmckRT9HPU0WEhKLP08ev/Yfcq2AstjrDASOYCSXeyjDsHg4v5t4jOj7cyDX3vmprafKlWIG9MXQ=="], + + "jest-runtime/strip-bom": ["strip-bom@4.0.0", "", {}, "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w=="], + + "jest-snapshot/jest-diff": ["jest-diff@29.7.0", "", { "dependencies": { "chalk": "^4.0.0", "diff-sequences": "^29.6.3", "jest-get-type": "^29.6.3", "pretty-format": "^29.7.0" } }, "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw=="], + + "jest-snapshot/jest-matcher-utils": ["jest-matcher-utils@29.7.0", "", { "dependencies": { "chalk": "^4.0.0", "jest-diff": "^29.7.0", "jest-get-type": "^29.6.3", "pretty-format": "^29.7.0" } }, "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g=="], + + "jest-snapshot/semver": ["semver@7.7.4", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA=="], + "jest-util/@types/node": ["@types/node@24.12.0", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-GYDxsZi3ChgmckRT9HPU0WEhKLP08ev/Yfcq2AstjrDASOYCSXeyjDsHg4v5t4jOj7cyDX3vmprafKlWIG9MXQ=="], "jest-util/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], + "jest-watch-select-projects/chalk": ["chalk@3.0.0", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg=="], + + "jest-watch-typeahead/ansi-escapes": ["ansi-escapes@6.2.1", "", {}, "sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig=="], + + "jest-watch-typeahead/slash": ["slash@5.1.0", "", {}, "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg=="], + + "jest-watch-typeahead/strip-ansi": ["strip-ansi@7.2.0", "", { "dependencies": { "ansi-regex": "^6.2.2" } }, "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w=="], + + "jest-watcher/@types/node": ["@types/node@24.12.0", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-GYDxsZi3ChgmckRT9HPU0WEhKLP08ev/Yfcq2AstjrDASOYCSXeyjDsHg4v5t4jOj7cyDX3vmprafKlWIG9MXQ=="], + + "jest-watcher/string-length": ["string-length@4.0.2", "", { "dependencies": { "char-regex": "^1.0.2", "strip-ansi": "^6.0.0" } }, "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ=="], + "jest-worker/@types/node": ["@types/node@24.12.0", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-GYDxsZi3ChgmckRT9HPU0WEhKLP08ev/Yfcq2AstjrDASOYCSXeyjDsHg4v5t4jOj7cyDX3vmprafKlWIG9MXQ=="], "jest-worker/supports-color": ["supports-color@8.1.1", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q=="], @@ -3818,6 +4070,8 @@ "log-symbols/chalk": ["chalk@2.4.2", "", { "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" } }, "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ=="], + "make-dir/semver": ["semver@7.7.4", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA=="], + "metro/ci-info": ["ci-info@2.0.0", "", {}, "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ=="], "metro/hermes-parser": ["hermes-parser@0.29.1", "", { "dependencies": { "hermes-estree": "0.29.1" } }, "sha512-xBHWmUtRC5e/UL0tI7Ivt2riA/YBq9+SiYFU7C1oBa/j2jYGlIF9043oak1F47ihuDIxQ5nbsKueYJDRY02UgA=="], @@ -3844,16 +4098,22 @@ "ora/chalk": ["chalk@2.4.2", "", { "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" } }, "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ=="], + "ora/strip-ansi": ["strip-ansi@5.2.0", "", { "dependencies": { "ansi-regex": "^4.1.0" } }, "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA=="], + "parse5-htmlparser2-tree-adapter/parse5": ["parse5@7.3.0", "", { "dependencies": { "entities": "^6.0.0" } }, "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw=="], "parse5-parser-stream/parse5": ["parse5@7.3.0", "", { "dependencies": { "entities": "^6.0.0" } }, "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw=="], "path-scurry/lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], + "pkg-dir/find-up": ["find-up@4.1.0", "", { "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" } }, "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw=="], + "plist/xmlbuilder": ["xmlbuilder@15.1.1", "", {}, "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg=="], "pretty-format/ansi-styles": ["ansi-styles@5.2.0", "", {}, "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA=="], + "pretty-format/react-is": ["react-is@18.3.1", "", {}, "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg=="], + "prop-types/react-is": ["react-is@16.13.1", "", {}, "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="], "rc/ini": ["ini@1.3.8", "", {}, "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="], @@ -3878,10 +4138,14 @@ "react-native-web/memoize-one": ["memoize-one@6.0.0", "", {}, "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw=="], + "react-test-renderer/scheduler": ["scheduler@0.25.0", "", {}, "sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA=="], + "readdirp/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], "requireg/resolve": ["resolve@1.7.1", "", { "dependencies": { "path-parse": "^1.0.5" } }, "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw=="], + "restore-cursor/onetime": ["onetime@2.0.1", "", { "dependencies": { "mimic-fn": "^1.0.0" } }, "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ=="], + "restore-cursor/signal-exit": ["signal-exit@3.0.7", "", {}, "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="], "rimraf/glob": ["glob@13.0.6", "", { "dependencies": { "minimatch": "^10.2.2", "minipass": "^7.1.3", "path-scurry": "^2.0.2" } }, "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw=="], @@ -3904,15 +4168,13 @@ "stack-utils/escape-string-regexp": ["escape-string-regexp@2.0.0", "", {}, "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w=="], + "stacktrace-gps/source-map": ["source-map@0.5.6", "", {}, "sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA=="], + "stacktrace-parser/type-fest": ["type-fest@0.7.1", "", {}, "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg=="], "stats-gl/three": ["three@0.170.0", "", {}, "sha512-FQK+LEpYc0fBD+J8g6oSEyyNzjp+Q7Ks1C568WWaoMRLW+TkNNWmenWeGgJjV105Gd+p/2ql1ZcjYvNiPZBhuQ=="], - "string-width/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], - - "string-width-cjs/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], - - "strip-ansi/ansi-regex": ["ansi-regex@4.1.1", "", {}, "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g=="], + "string-length/strip-ansi": ["strip-ansi@7.2.0", "", { "dependencies": { "ansi-regex": "^6.2.2" } }, "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w=="], "sucrase/commander": ["commander@4.1.1", "", {}, "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA=="], @@ -3984,10 +4246,6 @@ "wrangler/esbuild": ["esbuild@0.27.3", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.27.3", "@esbuild/android-arm": "0.27.3", "@esbuild/android-arm64": "0.27.3", "@esbuild/android-x64": "0.27.3", "@esbuild/darwin-arm64": "0.27.3", "@esbuild/darwin-x64": "0.27.3", "@esbuild/freebsd-arm64": "0.27.3", "@esbuild/freebsd-x64": "0.27.3", "@esbuild/linux-arm": "0.27.3", "@esbuild/linux-arm64": "0.27.3", "@esbuild/linux-ia32": "0.27.3", "@esbuild/linux-loong64": "0.27.3", "@esbuild/linux-mips64el": "0.27.3", "@esbuild/linux-ppc64": "0.27.3", "@esbuild/linux-riscv64": "0.27.3", "@esbuild/linux-s390x": "0.27.3", "@esbuild/linux-x64": "0.27.3", "@esbuild/netbsd-arm64": "0.27.3", "@esbuild/netbsd-x64": "0.27.3", "@esbuild/openbsd-arm64": "0.27.3", "@esbuild/openbsd-x64": "0.27.3", "@esbuild/openharmony-arm64": "0.27.3", "@esbuild/sunos-x64": "0.27.3", "@esbuild/win32-arm64": "0.27.3", "@esbuild/win32-ia32": "0.27.3", "@esbuild/win32-x64": "0.27.3" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg=="], - "wrap-ansi/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], - - "wrap-ansi-cjs/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], - "write-file-atomic/signal-exit": ["signal-exit@3.0.7", "", {}, "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="], "youch/cookie": ["cookie@1.1.1", "", {}, "sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ=="], @@ -4088,10 +4346,20 @@ "@istanbuljs/load-nyc-config/js-yaml/argparse": ["argparse@1.0.10", "", { "dependencies": { "sprintf-js": "~1.0.2" } }, "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg=="], + "@jest/console/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], + + "@jest/core/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], + "@jest/environment/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], "@jest/fake-timers/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], + "@jest/reporters/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], + + "@jest/reporters/istanbul-lib-instrument/semver": ["semver@7.7.4", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA=="], + + "@jest/reporters/string-length/char-regex": ["char-regex@1.0.2", "", {}, "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw=="], + "@jest/types/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], "@packages/db_helper_postgres/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], @@ -4106,10 +4374,18 @@ "@tanstack/router-devtools/@tanstack/react-router-devtools/@tanstack/router-devtools-core": ["@tanstack/router-devtools-core@1.166.9", "", { "dependencies": { "clsx": "^2.1.1", "goober": "^2.1.16", "tiny-invariant": "^1.3.3" }, "peerDependencies": { "@tanstack/router-core": "^1.167.2", "csstype": "^3.0.10" }, "optionalPeers": ["csstype"] }, "sha512-PNlA7GmOUX9wY7LUG709Pk3Lg33dfHBztQwzjzrOiOsuf4ggp2R6bwarF8nYGNjG79z/MaB5PN+5yvkCVk8jGw=="], + "@testing-library/react-native/pretty-format/@jest/schemas": ["@jest/schemas@30.5.0", "", { "dependencies": { "@sinclair/typebox": "^0.34.0" } }, "sha512-/hunigyNpc4RCjC0VaW3f5RCUZVM2+WQ65qP7z083Gmvac7or2LI50XVNOtE4YPgBpV0yxYiAgorAPGniCoJmg=="], + + "@testing-library/react-native/pretty-format/ansi-styles": ["ansi-styles@5.2.0", "", {}, "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA=="], + "@types/better-sqlite3/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], "@types/graceful-fs/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], + "@types/jsdom/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], + + "@types/jsdom/parse5/entities": ["entities@6.0.1", "", {}, "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g=="], + "@types/pg/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], "@typescript-eslint/typescript-estree/minimatch/brace-expansion": ["brace-expansion@5.0.4", "", { "dependencies": { "balanced-match": "^4.0.2" } }, "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg=="], @@ -4166,12 +4442,16 @@ "eslint-import-resolver-typescript/tinyglobby/picomatch": ["picomatch@4.0.3", "", {}, "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q=="], + "expect/jest-matcher-utils/jest-diff": ["jest-diff@29.7.0", "", { "dependencies": { "chalk": "^4.0.0", "diff-sequences": "^29.6.3", "jest-get-type": "^29.6.3", "pretty-format": "^29.7.0" } }, "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw=="], + "expo-dev-launcher/ajv/json-schema-traverse": ["json-schema-traverse@1.0.0", "", {}, "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="], "expo-modules-autolinking/glob/minimatch": ["minimatch@9.0.9", "", { "dependencies": { "brace-expansion": "^2.0.2" } }, "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg=="], "expo-updates/glob/minimatch": ["minimatch@9.0.9", "", { "dependencies": { "brace-expansion": "^2.0.2" } }, "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg=="], + "expo/babel-preset-expo/@react-native/babel-preset": ["@react-native/babel-preset@0.79.6", "", { "dependencies": { "@babel/core": "^7.25.2", "@babel/plugin-proposal-export-default-from": "^7.24.7", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-default-from": "^7.24.7", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", "@babel/plugin-syntax-optional-chaining": "^7.8.3", "@babel/plugin-transform-arrow-functions": "^7.24.7", "@babel/plugin-transform-async-generator-functions": "^7.25.4", "@babel/plugin-transform-async-to-generator": "^7.24.7", "@babel/plugin-transform-block-scoping": "^7.25.0", "@babel/plugin-transform-class-properties": "^7.25.4", "@babel/plugin-transform-classes": "^7.25.4", "@babel/plugin-transform-computed-properties": "^7.24.7", "@babel/plugin-transform-destructuring": "^7.24.8", "@babel/plugin-transform-flow-strip-types": "^7.25.2", "@babel/plugin-transform-for-of": "^7.24.7", "@babel/plugin-transform-function-name": "^7.25.1", "@babel/plugin-transform-literals": "^7.25.2", "@babel/plugin-transform-logical-assignment-operators": "^7.24.7", "@babel/plugin-transform-modules-commonjs": "^7.24.8", "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.7", "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.7", "@babel/plugin-transform-numeric-separator": "^7.24.7", "@babel/plugin-transform-object-rest-spread": "^7.24.7", "@babel/plugin-transform-optional-catch-binding": "^7.24.7", "@babel/plugin-transform-optional-chaining": "^7.24.8", "@babel/plugin-transform-parameters": "^7.24.7", "@babel/plugin-transform-private-methods": "^7.24.7", "@babel/plugin-transform-private-property-in-object": "^7.24.7", "@babel/plugin-transform-react-display-name": "^7.24.7", "@babel/plugin-transform-react-jsx": "^7.25.2", "@babel/plugin-transform-react-jsx-self": "^7.24.7", "@babel/plugin-transform-react-jsx-source": "^7.24.7", "@babel/plugin-transform-regenerator": "^7.24.7", "@babel/plugin-transform-runtime": "^7.24.7", "@babel/plugin-transform-shorthand-properties": "^7.24.7", "@babel/plugin-transform-spread": "^7.24.7", "@babel/plugin-transform-sticky-regex": "^7.24.7", "@babel/plugin-transform-typescript": "^7.25.2", "@babel/plugin-transform-unicode-regex": "^7.24.7", "@babel/template": "^7.25.0", "@react-native/babel-plugin-codegen": "0.79.6", "babel-plugin-syntax-hermes-parser": "0.25.1", "babel-plugin-transform-flow-enums": "^0.0.2", "react-refresh": "^0.14.0" } }, "sha512-H+FRO+r2Ql6b5IwfE0E7D52JhkxjeGSBSUpCXAI5zQ60zSBJ54Hwh2bBJOohXWl4J+C7gKYSAd2JHMUETu+c/A=="], + "express/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], "fallback-ui/tailwindcss/arg": ["arg@5.0.2", "", {}, "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg=="], @@ -4188,14 +4468,66 @@ "global-prefix/which/isexe": ["isexe@3.1.5", "", {}, "sha512-6B3tLtFqtQS4ekarvLVMZ+X+VlvQekbe4taUkf/rhVO3d/h0M2rfARm/pXLcPEsjjMsFgrFgSrhQIxcSVrBz8w=="], + "jest-circus/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], + + "jest-circus/jest-matcher-utils/jest-diff": ["jest-diff@29.7.0", "", { "dependencies": { "chalk": "^4.0.0", "diff-sequences": "^29.6.3", "jest-get-type": "^29.6.3", "pretty-format": "^29.7.0" } }, "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw=="], + + "jest-diff/pretty-format/@jest/schemas": ["@jest/schemas@30.5.0", "", { "dependencies": { "@sinclair/typebox": "^0.34.0" } }, "sha512-/hunigyNpc4RCjC0VaW3f5RCUZVM2+WQ65qP7z083Gmvac7or2LI50XVNOtE4YPgBpV0yxYiAgorAPGniCoJmg=="], + + "jest-diff/pretty-format/ansi-styles": ["ansi-styles@5.2.0", "", {}, "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA=="], + + "jest-environment-jsdom/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], + + "jest-environment-jsdom/jsdom/cssstyle": ["cssstyle@2.3.0", "", { "dependencies": { "cssom": "~0.3.6" } }, "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A=="], + + "jest-environment-jsdom/jsdom/data-urls": ["data-urls@3.0.2", "", { "dependencies": { "abab": "^2.0.6", "whatwg-mimetype": "^3.0.0", "whatwg-url": "^11.0.0" } }, "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ=="], + + "jest-environment-jsdom/jsdom/html-encoding-sniffer": ["html-encoding-sniffer@3.0.0", "", { "dependencies": { "whatwg-encoding": "^2.0.0" } }, "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA=="], + + "jest-environment-jsdom/jsdom/http-proxy-agent": ["http-proxy-agent@5.0.0", "", { "dependencies": { "@tootallnate/once": "2", "agent-base": "6", "debug": "4" } }, "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w=="], + + "jest-environment-jsdom/jsdom/https-proxy-agent": ["https-proxy-agent@5.0.1", "", { "dependencies": { "agent-base": "6", "debug": "4" } }, "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA=="], + + "jest-environment-jsdom/jsdom/parse5": ["parse5@7.3.0", "", { "dependencies": { "entities": "^6.0.0" } }, "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw=="], + + "jest-environment-jsdom/jsdom/tough-cookie": ["tough-cookie@4.1.4", "", { "dependencies": { "psl": "^1.1.33", "punycode": "^2.1.1", "universalify": "^0.2.0", "url-parse": "^1.5.3" } }, "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag=="], + + "jest-environment-jsdom/jsdom/w3c-xmlserializer": ["w3c-xmlserializer@4.0.0", "", { "dependencies": { "xml-name-validator": "^4.0.0" } }, "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw=="], + + "jest-environment-jsdom/jsdom/webidl-conversions": ["webidl-conversions@7.0.0", "", {}, "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g=="], + + "jest-environment-jsdom/jsdom/whatwg-mimetype": ["whatwg-mimetype@3.0.0", "", {}, "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q=="], + + "jest-environment-jsdom/jsdom/whatwg-url": ["whatwg-url@11.0.0", "", { "dependencies": { "tr46": "^3.0.0", "webidl-conversions": "^7.0.0" } }, "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ=="], + + "jest-environment-jsdom/jsdom/ws": ["ws@8.20.1", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-It4dO0K5v//JtTXuPkfEOaI3uUN87iYPnqo/ZzqCoG3g8uhA66QUMs/SrM0YK7/NAu+r4LMh/9dq2A7k+rHs+w=="], + + "jest-environment-jsdom/jsdom/xml-name-validator": ["xml-name-validator@4.0.0", "", {}, "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw=="], + "jest-environment-node/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], "jest-haste-map/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], + "jest-matcher-utils/pretty-format/@jest/schemas": ["@jest/schemas@30.5.0", "", { "dependencies": { "@sinclair/typebox": "^0.34.0" } }, "sha512-/hunigyNpc4RCjC0VaW3f5RCUZVM2+WQ65qP7z083Gmvac7or2LI50XVNOtE4YPgBpV0yxYiAgorAPGniCoJmg=="], + + "jest-matcher-utils/pretty-format/ansi-styles": ["ansi-styles@5.2.0", "", {}, "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA=="], + "jest-mock/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], + "jest-runner/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], + + "jest-runner/source-map-support/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="], + + "jest-runtime/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], + "jest-util/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], + "jest-watch-typeahead/strip-ansi/ansi-regex": ["ansi-regex@6.2.2", "", {}, "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg=="], + + "jest-watcher/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], + + "jest-watcher/string-length/char-regex": ["char-regex@1.0.2", "", {}, "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw=="], + "jest-worker/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], "lighthouse-logger/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], @@ -4292,18 +4624,26 @@ "ora/chalk/supports-color": ["supports-color@5.5.0", "", { "dependencies": { "has-flag": "^3.0.0" } }, "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow=="], + "ora/strip-ansi/ansi-regex": ["ansi-regex@4.1.1", "", {}, "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g=="], + "parse5-htmlparser2-tree-adapter/parse5/entities": ["entities@6.0.1", "", {}, "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g=="], "parse5-parser-stream/parse5/entities": ["entities@6.0.1", "", {}, "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g=="], + "pkg-dir/find-up/locate-path": ["locate-path@5.0.0", "", { "dependencies": { "p-locate": "^4.1.0" } }, "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g=="], + "react-native-paper/color/color-convert": ["color-convert@1.9.3", "", { "dependencies": { "color-name": "1.1.3" } }, "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg=="], + "restore-cursor/onetime/mimic-fn": ["mimic-fn@1.2.0", "", {}, "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ=="], + "rimraf/glob/minimatch": ["minimatch@10.2.4", "", { "dependencies": { "brace-expansion": "^5.0.2" } }, "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg=="], "rimraf/glob/path-scurry": ["path-scurry@2.0.2", "", { "dependencies": { "lru-cache": "^11.0.0", "minipass": "^7.1.2" } }, "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg=="], "send/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], + "string-length/strip-ansi/ansi-regex": ["ansi-regex@6.2.2", "", {}, "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg=="], + "sucrase/glob/minimatch": ["minimatch@9.0.9", "", { "dependencies": { "brace-expansion": "^2.0.2" } }, "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg=="], "tsx/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.27.4", "", { "os": "aix", "cpu": "ppc64" }, "sha512-cQPwL2mp2nSmHHJlCyoXgHGhbEPMrEEU5xhkcy3Hs/O7nGZqEpZ2sUtLaL9MORLtDfRvVl2/3PAuEkYZH0Ty8Q=="], @@ -4444,6 +4784,8 @@ "@istanbuljs/load-nyc-config/find-up/locate-path/p-locate": ["p-locate@4.1.0", "", { "dependencies": { "p-limit": "^2.2.0" } }, "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A=="], + "@testing-library/react-native/pretty-format/@jest/schemas/@sinclair/typebox": ["@sinclair/typebox@0.34.52", "", {}, "sha512-XiMQh7qqVlxZzcVD+kkGMNGMzcTrDMLWI7S4x7z1MkCkbDPrekpZXEUK0eZqZFMuHQg2a2DZOcDIh9o5v3Gonw=="], + "@typescript-eslint/typescript-estree/minimatch/brace-expansion/balanced-match": ["balanced-match@4.0.4", "", {}, "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA=="], "@unrs/resolver-binding-wasm32-wasi/@napi-rs/wasm-runtime/@emnapi/core/@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.2.0", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-N10dEJNSsUx41Z6pZsXU8FjPjpBEplgH24sfkmITrBED1/U2Esum9F3lfLrMjKHHjmi557zQn7kR9R+XWXu5Rg=="], @@ -4520,6 +4862,22 @@ "expo-updates/glob/minimatch/brace-expansion": ["brace-expansion@2.0.2", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ=="], + "expo/babel-preset-expo/@react-native/babel-preset/@react-native/babel-plugin-codegen": ["@react-native/babel-plugin-codegen@0.79.6", "", { "dependencies": { "@babel/traverse": "^7.25.3", "@react-native/codegen": "0.79.6" } }, "sha512-CS5OrgcMPixOyUJ/Sk/HSsKsKgyKT5P7y3CojimOQzWqRZBmoQfxdST4ugj7n1H+ebM2IKqbgovApFbqXsoX0g=="], + + "jest-diff/pretty-format/@jest/schemas/@sinclair/typebox": ["@sinclair/typebox@0.34.52", "", {}, "sha512-XiMQh7qqVlxZzcVD+kkGMNGMzcTrDMLWI7S4x7z1MkCkbDPrekpZXEUK0eZqZFMuHQg2a2DZOcDIh9o5v3Gonw=="], + + "jest-environment-jsdom/jsdom/cssstyle/cssom": ["cssom@0.3.8", "", {}, "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg=="], + + "jest-environment-jsdom/jsdom/http-proxy-agent/agent-base": ["agent-base@6.0.2", "", { "dependencies": { "debug": "4" } }, "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ=="], + + "jest-environment-jsdom/jsdom/https-proxy-agent/agent-base": ["agent-base@6.0.2", "", { "dependencies": { "debug": "4" } }, "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ=="], + + "jest-environment-jsdom/jsdom/parse5/entities": ["entities@6.0.1", "", {}, "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g=="], + + "jest-environment-jsdom/jsdom/whatwg-url/tr46": ["tr46@3.0.0", "", { "dependencies": { "punycode": "^2.1.1" } }, "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA=="], + + "jest-matcher-utils/pretty-format/@jest/schemas/@sinclair/typebox": ["@sinclair/typebox@0.34.52", "", {}, "sha512-XiMQh7qqVlxZzcVD+kkGMNGMzcTrDMLWI7S4x7z1MkCkbDPrekpZXEUK0eZqZFMuHQg2a2DZOcDIh9o5v3Gonw=="], + "log-symbols/chalk/ansi-styles/color-convert": ["color-convert@1.9.3", "", { "dependencies": { "color-name": "1.1.3" } }, "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg=="], "log-symbols/chalk/supports-color/has-flag": ["has-flag@3.0.0", "", {}, "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw=="], @@ -4528,6 +4886,8 @@ "ora/chalk/supports-color/has-flag": ["has-flag@3.0.0", "", {}, "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw=="], + "pkg-dir/find-up/locate-path/p-locate": ["p-locate@4.1.0", "", { "dependencies": { "p-limit": "^2.2.0" } }, "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A=="], + "react-native-paper/color/color-convert/color-name": ["color-name@1.1.3", "", {}, "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="], "rimraf/glob/minimatch/brace-expansion": ["brace-expansion@5.0.4", "", { "dependencies": { "balanced-match": "^4.0.2" } }, "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg=="], @@ -4584,6 +4944,8 @@ "ora/chalk/ansi-styles/color-convert/color-name": ["color-name@1.1.3", "", {}, "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="], + "pkg-dir/find-up/locate-path/p-locate/p-limit": ["p-limit@2.3.0", "", { "dependencies": { "p-try": "^2.0.0" } }, "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w=="], + "rimraf/glob/minimatch/brace-expansion/balanced-match": ["balanced-match@4.0.4", "", {}, "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA=="], "web-ui/nitro/rolldown/@rolldown/binding-wasm32-wasi/@emnapi/core": ["@emnapi/core@1.11.0", "", { "dependencies": { "@emnapi/wasi-threads": "1.2.2", "tslib": "^2.4.0" } }, "sha512-l9Oo58x0HOP5znGzVhYW9U3e5wVuA4LAZU2AGezTmkhO1CgQRFDhDg4nneHsu/t3WniXg9QrG2nIXL/ZS8ln8Q=="], diff --git a/change-log.txt b/change-log.txt index 46e5568..054b74e 100644 --- a/change-log.txt +++ b/change-log.txt @@ -2539,3 +2539,139 @@ bar, then scroll to checkout-button and re-enter checkout. + +[2026-09-17 22:00:53] user-ui: jest test scaffold under apps/user-ui/tests. + +Adds a Jest (jest-expo) shell for integration testing the home page. No app +source changes and no rendered test bodies yet - just the runner wiring and an +empty shell spec to be filled in later. + +- tests/jest.config.js jest-expo preset, tsconfig-mirroring moduleNameMapper, + tests/setup.ts as setupFiles +- tests/setup.ts minimal mocks so a render can boot: expo-router, + safe-area-context, expo-image/linear-gradient, and a + partial common-ui override for useManualRefresh / + useMarkDataFetchers (useFocusEffect needs a nav container) +- tests/home.test.tsx shell spec (placeholder, no assertions) +- tests/tsconfig.json separate typecheck scope, extends app tsconfig +- package.json "test": "jest" and "test:typecheck" scripts +- .easignore excludes tests/ from the EAS upload archive +- metro.config.js resolver.blockList for tests/ (fail loud if app code + ever imports it) +- tsconfig.json exclude tests/ so app typecheck is unaffected + +[2026-09-17 22:08:48] user-ui: first home-page integration test (consts -> products.json). + +Fills the first shell case: mocks common.essentialConsts and asserts the page +requests https://assets.freshyo.in/api-cache/v-755/products.json. + +- tests/__fixtures__/essentialConsts.json batch envelope for common.essentialConsts +- tests/__fixtures__/products.json minimal { products, tags } +- tests/__fixtures__/availability.json minimal { availability } +- tests/mocks/api.ts setupApiMocks(): fetch (tRPC consts) + + axios.get (assets CDN) routing, fail-loud + on unmocked URLs; in-memory storage +- tests/setup.ts StorageServiceCasual added to the partial + common-ui mock (expo-secure-store is native) +- tests/home.test.tsx first real case: render Dashboard in a + QueryClientProvider and assert the axios call + +[2026-09-17 22:31:00] user-ui: first test green; setup constraints learned. + +Running the suite surfaced four non-obvious constraints, all now encoded in the +scaffold: + +1. jest must be pinned to 29 (jest-expo 53 rejects jest 30). +2. Do not partially mock the `common-ui` index and spread requireActual: + button.tsx imports back from `common-ui`, so the spread walks a + half-initialised module graph. The two refresh hooks are mocked by their own + module paths instead, with __esModule: true for the default-import interop. +3. No `typeof import('react-native')` type expressions in setup.ts: loading the + RN ambient globals from a type position there flips setTimeout to + NodeJS.Timeout and breaks packages/ui/src/components/bottom-dropdown.tsx. + Fixtures are imported as JSON rather than via fs for the same reason. +4. The render tree needs RefreshProvider (MyFlatList calls useRefresh) with the + QueryClient passed in. + +Verified: app tsc clean, tests tsc clean, `bun run test` 1 passed / 4 todo. + +[2026-09-17 22:44:00] user-ui: point tests at the populated mocks/ responses. + +tests/mocks/ now holds real API snapshots (149 products / 8 tags, 149 +availability rows, 8 slots with productAvailability, 5 stores). tests/mocks/api.ts +imports those instead of the placeholder __fixtures__ payloads and routes all four +CDN files (products/stores/slots/availability); unrouted URLs still throw. +Added STORES_URL and SLOTS_URL constants. Deleted the superseded +__fixtures__/products.json and __fixtures__/availability.json. + +Caveat recorded in api.ts: mock-slots-response.json is a snapshot of one real +day, and the home page filters out past slots, so slots need refreshing once +those deliveryTime values fall behind. + +(Ordering note: the edit landed before this log entry.) + +[2026-09-17 22:45:59] user-ui: freeze the clock in tests/setup.ts. + +jest.useFakeTimers({ now: Date.now() }) is installed for every test so the wall +clock cannot drift mid-run. The home page is time-sensitive (filters past slots +by dayjs().isAfter, flags slots "closing soon" within 4h), and the slot mocks +carry fixed deliveryTime values, so a drifting clock makes assertions flaky. +Frozen at suite start rather than a hard-coded instant. + +[2026-09-17 22:56:08] user-ui: give tests/tsconfig.json an explicit include. + +The IDE reported "Cannot find name 'describe'" in tests/home.test.tsx: the app +tsconfig excludes tests/ and VS Code's TS server did not follow the inherited +`include` from apps/user-ui/tsconfig.json, so the test file belonged to no +project and never saw the jest globals. Restated the include explicitly on +tests/tsconfig.json so the file is associated with this project. + +[2026-09-17 22:56:51] user-ui: drop tests/tsconfig.json, typecheck tests via the app project. + +The separate test project caused two problems: the IDE could not associate +tests/home.test.tsx with it (so `describe`/`it` were unresolved), and giving it +its own narrower `include` flipped setTimeout to NodeJS.Timeout, breaking +packages/ui/src/components/bottom-dropdown.tsx. The app tsconfig already resolves +jest globals (auto-included @types/jest) and typechecks tests cleanly, so tests +are now covered by apps/user-ui/tsconfig.json and the exclude of tests/ is gone. +test:typecheck now points at the app project. Keeping tests out of the build is +still enforced by metro.config.js blockList and .easignore, which is where it +actually matters. + +[2026-09-17 23:04:21] user-ui: pin the jest globals in tests/jest-env.d.ts. + +The editor still reported TS2593 (Cannot find name 'describe') even though +tests/home.test.tsx resolves @types/jest from the app project and the CLI +typecheck is clean. Added tests/jest-env.d.ts with a triple-slash reference to +jest so the globals are declared by an in-project file rather than relying on +ambient @types auto-inclusion, which survives an editor falling back to an +inferred project. + +[2026-09-17 23:08:31] user-ui: testIDs for the home tag strip and tag grid. + +Additive only, no render changes. Needed to assert tag and tag-product +visibility unambiguously: tag names and product names also appear in the main +product list, and there are two "Show More" buttons on the page (the tag grid's +and the pagination footer's), so text queries alone cannot scope an assertion to +the tag section. + +- app/(drawer)/(tabs)/home/index.tsx + TagTabStrip tab testID={`tag-tab-${route.key}`} + TagScene container testID={`tag-grid-${tagId}`} + TagScene expand button testID={`tag-show-more-${tagId}`} + ExploreProductItem testID={`tag-product-${item.id}`} + +[2026-09-17 23:11:00] user-ui: tag visibility tests in tests/home.test.tsx. + +Replaces the "tag tabs and products for the active tag" todo with two real cases: +- shows a tab for every tag (all 8, scoped with within() on tag-tab-*) +- shows every product of every tag, expanding each grid once + +The second walks every tag: presses its tab, asserts the 6-item preview is +visible, asserts the 7th is withheld (queryByTestId null), presses the tag's +Show More, then asserts all of that tag's products are visible. All 8 mock tags +have >6 products, so every iteration exercises the expansion path. Products are +resolved through the products cache (tag.productIds -> products), matching what +productsByTagId builds at runtime. + +(Ordering note: the spec edit landed before this log entry.)