Giter VIP home page Giter VIP logo

taiga-ui's People

Contributors

atharvchandratre avatar ddubrava avatar dependabot[bot] avatar drogenix avatar fynnfeldpausch avatar github-actions[bot] avatar gyxman avatar ikatsuba avatar ikurilov avatar karimovdev avatar krollikroddzer avatar makkaronis4e avatar marsibarsi avatar mdlufy avatar millersvt avatar n-barsukov avatar nikitadubinsk avatar nsbarsukov avatar renovate-bot avatar spicy-tomato avatar splincode avatar sviat9440 avatar taiga-family-bot avatar tinkoff-bot avatar victorientardif avatar vidhirambhia avatar vladimirpotekhin avatar volvachev avatar waterplea avatar zarghamkhandev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

taiga-ui's Issues

[FEATURE] a lazy loading image inside the Avatar component

๐Ÿš€ Feature request

Is your feature request related to a problem?

I'm always frustrated when an image is not loading lazily. Like an image inside the Avatar component.

Describe the solution you'd like

All images inside the Avatar component loaded lazily OR loaded using the 'loading="lazy"' property

Describe alternatives you've considered

Nope

Additional context

Colleagues, can you be trusted? :-)

Good day!
The question is in the headline without a catch.

I follow your project, I really like it.

I am looking for a library for Angular and yours is very encouraging.

Libraries that I looked at have a number of disadvantages:

  1. a small number of components;
  2. long-term elimination of errors;
  3. "curve" design.

I would like to use one ecosystem to build the interface.

I like Quasar (https://quasar.dev/), but he Vue.

And I'm interested in: NX - Angular - NestJs

Question: are you planning Taiga UI - complete ecosystem?
If so, what are the dates?

Thank you :-)

[FEATURE] Switch to REM units

๐Ÿš€ Feature request

Is your feature request related to a problem?

With REM units it would be possible to respect user size preferences and scale app on different devices

Describe the solution you'd like

All sizes, except borders and such should be switched from PX to REM.

InputTime user interface

๐Ÿš€ Feature request

What is a good UI for InputTime?

The drop-down list seems to be a pretty good solution when you have just a few time options. However the drop-down list doesn't seem to be a good fit for a generic time input that should accept all possible times of a day - or in my use-case every 5 minutes between 8:00am and 11:00pm.

So this feature request is to think about a good UI for entering times. Here are some existing solutions:

  • analog-like https://cutt.ly/Xh8Ri8h, but doesn't work as good as I initially thought... maybe it's because the user has to click/touch twice in whitespace (no real target) to turn the clock hand in the right direction
  • sliders https://cutt.ly/6h8Ryrx, but they are fiddly / unprecise
  • multi-columns https://cutt.ly/0h8Rcet, but visually not pleasing
  • arrows above/below hours/minutes https://cutt.ly/Oh8RgUs, this is currently my favourite type and works for touch input as well as mouse/keyboard

I hope someone with background in human/machine interaction and visually pleasing interfaces has a ground-breaking idea for a better InputTime visualisation... but the one with the arrows above/below hours and minutes might be a good starting point.

[BUG] InputDate immediately closes on mobile

๐Ÿž Bug report

Description

On mobile, the datepicker of InputDate immediately closes after it has been opened.

Reproduction

Open the datepicker on mobile at https://taiga-ui.dev/tui-input-date by clicking on the calendar icon.

Expected behavior

The datepicker stays open and is usable.

Versions

  • OS: Android
  • Browser: Chrome
  • Angular: 9
  • Package: @taiga-ui/core

Additional context

calendar.mp4

๐Ÿ›  - Investigate other mask options

๐Ÿš€ Feature request

Is your feature request related to a problem?

Last release of angular2-text-mask was about 3 years ago. Currently this project is not maintained. Using this library results in a build-time warning:
Warning: /node_modules/@taiga-ui/kit/ivy_ngcc/fesm2015/taiga-ui-kit-components-input-range.js depends on 'angular2-text-mask'. CommonJS or AMD dependencies can cause optimization bailouts.
For more info see: https://angular.io/guide/build#configuring-commonjs-dependencies

There is a possibility to switch off this warning. But I'm always frustrated when something can cause optimization bailouts. =)

Describe the solution you'd like

Maybe it would be better to migrate to ngx-mask (https://github.com/JsDaddy/ngx-mask). This project looks alive.

Describe alternatives you've considered

Additional context

[BUG] SVG XSS

๐Ÿž Bug report

Description

SVG icons not rendering, throwing XSS warning and instead of icons printing SafeValue must use [property]=binding: (see https://g.co/ng/security#xss) on the page.

What am I missing?

Reproduction

app.module.ts

// ...
providers: [
    {
      provide: Sanitizer,
      useClass: NgDompurifySanitizer,
    }
  ],
// ...

my.component.ts

// ...
import { tuiIconPin, tuiIconCheckList } from '@taiga-ui/icons';
// ...
readonly mapIcon = tuiIconPin;
readonly lstIcon = tuiIconCheckList;
// ...

my.component.html

<!-- ... -->
<tui-tabs>
      <button tuiTab
              type="button">
        <tui-svg [src]="mapIcon"
                 class="tui-space_right-2"></tui-svg>
        Maps
      </button>
      <button tuiTab
              type="button">
        <tui-svg [src]="lstIcon"
                 class="tui-space_right-2"></tui-svg>
        Settings
      </button>
    </tui-tabs>
<!-- ... -->

Expected behavior

Rendered icons :)

Versions

  • OS: [e.g. iOS]
  • Browser: Chrome
  • Angular: 11
  • Taiga: 2.2.1

[FEATURE] - Demo: Show all modules used in each example

๐Ÿš€ Feature request

Is your feature request related to a problem?

If one quickly wants to reproduce a bug from the demo page. Or play around. Developers intend to copy and paste the HTML, TS, and Style content into StackBlitz.

Most of the time there are module error because other modules were used in the same example.

Describe the solution you'd like

Would be nice to know all the modules involved in each example. This will help devs understand how modular the Taiga UI approach really is.

Or even better, a StackBlitz for each example ๐Ÿ˜„

Additional context

Screenshot from Angular Material:
image

๐Ÿš€ - Use providers to inject default configurations

๐Ÿš€ Feature request

Is your feature request related to a problem?

I would like to adjust the default values for several inputs on different components. In our project for instance, we would like to use the checkbox component in size l. Given the current implementation, we need to add the size input to every checkbox. It would be nice to globally define the default values via a configuration provider. Similar functionality exists on Angular Material and other frameworks.

Describe the solution you'd like

import {TUI_CHECKBOX_DEFAULT_OPTIONS} from '@taiga-ui/kit';
...
{
  imports: [TuiRootModule, ...],
  providers: [{
    provide: TUI_CHECKBOX_DEFAULT_OPTIONS,
    useValue: {
      size: 'l'
    }
  }],
  ...
}
export class AppModule {}

Describe alternatives you've considered

The only alternative currently is to set the size input on every checkbox.

Additional context

Ideally, this would be available for every component and not only for checkboxes. We can help provide PRs if you like the idea.

Ability to specify a prefix for InputNumber field

๐Ÿš€ Feature request

Is your feature request related to a problem?

No

Describe the solution you'd like

Ability to show currency symbol at the beginning of a number input field rather than just a suffix.

Additional context

The InputNumber component currently displays currency symbol at the end using the [postfix] property, which depending on the country this might be fine, but would be great to have the ability to specify a [prefix] property value where this would be fixed to the left and data entry would occur after this value.

Ionic-angular Compatibility.

Hi, this is a really great project and I would like to implement it in future apps.

What is the the current compatibility status for ionic-angular?

[BUG] Broken icons in InputPhoneInternational

๐Ÿž Bug report

Description

InputPhoneInternational component page on documentation site has broken pics for icons, representing some countries like Russia, USA. But for some countries icons are not broken.
image

Reproduction

  1. Go to https://taiga-ui.dev/tui-input-phone-international
  2. See broken icons on the right of the input and in select.

Expected behavior

The icons should be visible

Versions

  • OS: MacOS Catalina 10.15.7
  • Browser Chrome 87.0.4280.141 (also Safari 14)

[FEATURE] Demo: Sync the opened doc page and the navigation side panel

๐Ÿš€ Feature request

Is your feature request related to a problem?

If one opens the given link to the doc page or search and chose some stuff (component/directive/...) or just reload the page the side panel will be not synced with the opened doc page. Sometimes it may be really hard to find related pages inside the side panel since it contains a lot of links and groups.

Describe the solution you'd like

Would be nice to see synced side panel to easily find related stuff especially when there are exist a few types, eg inputs, charts, etc

[FEATURE] InternationalInputPhone i18n

InternationalInputPhone has a default list of countries with names in Russian. It would be better to have it in Eng with a russian version as an alternative

[FEATURE] i18n package

Let's make a package with providers for different languages. It will translate all Taiga UI components with one simple import

How to use:

import {RUSSIAN_PROVIDER} from '@taiga-ui/i18n';
...
{
  imports: [TuiRootModule, ...],
  providers: [RUSSIAN_PROVIDER],
  ...
}
export class AppModule {}

[FEATURE] Multi-token for DIALOGS

Sometimes we want to be able to have different implementations of dialogs in the same app. We should make DIALOGS a multi-token and have services contain DIALOG implementation inside.

[FEATURE] Improve type checking for tuiLet

๐Ÿš€ Improve type checking for tuiLet

Is your feature request related to a problem?

Angular language service doesn't provide type checkng for value produced by expression *tuiLet="someValue$ | async as value". The same expression with ngIf works just fine.

Describe the solution you'd like

I'm guessing tuiLet is missing ngTemplateContextGuard as described here

Additional context

The problem occurs in VS Code with Angular Language Service extension.

[FEATURE] File icons

๐Ÿš€ Feature request

Is your feature request related to a problem?

For a given file type I would like to display a little icon to make the file easily recognizable. Think of a folder listing on the browser or a simple list of files that could be prefixed with such a component.

Describe the solution you'd like

A simple icon component wrapper that receives the MIME type as an input and displays the respective icon. A set of icons is predefined (e.g. for image, video, audio, text, ...) bit additional icons can be configured using a provider.

[FEATURE] Contextual button colors

๐Ÿš€ Feature request

Is your feature request related to a problem?

We are in need of contextual buttons that indicate success or danger.

Describe the solution you'd like

Buttons appearance mode should also support "Success" and "Error" and use the colors already defined in the current colors set.

Additional context

success
error

[FEATURE] Allow tuiPure access this in methods

Sometimes we have something like readonly items we got from DI. They will never change so they will not spoil pureness of methods if we use them. However tuiPure currently has no access to this in methods, which is also inconsistent with its getters implementation. We should add access to this.

[FEATURE] Progress Bar / Ring

๐Ÿš€ Feature request

Describe the solution you'd like

There is no progress indicator like a progress bar or ring in this library. This is quite common in other libraries and should also be implemented in taiga-ui.

Describe alternatives you've considered

The slider can be used with read only, but this is not realy a solution.

Additional context

This is a good example:
https://ng.ant.design/components/progress/en

image

[BUG] - Demo - DarkMode bug.

๐Ÿž Bug report

Description

My default gets changed to night mode (because of browser settings).

When I switch to day mode. Not all text is visible.

Reproduction

Browser should be on dark mode.
getting-started

Switch to light. The below happens:
image
Then
image

I did realize after investigation that this only happens when:

export const changeDetection = ChangeDetectionStrategy.OnPush;

Expected behavior

Versions

  • OS: Windows
  • Browser Chrome
  • Angular Demo

Additional context

The below attribute on the links never changed:
image

[REFACTOR] Translate tests to english

๐Ÿš€ Refactoring request

Is your feature request related to a problem?

I would like to contribute to the tests, but most of them are written in Russian.

Describe the solution you'd like

Tests should be translated to english.

[FEATURE] Using other icons

๐Ÿš€ Feature request

We need to add a guide on how to use different icon set. Perhaps a whole section on customisation with instructions on different aspects, such as theme, custom dialogs, etc.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.