GithubHelp home page GithubHelp logo

fremtind / jokul Goto Github PK

View Code? Open in Web Editor NEW
61.0 28.0 34.0 304.07 MB

Jøkul er et designsystem utviklet av Fremtind.

Home Page: https://jokul.fremtind.no

License: MIT License

JavaScript 48.08% TypeScript 32.10% SCSS 8.87% Shell 0.03% HTML 0.01% MDX 10.73% Less 0.19%
fremtind designsystem react sass scss design-system

jokul's Introduction

Jøkul

Jøkul er et designsystem utviklet av Fremtind.

Jøkul gir deg ferdige React-komponenter samt CSS- og SCSS-stilark for de grunnleggende komponentene og designmønstrene til Fremtind. De følger Fremtinds designprinsipper.

React-komponentene våre er er den raskeste og enkleste måten å ta i bruk Jøkul. CSSen er tilgjengelig som separate pakker, så om du ikke bruker React kan du fremdeles bruke Jøkul.

Kom i gang

For å starte utviklingsserveren for Jøkul lokalt må du først ha installert:

Så, etter å ha klonet repoet:

Tips under utvikling

  • Kjør pnpm reboot om du kommer tilbake til Jøkul-prosjektet etter en stund, eller noe ikke fungerer som du forventer.
  • Om du opplever feil fra nx, prøv pnpm dlx nx reset og kjør kommandoen på nytt.
  • pnpm dev har live reloading for portalen, ikke kildekoden til pakkene. Kjør pnpm build for pakken du endrer, så oppdaterer portalen seg.
  • Hver pakke har sin egen devserver bak pnpm dev om du skal jobbe på noe isolert, og ikke trenger hele portalen.

Kjapt om pnpm dev i pakkene

For å teste server-side rendering har vi det problemet at serverdelen må restarte for at første render skal bli oppdatert med det nyeste. Vi bruker nodemon for å restarte denne automatisk ved endringer.

En ulempe med det er at hvis du har to devservere kjørende vil du få et nytt portnummer på én av de hver gang. Du kan komme deg rundt det problemet ved å sette PORT-miljøvariabelen til noe annet enn 1234. For eksempel PORT=1235 pnpm dev.

Bruk av pakkene

Vi har en egen guide som hjelper deg med å komme i gang som ny bruker av Jøkul.

Du kan bruke Jøkul på to måter:

  1. Bruke React-komponenter og stilark.
  2. Ta inn kun stilark.

Komponentpakkene inneholder alt som trengs, inkludert avhengigheter til andre Jøkul-pakker.

NB! Selv om komponentpakkene inneholder alle avhengigheter må du selv sørge for å importere stilpakken i koden din. Dette er fordi vi ikke vil legge for harde føringer på utviklerverktøy, for eksempel kreve Webpack.

Eksempel på bruk av React-pakker

Installer React-pakken, for eksempel npm i @fremtind/jkl-button-react. Den sørger for å laste ned CSS-pakken, men du må selv sørge for at CSSen faktisk blir brukt i prosjektet ditt.

import { PrimaryButton } from "@fremtind/jkl-button-react";
import "@fremtind/jkl-button/button.min.css"; // husk å importere stilarket
...
<PrimaryButton onClick={doStuff}>Cool</PrimaryButton>
...

Noen ganger må du også importere stilarkene til avhengigheter av komponenten du skal bruke. Et eksempel er pakken for tabeller, hvor du trenger CSSen til en annen pakke hvis du skal lage ekspanderbare tabellrader. Sjekk README-fila i hver enkelt React-pakke for å se hva den trenger.

Eksempel på bruk av stilark-pakker

Hvis du ikke vil bruke React-komponentene kan du bruke stilarkene direkte. Pakkene med stilark publiseres både med ferdig kompilert og prefikset CSS i minifisert og uminifisert variant, i tillegg til SCSS-kildekoden.

npm i @fremtind/jkl-button

import "@fremtind/jkl-button/button.min.css";
...
<button className="jkl-button jkl-button--primary" onClick={doStuff}>Cool</button>
...

Hvis prosjektet ditt også bruker SCSS kan du hente stiler via samme filnavn som CSSen. I tillegg har @fremtind/jkl-core en modul med mixins, variabler og funksjoner som brukes internt i Jøkul. Disse kan være nyttige også i ditt eget prosjekt.

@use "@fremtind/jkl-core/jkl"; // ⬅️ Mixins, variabler og funksjoner
@use "@fremtind/jkl-core/core"; // Stilene som kompileres til @fremtind/jkl-core/core.css
@use "@fremtind/jkl-button/button"; // Stilene som kompileres til @fremtind/jkl-button/button.css
// osv.

Bruk kjernen til å lage egne komponenter i Jøkul-drakt

Om du skal bygge komponenter for Fremtind, utover de som finnes i Jøkul, bør du bruke variablene fra @fremtind/jkl-core. Det sørger for at farger, sperring, typografisk skala og liknende holder seg oppdatert mot endringer i designsystemet.

Dokumentasjon

I dokumentasjonen finner du:

  • Informasjon om hvordan du bruker Jøkul.
  • Designprinsippene til Fremtind.
  • Detaljert dokumentasjon for hver komponent, inkludert eksempler.
  • Guider for ulike ting, blant annet hvordan gjøre endringer i Jøkul.
  • Bloggen vår, med jevnlige oppsummeringer av hva som er nytt i Jøkul.

Code of Conduct

Jøkul er et åpent og positivt felleskap der alle skal føle seg velkommen. Gjør deg kjent med våre etiske regler for bidragsytere før du deltar med bidrag.

Lisens

Jøkul er distribuert under MIT-lisensen for åpen kildekode.

Bidragsytere

Takk for bidrag fra disse flotte menneskene (emoji-oversikt):

Pio Rasch-Halvorsen
Pio Rasch-Halvorsen

💻 👀 📖 🐛
Glenn A. Brownlee
Glenn A. Brownlee

📆 📋 🐛
Leiv Fredrik Berge
Leiv Fredrik Berge

💻 📖 🚇 👀
Simen Sægrov
Simen Sægrov

💻 👀 🐛
Steinop
Steinop

🎨
ambientconflict
ambientconflict

💻
Nicolai Hagen
Nicolai Hagen

💻
Stian Liknes
Stian Liknes

💻
hhannestad
hhannestad

🎨
idalower
idalower

📖
Gorild
Gorild

📖 👀
Mikkel Blytt
Mikkel Blytt

🎨 📖
Martinvks
Martinvks

💻
Kristoffer Nordström
Kristoffer Nordström

💻
Frida Thorkildsen Solhaug
Frida Thorkildsen Solhaug

💻 👀
Vegard Sørlie
Vegard Sørlie

💻 🐛
Bjørn Ole Bakke
Bjørn Ole Bakke

💻
almli
almli

💻
Thomas Rognes
Thomas Rognes

💻
Sigve Hagesæter
Sigve Hagesæter

🐛
EspenSmith
EspenSmith

🤔
Murstam
Murstam

🎨
fremtind-bot
fremtind-bot

📖
Jo Emil Holen
Jo Emil Holen

💻 📖 🐛 📝 👀
eduardodir
eduardodir

💻
Sercan Leylek
Sercan Leylek

💻 📝 🐛
CamillaDahlstroem
CamillaDahlstroem

🎨
Mikail Arslan
Mikail Arslan

💻 🚇
Fridaks
Fridaks

💻
Lars-Are Gudmundsen
Lars-Are Gudmundsen

💻
Audun Berdal
Audun Berdal

💻 📖
fremtind-tony
fremtind-tony

📖
Jarle Berentzen
Jarle Berentzen

💻
stormoen
stormoen

🎨
Kenneth Apeland
Kenneth Apeland

💻 📝 🐛 👀
Henrik Hermansen
Henrik Hermansen

💻
Bjørne Oma
Bjørne Oma

💻 🐛 👀
William Killerud
William Killerud

📖 🚇 💻 🐛 📝
Espen Kvalvik
Espen Kvalvik

💻 🐛
Adrian Andersen
Adrian Andersen

🚇
Kathrine
Kathrine

🎨
Tom
Tom

💻 🐛
Knut Eirik Leira Hjelle
Knut Eirik Leira Hjelle

🐛 💻
karimarkhus
karimarkhus

🐛 🎨
Håvard Pedersen
Håvard Pedersen

🐛 💻 👀
Øyvind Nordbø
Øyvind Nordbø

🎨
David Aasterud
David Aasterud

🐛 💻
Mats Sommervold
Mats Sommervold

📖
Christopher T. Hennum
Christopher T. Hennum

🐛 💻
Marius Ingjer
Marius Ingjer

🐛
Francis Paulin
Francis Paulin

💻
hegebjo
hegebjo

💻
Mathias Rundgreen
Mathias Rundgreen

🐛
Elise Brenna
Elise Brenna

💻
maciejost
maciejost

💻
sigrande
sigrande

🐛 💻
markusleitvoll
markusleitvoll

🐛
Glenn Arnold Barosen
Glenn Arnold Barosen

🤔 👀

Dette prosjektet følger retningslinjene i spesifikasjonen all-contributors. Vi setter pris på alle bidrag!

jokul's People

Contributors

allcontributors[bot] avatar bjorneoma avatar chrihenn avatar dependabot[bot] avatar eduardodir avatar elisebrenna avatar espkva avatar fremtind-bot avatar fremtindelise avatar frisol97 avatar gbrownlee avatar github-actions[bot] avatar gorild avatar greenkeeper[bot] avatar hegebjo avatar ivarni avatar joms avatar kennidenni avatar lfbergee avatar maciejost avatar mikaila94 avatar mikkelinski avatar onordbo avatar piofinn avatar saegrov avatar sercansercan avatar snyk-bot avatar steinop avatar thomasrognes avatar wkillerud avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jokul's Issues

Core: rename utils to helpers in mixins

  • The utils.scss file in core/src/mixins should be renamed to helpers.scss to better describe the content.
  • Remember to update all dependencies/import paths in packages using these mixins.

Shadow package

  • Add shadows functions and variables to a package or to Core

Divider line is not server-side renderable

Describe the bug
DivderLine is not server sider renderable. Since it uses IntersectionObserver it doesn't work.
Also, IntersectionObserver is not supported in IE11.

Expected behavior
Components should be able to be rendered server-sider

An in-range update of @types/storybook__addon-knobs is breaking the build 🚨

The devDependency @types/storybook__addon-knobs was updated from 5.0.1 to 5.0.2.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

@types/storybook__addon-knobs is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • continuous-integration/travis-ci/push: The Travis CI build failed (Details).

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

An in-range update of rollup-plugin-babel is breaking the build 🚨

The devDependency rollup-plugin-babel was updated from 4.3.2 to 4.3.3.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

rollup-plugin-babel is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • continuous-integration/travis-ci/push: The Travis CI build failed (Details).

Commits

The new version differs by 5 commits.

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

Components: Inline Loader

  • Initial design
  • Initial package

Component that can go inside other components to indicate that its loading data.

Action required: Greenkeeper could not be activated 🚨

🚨 You need to enable Continuous Integration on Greenkeeper branches of this repository. 🚨

To enable Greenkeeper, you need to make sure that a commit status is reported on all branches. This is required by Greenkeeper because it uses your CI build statuses to figure out when to notify you about breaking changes.

Since we didn’t receive a CI status on the greenkeeper/initial branch, it’s possible that you don’t have CI set up yet. We recommend using Travis CI, but Greenkeeper will work with every other CI service as well.

If you have already set up a CI for this repository, you might need to check how it’s configured. Make sure it is set to run on all new branches. If you don’t want it to run on absolutely every branch, you can whitelist branches starting with greenkeeper/.

Once you have installed and configured CI on this repository correctly, you’ll need to re-trigger Greenkeeper’s initial pull request. To do this, please click the 'fix repo' button on account.greenkeeper.io.

Button active state does not work in Safari and Firefox

Describe the bug
Button active state does not work in Safari and Firefox. The active style is only defined as .jkl-button:focus:active, which does not behave as expected on FF/Safari. changing to just :active should fix this.

To Reproduce
Steps to reproduce the behavior:

  1. Go to Portal
  2. Click on 'Eksempel på komponent dokumentasjon'
  3. Click button in example
  4. See error

Expected behavior
Button should depress when clicked

Desktop:

  • OS: MacOS
  • Browser: Firefox 67, Safari 12

Smartphone:

  • Device: iPhone XS
  • OS: iOS13
  • Browser: Safari

An in-range update of rollup is breaking the build 🚨

The devDependency rollup was updated from 1.16.3 to 1.16.4.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

rollup is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • continuous-integration/travis-ci/push: The Travis CI build failed (Details).

Release Notes for v1.16.4

2019-07-02

Bug Fixes

  • Do not show a TypeScript error when providing a location as number to this.warn and this.error (#2974)
  • Use the correct TypeScript type for Sourcemap.version (#2976)

Pull Requests

Commits

The new version differs by 10 commits.

  • 2896755 1.16.4
  • c2eb6e6 Update changelog
  • b02296a Use async readFile in getRollupDefaultPlugin (#2965)
  • 20b434d Update changelog
  • eb97a3d Fix sourcemap type and update dependencies (#2976)
  • 959df58 Update changelog
  • 5682ae9 Align TS types, docs and implementation for this.warn and this.error (#2975)
  • 21b7ce4 Compensate for netlify URL normalization and fix scrolling again
  • 928d7d6 Update website links
  • 0dd6c15 Remove accidental solo test run

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

An in-range update of webpack is breaking the build 🚨

The devDependency webpack was updated from 4.35.0 to 4.35.1.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

webpack is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • continuous-integration/travis-ci/push: The Travis CI build failed (Details).

Release Notes for v4.35.1

Bugfixes

  • add realResource condition in rule to schema
  • fixes order of loaders when using a matchResource
Commits

The new version differs by 20 commits.

  • 569dd6a 4.35.1
  • 5c7996d Merge pull request #9328 from jchapman127/bugfix/match-resource
  • fec4d53 only affect loader order when match resource is used
  • 61d508e improve test cases for more edge cases
  • 5523a0a Merge pull request #9326 from vankop/add-real-resource-parameter
  • 49dc747 fix loader ordering
  • a435c74 add test case for #9053
  • 68f794d updated snapshots, rerun tooling scripts
  • b320269 add realResource parameter to RuleSetRule
  • c8f4dd1 Merge pull request #9322 from webpack/dependabot/npm_and_yarn/@types/node-10.14.10
  • 498834c Merge pull request #9321 from webpack/dependabot/npm_and_yarn/eslint-plugin-jest-22.7.1
  • 81bf2ca chore(deps-dev): bump @types/node from 10.14.9 to 10.14.10
  • f8bb7a5 chore(deps-dev): bump eslint-plugin-jest from 22.7.0 to 22.7.1
  • 58bd580 Merge pull request #9311 from webpack/dependabot/npm_and_yarn/eslint-plugin-jest-22.7.0
  • cea1348 Merge pull request #9310 from ryandrew14/update-contributing-to-documentation

There are 20 commits in total.

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

Motion package

  • Add base motion curves and variables to a package or to core

Fix examples

  • Use typescript everywhere
  • Move all demos to Example, standardize on index.html and example.tsx

Font does not work in Safari

Safari doen't let you access locally installed fonts (other than system fonts) to prevent fingerprinting. We therefore have to host the font files if we want to be able to preview our work in Safari.

Proposed solution

  • Find somewhere to host the font files
  • Change the typography/core.scss file to use these files as src

Bundle font

  • Font should be bundled with jøkul
  • Add font lisence and usage documentation

Setup CI

  • Select CI provider
  • Initial setup of CI
  • Run build on CI
  • Run tests on CI
  • Publish to npm

Minified css as part of css output

  • Terser
  • PostCss

Needs to be added to build job. Terser to uglify and minify js, and postcss with autoprefixer and minification for css.

Components: Buttons - Desktop size

Bigger button for desktop. The original button has 17 px text size. Increase to 22px body size for desktop and 56 px (?) button height. Increased padding must be harmonized with the original button.

Need for Primary, Secondary and Tertiary buttons.

Dropdown implementation is not accessible

Describe the bug
When using a VoiceOver in chrome/safari it is not possible to access dropdown menu options.
When tab navigating, there is no focused state indicating that you can open the dropdown menu.
Normal dropdown tab navigation doesn't work.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.