diff --git a/src/components.d.ts b/src/components.d.ts index ec34b03..506c4d2 100644 --- a/src/components.d.ts +++ b/src/components.d.ts @@ -62,6 +62,7 @@ export namespace Components { "issuer": string; "logoSrc"?: string; "name": string; + "organization"?: string; } interface DDefinition { "definition": string; @@ -108,6 +109,9 @@ export namespace Components { "type": 'text' | 'password' | 'email' | 'number'; "value": string; } + interface DList { + "gap": 2 | 4 | 8; + } interface DLoading { "loading": boolean; "message": string; @@ -314,6 +318,12 @@ declare global { prototype: HTMLDInputElement; new (): HTMLDInputElement; }; + interface HTMLDListElement extends Components.DList, HTMLStencilElement { + } + var HTMLDListElement: { + prototype: HTMLDListElement; + new (): HTMLDListElement; + }; interface HTMLDLoadingElement extends Components.DLoading, HTMLStencilElement { } var HTMLDLoadingElement: { @@ -392,6 +402,7 @@ declare global { "d-heading": HTMLDHeadingElement; "d-info-led": HTMLDInfoLedElement; "d-input": HTMLDInputElement; + "d-list": HTMLDListElement; "d-loading": HTMLDLoadingElement; "d-logo": HTMLDLogoElement; "d-organizations": HTMLDOrganizationsElement; @@ -461,6 +472,7 @@ declare namespace LocalJSX { "issuer"?: string; "logoSrc"?: string; "name"?: string; + "organization"?: string; } interface DDefinition { "definition"?: string; @@ -511,6 +523,9 @@ declare namespace LocalJSX { "type"?: 'text' | 'password' | 'email' | 'number'; "value"?: string; } + interface DList { + "gap"?: 2 | 4 | 8; + } interface DLoading { "loading"?: boolean; "message"?: string; @@ -569,6 +584,7 @@ declare namespace LocalJSX { "d-heading": DHeading; "d-info-led": DInfoLed; "d-input": DInput; + "d-list": DList; "d-loading": DLoading; "d-logo": DLogo; "d-organizations": DOrganizations; @@ -602,6 +618,7 @@ declare module "@stencil/core" { "d-heading": LocalJSX.DHeading & JSXBase.HTMLAttributes; "d-info-led": LocalJSX.DInfoLed & JSXBase.HTMLAttributes; "d-input": LocalJSX.DInput & JSXBase.HTMLAttributes; + "d-list": LocalJSX.DList & JSXBase.HTMLAttributes; "d-loading": LocalJSX.DLoading & JSXBase.HTMLAttributes; "d-logo": LocalJSX.DLogo & JSXBase.HTMLAttributes; "d-organizations": LocalJSX.DOrganizations & JSXBase.HTMLAttributes; diff --git a/src/components/avatar/avatar.css b/src/components/avatar/avatar.css index 80d2dcd..ff6fc48 100644 --- a/src/components/avatar/avatar.css +++ b/src/components/avatar/avatar.css @@ -1,5 +1,5 @@ :host { - @apply inline-flex items-center justify-center relative overflow-hidden h-10 w-10 bg-surface rounded-full shrink-0; + @apply inline-flex items-center justify-center relative overflow-hidden h-10 w-10 bg-accent rounded-full shrink-0; } :host span { diff --git a/src/components/avatar/avatar.tsx b/src/components/avatar/avatar.tsx index 65141a8..f97986b 100644 --- a/src/components/avatar/avatar.tsx +++ b/src/components/avatar/avatar.tsx @@ -11,7 +11,6 @@ export class Avatar { @Prop({ reflect: true }) size?: Size = 'm'; @Prop({ reflect: true }) shape?: Shape = 'round'; @Prop({ reflect: true }) src?: string; - @State() error: boolean = false; render() { diff --git a/src/components/credential-service/credential-services.stories.ts b/src/components/credential-service/credential-services.stories.ts index 145e336..3145cf8 100644 --- a/src/components/credential-service/credential-services.stories.ts +++ b/src/components/credential-service/credential-services.stories.ts @@ -3,7 +3,7 @@ import type { Components } from '../../components.js'; const meta = { title: 'Design System/Molecule/CredentialService', - render: args => ``, + render: args => ``, } satisfies Meta; export default meta; diff --git a/src/components/credential-service/d-credential-service.tsx b/src/components/credential-service/d-credential-service.tsx index 57f1c9a..640d39a 100644 --- a/src/components/credential-service/d-credential-service.tsx +++ b/src/components/credential-service/d-credential-service.tsx @@ -9,6 +9,7 @@ export class DCredentialService { @Prop() name: string; @Prop() issuer: string; @Prop() logoSrc?: string; + @Prop() organization?: string; @Prop() description?: string; @Prop({ reflect: true }) href?: string; @@ -19,6 +20,7 @@ export class DCredentialService {
{this.name} + {this.organization} {this.issuer}
diff --git a/src/components/credential-service/readme.md b/src/components/credential-service/readme.md index e518f96..72c3b8e 100644 --- a/src/components/credential-service/readme.md +++ b/src/components/credential-service/readme.md @@ -7,14 +7,14 @@ ## Properties -| Property | Attribute | Description | Type | Default | -| ------------- | -------------- | ----------- | -------- | ------------ | -| `description` | `description` | | `string` | `undefined` | -| `href` | `href` | | `string` | `undefined` | -| `issuer` | `issuer` | | `string` | `undefined` | -| `issuerLabel` | `issuer-label` | | `string` | `'Issuer_L'` | -| `logoSrc` | `logo-src` | | `string` | `undefined` | -| `name` | `name` | | `string` | `undefined` | +| Property | Attribute | Description | Type | Default | +| -------------- | -------------- | ----------- | -------- | ----------- | +| `description` | `description` | | `string` | `undefined` | +| `href` | `href` | | `string` | `undefined` | +| `issuer` | `issuer` | | `string` | `undefined` | +| `logoSrc` | `logo-src` | | `string` | `undefined` | +| `name` | `name` | | `string` | `undefined` | +| `organization` | `organization` | | `string` | `undefined` | ## Dependencies diff --git a/src/components/credential-service/test/d-credential-service.spec.tsx b/src/components/credential-service/test/d-credential-service.spec.tsx index 6db4436..65ac43b 100644 --- a/src/components/credential-service/test/d-credential-service.spec.tsx +++ b/src/components/credential-service/test/d-credential-service.spec.tsx @@ -15,6 +15,7 @@ describe('d-credential-service', () => {
+
diff --git a/src/components/list/d-list.css b/src/components/list/d-list.css new file mode 100644 index 0000000..5d4e87f --- /dev/null +++ b/src/components/list/d-list.css @@ -0,0 +1,3 @@ +:host { + display: block; +} diff --git a/src/components/list/d-list.tsx b/src/components/list/d-list.tsx new file mode 100644 index 0000000..f76d53d --- /dev/null +++ b/src/components/list/d-list.tsx @@ -0,0 +1,20 @@ +import { Component, Host, Prop, h } from '@stencil/core'; + +@Component({ + tag: 'd-list', + styleUrl: 'd-list.css', + shadow: true, +}) +export class DList { + @Prop() gap: 2 | 4 | 8 = 2; + + render() { + return ( + +
+ +
+
+ ); + } +} diff --git a/src/components/list/list.stories.ts b/src/components/list/list.stories.ts new file mode 100644 index 0000000..7c06545 --- /dev/null +++ b/src/components/list/list.stories.ts @@ -0,0 +1,31 @@ +import { DList } from './d-list'; +import { Meta, StoryObj } from '@storybook/html'; + +const meta = { + title: 'Design System/Atoms/List', + render: args => + ` + + + + `, +} satisfies Meta; + +export default meta; +type Story = StoryObj; + +export const Default: Story = { + args: {}, +}; + +export const WithGap4: Story = { + args: { + gap: 4, + }, +}; + +export const WithGap8: Story = { + args: { + gap: 8, + }, +}; diff --git a/src/components/list/readme.md b/src/components/list/readme.md new file mode 100644 index 0000000..6701f20 --- /dev/null +++ b/src/components/list/readme.md @@ -0,0 +1,17 @@ +# d-list + + + + + + +## Properties + +| Property | Attribute | Description | Type | Default | +| -------- | --------- | ----------- | ------------- | ------- | +| `gap` | `gap` | | `2 \| 4 \| 8` | `2` | + + +---------------------------------------------- + +*Built with [StencilJS](https://stenciljs.com/)* diff --git a/src/components/list/test/d-list.e2e.ts b/src/components/list/test/d-list.e2e.ts new file mode 100644 index 0000000..0cd7d9f --- /dev/null +++ b/src/components/list/test/d-list.e2e.ts @@ -0,0 +1,11 @@ +import { newE2EPage } from '@stencil/core/testing'; + +describe('d-list', () => { + it('renders', async () => { + const page = await newE2EPage(); + await page.setContent(''); + + const element = await page.find('d-list'); + expect(element).toHaveClass('hydrated'); + }); +}); diff --git a/src/components/list/test/d-list.spec.tsx b/src/components/list/test/d-list.spec.tsx new file mode 100644 index 0000000..7753b77 --- /dev/null +++ b/src/components/list/test/d-list.spec.tsx @@ -0,0 +1,20 @@ +import { newSpecPage } from '@stencil/core/testing'; +import { DList } from '../d-list'; + +describe('d-list', () => { + it('renders', async () => { + const page = await newSpecPage({ + components: [DList], + html: ``, + }); + expect(page.root).toEqualHtml(` + + +
+ +
+
+
+ `); + }); +}); diff --git a/src/components/page-description/d-page-description.css b/src/components/page-description/d-page-description.css index 5d4e87f..e2e6bac 100644 --- a/src/components/page-description/d-page-description.css +++ b/src/components/page-description/d-page-description.css @@ -1,3 +1,4 @@ :host { display: block; + @apply pb-8 pt-1 } diff --git a/src/components/page-description/d-page-description.tsx b/src/components/page-description/d-page-description.tsx index 7c7b513..d02d7d0 100644 --- a/src/components/page-description/d-page-description.tsx +++ b/src/components/page-description/d-page-description.tsx @@ -11,8 +11,10 @@ export class DPageDescription { render() { return ( - - {this.title} + + + {this.title} +

{this.description}

diff --git a/src/components/page-description/test/d-page-description.spec.tsx b/src/components/page-description/test/d-page-description.spec.tsx index 6f1c9f1..b8e4e4c 100644 --- a/src/components/page-description/test/d-page-description.spec.tsx +++ b/src/components/page-description/test/d-page-description.spec.tsx @@ -8,7 +8,7 @@ describe('d-page-description', () => { html: ``, }); expect(page.root).toEqualHtml(` - +