Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
9ffc612
Changed github pages folder
tobre6 Oct 10, 2025
4d6b02f
(chore): Fixing github pages malformed directory structure
Oct 10, 2025
fe193a9
feat(carousel): add carousel component #151
RometPastak Oct 17, 2025
21b872f
feat(carousel): add carousel #151
RometPastak Oct 20, 2025
2c78dda
chore: remove react issue templates #154
airikej Oct 20, 2025
574651b
Update dependabot.yml
tobre6 Oct 20, 2025
244ce06
chore: add storybook/a11y to addons for Storybook #160 (#162)
airikej Oct 20, 2025
9fea3e3
feat(carousel): code improvement #151
RometPastak Oct 20, 2025
d5dbabb
feat(carousel): add tests #151
RometPastak Oct 20, 2025
0e0f539
feat(carousel): add more tests #151
mart-sessman Oct 21, 2025
e138f9a
feat(carousel): add figma link to story file #151
mart-sessman Oct 21, 2025
61ebe4d
feat(carousel): story improvements #151
mart-sessman Oct 21, 2025
4bad166
feat(carousel): fix test #151
mart-sessman Oct 21, 2025
ef1abe9
Merge pull request #153 from TEDI-Design-System/feat/151-carousel
mart-sessman Oct 21, 2025
c863d87
chore(release): 3.0.0-rc.2
semantic-release-bot Oct 21, 2025
b55cfd3
Update issue templates
tobre6 Oct 21, 2025
2b0313d
chore: include source files for VS Code TypeScript #152 (#161)
airikej Oct 22, 2025
caea228
feat(community-select): npm i + Fix dropdown opening with wrong scrol…
Oct 22, 2025
829cba4
feat(community-select): Add possibility to direct dropdown width with…
Oct 22, 2025
f466269
feat(community-modal): npm install -> Fix modal stories, add inputId …
Oct 22, 2025
d26fbe2
feat(community-select): npm install again #640
Oct 22, 2025
2e262be
feat(general): angular 20 support #163 (#165)
airikej Oct 23, 2025
5c00bd9
chore(release): 3.0.0-rc.3
semantic-release-bot Oct 23, 2025
041960d
chore(deps-dev): bump lint-staged from 16.2.3 to 16.2.4 (#155)
dependabot[bot] Oct 28, 2025
edcb373
chore(deps-dev): bump angular-eslint from 19.8.1 to 20.4.0 (#156)
dependabot[bot] Oct 28, 2025
ecbf834
chore(deps-dev): bump chromatic from 11.29.0 to 13.3.0 (#157)
dependabot[bot] Oct 28, 2025
c5776ad
chore(deps-dev): bump readdirp from 3.6.0 to 4.1.2 (#158)
dependabot[bot] Oct 28, 2025
274343d
feat(various-changes): change translation Lehe suurus -> Kuva Korraga
artur-langl Oct 28, 2025
e701aa6
feat(various-changes): add missing exports from file-dropzone
artur-langl Oct 28, 2025
5022e3b
feat(various-changes): remove padding and margin around the arrow for…
artur-langl Oct 28, 2025
f4f1317
feat(various-changes): fix card body not listening to padding inputs …
artur-langl Oct 28, 2025
dee2ff7
feat(various-changes): better template for card padding story
artur-langl Oct 28, 2025
f0ac7eb
Merge pull request #168 from erkidorbek/fix/community-modal-fix-stories
pesarv Oct 29, 2025
3945e5a
Merge pull request #169 from artur-langl/feat/various-changes
pesarv Oct 29, 2025
c863745
feat(community-select): Revert package-lock (seems to be bug after np…
Oct 29, 2025
51bfac7
Merge pull request #167 from erkidorbek/feature/640-community-select-…
pesarv Oct 29, 2025
ba87f80
fix(publish): run npm i to fix npm ci to fix publish
artur-langl Oct 30, 2025
7686719
Merge pull request #171 from artur-langl/fix/publish
pesarv Oct 30, 2025
3cac7bd
chore(release): 3.0.0-rc.4
semantic-release-bot Oct 30, 2025
ac9c70f
fix(tooltip): fix tooltip positioning #22
mart-sessman Oct 30, 2025
0fb5eda
fix(tooltip): fix merge conflicts #22
mart-sessman Oct 30, 2025
ac1b1c2
Merge pull request #172 from TEDI-Design-System/fix/22-tooltip-positi…
mart-sessman Oct 30, 2025
7e28928
Merge commit 'ef1abe9e487933299f4577829d6f9c607a72828e' into tmp-main
airikej Oct 30, 2025
a96b7dc
chore: fixing broken history #000
airikej Oct 30, 2025
dc00737
chore(release): 3.1.0-tmp-main.1
semantic-release-bot Oct 30, 2025
b88285c
chore: fix history #000
airikej Oct 30, 2025
9811cb1
Merge branch 'tmp-main' of https://github.com/TEDI-Design-System/angu…
airikej Oct 30, 2025
a4fe1e7
chore: fix prerelese #000
airikej Oct 30, 2025
a2c449f
chore(release): 3.1.0-rc.1
semantic-release-bot Oct 30, 2025
b2cfdbc
Merge commit '2e262be2678f43aae366a676e43414034b658b60' into tmp-main
airikej Oct 30, 2025
6ab1610
chore(release): 3.1.0-rc.2
semantic-release-bot Oct 30, 2025
8ca66a0
Merge commit '7686719c1eb35e0b59b91c6dc3c13befde8592bf' into tmp-main
airikej Oct 30, 2025
83ff8d2
chore(release): 3.1.0-rc.3
semantic-release-bot Oct 30, 2025
71ed15b
Merge commit 'ac1b1c2ba114d3d9193af8c7e863ddec88a55113' into tmp-main
airikej Oct 30, 2025
0764e1b
Merge branch 'tmp-main' of https://github.com/TEDI-Design-System/angu…
airikej Oct 30, 2025
1100e15
chore(release): 4.0.0-rc.1
semantic-release-bot Oct 30, 2025
3090e98
chore: fix semantic release and workflows back to rc #000
airikej Oct 30, 2025
9f8dc40
chore(release): 4.0.0-rc.1
semantic-release-bot Oct 30, 2025
c8a0a44
chore(release): 4.0.0-rc.1
semantic-release-bot Oct 30, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions .github/ISSUE_TEMPLATE/angular-community-component-issue.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
name: Angular Community component issue
about: Use this template if the issue is on the Angular Community side, bug, enhancement
etc
title: "[Component name]:"
labels: Angular, community
title: "[Component_name]:"
labels: community
assignees: ''

---
Expand All @@ -13,3 +13,5 @@ assignees: ''
## Solution

## Examples and information

## Project
6 changes: 4 additions & 2 deletions .github/ISSUE_TEMPLATE/angular-tedi-ready-component-issue.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
name: Angular TEDI-READY component issue
about: Use this template if the issue is on the Angular TEDI-READY side, bug, enhancement
etc
title: "[Component name]:"
labels: Angular, tedi-ready
title: "[Component_name]:"
labels: tedi-ready
assignees: mart-sessman

---
Expand All @@ -13,3 +13,5 @@ assignees: mart-sessman
## Solution

## Examples and information

## Project
2 changes: 2 additions & 0 deletions .github/ISSUE_TEMPLATE/general-issue-template.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,5 @@ assignees: ''
## Solution

## Examples and information

## Project
15 changes: 0 additions & 15 deletions .github/ISSUE_TEMPLATE/react-community-component-issue.md

This file was deleted.

15 changes: 0 additions & 15 deletions .github/ISSUE_TEMPLATE/react-tedi-ready-component-issue.md

This file was deleted.

14 changes: 0 additions & 14 deletions .github/ISSUE_TEMPLATE/wishlist-template.md

This file was deleted.

12 changes: 6 additions & 6 deletions .github/workflows/deploy-github-pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ jobs:
npm ci
npm run build:sb
mkdir -p compiled-storybook
mv dist/storybook-static compiled-storybook/
mv dist/storybook-static/* compiled-storybook/
- uses: actions/upload-artifact@v4
with:
name: ${{ strategy.job-index }}
Expand All @@ -78,13 +78,13 @@ jobs:
name: "Download artifacts"
with:
path: branches/
- name: Create public folder
- name: Create gpages folder
shell: bash
run: |
ls -la branches
mkdir public
mv .github/workflows/index.html ./public/index.html
cd public
mkdir gpages
mv .github/workflows/index.html ./gpages/index.html
cd gpages
branches=$(echo '${{ needs.build_matrix.outputs.json_branches }}' | jq -r '.[]')
valid_branches=""
i=-1
Expand All @@ -108,7 +108,7 @@ jobs:
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: ./public/
path: ./gpages/
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
2 changes: 1 addition & 1 deletion .storybook/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ const config: StorybookConfig = {
"../community/**/*.stories.@(js|jsx|mjs|ts|tsx)",
],
addons: [
"@storybook/addon-onboarding",
"@storybook/addon-essentials",
"@storybook/addon-interactions",
"@storybook/addon-a11y",
"@etchteam/storybook-addon-status",
"storybook-addon-pseudo-states",
"storybook-addon-angular-router",
Expand Down
148 changes: 135 additions & 13 deletions CHANGELOG.md

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,11 +1,4 @@
.tedi-card-content {
--_card-padding-vertical: var(--_card-padding);
--_card-padding-horizontal: var(--_card-padding);
--_card-padding-top: var(--_card-padding-vertical);
--_card-padding-bottom: var(--_card-padding-vertical);
--_card-padding-left: var(--_card-padding-horizontal);
--_card-padding-right: var(--_card-padding-horizontal);

display: block;
background-color: var(--_card-bg);
border: 1px solid var(--_card-border);
Expand Down
13 changes: 9 additions & 4 deletions community/components/cards/card/stories/card-story-templates.ts
Original file line number Diff line number Diff line change
Expand Up @@ -313,10 +313,15 @@ export const renderNestedCardsStory = () => {

export const renderCardPaddingsStory = () => {
return {
template: `<tedi-card padding="lg"
><tedi-card-content background="secondary" [padding]="{ left: 'xs' }"
>Card has lg padding. Card content has xs left padding.</tedi-card-content
></tedi-card
template: `
<tedi-card [padding]="{left:'xs', right: 'none', top: 'none'}">
<tedi-card-header [padding]="{top: 'lg'}">
Top LG
</tedi-card-header>
<tedi-card-content background="secondary">
Parent has left XS, right NONE, Top NONE.
</tedi-card-content>
</tedi-card
>`,
};
};
8 changes: 8 additions & 0 deletions community/components/cards/card/stories/card.stories.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,14 @@ export default {
spacing: "md",
},
argTypes: {
border: {
description: "Changes border color for card.",
},
padding: {
description: "Changes padding for card.",
control: "radio",
options: ["xs", "sm", "md", "lg", "none"],
},
borderless: {
description: "Removes border from card.",
control: "boolean",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,12 +48,15 @@
{{ file.label ?? file.name }}

@if (file && validateIndividually() && file.helper; as helper) {
<tedi-tooltip [className]="tooltipClasses(file)">
<tedi-tooltip
[className]="tooltipClasses(file)"
[position]="helper?.position || 'top'"
>
<tedi-tooltip-trigger>
<button tedi-info-button [disabled]="file.disabled"></button>
</tedi-tooltip-trigger>

<tedi-tooltip-content [position]="helper?.position || 'top'">
<tedi-tooltip-content>
{{ helper.text }}
</tedi-tooltip-content>
</tedi-tooltip>
Expand Down
3 changes: 3 additions & 0 deletions community/components/form/file-dropzone/index.ts
Original file line number Diff line number Diff line change
@@ -1 +1,4 @@
export * from "./file-dropzone.component";
export * from "./constants";
export * from "./types";
export * from "./utils";
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,11 @@
&:empty {
display: none;
}

.tedi-select__arrow {
margin: 0;
padding: 0;
}
}

.tedi-input-group__prefix {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@
<tedi-card
class="tedi-select__dropdown"
spacing="none"
[style.width.px]="dropdownWidth()"
[style.width]="!!dropdownWidth() ? dropdownWidth() + 'px' : 'auto'"
>
<tedi-card-content>
<ul
Expand Down
19 changes: 16 additions & 3 deletions community/components/form/select/multiselect.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,13 @@ export class MultiselectComponent
* @default true
*/
clearable = input<boolean>(true);
/**
* Optional element reference to calculate dropdown width from.
* If provided but null, dropdown will use auto width.
* If not provided, defaults to the host element width.
* @default undefined
*/
dropdownWidthRef = input<ElementRef | null>();
feedbackText = input<ComponentInputs<FeedbackTextComponent>>();

readonly specialOptionControls = specialOptionControls;
Expand All @@ -146,7 +153,7 @@ export class MultiselectComponent
triggerRef = viewChild(CdkOverlayOrigin, { read: ElementRef });
hostRef = inject(ElementRef);
options = contentChildren(SelectOptionComponent);
dropdownWidth = signal(0);
dropdownWidth = signal<number | null>(0);
disabled = signal(false);

optionGroups = computed(() => {
Expand Down Expand Up @@ -220,8 +227,14 @@ export class MultiselectComponent
}

private setDropdownWidth(): void {
const computedWidth =
this.hostRef?.nativeElement?.getBoundingClientRect()?.width ?? 0;
const widthRef = this.dropdownWidthRef();
if (widthRef === null) {
this.dropdownWidth.set(null);
return;
}

const element = widthRef?.nativeElement ?? this.hostRef?.nativeElement;
const computedWidth = element?.getBoundingClientRect()?.width ?? 0;
this.dropdownWidth.set(computedWidth);
}

Expand Down
59 changes: 59 additions & 0 deletions community/components/form/select/multiselect.stories.ts
Original file line number Diff line number Diff line change
Expand Up @@ -370,3 +370,62 @@ export const multiselectNoOptions: Story = {
},
}),
};

export const multiselectAutoWidthDropdown: Story = {
render: (args) => ({
template: `
<tedi-multiselect
[inputId]="inputId"
[placeholder]="placeholder"
[label]="label"
[feedbackText]="feedbackText"
[required]="required"
[state]="state"
[size]="size"
[multiRow]="multiRow"
[clearableTags]="clearableTags"
[selectAll]="selectAll"
[selectableGroups]="selectableGroups"
[clearable]="clearable"
[dropdownWidthRef]="null"
[disabled]="disabled"
>
<tedi-select-option value="option1" label="Option 1" />
<tedi-select-option value="option2" label="Option 2" />
<tedi-select-option value="option3" label="Option 3" />
<tedi-select-option value="option4" label="Option 4" />
<tedi-select-option value="option5" label="Option 5" />
</tedi-multiselect>
`,
props: {
...args,
},
}),
};

export const multiselectCustomWidthDropdown: Story = {
render: (args) => ({
template: `
<div #customWidthElement style="width: 400px; border: 1px solid black; padding: 8px; margin-bottom: 16px;">
This div sets the dropdown width to 400px
</div>
<tedi-multiselect
[inputId]="inputId"
[placeholder]="placeholder"
[label]="label"
[feedbackText]="feedbackText"
[dropdownWidthRef]="getElementRef(customWidthElement)"
>
<tedi-select-option value="option1" label="Option 1" />
<tedi-select-option value="option2" label="Option 2" />
<tedi-select-option value="option3" label="Option 3" />
<tedi-select-option value="option4" label="Option 4" />
<tedi-select-option value="option5" label="Option 5" />
</tedi-multiselect>
`,
props: {
...args,
getElementRef: (element: HTMLElement) => ({ nativeElement: element }),
},
}),
};
3 changes: 1 addition & 2 deletions community/components/form/select/select.component.html
Original file line number Diff line number Diff line change
Expand Up @@ -77,14 +77,13 @@
<tedi-card
class="tedi-select__dropdown"
spacing="none"
[style.width.px]="dropdownWidth()"
[style.width]="!!dropdownWidth() ? dropdownWidth() + 'px' : 'auto'"
>
<tedi-card-content>
<ul
[id]="listboxId"
class="tedi-select__options"
cdkListbox
cdkListboxUseActiveDescendant
[cdkListboxValue]="selectedOptions()"
(cdkListboxValueChange)="handleValueChange($event)"
>
Expand Down
4 changes: 2 additions & 2 deletions community/components/form/select/select.component.scss
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,6 @@

&__dropdown {
box-shadow: 0px 1px 5px 0px var(--alpha-20);
max-height: 300px;
overflow-y: auto;

@include mixins.responsive-styles(margin-top, form-field-outer-spacing);
@include mixins.responsive-styles(margin-bottom, form-field-outer-spacing);
Expand All @@ -60,6 +58,8 @@
&__options {
margin: 0;
padding: 0;
max-height: 300px;
overflow-y: auto;

&:focus .cdk-option-active {
background: var(--dropdown-item-hover-background);
Expand Down
Loading