tonysamperi / ngx-mat-timepicker Goto Github PK
View Code? Open in Web Editor NEWA true material timepicker
Home Page: https://tonysamperi.github.io/ngx-mat-timepicker
License: MIT License
A true material timepicker
Home Page: https://tonysamperi.github.io/ngx-mat-timepicker
License: MIT License
Describe the bug
When using the <ngx-mat-timepicker-field> the toggle icon is not at the center of the toggle button.
In the Image you can roughly see that the icon is not centered. the top of the icon touches the green line.
To Reproduce
simply using:
<ngx-mat-timepicker-field [defaultTime]="'11:11 AM'"></ngx-mat-timepicker-field>
or stackblitz
Expected behavior
The green line should intersect the icon in the middle. If that is the case the icon is centered!
Desktop (if execution):
** Versions
Describe the bug
When using picker placed in other dialog, closing it is causing ExpressionChangedAfterItHasBeenCheckedError
I've saw there is already some hack to solve other ExpressionChanged issue in the code btw but I think this is different issue.
To Reproduce
** Versions
When I display the time picker, the time dial is not correctly displayed; see the attached screenshots. If I add the following to my styles.scss, it helps but is still not perfect:
.mat-mdc-mini-fab {
background-color: rgba(0,0,0,0)!important;
color: black!important;
}
Am I doing something wrong?
Desktop (if execution):
** Versions
Describe the bug
I believe changes made to fix #49 made it more difficult to enter time with the keyboard.
To Reproduce
Stackblitz: https://stackblitz.com/github/cjohnston-nuvalence/ngx-mat-timepicker-keyboard
If I want to enter a time with "35" as the minutes by the keyboard, for example, there are a couple of ways to do it and each has issues.
All scenarios assume a timepicker with [enableKeyboardInput]="true"
set.
Scenario 1:
Scenario 2:
Scenario 3:
Expected behavior
In all scenarios the minutes should be set as 35
Desktop (if execution):
** Versions
Describe the bug
When keyboard input is enabled, it is possible to easily trigger a "InvalidDateTime" error in the input area
To Reproduce
[enableKeyboardInput]="true"
on a time picker.InvalidDateTime
errorInvalidDateTime
errorExpected behavior
No error when editing values via keyboard.
Desktop (if execution):
** Versions
Describe the bug
if you use ngx-mat-timepicker in lazy loading material dialog, it has wrong look.
To Reproduce
Steps to reproduce the behavior:
Desktop (if execution):
OS: [Windows]
Browser [e.g. chrome]
** Versions
Describe the bug
The documentation states to use ESC
input for NgxMatTimepickerComponent
for closing the timepicker by Esc-key.
Setting this input results in a compile error error NG8002: Can't bind to 'ESC' since it isn't a known property of 'ngx-mat-timepicker'.
.
Current behaviour is that the timepicker does not close when using the Esc-key,
Versions
Describe the bug
The time value that input manually instead of choosing from timepicker dialog will pass the time value as object but not string
which will hit the TypeError: time.split is not a function
To Reproduce
remove the readonly in html input and type the time value in input field.
Expected behavior
A string type time value should be able to pass to the ngx-mat-timepicker.js
Desktop (if execution):
** Versions
Describe the bug
Having a timepicker that appends to the input will still open a dialog in the middle of the screen with the buttons. The timepicker will not have a background either.
To Reproduce
<mat-form-field appearance="outline">
<mat-label>{{ item.label }}</mat-label>
<input type="text" matInput [ngxMatTimepicker]="timepicker" format="24"
[matTooltip]="item.toolTip" [required]="required" readonly [formControl]="formControlItem">
<!-- Clear Timefield -->
<button mat-icon-button matSuffix
*ngIf="formControlItem.value && !formControlItem.disabled && !required" (click)="onClear($event)">
<mat-icon>close</mat-icon>
</button>
<button mat-icon-button [disabled]="formControlItem.disabled" (click)="openFromIcon()" matSuffix>
<mat-icon>
watch_later_outlined
</mat-icon>
</button>
</mat-form-field>
<ngx-mat-timepicker [appendToInput]="true" #timepicker [append]></ngx-mat-timepicker>
import { NgxMatTimepickerComponent } from 'ngx-mat-timepicker/lib/components/ngx-mat-timepicker/ngx-mat-timepicker.component';
@ViewChild('timepicker') public timepicker: NgxMatTimepickerComponent;
/**
* Lets the user click on the icon in the input.
*/
public openFromIcon() {
if (!this.formControlItem.disabled){
this.timepicker.open();
}
}
/**
* Function to clear FormControl's value, called from the HTML template using the clear button
*
* @param $event - The Event's data object
*/
public onClear($event: Event) {
this.formControlItem.setValue(null);
}
Expected behavior
The timepicker should append to the input like it does in the demo of the original package.
https://agranom.github.io/ngx-material-timepicker/ Refer to the Append to input section.
Desktop (if execution):
** Versions
Additional context (optional)
I would like to request two features aswell.
NgxMatTimepickerComponent
and NgxMatTimepickerRef
from the public api, so it removes the need for a deep import.warn
or making the numbers accent
. Since the solution of the old package is not supported in yours.I'm currently working on an Ionic application (for desktop and tablet use) which mainly will be used outdoor and has an input assistance service helping the user will data inputs of all kinds by providing default values and reducing the amount of typing needed. This input assistance should be displayed consistently over all types of data (text fields, select lists, date inputs, time inputs, ...) in an aside window (I'm using the Material SideNav component for this).
The https://tiaguinho.github.io/material-community-components/timer-picker can be used directly without a popover or other kind of modal but is lacking some needed features which this one has. I.e. it is limited to 5 minutes steps and steps cannot be configured (e. g. 1 minute or 15 minutes). Those features are supported by this component, though.
So my request is a component which provides the UI to embed at the place where it is used in the markup. Basically it should contain everything inside the <div mat-dialog-content></div>
of ngx-mat-timepicker-dialog
plus related styles and logic.
Hello, I've got a question regarding one of the dependcies you are using. The smp-core-utils
What licence does this project have? The picker it self seems to be MIT. But your dependcy, which you seems to be the author as well, is not clear.
Could you shed some light regarding the licensing issue?
NOTE
Describe the bug
With Version 5.1.3 the ts-luxon version in the main package.json has been updated to ^4.2.1 ( https://github.com/tonysamperi/ngx-mat-timepicker/blob/master/package.json#L52 )
But in the package.json of the package that will be used for the npm package ngx-mat-picker it is still ^3.0.1 ( https://github.com/tonysamperi/ngx-mat-timepicker/blob/master/projects/ngx-mat-timepicker/package.json#L27 ), is that on purpose?
Additional context (optional)
The problem is, that we use Angular 15 with your package @ngx-tonysamperi/ts-luxon-date-adapter which uses also ^4.0.1 as peerDependency.
When we want to use the libraries together this leads to errors because of different versions of ts-luxon and incompatibilities of the DateTime classes / instances.
Describe the bug
Hi, I've configured internationalization like documentation, but one text stay in english.
I've do in app.module this : NgxMatTimepickerModule.setLocale('fr-FR')
(in the imports array)
Expected behavior
The text use arrows (⇅) to change the time
should adapt to selected language.
** Versions
Additional context
Sorry if you think it is not a bug.
In that case, could you tell me how to update this text ?
In my application, users are often importing data, so [defaultTime] works as an initial starting point. However there are occasions where they will want to update the time more than once in a session. If they select a new time [defaultTime] does not capture the time change. The documentation didn't seem to catch this scenario. From a very cursory overview of the code, I see a couple ways this could be addressed:
open()
to take a partial config object.If there is already a pretty simple way to accomplish this, enlighten me.
EDIT: While this is accomplishable through using ngx-mat-timepicker-field
, forcing the timepicker itself to be a form-control removes the user's agency to have this capability with their own easily configurable input styling.
Describe the bug
We are getting following error on runtime.
NullInjectorError: R3InjectorError(ZoneModule)[NgxMatTimepickerLocaleService -> NgxMatTimepickerLocaleService -> NgxMatTimepickerLocaleService -> NgxMatTimepickerLocaleService]: NullInjectorError: No provider for NgxMatTimepickerLocaleService!
Screenshots
Desktop (if execution):
** Versions
Does it support seconds?
Describe the bug
Assume a timepicker with [enableKeyboardInput]="true"
set.
In the hour input, when cursor is moved to the beginning and current value of input is 00, 01 or 02 [for 24h picker] when someone tries to enter e.g. 1, input value changes to Invalid DateTime
.
In the minutes input, when cursor is moved to the beginning and current value of input is 00, 01, 02, 03, 04, 05 when someone tries to enter e.g. 1, input value changes to Invalid DateTime
.
To Reproduce
Steps to reproduce the behavior:
Invalid DateTime
Expected behavior
Block user input, as in the rest of cases (e.g. 04 for hours in 12h mode)
Screenshots
Ad 2.
Ad 3.
Ad 4.
Ad 6.
Desktop:
**Versions
Additional context
Seems like for 12h picker and hours input the problem is with entering values: 1 and 2.
Seems like for 24h picker and hours input the problem is with entering values: 1,2 and 3.
Seems like for minutes input the problem is with entering values: 1-9.
Describe the bug
When trying out the 24h example (https://tonysamperi.github.io/ngx-mat-timepicker/) with format="24"
I get the error
- error TS2322: Type 'string' is not assignable to type 'number'
To Reproduce
https://angular-1rz8wv.stackblitz.io
Expected behavior
format should accept string instead of number
Desktop (if execution):
** Versions
Describe the bug
Issue is with "ngx-mat-timepicker-field" component when using for 24 hour format with no default value.
In 24 hour format with no default value when user increase/decrease the minute. Time is getting generated as 12:01 or 12:59. Which should not be the case, time should be generated as 00:01 or 00:59.
Steps to reproduce the behaviour:
Expected behaviour
For 24 hour format with no default value. When user is increase or decrease the minute the time should be generated as 00:01 or 00:59.
Desktop (if execution):
** Versions**
I'm trying to set the locale dynamically in my module:
{
provide: NGX_MAT_TIMEPICKER_LOCALE,
useExisting: LOCALE_ID
}
I'm getting the following error though:
ERROR in ./src/app/app.module.ts
Module not found: Error: Can't resolve 'ngx-mat-timepicker/lib/tokens/ngx-mat-timepicker-time-locale.token'
https://stackblitz.com/edit/angular-m9pxhu?file=src%2Fapp%2Fapp.module.ts
Could NGX_MAT_TIMEPICKER_LOCALE
be included in the package's exports to allow this to be supported or alternatively default to use LOCALE_ID
instead of en-US
?
Thanks!
Describe the bug
Getting Cannot parse time - NaN on Chrome with Angular 13
To Reproduce
Getting Cannot parse time - NaN on Chrome with Angular 13
Expected behavior
Desktop (if execution):
** Versions
Additional context (optional)
It's working in firefox only causing issue in chrome
Describe the bug
The design of the timepicker toggle, although seems analogous to how Google has designed their official datepicker toggle, does not look the same, especially when used side-by-side.
I understand a workaround is to create our own matSuffix
element, but based on the fact that the timepicker toggle is a public component and that the component is mostly similar to the datepicker toggle, I assume they would be able to be used the same way.
To Reproduce
See https://stackblitz.com/edit/ngx-mat-timepicker-rzjnxj?file=src/app/app.component.html
Expected behavior
The toggle to be similar (in size and behavior) to the official Material datepicker toggle. Specifically for behavior that the ripple would be much smaller than what is used for a mat-mini-fab
.
Desktop (if execution):
Versions
Additional context (optional)
If needed, I can make a pull request. However, I don't think it'll be very backwards compatible look-wise.
Describe the bug
With "appendToInput" attribute is true, after click 'OK' in the picker dialog, the time is correct shown on the input, but not in the picker if you open picker again.
To Reproduce
It's also happened in your demo site 'Append to input' block.
Expected behavior
The select time should be correct in picker as well.
Desktop (if execution):
** Versions
Describe the bug
The angular build is failing showing this error:
./node_modules/smp-core-utils/fesm2020/smp-core-utils.mjs:203:16-21 - Error: export 'first' (imported as 'first') was not found in 'rxjs' (possible exports: ArgumentOutOfRangeError, AsyncSubject, BehaviorSubject, ConnectableObservable, EMPTY, EmptyError, GroupedObservable, NEVER, Notification, NotificationKind, ObjectUnsubscribedError, Observable, ReplaySubject, Scheduler, Subject, Subscriber, Subscription, TimeoutError, UnsubscriptionError, VirtualAction, VirtualTimeScheduler, animationFrameScheduler, asapScheduler, asyncScheduler, bindCallback, bindNodeCallback, combineLatest, concat, config, defer, empty, forkJoin, from, fromEvent, fromEventPattern, generate, identity, iif, interval, isObservable, merge, never, noop, observable, of, onErrorResumeNext, pairs, partition, pipe, queueScheduler, race, range, scheduled, throwError, timer, using, zip)
To Reproduce
Just added ngx-mat-timepicker to the project and trying to build and test
Expected behavior
Build should be successful out of the box
** Versions
Describe the bug
When trying to change to 24 hour time in ngx-mat-timepicker-field <ngx-mat-timepicker-field [format]="24"></ngx-mat-timepicker-field>
the component doesn´t initialize successfully.
The error message shown in the js console is: ERROR Error: mat-form-field must contain a MatFormFieldControl
The bug cames from the code <mat-form-field class="period-select ngx-mat-timepicker__control--forth" [color]="color"> <mat-select [disabled]="disabled || isChangePeriodDisabled" *ngIf="format !== 24" (selectionChange)="changePeriod($event)" [ngModel]="period"> <mat-option *ngFor="let option of periods" [value]="option">{{option}}</mat-option> </mat-select> </mat-form-field>
in ngx-mat-timepicker-field.component.html (lines 30-38).
When format is set to 24 the mat-select component is not added to outer mat-form-field and so that mat-form-field ends with no control inside.
To fix it should move the *ngIf directive to parent mat-form-field
** Versions
Describe the bug
On a small screen (anything at 340 pixels wide or less) the clock face popup acquires a scroll bar and doesn't display properly. As this is a really good control to use on mobile devices, I would expect that the clock popup dialog would just stretch further out on the screen rather than have a maximum width and then get a scroll bar. I would expect that at the least this control would look nice on an iPhone 5 which has a pixel width of 320px. It looks like the control would naturely work on a device of 300px if the max-width limitation was removed. I don't expect it to work on anything less than 300px but I would think it should handle 320px at a minimum and I would suggest targeting 300px and larger to work.
The problem is caused by the element:
<div id="cdk-overlay-0" class="cdk-overlay-pane ngx-mat-timepicker-dialog" style="max-width: 80vw;position: static;">
See how it is setting the max-width to 80vw? That is causing the problem. If you just get rid of that then you can see it fixes the issue.
I don't know how you want to handle it but maybe adding the max-width as an input parameter to the main component directives?
To Reproduce
Use Google Chrome's "device toolbar" in the developer tools window and switch to other device views, like the iPhone 5. I would also recommend setting it to response and go through all of the pixels to watch what happens. You will notice that there are 2 points when the clock popup gets a scrollbar: anything at or less than 340px as well as between 381 pixels and 360 pixels wide. So go to the demo site https://tonysamperi.github.io/ngx-mat-timepicker/ and play with the device size emulator thing in google chrome to see what is going on.
Expected behavior
See the description of the bug. The expected behaviors is outlined there.
Other Info
See this link for a potential work around / description of the general problem with the cdk-overlay https://www.gitmemory.com/issue/angular/components/9823/528824405
Describe the bug
The timepicker dialog will always auto focus on the '00'/'12' button after it has been opened.
To Reproduce
Just open the any ngx-mat-timepicker
Expected behavior
Should not focus on any button
Screenshots
(The focus shadow at '00')
** Versions
Additional context (optional)
I suspect it is due to the cdkTrapFocus
and cdkTrapFocusAutoCapture
in the ngx-mat-timepicker-dialog.component.html
. Removing it will solve the issue.
Steps:
Expectation:
can the error be shown without user having to scroll?
Desktop (if execution):
** Versions
NOTE
Describe the bug
minimal value create error on consol when set the value below with the arrow and you can go below with the arrow
To Reproduce
Steps to reproduce the behavior:
1 define min on timepicker
2 go under the min with the arrow
Expected behavior
lock on min from the arrow and don't set error on console
Desktop (if execution):
** Versions
Describe the bug
If the input attached to the time picker componet is mannualy changed the NgxMatTimepickerDirective.UpdateValue fails with error. This also prevents the [(ngModel)] to work properly (or formControl ).
To Reproduce
Reproducable with the code in the demo: remove readonly="true" and add [disableClick]="true" (for convinience).
Changing the value in the input (mannually with out the picker) will trigger the described error.
Expected behavior
No error to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
** Versions
Extra context:
The value recieved by the directive is an event and not a string in the form "11:00"
Describe the bug
Missing dependency in latest version refuses to build the application.
To Reproduce
Run ng build
without having the smp-core-utils
dependency.
Expected behavior
The package should automatically install this dependency or not require it's installation.
Desktop (if execution):
** Versions
HI, thanks for maintaining this great repo all the time.
Found out that the install guide in readme.md is not updated:
npm i --save luxon ngx-mat-timepicker
(should be ts-luxon)
as well in the demo webpage which showing:
npm i @popperjs/core
npm i ngx-popperjs
Apart form this, any plan for making ts-luxon as part of the library dependency instead of as peer-dependency? It would be great just to do it like:
npm i --save ngx-mat-timepicker
without to worry install a wrong version of ts-luxon
Let me know if you need any helps from my side, tq
Steps to reproduce the behavior:
Expected behavior
Selected hour has to be the same as the "preview / hover" hour.
Actual behavior
Selected hour diverges from the "preview / hover" hour.
Versions
Additional context (optional)
The selected hour after click coincides with user's mouse. Which means that the problem is in the preview / hover projection.
Hi,
I was using this ngx-mat-timepicker-field, I found one unusual problem. If I keep hold the arrow svg then hours and minutes are not changing fast they are increasing only once when I leave the svg click. Please check below image for reference.
Expected - It should increase/decrease immediately till when I'm holding keys up/down svg. It should behave same as up and down keyboard arrow keys.
Kinda like this (Try to check inline timepicker and when you hover on hour and minute then arrow keys will come and try to hold arrow keys.
Thank you.
I don't know when this happened, but the picker has just stopped working. It looks like it may be related to the Chrome browser as it still works for me in Firefox and Edge. The version of Chrome that I am using is the latest version (Version 110.0.5481.78 (Official Build) (64-bit)). It seems to still be working in Firefox and Edge.
You can even see this on the demo (https://tonysamperi.github.io/ngx-mat-timepicker/). Just try picking any time under "Picker with 12h format". It will say "Invalid DateTime".
NOTE: This is also happening with https://agranom.github.io/ngx-material-timepicker/ which I believe this project was forked from?
Describe the bug
When I try to use the picker in a standalone component, I am unable to set the locale, i got the error:
Type 'ModuleWithProviders<NgxMatTimepickerModule>' is not assignable to type 'any[] | Type<any>
** Versions
Describe the bug
I recently integrated your package to one of our applications and got stuck by #34. I was using v13.0.0, and I updated to v13.2.2 to try fixing the problem. I noticed the publication has latest-ng13 tag, but build gives me this error:
./node_modules/ngx-mat-timepicker/fesm2015/ngx-mat-timepicker.mjs - Error: Module build failed (from ./node_modules/@angular-devkit/build-angular/src/babel/webpack-loader.js):
TypeError: Cannot create property 'message' on string 'x:\workspaces\trinity\esaportal-front\node_modules\ngx-mat-timepicker\fesm2015\ngx-mat-timepicker.mjs: This application depends upon a library published using Angular version 14.0.1, which requires Angular version 14.0.0 or newer to work correctly.
Consider upgrading your application to use a more recent version of Angular.
412 | }
413 | NgxMatTimepickerBaseDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: NgxMatTimepickerBaseDirective, deps: [{ token: NgxMatTimepickerService }, { token: NgxMatTimepickerEventService }, { token: NgxMatTimepickerLocaleService }, { token: NGX_MAT_TIMEPICKER_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
> 414 | NgxMatTimepickerBaseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.1", type: NgxMatTimepickerBaseDirective, selector: "[ngxMatTimepickerBase]", inputs: { color: "color", defaultTime: "defaultTime" }, host: { listeners: { "keydown": "onKeydown($event)" } },39m ngImport: i0 });
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^[39m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^[39m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
415 | i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: NgxMatTimepickerBaseDirective, decorators: [{
416 | type: Directive,
417 | args: [{'
To Reproduce
Expected behavior
Build run with success
Versions
Whenever I try to use ngx-time-picker package, the user will click the input box and a menu will pop up where they can select the time. However after selecting the time "Invalid DateTime". This only happens with Brave Browser. However , whenever I try it on Google Chrome or Microsoft Edge, the ngx-time-picker works just fine as the time selected by the user from the popup menu is the time displayed in the input box. What might be causing this?
If ngx-mat-timepicker-field start from 00:00
timechange is not fired, it only works when hour and minutes are greater than zero or starting from one.
You can reproduce it here:
https://stackblitz.com/edit/uomhvz-sbpbeu?file=src%2Fexample%2Fcard-overview-example.ts
I will open a PR for the fix. It was pretty simple to solved.
Describe the bug
The visual is not the same if you select different hours. I had this bug in a project I use and found the same one in the online examples.
In my own project I also get the same visual problem with the hours display
In the example page of the project (https://tonysamperi.github.io/ngx-mat-timepicker/), the bug is present in the minutes section of the 12 hour format when you select "4 hours"
To Reproduce
The error is present on the main example page as shown in the fallowing video.
https://github.com/tonysamperi/ngx-mat-timepicker/assets/22448486/39a563cb-c397-42ee-b3c2-335c78771ccc
Expected behavior
Same visual for all different hours and no as crowded in the minute page.
This image shows what I would expect
Desktop (if execution):
** Versions
Additional context (optional)
Thank you for the amazing package. It has been a game changer for time input in my different projetcts.
Cannot set time manually
After a manual input with the keyboard of the time, I get the console error: TypeError: time.match is not a function.
You would get that if time would not be a string.
The error points to your function:
static parseTime(time, opts) {
.........
if (time.match(/\s/g)) {
To Reproduce
Enter the time with keyboard and press enter.
Expected behavior
Manual Time Input is possible.
Desktop (if execution):
** Versions
Description
I would expect a different behavior after clear time value.
Steps to reproduce the behavior:
Expected behavior
ngModel value should be empty value (null or undefined or empty string)
When I add this
"angularCompilerOptions": {
"enableIvy": false
}
to tsconfig.app.json I causes me error to build in prod mode
Directive NgxMatTimepickerDirective, Expected 1 arguments, but got 0.
Describe the bug
The peer dependencies for the exported package still points to an old version of Angular
Expected behavior
Peer dependencies should match the updated dependencies of the project and point to Angular 14
Screenshots
If applicable, add screenshots to help explain your problem.
Versions
I don't know if you prefer issues or PRs for this type of change, but thought I would point out that the peer dependencies need to be updated.
No hurry, and thank you for your service keeping this project up to date 👍
Describe the bug
I'm using inside my app the time-picker widget set to 12h format . And I'm trying to get use of (timeSet) event but it doesn't work accordingly. Every time the event is triggered, the emitted value is always set to 'AM' even if I set it to be 'PM'.
Desktop (if execution):
** Versions
I'm trying to implement a timepicker that sets the max attribute on open
But i cannot find a way to do so
First of all: I acutally really feel bad to abuse the Bug-Report for a Feature-Request - but how to contact you? At least it isn't for an Angular-Version-Update ...
Right now I'm using the (discontinued) angular-material-picker (https://github.com/IliaIdakiev/angular-material-timepicker). This one showed some dots between the minutes that (imho) looked pretty great:
Have you even tought about implementing these, too? Or would a PR be welcome containing it?
BR
Tristan
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.