int-components 0.0.2

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 (61) hide show
  1. package/README.md +98 -0
  2. package/dist/03a1823ba824367789ec.svg +3 -0
  3. package/dist/index.css +1287 -0
  4. package/dist/index.d.ts +3 -0
  5. package/dist/index.d.ts.map +1 -0
  6. package/dist/index.js +1 -0
  7. package/dist/rh-components/Button/Button.d.ts +18 -0
  8. package/dist/rh-components/Button/Button.d.ts.map +1 -0
  9. package/dist/rh-components/Button/index.css +188 -0
  10. package/dist/rh-components/Button/index.d.ts +2 -0
  11. package/dist/rh-components/Button/index.d.ts.map +1 -0
  12. package/dist/rh-components/Button/index.js +1 -0
  13. package/dist/rh-components/Footer/ContactModal.d.ts +9 -0
  14. package/dist/rh-components/Footer/ContactModal.d.ts.map +1 -0
  15. package/dist/rh-components/Footer/Footer.d.ts +8 -0
  16. package/dist/rh-components/Footer/Footer.d.ts.map +1 -0
  17. package/dist/rh-components/Footer/index.css +641 -0
  18. package/dist/rh-components/Footer/index.d.ts +3 -0
  19. package/dist/rh-components/Footer/index.d.ts.map +1 -0
  20. package/dist/rh-components/Footer/index.js +1 -0
  21. package/dist/rh-components/Header/Header.d.ts +17 -0
  22. package/dist/rh-components/Header/Header.d.ts.map +1 -0
  23. package/dist/rh-components/Header/index.css +465 -0
  24. package/dist/rh-components/Header/index.d.ts +3 -0
  25. package/dist/rh-components/Header/index.d.ts.map +1 -0
  26. package/dist/rh-components/Header/index.js +1 -0
  27. package/dist/rh-components/HotelCard/HotelCard.d.ts +18 -0
  28. package/dist/rh-components/HotelCard/HotelCard.d.ts.map +1 -0
  29. package/dist/rh-components/HotelCard/index.css +150 -0
  30. package/dist/rh-components/HotelCard/index.d.ts +3 -0
  31. package/dist/rh-components/HotelCard/index.d.ts.map +1 -0
  32. package/dist/rh-components/HotelCard/index.js +1 -0
  33. package/dist/rh-components/HotelsLanding/HotelsLanding.d.ts +27 -0
  34. package/dist/rh-components/HotelsLanding/HotelsLanding.d.ts.map +1 -0
  35. package/dist/rh-components/HotelsLanding/index.css +1287 -0
  36. package/dist/rh-components/HotelsLanding/index.d.ts +3 -0
  37. package/dist/rh-components/HotelsLanding/index.d.ts.map +1 -0
  38. package/dist/rh-components/HotelsLanding/index.js +1 -0
  39. package/dist/rh-components/index.d.ts +10 -0
  40. package/dist/rh-components/index.d.ts.map +1 -0
  41. package/dist/store/fluidMode.d.ts +37 -0
  42. package/dist/store/fluidMode.d.ts.map +1 -0
  43. package/dist/store/fluidMode.js +1 -0
  44. package/dist/storybook/decorator.d.ts +3 -0
  45. package/dist/storybook/decorator.d.ts.map +1 -0
  46. package/dist/themes/layout.d.ts +3 -0
  47. package/dist/themes/layout.d.ts.map +1 -0
  48. package/dist/themes/ratehawk/index.css +8 -0
  49. package/dist/themes/ratehawk/index.d.ts +7 -0
  50. package/dist/themes/ratehawk/index.d.ts.map +1 -0
  51. package/dist/themes/ratehawk/index.js +1 -0
  52. package/dist/utils/classes.d.ts +2 -0
  53. package/dist/utils/classes.d.ts.map +1 -0
  54. package/dist/utils/index.d.ts +3 -0
  55. package/dist/utils/index.d.ts.map +1 -0
  56. package/dist/utils/index.js +1 -0
  57. package/dist/utils/isValidEmail.d.ts +2 -0
  58. package/dist/utils/isValidEmail.d.ts.map +1 -0
  59. package/dist/utils/throttle.d.ts +2 -0
  60. package/dist/utils/throttle.d.ts.map +1 -0
  61. package/package.json +139 -0
@@ -0,0 +1,3 @@
1
+ export type { Hotel, HotelsLandingProps } from './HotelsLanding';
2
+ export { default } from './HotelsLanding';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rh-components/HotelsLanding/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1 @@
1
+ import*as e from"react/jsx-runtime";import*as a from"react";var t={39:(e,a,t)=>{t.d(a,{L:()=>s});const s=(...e)=>e.filter(Boolean).join(" ")},94:(e,a,t)=>{t.d(a,{A:()=>N});var s,n=t(178),l=t(268),o=t(130),r=t(39),i=t(649);function c(){return c=Object.assign?Object.assign.bind():function(e){for(var a=1;a<arguments.length;a++){var t=arguments[a];for(var s in t)({}).hasOwnProperty.call(t,s)&&(e[s]=t[s])}return e},c.apply(null,arguments)}const d=e=>i.createElement("svg",c({xmlns:"http://www.w3.org/2000/svg",width:28,height:28,fill:"none"},e),s||(s=i.createElement("path",{fill:"#8C1EFF",d:"M.32 9.41h28v2h-28zM.32 17.41h28v2h-28z"})));var m,u;function h(){return h=Object.assign?Object.assign.bind():function(e){for(var a=1;a<arguments.length;a++){var t=arguments[a];for(var s in t)({}).hasOwnProperty.call(t,s)&&(e[s]=t[s])}return e},h.apply(null,arguments)}const x=e=>i.createElement("svg",h({xmlns:"http://www.w3.org/2000/svg",width:28,height:28,fill:"none"},e),m||(m=i.createElement("path",{fill:"#8C1EFF",d:"m4.807 3.394 19.799 19.799-1.414 1.414-19.8-19.8z"})),u||(u=i.createElement("path",{fill:"#8C1EFF",d:"m3.393 23.193 19.799-19.8 1.414 1.415L4.807 24.607z"})));var p,_,f;function g(){return g=Object.assign?Object.assign.bind():function(e){for(var a=1;a<arguments.length;a++){var t=arguments[a];for(var s in t)({}).hasOwnProperty.call(t,s)&&(e[s]=t[s])}return e},g.apply(null,arguments)}const v={root:"Header-module__root--MyGKu",header:"Header-module__header--Ie2CT",wideHeader:"Header-module__wideHeader--P2oxX",hidden:"Header-module__hidden--gobBG",compactHeader:"Header-module__compactHeader--LsvY9",visible:"Header-module__visible--ococB",light:"Header-module__light--e8MFJ",dark:"Header-module__dark--mJEmI",yellow:"Header-module__yellow--W7Vw1",leftContainer:"Header-module__leftContainer--T8NI2",rightContainer:"Header-module__rightContainer--ZvsQ0",navList:"Header-module__navList--ikTYl",menuLink:"Header-module__menuLink--yDAEH",menuLinkText:"Header-module__menuLinkText--MV8k7",subMenuOpener:"Header-module__subMenuOpener--7Gf68",subMenuOpenerActive:"Header-module__subMenuOpenerActive--hM0jl",subNavList:"Header-module__subNavList--opWlU",subNavListOpened:"Header-module__subNavListOpened--mebR2",burgerMenuContainer:"Header-module__burgerMenuContainer--GmhQc",burgerMenuButton:"Header-module__burgerMenuButton--sm0Lo",burgerMenu:"Header-module__burgerMenu--SUEsD",logo:"Header-module__logo--V8O4g",burgerButtons:"Header-module__burgerButtons--gDROa",separator:"Header-module__separator--lw7LB"},b="burger-menu",j="sub-menu",w=(0,n.jsx)("a",{href:"https://www.ratehawk.com/",target:"_blank",children:(0,n.jsx)(e=>i.createElement("svg",g({xmlns:"http://www.w3.org/2000/svg",height:61,fill:"none",viewBox:"0 0 202 61"},e),p||(p=i.createElement("path",{fill:"var(--general-color)",d:"m162.762 38.47-2.883-18.28h-7.867l-3.517 22.29h4.857l.026-.178.187-1.397.325-2.435h4.113l.517 3.877.018.134h4.857l-.111-.708zm-8.306-4.16 1.489-10.848 1.49 10.848zM179.455 38.5l-1.997-18.31h-6.079l-1.876 18.34-1.431-18.34h-4.618l2.414 22.29h6.854l1.757-18.336 1.848 18.337h6.764l2.413-22.29h-4.62zM196.7 30.654l4.41-10.463h-5.274l-3.693 10.611V20.191h-5.007v22.29h5.007V31.842l3.635 10.639h5.542zM81.256 30.253q1.028-1.324 1.028-3.402v-.861q0-1.9-.848-3.18-.85-1.279-2.338-1.947-1.491-.67-3.398-.67h-7.45v22.29h5.006V31.517l4.022 10.966h5.571L78.53 32.17q1.701-.598 2.727-1.918m-3.978-2.99q-.001 1.488-.611 2.141-.612.655-1.654.655h-1.757v-3.654a2.055 2.055 0 0 0-2.058-2.052h3.8149999999999995q1.042 0 1.654.549.61.55.61 1.946zM94.679 20.19h-7.867L83.93 38.47l-.634 4.01h4.858l.535-4.01h4.113l.535 4.01h4.857l-.633-4.01zm-5.423 14.12 1.49-10.848 1.49 10.848zM97.752 24.502h3.633V42.48h5.067V24.5h3.635v-4.31H97.752zM111.871 24.502V42.48h11.144v-4.309h-6.138v-4.905h6.138V28.96h-6.138v-4.457h6.138V20.19h-11.144zM141.791 28.87h-4.469v-8.68h-5.064v22.288h5.064v-7.216a2.055 2.055 0 0 0-2.057-2.053h6.526v9.272h5.064V20.19h-5.064z"})),_||(_=i.createElement("path",{fill:"var(--logo-accent-color)",d:"M56.213 18.304 38.056 7.849 25.143.41l3.572 4.999c.833 1.165-.43 2.679-1.732 2.07L15.695 2.197l22.36 17.418s8.481 6.433 11.26 8.735c.493.408.829.974.95 1.604l.868 4.557c.9 4.284-.762 5.893-2.368 6.857l-1.981 1.184.31-2.425c.124-.932-.076-1.3-.636-1.637l-4.84-2.697a2.3 2.3 0 0 0-.901-.297C37.487 35.054.32 29.801.32 29.801l17.228 5.767c1.359.455 1.23 2.412-.176 2.686l-5.264 1.033 24.024 13.89a4.2 4.2 0 0 0 4.186.004c4.062-2.331 12.88-7.393 15.88-9.123a4.18 4.18 0 0 0 2.093-3.603c.018-5.504.018-18.533.018-18.533a4.17 4.17 0 0 0-2.096-3.618"})),f||(f=i.createElement("path",{fill:"var(--logo-accent-color)",d:"M44.752 32.185a1.54 1.54 0 0 0 2.022.8c.553-.238.886-.765.917-1.326l-6.62-3.918s-.065.377.144.576c.22.21 2.583 2.181 3.464 2.916-.076.308-.06.64.073.952"}))),{className:v.logo})}),N=({theme:e="dark",className:a="",menu:t,subMenu:s,extraRightContent:c,fluidMode:m})=>{const u=(0,o.u)(m),h=v[e],p=s&&s.length>0,[_,f]=(0,i.useState)(!1),[g,N]=(0,i.useState)(!1),[y,C]=(0,i.useState)(!1),L=(0,i.useRef)(null),M=(0,i.useRef)(null),H=t?.map(k)||[];let T=H;if(p){const e=s?.map(k)||[];T=[...H,(0,n.jsxs)("li",{children:[(0,n.jsx)("button",{type:"button",onClick:()=>C(!y),className:(0,r.L)(v.menuLink,u,v.subMenuOpener,j,y?v.subMenuOpenerActive:""),children:(0,n.jsx)("span",{className:v.menuLinkText,children:"More"})}),(0,n.jsx)("ul",{className:(0,r.L)(v.subNavList,y?v.subNavListOpened:"",j),children:e})]},"submenu")],H.push(...e)}const E=(0,i.useCallback)((()=>{let e=!1;return(...a)=>{e||((()=>{if(!L.current||!M.current)return;const e=M.current.getBoundingClientRect().right,a=L.current.getBoundingClientRect().left-e<20;f(a),a?C(!1):N(!1)})(...a),e=!0,setTimeout(()=>{e=!1},100))}})(),[]),F=(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(l.A,{theme:"secondary",variant:"dark"===e?"white":"black",url:"https://www.ratehawk.com/accounts/login/?lang=en&ref=rh_sign_in",children:"Sign in"}),(0,n.jsx)(l.A,{url:"https://www.ratehawk.com/registration/?lang=en&ref=rh_register",children:"Register"})]}),B=(0,i.useCallback)(e=>{if(!(e.target instanceof HTMLElement))return;const a=e.target.closest(`.${b}`),t=e.target.closest(`.${j}`);a||N(!1),t||C(!1)},[]);return(0,i.useEffect)(()=>(window.addEventListener("resize",E),window.addEventListener("click",B),E(),()=>{window.removeEventListener("resize",E),window.removeEventListener("click",B)}),[E,B]),(0,n.jsxs)("div",{className:(0,r.L)(v.root,a,h,u),children:[(0,n.jsxs)("div",{className:(0,r.L)(v.header,v.wideHeader,_?v.hidden:""),children:[(0,n.jsxs)("div",{className:v.leftContainer,ref:M,children:[w,(0,n.jsx)("nav",{className:v.navMenu,children:(0,n.jsx)("ul",{className:v.navList,children:T})})]}),(0,n.jsxs)("div",{className:v.rightContainer,ref:L,children:[c,F]})]}),(0,n.jsxs)("div",{className:(0,r.L)(v.header,v.compactHeader,_?v.visible:""),children:[(0,n.jsx)("div",{className:v.leftContainer,children:w}),(0,n.jsxs)("div",{className:v.rightContainer,children:[c,(0,n.jsx)("div",{className:v.burgerMenuContainer,children:(0,n.jsx)("button",{className:v.burgerMenuButton,onClick:()=>N(!g),type:"button",children:g?(0,n.jsx)(x,{}):(0,n.jsx)(d,{})})})]}),g&&(0,n.jsxs)("div",{className:[v.burgerMenu,b].join(" "),children:[(0,n.jsx)("nav",{className:v.navMenu,children:(0,n.jsx)("ul",{className:v.navList,children:H})}),(0,n.jsx)("div",{className:v.separator}),(0,n.jsx)("div",{className:v.burgerButtons,children:F})]})]})]})};function k(e){const a=e.url?"a":"button",t=e.url?{target:"_blank",href:e.url}:{type:"button"};return(0,n.jsx)("li",{children:(0,n.jsx)(a,{className:v.menuLink,onClick:e.onClick,...t,children:(0,n.jsx)("span",{className:v.menuLinkText,children:e.title})})},e.title)}},130:(e,a,t)=>{t.d(a,{N:()=>n,u:()=>l}),t(178);var s=t(992);const n=({children:e,fluidMode:a=!1})=>{fluidModeState.state=a;const t=`\n @font-face {\n font-family: 'Aeonik';\n src: url('https://of.worldota.net/fonts/aeonik/Aeonik-Bold.woff2') format('woff2');\n font-weight: 900;\n font-style: normal;\n font-display: swap;\n }\n\n @font-face {\n font-family: 'Aeonik';\n src: url('https://of.worldota.net/fonts/aeonik/Aeonik-Regular.woff2') format('woff2');\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n }\n\n @font-face {\n font-family: 'ABCGravity';\n src: url('https://of.worldota.net/fonts/ABCGravity/ABCGravity.woff2') format('woff2');\n font-weight: 900;\n font-style: normal;\n font-display: swap;\n }\n \n ${a?fluidLayoutCss:staticLayoutCss};\n `;return _jsxs(_Fragment,{children:[_jsx("style",{dangerouslySetInnerHTML:{__html:t}}),e]})},l=e=>("boolean"==typeof e?e:s.b.state)?"layout-module__fluidLayout--BNE04":"layout-module__staticLayout--x_6dR"},178:(a,t,s)=>{var n,l;a.exports=(n={Fragment:()=>e.Fragment,jsx:()=>e.jsx,jsxs:()=>e.jsxs},l={},s.d(l,n),l)},268:(e,a,t)=>{t.d(a,{A:()=>r});var s=t(178),n=t(130),l=t(39);const o={text:"Button-module__text--holIg",root:"Button-module__root--Knp7O",hidden:"Button-module__hidden--Q6Ztq",s:"Button-module__s--o9reb",m:"Button-module__m--ZGRqJ",withMediaDimension:"Button-module__withMediaDimension--Z_A5M",primary:"Button-module__primary--V9FFQ",purple:"Button-module__purple--biF8d",black:"Button-module__black--Iz790",secondary:"Button-module__secondary--_9J0r",white:"Button-module__white--l3jcr",isLoading:"Button-module__isLoading--u5f2m",spinner:"Button-module__spinner--Zj28d",spin:"Button-module__spin--lWtk7"},r=({className:e,children:a,dimension:t="s",theme:r="primary",onClick:i,disabled:c=!1,type:d="button",variant:m="purple",url:u,isLoading:h,enableMediaDimension:x=!0,fluidMode:p})=>{const _=o[t]||"",f=o[r]||"",g=o[m],v=(0,n.u)(p),b=x?o.withMediaDimension:"",j=u?"a":"button",w=u?{target:"_blank",href:u}:{type:d},N=h?o.isLoading:"";return(0,s.jsxs)(j,{...w,onClick:i,className:(0,l.L)(o.root,e,v,_,f,N,g,b),disabled:c,children:[h?(0,s.jsx)("span",{className:o.spinner}):null,(0,s.jsx)("span",{className:(0,l.L)(o.text,h?o.hidden:null),children:a})]})}},374:(e,a,t)=>{t.d(a,{A:()=>M});var s,n=t(178),l=t(268),o=t(130),r=t(39),i=t(649);function c(){return c=Object.assign?Object.assign.bind():function(e){for(var a=1;a<arguments.length;a++){var t=arguments[a];for(var s in t)({}).hasOwnProperty.call(t,s)&&(e[s]=t[s])}return e},c.apply(null,arguments)}const d=e=>i.createElement("svg",c({xmlns:"http://www.w3.org/2000/svg",width:31,height:31,fill:"none"},e),s||(s=i.createElement("path",{stroke:"#fff",strokeWidth:2,d:"M15.207 29.967c-7.732 0-14-6.268-14-14s6.268-14 14-14 14 6.268 14 14-6.268 14-14 14Zm0 0v-16a4 4 0 0 1 4-4h1m-10 8h10"})));var m;function u(){return u=Object.assign?Object.assign.bind():function(e){for(var a=1;a<arguments.length;a++){var t=arguments[a];for(var s in t)({}).hasOwnProperty.call(t,s)&&(e[s]=t[s])}return e},u.apply(null,arguments)}const h=e=>i.createElement("svg",u({xmlns:"http://www.w3.org/2000/svg",width:31,height:31,fill:"none"},e),m||(m=i.createElement("path",{stroke:"#fff",strokeWidth:2,d:"M9.54 12.967v10m12 0v-5a4 4 0 1 0-8 0v5-10m-5-3h2m-7-8h24a2 2 0 0 1 2 2v24a2 2 0 0 1-2 2h-24a2 2 0 0 1-2-2v-24a2 2 0 0 1 2-2Z"}))),x=/^([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x22([^\x0d\x22\x5c\x80-\xff]|\x5c[\x00-\x7f])*\x22)(\x2e([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x22([^\x0d\x22\x5c\x80-\xff]|\x5c[\x00-\x7f])*\x22))*\x40([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x5b([^\x0d\x5b-\x5d\x80-\xff]|\x5c[\x00-\x7f])*\x5d)(\x2e([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x5b([^\x0d\x5b-\x5d\x80-\xff]|\x5c[\x00-\x7f])*\x5d))*$/;var p;function _(){return _=Object.assign?Object.assign.bind():function(e){for(var a=1;a<arguments.length;a++){var t=arguments[a];for(var s in t)({}).hasOwnProperty.call(t,s)&&(e[s]=t[s])}return e},_.apply(null,arguments)}const f=e=>i.createElement("svg",_({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,stroke:"currentColor",strokeWidth:1.5},e),p||(p=i.createElement("path",{d:"m4 4 16 16m0-16L4 20"}))),g="ContactModal-module__field--c99HI",v="ContactModal-module__inputWrapper--e2l3N",b="ContactModal-module__inputWrapperError--s_bqB",j="ContactModal-module__input--wuaB7",w="ContactModal-module__error--jso6D",N=({isOpen:e,onClose:a,fluidMode:t})=>{const s=(0,o.u)(t),[c,d]=(0,i.useState)({firstName:"",phone:"",email:"",companyName:"",message:""}),[m,u]=(0,i.useState)(!1),[h,p]=(0,i.useState)(!1),[_,N]=(0,i.useState)({}),k=(0,i.useCallback)(()=>{const e={};return c.firstName.trim()||(e.firstName="First Name is required"),c.phone.trim()?c.phone.replace(/\D/g,"").length>=7||(e.phone="Phone must contain at least 7 digits"):e.phone="Phone is required",c.email.trim()?function(e){return x.test(e)}(c.email)||(e.email="Please enter a valid email"):e.email="Email is required",c.companyName.trim()||(e.companyName="Company Name is required"),N(e),0===Object.keys(e).length},[c]),y=(0,i.useCallback)(async e=>{if(e.preventDefault(),k()){u(!0);try{const e={brand:"ratehawk",cooperation_type:"api",kind:"b2b",white_label_slug:"ratehawk",email:c.email,message:c.message,company_name:c.companyName,name:c.firstName,phone:c.phone};if(!(await fetch("https://www.ratehawk.com/partner/user_area/v1/anonymous/contact_us/",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})).ok)throw new Error("Failed to submit form");p(!0)}catch(e){console.error("Form submission error:",e)}finally{u(!1)}}},[c,k]),C=(0,i.useCallback)(e=>a=>{d(t=>({...t,[e]:a.target.value})),_[e]&&N(a=>({...a,[e]:void 0}))},[_]),L=(0,i.useCallback)(()=>{d({firstName:"",phone:"",email:"",companyName:"",message:""}),N({}),p(!1),a()},[a]);return e?(0,n.jsx)("div",{className:(0,r.L)("ContactModal-module__overlay--ti1yT",s),onClick:L,children:(0,n.jsxs)("div",{className:"ContactModal-module__modal--Xzwl2",onClick:e=>e.stopPropagation(),children:[(0,n.jsx)("button",{className:(0,r.L)("ContactModal-module__closeButton--qvADd",s),onClick:L,type:"button",children:(0,n.jsx)(f,{})}),h?(0,n.jsxs)("div",{className:"ContactModal-module__successMessage--Nyhi4",children:[(0,n.jsx)("h2",{className:"ContactModal-module__successTitle--dVn02",children:"Successfully accepted"}),(0,n.jsx)("p",{className:"ContactModal-module__successText--KJznx",children:"Your application has flown to our caring specialists! We will contact you soon"})]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("h2",{className:"ContactModal-module__title--XrI8J",children:(0,n.jsx)("span",{className:"ContactModal-module__titleText--HH4uj",children:"Cooperation"})}),(0,n.jsx)("p",{className:"ContactModal-module__subtitle--dS9UA",children:"Drop us a line and we will get back to you as soon as possible!"}),(0,n.jsxs)("form",{className:"ContactModal-module__form--XuQzj",onSubmit:y,children:[(0,n.jsxs)("div",{className:g,children:[(0,n.jsx)("label",{className:`${v} ${_.firstName?b:""}`,children:(0,n.jsx)("input",{type:"text",className:j,value:c.firstName,onChange:C("firstName"),placeholder:"First Name *"})}),_.firstName&&(0,n.jsx)("span",{className:w,children:_.firstName})]}),(0,n.jsxs)("div",{className:g,children:[(0,n.jsx)("label",{className:`${v} ${_.phone?b:""}`,children:(0,n.jsx)("input",{type:"tel",className:j,value:c.phone,onChange:C("phone"),placeholder:"Phone *"})}),_.phone&&(0,n.jsx)("span",{className:w,children:_.phone})]}),(0,n.jsxs)("div",{className:g,children:[(0,n.jsx)("label",{className:`${v} ${_.email?b:""}`,children:(0,n.jsx)("input",{type:"email",className:j,value:c.email,onChange:C("email"),placeholder:"Email Address *"})}),_.email&&(0,n.jsx)("span",{className:w,children:_.email})]}),(0,n.jsxs)("div",{className:g,children:[(0,n.jsx)("label",{className:`${v} ${_.companyName?b:""}`,children:(0,n.jsx)("input",{type:"text",className:j,value:c.companyName,onChange:C("companyName"),placeholder:"Company Name *"})}),_.companyName&&(0,n.jsx)("span",{className:w,children:_.companyName})]}),(0,n.jsx)("div",{className:g,children:(0,n.jsx)("label",{className:"ContactModal-module__textareaWrapper--rSQEQ",children:(0,n.jsx)("textarea",{className:"ContactModal-module__textarea--i19oy",value:c.message,onChange:C("message"),placeholder:"Message",rows:4})})}),(0,n.jsx)(l.A,{type:"submit",theme:"primary",variant:"white",disabled:m,className:"ContactModal-module__submitButton--qbQOa",children:m?"Sending...":"Send"})]})]})]})}):null},k="Footer-module__footerLink--ipb6W",y="Footer-module__footerLegalText--xlXoo",C="Footer-module__footerParagraphSection--rin95",L=[{title:"For marketing and PR",text:"We regularly run promotions, campaigns, and partner events to engage and incentivize our clients with special offers. If you interested in such partnership please contact us at {{link}}.",link:"pr@emergingtravel.com",button:{text:"Cooperate",action:"form"},cssClass:"Footer-module__marketingBlock--DnIGu"},{title:"For affiliates partnerships",text:"Integrate our solution to make it easy and profitable to book hotels through your website or online service. Integrate quickly and reliably with our system. Still have questions? Contact us at {{link}}.",link:"affiliate@emergingtravel.com",button:{text:"Learn more",url:"https://www.ratehawk.com/lp/en-us/travel-related-websites/"},cssClass:"Footer-module__affiliatesBlock--jVQ0L"},{title:"For suppliers",text:"As official partners of the world's largest OTA, wholesalers, consolidators, and DMCs, we invite you to enhance your sales and grow your business together. Contact us at {{link}}.",link:"tpp@emergingtravel.com",button:{text:"Cooperate",action:"form"},cssClass:"Footer-module__suppliersBlock--yrn9l"},{title:"For hotels",text:"Become our partner to increase your direct sales and the popularity of your accommodation options. \u2028For partnership inquiries, please contact us at {{link}}.",link:"hotels@emergingtravel.com",button:{text:"Learn more",url:"https://www.ratehawk.com/lp/en-us/travel-related-websites/"},cssClass:"Footer-module__hotelsBlock--uGUyj"},{title:"For technology providers",text:"If you are a mid-office or platform interested in integrating with RateHawk to develop your business, please contact us at {{link}}.",link:"api@ratehawk.com",button:{text:"Cooperate",action:"form"},cssClass:"Footer-module__providersBlock--Zmk8W"}],M=({className:e="",fluidMode:a})=>{const[t,s]=(0,i.useState)(!1),c=(0,o.u)(a),m=(0,i.useCallback)(()=>{s(!0)},[]),u=(0,i.useCallback)(()=>{s(!1)},[]);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("footer",{className:(0,r.L)("Footer-module__root--T9ly6",e,c),children:[(0,n.jsxs)("div",{className:"Footer-module__header--hy1ME",children:[(0,n.jsx)("p",{className:"Footer-module__title--OX7d9",children:"Partnership"}),(0,n.jsx)("p",{className:"Footer-module__subTitle--EmP0b",children:"Cooperate and grow together with RateHawk"})]}),(0,n.jsx)("ul",{className:"Footer-module__advantages--z7ASK",children:L.map(e=>(0,n.jsxs)("li",{className:(0,r.L)("Footer-module__advantageItem--EcCx_",e.cssClass),children:[(0,n.jsxs)("div",{className:"Footer-module__advantageInfo--Ilud0",children:[(0,n.jsx)("h6",{className:"Footer-module__advantageTitle--spnaR",children:(0,n.jsx)("span",{className:"Footer-module__advantageTitleText--cMrU_",children:e.title})}),(0,n.jsx)("p",{className:"Footer-module__advantageText--BHbmo",dangerouslySetInnerHTML:{__html:e.text.replace("{{link}}",`<a class="Footer-module__advantageLink--bcoK8" href="mailto:${e.link}">${e.link}</a>`)}})]}),(0,n.jsx)(l.A,{theme:"secondary",variant:"white",...e.button.url?{url:e.button.url}:{onClick:m},children:e.button.text})]},e.title))}),(0,n.jsxs)("div",{className:"Footer-module__footerBottom--u_o7y",children:[(0,n.jsxs)("div",{className:"Footer-module__footerLeft--nnkZo",children:[(0,n.jsxs)("div",{className:"Footer-module__social--H1Yw4",children:[(0,n.jsx)("a",{href:"https://www.facebook.com/ratehawk",target:"_blank",rel:"noopener noreferrer",children:(0,n.jsx)(d,{})}),(0,n.jsx)("a",{href:"https://www.linkedin.com/company/ratehawk-com/",target:"_blank",rel:"noopener noreferrer",children:(0,n.jsx)(h,{})})]}),(0,n.jsxs)("ul",{className:"Footer-module__footerLinks--R9Hnr",children:[(0,n.jsx)("li",{children:(0,n.jsx)("a",{href:"https://www.ratehawk.com/lp/en-us/career",target:"_blank",rel:"noopener noreferrer",className:k,children:"Careers"})}),(0,n.jsx)("li",{children:(0,n.jsx)("a",{href:"https://blog.ratehawk.com/",target:"_blank",rel:"noopener noreferrer",className:k,children:"Blog"})})]})]}),(0,n.jsxs)("div",{className:"Footer-module__footerLegal--jAGGe",children:[(0,n.jsxs)("div",{className:C,children:[(0,n.jsx)("p",{className:y,children:"Leaside Services Limited, reg.no HE342401, Business Address: 17 Karaiskaki Street, Office 22, Agaia Triada, Limassol, Cyprus, 3032 Emerging Travel Inc., reg.no 4869611, Business Address: 1000 N West Street, Suite 1200, Wilmington, DE 19801 USA EMERGING TRAVEL UK LIMITED, Company number 12185384, Business Address: 19 Eastbourne Terrace, Office 3.01, Paddington, London, W2 6LG, UK"}),(0,n.jsx)("p",{className:y,children:"Emerging Travel Germany ETG GmbH, HRB 213546, Business Address: Friedrichstraße 171, 10117 Berlin, Germany"}),(0,n.jsx)("p",{className:y,children:"Emerging Travel Kazakhstan LLP, BIN 191240026456, Business address: Office SP2-18, 280 Baizakova Street, Bostandykskiy district, 050040, Almaty, Republic of Kazakhstan"}),(0,n.jsx)("p",{className:y,children:"Smart Middle East Travel Agency L.L.C, Reg.no: 1803677, Business address: Al Rigga - Office No. 202-201-221, Insurance Building, Dubai, UAE"}),(0,n.jsx)("p",{className:y,children:"Emerging Travel Asia PTE. LTD, Reg.no: 201927854K, TA license: TA03682, Business address: 300 Tampines Avenue 5 #09-02, Tampines Junction Singapore 529653"})]}),(0,n.jsx)("div",{className:C,children:(0,n.jsx)("p",{className:y,children:(0,n.jsx)("a",{href:"https://www.ratehawk.com/legal/site/privacy-policy/",target:"_blank",rel:"noopener noreferrer",children:"Personal data processing and storage policy"})})}),(0,n.jsx)("div",{className:C,children:(0,n.jsx)("p",{className:y,children:"Digital Services Act"})}),(0,n.jsx)("div",{className:C,children:(0,n.jsx)("p",{className:y,children:"Ratehawk is a registered service mark in the European Union"})})]})]})]}),(0,n.jsx)(N,{isOpen:t,onClose:u,fluidMode:a})]})}},649:(e,t,s)=>{var n,l;e.exports=(n={createElement:()=>a.createElement,useCallback:()=>a.useCallback,useEffect:()=>a.useEffect,useRef:()=>a.useRef,useState:()=>a.useState},l={},s.d(l,n),l)},670:(e,a,t)=>{t.d(a,{A:()=>r});var s=t(178),n=t(130),l=t(39);const o={root:"HotelCard-module__root--popq0",rootFixed:"HotelCard-module__rootFixed--TvjpT",clickable:"HotelCard-module__clickable--mp25I",imageContainer:"HotelCard-module__imageContainer--FZfWz",image:"HotelCard-module__image--fREMp",discount:"HotelCard-module__discount--G2sau",discountText:"HotelCard-module__discountText--hH9Sf",content:"HotelCard-module__content--IA_3z",stars:"HotelCard-module__stars--jTODO",starFilled:"HotelCard-module__starFilled--Ps4vk",starEmpty:"HotelCard-module__starEmpty--FBbdo",title:"HotelCard-module__title--BOmwo",location:"HotelCard-module__location--uglfh",dates:"HotelCard-module__dates--mhAjB",priceInfoWrapper:"HotelCard-module__priceInfoWrapper--fplFE",priceInfo:"HotelCard-module__priceInfo--qLmoQ",bookNowText:"HotelCard-module__bookNowText--pgznJ",mainPriceText:"HotelCard-module__mainPriceText--wIEbi",infoPriceText:"HotelCard-module__infoPriceText--GSy_s"},r=({className:e="",title:a,location:t,stars:r,image:i,dates:c,discountPercent:d,onClick:m,url:u,width:h="auto",price:x,fluidMode:p})=>{const _=(0,n.u)(p),f=u?"a":"div",g=u?{href:u,target:"_blank",rel:"noopener noreferrer"}:{};return(0,s.jsxs)(f,{className:(0,l.L)(o.root,_,"fixed"===h&&o.rootFixed,e,u&&o.clickable),onClick:m,...g,children:[(0,s.jsxs)("div",{className:o.imageContainer,children:[(0,s.jsx)("img",{src:i,alt:a,className:o.image}),d&&(0,s.jsx)("div",{className:o.discount,children:(0,s.jsxs)("span",{className:o.discountText,children:["-",d,"%"]})})]}),(0,s.jsxs)("div",{className:o.content,children:[(()=>{if(!r)return null;const e=[];for(let t=0;t<5;t++)e.push((0,s.jsx)("div",{className:t<r?o.starFilled:o.starEmpty},`star-${a}-${t}`));return(0,s.jsx)("div",{className:o.stars,children:e})})(),(0,s.jsx)("h3",{className:o.title,children:a}),t&&(0,s.jsx)("p",{className:o.location,children:t}),c&&(0,s.jsxs)("p",{className:o.dates,children:["Travel Dates: ",c]}),(0,s.jsx)("div",{className:o.priceInfoWrapper,children:(0,s.jsx)("div",{className:o.priceInfo,children:x?(0,s.jsxs)("div",{className:o.priceText,children:[(0,s.jsxs)("div",{className:o.mainPriceText,children:["From ",(0,s.jsx)("strong",{children:x})]}),(0,s.jsx)("div",{className:o.infoPriceText,children:(0,s.jsx)("span",{children:"For 1 night and 2 guests"})})]}):(0,s.jsx)("div",{className:o.bookNowText,children:"Book now"})})})]})]})}},992:(e,a,t)=>{t.d(a,{b:()=>s}),globalThis.__fluidModeState||(globalThis.__fluidModeState={state:!1});const s=globalThis.__fluidModeState}},s={};function n(e){var a=s[e];if(void 0!==a)return a.exports;var l=s[e]={exports:{}};return t[e](l,l.exports,n),l.exports}n.d=(e,a)=>{for(var t in a)n.o(a,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:a[t]})},n.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a);var l,o,r=n(178),i=n(130),c=n(39),d=n(374),m=n(94),u=n(670),h=n(649);function x(){return x=Object.assign?Object.assign.bind():function(e){for(var a=1;a<arguments.length;a++){var t=arguments[a];for(var s in t)({}).hasOwnProperty.call(t,s)&&(e[s]=t[s])}return e},x.apply(null,arguments)}const p=e=>h.createElement("svg",x({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 98 91"},e),l||(l=h.createElement("path",{fill:"#FEDD00",d:"M94.277 30.26 63.65 12.58 41.87 0l6.025 8.453c1.406 1.972-.724 4.53-2.921 3.5l-19.04-8.93L63.65 32.48s14.304 10.88 18.993 14.772a4.67 4.67 0 0 1 1.601 2.713l1.465 7.708c1.516 7.243-1.286 9.964-3.995 11.595l-3.342 2.002.523-4.101c.21-1.576-.127-2.198-1.073-2.768l-8.163-4.56c-.468-.282-.98-.431-1.52-.503C62.692 58.587 0 49.704 0 49.704l29.06 9.752c2.29.77 2.073 4.08-.299 4.544l-8.878 1.746 40.523 23.489a7.07 7.07 0 0 0 7.06.008C74.318 85.3 89.192 76.741 94.25 73.815a7.07 7.07 0 0 0 3.53-6.094c.03-9.309.03-31.342.03-31.342a7.06 7.06 0 0 0-3.534-6.119"})),o||(o=h.createElement("path",{fill:"#FEDD00",d:"M74.944 53.737a2.594 2.594 0 0 0 3.41 1.354 2.59 2.59 0 0 0 1.547-2.244L68.735 46.22s-.11.639.243.975c.37.353 4.356 3.688 5.842 4.931a2.54 2.54 0 0 0 .124 1.61"}))),_="HotelsLanding-module__sloganText--YwQRu",f=({className:e="",heroYellowText:a,heroWhiteText:t,hotelsTitle:s,hotelsSubtitle:n,hotels:l,backgroundMobile:o,backgroundMobile2x:h,backgroundDesktop:x,backgroundDesktop2x:f,fluidMode:g=!1})=>{const v=(0,i.u)(g);return(0,r.jsxs)("div",{className:(0,c.L)("HotelsLanding-module__root--JnV8j",v,e),children:[(0,r.jsx)(m.A,{}),(0,r.jsxs)("main",{children:[(0,r.jsx)("section",{className:"HotelsLanding-module__hero--CVhVp",style:{"--background-mobile":`url("${o}")`,"--background-mobile-2x":`url("${h}")`,"--background-desktop":`url("${x}")`,"--background-desktop-2x":`url("${f}")`},children:(0,r.jsx)("div",{className:"HotelsLanding-module__heroContainer--RviY3",children:(0,r.jsxs)("div",{className:"HotelsLanding-module__slogan--qHFoi",children:[a&&(0,r.jsx)("div",{className:(0,c.L)(_,"HotelsLanding-module__sloganYellow--su_yv"),dangerouslySetInnerHTML:{__html:a}}),t&&(0,r.jsx)("div",{className:(0,c.L)(_,"HotelsLanding-module__sloganWhite--P2y71"),dangerouslySetInnerHTML:{__html:t}}),(0,r.jsx)(p,{className:"HotelsLanding-module__heroLogo--RMmG1"})]})})}),(0,r.jsxs)("section",{className:"HotelsLanding-module__hotels--z2v4G",children:[(0,r.jsxs)("header",{className:"HotelsLanding-module__hotelsHeader--XxyLM",children:[s&&(0,r.jsx)("h2",{className:"HotelsLanding-module__hotelsTitle--dcfRZ",children:s}),n&&(0,r.jsx)("p",{className:"HotelsLanding-module__hotelsSubtitle--s0NrA",children:n})]}),(0,r.jsx)("ul",{className:"HotelsLanding-module__hotelsList--ylptR",children:l.map(e=>(0,r.jsx)("li",{children:(0,r.jsx)(u.A,{className:"HotelsLanding-module__hotelCard--IkewD",title:e.name,location:`${e.country}, ${e.city}`,stars:e.rating,image:e.photo,dates:e.dates,discountPercent:e.discount,url:e.url,fluidMode:g})},e.name))})]})]}),(0,r.jsx)(d.A,{})]})};export{f as default};
@@ -0,0 +1,10 @@
1
+ export { default as Button } from './Button';
2
+ export type { FooterProps } from './Footer';
3
+ export { default as Footer } from './Footer';
4
+ export type { HeaderProps } from './Header';
5
+ export { default as Header } from './Header';
6
+ export type { HotelCardProps } from './HotelCard';
7
+ export { default as HotelCard } from './HotelCard';
8
+ export type { Hotel, HotelsLandingProps } from './HotelsLanding';
9
+ export { default as HotelsLanding } from './HotelsLanding';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rh-components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAE7C,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,YAAY,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Fluid Mode State Store
3
+ *
4
+ * ВАЖНО: Использование globalThis обязательно!
5
+ *
6
+ * Проблема:
7
+ * В Astro (и других SSR-фреймворках) один и тот же модуль может загружаться
8
+ * несколько раз в разных контекстах:
9
+ * - На сервере во время SSR
10
+ * - В клиентском бандле
11
+ * - В разных островах (islands) с client:load/client:visible
12
+ *
13
+ * Если использовать обычный export const store = { state: false }, каждая
14
+ * загрузка модуля создаст НОВЫЙ объект с начальным значением. Это приводит
15
+ * к тому, что изменения в одном месте не видны в другом.
16
+ *
17
+ * Решение:
18
+ * globalThis - это глобальный объект, который существует везде (и на сервере,
19
+ * и на клиенте). Храня store в globalThis, мы гарантируем, что:
20
+ * 1. Store создаётся только один раз (первая проверка if)
21
+ * 2. Все последующие импорты получают ссылку на тот же самый объект
22
+ * 3. Изменения видны всем компонентам, независимо от контекста загрузки
23
+ *
24
+ * Как это работает:
25
+ * - Первый импорт: globalThis.__fluidModeState === undefined, создаём { state: false }
26
+ * - Второй импорт: globalThis.__fluidModeState уже существует, используем его
27
+ * - Все импорты получают ссылку на ОДИН объект в памяти
28
+ */
29
+ declare global {
30
+ var __fluidModeState: {
31
+ state: boolean;
32
+ } | undefined;
33
+ }
34
+ export declare const fluidModeState: {
35
+ state: boolean;
36
+ };
37
+ //# sourceMappingURL=fluidMode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fluidMode.d.ts","sourceRoot":"","sources":["../../src/store/fluidMode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,CAAC,MAAM,CAAC;IACb,IAAI,gBAAgB,EAAE;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,GAAG,SAAS,CAAC;CACtD;AAMD,eAAO,MAAM,cAAc;WAPM,OAAO;CAOiB,CAAC"}
@@ -0,0 +1 @@
1
+ var e={d:(t,o)=>{for(var a in o)e.o(o,a)&&!e.o(t,a)&&Object.defineProperty(t,a,{enumerable:!0,get:o[a]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)},t={};e.d(t,{b:()=>o}),globalThis.__fluidModeState||(globalThis.__fluidModeState={state:!1});const o=globalThis.__fluidModeState,a=t.b;export{a as fluidModeState};
@@ -0,0 +1,3 @@
1
+ import type React from 'react';
2
+ export declare const RhComponentsDecorator: (Story: React.ComponentType, fluidLayout?: boolean) => import("react/jsx-runtime").JSX.Element;
3
+ //# sourceMappingURL=decorator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decorator.d.ts","sourceRoot":"","sources":["../../src/storybook/decorator.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,eAAO,MAAM,qBAAqB,GAChC,OAAO,KAAK,CAAC,aAAa,EAC1B,qBAAkB,4CASnB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const staticLayoutCss = "";
2
+ export declare const fluidLayoutCss = "\n @media (min-width: 0px) {\n :root {\n --min-vw: 375;\n --max-vw: 500;\n --bp-vw: 375;\n --bp-font-size: 1;\n }\n }\n\n @media (min-width: 500px) {\n :root {\n --min-vw: 500;\n --max-vw: 1152;\n --bp-vw: 768;\n --bp-font-size: 1;\n }\n }\n\n @media (min-width: 1152px) {\n :root {\n --min-vw: 1152;\n --max-vw: 1600;\n --bp-vw: 1600;\n --bp-font-size: 1;\n }\n }\n \n :root {\n --diff-min-vw: calc(var(--min-vw) / var(--bp-vw));\n --min-font-size: calc(var(--bp-font-size) * var(--diff-min-vw));\n --diff-max-vw: calc(var(--max-vw) / var(--bp-vw));\n --max-font-size: calc(var(--bp-font-size) * var(--diff-max-vw));\n --diff-font-size: calc(var(--max-font-size) - var(--min-font-size));\n --diff-vw: calc(var(--max-vw) - var(--min-vw));\n --slope: calc(var(--diff-font-size) / var(--diff-vw));\n --max-font-size-px: calc(var(--max-font-size) * 1px);\n --min-font-size-px: calc(var(--min-font-size) * 1px);\n --min-vw-px: calc(var(--min-vw) * 1px);\n --fluid-font-size-px: calc(var(--slope) * (100vw - var(--min-vw-px)) + var(--min-font-size-px));\n --result-fs: calc(var(--slope) * (100vw - var(--min-vw-px)) + var(--min-font-size-px));\n }\n\n html {\n font-size: calc(var(--slope) * (100vw - var(--min-vw-px)) + var(--min-font-size-px));\n }\n\n body {\n font-size: initial;\n }\n";
3
+ //# sourceMappingURL=layout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/themes/layout.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,KAAK,CAAC;AAElC,eAAO,MAAM,cAAc,85CAkD1B,CAAC"}
@@ -0,0 +1,8 @@
1
+ .layout-module__fluidLayout--BNE04[class] {
2
+ font-size: 1rem;
3
+ }
4
+
5
+ .layout-module__staticLayout--x_6dR[class] {
6
+ font-size: 1px;
7
+ }
8
+
@@ -0,0 +1,7 @@
1
+ import type React from 'react';
2
+ export declare const ThemeProvider: React.FC<{
3
+ children: React.ReactNode;
4
+ fluidMode?: boolean;
5
+ }>;
6
+ export declare const useContainerFluidCssClass: (propValue: boolean | undefined) => string;
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/themes/ratehawk/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC;IACnC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAsCA,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,WAAW,OAAO,GAAG,SAAS,WAKvE,CAAC"}
@@ -0,0 +1 @@
1
+ import*as n from"react/jsx-runtime";var t={178:(t,o,a)=>{var i,e;t.exports=(i={Fragment:()=>n.Fragment,jsx:()=>n.jsx,jsxs:()=>n.jsxs},e={},a.d(e,i),e)},992:(n,t,o)=>{o.d(t,{b:()=>a}),globalThis.__fluidModeState||(globalThis.__fluidModeState={state:!1});const a=globalThis.__fluidModeState}},o={};function a(n){var i=o[n];if(void 0!==i)return i.exports;var e=o[n]={exports:{}};return t[n](e,e.exports,a),e.exports}a.d=(n,t)=>{for(var o in t)a.o(t,o)&&!a.o(n,o)&&Object.defineProperty(n,o,{enumerable:!0,get:t[o]})},a.o=(n,t)=>Object.prototype.hasOwnProperty.call(n,t);var i=a(178);var e=a(992);const f=({children:n,fluidMode:t=!1})=>{e.b.state=t;const o=`\n @font-face {\n font-family: 'Aeonik';\n src: url('https://of.worldota.net/fonts/aeonik/Aeonik-Bold.woff2') format('woff2');\n font-weight: 900;\n font-style: normal;\n font-display: swap;\n }\n\n @font-face {\n font-family: 'Aeonik';\n src: url('https://of.worldota.net/fonts/aeonik/Aeonik-Regular.woff2') format('woff2');\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n }\n\n @font-face {\n font-family: 'ABCGravity';\n src: url('https://of.worldota.net/fonts/ABCGravity/ABCGravity.woff2') format('woff2');\n font-weight: 900;\n font-style: normal;\n font-display: swap;\n }\n \n ${t?"\n @media (min-width: 0px) {\n :root {\n --min-vw: 375;\n --max-vw: 500;\n --bp-vw: 375;\n --bp-font-size: 1;\n }\n }\n\n @media (min-width: 500px) {\n :root {\n --min-vw: 500;\n --max-vw: 1152;\n --bp-vw: 768;\n --bp-font-size: 1;\n }\n }\n\n @media (min-width: 1152px) {\n :root {\n --min-vw: 1152;\n --max-vw: 1600;\n --bp-vw: 1600;\n --bp-font-size: 1;\n }\n }\n \n :root {\n --diff-min-vw: calc(var(--min-vw) / var(--bp-vw));\n --min-font-size: calc(var(--bp-font-size) * var(--diff-min-vw));\n --diff-max-vw: calc(var(--max-vw) / var(--bp-vw));\n --max-font-size: calc(var(--bp-font-size) * var(--diff-max-vw));\n --diff-font-size: calc(var(--max-font-size) - var(--min-font-size));\n --diff-vw: calc(var(--max-vw) - var(--min-vw));\n --slope: calc(var(--diff-font-size) / var(--diff-vw));\n --max-font-size-px: calc(var(--max-font-size) * 1px);\n --min-font-size-px: calc(var(--min-font-size) * 1px);\n --min-vw-px: calc(var(--min-vw) * 1px);\n --fluid-font-size-px: calc(var(--slope) * (100vw - var(--min-vw-px)) + var(--min-font-size-px));\n --result-fs: calc(var(--slope) * (100vw - var(--min-vw-px)) + var(--min-font-size-px));\n }\n\n html {\n font-size: calc(var(--slope) * (100vw - var(--min-vw-px)) + var(--min-font-size-px));\n }\n\n body {\n font-size: initial;\n }\n":""};\n `;return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("style",{dangerouslySetInnerHTML:{__html:o}}),n]})},r=n=>("boolean"==typeof n?n:e.b.state)?"layout-module__fluidLayout--BNE04":"layout-module__staticLayout--x_6dR";export{f as ThemeProvider,r as useContainerFluidCssClass};
@@ -0,0 +1,2 @@
1
+ export declare const classes: (...cssClasses: Array<string | undefined | null | false>) => string;
2
+ //# sourceMappingURL=classes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classes.d.ts","sourceRoot":"","sources":["../../src/utils/classes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,GAClB,GAAG,YAAY,KAAK,CAAC,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,KAAK,CAAC,WAGxD,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { isValidEmail } from './isValidEmail';
2
+ export { throttle } from './throttle';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1 @@
1
+ const x=/^([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x22([^\x0d\x22\x5c\x80-\xff]|\x5c[\x00-\x7f])*\x22)(\x2e([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x22([^\x0d\x22\x5c\x80-\xff]|\x5c[\x00-\x7f])*\x22))*\x40([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x5b([^\x0d\x5b-\x5d\x80-\xff]|\x5c[\x00-\x7f])*\x5d)(\x2e([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x5b([^\x0d\x5b-\x5d\x80-\xff]|\x5c[\x00-\x7f])*\x5d))*$/;function f(f){return x.test(f)}const c=(x,f)=>{let c=!1;return(...e)=>{c||(x(...e),c=!0,setTimeout(()=>{c=!1},f))}};export{f as isValidEmail,c as throttle};
@@ -0,0 +1,2 @@
1
+ export declare function isValidEmail(email: string): boolean;
2
+ //# sourceMappingURL=isValidEmail.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isValidEmail.d.ts","sourceRoot":"","sources":["../../src/utils/isValidEmail.ts"],"names":[],"mappings":"AAIA,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,WAEzC"}
@@ -0,0 +1,2 @@
1
+ export declare const throttle: <T extends unknown[]>(callback: (...args: T) => void, delay: number) => (...args: T) => void;
2
+ //# sourceMappingURL=throttle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"throttle.d.ts","sourceRoot":"","sources":["../../src/utils/throttle.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,OAAO,EAAE,EAC1C,UAAU,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,IAAI,EAC9B,OAAO,MAAM,MAIL,GAAG,MAAM,CAAC,SAYnB,CAAC"}
package/package.json ADDED
@@ -0,0 +1,139 @@
1
+ {
2
+ "name": "int-components",
3
+ "version": "0.0.2",
4
+ "type": "module",
5
+ "sideEffects": [
6
+ "**/*.css"
7
+ ],
8
+ "main": "dist/index.js",
9
+ "types": "dist/index.d.ts",
10
+ "exports": {
11
+ ".": {
12
+ "types": "./dist/index.d.ts",
13
+ "import": "./dist/index.js",
14
+ "require": "./dist/index.js",
15
+ "default": "./dist/index.js"
16
+ },
17
+ "./index.css": "./dist/index.css",
18
+ "./components/*/index.css": "./dist/components/*/index.css",
19
+ "./rh-components/*": {
20
+ "types": "./dist/rh-components/*/index.d.ts",
21
+ "import": "./dist/rh-components/*/index.js",
22
+ "require": "./dist/rh-components/*/index.js",
23
+ "default": "./dist/rh-components/*/index.js"
24
+ },
25
+ "./rh-components/*/index.css": "./dist/rh-components/*/index.css",
26
+ "./themes/ratehawk": {
27
+ "types": "./dist/themes/ratehawk/ratehawk.d.ts",
28
+ "import": "./dist/themes/ratehawk/ratehawk.js",
29
+ "require": "./dist/themes/ratehawk/ratehawk.js",
30
+ "default": "./dist/themes/ratehawk/ratehawk.js"
31
+ },
32
+ "./themes/ratehawk/index": {
33
+ "types": "./dist/themes/ratehawk/index.d.ts",
34
+ "import": "./dist/themes/ratehawk/index.js",
35
+ "require": "./dist/themes/ratehawk/index.js",
36
+ "default": "./dist/themes/ratehawk/index.js"
37
+ },
38
+ "./themes": {
39
+ "types": "./dist/themes/index.d.ts",
40
+ "import": "./dist/themes/index.js",
41
+ "require": "./dist/themes/index.js",
42
+ "default": "./dist/themes/index.js"
43
+ },
44
+ "./themes/*": {
45
+ "types": "./dist/themes/*.d.ts",
46
+ "import": "./dist/themes/*.js",
47
+ "require": "./dist/themes/*.js",
48
+ "default": "./dist/themes/*.js"
49
+ },
50
+ "./utils": {
51
+ "types": "./dist/utils/index.d.ts",
52
+ "import": "./dist/utils/index.js",
53
+ "require": "./dist/utils/index.js",
54
+ "default": "./dist/utils/index.js"
55
+ },
56
+ "./store/fluidMode": {
57
+ "types": "./dist/store/fluidMode.d.ts",
58
+ "import": "./dist/store/fluidMode.js",
59
+ "require": "./dist/store/fluidMode.js",
60
+ "default": "./dist/store/fluidMode.js"
61
+ },
62
+ "./dist/*": {
63
+ "types": "./dist/*.d.ts",
64
+ "import": "./dist/*.js",
65
+ "require": "./dist/*.js",
66
+ "default": "./dist/*.js"
67
+ }
68
+ },
69
+ "typesVersions": {
70
+ "*": {
71
+ "components/*": [
72
+ "./dist/components/*/index.d.ts"
73
+ ],
74
+ "rh-components/*": [
75
+ "./dist/rh-components/*/index.d.ts"
76
+ ],
77
+ "themes": [
78
+ "./dist/themes/index.d.ts"
79
+ ],
80
+ "themes/*": [
81
+ "./dist/themes/*.d.ts"
82
+ ],
83
+ "*": [
84
+ "./dist/*.d.ts"
85
+ ]
86
+ }
87
+ },
88
+ "files": [
89
+ "dist"
90
+ ],
91
+ "scripts": {
92
+ "test": "echo \"Error: no test specified\" && exit 1",
93
+ "build": "npm run clean && npm run build:webpack && npm run build:types",
94
+ "build:webpack": "webpack --mode production",
95
+ "build:types": "tsc --emitDeclarationOnly",
96
+ "clean": "rimraf dist",
97
+ "storybook": "storybook dev -p 6006",
98
+ "build-storybook": "storybook build",
99
+ "lint": "npx @biomejs/biome check",
100
+ "lint:fix": "npx @biomejs/biome check --write",
101
+ "push-tag": "git push origin v\"$(jq -r .version package.json)\"",
102
+ "publish:patch": "npm run build && npm version patch && npm run push-tag && npm publish",
103
+ "publish:minor": "npm run build && npm version minor && npm run push-tag && npm publish",
104
+ "publish:major": "npm run build && npm version major && npm run push-tag && npm publish"
105
+ },
106
+ "keywords": [],
107
+ "author": "anton.grishchenko@emergingtravel.com",
108
+ "license": "ISC",
109
+ "description": "",
110
+ "browserslist": [
111
+ "> 0.25%, not dead"
112
+ ],
113
+ "devDependencies": {
114
+ "@babel/core": "^7.28.4",
115
+ "@babel/preset-react": "^7.27.1",
116
+ "@biomejs/biome": "2.2.4",
117
+ "@storybook/addon-webpack5-compiler-swc": "^4.0.1",
118
+ "@storybook/react-webpack5": "^9.1.6",
119
+ "@svgr/cli": "^8.1.0",
120
+ "@svgr/webpack": "^8.1.0",
121
+ "@types/react": "^19.1.15",
122
+ "copyfiles": "^2.4.1",
123
+ "css-loader": "^7.1.2",
124
+ "file-loader": "^6.2.0",
125
+ "mini-css-extract-plugin": "^2.9.4",
126
+ "postcss": "^8.5.6",
127
+ "postcss-loader": "^8.2.0",
128
+ "postcss-preset-env": "^10.4.0",
129
+ "react": "^19.1.1",
130
+ "rimraf": "^3.0.2",
131
+ "storybook": "^9.1.6",
132
+ "style-loader": "^4.0.0",
133
+ "ts-loader": "^9.5.4",
134
+ "tsc-alias": "^1.8.16",
135
+ "typescript": "^5.9.2",
136
+ "webpack": "^5.101.3",
137
+ "webpack-cli": "^6.0.1"
138
+ }
139
+ }