@ossy/design-system-extras 0.1.4 → 0.1.6

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
@@ -1,68 +0,0 @@
1
- .storybook-page {
2
- margin: 0 auto;
3
- padding: 48px 20px;
4
- max-width: 600px;
5
- color: #333;
6
- font-size: 14px;
7
- line-height: 24px;
8
- font-family: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
9
- }
10
-
11
- .storybook-page h2 {
12
- display: inline-block;
13
- vertical-align: top;
14
- margin: 0 0 4px;
15
- font-weight: 700;
16
- font-size: 32px;
17
- line-height: 1;
18
- }
19
-
20
- .storybook-page p {
21
- margin: 1em 0;
22
- }
23
-
24
- .storybook-page a {
25
- color: inherit;
26
- }
27
-
28
- .storybook-page ul {
29
- margin: 1em 0;
30
- padding-left: 30px;
31
- }
32
-
33
- .storybook-page li {
34
- margin-bottom: 8px;
35
- }
36
-
37
- .storybook-page .tip {
38
- display: inline-block;
39
- vertical-align: top;
40
- margin-right: 10px;
41
- border-radius: 1em;
42
- background: #e7fdd8;
43
- padding: 4px 12px;
44
- color: #357a14;
45
- font-weight: 700;
46
- font-size: 11px;
47
- line-height: 12px;
48
- }
49
-
50
- .storybook-page .tip-wrapper {
51
- margin-top: 40px;
52
- margin-bottom: 40px;
53
- font-size: 13px;
54
- line-height: 20px;
55
- }
56
-
57
- .storybook-page .tip-wrapper svg {
58
- display: inline-block;
59
- vertical-align: top;
60
- margin-top: 3px;
61
- margin-right: 4px;
62
- width: 12px;
63
- height: 12px;
64
- }
65
-
66
- .storybook-page .tip-wrapper svg path {
67
- fill: #1ea7fd;
68
- }
@@ -1,3 +0,0 @@
1
- export * from './resume/index.js'
2
- export * from './theme-display/index.js'
3
- export * from './landing-page'
@@ -1,59 +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" className="footer">
9
-
10
- <style href="@ossy/design-system-extras/footer" precedence="high" >
11
- {`
12
- .footer {
13
- padding: var(--space-s);
14
- }
15
-
16
- .footer .title {
17
- margin-bottom: var(--space-m);
18
- }
19
-
20
- .footer .list {
21
- padding: 0;
22
- }
23
-
24
- .footer .list-item {
25
- list-style: none;
26
- }
27
- `}
28
- </style>
29
-
30
- {
31
- columns.map(column => (
32
- <div style={{ maxWidth: `var(--max-width-${column.maxWidth}, 100%)` }}>
33
- <Title as="h3" variant="tertiary" className="title" style={{ color: 'var(--color-primary)'}}>
34
- {column.title}
35
- </Title>
36
- {
37
- !!column.text && <Text style={{ color: 'var(--color-primary)'}}>{column.text}</Text>
38
- }
39
- {
40
- !!column.list && (
41
- <ul className="list" key={column.title}>
42
- {
43
- column.list.map(({ label, ...anchorProps }) => (
44
- <li className="list-item" key={label}>
45
- <Button variant="link" {...anchorProps} style={{ marginBottom: 'var(--space-m)' }}>
46
- {label}
47
- </Button>
48
- </li>
49
- ))
50
- }
51
- </ul>
52
- )
53
- }
54
- </div>
55
- ))
56
- }
57
- </View>
58
- )
59
- }
@@ -1,51 +0,0 @@
1
- import React from 'react'
2
- import { Title, Text, Button } from "@ossy/design-system"
3
-
4
- export const Hero = ({
5
- title,
6
- titleMaxWidth = '800px',
7
- text,
8
- actions = [],
9
- }) => (
10
- <div data-component="hero">
11
-
12
- <style href="@ossy/design-system-extras/hero" precedence="high">
13
- {`
14
- [data-component="hero"] {
15
- display: flex;
16
- flex-direction: column;
17
- align-items: center;
18
- justify-content: center;
19
- text-align: center;
20
- }
21
-
22
- @media (min-width: 820px) {
23
- [data-component="hero"] {
24
- /* min-height: 60vh; */
25
- flex: 0 0 auto;
26
- }
27
- }
28
- `}
29
- </style>
30
-
31
- <Title
32
- variant="display"
33
- style={{ maxWidth: titleMaxWidth, marginBottom: 'var(--space-l)' }}
34
- >
35
- {title}
36
- </Title>
37
-
38
- <Text style={{ marginBottom: 'var(--space-l)' }}>
39
- {text}
40
- </Text>
41
-
42
- <div style={{ display: 'flex', gap: 'var(--space-m)'}}>
43
- {actions.map(({ label, ...props }) => (
44
- <Button {...props} key={label}>
45
- {label}
46
- </Button>
47
- ))}
48
- </div>
49
-
50
- </div>
51
- )
@@ -1,180 +0,0 @@
1
- import React from 'react'
2
- import {
3
- Title,
4
- Text,
5
- Image,
6
- Stack,
7
- Card,
8
- Guide,
9
- Button,
10
- View
11
- } from "@ossy/design-system"
12
- import { Hero } from './Hero.jsx'
13
- import { Footer } from './Footer.jsx'
14
-
15
- export const LandingPage2020 = [
16
-
17
- {
18
- id: "about",
19
- surface: 'decorated',
20
- style: {
21
- padding: 'var(--space-xxl) var(--space-m)'
22
- },
23
- render: ({ about, socialProof }) => (
24
- <>
25
- <View alignItems="stretch" justifyContent="center" style={{ marginBottom: 'var(--space-xl)'}}>
26
- {
27
- about.columns.map(({ name, role, imgSrc, text }) => (
28
- <div key={name} style={{
29
- display: 'flex',
30
- flexDirection: 'column',
31
- justifyContent: 'center'
32
- }}>
33
- <Image
34
- key={name}
35
- src={imgSrc}
36
- style={{
37
- borderRadius: '50%',
38
- width: '100%',
39
- maxWidth: '200px',
40
- height: 'auto',
41
- margin: '0 auto',
42
- marginBottom: 'var(--space-l)'
43
- }}
44
- />
45
-
46
- <div style={{
47
- display: 'flex',
48
- flexDirection: 'column',
49
- gap: 'var(--space-s)',
50
- alignItems: 'center',
51
- marginBottom: 'var(--space-l)'
52
- }}>
53
- <Title as="h1" variant="primary">{name}</Title>
54
- <Title as="h2" variant="lead">{role}</Title>
55
- </div>
56
-
57
- <Text style={{ textAlign: 'center', maxWidth: '600px', margin: '0 auto' }}>
58
- {text}
59
- </Text>
60
- </div>
61
- ))
62
- }
63
- </View>
64
-
65
- <Text variant="small" style={{ marginBottom: 'var(--space-l)', textAlign: 'center' }}>
66
- {socialProof.title}
67
- </Text>
68
-
69
- <View layout="row" justifyContent="space-between" gap="m">
70
-
71
- {
72
- socialProof.columns.map(({ title, logo }) => (
73
- <div key={title} style={{
74
-
75
- textAlign: 'center'
76
- }}>
77
- <Card>
78
- <Image src={logo} style={{
79
- height: '20px',
80
- width: 'auto'
81
- }} />
82
- </Card>
83
- </div>
84
- ))
85
- }
86
-
87
- </View>
88
- </>
89
- )
90
- },
91
-
92
- {
93
- id: "hero",
94
- surface: "primary",
95
- style: {
96
- padding: 'var(--space-xxl) var(--space-m) var(--space-xl)',
97
- },
98
- render: ({ hero }) => <Hero {...hero}/>
99
- },
100
-
101
- {
102
- id: "services",
103
- surface: "primary",
104
- maxWidth: "large",
105
- layout: "row",
106
- placeContent: "stretch space-around",
107
- gap: "xl",
108
- style: {
109
- borderBottom: '1px solid var(--separator-primary)',
110
- padding: 'var(--space-xxl) var(--space-m)'
111
- },
112
- render: ({ services }) => (
113
- <>
114
- {
115
- services.map(({ title, text }) => (
116
- <div key={title} style={{ textAlign: 'center' }}>
117
- <Title variant="tertiary" style={{ marginBottom: 'var(--space-m)' }}>
118
- {title}
119
- </Title>
120
- <Text style={{ maxWidth: '600px' }}>
121
- {text}
122
- </Text>
123
- </div>
124
- ))
125
- }
126
- </>
127
- )
128
- },
129
-
130
- {
131
- id: "projects",
132
- surface: "primary",
133
- style: {
134
- padding: 'var(--space-xxl) var(--space-m) var(--space-xl)',
135
- minHeight: '60vh'
136
- },
137
- render: ({ projects }) => (
138
- <>
139
- <Guide
140
- title={projects.title}
141
- titleVariant="display"
142
- text={projects.text}
143
- style={{ textAlign: 'left', maxWidth: '600px', marginBottom: 'var(--space-xl)' }}
144
- />
145
- {projects.categories.map(({ title, text, links }) => (
146
- <div style={{ marginBottom: 'var(--space-xl)'}}>
147
- <Title title={title} variant="tertiary" style={{ marginBottom: 'var(--space-l)'}}>
148
- {title}
149
- </Title>
150
- <Text>
151
- {text}
152
- </Text>
153
- <Stack>
154
- {
155
- links.map(buttons => (
156
- <Stack horizontal style={{ marginBottom: 'var(--space-m)' }}>
157
- {
158
- buttons.map(button => <Button {...button} variant="link" target="_blank" style={{ marginRight: 'var(--space-m)'}}/>)
159
- }
160
- </Stack>
161
- ))
162
- }
163
- </Stack>
164
- </div>
165
- ))}
166
- </>
167
- )
168
- },
169
-
170
- {
171
- id: "contact",
172
- surface: 'accent',
173
- style: {
174
- padding: 'var(--space-xxl) var(--space-m)',
175
- borderBottom: '1px solid var(--separator-primary)'
176
- },
177
- render: ({ contact }) => <Footer columns={contact.columns} />
178
- }
179
-
180
- ]
@@ -1,190 +0,0 @@
1
- import React from 'react'
2
- import { Page } from "@ossy/design-system"
3
- import { LandingPage2020 } from './LandingPage.jsx'
4
-
5
- export default {
6
- title: 'Design System Extras/Templates/Landing page/2020',
7
- parameters: {
8
- layout: 'fullscreen',
9
- },
10
- }
11
-
12
- const Story = props => <Page {...props}/>
13
-
14
- export const Default = Story.bind({})
15
- Default.args = {
16
- sections: LandingPage2020,
17
- hero: {
18
- title: 'Angular och React expertis. Design i hjärtat.',
19
- text: `
20
- Med expertis inom React & Angular,
21
- har jag en passion för att skapa webbapplikationer som inte bara är tekniskt avancerade,
22
- utan också estetiskt tilltalande.
23
- När min tekniska kunskap möter min kärlek till design,
24
- skapar jag lösningar som verkligen lyfter ditt företags digitala närvaro.
25
- `,
26
- actions: [
27
- { label: 'Kontakt', href: '#contact' },
28
- { label: 'Online CV', variant: 'cta', href: '/sv/resume' }
29
- ]
30
- },
31
-
32
- socialProof: {
33
- title: 'Litad på av',
34
- columns: [
35
- {
36
- title: 'Mikael Schulz',
37
- logo: 'https://d1yuixo7x29bj4.cloudfront.net/36zDqF0TKZZ5KkJdyg7NH/HFHn21DSCu2f1Gwwzr-xh.png'
38
- },
39
- {
40
- title: 'tepit',
41
- logo: 'https://d1yuixo7x29bj4.cloudfront.net/36zDqF0TKZZ5KkJdyg7NH/QdwAa6w1mBu8cC0x667Vw.png'
42
- },
43
- {
44
- title: 'Plexus Sanitas',
45
- logo: 'https://d1yuixo7x29bj4.cloudfront.net/36zDqF0TKZZ5KkJdyg7NH/Of3veKFzLTxAY4qYTmBuW.png'
46
- },
47
- {
48
- title: 'OSSY',
49
- logo: 'https://d1yuixo7x29bj4.cloudfront.net/36zDqF0TKZZ5KkJdyg7NH/PBFpT6d48OPG9kXzT49r7.png'
50
- }
51
- ]
52
- },
53
-
54
- services: [
55
- {
56
- title: 'Apputveckling med Angular & React',
57
- text: `
58
- Oavsett om du siktar på en responsiv hemsida eller komplex webbapplication,
59
- kan jag med min expertis inom Angular och React leverera lösningar
60
- som är kraftfulla, skalbara, användarvänliga, och estetiskt tilltalande.
61
- Min erfarenhet täcker allt från initial konceptualisering till lansering och underhåll.
62
- `
63
- },
64
- {
65
- title: 'Designsystem & Komponentbibliotek',
66
- text: `
67
- I den digitala världen är igenkännbarhet nyckeln till en suverän användarupplevelse.
68
- Jag kan hjälpa dig med att implementera och integrera designsystem som säkerställer
69
- en enhetlig och igenkännbar stil över alla dina digitala gränssnitt.
70
- Tillsammans bygger vi komponentbibliotek som gör det snabbt och enkelt att skapa nya sidor och funktioner,
71
- samtidigt som vi behåller den höga designstandarden.
72
- Låt oss tillsammans skapa digitala upplevelser som dina användare kommer att älska.
73
- `
74
- }
75
- ],
76
-
77
- projects: {
78
- title: 'Mina projekt',
79
- text:`
80
- Under min karriär har jag haft förmånen att arbeta med en rad professionella projekt
81
- som har bidragit till att formge min expertis inom systemutveckling.
82
- Många av dessa projekt är av konfidentiell natur eller bundna av affärsavtal,
83
- och kan därför inte visas offentligt här. Men utanför den professionella
84
- sfären brinner jag för teknik och skapande, vilket reflekteras i de många hobbyprojekt
85
- jag tar mig an på min fritid.
86
- Nedan finner du ett urval av några professionella project jag kan visa
87
- samt många personliga skapelser som jag gärna delar med mig av.
88
- `,
89
- categories: [
90
- {
91
- title: 'Hemsidor och designsystem',
92
- links: [
93
- [
94
- {
95
- label: 'Plexus Sanitas',
96
- href: 'https://www.plexus-sanitas.com/'
97
- }
98
- ],
99
- [
100
- {
101
- label: 'Mikael Shulz',
102
- href: 'https://www.mikaelschulz.com/'
103
- }
104
- ],
105
- // [
106
- // {
107
- // label: 'Tepit',
108
- // href: 'https://tepit.ossy.se'
109
- // }
110
- // ],
111
- [
112
- {
113
- label: 'Ossy',
114
- href: 'https://ossy.se/'
115
- }
116
- ]
117
- ]
118
- },
119
- {
120
- title: 'Applicationsutveckling',
121
- links: [
122
- [
123
- {
124
- label: 'Content management system',
125
- href: 'https://cms.ossy.se'
126
- }
127
- ],
128
- [
129
- {
130
- label: '@ossy/cms-client-react',
131
- href: 'https://www.npmjs.com/package/@ossy/cms-client-react'
132
- }
133
- ],
134
- [
135
- {
136
- label: '@ossy/cli',
137
- href: 'https://www.npmjs.com/package/@ossy/cli'
138
- }
139
- ],
140
- [
141
- {
142
- label: '@ossy/deployment-tools',
143
- href: 'https://www.npmjs.com/package/@ossy/deployment-tools'
144
- }
145
- ]
146
- ]
147
- }
148
- ]
149
- },
150
-
151
- about: {
152
- columns: [
153
- {
154
- name: 'Oskars Sylwan',
155
- role: 'Systemutvecklare',
156
- imgSrc: 'https://d1yuixo7x29bj4.cloudfront.net/36zDqF0TKZZ5KkJdyg7NH/j9SeL8EG7f8vEiJCPPgZa.png',
157
- text: `
158
- Frontendutvecklare med fokus på att bygga administrativa system och dashboards i moderna JavaScript ramverk.
159
- Erfarenhet finns både inom Angular och React och kommer från större bolag, myndigheter, och startups.
160
- Jag är van vid att ta ansvar för frontenddelar i utvecklingsprocessen vilket inkluderar planering,
161
- arkitektur, utveckling, sätta riktlinjer, lära ut, och onboarda nya utvecklare.
162
- `
163
- }
164
- ]
165
- },
166
-
167
- contact: {
168
- columns: [
169
- {
170
- title: 'Kontakta mig',
171
- maxWidth: 's',
172
- text: `
173
- Jag ser fram emot att höra från dig och diskutera hur vi kan samarbeta på ditt nästa projekt.
174
- Även om jag är tillgänglig för samtal mellan kl. 09:00 och 16:00 på vardagar,
175
- finner många att det enklaste sättet att nå mig är genom att skicka ett meddelande på LinkedIn.
176
- Tveka inte att ta kontakt!
177
- `
178
- },
179
- {
180
- list: [
181
- { label: 'oskarssylwan.com', href: 'https://oskarssylwan.com/' },
182
- { label: 'LinkedIn', href: 'www.linkedin.com/in/oskarssylwan' },
183
- { label: 'oskars.sylwan@ossy.se', href: 'mailto:oskars.sylwan@ossy.se' },
184
- { label: '+46 73 097 15 98' }
185
- ]
186
- }
187
- ]
188
- }
189
-
190
- }
@@ -1 +0,0 @@
1
- export * from './LandingPage.jsx'
@@ -1 +0,0 @@
1
- export * from './2020'