2.1.1 • Published 1 year ago

shoelace-style-angular v2.1.1

Weekly downloads
51
License
MIT
Repository
github
Last release
1 year ago

ShoelaceStyleAngular

test: passed tests with @shoelace-style/shoelace: 2.4.0 tests with angular: 14.2.2 license:

Shoelace and Angular

src/app/app.module.ts

import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from "@angular/core";
import { BrowserModule } from "@angular/platform-browser";

import { ShoelaceStyleModule } from "shoelace-style-angular";
// required if use ReactiveFormsModule (formControlName etc.)
import { ShoelaceFormControlsModule } from "shoelace-style-angular/form-controls";

@NgModule({
    imports: [BrowserModule, ShoelaceStyleModule, ShoelaceFormControlsModule],
    // required 'cause shoelace based on Web Components:
    schemas: [CUSTOM_ELEMENTS_SCHEMA],
})
export class AppModule {}

Assets

For using shoelace assets, add to config:

{
    "glob": "**/*.*",
    "input": "node_modules/@shoelace-style/shoelace/dist",
    "output": "/assets/shoelace"
}

and to src/main.ts:

import { setBasePath } from "@shoelace-style/shoelace";

setBasePath("/assets/shoelace");

Provide shoelace components and styles to index.html:

<link rel="stylesheet" href="/assets/shoelace/themes/light.css" />

Example

Pay attention to use two-way bindings for sl-dialog open attribute!

import { Component } from "@angular/core";
import { FormBuilder, Validators } from "@angular/forms";

@Component({
    selector: "app-greeter",
    template: `
        <form [formGroup]="form" (submit)="isDialogOpen = true">
            <sl-input
                label="Enter your name"
                formControlName="username"
            ></sl-input>

            <sl-button type="submit" [disabled]="form.invalid">
                Say Hello
            </sl-button>
        </form>

        <sl-dialog label="Greetings" [(open)]="isDialogOpen">
            Hello,
            {{ form.get("username")!.value }}!
        </sl-dialog>
    `,
})
export class GreeterComponent {
    form = this.formBuilder.group({
        username: ["World", Validators.required],
    });

    isDialogOpen = false;

    constructor(private formBuilder: FormBuilder) {}
}
2.1.1

1 year ago

2.0.5

2 years ago

2.0.3

2 years ago

2.0.2

2 years ago

2.0.4

2 years ago

1.0.26

2 years ago

1.0.25

2 years ago

2.0.1

2 years ago

1.0.24

2 years ago

2.0.0

2 years ago

1.0.29

2 years ago

1.0.28

2 years ago

1.0.27

2 years ago

1.0.30

2 years ago

1.0.19

2 years ago

1.0.18

2 years ago

1.0.17

2 years ago

1.0.22

2 years ago

1.0.21

2 years ago

1.0.20

2 years ago

1.0.23

2 years ago

1.0.16

2 years ago

1.0.15

2 years ago

1.0.13

2 years ago

1.0.11

2 years ago

1.0.9

2 years ago

1.0.5

3 years ago

1.0.3

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago

0.7.47

3 years ago

0.7.45

3 years ago

0.7.43

3 years ago

0.7.37

3 years ago

0.7.39

3 years ago

0.7.41

3 years ago

0.7.33

3 years ago

0.7.35

3 years ago

0.7.31

3 years ago

0.7.29

3 years ago

0.7.25

3 years ago

0.7.27

3 years ago

0.0.0

3 years ago

0.7.23

3 years ago

0.7.21

3 years ago

0.7.19

3 years ago

0.7.17

3 years ago

0.7.15

3 years ago

0.7.13

3 years ago

0.7.11

3 years ago

0.7.9

3 years ago

0.7.7

4 years ago

0.7.5

4 years ago

0.7.3

4 years ago

0.7.2

4 years ago

0.7.1

4 years ago

0.7.0

4 years ago