@salla.sa/twilight-theme-engine 1.0.37 → 1.0.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. package/dist/{AddToCartForm-BAXWUVBW.js → AddToCartForm-GTGSQTZC.js} +4 -3
  2. package/dist/AddToCartForm-GTGSQTZC.js.map +1 -0
  3. package/dist/{BlogAuthorPage-C7ENIUKC.js → BlogAuthorPage-BEAHFND7.js} +8 -7
  4. package/dist/BlogAuthorPage-BEAHFND7.js.map +1 -0
  5. package/dist/{BlogCategoryPage-QODJTKFE.js → BlogCategoryPage-SABHZZVS.js} +8 -7
  6. package/dist/BlogCategoryPage-SABHZZVS.js.map +1 -0
  7. package/dist/{BlogPage-N5BKRIWD.js → BlogPage-TOQE5ZTO.js} +7 -6
  8. package/dist/BlogPage-TOQE5ZTO.js.map +1 -0
  9. package/dist/{BlogSinglePage-HVSCXCCV.js → BlogSinglePage-QOKI4OSO.js} +7 -6
  10. package/dist/BlogSinglePage-QOKI4OSO.js.map +1 -0
  11. package/dist/{BlogTagPage-YXYYHD5S.js → BlogTagPage-LX4SKB4Q.js} +8 -7
  12. package/dist/BlogTagPage-LX4SKB4Q.js.map +1 -0
  13. package/dist/{BrandsPage-UP3HKHGR.js → BrandsPage-MKCQBVR6.js} +7 -6
  14. package/dist/BrandsPage-MKCQBVR6.js.map +1 -0
  15. package/dist/{Breadcrumb-5464BOGG.js → Breadcrumb-7PHTPBML.js} +7 -6
  16. package/dist/Breadcrumb-7PHTPBML.js.map +1 -0
  17. package/dist/{CartItem-TARZW35A.js → CartItem-C7LTDYGZ.js} +7 -6
  18. package/dist/CartItem-C7LTDYGZ.js.map +1 -0
  19. package/dist/{CartSummary-2KSBKQM7.js → CartSummary-FIMQY76P.js} +7 -6
  20. package/dist/CartSummary-FIMQY76P.js.map +1 -0
  21. package/dist/{Copyright-2D7W6OS4.js → Copyright-6UKVLT47.js} +4 -3
  22. package/dist/{Copyright-2D7W6OS4.js.map → Copyright-6UKVLT47.js.map} +1 -1
  23. package/dist/{CustomerLayout-Z3JGXMO7.js → CustomerLayout-5OPILJB5.js} +7 -6
  24. package/dist/CustomerLayout-5OPILJB5.js.map +1 -0
  25. package/dist/{Footer-DFZFOH5E.js → Footer-PEYVKRYH.js} +7 -6
  26. package/dist/{Footer-DFZFOH5E.js.map → Footer-PEYVKRYH.js.map} +1 -1
  27. package/dist/{Header-CF5TQMWR.js → Header-VCJOSJZY.js} +5 -4
  28. package/dist/{Header-CF5TQMWR.js.map → Header-VCJOSJZY.js.map} +1 -1
  29. package/dist/{LoyaltyPage-TOXOPXEU.js → LoyaltyPage-X26UDO3B.js} +7 -6
  30. package/dist/LoyaltyPage-X26UDO3B.js.map +1 -0
  31. package/dist/{MainMenu-6VTPCMMJ.js → MainMenu-5N7BOYRS.js} +4 -3
  32. package/dist/MainMenu-5N7BOYRS.js.map +1 -0
  33. package/dist/{MasterLayout-PQ2XGL6A.js → MasterLayout-BAMH2YI7.js} +7 -6
  34. package/dist/{MasterLayout-PQ2XGL6A.js.map → MasterLayout-BAMH2YI7.js.map} +1 -1
  35. package/dist/{MobileMenu-UWDB2BHQ.js → MobileMenu-DTN23HGL.js} +7 -6
  36. package/dist/MobileMenu-DTN23HGL.js.map +1 -0
  37. package/dist/{NotificationsPage-3WUAFRTU.js → NotificationsPage-T34IOOX7.js} +7 -6
  38. package/dist/NotificationsPage-T34IOOX7.js.map +1 -0
  39. package/dist/{OrderSinglePage-T2UE2EJI.js → OrderSinglePage-ZVIWTFDX.js} +7 -6
  40. package/dist/OrderSinglePage-ZVIWTFDX.js.map +1 -0
  41. package/dist/{OrdersPage-762O24YK.js → OrdersPage-PTFAVBHI.js} +7 -6
  42. package/dist/OrdersPage-PTFAVBHI.js.map +1 -0
  43. package/dist/{PageSingle-Y6IVAY3E.js → PageSingle-OBUFVEIG.js} +4 -3
  44. package/dist/PageSingle-OBUFVEIG.js.map +1 -0
  45. package/dist/{ProductDetails-7G7QOLTB.js → ProductDetails-IFQCBWQQ.js} +4 -3
  46. package/dist/ProductDetails-IFQCBWQQ.js.map +1 -0
  47. package/dist/{ProfilePage-H2JWTJJY.js → ProfilePage-Z7VH4V7C.js} +7 -6
  48. package/dist/ProfilePage-Z7VH4V7C.js.map +1 -0
  49. package/dist/{SeoCartWidget-XYWATIV3.js → SeoCartWidget-W4NDM2TO.js} +7 -6
  50. package/dist/SeoCartWidget-W4NDM2TO.js.map +1 -0
  51. package/dist/{SettingsPage-WQX22FTS.js → SettingsPage-XBXP7R2T.js} +7 -6
  52. package/dist/SettingsPage-XBXP7R2T.js.map +1 -0
  53. package/dist/{StoreClosedNotification-TL4XY6OS.js → StoreClosedNotification-A5EGHXHA.js} +8 -7
  54. package/dist/{StoreClosedNotification-TL4XY6OS.js.map → StoreClosedNotification-A5EGHXHA.js.map} +1 -1
  55. package/dist/{TestimonialsPage-PWVTHBOS.js → TestimonialsPage-Q7TVGSFR.js} +4 -3
  56. package/dist/TestimonialsPage-Q7TVGSFR.js.map +1 -0
  57. package/dist/{ThankYouPage-C573J2KJ.js → ThankYouPage-5VPLSMRP.js} +7 -6
  58. package/dist/ThankYouPage-5VPLSMRP.js.map +1 -0
  59. package/dist/{WalletPage-7JE6PELL.js → WalletPage-IR37KTVM.js} +7 -6
  60. package/dist/WalletPage-IR37KTVM.js.map +1 -0
  61. package/dist/{WishlistPage-XTQ6IRG7.js → WishlistPage-ETWCCI6G.js} +9 -7
  62. package/dist/WishlistPage-ETWCCI6G.js.map +1 -0
  63. package/dist/api/product.d.ts +40 -12
  64. package/dist/api/product.d.ts.map +1 -1
  65. package/dist/api/product.js +1 -1
  66. package/dist/api/wishlist.d.ts +10 -4
  67. package/dist/api/wishlist.d.ts.map +1 -1
  68. package/dist/api/wishlist.js +5 -1
  69. package/dist/{chunk-SSRNIBVV.js → chunk-3U26OMNO.js} +4 -4
  70. package/dist/chunk-3U26OMNO.js.map +1 -0
  71. package/dist/{chunk-4PLGRQAS.js → chunk-4ZTHLZOJ.js} +3 -3
  72. package/dist/{chunk-4PLGRQAS.js.map → chunk-4ZTHLZOJ.js.map} +1 -1
  73. package/dist/{chunk-CZS4ZHQK.js → chunk-AA2F3EBJ.js} +4 -24
  74. package/dist/chunk-AA2F3EBJ.js.map +1 -0
  75. package/dist/{chunk-5R5IGGI3.js → chunk-B7EPMCWM.js} +3 -3
  76. package/dist/{chunk-5R5IGGI3.js.map → chunk-B7EPMCWM.js.map} +1 -1
  77. package/dist/chunk-DV2XH7GO.js +14 -0
  78. package/dist/{chunk-BK4VEUF3.js.map → chunk-DV2XH7GO.js.map} +1 -1
  79. package/dist/{chunk-YOA3UVDE.js → chunk-EG52TSNH.js} +4 -4
  80. package/dist/{chunk-YOA3UVDE.js.map → chunk-EG52TSNH.js.map} +1 -1
  81. package/dist/{chunk-EFHSAWDQ.js → chunk-JOIPJKEX.js} +7 -7
  82. package/dist/{chunk-EFHSAWDQ.js.map → chunk-JOIPJKEX.js.map} +1 -1
  83. package/dist/{chunk-KLTQ2UST.js → chunk-KOZYZQH4.js} +8 -5
  84. package/dist/chunk-KOZYZQH4.js.map +1 -0
  85. package/dist/chunk-RN3MT564.js +23 -0
  86. package/dist/chunk-RN3MT564.js.map +1 -0
  87. package/dist/{chunk-FKOBOGLQ.js → chunk-U3JM5FWK.js} +4 -4
  88. package/dist/{chunk-FKOBOGLQ.js.map → chunk-U3JM5FWK.js.map} +1 -1
  89. package/dist/{chunk-ZZA7L3RI.js → chunk-VOOOQPAH.js} +6 -6
  90. package/dist/{chunk-ZZA7L3RI.js.map → chunk-VOOOQPAH.js.map} +1 -1
  91. package/dist/{chunk-63WNORBK.js → chunk-WQLC7PNT.js} +5 -5
  92. package/dist/{chunk-63WNORBK.js.map → chunk-WQLC7PNT.js.map} +1 -1
  93. package/dist/{chunk-5FH6E2FQ.js → chunk-X3B7BDP7.js} +7 -3
  94. package/dist/chunk-X3B7BDP7.js.map +1 -0
  95. package/dist/chunk-XLJPUFN4.js +141 -0
  96. package/dist/chunk-XLJPUFN4.js.map +1 -0
  97. package/dist/{chunk-XLVAVCUV.js → chunk-ZFLBHEHI.js} +5 -5
  98. package/dist/{chunk-XLVAVCUV.js.map → chunk-ZFLBHEHI.js.map} +1 -1
  99. package/dist/components/cart/index.js +1 -1
  100. package/dist/components/common/index.js +2 -1
  101. package/dist/components/drawer/index.js +5 -4
  102. package/dist/components/home/index.js +8 -7
  103. package/dist/components/layout/index.js +5 -5
  104. package/dist/components/product/index.js +6 -5
  105. package/dist/components/store/index.js +7 -6
  106. package/dist/components/store/index.js.map +1 -1
  107. package/dist/{document-class-5BBGX5LN.js → document-class-KL3XOJBW.js} +4 -3
  108. package/dist/{document-class-5BBGX5LN.js.map → document-class-KL3XOJBW.js.map} +1 -1
  109. package/dist/hooks/index.d.ts +1 -1
  110. package/dist/hooks/index.d.ts.map +1 -1
  111. package/dist/hooks/index.js +5 -4
  112. package/dist/hooks/useGtm.js +5 -4
  113. package/dist/hooks/useMoney.js +5 -4
  114. package/dist/hooks/useProduct.d.ts +12 -2
  115. package/dist/hooks/useProduct.d.ts.map +1 -1
  116. package/dist/hooks/useProduct.js +1 -1
  117. package/dist/hooks/useStore.js +5 -4
  118. package/dist/index.js +5 -4
  119. package/dist/index.js.map +1 -1
  120. package/dist/{not-found-QM2L2D7P.js → not-found-5UA4KGON.js} +7 -6
  121. package/dist/not-found-5UA4KGON.js.map +1 -0
  122. package/dist/providers/index.js +5 -4
  123. package/dist/routes/account/orders.js +1 -1
  124. package/dist/routes/account.js +8 -7
  125. package/dist/routes/account.js.map +1 -1
  126. package/dist/routes/blog.js +5 -5
  127. package/dist/routes/brands.js +1 -1
  128. package/dist/routes/cart.js +10 -9
  129. package/dist/routes/cart.js.map +1 -1
  130. package/dist/routes/home.js +9 -8
  131. package/dist/routes/loyalty.js +1 -1
  132. package/dist/routes/page.js +1 -1
  133. package/dist/routes/product-listing.js +8 -7
  134. package/dist/routes/product-listing.js.map +1 -1
  135. package/dist/routes/product.js +8 -7
  136. package/dist/routes/product.js.map +1 -1
  137. package/dist/routes/testimonials.js +1 -1
  138. package/dist/routes/thank-you.js +1 -1
  139. package/dist/skeleton.js +9 -8
  140. package/dist/tanstack/router.d.ts.map +1 -1
  141. package/dist/tanstack.js +3 -2
  142. package/dist/tanstack.js.map +1 -1
  143. package/dist/utils/cdn-image.js +4 -0
  144. package/dist/utils/cdn-image.js.map +1 -0
  145. package/dist/utils/index.js +1 -1
  146. package/dist/vite/index.js +1 -0
  147. package/dist/vite/index.js.map +1 -1
  148. package/dist/vite/plugins/package-aliases.plugin.d.ts.map +1 -1
  149. package/package.json +5 -1
  150. package/dist/AddToCartForm-BAXWUVBW.js.map +0 -1
  151. package/dist/BlogAuthorPage-C7ENIUKC.js.map +0 -1
  152. package/dist/BlogCategoryPage-QODJTKFE.js.map +0 -1
  153. package/dist/BlogPage-N5BKRIWD.js.map +0 -1
  154. package/dist/BlogSinglePage-HVSCXCCV.js.map +0 -1
  155. package/dist/BlogTagPage-YXYYHD5S.js.map +0 -1
  156. package/dist/BrandsPage-UP3HKHGR.js.map +0 -1
  157. package/dist/Breadcrumb-5464BOGG.js.map +0 -1
  158. package/dist/CartItem-TARZW35A.js.map +0 -1
  159. package/dist/CartSummary-2KSBKQM7.js.map +0 -1
  160. package/dist/CustomerLayout-Z3JGXMO7.js.map +0 -1
  161. package/dist/LoyaltyPage-TOXOPXEU.js.map +0 -1
  162. package/dist/MainMenu-6VTPCMMJ.js.map +0 -1
  163. package/dist/MobileMenu-UWDB2BHQ.js.map +0 -1
  164. package/dist/NotificationsPage-3WUAFRTU.js.map +0 -1
  165. package/dist/OrderSinglePage-T2UE2EJI.js.map +0 -1
  166. package/dist/OrdersPage-762O24YK.js.map +0 -1
  167. package/dist/PageSingle-Y6IVAY3E.js.map +0 -1
  168. package/dist/ProductDetails-7G7QOLTB.js.map +0 -1
  169. package/dist/ProfilePage-H2JWTJJY.js.map +0 -1
  170. package/dist/SeoCartWidget-XYWATIV3.js.map +0 -1
  171. package/dist/SettingsPage-WQX22FTS.js.map +0 -1
  172. package/dist/TestimonialsPage-PWVTHBOS.js.map +0 -1
  173. package/dist/ThankYouPage-C573J2KJ.js.map +0 -1
  174. package/dist/WalletPage-7JE6PELL.js.map +0 -1
  175. package/dist/WishlistPage-XTQ6IRG7.js.map +0 -1
  176. package/dist/chunk-5FH6E2FQ.js.map +0 -1
  177. package/dist/chunk-BK4VEUF3.js +0 -14
  178. package/dist/chunk-CZS4ZHQK.js.map +0 -1
  179. package/dist/chunk-KLTQ2UST.js.map +0 -1
  180. package/dist/chunk-SSRNIBVV.js.map +0 -1
  181. package/dist/chunk-VZHYSYKG.js +0 -67
  182. package/dist/chunk-VZHYSYKG.js.map +0 -1
  183. package/dist/not-found-QM2L2D7P.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/api/product.ts"],"names":[],"mappings":"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","file":"chunk-VZHYSYKG.js","sourcesContent":["import { queryOptions } from '@tanstack/react-query';\nimport { api, getActiveScope } from './client';\nimport type { Product } from '../types';\nimport type { Pagination, PaginatedResult } from './types';\nimport { orThrow } from '../providers/NavigationProvider';\n\n// ===== Filter Types =====\n\nexport interface FilterValue {\n key?: string;\n count?: number;\n value?: string;\n from?: number | '*';\n to?: number | '*';\n}\n\nexport interface Filter {\n key?: string;\n label?: string;\n type?: string;\n values?: FilterValue[];\n max?: number;\n min?: number;\n}\n\n// ===== Product List Types =====\n\nexport type ProductsListSource =\n | 'brands'\n | 'categories'\n | 'json'\n | 'landing-page'\n | 'latest'\n | 'offers'\n | 'recently'\n | 'related'\n | 'selected'\n | 'tags'\n | 'top-rated'\n | 'wishlist'\n | 'search'\n | 'sales'\n | 'reorder'\n | 'best_selling';\n\nexport interface ProductsListParams {\n /** Source type (wishlist, latest, brands, etc.) */\n source: ProductsListSource;\n /** Source value (brand_id, category_id, tag_id, search keyword, or JSON array of product IDs) */\n sourceValue?: string | number | number[] | null;\n /** Page number for offset-based pagination */\n page?: number;\n /** Cursor for cursor-based pagination (from previous response) */\n cursor?: string | null;\n /** Items per page (default: 15) */\n perPage?: number;\n /** Sort option */\n sort?: string;\n /** Enable filters on the response */\n filterable?: boolean;\n /** Abort signal for cancellation */\n signal?: AbortSignal;\n}\n\nexport type ProductsListResult = PaginatedResult<Product> & {\n filters?: Filter[];\n};\n\nexport interface ProductsListResponse {\n data: Product[];\n cursor?: Pagination;\n filters?: Filter[];\n}\n\n// ===== API Functions =====\n\nexport const product = {\n find: async (id: string): Promise<Product> => {\n const endpoint = `products/${id}/details?with[]=images&with[]=category&with[]=rating&with[]=notify_availability&with[]=tags&with[]=brand&with[]=options&with[]=skus&with[]=skus_availability&with[]=included_products&with[]=bundle&with[]=sold_quantity`;\n const { data } = await api.get(endpoint).json<{ data: Product }>();\n return data;\n },\n\n findOrThrow: (id: string): Promise<Product> => orThrow(product.find(id)),\n\n /**\n * Fetch products list with pagination support\n * Used by native ProductsList component for SSR loaders\n *\n * API pattern: GET /products?source=wishlist&page=1\n */\n list: async (params: ProductsListParams): Promise<ProductsListResult> => {\n const { source, sourceValue, page, cursor, perPage = 16, sort, filterable, signal } = params;\n\n // Build URL with query parameters\n const searchParams = new URLSearchParams();\n searchParams.set('source', source);\n // Only send page when explicitly provided — cursor-based callers omit it entirely\n if (page !== undefined) searchParams.set('page', String(page));\n searchParams.set('per_page', String(perPage));\n\n // Add source_value[] parameter (brand_id, category_id, tag_id, etc.)\n // For search source, use keyword parameter instead\n if (sourceValue !== undefined) {\n if (source === 'search') {\n searchParams.set('keyword', String(sourceValue));\n } else if (Array.isArray(sourceValue)) {\n sourceValue.forEach((val) => searchParams.append('source_value[]', String(val)));\n } else {\n searchParams.append('source_value[]', String(sourceValue));\n }\n }\n\n // Add filterable parameter\n if (filterable !== undefined) {\n searchParams.set('filterable', filterable ? '1' : '0');\n }\n\n // Add sort parameter\n if (sort) {\n searchParams.set('sort', sort);\n }\n\n // Add cursor for cursor-based pagination\n if (cursor) {\n searchParams.set('cursor', cursor);\n }\n\n // Make the request\n const options: Record<string, unknown> = {};\n if (signal) options.signal = signal;\n\n const response = await api\n .get(`products?${searchParams.toString()}`, options as any)\n .json<ProductsListResponse>();\n\n return {\n items: response.data ?? [],\n next: response.cursor?.next ?? null,\n filters: response.filters,\n };\n },\n\n queries: {\n detail: (id: string) =>\n queryOptions({\n // Stock and availability are resolved per branch allocation — same as the list.\n queryKey: ['products', 'detail', id, { scope: getActiveScope() }],\n queryFn: () => product.find(id),\n }),\n list: (params: Omit<ProductsListParams, 'signal'>) =>\n queryOptions({\n // Scope (branch) varies product availability — key must include it.\n queryKey: ['products', 'list', params, { scope: getActiveScope() }],\n queryFn: ({ signal }) => product.list({ ...params, signal }),\n }),\n },\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/routes/not-found.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBO,SAAS,YAAA,CAAa,KAAA,GAA2B,EAAC,EAAG;AAC1D,EAAA,MAAM,EAAE,CAAA,EAAE,GAAI,cAAA,EAAe;AAE7B,EAAA,MAAM;AAAA,IACJ,KAAA,GAAQ,CAAA,CAAE,mBAAmB,CAAA,IAAK,gBAAA;AAAA,IAClC,OAAA,GAAU,CAAA,CAAE,8BAA8B,CAAA,IACxC,gEAAA;AAAA,IACF,YAAA,GAAe,IAAA;AAAA,IACf,YAAA,GAAe,CAAA,CAAE,2BAA2B,CAAA,IAAK,cAAA;AAAA,IACjD;AAAA,GACF,GAAI,KAAA;AAEJ,EAAA,uBACE,IAAA;AAAA,IAAC,aAAA;AAAA,IAAA;AAAA,MACC,IAAA,EAAM,GAAA;AAAA,MACN,KAAA;AAAA,MACA,OAAA;AAAA,MACA,UAAA,EAAY,YAAA;AAAA,MACZ,UAAA,EAAY,YAAA;AAAA,MACZ,aAAA;AAAA,MAEA,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,QAAA,EAAA,EAAS,MAAK,gBAAA,EAAiB,CAAA;AAAA,wBAChC,GAAA,CAAC,QAAA,EAAA,EAAS,IAAA,EAAK,kBAAA,EAAmB,CAAA;AAAA,wBAClC,GAAA,CAAC,QAAA,EAAA,EAAS,IAAA,EAAK,cAAA,EAAe;AAAA;AAAA;AAAA,GAChC;AAEJ","file":"not-found-QM2L2D7P.js","sourcesContent":["import type { ComponentType, ReactNode } from 'react';\nimport { HookSlot } from '../hooks';\nimport { useTranslation } from '../providers/I18nProvider';\nimport { ErrorPage } from '../components/common';\n\nexport interface NotFoundPageProps {\n title?: string;\n message?: string;\n showHomeLink?: boolean;\n homeLinkText?: string;\n LinkComponent?: ComponentType<{\n to: string;\n className?: string;\n style?: React.CSSProperties;\n children: ReactNode;\n }>;\n}\n\nexport function NotFoundPage(props: NotFoundPageProps = {}) {\n const { t } = useTranslation();\n\n const {\n title = t('common.errors.404') || 'Page Not Found',\n message = t('common.errors.error_occurred') ||\n 'The page you are looking for does not exist or has been moved.',\n showHomeLink = true,\n homeLinkText = t('common.elements.back_home') || 'Back to Home',\n LinkComponent,\n } = props;\n\n return (\n <ErrorPage\n code={404}\n title={title}\n message={message}\n showAction={showHomeLink}\n actionText={homeLinkText}\n LinkComponent={LinkComponent}\n >\n <HookSlot name=\"notfound:start\" />\n <HookSlot name=\"notfound:content\" />\n <HookSlot name=\"notfound:end\" />\n </ErrorPage>\n );\n}\n"]}