@envive-ai/react-hooks 0.1.2 → 0.1.4
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.
- package/dist/adapters/amplitude/index.cjs +8 -8
- package/dist/adapters/amplitude/index.d.cts +5 -3
- package/dist/adapters/amplitude/index.d.ts +5 -3
- package/dist/adapters/amplitude/index.js +5 -5
- package/dist/api-B2euFL-5.cjs +2 -1
- package/dist/api-XRr_lAG6.js +2 -1
- package/dist/application/config/index.cjs +14 -5
- package/dist/application/config/index.d.cts +2 -1
- package/dist/application/config/index.d.ts +2 -1
- package/dist/application/config/index.js +14 -5
- package/dist/application/models/graphql/index.cjs +7 -7
- package/dist/application/models/graphql/index.d.cts +1 -1
- package/dist/application/models/graphql/index.d.ts +1 -1
- package/dist/application/models/graphql/index.js +5 -5
- package/dist/application/models/guards/api/index.d.cts +2 -2
- package/dist/application/models/guards/api/index.d.ts +2 -2
- package/dist/application/models/index.cjs +49 -49
- package/dist/application/models/index.d.cts +8 -9
- package/dist/application/models/index.d.ts +8 -9
- package/dist/application/models/index.js +5 -5
- package/dist/application/models/utilityTypes/index.d.cts +1 -1
- package/dist/application/models/utilityTypes/index.d.ts +1 -1
- package/dist/application/models/variantInfo/index.d.cts +1 -1
- package/dist/application/models/variantInfo/index.d.ts +1 -1
- package/dist/application/service/customerService/index.cjs +1 -1
- package/dist/application/service/customerService/index.d.cts +2 -2
- package/dist/application/service/customerService/index.d.ts +2 -2
- package/dist/application/service/customerService/index.js +1 -1
- package/dist/application/service/index.cjs +30 -750
- package/dist/application/service/index.d.cts +14 -22
- package/dist/application/service/index.d.ts +14 -22
- package/dist/application/service/index.js +7 -722
- package/dist/application/utils/index.cjs +32 -32
- package/dist/application/utils/index.d.cts +13 -13
- package/dist/application/utils/index.d.ts +11 -11
- package/dist/application/utils/index.js +5 -5
- package/dist/atomStore-B1cgmbP0.js +32 -0
- package/dist/atomStore-JwGb7pcy.cjs +58 -0
- package/dist/atoms/app/index.cjs +11 -11
- package/dist/atoms/app/index.d.cts +11 -11
- package/dist/atoms/app/index.d.ts +11 -11
- package/dist/atoms/app/index.js +5 -5
- package/dist/atoms/atomStore/index.cjs +1 -2
- package/dist/atoms/atomStore/index.d.cts +2 -1
- package/dist/atoms/atomStore/index.d.ts +2 -1
- package/dist/atoms/atomStore/index.js +1 -2
- package/dist/atoms/chat/index.cjs +35 -35
- package/dist/atoms/chat/index.d.cts +37 -37
- package/dist/atoms/chat/index.d.ts +10 -10
- package/dist/atoms/chat/index.js +5 -5
- package/dist/atoms/globalSearch/index.cjs +1 -1
- package/dist/atoms/globalSearch/index.d.cts +7 -6
- package/dist/atoms/globalSearch/index.d.ts +7 -6
- package/dist/atoms/globalSearch/index.js +1 -1
- package/dist/atoms/org/index.cjs +32 -35
- package/dist/atoms/org/index.d.cts +32 -53
- package/dist/atoms/org/index.d.ts +31 -52
- package/dist/atoms/org/index.js +6 -7
- package/dist/atoms/search/index.cjs +36 -38
- package/dist/atoms/search/index.d.cts +9 -10
- package/dist/atoms/search/index.d.ts +9 -10
- package/dist/atoms/search/index.js +5 -7
- package/dist/bandolier-B76-OE75.cjs +1230 -0
- package/dist/bandolier-DRn_x1g1.js +1230 -0
- package/dist/carpe-kHi4RLB5.cjs +608 -0
- package/dist/carpe-qrSU99gq.js +606 -0
- package/dist/{chat-CCgyDehy.cjs → chat-BgONoYU7.cjs} +2 -1
- package/dist/chat-CLJ4NWcN.js +26 -0
- package/dist/{components-CScS7Ii-.cjs → components-BKZbet67.cjs} +2 -1
- package/dist/components-CV1fhAkj.js +11 -0
- package/dist/config/locators/components/chat/index.cjs +1 -1
- package/dist/config/locators/components/chat/index.d.cts +1 -1
- package/dist/config/locators/components/chat/index.d.ts +1 -1
- package/dist/config/locators/components/chat/index.js +1 -1
- package/dist/config/locators/components/chat/variants/index.cjs +2 -1
- package/dist/config/locators/components/chat/variants/index.d.cts +2 -1
- package/dist/config/locators/components/chat/variants/index.d.ts +2 -1
- package/dist/config/locators/components/chat/variants/index.js +2 -1
- package/dist/config/locators/components/index.cjs +1 -1
- package/dist/config/locators/components/index.d.cts +1 -1
- package/dist/config/locators/components/index.d.ts +1 -1
- package/dist/config/locators/components/index.js +1 -1
- package/dist/config/locators/components/search/index.cjs +2 -1
- package/dist/config/locators/components/search/index.d.cts +2 -1
- package/dist/config/locators/components/search/index.d.ts +2 -1
- package/dist/config/locators/components/search/index.js +2 -1
- package/dist/config/locators/index.cjs +4 -4
- package/dist/config/locators/index.d.cts +4 -3
- package/dist/config/locators/index.d.ts +4 -3
- package/dist/config/locators/index.js +4 -4
- package/dist/contexts/index.cjs +10 -13
- package/dist/contexts/index.d.cts +41 -22
- package/dist/contexts/index.d.ts +41 -22
- package/dist/contexts/index.js +6 -12
- package/dist/contexts-CQDwe3rK.cjs +14333 -0
- package/dist/contexts-e2sM-B9g.js +12919 -0
- package/dist/coterie-mMirPcHP.js +240 -0
- package/dist/coterie-yQ-_JXSw.cjs +240 -0
- package/dist/customerService-BG1uNZZ1.cjs +36 -0
- package/dist/customerService-BHQRnLhC.js +23 -0
- package/dist/custservice-types-C83itZmy.cjs +35 -0
- package/dist/custservice-types-DPQ-4TI6.js +23 -0
- package/dist/default-8Jfv8ehQ.cjs +199 -0
- package/dist/default-C8PQf-38.js +176 -0
- package/dist/default-LukSiCz1.js +4 -0
- package/dist/default-rJSJ887P.cjs +4 -0
- package/dist/divIds-CWkntTsx.js +23 -0
- package/dist/{divIds-CFyAjjp3.cjs → divIds-DEL_-qU0.cjs} +2 -1
- package/dist/dreamlandBaby-DHltv12Z.cjs +347 -0
- package/dist/dreamlandBaby-cG0HM9bt.js +347 -0
- package/dist/{embedded-BlXJUbik.cjs → embedded--2L0F4b5.cjs} +2 -1
- package/dist/embedded-C5uJqmuD.js +23 -0
- package/dist/entrypoints-CNUvSgnk.js +7 -0
- package/dist/entrypoints-DM9Sm18O.cjs +19 -0
- package/dist/events/index.d.cts +2 -1
- package/dist/events/index.d.ts +2 -1
- package/dist/events-ClCDFK7t.js +2 -1
- package/dist/events-Da7gpmGv.cjs +2 -1
- package/dist/featureFlagService-5wdmW02z.d.ts +18 -0
- package/dist/featureFlagService-DaelrXEk.d.cts +18 -0
- package/dist/fiveCbd-Cvnwh03g.cjs +614 -0
- package/dist/fiveCbd-DhYMlsf9.js +614 -0
- package/dist/forLoveAndLemons-C8DuUexW.js +666 -0
- package/dist/forLoveAndLemons-DR6a1zjJ.cjs +668 -0
- package/dist/{globalSearch-hxbXekus.cjs → globalSearch-BTeZxvk1.cjs} +2 -1
- package/dist/globalSearch-b0wC7ZEO.js +14 -0
- package/dist/greenpan-B4Pu65kV.js +398 -0
- package/dist/greenpan-BL5p6j7f.cjs +398 -0
- package/dist/grooveLife-DjKWHoN3.cjs +343 -0
- package/dist/grooveLife-JK0TyaPz.js +343 -0
- package/dist/homegrownCannabis-DxqSDkmS.js +411 -0
- package/dist/homegrownCannabis-ZnfCqW-m.cjs +411 -0
- package/dist/hooks/index.cjs +11 -11
- package/dist/hooks/index.d.cts +30 -21
- package/dist/hooks/index.d.ts +30 -21
- package/dist/hooks/index.js +6 -12
- package/dist/index-BTK5uzs6.d.cts +98 -0
- package/dist/index-BfuO9b0Q.d.ts +749 -0
- package/dist/index-BzgkfbNO.d.cts +228 -0
- package/dist/index-C62lPpy4.d.cts +25 -0
- package/dist/index-CExtydIH.d.ts +9 -0
- package/dist/index-CKKkTsms.d.ts +39 -0
- package/dist/index-CNsGWfS6.d.cts +749 -0
- package/dist/index-CYtsPztZ.d.cts +203 -0
- package/dist/index-C_C0tLeD.d.ts +203 -0
- package/dist/index-ClJ0nMsR.d.cts +184 -0
- package/dist/index-Cx9e-fRi.d.ts +184 -0
- package/dist/index-D2VaMPA3.d.ts +98 -0
- package/dist/index-D46Rd0io.d.cts +39 -0
- package/dist/index-DFL1dIT_.d.ts +7 -0
- package/dist/index-DPx8s5YH.d.ts +25 -0
- package/dist/index-Dxpscrvz.d.ts +228 -0
- package/dist/index-MFbPQ8Ji.d.ts +95 -0
- package/dist/index-VSFakgAI.d.cts +95 -0
- package/dist/index-jBATkcc_.d.cts +9 -0
- package/dist/index-zZjcds15.d.cts +7 -0
- package/dist/interceptors/index.cjs +7 -8
- package/dist/interceptors/index.d.cts +10 -10
- package/dist/interceptors/index.d.ts +10 -10
- package/dist/interceptors/index.js +5 -6
- package/dist/jackArcher-CXf_IAmC.js +728 -0
- package/dist/jackArcher-mGkojXek.cjs +728 -0
- package/dist/jordanCraig-BvCvPRoR.js +1787 -0
- package/dist/jordanCraig-Dv8pVCiS.cjs +1787 -0
- package/dist/kindredBravely-UQP7wiNu.cjs +491 -0
- package/dist/kindredBravely-X8F_LNph.js +491 -0
- package/dist/kutFromTheKloth-BhYKk3CN.cjs +370 -0
- package/dist/kutFromTheKloth-D1xsTSJr.js +370 -0
- package/dist/larryAndSerges-1411NuZa.cjs +262 -0
- package/dist/larryAndSerges-DVIRLItu.js +262 -0
- package/dist/leapsAndRebounds-BJ8mwr33.js +361 -0
- package/dist/leapsAndRebounds-UcP9EJVO.cjs +361 -0
- package/dist/logger-Dln20ans.cjs +2 -1
- package/dist/logger-pdEEY8T2.js +2 -1
- package/dist/longevityrx-BFSv9GF5.cjs +321 -0
- package/dist/longevityrx-Cp6wleWr.js +321 -0
- package/dist/lookOptic-BGhU4910.js +283 -0
- package/dist/lookOptic-KieSqskd.cjs +283 -0
- package/dist/mantraBrand-CHQw-0nw.cjs +751 -0
- package/dist/mantraBrand-DrqG9uqO.js +751 -0
- package/dist/medterra-CLG6Co1C.cjs +584 -0
- package/dist/medterra-D8ZX9NZC.js +584 -0
- package/dist/modells-BzyPwN2m.cjs +485 -0
- package/dist/modells-CAfqOCW4.js +485 -0
- package/dist/nodeSelector-B3bPtEjX.d.cts +31 -0
- package/dist/nodeSelector-BiCDowlK.d.ts +31 -0
- package/dist/orgConfigResults--dAwtw3W.d.ts +881 -0
- package/dist/orgConfigResults-BL0XBA6x.d.cts +881 -0
- package/dist/pressedFloral-DULBuQwR.cjs +662 -0
- package/dist/pressedFloral-Dp-7Fk3S.js +662 -0
- package/dist/search-filter-types-BNTLVXqQ.d.cts +102 -0
- package/dist/search-filter-types-DkmH1TxJ.d.ts +102 -0
- package/dist/skinPerfection-BxuYCeJX.js +335 -0
- package/dist/skinPerfection-Cd3XZ6By.cjs +335 -0
- package/dist/snapSupplements-Bf6htPM0.js +286 -0
- package/dist/snapSupplements-ZFnXyMuZ.cjs +286 -0
- package/dist/socialProofClasses-DdzG1tZy.js +10 -0
- package/dist/socialProofClasses-ky69yppk.cjs +40 -0
- package/dist/spanx-CwDPQaGj.js +662 -0
- package/dist/spanx-Cyd4qDlK.cjs +664 -0
- package/dist/spanxStaging-D43nyAGy.js +846 -0
- package/dist/spanxStaging-ijbYnHzr.cjs +849 -0
- package/dist/suggestionBarV2-types-CwOXzIKq.js +10 -0
- package/dist/{suggestionBarV2-types-DG3Ekk44.cjs → suggestionBarV2-types-Dc4-zJlV.cjs} +2 -1
- package/dist/supergoop-BnbFG7hm.cjs +338 -0
- package/dist/supergoop-CY043wIg.js +336 -0
- package/dist/test-types-CXVJxTeu.d.ts +40 -0
- package/dist/test-types-CuOq25VT.d.cts +40 -0
- package/dist/types/index.cjs +2 -2
- package/dist/types/index.d.cts +3 -3
- package/dist/types/index.d.ts +3 -3
- package/dist/types/index.js +2 -2
- package/dist/types-BF_CJeck.js +177 -0
- package/dist/types-CD4LFta-.d.cts +33 -0
- package/dist/types-CNH4sfF-.cjs +231 -0
- package/dist/types-DBdI0j89.d.ts +33 -0
- package/dist/uniqueVintage-Cui74mlJ.js +1212 -0
- package/dist/uniqueVintage-R2Jcu1y1.cjs +1214 -0
- package/dist/variant-CKVRF2-W.d.ts +13 -0
- package/dist/variant-raYuOP4L.d.cts +13 -0
- package/dist/venaCbd-o5_vOp4e.js +366 -0
- package/dist/venaCbd-r-IxEVc1.cjs +366 -0
- package/dist/westonJonBoucher-C95EuCl-.js +423 -0
- package/dist/westonJonBoucher-DjGEW3ZB.cjs +423 -0
- package/dist/wineEnthusiast-DeTFY8Gm.js +941 -0
- package/dist/wineEnthusiast-DvfcV5B3.cjs +941 -0
- package/dist/wolfMattress-6xPfOJt3.js +373 -0
- package/dist/wolfMattress-BjGnGKjP.cjs +373 -0
- package/dist/wolfTactical-Bi3WZu0m.cjs +350 -0
- package/dist/wolfTactical-C_F9-oPX.js +350 -0
- package/package.json +1 -1
- package/src/adapters/amplitude/amplitudeAdapter.ts +32 -9
- package/src/adapters/spiffy/commerce/api.ts +17 -8
- package/src/adapters/spiffy/commerce/graphql.ts +16 -5
- package/src/application/config/generalStaticConfig.ts +5 -2
- package/src/application/models/api/orgConfigResults.ts +6 -2
- package/src/application/models/validators/validateGraphQLColorsConfig.ts +23 -21
- package/src/application/service/cdnService.ts +4 -2
- package/src/application/service/index.ts +0 -1
- package/src/application/service/pageVariantService.ts +5 -5
- package/src/application/service/searchService.ts +9 -2
- package/src/application/service/windowChatToggleService.ts +28 -19
- package/src/application/service/windowFrontendConfigService.ts +7 -4
- package/src/atoms/app/index.ts +26 -17
- package/src/atoms/app/variant.ts +1 -0
- package/src/atoms/chat/messageQueue.ts +1 -1
- package/src/atoms/envive/enviveConfig.ts +81 -0
- package/src/atoms/org/graphqlConfig.ts +29 -11
- package/src/atoms/org/merchantCss.ts +114 -0
- package/src/atoms/org/org.ts +101 -64
- package/src/atoms/org/orgPageConfig.ts +9 -6
- package/src/atoms/org/orgUIConfig.ts +22 -9
- package/src/atoms/search/chatSearch.ts +85 -67
- package/src/contexts/chatContext.tsx +4 -1
- package/src/contexts/enviveConfigContext.tsx +37 -26
- package/src/contexts/enviveCssContext.tsx +20 -0
- package/src/contexts/index.ts +2 -0
- package/src/contexts/orgConfigContext.tsx +106 -0
- package/src/contexts/systemSettingsContext.tsx +22 -9
- package/src/contexts/types.ts +12 -9
- package/src/hooks/index.ts +1 -0
- package/src/hooks/useSearch.tsx +16 -9
- package/src/hooks/utils.ts +1 -1
- package/src/interceptors/useFormEscalation.ts +26 -9
- package/src/types/search-filter-types.ts +7 -7
- package/src/types.ts +0 -2
- package/dist/api-CxGedDxj.cjs +0 -5057
- package/dist/api-NJEaveju.js +0 -4113
- package/dist/atomStore-BFtpknLM.js +0 -31
- package/dist/atomStore-CeJm9Llb.cjs +0 -57
- package/dist/bandolier-C7PAIw02.js +0 -1230
- package/dist/bandolier-oMkFDJMF.cjs +0 -1230
- package/dist/carpe-C0ccKuR9.cjs +0 -608
- package/dist/carpe-DFc78_lJ.js +0 -606
- package/dist/cdnService-DvDSpfVJ.js +0 -18
- package/dist/cdnService-dJU3sHpF.cjs +0 -23
- package/dist/chat-Dk6KPb1K.js +0 -25
- package/dist/components-DAQxVIn9.js +0 -10
- package/dist/contexts-DO75-Kmx.js +0 -7152
- package/dist/contexts-iAzSvZjb.cjs +0 -7331
- package/dist/coterie-BGT8hqFR.js +0 -240
- package/dist/coterie-Cp9FAJTQ.cjs +0 -240
- package/dist/customerService-CUyZzowx.js +0 -22
- package/dist/customerService-DqPw_XKf.cjs +0 -35
- package/dist/custservice-types-D8Npo-5Z.js +0 -22
- package/dist/custservice-types-E9_OSaZ7.cjs +0 -34
- package/dist/default-BAXPatxf.cjs +0 -198
- package/dist/default-BR3225LZ.js +0 -4
- package/dist/default-DR6YjE9B.cjs +0 -4
- package/dist/default-wf_IORgo.js +0 -175
- package/dist/divIds-BWvq-i6I.js +0 -22
- package/dist/dreamlandBaby-BzuMvUFS.cjs +0 -347
- package/dist/dreamlandBaby-DZvM81LQ.js +0 -347
- package/dist/embedded-C1jvFj3v.js +0 -22
- package/dist/entrypoints-CmmOszXO.js +0 -6
- package/dist/entrypoints-fowCLUT2.cjs +0 -18
- package/dist/enviveConfigContext-CUGLpPGU.js +0 -34
- package/dist/enviveConfigContext-Dfr2VH6u.cjs +0 -48
- package/dist/featureFlagService-CroFRxvD.d.cts +0 -17
- package/dist/featureFlagService-NkJ2fuEj.d.ts +0 -17
- package/dist/featureGates-BMWXU0dS.d.ts +0 -90
- package/dist/featureGates-N_gyHCTn.d.cts +0 -90
- package/dist/fiveCbd-DE-tDY3d.cjs +0 -614
- package/dist/fiveCbd-HNBPqPtX.js +0 -614
- package/dist/forLoveAndLemons-BKmJJ9pq.js +0 -666
- package/dist/forLoveAndLemons-BeVEBOiu.cjs +0 -668
- package/dist/frontendConfig-KeNqU1wa.d.cts +0 -790
- package/dist/frontendConfig-cPvCTWm6.d.ts +0 -790
- package/dist/globalSearch-BC0rOX3E.js +0 -13
- package/dist/greenpan-BX1viAZB.js +0 -398
- package/dist/greenpan-chd3aa5I.cjs +0 -398
- package/dist/grooveLife-CHot3rZw.js +0 -343
- package/dist/grooveLife-DEob7rK0.cjs +0 -343
- package/dist/homegrownCannabis-CoIjcehi.cjs +0 -411
- package/dist/homegrownCannabis-CwkS1qDA.js +0 -411
- package/dist/index-BdNKc2ix.d.cts +0 -8
- package/dist/index-BkhvV8RZ.d.cts +0 -202
- package/dist/index-BrXuc_Ck.d.cts +0 -24
- package/dist/index-C4zjAR1c.d.cts +0 -227
- package/dist/index-CGB6CAmr.d.ts +0 -6
- package/dist/index-CIco0cCQ.d.ts +0 -183
- package/dist/index-COG1kOZG.d.ts +0 -749
- package/dist/index-CVxe7FpL.d.cts +0 -6
- package/dist/index-Cn1SeI5y.d.cts +0 -183
- package/dist/index-Cqg6ltII.d.ts +0 -38
- package/dist/index-CzMrMKx-.d.ts +0 -202
- package/dist/index-DE_7Q8qK.d.ts +0 -94
- package/dist/index-Da0UzyI9.d.ts +0 -24
- package/dist/index-DbWWcYax.d.cts +0 -749
- package/dist/index-DtoVXd6O.d.cts +0 -97
- package/dist/index-JClBRnSX.d.cts +0 -94
- package/dist/index-ghzD_356.d.ts +0 -8
- package/dist/index-hdbCEjYy.d.cts +0 -38
- package/dist/index-luJrHgPN.d.ts +0 -97
- package/dist/index-tfRj22E1.d.ts +0 -227
- package/dist/jackArcher-BA-pkB4A.js +0 -728
- package/dist/jackArcher-bewC0q1T.cjs +0 -728
- package/dist/jordanCraig-B5k9nlAw.cjs +0 -1787
- package/dist/jordanCraig-BsQ1mYbt.js +0 -1787
- package/dist/kindredBravely-BxYkCpGY.js +0 -491
- package/dist/kindredBravely-DsN0fo3s.cjs +0 -491
- package/dist/kutFromTheKloth-BQTCu3ct.cjs +0 -370
- package/dist/kutFromTheKloth-bukOQM3P.js +0 -370
- package/dist/larryAndSerges-D1ecaT5a.js +0 -261
- package/dist/larryAndSerges-bj7fgy9b.cjs +0 -261
- package/dist/leapsAndRebounds-BfneG_0c.cjs +0 -361
- package/dist/leapsAndRebounds-DhNpZETg.js +0 -361
- package/dist/locators-C2DX_nX6.js +0 -1
- package/dist/locators-CUpyd9Wt.cjs +0 -0
- package/dist/longevityrx-CnoGcw0w.js +0 -321
- package/dist/longevityrx-D0goIuX0.cjs +0 -321
- package/dist/lookOptic-C4afLPZP.cjs +0 -283
- package/dist/lookOptic-uJWIKpER.js +0 -283
- package/dist/mantraBrand-8JUlYtCE.cjs +0 -751
- package/dist/mantraBrand-DuwKHM26.js +0 -751
- package/dist/medterra-BQec8rzn.js +0 -584
- package/dist/medterra-DH067P-V.cjs +0 -584
- package/dist/modells-DAgLE2xo.js +0 -485
- package/dist/modells-DUFnLmAz.cjs +0 -485
- package/dist/nodeSelector-DpKXszfU.d.ts +0 -30
- package/dist/nodeSelector-vKB44CDB.d.cts +0 -30
- package/dist/org-C11APG3v.js +0 -63
- package/dist/org-CnHL2I9B.cjs +0 -106
- package/dist/pressedFloral-DVZVfOSQ.cjs +0 -662
- package/dist/pressedFloral-MdbuoRyA.js +0 -662
- package/dist/search-CvHb1M3S.js +0 -542
- package/dist/search-bSYdOBhY.cjs +0 -743
- package/dist/search-filter-types-BsJjrxk0.d.ts +0 -101
- package/dist/search-filter-types-CqaGK3nM.d.cts +0 -101
- package/dist/skinPerfection-BcEWICQN.cjs +0 -335
- package/dist/skinPerfection-bGiYxq1i.js +0 -335
- package/dist/snapSupplements-BXSXTjqF.cjs +0 -286
- package/dist/snapSupplements-D7hHhdC9.js +0 -286
- package/dist/socialProofClasses-BYLiEXpU.cjs +0 -39
- package/dist/socialProofClasses-CkJufEGb.js +0 -9
- package/dist/spanx-5-0yX3iK.js +0 -662
- package/dist/spanx-lUzP6Lva.cjs +0 -664
- package/dist/spanxStaging-HglCMJag.js +0 -846
- package/dist/spanxStaging-hreMR0MS.cjs +0 -849
- package/dist/suggestionBarV2-types-B0RbMStE.js +0 -9
- package/dist/supergoop-C9DDT3lY.js +0 -335
- package/dist/supergoop-CkjtuRck.cjs +0 -337
- package/dist/test-types-C9b_OdfO.d.ts +0 -39
- package/dist/test-types-CpKCxk8U.d.cts +0 -39
- package/dist/types-BE4faOO_.d.cts +0 -32
- package/dist/types-BUjohkXp.cjs +0 -230
- package/dist/types-BVsTRyxL.js +0 -176
- package/dist/types-TD8g7LnH.d.ts +0 -32
- package/dist/uniqueVintage-DIMGtYAU.cjs +0 -1214
- package/dist/uniqueVintage-DPWA5Ed6.js +0 -1212
- package/dist/useMessageInterceptor-B-P_rw73.cjs +0 -72
- package/dist/useMessageInterceptor-C2RZM-fo.js +0 -57
- package/dist/variant-BGjOVpY3.d.cts +0 -12
- package/dist/variant-XITncuI3.d.ts +0 -12
- package/dist/venaCbd-B-znfAsl.js +0 -366
- package/dist/venaCbd-BOwOtpOz.cjs +0 -366
- package/dist/westonJonBoucher-CraTzRVt.cjs +0 -423
- package/dist/westonJonBoucher-DCRagGu3.js +0 -423
- package/dist/wineEnthusiast-Bv7umajk.js +0 -941
- package/dist/wineEnthusiast-sVuATrq6.cjs +0 -941
- package/dist/wolfMattress-BUH-Rhov.js +0 -373
- package/dist/wolfMattress-DpVHIEnJ.cjs +0 -373
- package/dist/wolfTactical-BcvF_sy-.cjs +0 -350
- package/dist/wolfTactical-Q14A1fpw.js +0 -350
- package/src/application/service/environmentService.ts +0 -51
- package/src/extension.ts +0 -63
- package/src/initialize.ts +0 -163
- package/src/main.tsx +0 -108
- package/src/merchants/uniqueVintage/views/useUniqueVintageChatSearch.ts +0 -147
- /package/dist/{atomStore-FSZd_20F.js → locators-Dc5ZT0aF.js} +0 -0
- /package/dist/{atomStore-B3tsg6mF.cjs → locators-lQMJj830.cjs} +0 -0
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { ContextSourceEnum } from "@spiffy-ai/commerce-api-client";
|
|
2
|
-
import { LocalStorageService } from "./localStorageService";
|
|
3
|
-
import { useEnviveConfig } from "src/contexts/enviveConfigContext";
|
|
4
|
-
|
|
5
|
-
class EnvironmentService {
|
|
6
|
-
static getApiEndpoint() {
|
|
7
|
-
const { baseUrl } = useEnviveConfig();
|
|
8
|
-
return baseUrl || "https://commerce-api.dev.spiffy.ai";
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
static getContextSource(): ContextSourceEnum {
|
|
12
|
-
// detect if we're in a storybook context. this is set up in preview.ts
|
|
13
|
-
if (window.IS_STORYBOOK) {
|
|
14
|
-
return ContextSourceEnum.Test;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
const { contextSource } = useEnviveConfig();
|
|
18
|
-
if (contextSource) {
|
|
19
|
-
return contextSource as ContextSourceEnum;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
const spiffyOnFeatureFlagSet = LocalStorageService.getSpiffyOnFeatureFlag();
|
|
23
|
-
if (spiffyOnFeatureFlagSet === "true") {
|
|
24
|
-
return ContextSourceEnum.Playground;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
return ContextSourceEnum.App;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
static getIdentifyingPrefix(): string {
|
|
31
|
-
return "spiffy";
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
static getEnvironment = () => {
|
|
35
|
-
const { env } = useEnviveConfig();
|
|
36
|
-
|
|
37
|
-
if (!env) {
|
|
38
|
-
return "dev";
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
switch (env.toLowerCase()) {
|
|
42
|
-
case "production":
|
|
43
|
-
case "prod":
|
|
44
|
-
return "prod";
|
|
45
|
-
default:
|
|
46
|
-
return "dev";
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
export { EnvironmentService };
|
package/src/extension.ts
DELETED
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
-
|
|
3
|
-
import Logger from './application/logging/logger';
|
|
4
|
-
|
|
5
|
-
export type ExtensionInfo = {
|
|
6
|
-
isLoading: boolean;
|
|
7
|
-
isInjected: boolean;
|
|
8
|
-
error?: string | null;
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
enum MessageTypes {
|
|
12
|
-
ExtensionInfoUpdate = 'spiffy-extension-info-update',
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export const EXTENSION_ID = 'ohickcjdalobhoohmnpjnmgaalphmdje';
|
|
16
|
-
|
|
17
|
-
const sendMessageToExtensionHost = (type: MessageTypes, payload: ExtensionInfo) => {
|
|
18
|
-
if (!window.chrome?.runtime) {
|
|
19
|
-
return Logger.logDebug(
|
|
20
|
-
'[spiffy-ai] Extension runtime is not exposed, so not sending message',
|
|
21
|
-
undefined,
|
|
22
|
-
);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
return window.chrome.runtime
|
|
26
|
-
.sendMessage(EXTENSION_ID, { msg: type, ...payload })
|
|
27
|
-
.then((_response: any) => {
|
|
28
|
-
if (window.chrome.runtime.lastError) {
|
|
29
|
-
Logger.logError(window.chrome.runtime.lastError, undefined);
|
|
30
|
-
} else {
|
|
31
|
-
Logger.logDebug('[spiffy-ai] Received response from extension host');
|
|
32
|
-
}
|
|
33
|
-
})
|
|
34
|
-
.catch(() => {
|
|
35
|
-
Logger.logDebug('[spiffy-ai] Unable to log extension message', type, payload);
|
|
36
|
-
});
|
|
37
|
-
};
|
|
38
|
-
|
|
39
|
-
export const tellExtensionInjectionIsLoading = () => {
|
|
40
|
-
return sendMessageToExtensionHost(MessageTypes.ExtensionInfoUpdate, {
|
|
41
|
-
isLoading: true,
|
|
42
|
-
isInjected: false,
|
|
43
|
-
error: null,
|
|
44
|
-
});
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
// This is being used in the dynamic script we build and run in the browser.
|
|
48
|
-
export const tellExtensionAboutInjectionError = (error: Error) => {
|
|
49
|
-
return sendMessageToExtensionHost(MessageTypes.ExtensionInfoUpdate, {
|
|
50
|
-
isLoading: false,
|
|
51
|
-
isInjected: false,
|
|
52
|
-
error: error.message,
|
|
53
|
-
});
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
// This is being used in the dynamic script we build and run in the browser.
|
|
57
|
-
export const tellExtensionAboutSuccessfullInjection = () => {
|
|
58
|
-
return sendMessageToExtensionHost(MessageTypes.ExtensionInfoUpdate, {
|
|
59
|
-
isLoading: false,
|
|
60
|
-
isInjected: true,
|
|
61
|
-
error: null,
|
|
62
|
-
});
|
|
63
|
-
};
|
package/src/initialize.ts
DELETED
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
import Logger from "src/application/logging/logger";
|
|
2
|
-
// this import brings in amplitude and a bunch of other large libraries
|
|
3
|
-
import { EnvironmentService } from "src/application/service/environmentService";
|
|
4
|
-
import {
|
|
5
|
-
LocalStorageKeys,
|
|
6
|
-
LocalStorageService,
|
|
7
|
-
} from "src/application/service/localStorageService";
|
|
8
|
-
import { UserIdentityService } from "src/application/service/userIdentityService";
|
|
9
|
-
import { initWindowFrontendConfigOverridesApplyFunction } from "src/application/service/windowFrontendConfigService";
|
|
10
|
-
import {
|
|
11
|
-
initAmplitude,
|
|
12
|
-
initDataLayerWrapper,
|
|
13
|
-
} from "src/application/utils/analyticsUtils";
|
|
14
|
-
import { getAtomStore } from "src/atoms/atomStore/atomStore";
|
|
15
|
-
import {
|
|
16
|
-
apiKeyAtom,
|
|
17
|
-
featureFlagServiceAtom,
|
|
18
|
-
getAsyncOrgConfig,
|
|
19
|
-
} from "src/atoms/org/org";
|
|
20
|
-
import { EnabledFeatures } from "src/enabled-features";
|
|
21
|
-
import {
|
|
22
|
-
EXTENSION_ID,
|
|
23
|
-
tellExtensionAboutInjectionError,
|
|
24
|
-
tellExtensionInjectionIsLoading,
|
|
25
|
-
} from "src/extension";
|
|
26
|
-
|
|
27
|
-
const handleSpiffyOn = () => {
|
|
28
|
-
const spiffyOn = new URLSearchParams(window.location.search).get(
|
|
29
|
-
LocalStorageKeys.SpiffyOnOverride
|
|
30
|
-
);
|
|
31
|
-
const enviveOn = new URLSearchParams(window.location.search).get(
|
|
32
|
-
LocalStorageKeys.EnviveOnOverride
|
|
33
|
-
);
|
|
34
|
-
|
|
35
|
-
const isOn = spiffyOn === "true" || enviveOn === "true";
|
|
36
|
-
if (spiffyOn == null && enviveOn == null) {
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
if (isOn === true) {
|
|
41
|
-
LocalStorageService.setSpiffyOnFeatureFlag(true);
|
|
42
|
-
return;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
LocalStorageService.setSpiffyOnFeatureFlag(false);
|
|
46
|
-
// Do nothing for missing or other values
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
const getEntryPoint = (): string => {
|
|
50
|
-
// If `spiffy_main_file` query param is set - use an alternate file for injection
|
|
51
|
-
const queryParamName = `${EnvironmentService.getIdentifyingPrefix()}_main_file`;
|
|
52
|
-
const overrideParam = new URLSearchParams(window.location.search).get(
|
|
53
|
-
queryParamName
|
|
54
|
-
);
|
|
55
|
-
if (overrideParam) {
|
|
56
|
-
return overrideParam;
|
|
57
|
-
}
|
|
58
|
-
// #if (VITE_IS_LOCAL_ENV=="true")
|
|
59
|
-
return "/src/main.tsx";
|
|
60
|
-
// #else
|
|
61
|
-
return new URL("./main.js", import.meta.url).toString();
|
|
62
|
-
// #endif
|
|
63
|
-
};
|
|
64
|
-
|
|
65
|
-
const loadAndInit = async () => {
|
|
66
|
-
// #if (VITE_SPLIT_BUILD=="true")
|
|
67
|
-
const script = document.createElement("script");
|
|
68
|
-
script.innerHTML = `
|
|
69
|
-
import('${getEntryPoint()}').then(async ({ initApp, tellExtensionAboutInjectionError }) => {
|
|
70
|
-
try {
|
|
71
|
-
if (document.readyState === 'loading') {
|
|
72
|
-
console.log('[spiffy-ai] document.body is not defined, waiting for DOMContentLoaded');
|
|
73
|
-
document.addEventListener('DOMContentLoaded', initApp);
|
|
74
|
-
} else {
|
|
75
|
-
await initApp();
|
|
76
|
-
}
|
|
77
|
-
} catch (e) {
|
|
78
|
-
await tellExtensionAboutInjectionError(e);
|
|
79
|
-
}
|
|
80
|
-
}).catch(async (e) => {
|
|
81
|
-
if (window.chrome && window.chrome.runtime) {
|
|
82
|
-
await window.chrome.runtime.sendMessage(
|
|
83
|
-
'${EXTENSION_ID}',
|
|
84
|
-
{ msg: "spiffy-extension-info-update", error: e.message, isLoading: false, isInjected: false },
|
|
85
|
-
);
|
|
86
|
-
}
|
|
87
|
-
})`;
|
|
88
|
-
script.type = "module";
|
|
89
|
-
script.id = "spiffy-injection-script";
|
|
90
|
-
document.head.appendChild(script);
|
|
91
|
-
// #else
|
|
92
|
-
const { initApp } = await import("./main");
|
|
93
|
-
await initApp();
|
|
94
|
-
// #endif
|
|
95
|
-
};
|
|
96
|
-
|
|
97
|
-
/**
|
|
98
|
-
* Checks if Spiffy is enabled for the current merchant and initializes the main bundle.
|
|
99
|
-
* If Spiffy is disabled, it initializes analytics only.
|
|
100
|
-
*
|
|
101
|
-
* @param apiKeyOverride - Optional API key to use instead of the key configured for the
|
|
102
|
-
* merchant. This should only be used for local development to toggle between different
|
|
103
|
-
* merchants.
|
|
104
|
-
*
|
|
105
|
-
* @returns True if Spiffy is enabled, false otherwise.
|
|
106
|
-
*/
|
|
107
|
-
export const init = async (apiKeyOverride?: string) => {
|
|
108
|
-
if (window[EnvironmentService.getIdentifyingPrefix()]?.isInitialized) {
|
|
109
|
-
Logger.logDebug(`[spiffy-ai] Spiffy is already initialized`);
|
|
110
|
-
return true;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
try {
|
|
114
|
-
await tellExtensionInjectionIsLoading();
|
|
115
|
-
|
|
116
|
-
handleSpiffyOn();
|
|
117
|
-
const atomStore = getAtomStore();
|
|
118
|
-
const apiKey = apiKeyOverride ?? atomStore.get(apiKeyAtom);
|
|
119
|
-
const orgConfig = await getAsyncOrgConfig(apiKey);
|
|
120
|
-
|
|
121
|
-
if (!orgConfig.org) {
|
|
122
|
-
throw new Error("orgConfig is required but is undefined");
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
if (!window._spiffy) {
|
|
126
|
-
window._spiffy = {};
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
const featureFlagService = atomStore.get(featureFlagServiceAtom);
|
|
130
|
-
|
|
131
|
-
const enabledFeatures = await EnabledFeatures.get(
|
|
132
|
-
orgConfig,
|
|
133
|
-
featureFlagService
|
|
134
|
-
);
|
|
135
|
-
|
|
136
|
-
// Force initialization of the AmplitudeAdapter now,
|
|
137
|
-
// so that we automatically immediately send a Page Viewed event,
|
|
138
|
-
// regardless of whether Spiffy is enabled or not.
|
|
139
|
-
initAmplitude();
|
|
140
|
-
initDataLayerWrapper();
|
|
141
|
-
// Attach a function so callers can explicitly apply overrides to FrontendConfig
|
|
142
|
-
initWindowFrontendConfigOverridesApplyFunction();
|
|
143
|
-
await UserIdentityService.identifyUser();
|
|
144
|
-
|
|
145
|
-
if (enabledFeatures.envive) {
|
|
146
|
-
// #if (VITE_IS_CODE_SPLIT_BUILD=="true")
|
|
147
|
-
const { initApp } = await import("./main");
|
|
148
|
-
await initApp();
|
|
149
|
-
// #else
|
|
150
|
-
await loadAndInit();
|
|
151
|
-
// #endif
|
|
152
|
-
return true;
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
await tellExtensionAboutInjectionError({
|
|
156
|
-
message: "Spiffy is disabled",
|
|
157
|
-
} as Error);
|
|
158
|
-
return false;
|
|
159
|
-
} catch (error: any) {
|
|
160
|
-
await tellExtensionAboutInjectionError(error);
|
|
161
|
-
throw error;
|
|
162
|
-
}
|
|
163
|
-
};
|
package/src/main.tsx
DELETED
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
import ReactDOM from "react-dom/client";
|
|
2
|
-
import Logger from "./application/logging/logger";
|
|
3
|
-
import { EventsDispatcher, SpiffyEvent } from "./events";
|
|
4
|
-
import { PerfMetricsEvents, logPerfMetricAtom } from "./atoms/chat";
|
|
5
|
-
import { getAtomStore } from "./atoms/atomStore/atomStore";
|
|
6
|
-
import { getAsyncOrgConfig } from "./atoms/org";
|
|
7
|
-
import {
|
|
8
|
-
getOrgInfo as getOrgInfoFromSupportedOrgs,
|
|
9
|
-
VariantInfo,
|
|
10
|
-
} from "./application/models";
|
|
11
|
-
import { EnvironmentService } from "./application/service/environmentService";
|
|
12
|
-
import { OrgInfo } from "./types";
|
|
13
|
-
import { prepareMerchantPage } from "./application/utils/merchantUtils";
|
|
14
|
-
import { CONTAINER_ID } from "./config/divIds";
|
|
15
|
-
import { hasParsedVariantInfoAtom } from "./atoms/app/variant";
|
|
16
|
-
import { EnviveConfigProvider } from "./contexts/enviveConfigContext";
|
|
17
|
-
import React from "react";
|
|
18
|
-
|
|
19
|
-
declare global {
|
|
20
|
-
interface Window {
|
|
21
|
-
dataLayer: any;
|
|
22
|
-
gtag: (...args: any[]) => void;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
const createReactRoot = () => {
|
|
27
|
-
const containerRoot = document.createElement("div");
|
|
28
|
-
containerRoot.id = CONTAINER_ID;
|
|
29
|
-
containerRoot.style.display = "none";
|
|
30
|
-
document.body.appendChild(containerRoot);
|
|
31
|
-
const reactContainerRoot = ReactDOM.createRoot(containerRoot);
|
|
32
|
-
return reactContainerRoot;
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
const getOrgInfo = async (): Promise<OrgInfo> => {
|
|
36
|
-
const orgConfig = await getAsyncOrgConfig();
|
|
37
|
-
|
|
38
|
-
if (!orgConfig.org) {
|
|
39
|
-
throw new Error("orgConfig.org is required but is undefined");
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
const orgShortName = orgConfig.org.org.shortName;
|
|
43
|
-
|
|
44
|
-
if (!orgShortName) {
|
|
45
|
-
throw new Error("orgShortName is required but is undefined");
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
const orgInfo = await getOrgInfoFromSupportedOrgs(orgShortName);
|
|
49
|
-
|
|
50
|
-
if (!orgInfo) {
|
|
51
|
-
throw new Error(
|
|
52
|
-
`no matching OrgInfo found for orgShortName=${orgShortName}`
|
|
53
|
-
);
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
return {
|
|
57
|
-
name: orgInfo.name,
|
|
58
|
-
domain: orgInfo.domain,
|
|
59
|
-
defaultProductId: orgInfo.defaultProductId,
|
|
60
|
-
alwaysEnabledMerchants: orgInfo.alwaysEnabledMerchants,
|
|
61
|
-
orgPageConfig: orgInfo.orgPageConfig,
|
|
62
|
-
};
|
|
63
|
-
};
|
|
64
|
-
|
|
65
|
-
const RootApp: React.FC = () => {
|
|
66
|
-
const atomStore = getAtomStore();
|
|
67
|
-
atomStore.set(logPerfMetricAtom, PerfMetricsEvents.MainBundleLoaded);
|
|
68
|
-
EventsDispatcher.dispatch(SpiffyEvent.APP_INITIALIZED);
|
|
69
|
-
EventsDispatcher.dispatch(SpiffyEvent.CALL_MERCHANT_APP);
|
|
70
|
-
prepareMerchantPage();
|
|
71
|
-
getAsyncOrgConfig();
|
|
72
|
-
|
|
73
|
-
const existing = window[EnvironmentService.getIdentifyingPrefix()] || {};
|
|
74
|
-
window[EnvironmentService.getIdentifyingPrefix()] = {
|
|
75
|
-
...existing,
|
|
76
|
-
getOrgInfo,
|
|
77
|
-
isInitialized: true,
|
|
78
|
-
refresh: async () => {
|
|
79
|
-
Logger.logDebug("[spiffy-ai] window._spiffy.refresh called");
|
|
80
|
-
},
|
|
81
|
-
setVariantInfoOverride: (variantInfo: VariantInfo) => {
|
|
82
|
-
window._spiffy.variantInfoOverride = variantInfo;
|
|
83
|
-
// Reset the variant info to force a re-parse
|
|
84
|
-
atomStore.set(hasParsedVariantInfoAtom, false);
|
|
85
|
-
},
|
|
86
|
-
};
|
|
87
|
-
|
|
88
|
-
return null; // This component primarily sets up global state and side effects
|
|
89
|
-
};
|
|
90
|
-
|
|
91
|
-
export const initApp = async () => {
|
|
92
|
-
const reactContainerRoot = createReactRoot();
|
|
93
|
-
reactContainerRoot.render(
|
|
94
|
-
<EnviveConfigProvider
|
|
95
|
-
amplitudeApiKey={process.env.VITE_AMPLITUDE_API_KEY || ""}
|
|
96
|
-
dataResidency={process.env.VITE_DATA_RESIDENCY || ""}
|
|
97
|
-
env={process.env.VITE_ENV || ""}
|
|
98
|
-
baseUrl={process.env.VITE_BASE_URL || ""}
|
|
99
|
-
reactAppName={process.env.VITE_REACT_APP_NAME || ""}
|
|
100
|
-
cdnUrl={process.env.VITE_SPIFFY_CDN_URL || ""}
|
|
101
|
-
contextSource={process.env.VITE_CONTEXT_SOURCE || ""}
|
|
102
|
-
orgLevelApiKey={process.env.VITE_SPIFFY_ORG_LEVEL_API_KEY || ""}
|
|
103
|
-
orgShortName={process.env.VITE_ORG_SHORT_NAME || ""}
|
|
104
|
-
>
|
|
105
|
-
<RootApp />
|
|
106
|
-
</EnviveConfigProvider>
|
|
107
|
-
);
|
|
108
|
-
};
|
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
import { useAtomValue } from 'jotai';
|
|
2
|
-
import { AmplitudeAdapter, SpiffyMetricsEventName } from 'src/adapters/amplitude';
|
|
3
|
-
import { SelectorFactory } from 'src/application/utils/nodeSelector';
|
|
4
|
-
import { orgUIConfigAtom } from 'src/atoms/org/orgUIConfig';
|
|
5
|
-
|
|
6
|
-
import { ElementObserverUtility, useElementObserver, useIsSmallScreen } from 'src/hooks';
|
|
7
|
-
|
|
8
|
-
export const useUniqueVintageChatSearch = () => {
|
|
9
|
-
const orgUIConfig = useAtomValue(orgUIConfigAtom);
|
|
10
|
-
const ids = orgUIConfig.conversationalSearch;
|
|
11
|
-
const isSmallScreen = useIsSmallScreen();
|
|
12
|
-
|
|
13
|
-
const entrypointContainer = useElementObserver(SelectorFactory.parse(ids?.entrypointContainer));
|
|
14
|
-
const productGridContainer = useElementObserver(SelectorFactory.parse(ids?.productGridContainer));
|
|
15
|
-
const searchContainer = useElementObserver(SelectorFactory.parse(ids?.searchContent)); // // .ss__autocomplete--target
|
|
16
|
-
const pageContent = useElementObserver(SelectorFactory.parse(ids?.pageContent));
|
|
17
|
-
const generalSearchBtn = useElementObserver(SelectorFactory.parse(ids?.generalSearchBtn));
|
|
18
|
-
const navEntryPointContainer = useElementObserver(
|
|
19
|
-
SelectorFactory.query('.menu-drawer__navigation-container'),
|
|
20
|
-
);
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* TODO: Added this for now to fulfill a Unique Vintage requirement, but it'll be removed when
|
|
24
|
-
* migrating to the mount point structure.
|
|
25
|
-
*/
|
|
26
|
-
// UV has two different search fields so we need to check them both.
|
|
27
|
-
const nativeSearchTextFields = [
|
|
28
|
-
// Mobile search field
|
|
29
|
-
useElementObserver(SelectorFactory.query('#Search-In-Modal')),
|
|
30
|
-
// Desktop search field
|
|
31
|
-
useElementObserver(SelectorFactory.query('#Search-In-Modal-1')),
|
|
32
|
-
];
|
|
33
|
-
const searchBar = useElementObserver(SelectorFactory.query('.mobile-search'));
|
|
34
|
-
const desktopSearchInput = useElementObserver(SelectorFactory.query('#Search-In-Modal-1'));
|
|
35
|
-
const mobileSearchInput = useElementObserver(SelectorFactory.query('#Search-In-Modal'));
|
|
36
|
-
const mobileEntrypointContainer = useElementObserver(
|
|
37
|
-
SelectorFactory.query('.mobile-search .ss__autocomplete--target'),
|
|
38
|
-
);
|
|
39
|
-
|
|
40
|
-
if (mobileSearchInput.targetNode) {
|
|
41
|
-
mobileSearchInput.targetNode.onfocus = () => {
|
|
42
|
-
AmplitudeAdapter.trackEvent({
|
|
43
|
-
eventName: SpiffyMetricsEventName.SearchBarClicked,
|
|
44
|
-
eventProps: {
|
|
45
|
-
search_bar_id: mobileSearchInput.targetNode?.id,
|
|
46
|
-
},
|
|
47
|
-
alsoSendToGoogleAnalytics: true,
|
|
48
|
-
});
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
if (desktopSearchInput.targetNode) {
|
|
52
|
-
desktopSearchInput.targetNode.onfocus = () => {
|
|
53
|
-
AmplitudeAdapter.trackEvent({
|
|
54
|
-
eventName: SpiffyMetricsEventName.SearchBarClicked,
|
|
55
|
-
eventProps: {
|
|
56
|
-
search_bar_id: desktopSearchInput.targetNode?.id,
|
|
57
|
-
},
|
|
58
|
-
alsoSendToGoogleAnalytics: true,
|
|
59
|
-
});
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
const searchContent = useElementObserver(SelectorFactory.id('chat-search-entrypoint-mobile'));
|
|
64
|
-
|
|
65
|
-
entrypointContainer.onAdd(() => {
|
|
66
|
-
entrypointContainer.unblockRendering();
|
|
67
|
-
});
|
|
68
|
-
navEntryPointContainer.onAdd((el) => {
|
|
69
|
-
const div = document.createElement('div');
|
|
70
|
-
div.id = 'chat-search-nav-entrypoint';
|
|
71
|
-
div.classList.add(
|
|
72
|
-
'spiffy-tw-w-full',
|
|
73
|
-
'spiffy-tw-flex',
|
|
74
|
-
'spiffy-tw-py-2',
|
|
75
|
-
'spiffy-tw-items-center',
|
|
76
|
-
'spiffy-tw-justify-center',
|
|
77
|
-
);
|
|
78
|
-
el?.prepend(div);
|
|
79
|
-
navEntryPointContainer.unblockRendering();
|
|
80
|
-
});
|
|
81
|
-
|
|
82
|
-
searchContent.onAdd(() => {
|
|
83
|
-
searchContent.unblockRendering();
|
|
84
|
-
});
|
|
85
|
-
|
|
86
|
-
searchContainer.onAdd((el) => {
|
|
87
|
-
// Create a container for the entry point component and insert it properly into the DOM.
|
|
88
|
-
const div = document.createElement('div');
|
|
89
|
-
div.id = 'chat-search-entrypoint';
|
|
90
|
-
div.classList.add(
|
|
91
|
-
'spiffy-tw-mt-5',
|
|
92
|
-
'spiffy-tw-w-full',
|
|
93
|
-
'spiffy-tw-flex',
|
|
94
|
-
'spiffy-tw-items-center',
|
|
95
|
-
'spiffy-tw-justify-center',
|
|
96
|
-
);
|
|
97
|
-
el?.prepend(div);
|
|
98
|
-
});
|
|
99
|
-
|
|
100
|
-
mobileEntrypointContainer.onAdd((el) => {
|
|
101
|
-
// Create a container for the entry point component and insert it properly into the DOM.
|
|
102
|
-
const div = document.createElement('div');
|
|
103
|
-
div.id = 'chat-search-entrypoint-mobile';
|
|
104
|
-
div.classList.add(
|
|
105
|
-
'spiffy-tw-mt-5',
|
|
106
|
-
'spiffy-tw-w-full',
|
|
107
|
-
'spiffy-tw-flex',
|
|
108
|
-
'spiffy-tw-items-center',
|
|
109
|
-
'spiffy-tw-justify-center',
|
|
110
|
-
);
|
|
111
|
-
el?.prepend(div);
|
|
112
|
-
});
|
|
113
|
-
|
|
114
|
-
pageContent.onAdd((el) => {
|
|
115
|
-
// Create a container for the product page component and insert it properly into the DOM.
|
|
116
|
-
const div = document.createElement('div');
|
|
117
|
-
div.id = 'chat-search-product-page';
|
|
118
|
-
el?.insertAdjacentElement('afterend', div);
|
|
119
|
-
});
|
|
120
|
-
|
|
121
|
-
const onShowProductGrid = () => {
|
|
122
|
-
isSmallScreen && searchBar.hide();
|
|
123
|
-
};
|
|
124
|
-
|
|
125
|
-
const getNativeSearchTextFieldValue = (): string => {
|
|
126
|
-
// Find the first search field that has a value.
|
|
127
|
-
const nativeSearchTextField: ElementObserverUtility | undefined = nativeSearchTextFields.find(
|
|
128
|
-
(field) => field.targetNode instanceof HTMLInputElement && field.targetNode.value,
|
|
129
|
-
);
|
|
130
|
-
if (nativeSearchTextField && nativeSearchTextField.targetNode instanceof HTMLInputElement) {
|
|
131
|
-
return nativeSearchTextField.targetNode.value;
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
return '';
|
|
135
|
-
};
|
|
136
|
-
|
|
137
|
-
return {
|
|
138
|
-
entrypointContainer,
|
|
139
|
-
productGridContainer,
|
|
140
|
-
pageContent,
|
|
141
|
-
generalSearchBtn,
|
|
142
|
-
searchContent,
|
|
143
|
-
getNativeSearchTextFieldValue,
|
|
144
|
-
onShowProductGrid,
|
|
145
|
-
navEntryPointContainer,
|
|
146
|
-
};
|
|
147
|
-
};
|
|
File without changes
|
|
File without changes
|