ost-components 0.0.1

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 (76) hide show
  1. package/README.md +136 -0
  2. package/dist/896f1dcf256d0c8af555.svg +3 -0
  3. package/dist/components/Button/Button.d.ts +16 -0
  4. package/dist/components/Button/Button.d.ts.map +1 -0
  5. package/dist/components/Button/index.css +165 -0
  6. package/dist/components/Button/index.d.ts +2 -0
  7. package/dist/components/Button/index.d.ts.map +1 -0
  8. package/dist/components/Button/index.js +1 -0
  9. package/dist/components/FAQ/FAQ.d.ts +20 -0
  10. package/dist/components/FAQ/FAQ.d.ts.map +1 -0
  11. package/dist/components/FAQ/index.css +101 -0
  12. package/dist/components/FAQ/index.d.ts +2 -0
  13. package/dist/components/FAQ/index.d.ts.map +1 -0
  14. package/dist/components/FAQ/index.js +1 -0
  15. package/dist/components/Footer/Footer.d.ts +12 -0
  16. package/dist/components/Footer/Footer.d.ts.map +1 -0
  17. package/dist/components/Footer/index.css +411 -0
  18. package/dist/components/Footer/index.d.ts +2 -0
  19. package/dist/components/Footer/index.d.ts.map +1 -0
  20. package/dist/components/Footer/index.js +1 -0
  21. package/dist/components/Header/Header.d.ts +21 -0
  22. package/dist/components/Header/Header.d.ts.map +1 -0
  23. package/dist/components/Header/Modal.d.ts +1 -0
  24. package/dist/components/Header/Modal.d.ts.map +1 -0
  25. package/dist/components/Header/index.css +321 -0
  26. package/dist/components/Header/index.d.ts +3 -0
  27. package/dist/components/Header/index.d.ts.map +1 -0
  28. package/dist/components/Header/index.js +1 -0
  29. package/dist/components/Heading/Heading.d.ts +11 -0
  30. package/dist/components/Heading/Heading.d.ts.map +1 -0
  31. package/dist/components/Heading/index.css +46 -0
  32. package/dist/components/Heading/index.d.ts +3 -0
  33. package/dist/components/Heading/index.d.ts.map +1 -0
  34. package/dist/components/Heading/index.js +1 -0
  35. package/dist/components/HotelCard/HotelCard.d.ts +18 -0
  36. package/dist/components/HotelCard/HotelCard.d.ts.map +1 -0
  37. package/dist/components/HotelCard/index.css +150 -0
  38. package/dist/components/HotelCard/index.d.ts +3 -0
  39. package/dist/components/HotelCard/index.d.ts.map +1 -0
  40. package/dist/components/HotelCard/index.js +1 -0
  41. package/dist/components/Text/Text.d.ts +12 -0
  42. package/dist/components/Text/Text.d.ts.map +1 -0
  43. package/dist/components/Text/index.css +65 -0
  44. package/dist/components/Text/index.d.ts +3 -0
  45. package/dist/components/Text/index.d.ts.map +1 -0
  46. package/dist/components/Text/index.js +1 -0
  47. package/dist/components/index.d.ts +10 -0
  48. package/dist/components/index.d.ts.map +1 -0
  49. package/dist/index.css +741 -0
  50. package/dist/index.d.ts +3 -0
  51. package/dist/index.d.ts.map +1 -0
  52. package/dist/index.js +1 -0
  53. package/dist/store/fluidMode.d.ts +37 -0
  54. package/dist/store/fluidMode.d.ts.map +1 -0
  55. package/dist/store/fluidMode.js +1 -0
  56. package/dist/storybook/decorator.d.ts +3 -0
  57. package/dist/storybook/decorator.d.ts.map +1 -0
  58. package/dist/themes/layout.d.ts +3 -0
  59. package/dist/themes/layout.d.ts.map +1 -0
  60. package/dist/themes/ostrovok/index.css +8 -0
  61. package/dist/themes/ostrovok/index.d.ts +9 -0
  62. package/dist/themes/ostrovok/index.d.ts.map +1 -0
  63. package/dist/themes/ostrovok/index.js +1 -0
  64. package/dist/themes/ostrovok/ostrovok.d.ts +64 -0
  65. package/dist/themes/ostrovok/ostrovok.d.ts.map +1 -0
  66. package/dist/themes/ostrovok/ostrovok.js +1 -0
  67. package/dist/utils/classes.d.ts +2 -0
  68. package/dist/utils/classes.d.ts.map +1 -0
  69. package/dist/utils/index.d.ts +3 -0
  70. package/dist/utils/index.d.ts.map +1 -0
  71. package/dist/utils/index.js +1 -0
  72. package/dist/utils/isValidEmail.d.ts +2 -0
  73. package/dist/utils/isValidEmail.d.ts.map +1 -0
  74. package/dist/utils/throttle.d.ts +2 -0
  75. package/dist/utils/throttle.d.ts.map +1 -0
  76. package/package.json +147 -0
@@ -0,0 +1,3 @@
1
+ export * from './components';
2
+ export { fluidModeState } from './store/fluidMode';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1 @@
1
+ import*as e from"react/jsx-runtime";import*as t from"react";var n={18:(e,t,n)=>{n.d(t,{A:()=>b});var r,l=n(178),o=n(58),a=n(39),s=n(649);function c(){return c=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},c.apply(null,arguments)}const i=e=>s.createElement("svg",c({xmlns:"http://www.w3.org/2000/svg",width:40,height:40,fill:"none"},e),r||(r=s.createElement("path",{stroke:"var(--icon-stroke-color)",strokeWidth:2,d:"m11.484 11.515 16.97 16.97m-16.97 0 16.97-16.97"})));var d,u;function m(){return m=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},m.apply(null,arguments)}const h=e=>s.createElement("svg",m({xmlns:"http://www.w3.org/2000/svg",width:40,height:40,fill:"none"},e),d||(d=s.createElement("circle",{cx:20,cy:20,r:20,fill:"var(--icon-fill-color)"})),u||(u=s.createElement("path",{fill:"#fff",d:"M12 21.088V19h14.616v2.088z"})));var f;function _(){return _=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},_.apply(null,arguments)}const g=e=>s.createElement("svg",_({xmlns:"http://www.w3.org/2000/svg",width:40,height:40,fill:"none"},e),f||(f=s.createElement("path",{stroke:"var(--icon-stroke-color)",strokeWidth:2,d:"M20 8v24M8 20h24"})));var p,v;function x(){return x=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},x.apply(null,arguments)}const w=e=>s.createElement("svg",x({xmlns:"http://www.w3.org/2000/svg",width:40,height:40,fill:"none"},e),p||(p=s.createElement("circle",{cx:20,cy:20,r:20,fill:"var(--icon-fill-color)"})),v||(v=s.createElement("path",{fill:"#fff",d:"M18.68 25.304v-4.656H14v-2.016h4.68V14h1.968v4.632h4.68v2.016h-4.68v4.656z"}))),j={root:"FAQ-module__root--XQD00",item:"FAQ-module__item--MhSbC",question:"FAQ-module__question--tbhzI",questionText:"FAQ-module__questionText--rAQxb",iconContainer:"FAQ-module__iconContainer--FS6za",answer:"FAQ-module__answer--Gt_RM",withBorder:"FAQ-module__withBorder--C3IMS",withBg:"FAQ-module__withBg--ruCY8"},b=({theme:e="withBg",className:t="",items:n=[],allowMultipleOpen:r=!1,iconStyle:c="filled",openIcon:d,closeIcon:u,openBgIcon:m,closeBgIcon:f,fluidMode:_})=>{const[p,v]=(0,s.useState)(new Set),x=j[e],b=(0,o.u)(_),y=e=>"filled"===c?e?f??(0,l.jsx)(h,{}):m??(0,l.jsx)(w,{}):e?u??(0,l.jsx)(i,{}):d??(0,l.jsx)(g,{});return(0,l.jsx)("div",{className:(0,a.L)(j.root,t,x,b),children:n.map((e,t)=>{const n=p.has(t);return(0,l.jsxs)("div",{className:j.item,children:[(0,l.jsxs)("button",{type:"button",tabIndex:0,className:(0,a.L)(j.question,b,n?j.open:""),onClick:()=>(e=>{v(t=>{const n=new Set(t);return n.has(e)?n.delete(e):(r||n.clear(),n.add(e)),n})})(t),children:[(0,l.jsx)("span",{className:j.questionText,children:e.question}),(0,l.jsx)("span",{className:j.iconContainer,children:y(n)})]}),n&&(0,l.jsx)("div",{className:j.answer,children:e.answer})]},e.question)})})}},39:(e,t,n)=>{n.d(t,{L:()=>r});const r=(...e)=>e.filter(Boolean).join(" ")},58:(e,t,n)=>{n.d(t,{N:()=>l,u:()=>o}),n(178);var r=n(992);const l=({theme:e,children:t,fluidMode:n=!1})=>{fluidModeState.state=n;const r=[];Object.entries(e).forEach(([e,t])=>{r.push(`--${e}: ${t}`)});const l=`\n @font-face {\n font-family: 'FactorA';\n src: url('https://of.worldota.net/fonts/factora/Factor-A-Regular-Web.woff2') format('woff2');\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n }\n\n @font-face {\n font-family: 'FactorA';\n src: url('https://of.worldota.net/fonts/factora/Factor-A-Medium-Web.woff2') format('woff2');\n font-weight: 500;\n font-style: normal;\n font-display: swap;\n }\n \n @font-face {\n font-family: 'Spoof';\n src: url('https://of.worldota.net/fonts/spoof/Spoof-Regular.woff2') format('woff2');\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n }\n\n @font-face {\n font-family: 'Spoof';\n src: url('https://of.worldota.net/fonts/spoof/Spoof-Medium.woff2') format('woff2');\n font-weight: 500;\n font-style: normal;\n font-display: swap;\n }\n\n :root {\n ${r.join(";\n")};\n }\n ${n?fluidLayoutCss:staticLayoutCss};\n `;return _jsxs(_Fragment,{children:[_jsx("style",{dangerouslySetInnerHTML:{__html:l}}),t]})},o=e=>("boolean"==typeof e?e:r.b.state)?"layout-module__fluidLayout--BNE04":"layout-module__staticLayout--x_6dR"},89:(e,t,n)=>{n.d(t,{A:()=>s});var r=n(178),l=n(58),o=n(39);const a={text:"Button-module__text--fXCJk",root:"Button-module__root--JgX5G",xs:"Button-module__xs--QiLu6",s:"Button-module__s--BPnwl",m:"Button-module__m--Za884",l:"Button-module__l--ERI3t",primary:"Button-module__primary--cdc4_",green:"Button-module__green--alhqL",blue:"Button-module__blue--NCGMs",white:"Button-module__white--zRU5W",black:"Button-module__black--Yi4Rj",secondary:"Button-module__secondary--pJ5lp"},s=({className:e,children:t,dimension:n="s",fluidMode:s,theme:c="primary",onClick:i,disabled:d=!1,type:u="button",variant:m="green",url:h})=>{const f=(0,l.u)(s),_=a[n]||"",g=a[c]||"",p=a[m]||"",v=h?"a":"button",x=h?{target:"_blank",href:h}:{type:u};return(0,r.jsx)(v,{...x,onClick:i,className:(0,o.L)(a.root,e,_,g,p,f),disabled:d,children:(0,r.jsx)("span",{className:a.text,children:t})})}},178:(t,n,r)=>{var l,o;t.exports=(l={Fragment:()=>e.Fragment,jsx:()=>e.jsx,jsxs:()=>e.jsxs},o={},r.d(o,l),o)},316:(e,t,n)=>{n.d(t,{A:()=>s});var r=n(178),l=n(58),o=n(39);const a={root:"Text-module__root--sYLHk",text:"Text-module__text--Z2j5F",xxl:"Text-module__xxl--CYHJa","xl-wide":"Text-module__xl-wide--zDvmm","xl-narrow":"Text-module__xl-narrow--SfZP0","l2-wide":"Text-module__l2-wide--zM0wM","l-wide":"Text-module__l-wide--qduSX","l-narrow":"Text-module__l-narrow--UjfZa",m:"Text-module__m--vcUB_","cap-s":"Text-module__cap-s--BvqfO","cap-xs":"Text-module__cap-xs--BQZgf"},s=({size:e="m",children:t,className:n="",tag:s="div",fluidMode:c})=>{const i=a[e]||"",d=s,u=(0,l.u)(c);return(0,r.jsx)(d,{className:(0,o.L)(a.root,i,n,u),children:(0,r.jsx)("span",{className:a.text,children:t})})}},433:(e,t,n)=>{n.d(t,{A:()=>x});var r,l=n(178),o=n(89),a=n(58),s=n(39),c=n(649);function i(){return i=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i.apply(null,arguments)}const d=e=>c.createElement("svg",i({xmlns:"http://www.w3.org/2000/svg",width:32,height:32,fill:"none"},e),r||(r=c.createElement("path",{stroke:"var(--general-color)",strokeLinecap:"round",strokeWidth:1.5,d:"M6 8h20M6 16h20M6 24h20"})));var u,m;function h(){return h=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},h.apply(null,arguments)}const f=e=>c.createElement("svg",h({xmlns:"http://www.w3.org/2000/svg",width:32,height:32,fill:"none"},e),u||(u=c.createElement("circle",{cx:16,cy:16,r:16,fill:"var(--general-color)"})),m||(m=c.createElement("path",{stroke:"var(--secondary-color)",strokeWidth:2,d:"M9.212 22.788 22.788 9.212m0 13.576L9.212 9.212"})));var _;function g(){return g=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},g.apply(null,arguments)}const p=e=>c.createElement("svg",g({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 152 28"},e),_||(_=c.createElement("path",{fill:"var(--general-color)",d:"M65.782 6.249c-2.03 0-3.89.955-5.192 2.575l-.151-2.147h-3.47V28h3.87v-6.032l-.177-1.6c1.302 1.54 3.122 2.463 5.12 2.463 4.081 0 7.525-3.662 7.525-8.186s-3.437-8.403-7.525-8.403zm-.48 13.335c-2.675 0-4.68-2.246-4.68-4.939s2.005-4.939 4.68-4.939c2.451 0 4.456 2.246 4.456 4.939s-2.004 4.939-4.456 4.939M32.463 9.916c1.722 0 3.227 1.08 4.081 2.588l3.227-1.726c-1.288-2.798-4.081-4.524-7.308-4.524-4.515 0-8.17 3.662-8.17 8.403s3.655 8.186 8.17 8.186c3.227 0 6.02-1.726 7.308-4.524l-3.227-1.726c-.86 1.508-2.366 2.588-4.081 2.588-2.366 0-4.515-2.153-4.515-4.524 0-2.588 2.149-4.741 4.515-4.741m8.386.211h5.159v12.275h3.654V10.127h5.159v-3.45H40.849zM11.18 0C4.941 0 0 5.17 0 11.419s4.942 11.419 11.18 11.419c6.236 0 11.395-4.952 11.395-11.42C22.575 4.953 17.633 0 11.179 0Zm0 18.953c-3.872 0-7.31-3.445-7.31-7.54 0-3.88 3.438-7.324 7.31-7.324 4.08 0 7.307 3.445 7.307 7.323 0 4.09-3.227 7.54-7.308 7.54Zm136.012 3.885a2.586 2.586 0 0 0 2.583-2.588 2.586 2.586 0 0 0-2.583-2.589 2.586 2.586 0 0 0-2.584 2.589 2.586 2.586 0 0 0 2.584 2.588m1.613-7.54L149.882 0h-5.376l1.078 15.298zm-12.516-.864c1.288-.217 2.149-.862 3.01-3.016l1.722-4.741h-3.766L135.75 11.2c-.427 1.29-1.177 1.725-2.254 1.725h-1.827v-6.25h-3.766v15.726h3.766v-6.25h1.61c1.288 0 1.82.429 2.464 1.726l1.932 4.524h4.193l-2.365-5.17c-.861-1.724-1.933-2.587-3.227-2.798zm-31.57-.031s2.123-.889 2.123-3.628c0-2.463-1.932-4.09-5.376-4.09h-7.742v15.726h8.116c3.438 0 5.646-1.521 5.646-4.452s-2.767-3.483-2.767-3.483zm-7.334-4.689h3.871c1.288 0 1.932.455 1.932 1.6 0 .685-.217 1.831-1.722 1.831h-4.081zm4.081 9.674h-4.081v-3.661h4.298c1.078 0 1.932.645 1.932 1.725 0 1.29-.861 1.936-2.149 1.936M83.197 6.254c-4.515 0-8.17 3.662-8.17 8.403s3.655 8.186 8.17 8.186 8.169-3.662 8.169-8.186-3.654-8.403-8.17-8.403Zm-.106 13.138c-2.582 0-4.515-2.153-4.515-4.741s1.933-4.742 4.515-4.742c2.583 0 4.732 2.153 4.732 4.742s-2.149 4.741-4.732 4.741m34.276-13.138c-4.515 0-8.169 3.662-8.169 8.403s3.654 8.186 8.169 8.186 8.169-3.662 8.169-8.186-3.654-8.403-8.169-8.403m-.105 13.138c-2.583 0-4.515-2.153-4.515-4.741s1.932-4.742 4.515-4.742 4.732 2.153 4.732 4.742-2.149 4.741-4.732 4.741"}))),v={root:"Header-module__root--r3HBs",exposedMode:"Header-module__exposedMode--yUNI8",light:"Header-module__light--pMjK9",dark:"Header-module__dark--K0YDF",leftContainer:"Header-module__leftContainer--PZgyr",rightContainer:"Header-module__rightContainer--UkVek",hidden:"Header-module__hidden--hKTxA",navList:"Header-module__navList--E6aFg",menuLink:"Header-module__menuLink--QLzUK",menuLinkText:"Header-module__menuLinkText--J8TxL",burgerMenuContainer:"Header-module__burgerMenuContainer--nMgsS",burgerMenuButton:"Header-module__burgerMenuButton--hrBJQ",burgerMenu:"Header-module__burgerMenu--wpknD",exposedMenu:"Header-module__exposedMenu--L54Cl",logo:"Header-module__logo--Kmtwb"},x=({theme:e="light",className:t="",menu:n,rightButton:r,noBurgerMenu:i,linkClass:u,fluidMode:m})=>{const h=v[e],_=(0,a.u)(m),g=n&&n.length>0,[x,w]=(0,c.useState)(!1),[j,b]=(0,c.useState)(!1),y=(0,c.useRef)(null),C=(0,c.useRef)(null),N=(0,c.useRef)(null),M=(0,c.useCallback)((()=>{let e=!1;return(...t)=>{e||((()=>{if(!y.current||!N.current||!C.current)return;const e=Number(C.current.getAttribute("viewBox")?.split(" ")[2]);if(!e)return;const t=window.getComputedStyle(y.current),n=parseInt(t.paddingLeft,10),r=parseInt(t.paddingRight,10),l=y.current.offsetWidth-n-r-(e+N.current.offsetWidth)<10;w(l),l||b(!1)})(...t),e=!0,setTimeout(()=>{e=!1},100))}})(),[]);(0,c.useEffect)(()=>(window.addEventListener("resize",M),M(),()=>{window.removeEventListener("resize",M)}),[M]);const k=Boolean(g||r),H=g?(0,l.jsx)("nav",{className:v.navMenu,children:(0,l.jsx)("ul",{className:v.navList,children:n?.map(e=>{const t=e.url?"a":"button",n=e.url?{target:"_blank",href:e.url}:{type:"button"};return(0,l.jsx)("li",{children:(0,l.jsx)(t,{className:(0,s.L)(v.menuLink,u,_),onClick:e.onClick,...n,children:(0,l.jsx)("span",{className:v.menuLinkText,children:e.title})})},e.title)})})}):null,L=r?(0,l.jsx)(o.A,{className:v.rightButton,theme:"secondary",variant:"dark"===e?"green":"blue",dimension:"s",onClick:r.onClick,url:r.url,children:r.text}):null;return(0,l.jsxs)("div",{className:(0,s.L)(v.root,t,h,_,i&&x&&v.exposedMode),ref:y,children:[(0,l.jsx)("div",{className:v.leftContainer,children:(0,l.jsx)(p,{className:v.logo,ref:C})}),(0,l.jsxs)("div",{className:`${v.rightContainer} ${x?v.hidden:""}`,ref:N,children:[H,L]}),x&&k&&!i&&(0,l.jsx)("div",{className:v.burgerMenuContainer,children:(0,l.jsx)("button",{className:v.burgerMenuButton,onClick:()=>b(!j),type:"button",children:j?(0,l.jsx)(f,{}):(0,l.jsx)(d,{})})}),x&&k&&i&&(0,l.jsxs)("div",{className:v.exposedMenu,children:[H,L]}),j&&(0,l.jsxs)("div",{className:v.burgerMenu,style:{top:y.current?.offsetHeight||0},children:[H,L]})]})}},459:(e,t,n)=>{n.d(t,{A:()=>s});var r=n(178),l=n(58),o=n(39);const a={root:"Heading-module__root--cxQbw",text:"Heading-module__text--NdLK_",m:"Heading-module__m--HvQbM",l:"Heading-module__l--x15s8",xl:"Heading-module__xl--clv5l",xxl:"Heading-module__xxl--qN0Pa",xxxl:"Heading-module__xxxl--_qGDW"},s=({level:e=1,size:t="m",children:n,className:s="",fluidMode:c})=>{const i=`h${e}`,d=a[t]||"",u=(0,l.u)(c);return(0,r.jsx)(i,{className:(0,o.L)(a.root,d,s,u),children:(0,r.jsx)("span",{className:a.text,children:n})})}},649:(e,n,r)=>{var l,o;e.exports=(l={createElement:()=>t.createElement,useCallback:()=>t.useCallback,useEffect:()=>t.useEffect,useRef:()=>t.useRef,useState:()=>t.useState},o={},r.d(o,l),o)},652:(e,t,n)=>{n.d(t,{A:()=>a});var r=n(178),l=n(58),o=n(39);const a=({image:e,rating:t,name:n,address:a,price:s,oldPrice:c,discountPercent:i,discountPlace:d,nights:u,roomType:m,url:h,fluidMode:f})=>{const _=(0,l.u)(f),g=(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("img",{src:e,alt:n,className:"HotelCard-module__image--S6ocB"}),(0,r.jsx)("div",{className:"HotelCard-module__rating--pw3y8",children:(0,r.jsx)("span",{className:"HotelCard-module__ratingInner--wIy2O",children:t.toFixed(1).replace(".",",")})}),i&&"label"===d&&(0,r.jsx)("div",{className:"HotelCard-module__discountLabel--G0fJh",children:(0,r.jsxs)("span",{className:"HotelCard-module__discountLabelInner--fSbXi",children:["-",i,"%"]})}),(0,r.jsxs)("div",{className:"HotelCard-module__bottomOverlay--V4ham",children:[(0,r.jsx)("div",{className:"HotelCard-module__name--IcST5",children:n}),(0,r.jsx)("div",{className:"HotelCard-module__address--vs3wb",children:(0,r.jsx)("span",{className:"HotelCard-module__addressInner--Q7v6i",children:a})}),(0,r.jsxs)("div",{className:"HotelCard-module__priceBlock--MI1So",children:[(0,r.jsxs)("div",{className:"HotelCard-module__prices--m_9KZ",children:[(0,r.jsxs)("span",{className:"HotelCard-module__price--De503",children:["от ",s,"₽"]}),c&&(0,r.jsx)("span",{className:"HotelCard-module__oldPrice--chClN",children:c})]}),i&&"inline"===d?(0,r.jsx)("div",{className:"HotelCard-module__discount--ldg_V",children:(0,r.jsxs)("span",{className:"HotelCard-module__discountInner--q5SJv",children:["-",i,"%"]})}):null]}),(0,r.jsxs)("div",{className:"HotelCard-module__bottomInfo--_g0a0",children:[(0,r.jsxs)("span",{className:"HotelCard-module__nights--L4NY4",children:[u," ноч",1===u?"ь":"и"]}),(0,r.jsx)("span",{className:"HotelCard-module__dotSeparator--Boyjj"}),(0,r.jsxs)("div",{className:"HotelCard-module__roomType--Z7Vyt",children:[1===m?"одноместный":"двухместный"," номер"]})]})]})]}),p=(0,o.L)("HotelCard-module__card--J06q1",_);return h?(0,r.jsx)("a",{className:p,href:h,target:"_blank",rel:"noopener noreferrer",children:g}):(0,r.jsx)("div",{className:p,children:g})}},884:(e,t,n)=>{n.d(t,{A:()=>y});var r,l,o=n(178),a=n(433),s=n(58),c=n(39),i=n(649);function d(){return d=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},d.apply(null,arguments)}const u=e=>i.createElement("svg",d({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"none"},e),r||(r=i.createElement("g",{fill:"var(--general-color)",clipPath:"url(#dzen_svg__a)"},i.createElement("path",{d:"M24 12.129c-5.314.162-7.74.3-9.685 2.185C12.429 16.26 12.3 18.686 12.129 24c6.525-.068 11.802-5.345 11.87-11.87ZM11.872 24c-.163-5.314-.3-7.74-2.186-9.686C7.74 12.43 5.315 12.3.001 12.13.069 18.655 5.346 23.932 11.871 24ZM24 11.871C23.93 5.346 18.654.07 12.129.001c.163 5.313.3 7.74 2.186 9.685C16.26 11.57 18.685 11.7 24 11.87ZM11.872 0C5.346.07.069 5.347 0 11.872c5.314-.162 7.74-.3 9.685-2.185C11.572 7.74 11.7 5.314 11.872 0"}))),l||(l=i.createElement("defs",null,i.createElement("clipPath",{id:"dzen_svg__a"},i.createElement("path",{fill:"#fff",d:"M0 0h24v24H0z"})))));var m;function h(){return h=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},h.apply(null,arguments)}const f=e=>i.createElement("svg",h({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"none"},e),m||(m=i.createElement("path",{fill:"var(--general-color)",d:"M12 0c6.627 0 12 5.373 12 12s-5.373 12-12 12S0 18.627 0 12 5.373 0 12 0m3.348 11.965a.147.147 0 0 0-.223-.022c-.88.753-1.96 1.24-3.126 1.24s-2.246-.487-3.126-1.24a.165.165 0 0 0-.223.022l-.932 1.271a.16.16 0 0 0 .021.201 6.6 6.6 0 0 0 2.65 1.293l-1.972 3.476c-.053.095.021.222.127.223h1.929c.063 0 .117-.031.138-.095l1.377-3.073 1.378 3.073a.15.15 0 0 0 .138.095h1.929c.116 0 .18-.117.127-.223l-1.971-3.476a6.45 6.45 0 0 0 2.65-1.293c.084-.053.094-.137.041-.2zm-3.349-6.37a3.17 3.17 0 0 0-2.246.933 3.173 3.173 0 0 0 0 4.494 3.173 3.173 0 0 0 4.493 0 3.17 3.17 0 0 0 0-4.494A3.17 3.17 0 0 0 12 5.596Zm0 1.728c.403 0 .763.16 1.018.424a1.435 1.435 0 0 1 0 2.034 1.44 1.44 0 0 1-1.018.424 1.4 1.4 0 0 1-1.018-.424 1.44 1.44 0 0 1-.423-1.016c0-.392.17-.753.423-1.018A1.44 1.44 0 0 1 12 7.323Z"})));var _,g;function p(){return p=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},p.apply(null,arguments)}const v=e=>i.createElement("svg",p({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"none"},e),_||(_=i.createElement("g",{clipPath:"url(#tg_svg__a)"},i.createElement("path",{fill:"var(--general-color)",fillRule:"evenodd",d:"M24 12c0 6.627-5.373 12-12 12S0 18.627 0 12 5.373 0 12 0s12 5.373 12 12M12.43 8.859q-1.75.728-6.998 3.014-.852.339-.893.663c-.046.366.412.51 1.034.705q.128.04.263.084c.613.199 1.437.432 1.865.441q.583.012 1.302-.48 4.902-3.31 5.061-3.346c.075-.017.179-.039.249.024.07.062.063.18.056.212-.046.193-1.84 1.862-2.77 2.726-.29.269-.495.46-.537.504q-.143.145-.282.279c-.57.548-.996.96.024 1.632.49.323.882.59 1.273.856.427.291.853.581 1.405.943q.21.14.405.28c.497.355.944.673 1.496.623.32-.03.652-.331.82-1.23.397-2.126 1.179-6.73 1.36-8.628a2 2 0 0 0-.02-.472.5.5 0 0 0-.172-.325c-.143-.117-.365-.142-.465-.14-.451.008-1.143.249-4.476 1.635",clipRule:"evenodd"}))),g||(g=i.createElement("defs",null,i.createElement("clipPath",{id:"tg_svg__a"},i.createElement("path",{fill:"#fff",d:"M0 0h24v24H0z"})))));var x;function w(){return w=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},w.apply(null,arguments)}const j=e=>i.createElement("svg",w({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"none"},e),x||(x=i.createElement("path",{fill:"var(--general-color)",fillRule:"evenodd",d:"M12 24c6.627 0 12-5.373 12-12S18.627 0 12 0 0 5.373 0 12s5.373 12 12 12M5 7.63c.114 5.457 2.842 8.737 7.625 8.737h.271v-3.122c1.758.175 3.087 1.46 3.62 3.122H19c-.682-2.484-2.475-3.857-3.594-4.381 1.12-.648 2.693-2.221 3.07-4.355h-2.257c-.49 1.731-1.941 3.305-3.323 3.454V7.63H10.64v6.051c-1.399-.35-3.165-2.046-3.244-6.051z",clipRule:"evenodd"}))),b={root:"Footer-module__root--VMT_P",light:"Footer-module__light--K1Vx3",dark:"Footer-module__dark--GblEw",footerLink:"Footer-module__footerLink--XLvvf",bottomContent:"Footer-module__bottomContent--UdZCW",copyright:"Footer-module__copyright--YlZ8a",footerCrumb:"Footer-module__footerCrumb--OuDMq",social:"Footer-module__social--LDpZU",socialLink:"Footer-module__socialLink--wHUYf"},y=({theme:e="light",className:t="",menu:n,rightButton:r,fluidMode:l})=>{const i=b[e],d=(0,s.u)(l);return(0,o.jsxs)("footer",{className:(0,c.L)(b.root,t,i,d),children:[(0,o.jsx)(a.A,{noBurgerMenu:!0,menu:n,theme:e,rightButton:r,linkClass:b.footerLink}),(0,o.jsx)("div",{className:b.bottomContent,children:(0,o.jsxs)("div",{className:b.copyright,children:[(0,o.jsxs)("span",{className:b.footerCrumb,children:["© ",(new Date).getFullYear()," Группа компаний «Островок»"]}),(0,o.jsx)("a",{className:b.footerCrumb,href:"https://ostrovok.ru/legal/site/privacy-policy/",children:"Политика конфиденциальности"}),(0,o.jsxs)("div",{className:b.social,children:[(0,o.jsx)("a",{href:"https://vk.com/ostrovok_ru",target:"_blank",rel:"noopener",className:b.socialLink,children:(0,o.jsx)(j,{})}),(0,o.jsx)("a",{href:"https://t.me/ostrovok_travel",target:"_blank",rel:"noopener",className:b.socialLink,children:(0,o.jsx)(v,{})}),(0,o.jsx)("a",{href:"https://ok.ru/ostrovok.ru/",target:"_blank",rel:"noopener",className:b.socialLink,children:(0,o.jsx)(f,{})}),(0,o.jsx)("a",{href:"https://dzen.ru/blog_ostrovok_ru",target:"_blank",rel:"noopener",className:b.socialLink,children:(0,o.jsx)(u,{})})]})]})})]})}},992:(e,t,n)=>{n.d(t,{b:()=>r}),globalThis.__fluidModeState||(globalThis.__fluidModeState={state:!1});const r=globalThis.__fluidModeState}},r={};function l(e){var t=r[e];if(void 0!==t)return t.exports;var o=r[e]={exports:{}};return n[e](o,o.exports,l),o.exports}l.d=(e,t)=>{for(var n in t)l.o(t,n)&&!l.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},l.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var o=l(89),a=l(18),s=l(884),c=l(433),i=l(459),d=l(652),u=l(316),m=l(992);const h=o.A,f=a.A,_=s.A,g=c.A,p=i.A,v=d.A,x=u.A;export{h as Button,f as FAQ,_ as Footer,g as Header,p as Heading,v as HotelCard,x as Text};export const fluidModeState=m.b;
@@ -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 ComponentsDecorator: (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":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,eAAO,MAAM,mBAAmB,GAC9B,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,9 @@
1
+ import type ostrovokTheme from '@themes/ostrovok/ostrovok';
2
+ export type Theme = typeof ostrovokTheme;
3
+ export declare const ThemeProvider: React.FC<{
4
+ theme: Theme;
5
+ children: React.ReactNode;
6
+ fluidMode?: boolean;
7
+ }>;
8
+ export declare const useContainerFluidCssClass: (propValue: boolean | undefined) => string;
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/themes/ostrovok/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,aAAa,MAAM,2BAA2B,CAAC;AAG3D,MAAM,MAAM,KAAK,GAAG,OAAO,aAAa,CAAC;AAEzC,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC;IACnC,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAsDA,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,WAAW,OAAO,GAAG,SAAS,WAKvE,CAAC"}
@@ -0,0 +1 @@
1
+ import*as n from"react/jsx-runtime";var o={178:(o,t,a)=>{var f,e;o.exports=(f={Fragment:()=>n.Fragment,jsx:()=>n.jsx,jsxs:()=>n.jsxs},e={},a.d(e,f),e)},992:(n,o,t)=>{t.d(o,{b:()=>a}),globalThis.__fluidModeState||(globalThis.__fluidModeState={state:!1});const a=globalThis.__fluidModeState}},t={};function a(n){var f=t[n];if(void 0!==f)return f.exports;var e=t[n]={exports:{}};return o[n](e,e.exports,a),e.exports}a.d=(n,o)=>{for(var t in o)a.o(o,t)&&!a.o(n,t)&&Object.defineProperty(n,t,{enumerable:!0,get:o[t]})},a.o=(n,o)=>Object.prototype.hasOwnProperty.call(n,o);var f=a(178);var e=a(992);const r=({theme:n,children:o,fluidMode:t=!1})=>{e.b.state=t;const a=[];Object.entries(n).forEach(([n,o])=>{a.push(`--${n}: ${o}`)});const r=`\n @font-face {\n font-family: 'FactorA';\n src: url('https://of.worldota.net/fonts/factora/Factor-A-Regular-Web.woff2') format('woff2');\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n }\n\n @font-face {\n font-family: 'FactorA';\n src: url('https://of.worldota.net/fonts/factora/Factor-A-Medium-Web.woff2') format('woff2');\n font-weight: 500;\n font-style: normal;\n font-display: swap;\n }\n \n @font-face {\n font-family: 'Spoof';\n src: url('https://of.worldota.net/fonts/spoof/Spoof-Regular.woff2') format('woff2');\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n }\n\n @font-face {\n font-family: 'Spoof';\n src: url('https://of.worldota.net/fonts/spoof/Spoof-Medium.woff2') format('woff2');\n font-weight: 500;\n font-style: normal;\n font-display: swap;\n }\n\n :root {\n ${a.join(";\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,f.jsxs)(f.Fragment,{children:[(0,f.jsx)("style",{dangerouslySetInnerHTML:{__html:r}}),o]})},i=n=>("boolean"==typeof n?n:e.b.state)?"layout-module__fluidLayout--BNE04":"layout-module__staticLayout--x_6dR";export{r as ThemeProvider,i as useContainerFluidCssClass};
@@ -0,0 +1,64 @@
1
+ declare const ostrovokTheme: {
2
+ blue60: string;
3
+ blue80: string;
4
+ green40: string;
5
+ 'static-grey': string;
6
+ 'static-black': string;
7
+ 'static-white': string;
8
+ 'general-dark-color': string;
9
+ 'secondary-dark-color': string;
10
+ 'general-light-color': string;
11
+ 'secondary-light-color': string;
12
+ 'font-family-typo': string;
13
+ 'font-family': string;
14
+ 'primary-green-button-text': string;
15
+ 'primary-green-button-bg': string;
16
+ 'primary-green-button-bg-hover': string;
17
+ 'primary-green-button-bg-active': string;
18
+ 'primary-green-button-bg-disabled': string;
19
+ 'primary-blue-button-text': string;
20
+ 'primary-blue-button-bg': string;
21
+ 'primary-blue-button-bg-hover': string;
22
+ 'primary-blue-button-bg-active': string;
23
+ 'primary-blue-button-bg-disabled': string;
24
+ 'primary-blue-button-color-disabled': string;
25
+ 'primary-white-button-text': string;
26
+ 'primary-white-button-bg': string;
27
+ 'primary-white-button-bg-hover': string;
28
+ 'primary-white-button-bg-active': string;
29
+ 'primary-white-button-bg-disabled': string;
30
+ 'primary-black-button-text': string;
31
+ 'primary-black-button-bg': string;
32
+ 'primary-black-button-bg-hover': string;
33
+ 'primary-black-button-bg-active': string;
34
+ 'primary-black-button-bg-disabled': string;
35
+ 'primary-black-button-color-disabled': string;
36
+ 'secondary-green-button-text': string;
37
+ 'secondary-green-button-border': string;
38
+ 'secondary-green-button-color-hover': string;
39
+ 'secondary-green-button-border-hover': string;
40
+ 'secondary-green-button-color-active': string;
41
+ 'secondary-green-button-border-active': string;
42
+ 'secondary-green-button-color-disabled': string;
43
+ 'secondary-green-button-border-disabled': string;
44
+ 'secondary-blue-button-text': string;
45
+ 'secondary-blue-button-border': string;
46
+ 'secondary-blue-button-color-hover': string;
47
+ 'secondary-blue-button-border-hover': string;
48
+ 'secondary-blue-button-color-active': string;
49
+ 'secondary-blue-button-border-active': string;
50
+ 'secondary-blue-button-color-disabled': string;
51
+ 'secondary-blue-button-border-disabled': string;
52
+ 'link-blue-color-hover': string;
53
+ 'link-green-color-hover': string;
54
+ 'mobile-menu-blue-bg': string;
55
+ 'mobile-menu-black-bg': string;
56
+ 'footer-light-bg': string;
57
+ 'footer-light-contrast-color': string;
58
+ 'footer-dark-bg': string;
59
+ 'footer-dark-contrast-color': string;
60
+ 'footer-light-link-color': string;
61
+ 'footer-dark-link-color': string;
62
+ };
63
+ export default ostrovokTheme;
64
+ //# sourceMappingURL=ostrovok.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ostrovok.d.ts","sourceRoot":"","sources":["../../../src/themes/ostrovok/ostrovok.ts"],"names":[],"mappings":"AAeA,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqEwB,CAAC;AAE5C,eAAe,aAAa,CAAC"}
@@ -0,0 +1 @@
1
+ var r={d:(e,o)=>{for(var t in o)r.o(o,t)&&!r.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:o[t]})},o:(r,e)=>Object.prototype.hasOwnProperty.call(r,e)},e={};r.d(e,{A:()=>y});const o="#FFF",t="#000",b="#E5E5E5",a="#E3FAD5",n="#C8F4AB",l="#ACEF81",i="#8FE855",c="#C6D7F5",u="#446DFF",d="#0D41D2",y={blue60:u,blue80:d,green40:n,"static-grey":b,"static-black":t,"static-white":o,"general-dark-color":l,"secondary-dark-color":t,"general-light-color":d,"secondary-light-color":o,"font-family-typo":"Spoof, sans-serif","font-family":"FactorA, sans-serif","primary-green-button-text":t,"primary-green-button-bg":l,"primary-green-button-bg-hover":a,"primary-green-button-bg-active":i,"primary-green-button-bg-disabled":a,"primary-blue-button-text":o,"primary-blue-button-bg":u,"primary-blue-button-bg-hover":c,"primary-blue-button-bg-active":d,"primary-blue-button-bg-disabled":c,"primary-blue-button-color-disabled":t,"primary-white-button-text":t,"primary-white-button-bg":o,"primary-white-button-bg-hover":b,"primary-white-button-bg-active":o,"primary-white-button-bg-disabled":o,"primary-black-button-text":o,"primary-black-button-bg":t,"primary-black-button-bg-hover":"#404040","primary-black-button-bg-active":t,"primary-black-button-bg-disabled":b,"primary-black-button-color-disabled":t,"secondary-green-button-text":l,"secondary-green-button-border":l,"secondary-green-button-color-hover":n,"secondary-green-button-border-hover":n,"secondary-green-button-color-active":i,"secondary-green-button-border-active":i,"secondary-green-button-color-disabled":a,"secondary-green-button-border-disabled":a,"secondary-blue-button-text":d,"secondary-blue-button-border":d,"secondary-blue-button-color-hover":u,"secondary-blue-button-border-hover":u,"secondary-blue-button-color-active":"#0a35ad","secondary-blue-button-border-active":"#0a35ad","secondary-blue-button-color-disabled":t,"secondary-blue-button-border-disabled":c,"link-blue-color-hover":"#0935AD","link-green-color-hover":n,"mobile-menu-blue-bg":c,"mobile-menu-black-bg":"rgba(29, 29, 29, 1)","footer-light-bg":o,"footer-light-contrast-color":t,"footer-dark-bg":t,"footer-dark-contrast-color":o,"footer-light-link-color":t,"footer-dark-link-color":l},g=e.A;export{g as default};
@@ -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,147 @@
1
+ {
2
+ "name": "ost-components",
3
+ "version": "0.0.1",
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/*": {
19
+ "types": "./dist/components/*/index.d.ts",
20
+ "import": "./dist/components/*/index.js",
21
+ "require": "./dist/components/*/index.js",
22
+ "default": "./dist/components/*/index.js"
23
+ },
24
+ "./components/*/index.css": "./dist/components/*/index.css",
25
+ "./themes/ostrovok": {
26
+ "types": "./dist/themes/ostrovok/ostrovok.d.ts",
27
+ "import": "./dist/themes/ostrovok/ostrovok.js",
28
+ "require": "./dist/themes/ostrovok/ostrovok.js",
29
+ "default": "./dist/themes/ostrovok/ostrovok.js"
30
+ },
31
+ "./themes/ostrovok/index": {
32
+ "types": "./dist/themes/ostrovok/index.d.ts",
33
+ "import": "./dist/themes/ostrovok/index.js",
34
+ "require": "./dist/themes/ostrovok/index.js",
35
+ "default": "./dist/themes/ostrovok/index.js"
36
+ },
37
+ "./themes/ratehawk": {
38
+ "types": "./dist/themes/ratehawk/ratehawk.d.ts",
39
+ "import": "./dist/themes/ratehawk/ratehawk.js",
40
+ "require": "./dist/themes/ratehawk/ratehawk.js",
41
+ "default": "./dist/themes/ratehawk/ratehawk.js"
42
+ },
43
+ "./themes/ratehawk/index": {
44
+ "types": "./dist/themes/ratehawk/index.d.ts",
45
+ "import": "./dist/themes/ratehawk/index.js",
46
+ "require": "./dist/themes/ratehawk/index.js",
47
+ "default": "./dist/themes/ratehawk/index.js"
48
+ },
49
+ "./themes": {
50
+ "types": "./dist/themes/index.d.ts",
51
+ "import": "./dist/themes/index.js",
52
+ "require": "./dist/themes/index.js",
53
+ "default": "./dist/themes/index.js"
54
+ },
55
+ "./themes/*": {
56
+ "types": "./dist/themes/*.d.ts",
57
+ "import": "./dist/themes/*.js",
58
+ "require": "./dist/themes/*.js",
59
+ "default": "./dist/themes/*.js"
60
+ },
61
+ "./utils": {
62
+ "types": "./dist/utils/index.d.ts",
63
+ "import": "./dist/utils/index.js",
64
+ "require": "./dist/utils/index.js",
65
+ "default": "./dist/utils/index.js"
66
+ },
67
+ "./store/fluidMode": {
68
+ "types": "./dist/store/fluidMode.d.ts",
69
+ "import": "./dist/store/fluidMode.js",
70
+ "require": "./dist/store/fluidMode.js",
71
+ "default": "./dist/store/fluidMode.js"
72
+ },
73
+ "./dist/*": {
74
+ "types": "./dist/*.d.ts",
75
+ "import": "./dist/*.js",
76
+ "require": "./dist/*.js",
77
+ "default": "./dist/*.js"
78
+ }
79
+ },
80
+ "typesVersions": {
81
+ "*": {
82
+ "components/*": [
83
+ "./dist/components/*/index.d.ts"
84
+ ],
85
+ "themes": [
86
+ "./dist/themes/index.d.ts"
87
+ ],
88
+ "themes/*": [
89
+ "./dist/themes/*.d.ts"
90
+ ],
91
+ "*": [
92
+ "./dist/*.d.ts"
93
+ ]
94
+ }
95
+ },
96
+ "files": [
97
+ "dist"
98
+ ],
99
+ "scripts": {
100
+ "test": "echo \"Error: no test specified\" && exit 1",
101
+ "build": "npm run clean && npm run build:webpack && npm run build:types",
102
+ "build:webpack": "webpack --mode production",
103
+ "build:types": "tsc --emitDeclarationOnly",
104
+ "clean": "rimraf dist",
105
+ "storybook": "storybook dev -p 6006",
106
+ "build-storybook": "storybook build",
107
+ "lint": "npx @biomejs/biome check",
108
+ "lint:fix": "npx @biomejs/biome check --write",
109
+ "push-tag": "git push origin v\"$(jq -r .version package.json)\"",
110
+ "publish:patch": "npm run build && npm version patch && npm run push-tag && npm publish",
111
+ "publish:minor": "npm run build && npm version minor && npm run push-tag && npm publish",
112
+ "publish:major": "npm run build && npm version major && npm run push-tag && npm publish"
113
+ },
114
+ "keywords": [],
115
+ "author": "anton.grishchenko@emergingtravel.com",
116
+ "license": "ISC",
117
+ "description": "",
118
+ "browserslist": [
119
+ "> 0.25%, not dead"
120
+ ],
121
+ "devDependencies": {
122
+ "@babel/core": "^7.28.4",
123
+ "@babel/preset-react": "^7.27.1",
124
+ "@biomejs/biome": "2.2.4",
125
+ "@storybook/addon-webpack5-compiler-swc": "^4.0.1",
126
+ "@storybook/react-webpack5": "^9.1.6",
127
+ "@svgr/cli": "^8.1.0",
128
+ "@svgr/webpack": "^8.1.0",
129
+ "@types/react": "^19.1.15",
130
+ "copyfiles": "^2.4.1",
131
+ "css-loader": "^7.1.2",
132
+ "file-loader": "^6.2.0",
133
+ "mini-css-extract-plugin": "^2.9.4",
134
+ "postcss": "^8.5.6",
135
+ "postcss-loader": "^8.2.0",
136
+ "postcss-preset-env": "^10.4.0",
137
+ "react": "^19.1.1",
138
+ "rimraf": "^3.0.2",
139
+ "storybook": "^9.1.6",
140
+ "style-loader": "^4.0.0",
141
+ "ts-loader": "^9.5.4",
142
+ "tsc-alias": "^1.8.16",
143
+ "typescript": "^5.9.2",
144
+ "webpack": "^5.101.3",
145
+ "webpack-cli": "^6.0.1"
146
+ }
147
+ }