@salla.sa/twilight-theme-engine 1.0.94 → 1.0.95

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 (132) hide show
  1. package/dist/{AddToCartForm-MASXVJOI.js → AddToCartForm-6M57VCZU.js} +3 -3
  2. package/dist/{AddToCartForm-MASXVJOI.js.map → AddToCartForm-6M57VCZU.js.map} +1 -1
  3. package/dist/{BlogAuthorPage-KRT7MRTC.js → BlogAuthorPage-F6RKZEXT.js} +7 -7
  4. package/dist/{BlogAuthorPage-KRT7MRTC.js.map → BlogAuthorPage-F6RKZEXT.js.map} +1 -1
  5. package/dist/{BlogCategoryPage-OP3ETAMT.js → BlogCategoryPage-TMADZWDK.js} +7 -7
  6. package/dist/{BlogCategoryPage-OP3ETAMT.js.map → BlogCategoryPage-TMADZWDK.js.map} +1 -1
  7. package/dist/{BlogPage-RGAQVUDI.js → BlogPage-KUNTYL2L.js} +6 -6
  8. package/dist/{BlogPage-RGAQVUDI.js.map → BlogPage-KUNTYL2L.js.map} +1 -1
  9. package/dist/{BlogSinglePage-VG4UXBTL.js → BlogSinglePage-JCI5KX6K.js} +6 -6
  10. package/dist/{BlogSinglePage-VG4UXBTL.js.map → BlogSinglePage-JCI5KX6K.js.map} +1 -1
  11. package/dist/{BlogTagPage-G4IVHJD5.js → BlogTagPage-6IC6HRXA.js} +7 -7
  12. package/dist/{BlogTagPage-G4IVHJD5.js.map → BlogTagPage-6IC6HRXA.js.map} +1 -1
  13. package/dist/{BrandsPage-2JMPPOOU.js → BrandsPage-CK7LZ4ZR.js} +6 -6
  14. package/dist/{BrandsPage-2JMPPOOU.js.map → BrandsPage-CK7LZ4ZR.js.map} +1 -1
  15. package/dist/{Breadcrumb-I3ZOGG2Y.js → Breadcrumb-5RWSAJKQ.js} +6 -6
  16. package/dist/{Breadcrumb-I3ZOGG2Y.js.map → Breadcrumb-5RWSAJKQ.js.map} +1 -1
  17. package/dist/{CartItem-YTPYETW6.js → CartItem-AEIRNYUK.js} +6 -6
  18. package/dist/{CartItem-YTPYETW6.js.map → CartItem-AEIRNYUK.js.map} +1 -1
  19. package/dist/{CartSummary-DND7BO26.js → CartSummary-WCQL3GV5.js} +6 -6
  20. package/dist/{CartSummary-DND7BO26.js.map → CartSummary-WCQL3GV5.js.map} +1 -1
  21. package/dist/{Copyright-RWML3BQV.js → Copyright-HRQKNNC3.js} +3 -3
  22. package/dist/{Copyright-RWML3BQV.js.map → Copyright-HRQKNNC3.js.map} +1 -1
  23. package/dist/{CustomerLayout-HCYVBODI.js → CustomerLayout-ET4OD3VV.js} +6 -6
  24. package/dist/{CustomerLayout-HCYVBODI.js.map → CustomerLayout-ET4OD3VV.js.map} +1 -1
  25. package/dist/{Footer-3GEKWEQD.js → Footer-N2DCHQMO.js} +4 -4
  26. package/dist/{Footer-3GEKWEQD.js.map → Footer-N2DCHQMO.js.map} +1 -1
  27. package/dist/{Header-QG4UO3MF.js → Header-SGRINHMD.js} +4 -4
  28. package/dist/{Header-QG4UO3MF.js.map → Header-SGRINHMD.js.map} +1 -1
  29. package/dist/{LoyaltyPage-ZMFYQMQY.js → LoyaltyPage-FLTNW6G3.js} +6 -6
  30. package/dist/{LoyaltyPage-ZMFYQMQY.js.map → LoyaltyPage-FLTNW6G3.js.map} +1 -1
  31. package/dist/{LoyaltyPointsPage-5PB6IFLY.js → LoyaltyPointsPage-W4QU4RDU.js} +3 -3
  32. package/dist/{LoyaltyPointsPage-5PB6IFLY.js.map → LoyaltyPointsPage-W4QU4RDU.js.map} +1 -1
  33. package/dist/{MainMenu-SAUMNMBF.js → MainMenu-D5CFVBNQ.js} +3 -3
  34. package/dist/{MainMenu-SAUMNMBF.js.map → MainMenu-D5CFVBNQ.js.map} +1 -1
  35. package/dist/{MasterLayout-TY223YR7.js → MasterLayout-DKUMEBDQ.js} +6 -6
  36. package/dist/{MasterLayout-TY223YR7.js.map → MasterLayout-DKUMEBDQ.js.map} +1 -1
  37. package/dist/{MobileMenu-2WOWOFQB.js → MobileMenu-3LCM35WP.js} +6 -6
  38. package/dist/{MobileMenu-2WOWOFQB.js.map → MobileMenu-3LCM35WP.js.map} +1 -1
  39. package/dist/{NotificationsPage-6FX4SOZU.js → NotificationsPage-KJ6WDEVH.js} +6 -6
  40. package/dist/{NotificationsPage-6FX4SOZU.js.map → NotificationsPage-KJ6WDEVH.js.map} +1 -1
  41. package/dist/{OrderSinglePage-RUMSJIFD.js → OrderSinglePage-H6TGX43N.js} +6 -6
  42. package/dist/{OrderSinglePage-RUMSJIFD.js.map → OrderSinglePage-H6TGX43N.js.map} +1 -1
  43. package/dist/{OrdersPage-B4Q4QIEM.js → OrdersPage-BEBXUZGC.js} +6 -6
  44. package/dist/{OrdersPage-B4Q4QIEM.js.map → OrdersPage-BEBXUZGC.js.map} +1 -1
  45. package/dist/{PageSingle-F4TDNKUM.js → PageSingle-P5PI65M5.js} +3 -3
  46. package/dist/{PageSingle-F4TDNKUM.js.map → PageSingle-P5PI65M5.js.map} +1 -1
  47. package/dist/{ProductDetails-BNVVUDBH.js → ProductDetails-PWS4VZWO.js} +3 -3
  48. package/dist/{ProductDetails-BNVVUDBH.js.map → ProductDetails-PWS4VZWO.js.map} +1 -1
  49. package/dist/{ProfilePage-OJSAXSC2.js → ProfilePage-25NC72CQ.js} +6 -6
  50. package/dist/{ProfilePage-OJSAXSC2.js.map → ProfilePage-25NC72CQ.js.map} +1 -1
  51. package/dist/{ReviewsPage-3IJKJKTY.js → ReviewsPage-JQJEEKR3.js} +3 -3
  52. package/dist/{ReviewsPage-3IJKJKTY.js.map → ReviewsPage-JQJEEKR3.js.map} +1 -1
  53. package/dist/{SeoCartWidget-4PN2DW54.js → SeoCartWidget-A7MCWGQ2.js} +6 -6
  54. package/dist/{SeoCartWidget-4PN2DW54.js.map → SeoCartWidget-A7MCWGQ2.js.map} +1 -1
  55. package/dist/{SettingsPage-BCRNV4GU.js → SettingsPage-6W32UA32.js} +6 -6
  56. package/dist/{SettingsPage-BCRNV4GU.js.map → SettingsPage-6W32UA32.js.map} +1 -1
  57. package/dist/{StoreClosedNotification-IRUTRLIH.js → StoreClosedNotification-B3MQFPFY.js} +7 -7
  58. package/dist/{StoreClosedNotification-IRUTRLIH.js.map → StoreClosedNotification-B3MQFPFY.js.map} +1 -1
  59. package/dist/{TestimonialsPage-YU4PLOLR.js → TestimonialsPage-MDYX65Z3.js} +3 -3
  60. package/dist/{TestimonialsPage-YU4PLOLR.js.map → TestimonialsPage-MDYX65Z3.js.map} +1 -1
  61. package/dist/{ThankYouPage-MUDELEIQ.js → ThankYouPage-AFJCN3AH.js} +6 -6
  62. package/dist/{ThankYouPage-MUDELEIQ.js.map → ThankYouPage-AFJCN3AH.js.map} +1 -1
  63. package/dist/{WalletPage-2I4KTR5E.js → WalletPage-S6S5ZV3A.js} +6 -6
  64. package/dist/{WalletPage-2I4KTR5E.js.map → WalletPage-S6S5ZV3A.js.map} +1 -1
  65. package/dist/{WishlistPage-7AYL3RUD.js → WishlistPage-YH4OQPXP.js} +6 -6
  66. package/dist/{WishlistPage-7AYL3RUD.js.map → WishlistPage-YH4OQPXP.js.map} +1 -1
  67. package/dist/{chunk-OM26SAHA.js → chunk-6ELXANJG.js} +4 -4
  68. package/dist/{chunk-OM26SAHA.js.map → chunk-6ELXANJG.js.map} +1 -1
  69. package/dist/chunk-7GBNI3AU.js +14 -0
  70. package/dist/{chunk-KZM7HXJ3.js.map → chunk-7GBNI3AU.js.map} +1 -1
  71. package/dist/{chunk-Y357MBJI.js → chunk-DTS3AGXT.js} +3 -3
  72. package/dist/{chunk-Y357MBJI.js.map → chunk-DTS3AGXT.js.map} +1 -1
  73. package/dist/{chunk-YDFOJBEY.js → chunk-FCTL7IV6.js} +3 -3
  74. package/dist/{chunk-YDFOJBEY.js.map → chunk-FCTL7IV6.js.map} +1 -1
  75. package/dist/{chunk-HR3QJ3LW.js → chunk-H64QXA6N.js} +3 -3
  76. package/dist/{chunk-HR3QJ3LW.js.map → chunk-H64QXA6N.js.map} +1 -1
  77. package/dist/{chunk-WHJZP3QJ.js → chunk-IR47RORL.js} +5 -5
  78. package/dist/{chunk-WHJZP3QJ.js.map → chunk-IR47RORL.js.map} +1 -1
  79. package/dist/{chunk-RPDMNNRW.js → chunk-J47OCHM7.js} +7 -7
  80. package/dist/{chunk-RPDMNNRW.js.map → chunk-J47OCHM7.js.map} +1 -1
  81. package/dist/{chunk-LA7KZ2XY.js → chunk-LV6J5FMT.js} +6 -6
  82. package/dist/{chunk-LA7KZ2XY.js.map → chunk-LV6J5FMT.js.map} +1 -1
  83. package/dist/{chunk-ZFNLX3F7.js → chunk-N6OPDLCU.js} +3 -3
  84. package/dist/{chunk-ZFNLX3F7.js.map → chunk-N6OPDLCU.js.map} +1 -1
  85. package/dist/{chunk-H7CVJFTK.js → chunk-QFS2SHJ4.js} +7 -7
  86. package/dist/{chunk-H7CVJFTK.js.map → chunk-QFS2SHJ4.js.map} +1 -1
  87. package/dist/{chunk-TJF6YZ5I.js → chunk-RNCISHJT.js} +4 -4
  88. package/dist/{chunk-TJF6YZ5I.js.map → chunk-RNCISHJT.js.map} +1 -1
  89. package/dist/{chunk-OMKLPCBA.js → chunk-UOQR643Q.js} +3 -3
  90. package/dist/{chunk-OMKLPCBA.js.map → chunk-UOQR643Q.js.map} +1 -1
  91. package/dist/{chunk-AV6AAVNU.js → chunk-ZTXEXO4W.js} +4 -4
  92. package/dist/{chunk-AV6AAVNU.js.map → chunk-ZTXEXO4W.js.map} +1 -1
  93. package/dist/components/cart/index.js +1 -1
  94. package/dist/components/common/index.js +1 -1
  95. package/dist/components/drawer/index.js +4 -4
  96. package/dist/components/home/index.js +6 -6
  97. package/dist/components/layout/index.js +1 -1
  98. package/dist/components/product/index.js +5 -5
  99. package/dist/components/store/index.js +6 -6
  100. package/dist/{document-class-AJGI7GKJ.js → document-class-BRRNAIKV.js} +3 -3
  101. package/dist/{document-class-AJGI7GKJ.js.map → document-class-BRRNAIKV.js.map} +1 -1
  102. package/dist/hooks/index.js +4 -4
  103. package/dist/hooks/useGtm.js +4 -4
  104. package/dist/hooks/useMoney.js +4 -4
  105. package/dist/hooks/useStore.js +4 -4
  106. package/dist/index.js +4 -4
  107. package/dist/{not-found-NK6ZFJ7H.js → not-found-VJDPMT6N.js} +6 -6
  108. package/dist/{not-found-NK6ZFJ7H.js.map → not-found-VJDPMT6N.js.map} +1 -1
  109. package/dist/providers/index.js +4 -4
  110. package/dist/routes/account/orders.js +1 -1
  111. package/dist/routes/account.js +6 -6
  112. package/dist/routes/blog.js +5 -5
  113. package/dist/routes/brands.js +1 -1
  114. package/dist/routes/cart.js +8 -8
  115. package/dist/routes/home.js +7 -7
  116. package/dist/routes/loyalty.js +2 -2
  117. package/dist/routes/page.js +1 -1
  118. package/dist/routes/product-listing/index.d.ts +27 -0
  119. package/dist/routes/product-listing/index.d.ts.map +1 -1
  120. package/dist/routes/product-listing.js +30 -7
  121. package/dist/routes/product-listing.js.map +1 -1
  122. package/dist/routes/product.js +6 -6
  123. package/dist/routes/testimonials.js +2 -2
  124. package/dist/routes/thank-you.js +1 -1
  125. package/dist/skeleton.js +7 -7
  126. package/dist/tanstack.js +1 -1
  127. package/dist/vite/adapters/tanstack.adapter.d.ts.map +1 -1
  128. package/dist/vite/index.js +9 -24
  129. package/dist/vite/index.js.map +1 -1
  130. package/package.json +1 -1
  131. package/tailwind/routes/product-listing/index.tsx.txt +42 -0
  132. package/dist/chunk-KZM7HXJ3.js +0 -14
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/store/StoreClosedNotification.tsx"],"names":[],"mappings":";;;;;;;AAsBO,SAAS,wBAAwB,MAAA,EAAsC;AAC5E,EAAA,MAAM,EAAE,KAAA,EAAM,GAAI,WAAA,EAAY;AAC9B,EAAA,MAAM,EAAE,CAAA,EAAE,GAAI,cAAA,EAAe;AAC7B,EAAA,MAAM,EAAE,QAAQ,SAAA,EAAW,iBAAA,KAAsB,eAAA,CAAgB,KAAA,CAAM,UAAU,aAAa,CAAA;AAC9F,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAI,SAAS,KAAK,CAAA;AAGhD,EAAA,MAAM,gBAAgB,YAAA,EAAa;AAGnC,EAAA,IAAI,CAAC,aAAA,IAAiB,CAAC,aAAa,MAAA,IAAU,SAAA,IAAa,CAAC,iBAAA,EAAmB;AAC7E,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,MAAM,WAAA,GAAc,CAAC,CAAA,KAAwB;AAC3C,IAAA,CAAA,CAAE,cAAA,EAAe;AACjB,IAAA,YAAA,CAAa,IAAI,CAAA;AAAA,EACnB,CAAA;AAEA,EAAA,uBACE,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAU,cAAA;AAAA,MACV,EAAA,EAAG,2BAAA;AAAA,MACH,aAAA,EAAY,2BAAA;AAAA,MACZ,KAAA,EAAO;AAAA,QACL,eAAA,EAAiB,SAAA;AAAA,QACjB,KAAA,EAAO,MAAA;AAAA,QACP,OAAA,EAAS,WAAA;AAAA,QACT,OAAA,EAAS,MAAA;AAAA,QACT,UAAA,EAAY,QAAA;AAAA,QACZ,cAAA,EAAgB,QAAA;AAAA,QAChB,QAAA,EAAU;AAAA,OACZ;AAAA,MAEA,QAAA,EAAA;AAAA,wBAAA,GAAA;AAAA,UAAC,GAAA;AAAA,UAAA;AAAA,YACC,IAAA,EAAK,GAAA;AAAA,YACL,EAAA,EAAG,cAAA;AAAA,YACH,OAAA,EAAS,WAAA;AAAA,YACT,KAAA,EAAO,EAAE,QAAA,EAAU,UAAA,EAAY,MAAM,EAAA,EAAI,KAAA,EAAO,MAAA,EAAQ,cAAA,EAAgB,MAAA,EAAO;AAAA,YAE/E,QAAA,kBAAA,GAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,cAAA,EAAe;AAAA;AAAA,SAC9B;AAAA,wBACA,GAAA,CAAC,GAAA,EAAA,EAAE,KAAA,EAAO,EAAE,MAAA,EAAQ,CAAA,EAAG,SAAA,EAAW,QAAA,EAAU,IAAA,EAAM,CAAA,EAAE,EACjD,QAAA,EAAA,CAAA,CAAE,2BAAA,EAA6B;AAAA,UAC9B,YAAA,EAAc,qPAAkD,iBAAiB,CAAA,CAAA,CAAA;AAAA,UACjF,QAAA,EAAU;AAAA,SACX,CAAA,EACH;AAAA;AAAA;AAAA,GACF;AAEJ","file":"chunk-HR3QJ3LW.js","sourcesContent":["import { useState } from 'react';\nimport { useIsProduct } from '../../providers/NavigationProvider';\nimport { useTwilight } from '../../providers/TwilightProvider';\nimport { useOpeningHours } from '../../hooks/useOpeningHours';\nimport { useTranslation } from '../../providers/I18nProvider';\n\nexport interface StoreClosedNotificationProps {\n /** Whether to show the notification (defaults to true when store is closed on product page) */\n show?: boolean;\n}\n\n/**\n * StoreClosedNotification - Shows a notification bar when the store is closed.\n *\n * Mirrors PHP ReceivingOrdersTimesWidget:\n * - Only shows on product pages\n * - Only shows when store is closed for receiving orders\n * - Displays when the store will open next\n * - Has a close button to dismiss\n *\n * Injected via hook registry at body:start.\n */\nexport function StoreClosedNotification(_props: StoreClosedNotificationProps) {\n const { store } = useTwilight();\n const { t } = useTranslation();\n const { isOpen, isEnabled, nextOpenFormatted } = useOpeningHours(store.settings?.opening_hours);\n const [dismissed, setDismissed] = useState(false);\n\n // Check if we're on a product page\n const isProductPage = useIsProduct();\n\n // Conditions: product page, opening hours enabled, store closed, not dismissed\n if (!isProductPage || !isEnabled || isOpen || dismissed || !nextOpenFormatted) {\n return null;\n }\n\n const handleClose = (e: React.MouseEvent) => {\n e.preventDefault();\n setDismissed(true);\n };\n\n return (\n <div\n className=\"store-notify\"\n id=\"store-closed-notification\"\n data-testid=\"store-closed-notification\"\n style={{\n backgroundColor: '#d63031',\n color: '#fff',\n padding: '10px 15px',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'relative',\n }}\n >\n <a\n href=\"#\"\n id=\"notify-close\"\n onClick={handleClose}\n style={{ position: 'absolute', left: 15, color: '#fff', textDecoration: 'none' }}\n >\n <i className=\"sicon-cancel\" />\n </a>\n <p style={{ margin: 0, textAlign: 'center', flex: 1 }}>\n {t('store.closed_notification', {\n defaultValue: `المتجر حاليا مغلق لاستقبال الطلبات وسيتم فتحه (${nextOpenFormatted})`,\n nextOpen: nextOpenFormatted,\n })}\n </p>\n </div>\n );\n}\n"]}
1
+ {"version":3,"sources":["../src/components/store/StoreClosedNotification.tsx"],"names":[],"mappings":";;;;;;;AAsBO,SAAS,wBAAwB,MAAA,EAAsC;AAC5E,EAAA,MAAM,EAAE,KAAA,EAAM,GAAI,WAAA,EAAY;AAC9B,EAAA,MAAM,EAAE,CAAA,EAAE,GAAI,cAAA,EAAe;AAC7B,EAAA,MAAM,EAAE,QAAQ,SAAA,EAAW,iBAAA,KAAsB,eAAA,CAAgB,KAAA,CAAM,UAAU,aAAa,CAAA;AAC9F,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAI,SAAS,KAAK,CAAA;AAGhD,EAAA,MAAM,gBAAgB,YAAA,EAAa;AAGnC,EAAA,IAAI,CAAC,aAAA,IAAiB,CAAC,aAAa,MAAA,IAAU,SAAA,IAAa,CAAC,iBAAA,EAAmB;AAC7E,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,MAAM,WAAA,GAAc,CAAC,CAAA,KAAwB;AAC3C,IAAA,CAAA,CAAE,cAAA,EAAe;AACjB,IAAA,YAAA,CAAa,IAAI,CAAA;AAAA,EACnB,CAAA;AAEA,EAAA,uBACE,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAU,cAAA;AAAA,MACV,EAAA,EAAG,2BAAA;AAAA,MACH,aAAA,EAAY,2BAAA;AAAA,MACZ,KAAA,EAAO;AAAA,QACL,eAAA,EAAiB,SAAA;AAAA,QACjB,KAAA,EAAO,MAAA;AAAA,QACP,OAAA,EAAS,WAAA;AAAA,QACT,OAAA,EAAS,MAAA;AAAA,QACT,UAAA,EAAY,QAAA;AAAA,QACZ,cAAA,EAAgB,QAAA;AAAA,QAChB,QAAA,EAAU;AAAA,OACZ;AAAA,MAEA,QAAA,EAAA;AAAA,wBAAA,GAAA;AAAA,UAAC,GAAA;AAAA,UAAA;AAAA,YACC,IAAA,EAAK,GAAA;AAAA,YACL,EAAA,EAAG,cAAA;AAAA,YACH,OAAA,EAAS,WAAA;AAAA,YACT,KAAA,EAAO,EAAE,QAAA,EAAU,UAAA,EAAY,MAAM,EAAA,EAAI,KAAA,EAAO,MAAA,EAAQ,cAAA,EAAgB,MAAA,EAAO;AAAA,YAE/E,QAAA,kBAAA,GAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,cAAA,EAAe;AAAA;AAAA,SAC9B;AAAA,wBACA,GAAA,CAAC,GAAA,EAAA,EAAE,KAAA,EAAO,EAAE,MAAA,EAAQ,CAAA,EAAG,SAAA,EAAW,QAAA,EAAU,IAAA,EAAM,CAAA,EAAE,EACjD,QAAA,EAAA,CAAA,CAAE,2BAAA,EAA6B;AAAA,UAC9B,YAAA,EAAc,qPAAkD,iBAAiB,CAAA,CAAA,CAAA;AAAA,UACjF,QAAA,EAAU;AAAA,SACX,CAAA,EACH;AAAA;AAAA;AAAA,GACF;AAEJ","file":"chunk-H64QXA6N.js","sourcesContent":["import { useState } from 'react';\nimport { useIsProduct } from '../../providers/NavigationProvider';\nimport { useTwilight } from '../../providers/TwilightProvider';\nimport { useOpeningHours } from '../../hooks/useOpeningHours';\nimport { useTranslation } from '../../providers/I18nProvider';\n\nexport interface StoreClosedNotificationProps {\n /** Whether to show the notification (defaults to true when store is closed on product page) */\n show?: boolean;\n}\n\n/**\n * StoreClosedNotification - Shows a notification bar when the store is closed.\n *\n * Mirrors PHP ReceivingOrdersTimesWidget:\n * - Only shows on product pages\n * - Only shows when store is closed for receiving orders\n * - Displays when the store will open next\n * - Has a close button to dismiss\n *\n * Injected via hook registry at body:start.\n */\nexport function StoreClosedNotification(_props: StoreClosedNotificationProps) {\n const { store } = useTwilight();\n const { t } = useTranslation();\n const { isOpen, isEnabled, nextOpenFormatted } = useOpeningHours(store.settings?.opening_hours);\n const [dismissed, setDismissed] = useState(false);\n\n // Check if we're on a product page\n const isProductPage = useIsProduct();\n\n // Conditions: product page, opening hours enabled, store closed, not dismissed\n if (!isProductPage || !isEnabled || isOpen || dismissed || !nextOpenFormatted) {\n return null;\n }\n\n const handleClose = (e: React.MouseEvent) => {\n e.preventDefault();\n setDismissed(true);\n };\n\n return (\n <div\n className=\"store-notify\"\n id=\"store-closed-notification\"\n data-testid=\"store-closed-notification\"\n style={{\n backgroundColor: '#d63031',\n color: '#fff',\n padding: '10px 15px',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'relative',\n }}\n >\n <a\n href=\"#\"\n id=\"notify-close\"\n onClick={handleClose}\n style={{ position: 'absolute', left: 15, color: '#fff', textDecoration: 'none' }}\n >\n <i className=\"sicon-cancel\" />\n </a>\n <p style={{ margin: 0, textAlign: 'center', flex: 1 }}>\n {t('store.closed_notification', {\n defaultValue: `المتجر حاليا مغلق لاستقبال الطلبات وسيتم فتحه (${nextOpenFormatted})`,\n nextOpen: nextOpenFormatted,\n })}\n </p>\n </div>\n );\n}\n"]}
@@ -2,7 +2,7 @@ import { useIsHome } from './chunk-JTOVO3ZU.js';
2
2
  import { PageAdvertisements } from './chunk-DBW7XXNE.js';
3
3
  import { HookSlot } from './chunk-5XDPAKF5.js';
4
4
  import { useTranslation } from './chunk-TYNZ5B2B.js';
5
- import { Image } from './chunk-OMKLPCBA.js';
5
+ import { Image } from './chunk-UOQR643Q.js';
6
6
  import { useTwilight } from './chunk-DF6FBKDN.js';
7
7
  import { lazy, useState } from 'react';
8
8
  import { SallaCartSummary } from '@salla.sa/twilight-components-react/cart-summary';
@@ -13,9 +13,9 @@ import { SallaSearch } from '@salla.sa/twilight-components-react/search';
13
13
  import { SallaUserMenu } from '@salla.sa/twilight-components-react/user-menu';
14
14
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
15
15
 
16
- var LazyMainMenu = lazy(() => import('./MainMenu-SAUMNMBF.js').then((m) => ({ default: m.MainMenu })));
16
+ var LazyMainMenu = lazy(() => import('./MainMenu-D5CFVBNQ.js').then((m) => ({ default: m.MainMenu })));
17
17
  var LazyMobileMenu = lazy(
18
- () => import('./MobileMenu-2WOWOFQB.js').then((m) => ({ default: m.MobileMenu }))
18
+ () => import('./MobileMenu-3LCM35WP.js').then((m) => ({ default: m.MobileMenu }))
19
19
  );
20
20
  function Header(_props) {
21
21
  const { currency, theme, store } = useTwilight();
@@ -120,5 +120,5 @@ function Header(_props) {
120
120
  }
121
121
 
122
122
  export { Header };
123
- //# sourceMappingURL=chunk-WHJZP3QJ.js.map
124
- //# sourceMappingURL=chunk-WHJZP3QJ.js.map
123
+ //# sourceMappingURL=chunk-IR47RORL.js.map
124
+ //# sourceMappingURL=chunk-IR47RORL.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/navigation/lazy.ts","../src/components/layout/Header.tsx"],"names":[],"mappings":"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","file":"chunk-WHJZP3QJ.js","sourcesContent":["import { lazy } from 'react';\n\n/**\n * Lazy-loaded navigation components\n * Use these for code-splitting navigation sections\n */\nexport const LazyMainMenu = lazy(() => import('./MainMenu').then((m) => ({ default: m.MainMenu })));\n\nexport const LazyMobileMenu = lazy(() =>\n import('./MobileMenu').then((m) => ({ default: m.MobileMenu }))\n);\n","import { useState } from 'react';\nimport { useIsHome } from '../../providers/NavigationProvider';\nimport { SallaCartSummary } from '@salla.sa/twilight-components-react/cart-summary';\nimport { SallaContacts } from '@salla.sa/twilight-components-react/contacts';\nimport { SallaLocalizationModal } from '@salla.sa/twilight-components-react/localization-modal';\nimport { SallaMenu } from '@salla.sa/twilight-components-react/menu';\nimport { SallaSearch } from '@salla.sa/twilight-components-react/search';\nimport { SallaUserMenu } from '@salla.sa/twilight-components-react/user-menu';\nimport { useTwilight } from '../../providers/twilight-context';\nimport { useTranslation } from '../../providers/I18nProvider';\nimport { HookSlot } from '../../hooks/HookSlot';\nimport { MainMenu, MobileMenu } from '../navigation';\nimport { Image } from '../common';\nimport { PageAdvertisements } from './PageAdvertisements';\nimport type { Cart } from '../../types';\n\ninterface HeaderProps {\n cart?: Cart;\n}\n\nexport function Header(_props: HeaderProps) {\n const { currency, theme, store } = useTwilight();\n const { locale, languageName } = useTranslation();\n const settings = theme?.settings || {};\n const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false);\n\n // Check if we're on homepage\n const isHomepage = useIsHome();\n\n const StoreTitle = isHomepage ? 'h1' : 'span';\n\n return (\n <header className=\"store-header\" suppressHydrationWarning>\n <HookSlot name=\"header:start\" />\n <div className=\"advertisement-slot\">\n <PageAdvertisements />\n </div>\n {/* Top Nav */}\n <div className={`top-navbar${settings.topnav_is_dark ? ' top-navbar--dark' : ''}`}>\n <div className=\"container flex justify-between\">\n <div className=\"flex-1 flex items-center gap-2\">\n {/* Footer Menu */}\n {settings.important_links && <SallaMenu source=\"footer\" topnav />}\n\n {/* Language & Currency */}\n <div className=\"header-buttons\">\n {(store?.settings?.is_multilingual || store?.settings?.currencies_enabled) && (\n <>\n <button\n type=\"button\"\n onClick={() => window.salla?.event.dispatch('localization::open')}\n className=\"btn--rounded-gray basis-0\"\n >\n <span>{languageName}</span>\n <span className=\"mx-1.5\">|</span>\n <span className={`flag iti__flag iti__${store?.country.toLowerCase()}`}></span>\n\n <span>\n {store?.settings?.use_sar_symbol && currency?.code === 'SAR' ? (\n <i className=\"sicon-sar\"></i>\n ) : (\n <>{currency?.symbol}</>\n )}\n </span>\n </button>\n {/* TODO:: support switch the lang without hit the web API, by set it in the sdk and local storage */}\n {/* TODO:: Support switch the curency without hit the web API, by set it in the sdk and local storage */}\n <SallaLocalizationModal\n language={locale}\n currency={currency?.code || 'SAR'}\n suppressHydrationWarning\n />\n </>\n )}\n </div>\n\n {/* Scopes / Branches */}\n {store?.scope && (\n <button\n type=\"button\"\n className=\"btn--rounded-gray\"\n onClick={() =>\n window.salla?.event.dispatch('scopes::open', {\n mode: 'default',\n })\n }\n >\n <i className=\"sicon-location rtl:ml-1 ltr:mr-1\"></i>\n {store.scope.name}\n </button>\n )}\n\n {/* Search bar */}\n <div className=\"header-search flex-1\">\n {/* todo:: use a search icon insted with open the search popup */}\n <SallaSearch inline oval height={36} />\n </div>\n </div>\n\n <SallaContacts contacts={store?.contacts} contactsTitle=\"N/A\" isHeader />\n </div>\n </div>\n\n {/* Main Nav */}\n <div\n id=\"mainnav\"\n className={`main-nav-container shadow-default bg-white flex items-center relative z-50${settings.header_is_sticky ? ' sticky top-0' : ''}`}\n >\n <div className=\"inner bg-inherit w-full\">\n <div className=\"container\">\n <div className=\"flex items-stretch justify-between relative\">\n <div className=\"flex items-center\">\n <a\n className=\"lg:hidden mburger mburger--collapse leading-none rtl:ml-4 ltr:mr-4\"\n href=\"#mobile-menu\"\n aria-label=\"Open-menu\"\n onClick={(e) => {\n e.preventDefault();\n setIsMobileMenuOpen(true);\n }}\n >\n <i className=\"sicon-menu text-primary text-2xl\"></i>\n </a>\n <a className=\"navbar-brand\" href={store?.url || '/'}>\n <div className=\"logo-wrapper\">\n <Image\n src={store?.logo}\n alt={`${store?.name || 'Store'} logo`}\n priority\n width={120}\n height={48}\n />\n </div>\n <StoreTitle className=\"sr-only\">{store?.name || 'Store'}</StoreTitle>\n </a>\n <MainMenu />\n </div>\n <div className=\"flex items-center justify-end my-2.5\">\n <SallaUserMenu avatarOnly showHeader className=\"header-btn\" />\n <SallaCartSummary className=\"ml-4 rtl:ml-[unset] rtl:mr-4\">\n <i slot=\"icon\" className=\"header-btn__icon icon sicon-shopping-bag\"></i>\n </SallaCartSummary>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n {/* Mobile Menu */}\n <MobileMenu isOpen={isMobileMenuOpen} onClose={() => setIsMobileMenuOpen(false)} />\n <HookSlot name=\"header:end\" />\n </header>\n );\n}\n"]}
1
+ {"version":3,"sources":["../src/components/navigation/lazy.ts","../src/components/layout/Header.tsx"],"names":[],"mappings":"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","file":"chunk-IR47RORL.js","sourcesContent":["import { lazy } from 'react';\n\n/**\n * Lazy-loaded navigation components\n * Use these for code-splitting navigation sections\n */\nexport const LazyMainMenu = lazy(() => import('./MainMenu').then((m) => ({ default: m.MainMenu })));\n\nexport const LazyMobileMenu = lazy(() =>\n import('./MobileMenu').then((m) => ({ default: m.MobileMenu }))\n);\n","import { useState } from 'react';\nimport { useIsHome } from '../../providers/NavigationProvider';\nimport { SallaCartSummary } from '@salla.sa/twilight-components-react/cart-summary';\nimport { SallaContacts } from '@salla.sa/twilight-components-react/contacts';\nimport { SallaLocalizationModal } from '@salla.sa/twilight-components-react/localization-modal';\nimport { SallaMenu } from '@salla.sa/twilight-components-react/menu';\nimport { SallaSearch } from '@salla.sa/twilight-components-react/search';\nimport { SallaUserMenu } from '@salla.sa/twilight-components-react/user-menu';\nimport { useTwilight } from '../../providers/twilight-context';\nimport { useTranslation } from '../../providers/I18nProvider';\nimport { HookSlot } from '../../hooks/HookSlot';\nimport { MainMenu, MobileMenu } from '../navigation';\nimport { Image } from '../common';\nimport { PageAdvertisements } from './PageAdvertisements';\nimport type { Cart } from '../../types';\n\ninterface HeaderProps {\n cart?: Cart;\n}\n\nexport function Header(_props: HeaderProps) {\n const { currency, theme, store } = useTwilight();\n const { locale, languageName } = useTranslation();\n const settings = theme?.settings || {};\n const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false);\n\n // Check if we're on homepage\n const isHomepage = useIsHome();\n\n const StoreTitle = isHomepage ? 'h1' : 'span';\n\n return (\n <header className=\"store-header\" suppressHydrationWarning>\n <HookSlot name=\"header:start\" />\n <div className=\"advertisement-slot\">\n <PageAdvertisements />\n </div>\n {/* Top Nav */}\n <div className={`top-navbar${settings.topnav_is_dark ? ' top-navbar--dark' : ''}`}>\n <div className=\"container flex justify-between\">\n <div className=\"flex-1 flex items-center gap-2\">\n {/* Footer Menu */}\n {settings.important_links && <SallaMenu source=\"footer\" topnav />}\n\n {/* Language & Currency */}\n <div className=\"header-buttons\">\n {(store?.settings?.is_multilingual || store?.settings?.currencies_enabled) && (\n <>\n <button\n type=\"button\"\n onClick={() => window.salla?.event.dispatch('localization::open')}\n className=\"btn--rounded-gray basis-0\"\n >\n <span>{languageName}</span>\n <span className=\"mx-1.5\">|</span>\n <span className={`flag iti__flag iti__${store?.country.toLowerCase()}`}></span>\n\n <span>\n {store?.settings?.use_sar_symbol && currency?.code === 'SAR' ? (\n <i className=\"sicon-sar\"></i>\n ) : (\n <>{currency?.symbol}</>\n )}\n </span>\n </button>\n {/* TODO:: support switch the lang without hit the web API, by set it in the sdk and local storage */}\n {/* TODO:: Support switch the curency without hit the web API, by set it in the sdk and local storage */}\n <SallaLocalizationModal\n language={locale}\n currency={currency?.code || 'SAR'}\n suppressHydrationWarning\n />\n </>\n )}\n </div>\n\n {/* Scopes / Branches */}\n {store?.scope && (\n <button\n type=\"button\"\n className=\"btn--rounded-gray\"\n onClick={() =>\n window.salla?.event.dispatch('scopes::open', {\n mode: 'default',\n })\n }\n >\n <i className=\"sicon-location rtl:ml-1 ltr:mr-1\"></i>\n {store.scope.name}\n </button>\n )}\n\n {/* Search bar */}\n <div className=\"header-search flex-1\">\n {/* todo:: use a search icon insted with open the search popup */}\n <SallaSearch inline oval height={36} />\n </div>\n </div>\n\n <SallaContacts contacts={store?.contacts} contactsTitle=\"N/A\" isHeader />\n </div>\n </div>\n\n {/* Main Nav */}\n <div\n id=\"mainnav\"\n className={`main-nav-container shadow-default bg-white flex items-center relative z-50${settings.header_is_sticky ? ' sticky top-0' : ''}`}\n >\n <div className=\"inner bg-inherit w-full\">\n <div className=\"container\">\n <div className=\"flex items-stretch justify-between relative\">\n <div className=\"flex items-center\">\n <a\n className=\"lg:hidden mburger mburger--collapse leading-none rtl:ml-4 ltr:mr-4\"\n href=\"#mobile-menu\"\n aria-label=\"Open-menu\"\n onClick={(e) => {\n e.preventDefault();\n setIsMobileMenuOpen(true);\n }}\n >\n <i className=\"sicon-menu text-primary text-2xl\"></i>\n </a>\n <a className=\"navbar-brand\" href={store?.url || '/'}>\n <div className=\"logo-wrapper\">\n <Image\n src={store?.logo}\n alt={`${store?.name || 'Store'} logo`}\n priority\n width={120}\n height={48}\n />\n </div>\n <StoreTitle className=\"sr-only\">{store?.name || 'Store'}</StoreTitle>\n </a>\n <MainMenu />\n </div>\n <div className=\"flex items-center justify-end my-2.5\">\n <SallaUserMenu avatarOnly showHeader className=\"header-btn\" />\n <SallaCartSummary className=\"ml-4 rtl:ml-[unset] rtl:mr-4\">\n <i slot=\"icon\" className=\"header-btn__icon icon sicon-shopping-bag\"></i>\n </SallaCartSummary>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n {/* Mobile Menu */}\n <MobileMenu isOpen={isMobileMenuOpen} onClose={() => setIsMobileMenuOpen(false)} />\n <HookSlot name=\"header:end\" />\n </header>\n );\n}\n"]}
@@ -1,5 +1,5 @@
1
- import { Header } from './chunk-WHJZP3QJ.js';
2
- import { Footer } from './chunk-YDFOJBEY.js';
1
+ import { Header } from './chunk-IR47RORL.js';
2
+ import { Footer } from './chunk-FCTL7IV6.js';
3
3
  import { resolveTwilightSdkUrl, TICKETING_SCRIPT_URL } from './chunk-SFZ7IIWL.js';
4
4
  import { useDevSettingsOverrides } from './chunk-2JV6WZ6O.js';
5
5
  import { apps } from './chunk-ZVZGLEZ6.js';
@@ -124,7 +124,7 @@ function ThemeDocumentSync({
124
124
  }
125
125
 
126
126
  // src/utils/engine-version.ts
127
- var ENGINE_VERSION = "1.0.94" ;
127
+ var ENGINE_VERSION = "1.0.95" ;
128
128
 
129
129
  // src/providers/twilight-init.ts
130
130
  function getSalla() {
@@ -341,7 +341,7 @@ var navigationSetups = {
341
341
  };
342
342
  var routeDocumentSyncs = {
343
343
  tanstack: lazy(
344
- () => import('./document-class-AJGI7GKJ.js').then((m) => ({
344
+ () => import('./document-class-BRRNAIKV.js').then((m) => ({
345
345
  default: m.TanStackDocumentSync
346
346
  }))
347
347
  )
@@ -863,7 +863,7 @@ var LazySiftSnippet = lazy(
863
863
  () => import('./SiftSnippet-5FCU6TR6.js').then((m) => ({ default: m.SiftSnippet }))
864
864
  );
865
865
  var LazyStoreClosedNotification = lazy(
866
- () => import('./StoreClosedNotification-IRUTRLIH.js').then((m) => ({
866
+ () => import('./StoreClosedNotification-B3MQFPFY.js').then((m) => ({
867
867
  default: m.StoreClosedNotification
868
868
  }))
869
869
  );
@@ -1364,5 +1364,5 @@ function useStore() {
1364
1364
  }
1365
1365
 
1366
1366
  export { MasterLayout, TwilightProvider, fastCheckoutScript, registerDefaultHooks, registerDocumentSync, routeDocumentSyncs, useBreadcrumbs, useDate, useGtm, useMoney, useNumber, useOpeningHours, usePageConfig, useStore };
1367
- //# sourceMappingURL=chunk-RPDMNNRW.js.map
1368
- //# sourceMappingURL=chunk-RPDMNNRW.js.map
1367
+ //# sourceMappingURL=chunk-J47OCHM7.js.map
1368
+ //# sourceMappingURL=chunk-J47OCHM7.js.map