3.0.0-beta.56 • Published 10 days ago

@telekom/scale-components v3.0.0-beta.56

Weekly downloads
-
License
MPL-2.0
Repository
github
Last release
10 days ago

Scale

Scale is the digital design system for Telekom products and experiences. By default, Scale is built to align with our corporate brand and design but allows for easy customization to fit your particular product. It helps you build your digital products faster and create superior experiences with ease. With production-ready components for code and design, a central library, and comprehensive documentation, Scale has everything you need. Currently, Scale is an open beta.

Scale components are customizable and written in TypeScript. If you want to represent the corporate identity of a separate brand, you need to replace the Telekom default theme (see detailed instructions below).

Scale badge License: MPL-2.0 GitHub code size in bytes GitHub repo size

Welcome to Scale

Access the comprehensive documentation for Scale on Telekom Brand & Design.

Are you a designer?

We provide a comprehensive Sketch library for designers building Telekom software. All components in the Sketch library are also available to your developers as code, making the handover very smooth and straightforward. For more information, access the Scale website with your Brand & Design credentials.

Customizing Scale for open source software

Although the code for Scale is free and available under the MPL 2.0 License, Deutsche Telekom fully reserves all rights to the Telekom brand. To prevent users from getting confused about the source of a digital product or experience, there are strict restrictions on using the Telekom brand and design, even when built into code that we provide. For any customization other than explicitly for the Telekom, you must replace the Deutsche Telekom default theme.

To use Scale as open source software and customize it with a neutral theme, please follow the instructions for our open source version.

Open source version

By following the instructions for the open source version, you obtain source code/packages that use a neutral theme and are fully covered by the MPL-2.0 License.

Setup with NPM

npm install @telekom/scale-components-neutral@next

To install the version prior to dark mode, do npm install @telekom/scale-components-neutral (without @next)

To use the components, you need to load a CSS file and some JavaScript. The CSS file includes the fonts and design tokens.

Setup with plain HTML

<link
  rel="stylesheet"
  href="node_modules/@telekom/scale-components-neutral/dist/scale-components/scale-components.css"
/>
<script
  type="module"
  src="node_modules/@telekom/scale-components-neutral/dist/scale-components/scale-components.esm.js"
></script>

Setup with a bundler or ES modules

import '@telekom/scale-components-neutral/dist/scale-components/scale-components.css';
import {
  applyPolyfills,
  defineCustomElements,
} from '@telekom/scale-components-neutral/loader';

applyPolyfills().then(() => {
  defineCustomElements(window);
});

NPM packages

Package nameDescription
@telekom/scale-components-neutralStencil components
@telekom/scale-components-react-neutralComponent proxies for React
@telekom/scale-components-vue-neutral*Component proxies for Vue
@telekom/scale-components-angular-neutral*Component proxies for Angular
@telekom/scale-design-tokens-neutral**Design tokens

*deprecated since v3.0.0-beta.X — Please use @telekom/scale-components-neutral directly, support for custom elements is already great.

**deprecated since v3.0.0-beta.100 in favor of @telekom/design-tokens

Using the source code directly

If you want to use the source code, remove the following folders. These folders contain all the protected brand and design assets of the Telekom and are not available under the MPL-2.0 License:

FolderContent
assetsScale key visual
packages/components-sketch/Sketch generator templates
packages/components/src/components/telekomTelekom components
packages/components/src/telekomTelekom fonts & icons
packages/components/src/html/telekomTelekom code examples
packages/design-tokens/src/telekomTelekom design tokens
packages/visual-tests/Visual tests
storybook-vueTelekom branded storybook

Telekom version

Please note that the use of the Telekom brand and design assets – including but not limited to the logos, the color magenta, the typeface and icons, as well as the footer and header components – are not available for free use and require Deutsche Telekom's express permission for use in commerce.

Setup with NPM

Install the Scale component library in your project with NPM or Yarn:

npm install @telekom/scale-components@next

To install the version prior to dark mode, do npm install @telekom/scale-components (without @next)

Setup with plain HTML

<link
  rel="stylesheet"
  href="node_modules/@telekom/scale-components/dist/scale-components/scale-components.css"
/>
<script
  type="module"
  src="node_modules/@telekom/scale-components/dist/scale-components/scale-components.esm.js"
></script>

Setup with a bundler or ES modules

import "@telekom/scale-components/dist/scale-components/scale-components.css";
import { applyPolyfills, defineCustomElements } from "@telekom/scale-components/loader";

applyPolyfills().then(() => {
  defineCustomElements(window);
});

NPM packages

Package nameDescription
@telekom/scale-componentsStencil components
@telekom/scale-components-reactComponent proxies for React
@telekom/scale-components-vue*Component proxies for Vue
@telekom/scale-components-angular*Component proxies for Angular
@telekom/scale-design-tokens**Telekom design tokens

*deprecated since v3.0.0-beta.X — Please use @telekom/scale-components directly, support for custom elements is already great. Check out the info relative to frameworks in the documentation.

**deprecated since v3.0.0-beta.100 in favor of @telekom/design-tokens

Using the source code directly

Simply clone/download this repository and use the source code as is.

Monorepo packages overview

Package nameDescription
componentsStencil components
components-angularComponent proxies for Angular (auto-generated)
components-reactComponent proxies for React (auto-generated)
components-sketchComponent templates for Sketch generation (auto-generated)
components-vueComponent proxies for Vue (auto-generated)
design-tokenDesign tokens
generator-sketchSketch generator
html-to-sketchComponent template Sketch conversion utilities
storybook-vueOur Storybook
visual-testsVisual snapshot testing

Contributing

Code of conduct

This project has adopted the Contributor Covenant in version 2.0 as our code of conduct. Please see the details in our CODE_OF_CONDUCT.md. All contributors must abide by the code of conduct.

How to contribute

We always welcome and encourage contributions and feedback. For more information on how to contribute, the project structure, as well as additional information, see our Contribution Guidelines. By participating in this project, you agree to abide by its Code of Conduct at all times.

Contributors

Our commitment to open source means that we are enabling - even encouraging - all interested parties to contribute and become part of its developer community.

Licensing

Copyright (c) 2021 Egor Kirpichev and contributors, Deutsche Telekom AG

Licensed under the Mozilla Public License 2.0 (MPL-2.0) (the "License"); you may not use this file except in compliance with the License.

You may obtain a copy of the License by reviewing the file LICENSE in the repository.

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the LICENSE for the specific language governing permissions and limitations under the License.

Local development

Get dependencies

yarn

Build assets

yarn build

Start development mode

yarn start

Component development

Useful commands

See the scripts section inside package.json for a list of all available commands

Testing

CommandDescription
yarn test --specRun all tests
yarn test --spec component-nameRun all tests for a specific component
yarn test --spec --watchRun all tests in watch mode
yarn test --spec -uRun all tests and update snapshots
yarn test --spec--coverageRun all tests and show coverage
yarn test --e2eRun all visual tests

Some test commands can be combined e.g. yarn test -u --coverage

Format & lint

CommandDescription
yarn formatRun formatter on all supported files
yarn lintRun linter for all supported files

Before you push

In order to satisfy the CI pipeline it is advised to run some scripts before pushing your changes to remote. Here some crucial ones:

yarn format yarn lint yarn test --spec --e2e -u

If any of the above commands throw an error, please fix the errors before pushing to remote


Find Telekom Scale on GitHub.

3.0.0-beta.154

10 days ago

3.0.0-beta.152

4 months ago

3.0.0-beta.153

2 months ago

3.0.0-beta.151

7 months ago

3.0.0-beta.150

9 months ago

3.0.0-beta.149

9 months ago

3.0.0-beta.148

9 months ago

3.0.0-beta.147

10 months ago

3.0.0-beta.146

11 months ago

3.0.0-beta.145

11 months ago

3.0.0-beta.144

12 months ago

3.0.0-beta.138

1 year ago

3.0.0-beta.139

1 year ago

3.0.0-beta.137

1 year ago

3.0.0-beta.143

1 year ago

3.0.0-beta.141

1 year ago

3.0.0-beta.142

1 year ago

3.0.0-beta.140

1 year ago

3.0.0-beta.136

1 year ago

3.0.0-beta.135

1 year ago

3.0.0-beta.134

2 years ago

3.0.0-beta.132

2 years ago

3.0.0-beta.133

2 years ago

3.0.0-beta.131

2 years ago

3.0.0-beta.130

2 years ago

3.0.0-beta.127

2 years ago

3.0.0-beta.128

2 years ago

3.0.0-beta.129

2 years ago

3.0.0-beta.123

2 years ago

3.0.0-beta.124

2 years ago

3.0.0-beta.125

2 years ago

3.0.0-beta.126

2 years ago

3.0.0-beta.121

2 years ago

3.0.0-beta.122

2 years ago

3.0.0-beta.120

2 years ago

3.0.0-beta.118

2 years ago

3.0.0-beta.119

2 years ago

3.0.0-beta.116

2 years ago

3.0.0-beta.117

2 years ago

3.0.0-beta.114

2 years ago

3.0.0-beta.115

2 years ago

3.0.0-beta.112

2 years ago

3.0.0-beta.113

2 years ago

3.0.0-beta.111

2 years ago

3.0.0-beta.56

2 years ago

3.0.0-beta.110

2 years ago

3.0.0-beta.109

2 years ago

3.0.0-beta.107

2 years ago

3.0.0-beta.108

2 years ago

3.0.0-beta.55

2 years ago

3.0.0-beta.105

2 years ago

3.0.0-beta.106

2 years ago

3.0.0-beta.103

3 years ago

3.0.0-beta.104

3 years ago

3.0.0-beta.101

3 years ago

3.0.0-beta.102

3 years ago

3.0.0-beta.100

3 years ago

3.0.0-beta.54

3 years ago

3.0.0-beta.53

3 years ago

3.0.0-beta.51

3 years ago

3.0.0-beta.52

3 years ago

3.0.0-beta.50

3 years ago

3.0.0-beta.40

3 years ago

3.0.0-beta.41

3 years ago

3.0.0-beta.42

3 years ago

3.0.0-beta.43

3 years ago

3.0.0-beta.44

3 years ago

3.0.0-beta.45

3 years ago

3.0.0-beta.46

3 years ago

3.0.0-beta.47

3 years ago

3.0.0-beta.48

3 years ago

3.0.0-beta.49

3 years ago

3.0.0-beta.28

3 years ago

3.0.0-beta.29

3 years ago

3.0.0-beta.30

3 years ago

3.0.0-beta.31

3 years ago

3.0.0-beta.32

3 years ago

3.0.0-beta.33

3 years ago

3.0.0-beta.34

3 years ago

3.0.0-beta.35

3 years ago

3.0.0-beta.36

3 years ago

3.0.0-beta.37

3 years ago

3.0.0-beta.38

3 years ago

3.0.0-beta.39

3 years ago

3.0.0-beta.27

3 years ago

3.0.0-beta.22

3 years ago

3.0.0-beta.23

3 years ago

3.0.0-beta.24

3 years ago

3.0.0-beta.25

3 years ago

3.0.0-beta.26

3 years ago

3.0.0-beta.21

3 years ago

3.0.0-beta.19

3 years ago

3.0.0-beta.20

3 years ago

3.0.0-beta.18

3 years ago

3.0.0-beta.17

3 years ago

3.0.0-beta.16

3 years ago

3.0.0-beta.15

3 years ago

3.0.0-beta.14

3 years ago

3.0.0-beta.12

3 years ago

3.0.0-beta.13

3 years ago

3.0.0-beta.10

3 years ago

3.0.0-beta.11

3 years ago

3.0.0-beta.9

4 years ago

3.0.0-beta.8

4 years ago

3.0.0-beta.3

4 years ago

3.0.0-beta.2

4 years ago

3.0.0-beta.5

4 years ago

3.0.0-beta.4

4 years ago

3.0.0-beta.7

4 years ago

3.0.0-beta.6

4 years ago

3.0.0-beta.1

4 years ago