@musica-sacra/layout
Version:
Layout components for building easy web apps layouts
1 lines • 11 kB
Source Map (JSON)
{"version":3,"file":"index.mjs","sources":["../../hooks/dist/index.mjs","../src/components/container/Container.tsx","../src/components/layoutBasic/LayoutBasic.tsx","../src/context/SidebarContext.tsx","../src/components/layoutWithSidebar/LayoutWithSidebar.tsx"],"sourcesContent":["function t(t){return{bem:function(n){for(var o=[],c=1;c<arguments.length;c++)o[c-1]=arguments[c];var e=[],r=function(t){t&&!e.includes(t)&&e.push(t)},i=function(n,o){void 0===o&&(o=!0);for(var c=0,e=Object.entries(n);c<e.length;c++){var i=e[c],f=i[0];i[1]&&r(f===t?t:o?\"\".concat(t,\"__\").concat(f):f)}};n===t||void 0===n?r(t):(\"string\"==typeof n&&\"\"!==n&&r(\"\".concat(t,\"__\").concat(n)),\"object\"==typeof n&&i(n));for(var f=0,a=o;f<a.length;f++){var u=a[f];u===t||(\"string\"==typeof u&&\"\"!==u&&r(u),\"object\"==typeof u&&i(u,!1)),r(t)}return e.join(\" \")},element:function(n){return\"string\"==typeof n&&\"\"!==n?\"\".concat(t,\"__\").concat(n):\"object\"==typeof n?Object.entries(n).filter(function(t){return t[1]}).map(function(n){var o=n[0];return\"\".concat(t,\"__\").concat(o)}).join(\" \"):t},modifier:function(n){return\"string\"==typeof n&&\"\"!==n?\"\".concat(t,\"--\").concat(n):\"object\"==typeof n?Object.entries(n).filter(function(t){return t[1]}).map(function(n){var o=n[0];return\"\".concat(t,\"--\").concat(o)}).join(\" \"):\"\"},base:t}}export{t as useBem};\n//# sourceMappingURL=index.mjs.map\n","import React from 'react';\nimport { useBem } from '@musica-sacra/hooks';\n\nexport type ContainerProps = {\n classname?: string;\n children?: React.ReactNode;\n isPageContainer?: boolean;\n};\n\nexport function Container({\n classname = '',\n children,\n isPageContainer = false,\n}: ContainerProps) {\n const { bem, base } = useBem('ms-container');\n\n return (\n <div\n className={bem(base, {\n [classname]: true,\n 'ms-container--page-container': isPageContainer,\n })}\n >\n {children}\n </div>\n );\n}\n","import { Container } from '../container/Container';\nimport React from 'react';\nimport { useBem } from '@musica-sacra/hooks';\n\ntype LayoutBasicProps = {\n children?: React.ReactNode;\n classname?: string;\n isPageLayout?: boolean;\n};\n\nexport function LayoutBasic({\n children,\n classname = '',\n isPageLayout = false,\n}: LayoutBasicProps) {\n const { bem, base } = useBem('ms-layout-basic');\n\n return (\n <div className={bem(base, classname)}>\n <Container isPageContainer={isPageLayout}>{children}</Container>\n </div>\n );\n}\n","import { createContext, useContext } from 'react';\n\nexport const SidebarContext = createContext({\n closeSidebar: () => {},\n});\n\nexport const useSidebar = () => useContext(SidebarContext);\n","import { ReactNode, useState } from 'react';\nimport { useBem } from '@musica-sacra/hooks';\nimport { SidebarContext } from '../../context/SidebarContext';\n\ntype LayoutWithSidebarProps = {\n className?: string;\n sidebar: ReactNode;\n children: ReactNode;\n isPageLayout?: boolean;\n};\n\nexport function LayoutWithSidebar({\n className = '',\n sidebar,\n children,\n isPageLayout = false,\n}: LayoutWithSidebarProps) {\n const { bem, base } = useBem('ms-layout-with-sidebar');\n\n const [isSidebarExpanded, setSidebarExpanded] = useState(false);\n\n const toggleSidebar = () => {\n setSidebarExpanded((prev) => !prev);\n };\n\n const closeSidebar = () => setSidebarExpanded(false);\n\n return (\n <div\n className={bem(base, {\n [className]: true,\n 'ms-layout-with-sidebar--page-layout': isPageLayout,\n })}\n >\n <div className={bem('sidebar-expand')}>\n <button\n onClick={toggleSidebar}\n aria-label=\"Sidebar\"\n aria-pressed={isSidebarExpanded}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n enableBackground=\"new 0 0 24 24\"\n height=\"24px\"\n viewBox=\"0 0 24 24\"\n width=\"24px\"\n fill=\"currentColor\"\n >\n <g>\n <rect fill=\"none\" height=\"24\" width=\"24\" />\n <rect fill=\"none\" height=\"24\" width=\"24\" />\n </g>\n <g>\n <g>\n <path d=\"M5.7,6.71L5.7,6.71c-0.39,0.39-0.39,1.02,0,1.41L9.58,12L5.7,15.88c-0.39,0.39-0.39,1.02,0,1.41l0,0 c0.39,0.39,1.02,0.39,1.41,0l4.59-4.59c0.39-0.39,0.39-1.02,0-1.41L7.12,6.71C6.73,6.32,6.09,6.32,5.7,6.71z\" />\n <path d=\"M12.29,6.71L12.29,6.71c-0.39,0.39-0.39,1.02,0,1.41L16.17,12l-3.88,3.88c-0.39,0.39-0.39,1.02,0,1.41l0,0 c0.39,0.39,1.02,0.39,1.41,0l4.59-4.59c0.39-0.39,0.39-1.02,0-1.41l-4.59-4.59C13.32,6.32,12.68,6.32,12.29,6.71z\" />\n </g>\n </g>\n </svg>\n </button>\n </div>\n\n {isSidebarExpanded && (\n <div\n className={bem({\n overlay: true,\n 'overlay--active': isSidebarExpanded,\n })}\n onClick={toggleSidebar}\n />\n )}\n\n <aside\n className={bem({\n sidebar: true,\n 'sidebar--expanded': isSidebarExpanded,\n })}\n >\n {isSidebarExpanded && (\n <div className={bem('sidebar-close')}>\n <button\n onClick={toggleSidebar}\n aria-label=\"Zatvoriť sidebar\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n width=\"24\"\n fill=\"currentColor\"\n >\n <path d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\" />\n </svg>\n </button>\n </div>\n )}\n\n <SidebarContext.Provider value={{ closeSidebar }}>\n <div className={bem('sidebar-content')}>{sidebar}</div>\n </SidebarContext.Provider>\n </aside>\n\n <main className={bem('content')}>\n <div className={bem('content-inner')}>{children}</div>\n </main>\n </div>\n );\n}\n"],"names":["t","bem","n","o","c","arguments","length","e","r","includes","push","i","Object","entries","f","concat","a","u","join","element","filter","map","modifier","base","Container","_a","_c","classname","children","_d","isPageContainer","_e","useBem","_jsx","className","_b","LayoutBasic","isPageLayout","SidebarContext","createContext","closeSidebar","useSidebar","useContext","LayoutWithSidebar","sidebar","_f","useState","isSidebarExpanded","setSidebarExpanded","toggleSidebar","prev","_jsxs","onClick","xmlns","enableBackground","height","viewBox","width","fill","d","overlay","Provider","value"],"mappings":"sHAAA,SAASA,EAAEA,GAAG,MAAM,CAACC,IAAI,SAASC,GAAG,IAAI,IAAIC,EAAE,GAAGC,EAAE,EAAEA,EAAEC,UAAUC,OAAOF,IAAID,EAAEC,EAAE,GAAGC,UAAUD,GAAG,IAAIG,EAAE,GAAGC,EAAE,SAASR,GAAGA,IAAIO,EAAEE,SAAST,IAAIO,EAAEG,KAAKV,EAAE,EAAEW,EAAE,SAAST,EAAEC,QAAG,IAASA,IAAIA,GAAE,GAAI,IAAI,IAAIC,EAAE,EAAEG,EAAEK,OAAOC,QAAQX,GAAGE,EAAEG,EAAED,OAAOF,IAAI,CAAC,IAAIO,EAAEJ,EAAEH,GAAGU,EAAEH,EAAE,GAAGA,EAAE,IAAIH,EAAEM,IAAId,EAAEA,EAAEG,EAAE,GAAGY,OAAOf,EAAE,MAAMe,OAAOD,GAAGA,EAAE,CAAC,EAAEZ,IAAIF,QAAG,IAASE,EAAEM,EAAER,IAAI,iBAAiBE,GAAG,KAAKA,GAAGM,EAAE,GAAGO,OAAOf,EAAE,MAAMe,OAAOb,IAAI,iBAAiBA,GAAGS,EAAET,IAAI,IAAI,IAAIY,EAAE,EAAEE,EAAEb,EAAEW,EAAEE,EAAEV,OAAOQ,IAAI,CAAC,IAAIG,EAAED,EAAEF,GAAGG,IAAIjB,IAAI,iBAAiBiB,GAAG,KAAKA,GAAGT,EAAES,GAAG,iBAAiBA,GAAGN,EAAEM,GAAE,IAAKT,EAAER,EAAE,CAAC,OAAOO,EAAEW,KAAK,IAAI,EAAEC,QAAQ,SAASjB,GAAG,MAAM,iBAAiBA,GAAG,KAAKA,EAAE,GAAGa,OAAOf,EAAE,MAAMe,OAAOb,GAAG,iBAAiBA,EAAEU,OAAOC,QAAQX,GAAGkB,OAAO,SAASpB,GAAG,OAAOA,EAAE,EAAE,GAAGqB,IAAI,SAASnB,GAAG,IAAIC,EAAED,EAAE,GAAG,MAAM,GAAGa,OAAOf,EAAE,MAAMe,OAAOZ,EAAE,GAAGe,KAAK,KAAKlB,CAAC,EAAEsB,SAAS,SAASpB,GAAG,MAAM,iBAAiBA,GAAG,KAAKA,EAAE,GAAGa,OAAOf,EAAE,MAAMe,OAAOb,GAAG,iBAAiBA,EAAEU,OAAOC,QAAQX,GAAGkB,OAAO,SAASpB,GAAG,OAAOA,EAAE,EAAE,GAAGqB,IAAI,SAASnB,GAAG,IAAIC,EAAED,EAAE,GAAG,MAAM,GAAGa,OAAOf,EAAE,MAAMe,OAAOZ,EAAE,GAAGe,KAAK,KAAK,EAAE,EAAEK,KAAKvB,EAAE,CCS9+B,SAAUwB,EAAUC,SACtBC,EAAAD,EAAAE,UAAAA,OAAS,IAAAD,EAAG,KACZE,EAAQH,EAAAG,SACRC,EAAAJ,EAAAK,gBAAAA,OAAe,IAAAD,GAAQA,EAEjBE,EAAgBC,EAAO,gBAArB/B,EAAG8B,EAAA9B,IAAEsB,EAAIQ,EAAAR,KAEjB,OACIU,EAAA,MAAA,CACIC,UAAWjC,EAAIsB,GAAIY,EAAA,CAAA,EACfA,EAACR,IAAY,EACbQ,EAAA,gCAAgCL,MAClCF,SAEDA,GAGb,CChBM,SAAUQ,EAAYX,GACxB,IAAAG,EAAQH,EAAAG,SACRO,EAAAV,EAAAE,UAAAA,OAAS,IAAAQ,EAAG,GAAEA,EACdT,EAAAD,EAAAY,aAAAA,OAAY,IAAAX,GAAQA,EAEdG,EAAgBG,EAAO,mBAArB/B,EAAG4B,EAAA5B,IAAEsB,EAAIM,EAAAN,KAEjB,OACIU,SAAKC,UAAWjC,EAAIsB,EAAMI,GAAUC,SAChCK,EAACT,EAAS,CAACM,gBAAiBO,WAAeT,KAGvD,CCpBO,IAAMU,EAAiBC,EAAc,CACxCC,aAAc,WAAO,IAGZC,EAAa,WAAM,OAAAC,EAAWJ,EAAX,ECK1B,SAAUK,EAAkBlB,SAC9BC,EAAAD,EAAAS,UAAAA,OAAS,IAAAR,EAAG,GAAEA,EACdkB,EAAOnB,EAAAmB,QACPhB,aACAC,EAAAJ,EAAAY,aAAAA,OAAY,IAAAR,GAAQA,EAEdE,EAAgBC,EAAO,0BAArB/B,EAAG8B,EAAA9B,IAAEsB,EAAIQ,EAAAR,KAEXsB,EAA0CC,GAAS,GAAlDC,EAAiBF,EAAA,GAAEG,EAAkBH,EAAA,GAEtCI,EAAgB,WAClBD,EAAmB,SAACE,GAAS,OAACA,CAAD,EACjC,EAIA,OACIC,EAAA,MAAA,CACIjB,UAAWjC,EAAIsB,GAAIY,EAAA,CAAA,EACfA,EAACD,IAAY,EACbC,EAAA,uCAAuCE,MACzCT,SAAA,CAEFK,EAAA,MAAA,CAAKC,UAAWjC,EAAI,2BAChBgC,EAAA,SAAA,CACImB,QAASH,EAAa,aACX,UAAS,eACNF,WAEdI,EAAA,MAAA,CACIE,MAAM,6BACNC,iBAAiB,gBACjBC,OAAO,OACPC,QAAQ,YACRC,MAAM,OACNC,KAAK,eAAc9B,SAAA,CAEnBuB,iBACIlB,EAAA,OAAA,CAAMyB,KAAK,OAAOH,OAAO,KAAKE,MAAM,OACpCxB,EAAA,OAAA,CAAMyB,KAAK,OAAOH,OAAO,KAAKE,MAAM,UAExCxB,EAAA,IAAA,CAAAL,SACIuB,EAAA,IAAA,CAAAvB,SAAA,CACIK,UAAM0B,EAAE,8MACR1B,UAAM0B,EAAE,qOAO3BZ,GACGd,EAAA,MAAA,CACIC,UAAWjC,EAAI,CACX2D,SAAS,EACT,kBAAmBb,IAEvBK,QAASH,IAIjBE,EAAA,QAAA,CACIjB,UAAWjC,EAAI,CACX2C,SAAS,EACT,oBAAqBG,IACvBnB,SAAA,CAEDmB,GACGd,SAAKC,UAAWjC,EAAI,iBAAgB2B,SAChCK,EAAA,SAAA,CACImB,QAASH,eACE,mBAAkBrB,SAE7BK,EAAA,MAAA,CACIoB,MAAM,6BACNE,OAAO,KACPC,QAAQ,YACRC,MAAM,KACNC,KAAK,eAAc9B,SAEnBK,EAAA,OAAA,CAAM0B,EAAE,gHAMxB1B,EAACK,EAAeuB,UAASC,MAAO,CAAEtB,aAxEzB,WAAM,OAAAQ,GAAmB,EAAnB,GAwEiCpB,SAC5CK,EAAA,MAAA,CAAKC,UAAWjC,EAAI,mBAAkB2B,SAAGgB,SAIjDX,EAAA,OAAA,CAAMC,UAAWjC,EAAI,oBACjBgC,EAAA,MAAA,CAAKC,UAAWjC,EAAI,iBAAgB2B,SAAGA,QAIvD"}