PageSourceSearch

https://chocolatye.ru/static/resources/BookingWidgetBase/Component…?x_module=852a83838642fb788bb7a9eda3e8953c

js chocolatye.ru collected 2026-10-02 02:10:46 UTC 2,793 bytes, 1 lines download raw bytes

1define("BookingWidgetBase/Components/WidgetOpener",["require","exports","react/jsx-runtime","react","Controls/popup","WasabyLoader/ModulesLoader","Types/object","Env/Env","Types/util","Controls/Store"],(function(e,t,n,o,r,i,l,s,u,a){"use strict";function c(e){var t;a.default.dispatch(g,!1),null===(t=e.current)||void 0===t||t.resolve(),e.current=null}async function d(t){const{WidgetType:n}=await new Promise(((t,n)=>{e(["BookingWidgetBase/utils"],t,n)}));if(t===n.Beauty)return"BookingWidgetAppointment/Controllers/PopupOpener";else if(t===n.Presto)return"BookingWidgetReservation/Controllers/PopupOpener";else if(t===n.Delivery)return"BookingWidgetDelivery/Controllers/PopupOpener";else if(t===n.Hotel)return"BookingWidgetHotel/Controllers/PopupOpener";else throw new Error("Неизвестный тип виджета")}function p(t,p){const{controllerPath:v,contentComponent:f="BookingWidgetBase/popupOpener:Template",widgetOptions:m,...w}=t,y=(0,o.useRef)(null),B=(0,o.useRef)(null),W=(0,o.useRef)({});return(0,o.useEffect)((()=>()=>c(B)),[]),(0,o.useImperativeHandle)(p,(()=>({openWidget:async t=>{var n,o;const{closeCallback:r,widgetOptions:p,...f}=(0,l.merge)({},w,{widgetOptions:m},t);if(B.current||a.default.get(g))return void(null==r||r());let C;a.default.dispatch(g,!0);const{BookingStore:O,getPromiseWithResolvers:k}=await new Promise(((t,n)=>{e(["BookingWidgetBase/utils"],t,n)}));B.current=k();try{const e=v||await(null==d?void 0:d(p.widgetType)),t=function(e,{shopUUID:t,eventUUID:n}){if(t||n)return e+"_"+(t||n);return e}(e,p);if(!W.current[t]){const n=new(await(0,i.loadAsync)(e));W.current[t]=n}let l;if(!p.activeTheme)l=p.theme||f.theme;W.current[t].updateState({...f,openCallback:()=>{var e;const t=document.querySelector(`[popupKey=${C}]`);if(!s.detection.isPhone||!t)return void(null===(e=B.current)||void 0===e||e.resolve());const n=()=>{var e;t.removeEventListener("transitionend",n),null===(e=B.current)||void 0===e||e.resolve()};t.addEventListener("transitionend",n),setTimeout(n,1e3)},closeCallback:()=>{null==r||r(),c(B)}},{...p,windowTheme:l});const u=await W.current[t].getPanelConfig();if(u)a.default.dispatch(O.ReadyPromise,null===(n=B.current)||void 0===n?void 0:n.promise),C=await(null===(o=y.current)||void 0===o?void 0:o.open({...u,opener:f.logicOpener||y.current}));else c(B)}catch(e){return c(B),void u.logger.error("Не удалось открыть виджет: "+e)}return y.current||void 0},close:()=>{var e;if(null===(e=y.current)||void 0===e?void 0:e.isOpened())y.current.close()}}))),(0,n.jsx)(r.Opener,{popupType:"smallCard",ref:y,contentComponent:f})}Object.defineProperty(t,"__esModule",{value:!0});const g="BookingWidgetOpeningProcess";p.displayName="BookingWidgetBase/Components/WidgetOpener",t.default=(0,o.memo)((0,o.forwardRef)(p))}));

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.