scania-digital-design-system / tegel Goto Github PK
View Code? Open in Web Editor NEWTegel Design System
Home Page: https://tegel.scania.com
License: MIT License
Tegel Design System
Home Page: https://tegel.scania.com
License: MIT License
Functionality
Currently there only exists multi row select, however, it would be nice to also have single row selection in line with the Tegel docs: https://tegel.scania.com/components/table
In my case I have a data table with 3-4 actions a user can perform. Each action triggers a unique flow, so multi select doesn't make sense in this regard. Being able to single select one row and then select the correct action to take from the data table toolbar is the flow that is desired.
See https://tegel.scania.com/components/table (Single row selection)
See https://tegel.scania.com/components/table (Single row selection)
No response
https://tegel.scania.com/components/table
Functionality
When using datepicker ,right now, there is an event called tdsonchange
, so when clicking and switch date it will trigger on change.
In the picture we want to trigger on change only when click within the green square, not the arrows also
We have a scenario when you switch date it will load data, for example from 8 jan to 9 jan, which does work with current solution.
But the problem is that when you lets say switch month with the arrows on top. That also triggers on change event which will load the date for next month. We only want to trigger on change when clicking a picked date(day), not when switch between month.
In the picture we want to trigger on change only when click within the green square, not the arrows also
Maybe add a seperate event, TdsOnChangeDay, that we can listen to, instead of regular on change event.
Another solution would be that you send in the current event, what is being clicked, so if you click a day or the arrows on the top it will send in the event that data, and we can build a condition around it at least.
We would like only to trigger change on when the user clicks on the dates not on any of the buttons around the datepicker for loading data
Prefer soon :)
No response
No response
Design
There is an issue with the Cell Single component in Figma, when you select Size as "Compact" and Col divider as "Left & right". The right "Divider Vertical" doesn't change it's position when changing the cell width.
To make it work I have to detach the component and make the changes myself. Then I lose the ability to easily change the state of the component.
For "Divider Vertical" (the one in the right side of the cell) the following needs to be done:
No response
No response
No response
Design
A standard progress bar that can be used to indicate to the users as they work on step-by-step task based on the instruction received from a system function. Good to have percentage as an option.
We have a picking solution for line feeding where user needs to pick articles based on the instructions from the application. Would be good to have a progress indicator to encourage and have the user informed of the overall progress.
No response
No response
No response
https://carbondesignsystem.com/components/progress-bar/usage/
Functionality
Hello Development support - Tegel,
I want to report two issues when trying to implementing tds-inline-tabs in our Angular project:
Dynamic Indexing Support: I am facing issues with dynamically handling the active TabIndex, especially when tabs may not always be visible due to different conditions (if-statements). This hinders us to create dynamic tabs that adapts to our application's changing data.
The event provided when the tab changes is limited to selectedTabIndex. For a more flexible handling of tab changes, events, such as the selectedTabName, would be beneficial as well. This would improve the flexibility of tab components.
selected-index property binding: I've identified that the selected-index property binding in Angular components within the Tegel library doesn't work. The property binding does not seem to update the selected tab based on the bound property value.
These changes would be a great benefit for us, not just now but for other components as well.
Thanks a lot!
By supporting dynamic indexing and event handling (like selectedTabName), our application can offer scenarios where the visibility and relevance of tabs can change based on user actions or data conditions.
For a more flexible handling of tab changes, events, such as the selectedTabName, would be beneficial as well.
No response
No response
No response
@scania/tegel-react 1.4.0
Chrome
React
React
No response
No response
Component x should be titled with controls.
Add warning/error message
Functionality
In sdds-table-body we currently load the table information using the 'body-data' attribute. This allows with a multiselect a way to the end user that the value can be selected.
Using an API, we save this information, and when the next time the user is tries to fetch the selected rows we can populate the table and mark their previously selected choices as a clicked checkbox.
We could have a 'selected-body-data' where I can pass the rows which are selected
We currently do this already by using shadowRoot to mark the selected rows, but on low CPU/slow internet situations it fails to work as the shadowRoot for the individual rows are not ready and we try to mark them as selected. Only possible means is to keep a long enough timeout which seems to be a bad solution going forward as the customer may have to wait a lot of time.
I would like an attribute like 'data-selected-rows' or 'selected-body-data' which could allow me to tell the rows which are selected out of all the rows on the table.
As this issue happened on slow internet/slow CPU and i have a custom solution using shadowRoot which is not so good a programmer experience as it could be functionality which could be entirely in the web component.
No response
No response
Functionality
Hi guys, not a big issue but I saw you updated the node version.
with the node 20 you no longer need dotenv as dependencies.
you can read a bit more here: https://dev.to/cjreads665/nodejs-2060-say-goodbye-to-dotenv-2ijl
make dependency array as clean as possible :)
No response
No response
No response
No response
Functionality
We want to be able to position the tegel tooltip component to a different space in relation to its associated reference element,
Currently the tooltip has the offsets predefined, it opens up with a space of 8 between the tooltip and the reference element and it considers the vertical top position 0 of the browser bar when calculating if the content of the tooltip fits in the viewport
allow developers to pass different numbers to the offset properties of the popover core through teh tds-tooltip component's props
We would like the tooltip to appear with a narrower space between it and the reference element (4 instead of 8) and set the top position to be the height of the navbar in order for the tooltip to consider it when calculating if the content fits between the reference element and the navbar and not appear on top or under the navigation element
No response
No response
@scania/tegel: 1.3.3
Chrome
Angular
Angular 16
compactDesign
prop on the tds-table
component to true
.disablePadding
prop on the tds-body-cell
to true
.Result: The padding is still applied to the cell.
<tds-table [compactDesign]="true">
<tds-table-header>
<tds-header-cell
cellKey="description"
cellValue="Description"
></tds-header-cell>
</tds-table-header>
<tds-table-body>
<tds-table-body-row>
<tds-body-cell
cellKey="description"
cellValue="Description"
[disablePadding]="true"
></tds-body-cell>
</tds-table-body-row>
</tds-table-body>
</tds-table>
In the dev console, it can be observed that the compact styling overrides the no-padding styling.
After applying the disablePadding
prop to the cell I would expect the cell not to have padding.
None
Functionality
I would like the Datetime component to have a labelPosition propetry so you can position the label as how you want it. There exists a label but it seems to be positioned outside.
We are replacing Angular Material components with the Tegel ones and the angular material datetime has a labelPosition property.
No response
labelPosition as exists in eg textfield or dropdown
Before week 27
No response
Functionality
As we have a limited ammount of types of buttons, when we have components that work as a dashboard and allow the user to take many actions, with just primary/secondary/ghost options, the experience is very poor.
The need for organizing similar actions into groups and simplify the user interface.
No response
No response
No response
No response
No response
@scania/[email protected]
Chrome
Plain HTML
No response
filter
using the controlsThe dropdown should never open when it is disabled, no matter the variant/type.
No response
@scania/components
Chrome
Angular
No response
Add an sdds-textfield with an icon in the sdds-suffix slot.
Set this textfield to read only state.
See as both icons overlap.
My suggestion would be adding a prop to disable the read only icon if needed.
Add/Copy screenshot here
Icons shouldn't overlap.
Add warning/error message
No response
@scania/components
@scania/[email protected]
Chrome
Angular
Angular 15
The text should not conflict with the label inside z-index
Add warning/error message
Functionality
One utility class that would be really nice to add is outline: none !important;
(maybe more outline options)
Instead of adding outline: none on a
button { outline: none !improtant }
sdds-outline-rm {
outline: none;
}
Should be easy to add in the utility classes https://tegel.scania.com/development/utility-classes
Easy way for maintaining a outline option in CSS
No response
No response
No response
@scania/tegel 0.0.8
Edge (Chromium)
Angular
Angular 15
Added the sdds-toggle component in the html. Tried adding an eventlistener in the .ts ngOnInit(). Got a compile time error "property does not exist on type 'Event" on the event.detail.toggleid and on event.detail.checked. Property detail.
const toggleElement = document.querySelector("sdds-toggle");
toggleElement.addEventListener("sddsToggle", (event) => {
console.log("Toggle with id: ", event.detail.toggleId, " is ", event.detail.checked);
});
Add/Copy screenshot here
detail should be recognized.
error TS2339: Property 'detail' does not exist on type 'Event'.
143 console.log("Toggle with id: ", event.detail.toggleId, " is ", event.detail.checked);
@scania/[email protected]
Chrome
Angular
Angular 16
<tds-slider min="0" max="500" step="1" value="50" ticks="4" show-tick-numbers snap label="Range" tooltip ngDefaultControl #rangeSlider [(ngModel)]="radius" controls thumb-size="sm" ></tds-slider>
Component "tds-slider" should not log any errors.
cpoi.component.html:72 TypeError: Cannot read properties of null (reading 'getBoundingClientRect')
No response
Functionality
The components such as cards/tooltip/loaders don't have a loading state, thus they appear from nothing; sometimes some of the data which needs to be populated in these is awaited from the backend or is received asynchronously.
There should be a way to have a loading state while the data is getting populated. Examples shimmer effect used by facebook or pulsing animation by linkedin for example.
This is a modern UX pattern which if available in our design system will be great for Scania's own platforms plus other external developers who intend to use this design system. This will be a good UX where network data is slow.
Corporate UI had a generic loader which could be installed in the places, but modern UXs have the skeletal content of the expected data ad not a generic loader. This could be a good start.
A better UX
No response
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.