@ossy/design-system-extras 0.1.4 → 0.1.5

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 (64) hide show
  1. package/build/index.js +1 -0
  2. package/package.json +7 -3
  3. package/.storybook/main.js +0 -19
  4. package/.storybook/preview.jsx +0 -35
  5. package/CHANGELOG.md +0 -166
  6. package/rollup.config.js +0 -31
  7. package/src/index.js +0 -3
  8. package/src/markdown-viewer/MarkdownViewer.jsx +0 -86
  9. package/src/markdown-viewer/MarkdownViewer.stories.jsx +0 -34
  10. package/src/markdown-viewer/index.js +0 -1
  11. package/src/markdown-viewer/styles/atom-one-light.js +0 -114
  12. package/src/router-layouts/Footer.jsx +0 -38
  13. package/src/router-layouts/StandardLayout.jsx +0 -95
  14. package/src/router-layouts/StandardLayout.stories.jsx +0 -40
  15. package/src/router-layouts/card/Card.layout.jsx +0 -25
  16. package/src/router-layouts/card/Card.layout.stories.jsx +0 -15
  17. package/src/router-layouts/card/index.js +0 -1
  18. package/src/router-layouts/card-sidebar/CardSidebar.jsx +0 -48
  19. package/src/router-layouts/card-sidebar/CardSidebar.stories.jsx +0 -23
  20. package/src/router-layouts/card-sidebar/index.js +0 -1
  21. package/src/router-layouts/card-tabs/CardTabs.jsx +0 -35
  22. package/src/router-layouts/card-tabs/CardTabs.stories.jsx +0 -22
  23. package/src/router-layouts/card-tabs/index.js +0 -1
  24. package/src/router-layouts/index.js +0 -4
  25. package/src/stories/Button.jsx +0 -39
  26. package/src/stories/Button.stories.js +0 -49
  27. package/src/stories/Configure.mdx +0 -364
  28. package/src/stories/Header.jsx +0 -56
  29. package/src/stories/Header.stories.js +0 -29
  30. package/src/stories/Page.jsx +0 -69
  31. package/src/stories/Page.stories.js +0 -28
  32. package/src/stories/assets/accessibility.png +0 -0
  33. package/src/stories/assets/accessibility.svg +0 -1
  34. package/src/stories/assets/addon-library.png +0 -0
  35. package/src/stories/assets/assets.png +0 -0
  36. package/src/stories/assets/avif-test-image.avif +0 -0
  37. package/src/stories/assets/context.png +0 -0
  38. package/src/stories/assets/discord.svg +0 -1
  39. package/src/stories/assets/docs.png +0 -0
  40. package/src/stories/assets/figma-plugin.png +0 -0
  41. package/src/stories/assets/github.svg +0 -1
  42. package/src/stories/assets/share.png +0 -0
  43. package/src/stories/assets/styling.png +0 -0
  44. package/src/stories/assets/testing.png +0 -0
  45. package/src/stories/assets/theming.png +0 -0
  46. package/src/stories/assets/tutorials.svg +0 -1
  47. package/src/stories/assets/youtube.svg +0 -1
  48. package/src/stories/button.css +0 -30
  49. package/src/stories/header.css +0 -32
  50. package/src/stories/page.css +0 -68
  51. package/src/templates/index.js +0 -3
  52. package/src/templates/landing-page/2020/Footer.jsx +0 -59
  53. package/src/templates/landing-page/2020/Hero.jsx +0 -51
  54. package/src/templates/landing-page/2020/LandingPage.jsx +0 -180
  55. package/src/templates/landing-page/2020/LandingPage.stories.jsx +0 -190
  56. package/src/templates/landing-page/2020/index.js +0 -1
  57. package/src/templates/landing-page/index.js +0 -1
  58. package/src/templates/resume/Resume.jsx +0 -305
  59. package/src/templates/resume/Resume.stories.jsx +0 -237
  60. package/src/templates/resume/index.js +0 -2
  61. package/src/templates/resume/useResume.js +0 -85
  62. package/src/templates/theme-display/ThemeDisplay.jsx +0 -301
  63. package/src/templates/theme-display/ThemeDisplay.stories.jsx +0 -18
  64. package/src/templates/theme-display/index.js +0 -1
package/build/index.js ADDED
@@ -0,0 +1 @@
1
+ import e,{useState as t,useEffect as a}from"react";import n from"react-markdown";import r from"react-syntax-highlighter";import{View as o,Button as l,Text as s,Title as i,Header as c,Tabs as m,Page as d,PageSection as p,Card as y,ProfileCard as g,Dropdown as u,ContextMenu as v,Tags as h,ResumeExperience as x,Image as f,Guide as E,Stack as b}from"@ossy/design-system";function w(){return w=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)({}).hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},w.apply(null,arguments)}var j={hljs:{display:"block",overflowX:"auto",padding:"0.5em",color:"#383a42",background:"#fafafa"},"hljs-comment":{color:"#a0a1a7",fontStyle:"italic"},"hljs-quote":{color:"#a0a1a7",fontStyle:"italic"},"hljs-doctag":{color:"#a626a4"},"hljs-keyword":{color:"#a626a4"},"hljs-formula":{color:"#a626a4"},"hljs-section":{color:"#e45649"},"hljs-name":{color:"#e45649"},"hljs-selector-tag":{color:"#e45649"},"hljs-deletion":{color:"#e45649"},"hljs-subst":{color:"#e45649"},"hljs-literal":{color:"#0184bb"},"hljs-string":{color:"#50a14f"},"hljs-regexp":{color:"#50a14f"},"hljs-addition":{color:"#50a14f"},"hljs-attribute":{color:"#50a14f"},"hljs-meta-string":{color:"#50a14f"},"hljs-built_in":{color:"#c18401"},"hljs-class .hljs-title":{color:"#c18401"},"hljs-attr":{color:"#986801"},"hljs-variable":{color:"#986801"},"hljs-template-variable":{color:"#986801"},"hljs-type":{color:"#986801"},"hljs-selector-class":{color:"#986801"},"hljs-selector-attr":{color:"#986801"},"hljs-selector-pseudo":{color:"#986801"},"hljs-number":{color:"#986801"},"hljs-symbol":{color:"#4078f2"},"hljs-bullet":{color:"#4078f2"},"hljs-link":{color:"#4078f2",textDecoration:"underline"},"hljs-meta":{color:"#4078f2"},"hljs-selector-id":{color:"#4078f2"},"hljs-title":{color:"#4078f2"},"hljs-emphasis":{fontStyle:"italic"},"hljs-strong":{fontWeight:"bold"}};const k={h1:({node:t,...a})=>e.createElement(i,w({id:B(a.children),as:"h1",variant:"primary"},a,{style:{marginBottom:"var(--space-l)"}})),h2:({node:t,...a})=>e.createElement(i,w({id:B(a.children),as:"h2",variant:"secondary"},a,{style:{marginBottom:"var(--space-m)",marginTop:"var(--space-l)"}})),h3:({node:t,...a})=>e.createElement(i,w({id:B(a.children),as:"h3",variant:"tertiary"},a,{style:{marginBottom:"var(--space-m)"}})),h4:({node:t,...a})=>e.createElement(i,w({id:B(a.children),as:"h4",variant:"tertiary"},a,{style:{marginBottom:"var(--space-m)"}})),h5:({node:t,...a})=>e.createElement(i,w({id:B(a.children),as:"h5",variant:"tertiary"},a,{style:{marginBottom:"var(--space-m)"}})),p:({node:t,...a})=>e.createElement(s,w({},a,{style:{marginBottom:"var(--space-m)"}})),ul:({node:t,...a})=>e.createElement("ul",w({},a,{style:{listStyle:"inside",paddingLeft:"var(--space-l)"}})),li:({node:t,...a})=>e.createElement(s,w({as:"li"},a,{style:{marginBottom:"var(--space-m)"}})),a:({node:t,...a})=>e.createElement(l,w({as:a.href?"a":"button"},a,{variant:"link"})),code:({node:t,className:a,...n})=>{const[l,s]=/language-(\w+)/.exec(a||"")||[];return!s?e.createElement(o,w({inset:"xs",surface:"secondary",roundness:"s",style:{display:"inline-block"}},n),e.createElement(r,w({style:{display:"inline",...j,hljs:{display:"inline",color:"#383a42",background:"transparent"}},language:s},n))):e.createElement(o,{inset:"m",surface:"secondary",roundness:"m","data-component":"MarkdownViewer"},e.createElement("style",{href:"@ossy/design-system-extras/markdown-viewer/MarkdownViewer",precedence:"high"},'\n [data-component="MarkdownViewer"] {\n margin: var(--space-s) 0;\n }\n\n [data-component="MarkdownViewer"] pre {\n margin: 0;\n }\n '),e.createElement(r,w({style:{...j,hljs:{display:"block",overflowX:"auto",color:"#383a42",background:"transparent"}},language:s},n)))}};function B(e){return e?e.toLowerCase().replace(/\s+/g,"-"):""}const W=({markdown:t,children:a,components:r={},...o})=>e.createElement(n,w({children:t||a,components:{...k,...r}},o)),C=({columns:t=[]})=>e.createElement(o,{layout:"row",placeContent:"normal space-between",gap:"xl"},t.map(t=>e.createElement("div",{style:{maxWidth:`var(--max-width-${t.maxWidth}, 100%)`}},e.createElement(i,{as:"h3",variant:"tertiary",style:{marginBottom:"var(--space-m)"}},t.title),!!t.text&&e.createElement(s,null,t.text),!!t.list&&e.createElement("ul",{key:t.title,style:{padding:"0"}},t.list.map(({label:t,...a})=>e.createElement("li",{key:t,style:{listStyle:"none"}},e.createElement(l,w({variant:"link"},a,{style:{marginBottom:"var(--space-m)"}}),t))))))),S=({logo:t,headerActions:a,headerAccentBorder:n=!0,navigation:r,maxWidth:o="medium",copyright:l,footer:i,children:p,...y})=>{const g=[n&&{id:"accent-border",style:{height:"4px",position:"sticky",zIndex:"10",top:"0",background:"var(--separator-accent)"}},(t||a)&&{id:"header",surface:"primary",style:{padding:"var(--space-s) var(--space-l)",width:"100%"},render:()=>e.createElement(c,{logo:t,actions:a})},r&&{id:"navigation",surface:"primary",style:{height:"55px",position:"sticky",top:"4px",width:"100%",zIndex:"10"},render:()=>e.createElement(m,{tabs:r,style:{height:"100%"}})},{id:"outlet",as:"main",maxWidth:"full",style:{gridArea:"content"},render:()=>p},i&&{id:"footer",surface:i.surface,as:"footer",style:{padding:"var(--space-xl) var(--space-m)"},render:()=>e.createElement(C,{columns:i.columns})},l&&{id:"footer-section-copyright",surface:"alt-secondary",style:{padding:"var(--space-m)",textAlign:"center"},render:()=>e.createElement(s,{variant:"small"},l)}].filter(e=>!!e);return e.createElement(d,w({maxWidth:o,sections:g},y))},A=({surface:t="primary",maxWidth:a="full",layout:n="off-center",cardVariant:r,cardSurface:l,header:s,children:i,content:c})=>e.createElement(p,{surface:t,maxWidth:a},e.createElement(o,{layout:n,style:{height:"100vh"}},s,e.createElement(y,{slot:"content",variant:r,style:{overflowY:"auto"},surface:l},c??i))),O=({surface:t="primary",layout:a="off-center-m",navigation:n=[],cardVariant:r,cardSurface:o,header:s,children:i,content:c,...m})=>e.createElement(p,w({layout:a,surface:t},m),s,e.createElement(y,{variant:r,surface:o,slot:"content",style:{display:"flex",flexDirection:"row",padding:"0"}},e.createElement("div",{style:{display:"flex",gap:"var(--space-s)",padding:"var(--space-l) var(--space-s)",flexDirection:"column",width:"180px",borderRight:"1px solid var(--separator-primary)"}},n.map(t=>e.createElement(l,w({},t,{style:{justifyContent:"flex-start"}})))),e.createElement("div",{style:{flexGrow:"1",padding:"var(--space-l)",overflowY:"auto"}},c??i))),T=({surface:t="primary",layout:a="off-center",cardVariant:n="decorated",tabs:r=[],content:l,children:s,...i})=>e.createElement(p,w({layout:a,surface:t},i),e.createElement(o,{style:{height:"100%",background:"var(--surface-linear-gradient)"}},e.createElement(y,{variant:n,slot:"content",style:{width:"100vw",padding:"0"}},e.createElement(m,{tabs:r,style:{height:"auto",borderBottom:"1px solid var(--separator-primary)"}}),e.createElement("div",{style:{padding:"var(--space-m)"}},l||s)))),I=(e,t)=>{const a=e=>e?.date?.split(" - ")?.[0]||"1900",n=new Date(a(e));return new Date(a(t))-n},D=(e=[])=>{e.sort(I);const[n,r]=t([]),[o,l]=t([]),[s,i]=t([]),[c,m]=t([]),[d,p]=t([]),[y,g]=t();Object.keys(e.flatMap(e=>e.tags).filter(e=>!!e).reduce((e,t)=>({[t]:"",...e}),{}));const u=Object.keys(e.reduce((e,t)=>({[t.typeOfExperience]:"",...e}),{}));a(()=>{let t=e;d.length&&(t=e.filter(e=>e?.tags?.map(e=>e.toLowerCase())?.some(e=>d.map(e=>e.toLowerCase()).includes(e)))),y&&(t=t.filter(e=>e.typeOfExperience===y));const a=(e=>e.reduce((e,t)=>(e[t.typeOfExperience||"Other"].push(t),e),{Work:[],Education:[],Project:[],Other:[]}))(t);r(a.Work),l(a.Education),i(a.Project),m(a.Other)},[d,e,y]);return{work:n,education:o,project:s,other:c,tags:[],categories:u,activeTags:d,toggleActiveTag:e=>{p(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},activeExperienceType:y,toggleActiveExperienceType:e=>{e!==y&&g("All"===e?void 0:e)}}},V=({status:t,profile:a,experiences:n,translations:r,profileCardProps:o={},actions:s=[]})=>{const{work:c,education:d,project:p,other:y,tags:f,categories:E,activeTags:b,toggleActiveTag:j,activeExperienceType:k,toggleActiveExperienceType:B}=D(n),W=[{id:"All",label:r.all},{id:"Work",label:r.work},{id:"Project",label:r.projects},{id:"Education",label:r.education},{id:"Other",label:r.other}].filter(e=>"All"===e.id?e:E.includes(e.id)),C=[{title:r.work,experiences:c},{title:r.projects,experiences:p},{title:r.education,experiences:d},{title:r.other,experiences:y}];return e.createElement("div",{"data-component":"@design-system-extras/resume","data-status":t},e.createElement("style",{href:"@design-system-extras/resume",precedence:"high"},'\n [data-component="@design-system-extras/resume"] {\n\n --padding: var(--resume-padding, 0);\n --background: var(--resume-background, transparent);\n --header-padding: var(--resume-header-padding, 8px 24px 8px 0);\n --header-justify-content: var(--resume-header-justify-content, center);\n --filter-padding: var(--resume-filter-padding, var(--space-s) var(--space-m));\n --content-background: var(--resume-content-background, transparent);\n\n background: var(--background);\n padding: var(--padding);\n display: grid;\n grid-template-columns: 1fr;\n grid-template-rows: fit-content fit-content fit-content;\n grid-template-areas:\n "profile-summary"\n "actions"\n "content";\n }\n\n [data-component="@design-system-extras/resume"] [data-slot="actions"] {\n min-width: 0;\n box-sizing: border-box;\n grid-area: actions;\n display: flex;\n justify-content: center;\n align-items: center;\n padding: var(--header-padding);\n }\n\n [data-component="@design-system-extras/resume"] [data-slot="actions"]::-webkit-scrollbar {\n display: none;\n }\n\n [data-component="@design-system-extras/resume"] .secondary-actions {\n display: none;\n gap: var(--space-s);\n }\n\n [data-component="@design-system-extras/resume"] [data-slot="profile-summary"] {\n grid-area: profile-summary;\n z-index: 1;\n }\n\n [data-component="@design-system-extras/resume"] [data-slot="content"] {\n display: flex;\n width: 100%;\n flex-direction: column;\n align-items: center;\n justify-content: flex-start;\n grid-area: content;\n padding: var(--space-l) var(--space-m);\n margin: var(--content-margin);\n gap: var(--space-xl);\n background: var(--content-background);\n }\n\n [data-component="@design-system-extras/resume"] [data-animation="fade-in"] {\n opacity: 0;\n transition-property: opacity, transform;\n transition-duration: 1s, 1s;\n transition-timing-function: ease-in-out;\n transform: translateZ(0);\n }\n\n [data-component="@design-system-extras/resume"] [data-scroll] {\n scrollbar-width: none;\n overflow-y: auto;\n }\n\n [data-component="@design-system-extras/resume"] [data-scroll]::-webkit-scrollbar {\n display: none;\n }\n\n [data-component="@design-system-extras/resume"][data-status="Success"] [data-animation="fade-in"] {\n opacity: 1;\n }\n\n [data-component="@design-system-extras/resume"] .content-section {\n display: flex;\n flex-direction: column;\n gap: var(--space-l);\n width: 100%;\n max-width: 700px;\n }\n\n @media (min-width: 1200px) {\n [data-component="@design-system-extras/resume"] {\n height: 100vh;\n grid-template-columns: 400px 1fr;\n grid-template-rows: min-content 1fr;\n grid-template-areas:\n "profile-summary actions"\n "profile-summary content";\n }\n\n [data-component="@design-system-extras/resume"] [data-slot="actions"] {\n justify-content: space-between;\n }\n\n [data-component="@design-system-extras/resume"] .secondary-actions {\n display: flex;\n }\n }\n\n @media (min-width: 1900px) {\n [data-component="@design-system-extras/resume"] [data-slot="content"] {\n grid-column-start: profile-summary;\n grid-column-end: content;\n grid-row-start: content;\n grid-row-end: content;\n }\n }\n '),e.createElement(g,w({"data-scroll":!0,"data-slot":"profile-summary",activeTags:b,onTagClick:j,translations:r,surface:"primary"},o,a)),e.createElement("header",{className:"actions","data-slot":"actions","data-surface":"primary"},e.createElement(m,{tabs:W,activeTabId:k||"All",onTabClick:(e,t)=>B(t.id),style:{borderBottom:f.length?"var(--header-border-bottom)":void 0}}),e.createElement("div",{className:"secondary-actions"},s.map(({label:t,contextMenu:a,...n})=>a?e.createElement(u,{trigger:e.createElement(l,n,t)},e.createElement(v,null,a.map(t=>e.createElement(v.Item,t,t.label)))):e.createElement(l,n,t))),!!f.length&&e.createElement(h,{tags:f,activeTags:b,onSelect:j,style:{padding:"var(--filter-padding)",display:"flex"}})),e.createElement("main",{className:"content","data-slot":"content","data-scroll":!0},C.filter(e=>!!e.experiences.length).map(({title:t,experiences:a})=>e.createElement("section",{className:"content-section",key:t},e.createElement(i,{variant:"primary",style:{textAlign:"center"}},t),e.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"var(--space-l)"}},a.map(t=>e.createElement(x,{key:t.id||t.title,title:t.title,subTitle:t.subTitle,date:t.date,description:t.description,website:t.website,github:t.github,tags:t.tags})))))))},H=({title:t,titleVariant:a="secondary",titleAs:n="h2",text:r,children:o,maxWidth:l="l",...c})=>e.createElement(p,w({maxWidth:l},c,{style:{padding:"var(--space-xl) var(--space-m)",borderBottom:"1px solid var(--separator-primary)"}}),e.createElement(i,{as:n,variant:a,style:{marginBottom:"var(--space-m)"}},t),e.createElement(s,{style:{maxWidth:"600px",marginBottom:"var(--space-xl)"}},r),o),N=({theme:t={}})=>e.createElement(e.Fragment,null,e.createElement(H,{title:"Theme overview",titleVariant:"primary",titleAs:"h1",text:"\n Here you can find an overview of our patterns, colors, and components.\n Keep in mind that this is only an overview, for usage examples and documentation go to\n our Storybook page.\n "}),e.createElement(H,{title:"Colors",text:"\n Here you can find an overview of our patterns, colors, and components.\n Keep in mind that this is only an overview, for usage examples and documentation go to\n our Storybook page.\n "},e.createElement(o,{layout:"row-wrap",gap:"xl"},Object.entries(t.color).map(([t])=>e.createElement("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"flex-start",flexWrap:"wrap",gap:"var(--space-l)"}},e.createElement("div",{variant:t,style:{width:"200px",height:"var(--space-xl)",backgroundColor:`var(--color-${t})`,boxShadow:"2px 2px 10px 0 hsla(0, 0%, 90%, .8)",borderRadius:"var(--space-xs)"}}),e.createElement(s,null,t))))),e.createElement(H,{title:"Spacing",text:"\n Here you can find an overview of our patterns, colors, and components.\n Keep in mind that this is only an overview, for usage examples and documentation go to\n our Storybook page.\n "},e.createElement(o,{layout:"row",gap:"xl"},Object.entries(t.space).map(([t,a])=>e.createElement("div",{style:{display:"flex",flexDirection:"column",justifyContent:"flex-end",alignItems:"center"}},e.createElement("div",{style:{background:"var(--button-cta-background)",width:"20px",height:a,borderRadius:"var(--space-xxs)",marginBottom:"var(--space-m)"}}),e.createElement(s,null,t," - ",a))))),e.createElement(H,{title:"Content sizes (max width)",text:"\n Here you can find an overview of our patterns, colors, and components.\n Keep in mind that this is only an overview, for usage examples and documentation go to\n our Storybook page.\n "},e.createElement(o,{gap:"s"},Object.entries(t["max-width"]).map(([t,a])=>e.createElement(o,{layout:"row",gap:"l"},e.createElement(s,{style:{flexBasis:"90px"}},t," - ",a),e.createElement("div",{style:{background:"var(--color-accent)",width:"100%",maxWidth:`calc(var(--max-width-${t}) / 2)`,height:"20px",borderRadius:"var(--space-xxs)"}}))))),e.createElement(H,{title:"Surfaces",text:"\n Here you can find an overview of our patterns, colors, and components.\n Keep in mind that this is only an overview, for usage examples and documentation go to\n our Storybook page.\n "},e.createElement(o,{layout:"row-wrap",gap:"xl"},Object.entries(t.surface).map(([t,a])=>e.createElement("div",{style:{background:`var(--surface-${t})`,width:"300px",height:"300px",display:"flex",justifyContent:"center",alignItems:"center",borderRadius:"var(--space-s)",border:"1px solid var(--separator-primary)"}},e.createElement(s,null,t))))),e.createElement(H,{title:"Separators",text:"\n Here you can find an overview of our patterns, colors, and components.\n Keep in mind that this is only an overview, for usage examples and documentation go to\n our Storybook page.\n "},e.createElement(o,{layout:"row",gap:"xl"},Object.entries(t.separator).map(([t])=>e.createElement("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"flex-start",flexWrap:"wrap",gap:"var(--space-l)",marginBottom:"var(--space-xl)"}},e.createElement("div",{variant:t,style:{width:"300px",height:"1px",backgroundColor:`var(--separator-${t})`}}),e.createElement(s,null,t))))),e.createElement(H,{title:"Typography",text:"\n Here you can find an overview of our patterns, colors, and components.\n Keep in mind that this is only an overview, for usage examples and documentation go to\n our Storybook page.\n "},e.createElement(i,{variant:"tertiary",style:{marginBottom:"var(--space-m)"}},"Titles"),e.createElement(o,{layout:"row-wrap",gap:"xl",placeItems:"center",style:{marginBottom:"var(--space-xl)"}},Object.entries(t.title).filter(([e])=>"default"!==e).map(([t])=>e.createElement("div",{style:{padding:"var(--space-l)",borderRadius:"var(--space-s)",border:"1px solid var(--separator-primary)",display:"flex",justifyContent:"center",alignItems:"center"}},e.createElement(i,{variant:t},t)))),e.createElement(i,{variant:"tertiary",style:{marginBottom:"var(--space-m)"}},"Text"),e.createElement(o,{layout:"row",gap:"xl",placeItems:"center"},Object.entries(t.text).map(([t])=>e.createElement("div",{style:{padding:"var(--space-l)",borderRadius:"var(--space-s)",border:"1px solid var(--separator-primary)"}},e.createElement(s,{variant:t},t))))),e.createElement(H,{title:"Buttons",text:"\n Here you can find an overview of our patterns, colors, and components.\n Keep in mind that this is only an overview, for usage examples and documentation go to\n our Storybook page.\n "},e.createElement(o,{layout:"row-wrap",gap:"xl",alignItems:"center",justifyContent:"flex-start"},Object.entries(t.button).map(([t])=>e.createElement(l,{variant:t,style:{flexGrow:"0",flexShrink:"0"}},t))))),R=({title:t,titleMaxWidth:a="800px",text:n,actions:r=[]})=>e.createElement("div",{"data-component":"hero"},e.createElement("style",{href:"@ossy/design-system-extras/hero",precedence:"high"},'\n [data-component="hero"] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n text-align: center;\n }\n\n @media (min-width: 820px) {\n [data-component="hero"] {\n /* min-height: 60vh; */\n flex: 0 0 auto;\n }\n }\n '),e.createElement(i,{variant:"display",style:{maxWidth:a,marginBottom:"var(--space-l)"}},t),e.createElement(s,{style:{marginBottom:"var(--space-l)"}},n),e.createElement("div",{style:{display:"flex",gap:"var(--space-m)"}},r.map(({label:t,...a})=>e.createElement(l,w({},a,{key:t}),t)))),K=({columns:t=[]})=>e.createElement(o,{layout:"row",placeContent:"normal space-between",gap:"xl",className:"footer"},e.createElement("style",{href:"@ossy/design-system-extras/footer",precedence:"high"},"\n .footer {\n padding: var(--space-s);\n }\n\n .footer .title {\n margin-bottom: var(--space-m);\n }\n\n .footer .list {\n padding: 0;\n }\n\n .footer .list-item {\n list-style: none;\n }\n "),t.map(t=>e.createElement("div",{style:{maxWidth:`var(--max-width-${t.maxWidth}, 100%)`}},e.createElement(i,{as:"h3",variant:"tertiary",className:"title",style:{color:"var(--color-primary)"}},t.title),!!t.text&&e.createElement(s,{style:{color:"var(--color-primary)"}},t.text),!!t.list&&e.createElement("ul",{className:"list",key:t.title},t.list.map(({label:t,...a})=>e.createElement("li",{className:"list-item",key:t},e.createElement(l,w({variant:"link"},a,{style:{marginBottom:"var(--space-m)"}}),t))))))),M=[{id:"about",surface:"decorated",style:{padding:"var(--space-xxl) var(--space-m)"},render:({about:t,socialProof:a})=>e.createElement(e.Fragment,null,e.createElement(o,{alignItems:"stretch",justifyContent:"center",style:{marginBottom:"var(--space-xl)"}},t.columns.map(({name:t,role:a,imgSrc:n,text:r})=>e.createElement("div",{key:t,style:{display:"flex",flexDirection:"column",justifyContent:"center"}},e.createElement(f,{key:t,src:n,style:{borderRadius:"50%",width:"100%",maxWidth:"200px",height:"auto",margin:"0 auto",marginBottom:"var(--space-l)"}}),e.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"var(--space-s)",alignItems:"center",marginBottom:"var(--space-l)"}},e.createElement(i,{as:"h1",variant:"primary"},t),e.createElement(i,{as:"h2",variant:"lead"},a)),e.createElement(s,{style:{textAlign:"center",maxWidth:"600px",margin:"0 auto"}},r)))),e.createElement(s,{variant:"small",style:{marginBottom:"var(--space-l)",textAlign:"center"}},a.title),e.createElement(o,{layout:"row",justifyContent:"space-between",gap:"m"},a.columns.map(({title:t,logo:a})=>e.createElement("div",{key:t,style:{textAlign:"center"}},e.createElement(y,null,e.createElement(f,{src:a,style:{height:"20px",width:"auto"}}))))))},{id:"hero",surface:"primary",style:{padding:"var(--space-xxl) var(--space-m) var(--space-xl)"},render:({hero:t})=>e.createElement(R,t)},{id:"services",surface:"primary",maxWidth:"large",layout:"row",placeContent:"stretch space-around",gap:"xl",style:{borderBottom:"1px solid var(--separator-primary)",padding:"var(--space-xxl) var(--space-m)"},render:({services:t})=>e.createElement(e.Fragment,null,t.map(({title:t,text:a})=>e.createElement("div",{key:t,style:{textAlign:"center"}},e.createElement(i,{variant:"tertiary",style:{marginBottom:"var(--space-m)"}},t),e.createElement(s,{style:{maxWidth:"600px"}},a))))},{id:"projects",surface:"primary",style:{padding:"var(--space-xxl) var(--space-m) var(--space-xl)",minHeight:"60vh"},render:({projects:t})=>e.createElement(e.Fragment,null,e.createElement(E,{title:t.title,titleVariant:"display",text:t.text,style:{textAlign:"left",maxWidth:"600px",marginBottom:"var(--space-xl)"}}),t.categories.map(({title:t,text:a,links:n})=>e.createElement("div",{style:{marginBottom:"var(--space-xl)"}},e.createElement(i,{title:t,variant:"tertiary",style:{marginBottom:"var(--space-l)"}},t),e.createElement(s,null,a),e.createElement(b,null,n.map(t=>e.createElement(b,{horizontal:!0,style:{marginBottom:"var(--space-m)"}},t.map(t=>e.createElement(l,w({},t,{variant:"link",target:"_blank",style:{marginRight:"var(--space-m)"}})))))))))},{id:"contact",surface:"accent",style:{padding:"var(--space-xxl) var(--space-m)",borderBottom:"1px solid var(--separator-primary)"},render:({contact:t})=>e.createElement(K,{columns:t.columns})}];export{A as CardLayout,O as CardSidebar,T as CardTabs,M as LandingPage2020,W as MarkdownViewer,V as Resume,S as StandardLayout,N as ThemeDisplay,D as useResume};
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "url": "git+https://github.com/ossy-se/packages.git"
6
6
  },
7
7
  "description": "Ossy's React Design System Extra Components",
8
- "version": "0.1.4",
8
+ "version": "0.1.5",
9
9
  "source": "src/index.js",
10
10
  "type": "module",
11
11
  "module": "build/index.js",
@@ -35,7 +35,7 @@
35
35
  ]
36
36
  },
37
37
  "dependencies": {
38
- "@ossy/themes": "^0.1.4",
38
+ "@ossy/themes": "^0.1.5",
39
39
  "moment": "^2.29.4"
40
40
  },
41
41
  "peerDependencies": {
@@ -49,5 +49,9 @@
49
49
  "access": "public",
50
50
  "registry": "https://registry.npmjs.org"
51
51
  },
52
- "gitHead": "d5cd2ad89b32cdc9cd31a27ff53b71a9c3226799"
52
+ "files": [
53
+ "/build",
54
+ "README.md"
55
+ ],
56
+ "gitHead": "a768d71e76cc523f367cd764a403c0960f8d2e93"
53
57
  }
@@ -1,19 +0,0 @@
1
-
2
-
3
- /** @type { import('@storybook/react-vite').StorybookConfig } */
4
- const config = {
5
- "stories": [
6
- "../src/**/*.mdx",
7
- "../src/**/*.stories.@(js|jsx|mjs|ts|tsx)"
8
- ],
9
- "addons": [
10
- "@storybook/addon-essentials",
11
- "@storybook/addon-onboarding",
12
- "@storybook/addon-interactions"
13
- ],
14
- "framework": {
15
- "name": "@storybook/react-vite",
16
- "options": {}
17
- }
18
- };
19
- export default config;
@@ -1,35 +0,0 @@
1
- import React from 'react';
2
- import { Theme } from '@ossy/design-system';
3
- import { Ossy, Standard } from '@ossy/themes'
4
-
5
- /** @type { import('@storybook/react').Preview } */
6
- const preview = {
7
-
8
- parameters: {
9
-
10
- controls: {
11
- matchers: {
12
- color: /(background|color)$/i,
13
- date: /Date$/i,
14
- },
15
- },
16
-
17
- options: {
18
- storySort: {
19
- order: ['App', 'Layout', '*', 'Base'],
20
- },
21
- },
22
-
23
- },
24
-
25
- decorators: [
26
- (Story) => (
27
- <Theme theme={Ossy} >
28
- <Story />
29
- </Theme>
30
- ),
31
- ]
32
-
33
- };
34
-
35
- export default preview;
package/CHANGELOG.md DELETED
@@ -1,166 +0,0 @@
1
- # Change Log
2
-
3
- All notable changes to this project will be documented in this file.
4
- See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
-
6
- ## 0.1.4 (2025-10-31)
7
-
8
-
9
- ### Bug Fixes
10
-
11
- * **app:** add @babel/preset-env ([#7](https://github.com/ossy-se/packages/issues/7)) ([252b41a](https://github.com/ossy-se/packages/commit/252b41a6d4e3d7d3750661091c97186b0d9cdde2))
12
-
13
-
14
-
15
-
16
-
17
- ## 0.1.3 (2025-10-31)
18
-
19
- **Note:** Version bump only for package @ossy/design-system-extras
20
-
21
-
22
-
23
-
24
-
25
- ## 0.1.2 (2025-10-31)
26
-
27
- **Note:** Version bump only for package @ossy/design-system-extras
28
-
29
-
30
-
31
-
32
-
33
- ## 0.1.1 (2025-10-31)
34
-
35
- **Note:** Version bump only for package @ossy/design-system-extras
36
-
37
-
38
-
39
-
40
-
41
- # 0.1.0 (2025-10-30)
42
-
43
-
44
- ### Features
45
-
46
- * **sdk:** get current workspace ([#4](https://github.com/ossy-se/packages/issues/4)) ([afce7d5](https://github.com/ossy-se/packages/commit/afce7d5787af42691f62c9eba672ea1be000e19e))
47
-
48
-
49
-
50
-
51
-
52
- ## 0.0.16 (2025-10-30)
53
-
54
- **Note:** Version bump only for package @ossy/design-system-extras
55
-
56
-
57
-
58
-
59
-
60
- ## 0.0.15 (2025-10-27)
61
-
62
- **Note:** Version bump only for package @ossy/design-system-extras
63
-
64
-
65
-
66
-
67
-
68
- ## 0.0.14 (2025-10-27)
69
-
70
- **Note:** Version bump only for package @ossy/design-system-extras
71
-
72
-
73
-
74
-
75
-
76
- ## 0.0.13 (2025-10-27)
77
-
78
- **Note:** Version bump only for package @ossy/design-system-extras
79
-
80
-
81
-
82
-
83
-
84
- ## 0.0.12 (2025-10-27)
85
-
86
- **Note:** Version bump only for package @ossy/design-system-extras
87
-
88
-
89
-
90
-
91
-
92
- ## 0.0.11 (2025-10-27)
93
-
94
- **Note:** Version bump only for package @ossy/design-system-extras
95
-
96
-
97
-
98
-
99
-
100
- ## 0.0.10 (2025-10-25)
101
-
102
- **Note:** Version bump only for package @ossy/design-system-extras
103
-
104
-
105
-
106
-
107
-
108
- ## 0.0.9 (2025-10-25)
109
-
110
- **Note:** Version bump only for package @ossy/design-system-extras
111
-
112
-
113
-
114
-
115
-
116
- ## 0.0.8 (2025-10-25)
117
-
118
- **Note:** Version bump only for package @ossy/design-system-extras
119
-
120
-
121
-
122
-
123
-
124
- ## 0.0.7 (2025-10-25)
125
-
126
- **Note:** Version bump only for package @ossy/design-system-extras
127
-
128
-
129
-
130
-
131
-
132
- ## 0.0.6 (2025-10-25)
133
-
134
- **Note:** Version bump only for package @ossy/design-system-extras
135
-
136
-
137
-
138
-
139
-
140
- ## 0.0.5 (2025-10-25)
141
-
142
- **Note:** Version bump only for package @ossy/design-system-extras
143
-
144
-
145
-
146
-
147
-
148
- ## 0.0.4 (2025-10-25)
149
-
150
- **Note:** Version bump only for package @ossy/design-system-extras
151
-
152
-
153
-
154
-
155
-
156
- ## 0.0.3 (2025-10-25)
157
-
158
- **Note:** Version bump only for package @ossy/design-system-extras
159
-
160
-
161
-
162
-
163
-
164
- ## 0.0.2 (2025-10-25)
165
-
166
- **Note:** Version bump only for package @ossy/design-system-extras
package/rollup.config.js DELETED
@@ -1,31 +0,0 @@
1
- import babel from '@rollup/plugin-babel'
2
- import { nodeResolve as resolveDependencies } from '@rollup/plugin-node-resolve'
3
- import resolveCommonJsDependencies from '@rollup/plugin-commonjs'
4
- import removeOwnPeerDependencies from 'rollup-plugin-peer-deps-external'
5
- import minifyJS from '@rollup/plugin-terser'
6
- // import typescript from '@rollup/plugin-typescript'
7
- import preserveDirectives from "rollup-plugin-preserve-directives"
8
-
9
- export default [
10
- {
11
- input: 'src/index.js',
12
- output: [
13
- {
14
- dir: 'build',
15
- format: 'esm'
16
- }
17
- ],
18
- plugins: [
19
- removeOwnPeerDependencies(),
20
- resolveCommonJsDependencies(),
21
- resolveDependencies(),
22
- babel({
23
- exclude: ['**/node_modules/**/*'],
24
- presets: ['@babel/preset-react']
25
- }),
26
- preserveDirectives(),
27
- minifyJS(),
28
- // typescript({ tsconfig: "./tsconfig.json" }),
29
- ]
30
- },
31
- ]
package/src/index.js DELETED
@@ -1,3 +0,0 @@
1
- export * from './markdown-viewer'
2
- export * from './router-layouts'
3
- export * from './templates'
@@ -1,86 +0,0 @@
1
- import React from 'react'
2
- import ReactMarkdown from 'react-markdown'
3
- import SyntaxHighlighter from 'react-syntax-highlighter'
4
- import atomOneLight from './styles/atom-one-light'
5
- import { View, Button, Title, Text } from "@ossy/design-system"
6
-
7
- const defaultComponents = {
8
- 'h1': ({ node, ...props }) => <Title id={asId(props.children)} as="h1" variant="primary" {...props} style={{ marginBottom: 'var(--space-l)' }} />,
9
- 'h2': ({ node, ...props }) => <Title id={asId(props.children)} as="h2" variant="secondary" {...props} style={{ marginBottom: 'var(--space-m)', marginTop: 'var(--space-l)' }} />,
10
- 'h3': ({ node, ...props }) => <Title id={asId(props.children)} as="h3" variant="tertiary" {...props} style={{ marginBottom: 'var(--space-m)' }} />,
11
- 'h4': ({ node, ...props }) => <Title id={asId(props.children)} as="h4" variant="tertiary" {...props} style={{ marginBottom: 'var(--space-m)' }} />,
12
- 'h5': ({ node, ...props }) => <Title id={asId(props.children)} as="h5" variant="tertiary" {...props} style={{ marginBottom: 'var(--space-m)' }} />,
13
- 'p': ({ node, ...props }) => <Text {...props} style={{ marginBottom: 'var(--space-m)' }} />,
14
- 'ul': ({ node, ...props }) => <ul {...props} style={{ listStyle: 'inside', paddingLeft: 'var(--space-l)' }} />,
15
- 'li': ({ node, ...props }) => <Text as="li" {...props} style={{ marginBottom: 'var(--space-m)' }}/>,
16
- 'a': ({ node, ...props }) => <Button as={props.href ? 'a' : 'button'} {...props} variant="link" />,
17
- code: ({ node, className, ...props }) => {
18
- const [_, language] = /language-(\w+)/.exec(className || '') || []
19
- const inline = !language
20
-
21
- if (inline) {
22
- return (
23
- <View inset="xs" surface="secondary" roundness="s" style={{ display: 'inline-block' }} {...props} >
24
- <SyntaxHighlighter
25
- style={{
26
- display: 'inline',
27
- ...atomOneLight,
28
- "hljs": {
29
- display: 'inline',
30
- "color": "#383a42",
31
- "background": "transparent"
32
- }}}
33
- language={language}
34
- {...props}
35
- />
36
- </View>
37
- )
38
- }
39
-
40
- return (
41
- <View inset="m" surface="secondary" roundness="m" data-component="MarkdownViewer">
42
- <style href="@ossy/design-system-extras/markdown-viewer/MarkdownViewer" precedence="high">
43
- {`
44
- [data-component="MarkdownViewer"] {
45
- margin: var(--space-s) 0;
46
- }
47
-
48
- [data-component="MarkdownViewer"] pre {
49
- margin: 0;
50
- }
51
- `}
52
- </style>
53
- <SyntaxHighlighter
54
- style={{
55
- ...atomOneLight,
56
- "hljs": {
57
- "display": "block",
58
- "overflowX": "auto",
59
- "color": "#383a42",
60
- "background": "transparent"
61
- }}}
62
- language={language}
63
- {...props}
64
- />
65
- </View>
66
- )
67
-
68
- }
69
- }
70
-
71
- function asId(str) {
72
- if (!str) return ''
73
- return str.toLowerCase().replace(/\s+/g, '-');
74
- }
75
-
76
- export const MarkdownViewer = ({
77
- markdown,
78
- children,
79
- components = {},
80
- ...props
81
- }) =>
82
- <ReactMarkdown
83
- children={markdown || children}
84
- components={{ ...defaultComponents, ...components }}
85
- {...props}
86
- />
@@ -1,34 +0,0 @@
1
- import React from 'react'
2
- import { MarkdownViewer } from './MarkdownViewer.jsx'
3
-
4
- export default {
5
- title: 'Design System Extras/MarkdownViewer',
6
- component: MarkdownViewer,
7
- }
8
-
9
- const Story = props => <MarkdownViewer {...props} />
10
-
11
- export const Default = Story.bind({})
12
- Default.args = {
13
- children: `
14
- # Hello, this is an md doc
15
-
16
- Let's get started with some documentation
17
-
18
- ## Getting started
19
-
20
- \`\`\`javascript
21
- npm install @ossy/cms-client-react
22
- \`\`\`
23
-
24
- \`\`\`javascript
25
- import { WorkspaceProvider } from '@ossy/cms-client-react'
26
-
27
- export const App = () => (
28
- <WorkspaceProvider workspaceId={<yourWorkspaceId>}>
29
- {//...}
30
- </WorkspaceProvider>
31
- )
32
- \`\`\`
33
- `
34
- }
@@ -1 +0,0 @@
1
- export * from './MarkdownViewer.jsx'
@@ -1,114 +0,0 @@
1
- export default {
2
- "hljs": {
3
- "display": "block",
4
- "overflowX": "auto",
5
- "padding": "0.5em",
6
- "color": "#383a42",
7
- "background": "#fafafa"
8
- },
9
- "hljs-comment": {
10
- "color": "#a0a1a7",
11
- "fontStyle": "italic"
12
- },
13
- "hljs-quote": {
14
- "color": "#a0a1a7",
15
- "fontStyle": "italic"
16
- },
17
- "hljs-doctag": {
18
- "color": "#a626a4"
19
- },
20
- "hljs-keyword": {
21
- "color": "#a626a4"
22
- },
23
- "hljs-formula": {
24
- "color": "#a626a4"
25
- },
26
- "hljs-section": {
27
- "color": "#e45649"
28
- },
29
- "hljs-name": {
30
- "color": "#e45649"
31
- },
32
- "hljs-selector-tag": {
33
- "color": "#e45649"
34
- },
35
- "hljs-deletion": {
36
- "color": "#e45649"
37
- },
38
- "hljs-subst": {
39
- "color": "#e45649"
40
- },
41
- "hljs-literal": {
42
- "color": "#0184bb"
43
- },
44
- "hljs-string": {
45
- "color": "#50a14f"
46
- },
47
- "hljs-regexp": {
48
- "color": "#50a14f"
49
- },
50
- "hljs-addition": {
51
- "color": "#50a14f"
52
- },
53
- "hljs-attribute": {
54
- "color": "#50a14f"
55
- },
56
- "hljs-meta-string": {
57
- "color": "#50a14f"
58
- },
59
- "hljs-built_in": {
60
- "color": "#c18401"
61
- },
62
- "hljs-class .hljs-title": {
63
- "color": "#c18401"
64
- },
65
- "hljs-attr": {
66
- "color": "#986801"
67
- },
68
- "hljs-variable": {
69
- "color": "#986801"
70
- },
71
- "hljs-template-variable": {
72
- "color": "#986801"
73
- },
74
- "hljs-type": {
75
- "color": "#986801"
76
- },
77
- "hljs-selector-class": {
78
- "color": "#986801"
79
- },
80
- "hljs-selector-attr": {
81
- "color": "#986801"
82
- },
83
- "hljs-selector-pseudo": {
84
- "color": "#986801"
85
- },
86
- "hljs-number": {
87
- "color": "#986801"
88
- },
89
- "hljs-symbol": {
90
- "color": "#4078f2"
91
- },
92
- "hljs-bullet": {
93
- "color": "#4078f2"
94
- },
95
- "hljs-link": {
96
- "color": "#4078f2",
97
- "textDecoration": "underline"
98
- },
99
- "hljs-meta": {
100
- "color": "#4078f2"
101
- },
102
- "hljs-selector-id": {
103
- "color": "#4078f2"
104
- },
105
- "hljs-title": {
106
- "color": "#4078f2"
107
- },
108
- "hljs-emphasis": {
109
- "fontStyle": "italic"
110
- },
111
- "hljs-strong": {
112
- "fontWeight": "bold"
113
- }
114
- }
@@ -1,38 +0,0 @@
1
- import React from 'react'
2
- import { Title, Button, Text, View } from "@ossy/design-system"
3
-
4
- export const Footer = ({
5
- columns = [],
6
- }) => {
7
- return (
8
- <View layout="row" placeContent="normal space-between" gap="xl">
9
- {
10
- columns.map(column => (
11
- <div style={{ maxWidth: `var(--max-width-${column.maxWidth}, 100%)` }}>
12
- <Title as="h3" variant="tertiary" style={{ marginBottom: 'var(--space-m)' }}>
13
- {column.title}
14
- </Title>
15
- {
16
- !!column.text && <Text>{column.text}</Text>
17
- }
18
- {
19
- !!column.list && (
20
- <ul key={column.title} style={{ padding: '0' }}>
21
- {
22
- column.list.map(({ label, ...anchorProps }) => (
23
- <li key={label} style={{ listStyle: 'none' }}>
24
- <Button variant="link" {...anchorProps} style={{ marginBottom: 'var(--space-m)' }}>
25
- {label}
26
- </Button>
27
- </li>
28
- ))
29
- }
30
- </ul>
31
- )
32
- }
33
- </div>
34
- ))
35
- }
36
- </View>
37
- )
38
- }