Customizable Angular UI Library based on Eva Design System

Overview

Nebular Eva Design System npm npm Codecov

Documentation | Stackblitz Template | UI Bakery - Angular UI Builder | Angular templates

Nebular is a customizable Angular 10 UI Library with a focus on beautiful design and ability to adapt it to your brand easily. It comes with 4 stunning visual themes, a powerful theming engine with runtime theme switching and support of custom css properties mode. Nebular is based on Eva Design System specifications.

What's included

  • 4 Visual Themes, including new Dark easily customizable to your brand
  • 35+ Angular UI components with a bunch of handy settings and configurations
  • Configurable options - colors, sizes, appearances, shapes, and other useful settings
  • 3 Auth strategies and Security - authentication and security layer easily configurable for your API
  • Powerful theming engine with custom CSS properties mode
  • SVG Eva Icons support - 480+ general purpose icons

Quick Start

You can install Nebular with Angular CLI:

ng add @nebular/theme

Configuration will be done automatically.

If you want to have more control over setup process you can use manual setup guide.

Browser Support

Nebular supports most recent browsers. Browser support list can be found here.

Starters

  • ngx-admin - 20k+ stars application based on Nebular modules with beautiful E-Commerce & IOT components, for boosting your developing process. Live Demo.
  • ngx-admin-starter - clean application based on Nebular modules with a limited number of additional dependencies.
  • Backend Bundles - easy way to integrate ngx-admin with any backend (PHP, .Net, .Net Core, Java etc. )

UI Bakery

Try low-code internal tool builder for free

License

MIT license.

More from Akveo

  • Eva Icons - 480+ beautiful Open Source icons
  • Akveo templates - 10+ Ready-to-use apps templates to speed up your apps developments

How can I support the developers?

  • Star our GitHub repo โญ
  • Create pull requests, submit bugs, suggest new features or documentation updates ๐Ÿ”ง
  • Read us on Medium
  • Follow us on Twitter ๐Ÿพ
  • Like our page on Facebook ๐Ÿ‘

From Developers

Made with โค๏ธ by Akveo team. Follow us on Twitter to get the latest news first! We're always happy to receive your feedback!

Comments
  • Context menu does not render after router navigation

    Context menu does not render after router navigation

    Issue type

    I'm submitting a ... (check one with "x")

    • [x] bug report
    • [ ] feature request

    Issue description

    Current behavior: Following an OAuth2 flow similar to the samples, the user context menu in the header component does not drop-down upon click and yields the following stack trace.

    main.a72571efe1e9cccd811a.js:69949 ERROR TypeError: Cannot read property 'appendChild' of null at NbOverlayContainerAdapter.push../node_modules/@nebular/theme/components/cdk/adapter/overlay-container-adapter.js.NbOverlayContainerAdapter._createContainer (main.a72571efe1e9cccd811a.js:105528) at NbOverlayContainerAdapter.push../node_modules/@angular/cdk/esm5/overlay.es5.js.OverlayContainer.getContainerElement (main.a72571efe1e9cccd811a.js:11222) at NbOverlay.push../node_modules/@nebular/theme/components/cdk/overlay/mapping.js.NbOverlay.createHostElement (main.a72571efe1e9cccd811a.js:106080) at NbOverlay.push../node_modules/@nebular/theme/components/cdk/overlay/mapping.js.NbOverlay.create (main.a72571efe1e9cccd811a.js:106055) at NbOverlayService.push../node_modules/@nebular/theme/components/cdk/overlay/overlay.js.NbOverlayService.create (main.a72571efe1e9cccd811a.js:106832) at NbContextMenuDirective.push../node_modules/@nebular/theme/components/context-menu/context-menu.directive.js.NbContextMenuDirective.createOverlay (main.a72571efe1e9cccd811a.js:108818) at NbContextMenuDirective.push../node_modules/@nebular/theme/components/context-menu/context-menu.directive.js.NbContextMenuDirective.show (main.a72571efe1e9cccd811a.js:108798) at SafeSubscriber._next (main.a72571efe1e9cccd811a.js:108855) at SafeSubscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.__tryOrUnsub (main.a72571efe1e9cccd811a.js:137557) at SafeSubscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.next (main.a72571efe1e9cccd811a.js:137495)

    Expected behavior: The user context menu will show upon click after router navigation.

    Steps to reproduce: The callback code that's triggering the issue is in the akveo/nebular repo. https://github.com/akveo/nebular/blob/7e68c20a92dbe8f86ff728f0df6d4e771a0b7408/src/playground/with-layout/oauth2/oauth2-callback.component.ts

    I even tried a variation of the existing logic by running it within OnInit and OnDestroy with the appropriate subscription disposable. It yields the same results. The only thing that makes the user context menu to start rendering again is a hard-refresh of the browser.

    Related code:

    Other information:

    npm, node, OS, Browser

    Node, npm: `node --version` (v11.4.0) and `npm --version` (6.4.1)
    OS: macOS Mojave
    Browser: Chrome
    

    Angular, Nebular

        "@nebular/auth": "3.1.0",
        "@nebular/bootstrap": "3.1.0",
        "@nebular/security": "3.1.0",
        "@nebular/theme": "3.1.0",
    
    bug needs info module:components quality 
    opened by fernando-almeida 28
  • Nb-Select not emitting change event

    Nb-Select not emitting change event

    Nb-Select not emitting event when used with [ngModel]

    I'm submitting a bug report

    Issue description

    Current behavior: Nb-Select does not emit (selectChange) or (ngModelChange) event when using observables with ngModel.

    <nb-select (selectedChange)="onChange($event)" (ngModelChange)="onChange($event)"
        [ngModel]="selectedLocationUnitGroupId$ | async">
        <nb-option *ngFor="let option of locationUnitGroups$ | async" [value]="option.id">
            {{ option.type }}
        </nb-option>
     </nb-select>
    
    

    Expected behavior: I want nb-select to emit (selectChange) or (ngModelChange) event every time user selects an option

    Any ideas how to fix it?

    bug module:theme 
    opened by itkachyshyn 28
  • Nested mixins error

    Nested mixins error

    Issue type

    I'm submitting a ... (check one with "x")

    • [ x ] bug report
    • [ ] feature request

    Issue description

    Current behavior: Error about nested mixins when building/running (yarn run start)

    ERROR in ./node_modules/raw-loader!./node_modules/postcss-loader/lib??embedded!./node_modules/sass-loader/lib/loader.js??ref--8-3!./src/app/@theme/styles/styles.scss
    Module build failed: 
      @mixin hover-border($color) {
            ^
          Mixins may not be defined within control directives or other mixins.
          in /home/richard/workspace/ngx-admin/node_modules/@nebular/theme/components/checkbox/_checkbox.component.theme.scss (line 8, column 10)
    

    Expected behavior: It should build and run.

    Steps to reproduce: Clone from git and yarn run start

    Other information:

    npm, node, OS, Browser Yarn version 1.3.2 (also tried npm 5.6.0) Node 9.8.0 Arch Linux x86

    Angular, Nebular

        "@angular/animations": "~5.2.6",
        "@angular/common": "~5.2.6",
        "@angular/compiler": "~5.2.6",
        "@angular/core": "~5.2.6",
        "@angular/forms": "~5.2.6",
        "@angular/http": "~5.2.6",
        "@angular/platform-browser": "~5.2.6",
        "@angular/platform-browser-dynamic": "~5.2.6",
        "@angular/router": "~5.2.6",
    ...
        "@nebular/auth": "2.0.0-rc.6",
        "@nebular/theme": "2.0.0-rc.6",
        "@nebular/security": "2.0.0-rc.6",
    
    bug module:theme P1: urgent 
    opened by RichardWarfield 27
  • Add Time Picker

    Add Time Picker

    Issue type

    I'm submitting a ... (check one with "x")

    • [ ] bug report
    • [x] feature request

    Issue description

    Current behavior: It would be nice to add a Time Picker component to the Nebular Framework. I would suggest to create similar to angular-material-time-picker or ngx-material-timepicker because they have a very good user experience.

    It sould be nice to have it also integrated to the Datepicker

    enhancement P2: important module:components 
    opened by alexsintoni 24
  • No provider for NbAuthService!

    No provider for NbAuthService!

    I have copied /framework/auth directory to my project src/app directory.

    and i imported auth module into my app module

    `/**

    • @license
    • Copyright Akveo. All Rights Reserved.
    • Licensed under the MIT License. See License.txt in the project root for license information. */ import { APP_BASE_HREF } from '@angular/common'; import { BrowserModule } from '@angular/platform-browser'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { NgModule } from '@angular/core'; import { HttpModule } from '@angular/http'; import { CoreModule } from './@core/core.module';

    import { AppComponent } from './app.component'; import { AppRoutingModule } from './app-routing.module'; import { ThemeModule } from './@theme/theme.module'; import { NgbModule } from '@ng-bootstrap/ng-bootstrap';

    import { NbAuthModule } from "./auth/auth.module";

    @NgModule({ declarations: [AppComponent], imports: [ BrowserModule, BrowserAnimationsModule, HttpModule, AppRoutingModule,

    NgbModule.forRoot(),
    ThemeModule.forRoot(),
    CoreModule.forRoot(),
    
    NbAuthModule,
    

    ], bootstrap: [AppComponent], providers: [ { provide: APP_BASE_HREF, useValue: '/' }, ], }) export class AppModule { } and change my app-routing.module.ts to get auth components from copied directory import { NbAuthComponent, NbLoginComponent, NbLogoutComponent, NbRegisterComponent, NbRequestPasswordComponent, NbResetPasswordComponent, } from './auth/components/index';`

    but when i try to access http://localhost:4200/#/auth/login i got error : ERROR Error: Uncaught (in promise): Error: No provider for NbAuthService! Error: No provider for NbAuthService!

    can anyone help me? Thanks

    opened by wilson-young 24
  • ngx-admin customized login style

    ngx-admin customized login style

    Issue type

    Style not works I'm submitting a ... (check one with "x")

    • [x] bug report
    • [ ] feature request

    Issue description

    Current behavior:

    Expected behavior:

    Steps to reproduce:

    Related code:

    insert short code snippets here
    

    Other information:

    npm, node, OS, Browser

    <!--
    Node, npm: `node --version` and `npm --version`
    OS: Windows (7/8/10). Linux (incl. distribution). macOS (El Capitan? Sierra?)
    Browser: Chrome/Safari/Firefox/etc?
    -->
    

    Angular, Nebular

    <!--
    Check your `package-lock.json` or locate a `package.json` in the `node_modules` folder.
    -->
    
    help wanted question module:auth needs docs 
    opened by mfarhani 21
  • Nebular 4.0 will get an update to Theme System, we need your help.

    Nebular 4.0 will get an update to Theme System, we need your help.

    Good day Nebular users! I have a couple of wonderful news for you ๐ŸŽ‰

    As some of you might already noticed, we are heavily working on something new. ๐Ÿ˜ƒ And it's time to reveal our plans and also aks a bit for your help.

    Starting from Nebular 4.0 we will be updating Nebular components design and also upgrading Theme System to support various designs in the future!๐Ÿ’…

    We are looking to simplify the theming process and make it more convenient, obvious and unified across all of the components bringing application based on Nebular to the next level of quality and awesomeness:๐Ÿš€

    • with New Beautiful Design
    • more convenient and flexible theming process
    • unified components interface
    • support of CSS-variables
    • and other great features

    On the other side, great new things come at a price, and it's Breaking Changes in our case. At the moment we envision the following:

    • changes in components HTML structure
    • changes in components styles and internal selectors
    • changes in Theme Map, unification of variables, removal of unnecessary ones and integration of new
    • changes in the color pallet
    • unification of component @Inputs and possibly @Ouputs

    โ—๏ธ That's why we are looking for your feedback. We would really appreciate hearing your experience on the following points:

    • [ ] Do you use custom Nebular Themes? Theme example or at least a count of changes (variables changed) is appreciated.
    • [ ] Do you use multiple run-time Themes?
    • [ ] Do you customize Nebular styles with custom css? How big are those customizations?

    Thanks in advance for your help, let's bring Nebular to the new level together!

    P.S. Work in progress is available in the next dev branch. And some more info is in the CHANGELOG file.

    opened by nnixaa 20
  • NbOverlayContainerAdapter and Lazy Loading

    NbOverlayContainerAdapter and Lazy Loading

    Issue type

    I'm submitting a bug report

    Issue description

    Current behavior: When a lazy loaded module is opened, a NbOverlayContainerAdapter gets constructed along with it which wont have its setContainer() called. This causes the nbDialog to fail in _createContainer()

    Expected behavior: setContainer() should be called, or createContainer() should append to document body if container undefined

    Steps to reproduce:

    • Create a lazyloaded module and route to its component.
    • Try to open a nbDialog with NbDialogService injected
    • Check console

    Related code: Please try to open the dialog from the lazy loaded module, sm and check stackblitz console.

    https://stackblitz.com/edit/nebular-overlay-container-adapter-bug

    Other information:

    Console logs: ERROR TypeError: Cannot read property 'appendChild' of undefined at NbOverlayContainerAdapter._createContainer (theme.umd.js:1907) at NbOverlayContainerAdapter.OverlayContainer.getContainerElement (overlay-container.ts:40) at NbOverlay.createHostElement (theme.umd.js:1289) at NbOverlay.create (theme.umd.js:1246) at NbOverlayService.create (theme.umd.js:1859) at NbDialogService.createOverlay (theme.umd.js:12724) at NbDialogService.open (theme.umd.js:12714) at LcmpComponent.openDialog (VM4956 lcmp.component.ts:21) at Object.eval [as handleEvent] (LcmpComponent.html:1) at handleEvent (view.ts:138)

    npm, node, OS, Browser

    Node: v8.10  npm: v6.4.1
    OS: Windows 10
    Browser: All
    

    Angular, Nebular

        "@angular/cdk": "^6.4.7",
        "@angular/common": "6.1.9",
        "@angular/compiler": "6.1.9",
        "@angular/core": "6.1.9",
        "@angular/forms": "6.1.9",
        "@angular/http": "6.1.9",
        "@angular/platform-browser": "6.1.9",
        "@angular/platform-browser-dynamic": "6.1.9",
        "@angular/router": "6.1.9",
        "@nebular/auth": "^2.0.0",
        "@nebular/theme": "^2.0.0",
        "@nebular/security": "^2.0.0",
    

    What I have observed is that, only when NbLayout is constructed you call the setContainer() Also I dont get consistent behavior when i wrap lazy-component with NbLayout

    Please look into this issue :)

    bug P1: urgent 
    opened by fahimalizain 20
  • Cannot modify auth login page or other auth component's html.

    Cannot modify auth login page or other auth component's html.

    Issue type

    I'm submitting a ... (check one with "x")

    • [ x] bug report
    • [ ] feature request

    Issue description

    Current behavior: Cannot modify login page or auth modules even after manual input.

    Expected behavior: When I edit the login page html, I should see the changes im doing?

    Steps to reproduce: import the auth sources, change the html, changes don't apply on the login page.

    Related code:

    insert short code snippets here
    

    Other information:

    npm, node, OS, Browser

    <!--
    Node, npm: `node --version` and `npm --version`
    OS: Windows (7/8/10). Linux (incl. distribution). macOS (El Capitan? Sierra?)
    Browser: Chrome/Safari/Firefox/etc?
    -->
    

    Angular, Nebular

    {
      "name": "ngx-admin",
      "version": "2.1.0",
      "license": "MIT",
      "repository": {
        "type": "git",
        "url": "git+https://github.com/akveo/ngx-admin.git"
      },
      "bugs": {
        "url": "https://github.com/akveo/ngx-admin/issues"
      },
      "scripts": {
        "ng": "ng",
        "conventional-changelog": "conventional-changelog",
        "start": "ng serve",
        "build": "ng build",
        "build:prod": "npm run build -- --prod --aot",
        "test": "ng test -sr",
        "test:coverage": "rimraf coverage && npm run test -- -cc",
        "lint": "ng lint --type-check",
        "lint:fix": "ng lint --fix",
        "lint:styles": "stylelint ./src/**/*.scss",
        "lint:ci": "npm run lint && npm run lint:styles",
        "pree2e": "webdriver-manager update --standalone false --gecko false",
        "e2e": "ng e2e",
        "docs": "compodoc -p src/tsconfig.app.json -d docs",
        "docs:serve": "compodoc -p src/tsconfig.app.json -d docs -s",
        "prepush": "npm run lint:ci",
        "release:changelog": "npm run conventional-changelog -- -p angular -i CHANGELOG.md -s"
      },
      "dependencies": {
        "@agm/core": "1.0.0-beta.2",
        "@angular/animations": "~5.2.6",
        "@angular/common": "~5.2.6",
        "@angular/compiler": "~5.2.6",
        "@angular/core": "~5.2.6",
        "@angular/forms": "~5.2.6",
        "@angular/http": "~5.2.6",
        "@angular/platform-browser": "~5.2.6",
        "@angular/platform-browser-dynamic": "~5.2.6",
        "@angular/router": "~5.2.6",
        "@asymmetrik/ngx-leaflet": "3.0.1",
        "@nebular/auth": "2.0.0-rc.6",
        "@nebular/theme": "2.0.0-rc.6",
        "@nebular/security": "2.0.0-rc.6",
        "@ng-bootstrap/ng-bootstrap": "1.0.0",
        "@swimlane/ngx-charts": "7.0.1",
        "angular2-chartjs": "0.4.1",
        "angular2-toaster": "4.0.1",
        "bootstrap": "4.0.0",
        "chart.js": "2.7.1",
        "ckeditor": "4.7.3",
        "classlist.js": "1.1.20150312",
        "core-js": "2.5.1",
        "echarts": "^4.0.2",
        "font-awesome": "4.7.0",
        "intl": "1.2.5",
        "ionicons": "2.0.1",
        "leaflet": "1.2.0",
        "nebular-icons": "1.0.6",
        "ng2-ckeditor": "1.1.13",
        "ng2-smart-table": "1.2.2",
        "ng2-tree": "2.0.0-rc.4",
        "ngx-echarts": "2.0.1",
        "normalize.css": "6.0.0",
        "pace-js": "1.0.2",
        "roboto-fontface": "0.8.0",
        "rxjs": "5.5.5",
        "socicon": "3.0.5",
        "tinymce": "4.5.7",
        "typeface-exo": "0.0.22",
        "web-animations-js": "2.2.5",
        "zone.js": "0.8.18"
      },
      "devDependencies": {
        "@angular/cli": "1.7.1",
        "@angular/compiler-cli": "~5.2.6",
        "@angular/language-service": "~5.2.6",
        "@compodoc/compodoc": "1.0.1",
        "@types/googlemaps": "3.30.4",
        "@types/d3-color": "1.0.5",
        "@types/jasmine": "2.5.54",
        "@types/jasminewd2": "2.0.3",
        "@types/leaflet": "1.2.3",
        "@types/node": "6.0.90",
        "codelyzer": "4.0.2",
        "conventional-changelog-cli": "1.3.4",
        "husky": "0.13.3",
        "jasmine-core": "2.6.4",
        "jasmine-spec-reporter": "4.1.1",
        "karma": "1.7.1",
        "karma-chrome-launcher": "2.1.1",
        "karma-cli": "1.0.1",
        "karma-coverage-istanbul-reporter": "1.3.0",
        "karma-jasmine": "1.1.0",
        "karma-jasmine-html-reporter": "0.2.2",
        "npm-run-all": "4.0.2",
        "protractor": "5.1.2",
        "rimraf": "2.6.1",
        "stylelint": "7.13.0",
        "ts-node": "3.2.2",
        "tslint": "5.7.0",
        "tslint-language-service": "0.9.6",
        "typescript": "2.5.3"
      }
    }
    
    
    question module:auth 
    opened by itanimo 20
  • ERROR TypeError: Cannot read property 'appendChild' of undefined

    ERROR TypeError: Cannot read property 'appendChild' of undefined

    Issue type

    I'm submitting a ... (check one with "x")

    • [x] bug report
    • [ ] feature request

    Issue description

    Current behavior:

    I'm getting error when trying to create modal window from lazily loaded module: ERROR TypeError: Cannot read property 'appendChild' of undefined

    Expected behavior:

    Modal window appears, no errors.

    Steps to reproduce:

    1. Create lazily loaded module
    2. Try to show simple modal window

    Related code:

    app.module.ts:
    @NgModule({
        imports: [
            CommonModule,
            FormsModule,
            RouterModule.forRoot(AppRoutes),
            NbThemeModule.forRoot(<NbThemeOptions> { name: 'default' }),
            NbToastrModule.forRoot(),
            NbDialogModule.forRoot()
        ]
    })
    
    lazy.module.ts:
    @NgModule({
        declarations: [
            ArticleComponent,
        ],
        imports: [
            CommonModule,
            FormsModule,
            RouterModule.forChild(NewsRoutes),
            NbDialogModule.forChild()
        ],
    })
    
    

    Other information:

    npm, node, OS, Browser

    <!--
    Node, npm: `node --version` and `npm --version`
    OS: Windows (7/8/10). Linux (incl. distribution). macOS (El Capitan? Sierra?)
    Browser: Chrome/Safari/Firefox/etc?
    -->
    $ npm --version
    3.5.2
    $ node --version
    v8.10.0
    OS: Ubuntu 18.04
    Browser: any
    
    

    Angular, Nebular

    <!--
    Check your `package-lock.json` or locate a `package.json` in the `node_modules` folder.
    -->
    {
      "name": "ivp",
      "version": "1.0.0",
      "scripts": {
        "ng": "ng",
        "start": "ng serve",
        "build": "ng build",
        "test": "ng test",
        "lint": "ng lint",
        "e2e": "ng e2e"
      },
      "private": true,
      "dependencies": {
        "@angular/animations": "^6.1.0",
        "@angular/cdk": "^6.4.7",
        "@angular/common": "^6.1.0",
        "@angular/compiler": "^6.1.0",
        "@angular/core": "^6.1.0",
        "@angular/forms": "^6.1.0",
        "@angular/http": "^6.1.0",
        "@angular/platform-browser": "^6.1.0",
        "@angular/platform-browser-dynamic": "^6.1.0",
        "@angular/router": "^6.1.0",
        "@nebular/bootstrap": "^2.0.0",
        "@nebular/theme": "^2.0.0",
        "bootstrap": "^4.1.3",
        "core-js": "^2.5.4",
        "jquery": "^3.3.1",
        "jquery-ui-dist": "^1.12.1",
        "moment": "^2.22.2",
        "nebular-icons": "^1.1.0",
        "ngx-moment": "^3.1.0",
        "ngx-typeahead": "^6.2.0",
        "pace-js": "1.0.2",
        "popper.js": "^1.14.3",
        "rxjs": "~6.2.0",
        "zone.js": "~0.8.26"
      },
      "devDependencies": {
        "@angular-devkit/build-angular": "~0.8.0",
        "@angular/cli": "~6.2.2",
        "@angular/compiler-cli": "^6.1.0",
        "@angular/language-service": "^6.1.0",
        "@types/jasmine": "~2.8.8",
        "@types/jasminewd2": "~2.0.3",
        "@types/jquery": "^3.3.10",
        "@types/node": "~8.9.4",
        "codelyzer": "~4.3.0",
        "jasmine-core": "~2.99.1",
        "jasmine-spec-reporter": "~4.2.1",
        "karma": "~3.0.0",
        "karma-chrome-launcher": "~2.2.0",
        "karma-coverage-istanbul-reporter": "~2.0.1",
        "karma-jasmine": "~1.1.2",
        "karma-jasmine-html-reporter": "^0.2.2",
        "protractor": "~5.4.0",
        "ts-node": "~7.0.0",
        "tslint": "^5.11.0",
        "typescript": "~2.9.2"
      }
    }
    
    
    needs info module:components 
    opened by algirdasc 19
  • NbDatePicker: validation fails when using format=

    NbDatePicker: validation fails when using format="dd.MM.yyyy"

    Issue type

    • [x] bug report
    • [ ] feature request

    Issue description

    Current behavior: When using format="dd.MM.yyyy" on NbDatePicker only dates from the 1st till 12th of a month are valid in the formGroup. Using @nebuler/moment and @nebular/date-fns does not make any difference. The issue here seems to be that the form validation does not use the date format I provided. This is the validation error: nbDatepickerParse: {value: "19.12.2018"} As days from 1 to 12 are valid my guess is that days are taken for months?

    Expected behavior: 19.12.2018 is a valid date when using format="dd.MM.yyyy".

    Steps to reproduce: See above.

    Other information:

    npm, node, OS, Browser

    <!--
    Node, npm: 10.13.0, 6.4.1
    OS: macOS
    Browser: any
    -->
    

    Angular, Nebular

    "@angular/core": "7.1.1",
    "@nebular/date-fns": "3.0.0",
    "@nebular/moment": "3.0.0",
    "@nebular/theme": "3.0.0",
    
    question P1: urgent module:components 
    opened by mahnuh 18
  • NbAuthSimpleInterceptor does not add `Bearer` prefix to HTTP header

    NbAuthSimpleInterceptor does not add `Bearer` prefix to HTTP header

    Issue type

    I'm submitting a ... (check one with "x")

    • [x] bug report
    • [ ] feature request

    Issue description

    Current behavior: Using NbPasswordAuthStrategy and the accompanying NbAuthSimpleInterceptor, the received token is inserted as HTTP header like so:
    Authorization: 3b023126-a007-422e-9838-839871aae08b

    Expected behavior: I would need it to be:
    Authorization: Bearer 3b023126-a007-422e-9838-839871aae08b

    Steps to reproduce: I generally followed the tutorial for NbPasswordAuthStrategy in the Nebular vnext Docs

    Related code: As a workaround I managed to configure a custom getter, like so:

    NbAuthModule.forRoot({
      strategies: [
        NbPasswordAuthStrategy.setup({
          token: {
            key: 'token',
            getter: (_module: string, response: HttpResponse<{ token: string }>) =>
              `Bearer ${response.body?.token ?? ''}`,
          },
          // ...
        }),
      ],
    });
    

    Other information:

    There is a (quite dated) Stackoverflow issue describing a similar issue with NbAuthJWTInterceptor, where the Bearer prefix is added in a hardcoded way instead. I guess it would be useful to generally make this prefix configurable (with sensible default that won't break existing apps).

    npm, node, OS, Browser

    Node v16.19.0
    yarn: 1.22.19  
    OS: EndeavourOS/ArchLinux x64 (rolling)
    Browser: Firefox 108.0.1
    

    Angular, Nebular

    @angular/core: 15.0.0
    @nebular/auth: 10.0.0
    
    opened by willydee 0
  • Eva Icons CommonJS Modules Cause Optimization Bailouts

    Eva Icons CommonJS Modules Cause Optimization Bailouts

    Issue type

    **I'm submitting a bug report

    Issue description

    Current behavior: When I run npm start on my angular app this message is shown: image

    Expected behavior: No message shown

    Steps to reproduce:

    1. Install eva icons latest version npm install @nebular/[email protected] @nebular/eva-icons10.0.0 @nebular/[email protected]
    2. Run npm start
    3. The message is shown

    Other information:

    npm, node, OS, Browser

    OS: Windows 10
    Node: v18.12.1
    

    Angular, Nebular

    Angular: v14.2.8
    Nebular: 10
    
    opened by jgomesmv 1
  • After the parent component is opened, the child component cannot be closed using Nbwindowref

    After the parent component is opened, the child component cannot be closed using Nbwindowref

    I have two components, one is parent and the other is child component . I'm using Nebular ui to create a window (using nbWindowService.open(ChildComponent). There's a form in the child component and I need to get that data back into the parent component for processing.

    When I close the window opened by the parent component on the child component, using this.windowref.close() does not work!!

    angular.cli :12.1 nebular:8.0.0 ngx-admin:8.0.0

    my code:

    parent component: constructor( public windowRef: NbWindowRef, private windowService: NbWindowService }

     this.windowRef = this.windowService.open(content, { buttons: buttonsconfig });
    

    child component:

    @Input() windowref: NbWindowRef; @Output() afterupdate = new EventEmitter(); constructor( public windowRef: NbWindowRef, private windowService: NbWindowService) { } close() { this.windowRef.close();}

    async update() { this.afterupdate.emit(); this.close(); }

    opened by janice1015 0
  • Add support of Angular 15

    Add support of Angular 15

    Issue type

    I'm submitting a ... (check one with "x")

    • [ ] bug report
    • [x] feature request

    Issue description

    Nebular has basic compatibility with Angular 15. Currently we must override the dependencies as follows:

    {
      "overrides": {
        "@nebular/[email protected]": {
          "@angular/animations": "15.0.1",
          "@angular/cdk": "15.0.0",
          "@angular/common": "15.0.1",
          "@angular/core": "15.0.1",
          "@angular/forms": "15.0.1",
          "@angular/router": "15.0.1"
        },
        "@nebular/[email protected]": {
          "@angular/animations": "15.0.1",
          "@angular/cdk": "15.0.0",
          "@angular/common": "15.0.1",
          "@angular/core": "15.0.1",
          "@angular/router": "15.0.1"
        },
        "@nebular/[email protected]": {
          "@angular/common": "15.0.1",
          "@angular/core": "15.0.1",
          "@angular/router": "15.0.1"
        }
      }
    }
    
    opened by schroedan 0
  • Configuring overlay

    Configuring overlay

    Issue type

    I'm submitting a

    • [ ] bug report
    • [X] feature request

    Issue description

    Current behavior: There is no way to provide default overlay configuration. Overlays are opened with predefined config, which cannot be accessed in any "programmer friendly" way.

    Expected behavior: I'd like to be able to provide overlay config parameters used to create an overlay. A useful example could be opening the overlay with backdrop, or having influence what css classes are applied to the overlay.

    I think the solution could be a simple injection token for the DEFAULT_OVERLAY_CONFIG which would be then injected into NbOverlayService and used as an extendable config base in the create method.

    Other information:

    Currently I think I have no other option than overriding NbOverlayService with my custom create method where I can specify my default params. This solution can cause issues once NbOverlayService changes, but it's the best I can think of.

    @Injectable()
    class OverlayService extends NbOverlayService {
      constructor(protected overlay: NbOverlay, protected layoutDirection: NbLayoutDirectionService) {
        super(overlay, layoutDirection);
      }
    
      public create(config?: NbOverlayConfig): NbOverlayRef {
        const extendedConfig = { hasBackdrop: true, backdropClass: 'cdk-overlay-transparent-backdrop', ...(config || {}) };
        return super.create(extendedConfig);
      }
    }
    

    Angular, Nebular

    • Angular v14
    • Nebular v9.0.2
    opened by salarenko 1
  • Saa Error - Strict-unary error

    Saa Error - Strict-unary error

    Hi! ๐Ÿ‘‹

    Firstly, thanks for your work on this project! ๐Ÿ™‚

    Today I used patch-package to patch @nebular/[email protected] for the project I'm working on.

    Warning: Deprecation This operation is parsed as:

    "Nebular Theme: `nb-theme()` cannot find value for key `" + $key + "` for theme `" + theming-variables.$nb-theme-name + ""
    

    but you may have intended it to mean:

    "Nebular Theme: `nb-theme()` cannot find value for key `" + $key + "` for theme `" + theming-variables.$nb-theme-name (+"")
    

    Add a space after + to clarify that it's meant to be a binary operation, or wrap it in parentheses to make it a unary operation. This will be an error in future versions of Sass.

    Here is the diff that solved my problem:

    diff --git a/node_modules/@nebular/theme/styles/core/theming/_get-value.scss b/node_modules/@nebular/theme/styles/core/theming/_get-value.scss
    index 8dae59d..581c8e9 100644
    --- a/node_modules/@nebular/theme/styles/core/theming/_get-value.scss
    +++ b/node_modules/@nebular/theme/styles/core/theming/_get-value.scss
    @@ -59,7 +59,7 @@
       }
     
       @if ($value == null) {
    -    @warn 'Nebular Theme: `nb-theme()` cannot find value for key `' + $key + '` for theme `'+ theming-variables.$nb-theme-name +'`';
    +    @warn 'Nebular Theme: `nb-theme()` cannot find value for key `' + $key + '` for theme `'+ theming-variables.$nb-theme-name (+'`');
       }
     
       @return $value;
    

    This issue body was partially generated by patch-package.

    opened by a-adeleye 0
Releases(v6.2.3)
  • v6.2.3(Dec 15, 2022)

  • v10.0.0(Dec 2, 2022)

    10.0.0 (2022-12-02)

    BREAKING CHANGES

    • bootstrap: remove bootstrap, ng-bootstrap packages, remove bootstrap from playground/without-styles/bootstrap. ng-bootstrap doesn't support Angular v14.2.x (#3146) (f3f05ce)

    Features

    Other

    • Minimal required Angular version is 14.2.x

    Full Changelog: https://github.com/akveo/nebular/compare/v9.1.0-rc.8...v10.0.0

    Source code(tar.gz)
    Source code(zip)
  • v9.1.0-rc.8(Nov 17, 2022)

    What's Changed

    • docs(datepicker): move showcases with format in separate module by @sashaqred in https://github.com/akveo/nebular/pull/3128
    • feat(timepicker): add disabled state by @sashaqred in https://github.com/akveo/nebular/pull/3127
    • feat(menu component): improve accessibility by @azaiko-akveo in https://github.com/akveo/nebular/pull/3136
    • release: 9.1.0-rc.8 by @denStrigo in https://github.com/akveo/nebular/pull/3138

    New Contributors

    • @azaiko-akveo made their first contribution in https://github.com/akveo/nebular/pull/3136

    Full Changelog: https://github.com/akveo/nebular/compare/v9.1.0-rc.7...v9.1.0-rc.8

    Source code(tar.gz)
    Source code(zip)
  • v9.1.0-rc.7(Oct 10, 2022)

  • v9.1.0-rc.2(Aug 31, 2022)

  • v9.0.0(Dec 2, 2021)

    BREAKING CHANGES

    Theming

    CSS custom properties mode for theming is enabled by default since Angular dropped support for Internet Explorer and also removed the ability to use node-sass to compile sass. Read details and how to opt-out here. This change doesn't affect users who use prebuilt Nebular themes. For prebult themes users we also ship prebuilt themes with custom properties. See usage guide here.

    API changes

    • @nebular/theme/styles/_components.scss file removed. Replace imports from this files with:
      @import '@nebular/theme/styles/theming';
      @import '@nebular/theme/styles/themes';
      
    • layout-window-mode-max-width, tabset-tab-text-hide-breakpoint, route-tabset-tab-text-hide-breakpoint theme properties removed. Migration guide.
    • overlay trigger: NbTriggerStrategyBase's isNotOnHostOrContainer, isOnHostOrContainer, isOnHost, isOnContainer methods now expect Element instead of Event as the first parameter. Pass event.target as Element instead of event.
    • sidebar:
      • NbSidebarComponent.toggleResponsive method removed. Change method call to sidebar.responsive = !sidebar.responsive.
      • STATE_EXPANDED, STATE_COLLAPSED, STATE_COMPACTED static properties removed. Use NbSidebarState type values ('expanded', 'collapsed', 'compacted').
      • RESPONSIVE_STATE_MOBILE, RESPONSIVE_STATE_TABLET, RESPONSIVE_STATE_PC static properties removed. Use NbSidebarResponsiveState type values ('mobile', 'tablet', 'pc').
    • router tabset:
      • NbRouteTabsetComponent.tabs property type changed from any to NbRouteTab.
      • NbRouteTabsetComponent.changeTab property type changed from EventEmitter<any> to EventEmitter<NbRouteTab>.
      • tab parameter type of the NbRouteTabsetComponent.selectTab method changed from any to NbRouteTab.
    • infinite list: NbScrollableContainerDimentions class renamed to NbScrollableContainerDimensions. Use updated class name.
    • auth: NbOAuth2AuthStrategy.buildAuthHeader return type changed from any to HttpHeaders | undefined. If the method is overridden in a derived class, update its return type as well.
    • autocomplete: focusInputOnValueChange property removed from NbAutocompleteDirective class. Now autocomplete focuses input only when value is selected by option click or via keyboard.
    • range-picker:
      • NbRangepickerComponent's min, max properties are expecting Date (or moment if using moment adapter) type. filter function parameter also corrected to Date.
      • NbDatepicker now a has second generic D to use for min, max, and filter arguments. It should be set to Date or moment type.
    • context menu: Context menu won't close on menu item click if trigger strategy is set to noop (nbContextMenuTrigger="noop").

    Other

    • Minimal required Angular version is 13

    Features

    • auth: ability to add additional request headers (#2825) (3959848)
    • chat: ability to provide template as chat title (#2920) (9ccec64)
    • date-time picker: ability to remove now button (#2848) (a2c9d10)
    • date-time picker: add dateTimeChange output (#2816) (73a6b5a)
    • datepicker: allow to change adjustment (#2806) (a3b5ae5)
    • icon: add support for ligature icons (#2951) (b89339d)
    • infinite list: threshold emissions throttling (#2948) (718dd0a)
    • layout: add nbLtr and nbRtl directives (#2927) (35a7ad1)
    • layout: added error message if layout not provided (#2778) (7c12874)
    • router tabset: ability to configure routerLinkActiveOptions per tab (#2907) (276d610)
    • select, autocomplete: ability to override options width (#2874) (e30e00c)
    • stepper: add step change event (#2779) (1b871f4)
    • tabset: ability to provide template as tab label (#2829) (d56a492)
    • theme: enable CSS custom properties mode by default (#2965) (3a88e9b)
    • theme: add prebuilt themes with custom properties (#2977) (ff0b034)
    • toastr: add onclick, onclose events (#2821) (3795905)
    • tooltip, popover: add disabled property (#2841) (b7fe861)
    • window: ability to hide close button (#2952) (ad64fe2)
    • window: add component instance property to window ref (#2858) (fcf1a08)
    • window: template as window title (#2915) (8eaf460)
    • window: window may return result (#2869) (95247a4)
    • update to Angular 13 (#2944) (ed8cd04)

    Bug Fixes

    • autocomplete: handle null and undefined values (#2814) (7753027)
    • autocomplete: input focus behavior on value change (#2852) (a86da11)
    • button: prevent expression changed error on icon button (#2846) (baee608)
    • button group: prevent unpress in single mode button group (#2860) (4b8a430)
    • chat: file drop in firefox (#2776) (07db7f5)
    • checkbox: don't style user icons in checkbox (#2857) (a94a867)
    • context menu: don't close on item click with noop strategy (#2875) (a76fccf)
    • context menu: prevent close on expand icon click (#2923) (2b7f60c)
    • datapicker: input update issue with reactive forms (#2945) (07527f8)
    • flip card: prevent extra whitespace (#2854) (e8fa95b)
    • focus trigger strategy: detect click out via activeElement (#2865) (1f8e0cb)
    • focus trigger strategy clickout: consider click target (#2885) (a5f695a)
    • moment date service: use locale format by default (#2856) (491c696)
    • range-picker: correct type for min, max, filter properties (#2877) (73cdec0)
    • route tabset: support icon config object (#2810) (ff00a16)
    • scroll service: listen position requests right after layout created (#2949) (74d64cf)
    • select: add ellipsis on selection view (#2809) (9b525f4)
    • select: correctly handle reset value when multiple is on (#2815) (37a0bc2)
    • select: scroll into selected option on open (#2859) (1c02e15)
    • select, autocomplete: don't open overlay without options (#2930) (fca5cd1)
    • tabset: lazy loading (#2827) (a51513c)
    • tag list: prevent initialisation error in Universal (#2937) (e6a8ba0)
    • theme: correct custom properties subtraction (#2932) (4e63abc)
    • theme: set scrollbars corner color (#2943) (1447b15)
    • tooltip, popover, context menu: correct physical positions in RTL (#2819) (0959935)

    Code Refactoring

    • overlay trigger: accept element instead event (#2974) (2137969)
    • sidebar: remove deprecated properties (#2973) (0ba32cd)
    Source code(tar.gz)
    Source code(zip)
  • v6.2.2(Dec 15, 2022)

Owner
Akveo
Akveo is a devoted team of engineers, consultants and designers. We'll help you envision, build, and optimize cutting-edge digital products and solutions.
Akveo
Native Angular components & directives for Lightning Design System

ng-lightning This library contains native Angular components and directives written from scratch in TypeScript using the Lightning Design System CSS f

null 910 Dec 8, 2022
Angular UI Component Library based on Ant Design

NG-ZORRO An enterprise-class Angular UI component library based on Ant Design. English | ็ฎ€ไฝ“ไธญๆ–‡ โœจ Features An enterprise-class UI design system for Angu

NG-ZORRO 8.3k Jan 6, 2023
NGX-YOUI is a Highly customizable library of Angular UI components for content and styles

NGX-YOUI NGX-YOUI is an Angular UI Library that can be highly customized with content and styles. You can easily integrate with other CSS frameworks a

NGX-YOUI 5 Nov 29, 2022
An example application that uses file-based routing with Angular, Analog, Vite with the Angular Router

Angular, Vite, and File-based routes This is an example application that uses Angular, Analog, and Vite for file-based routing. Routes are places in t

Brandon 9 Sep 25, 2022
An enterprise-class UI components based on At UI Design and Angular. ๐Ÿš€ ๐Ÿš€ ๐Ÿš€

An enterprise-class UI components based on At UI Design and Angular. ?? ?? ??

ๅกŸๆ„›้Žต้•ždeๆ คไปฏ 113 Dec 16, 2022
Angular Library workspace to creating and testing angular libraries

Library Workspace Run Locally Clone the project https://github.com/sametcelikbicak/library-workspace.git Go to the library project directory cd li

Samet ร‡ELฤฐKBIร‡AK 4 Nov 1, 2022
Sam4Sc - a migration assistant for Angular to SCAM (Single Angular Component Modules) and Standalone Components

Sam4Sc - a migration assistant for Angular to SCAM (Single Angular Component Modules) and Standalone Components

Rainer Hahnekamp 7 Nov 16, 2022
Angular 11 & Bootstrap 5 & Material Design 2.0 UI KIT

MDB 5 Angular Angular 12 & Bootstrap 5 & Material Design 2.0 UI KIT >> Get Started in 4 steps >> MDBAngular 5 Demo 500+ material UI components Super s

MDBootstrap 1.1k Dec 30, 2022
Component infrastructure and Material Design components for Angular

Official components for Angular The Angular team builds and maintains both common UI components and tools to help you build your own custom components

Angular 23.2k Jan 3, 2023
Lightweight, Material Design inspired go to top button. No dependencies. Pure Angular!

Angular ScrollTop Button Lightweight, Material Design inspired button for scroll-to-top of the page. No dependencies. Pure Angular! โœ“ Angular 13, Ivy

BART! 19 Dec 18, 2022
Angular 2 building blocks :package: based on Semantic UI

Angular2 & Semantic UI Angular2 - Semantic UI Live demo ng-semantic.herokuapp.com Angular 2 Semantic UI version: 2.2.2 Installation npm install ng-sem

Vlado Tesanovic 995 Dec 23, 2022
Covalent: UI Platform based on Angular-Material

Covalent: UI Platform based on Angular-Material Covalent is a reusable UI platform from Teradata for building web applications with common standards a

Teradata Corporation 2.3k Jan 1, 2023
Heavily inspired by Angular Forms, this package provides utilities for complex Model-driven form management in Lit-based Web Components.

Heavily inspired by Angular Forms, this package provides utilities for complex Model-driven form management in Lit-based Web Components.

Michele Stieven 8 Dec 9, 2022
A component built in angular 13 which can generate an signature image in different fonts based on the selection.

AngularSignatureGenerator This project was generated with Angular CLI version 13.2.6. Development server Run ng serve for a dev server. Navigate to ht

Rohith P 4 Apr 26, 2022
๐Ÿš€ Style and Component Library for Angular

ngx-ui Component & Style Library for Angular by Swimlane. Installing npm i @swimlane/ngx-ui --S Install the project's peer depencencies (moment, codem

Swimlane 654 Dec 24, 2022
A simple Angular-library with some widgets.

angular-workspace Contains a simple Angular-library with the next widgets: Clock Timer, crono, countdown Wizard Run: npm install to install all depend

Masiel Villalba 3 Apr 11, 2022
Monorepo for all the tooling related to using ESLint with Angular

Angular ESLint Monorepo for all the tooling which enables ESLint to lint Angular projects

angular-eslint 1.4k Dec 29, 2022
Reactive Extensions for Angular

RxAngular offers a comprehensive toolset for handling fully reactive Angular applications with the main focus on runtime performance and template rendering.

RxAngular 1.5k Jan 5, 2023
Semantic UI Angular Integrations

Semantic-UI-Angular Semantic-UI-Angular is a pure AngularJS 1.x set of directives for Semantic-UI components. We are considering Angular 2 support in

Semantic Org 561 Dec 28, 2022