1.83.2 • Published 6 months ago

@sebgroup/green-core v1.83.2

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
6 months ago

Install

yarn install @sebgroup/green-core

# or use npm
npm install @sebgroup/green-core

Use

There are three main ways you can use Green Core:

  • With Lit
  • With Angular
  • With React

But that said, the components in Green Core are just regular Web Components, so you can use them with or without any framework.

Using Lit

import { css, customElement, LitElement } from 'lit'

// Transitional styles applies the current 2016 design language to the components
import * as ButtonStyles from '@sebgroup/green-core/components/button/button.trans.styles.js'
// This custom `html` template literal tag from Green Core extends the default `lit-html` tag to handle element version scoping.
import { html } from '@sebgroup/green-core/scoping'

// Import the components that you need
import '@sebgroup/green-core/components/button/index.js'

@customElement('my-app')
export class MyApp extends LitElement {
  static styles = css``

  connectedCallback() {
    super.connectedCallback()

    // Register transitional styles to get SEB's current visual design
    ButtonStyles.register()
  }

  render() {
    return html`<gds-button>Click me!</gds-button>`
  }
}

Using Angular

Angular has support for using web components directly in the template. To enable it, you need to do the following:

Add the CUSTOM_ELEMENTS_SCHEMA in the module where you plan to use the components. It is recommended to add this as locally as possible, only on the moduls/components where you need it, and not in the app module.

You also need the NggCoreWrapperModule from @sebgroup/green-angular.

In your module:

import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
import { NggCoreWrapperModule } from '@sebgroup/green-angular/src/lib/shared'

@NgModule({
    // Add the NggCoreWrapperModule to the `imports` array
    imports: [NggCoreWrapperModule],
    // Add the CUSTOM_ELEMENTS_SCHEMA to the `schemas` array
    schemas: [CUSTOM_ELEMENTS_SCHEMA],
})

In your component:

import '@sebgroup/green-core/components/button/index.js'

// Transitional styles
import * as ButtonStyles from '@sebgroup/green-core/components/button/button.trans.styles.js'

ButtonStyles.register()

Use the webcomponent in your template with the *nggCoreElement directive.

In your template:

<gds-button *nggCoreElement>Click me!</gds-button>

The *nggCoreElement directive comes from the NggCoreWrapperModule you imported above. It has the same pupose as the custom html template tag mentioned in the Lit example above: It handles custom element scoping for you.

Using React

In most cases, we already exort React wrappers for these components from the @sebgroup/green-react package. In those cases you can just use those. But you can also easily create your own wrappers using @lit/react.

Here is an example:

import React from 'react'
import { createComponent } from '@lit/react'

import { GdsButton } from '@sebgroup/green-core/component/button/index.js'
import * as ButtonStyles from '@sebgroup/green-core/components/button/button.trans.styles.js'
import { getScopedTagName } from '@sebgroup/green-core/scoping'

ButtonStyles.register()

export const Button = createComponent({
  tagName: getScopedTagName('gds-button'),
  elementClass: GdsButton,
  react: React,
  events: { onClick: 'click' }, // Event callbacks need to be explicitly mapped to DOM events
})

Then you can just use <Button /> like a regular React component.

Documentation

Check out the Storybook (@sebgroup/core) for components and documentation.

1.79.0

7 months ago

1.56.0

1 year ago

1.82.0

6 months ago

1.67.0

10 months ago

1.67.1

10 months ago

1.67.2

9 months ago

1.67.3

9 months ago

1.70.0

9 months ago

1.70.1

8 months ago

1.55.0

1 year ago

1.57.0

1 year ago

1.60.0

1 year ago

1.83.0

6 months ago

1.83.1

6 months ago

1.60.1

1 year ago

1.83.2

6 months ago

1.68.0

9 months ago

1.68.1

9 months ago

1.68.2

9 months ago

1.68.3

9 months ago

1.68.4

9 months ago

1.68.5

9 months ago

1.71.0

8 months ago

1.71.1

8 months ago

1.71.2

8 months ago

1.58.0

1 year ago

1.61.0

12 months ago

1.69.0

9 months ago

1.69.1

9 months ago

1.69.2

9 months ago

1.69.3

9 months ago

1.69.4

9 months ago

1.72.0

8 months ago

1.59.0

1 year ago

1.59.1

1 year ago

1.62.0

11 months ago

1.62.2

11 months ago

1.62.1

11 months ago

1.62.4

11 months ago

1.62.3

11 months ago

1.62.5

11 months ago

1.73.0

8 months ago

1.50.0

1 year ago

1.63.0

11 months ago

1.63.1

10 months ago

1.63.2

10 months ago

1.51.0

1 year ago

1.74.0

8 months ago

1.74.1

8 months ago

1.76.2

8 months ago

1.76.3

7 months ago

1.64.0

10 months ago

1.75.0

8 months ago

1.52.0

1 year ago

1.80.0

7 months ago

1.65.0

10 months ago

1.65.1

10 months ago

1.65.2

10 months ago

1.53.0

1 year ago

1.76.0

8 months ago

1.76.1

8 months ago

1.78.0

7 months ago

1.78.1

7 months ago

1.55.1

1 year ago

1.81.0

7 months ago

1.66.0

10 months ago

1.66.1

10 months ago

1.54.1

1 year ago

1.77.0

7 months ago

1.54.0

1 year ago

1.48.1

1 year ago

1.49.1

1 year ago

1.49.0

1 year ago

1.48.0

1 year ago

1.46.2

1 year ago

1.46.1

1 year ago

1.47.1

1 year ago

1.47.0

1 year ago

1.46.0

1 year ago

1.45.3

1 year ago

1.45.2

1 year ago

1.45.1

1 year ago

1.45.0

1 year ago

1.44.8

1 year ago

1.44.9

1 year ago

1.44.10

1 year ago

1.44.2

1 year ago

1.44.4

1 year ago

1.44.3

1 year ago

1.44.6

1 year ago

1.44.5

1 year ago

1.44.7

1 year ago

1.44.1

1 year ago

1.44.0

1 year ago

1.43.1

1 year ago

1.43.0

1 year ago

1.43.3

1 year ago

1.43.2

1 year ago

1.43.4

1 year ago

1.42.0

1 year ago

1.37.0

1 year ago

1.37.1

1 year ago

1.39.0

1 year ago

1.40.0

1 year ago

1.40.1

1 year ago

1.36.0

1 year ago

1.38.0

1 year ago

1.38.1

1 year ago

1.41.1

1 year ago

1.41.0

1 year ago

1.41.3

1 year ago

1.41.2

1 year ago

1.41.4

1 year ago

1.33.1

1 year ago

1.35.0

1 year ago

1.21.0

2 years ago

1.21.1

2 years ago

1.25.0

1 year ago

1.23.0

1 year ago

1.21.2

2 years ago

1.29.0

1 year ago

1.27.0

1 year ago

1.32.0

1 year ago

1.30.0

1 year ago

1.34.0

1 year ago

1.20.1

2 years ago

1.22.0

2 years ago

1.20.2

2 years ago

1.22.3

2 years ago

1.26.0

1 year ago

1.22.4

1 year ago

1.22.1

2 years ago

1.24.0

1 year ago

1.22.2

2 years ago

1.28.1

1 year ago

1.22.7

1 year ago

1.22.8

1 year ago

1.22.5

1 year ago

1.28.0

1 year ago

1.22.6

1 year ago

1.33.0

1 year ago

1.31.0

1 year ago

1.20.0

2 years ago

1.19.0

2 years ago

1.18.1

2 years ago

1.18.0

2 years ago

1.17.0

2 years ago

1.16.0

2 years ago

1.15.1

2 years ago

1.15.0

2 years ago

1.14.1

2 years ago

1.14.0

2 years ago

1.12.0

2 years ago

1.11.0

2 years ago

1.10.0

2 years ago

1.9.2

2 years ago

1.9.1

2 years ago

1.9.0

2 years ago

1.8.0

2 years ago

1.7.0

2 years ago

1.6.0

2 years ago

1.5.1

2 years ago

1.5.0

2 years ago

1.4.6

2 years ago

1.4.5

2 years ago

1.4.4

2 years ago

1.4.3

2 years ago

1.4.2

2 years ago

1.4.1

2 years ago

1.4.0

2 years ago

1.3.0

2 years ago

1.2.4

2 years ago

1.2.3

2 years ago

1.2.2

2 years ago

1.2.1

2 years ago

1.2.0

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago

1.0.0-beta.18

2 years ago

1.0.0-beta.17

2 years ago

1.0.0-beta.16

2 years ago

1.0.0-beta.15

2 years ago

1.0.0-beta.14

2 years ago

1.0.0-beta.13

2 years ago

1.0.0-beta.12

2 years ago

1.0.0-beta.11

2 years ago

1.0.0-beta.10

2 years ago

1.0.0-beta.9

2 years ago

1.0.0-beta.8

2 years ago

1.0.0-beta.4

2 years ago