Code Monkey home page Code Monkey logo

gwtbootstrap3's Introduction

GwtBootstrap3 Build Status Maven Central

NOTE: This project is inactive.

GWTBootstrap3 is a wrapper for Twitter Bootstrap, which helps you develop responsive, mobile first HTML, CSS, and JS projects on the web using Java and Google Web Toolkit (GWT).

Add GWTBootstrap3 to your project

You can easily add GWTBootstrap3 to your project by including the library as a Maven dependency.

<dependency>
    <groupId>org.gwtbootstrap3</groupId>
    <artifactId>gwtbootstrap3</artifactId>
    <version>VERSION</version>
    <scope>provided</scope>
</dependency>

Final Release

  • 1.0.1 - Released on 14 November 2019.
    • Based on Bootstrap v3.4.1
  • 1.0.0 - Released on 26 August 2019.
    • Based on Bootstrap v3.4.0
  • Demo - The GWTBootstrap3 1.0.0 Demo.
  • API Docs - The GWTBootstrap3 1.0.0 API Javadoc.
  • Supported Features - Current releases supported features.

Resources

  • Project Wiki - Help with getting started and other useful project help. Join the chat at https://gitter.im/gwtbootstrap3/gwtbootstrap3

gwtbootstrap3's People

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

gwtbootstrap3's Issues

ButtonGroup / RadioButton click event execute 2 times

I've create RadioButton and add to ButtonGroup.
After 1-click on the button, the handler will invoke for two times.

        RadioButton button = new RadioButton(label);
        button.addClickHandler(new ClickHandler() {
            @Override
            public void onClick(ClickEvent event) {
                GWT.log("click");
            }
        });

Heading subtext doesn't work via UIBinder

I think this is due to how setSubtext doesn't change the child element as it does in the constructor, and approach to fix should be consistent with how other approaches have been (and I'm not sure what that was) - probably checking if the element is attached etc.

Add targetHistoryToken to Button

Hyperlink or ListItem has the targetHistoryToken.

<g:Hyperlink targetHistoryToken="/doThe#thing">

or

<b:ListItem targetHistoryToken="/doThe#thing">

There is common usages let Bootstrap make a hyperlink <a class="btn...> looks like a button.
How about make a Button (or HyperLinkButton) that could do this?

Reference Error in 0.6-SNAPSHOT

In my experiment I am combining gwt-bootstrap3 with another framework that does touch events. (mgwt)

[ERROR] com.google.web.bindery.event.shared.UmbrellaException: Exception caught: Exception caught: 5 exceptions caught: Exception caught: Exception caught: (TypeError) @org.gwtbootstrap3.client.ui.Pre::prettyPrint()([]): Object [object global] has no method 'prettyPrint'; Exception caught: Exception caught: (TypeError) @org.gwtbootstrap3.client.ui.Pre::prettyPrint()([]): Object [object global] has no method 'prettyPrint'; Exception caught: Exception caught: (TypeError) @org.gwtbootstrap3.client.ui.Pre::prettyPrint()([]): Object [object global] has no method 'prettyPrint'; Exception caught: Exception caught: (TypeError) @org.gwtbootstrap3.client.ui.Pre::prettyPrint()([]): Object [object global] has no method 'prettyPrint'; Exception caught: Exception caught: (TypeError) @org.gwtbootstrap3.client.ui.Pre::prettyPrint()([]): Object [object global] has no method 'prettyPrint'
[ERROR] at com.google.web.bindery.event.shared.SimpleEventBus.doFire(SimpleEventBus.java:203)
[ERROR] at com.google.web.bindery.event.shared.SimpleEventBus.fireEvent(SimpleEventBus.java:88)
[ERROR] at com.google.gwt.place.shared.PlaceController.goTo(PlaceController.java:156)
[ERROR] at com.googlecode.mgwt.mvp.client.history.MGWTPlaceHistoryHandler.handleCurrentHistory(MGWTPlaceHistoryHandler.java:182)
[ERROR] at vendor.client.dash.mgwt.startup.MgwtEntryPoint.start(MgwtEntryPoint.java:90)
[ERROR] at vendor.client.dash.mgwt.startup.MgwtEntryPoint.access$0(MgwtEntryPoint.java:36)
[ERROR] at vendor.client.dash.mgwt.startup.MgwtEntryPoint$2.run(MgwtEntryPoint.java:147)
[ERROR] at com.google.gwt.user.client.Timer.fire(Timer.java:149)
[ERROR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[ERROR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
[ERROR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[ERROR] at java.lang.reflect.Method.invoke(Method.java:601)
[ERROR] at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103)
[ERROR] at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71)
[ERROR] at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:172)
[ERROR] at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessagesWhileWaitingForReturn(BrowserChannelServer.java:338)
[ERROR] at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:219)
[ERROR] at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:136)
[ERROR] at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:571)
[ERROR] at com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:279)
[ERROR] at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.java:91)
[ERROR] at com.google.gwt.core.client.impl.Impl.apply(Impl.java)
[ERROR] at com.google.gwt.core.client.impl.Impl.entry0(Impl.java:242)
[ERROR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[ERROR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
[ERROR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[ERROR] at java.lang.reflect.Method.invoke(Method.java:601)
[ERROR] at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103)
[ERROR] at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71)
[ERROR] at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:172)
[ERROR] at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessages(BrowserChannelServer.java:293)
[ERROR] at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:547)
[ERROR] at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:364)
[ERROR] at java.lang.Thread.run(Thread.java:722)
[ERROR] Caused by: com.google.gwt.event.shared.UmbrellaException: Exception caught: 5 exceptions caught: Exception caught: Exception caught: (TypeError) @org.gwtbootstrap3.client.ui.Pre::prettyPrint()([]): Object [object global] has no method 'prettyPrint'; Exception caught: Exception caught: (TypeError) @org.gwtbootstrap3.client.ui.Pre::prettyPrint()([]): Object [object global] has no method 'prettyPrint'; Exception caught: Exception caught: (TypeError) @org.gwtbootstrap3.client.ui.Pre::prettyPrint()([]): Object [object global] has no method 'prettyPrint'; Exception caught: Exception caught: (TypeError) @org.gwtbootstrap3.client.ui.Pre::prettyPrint()([]): Object [object global] has no method 'prettyPrint'; Exception caught: Exception caught: (TypeError) @org.gwtbootstrap3.client.ui.Pre::prettyPrint()([]): Object [object global] has no method 'prettyPrint'
[ERROR] at com.googlecode.mgwt.mvp.client.AnimatingActivityManager.onPlaceChange(AnimatingActivityManager.java:214)
[ERROR] at com.google.gwt.place.shared.PlaceChangeEvent.dispatch(PlaceChangeEvent.java:70)
[ERROR] at com.google.gwt.place.shared.PlaceChangeEvent.dispatch(PlaceChangeEvent.java:1)
[ERROR] at com.google.gwt.event.shared.GwtEvent.dispatch(GwtEvent.java:1)
[ERROR] at com.google.web.bindery.event.shared.EventBus.dispatchEvent(EventBus.java:40)
[ERROR] at com.google.web.bindery.event.shared.SimpleEventBus.doFire(SimpleEventBus.java:193)
[ERROR] ... 33 more
[ERROR] Caused by: com.google.gwt.user.client.ui.AttachDetachException: 5 exceptions caught: Exception caught: Exception caught: (TypeError) @org.gwtbootstrap3.client.ui.Pre::prettyPrint()([]): Object [object global] has no method 'prettyPrint'; Exception caught: Exception caught: (TypeError) @org.gwtbootstrap3.client.ui.Pre::prettyPrint()([]): Object [object global] has no method 'prettyPrint'; Exception caught: Exception caught: (TypeError) @org.gwtbootstrap3.client.ui.Pre::prettyPrint()([]): Object [object global] has no method 'prettyPrint'; Exception caught: Exception caught: (TypeError) @org.gwtbootstrap3.client.ui.Pre::prettyPrint()([]): Object [object global] has no method 'prettyPrint'; Exception caught: Exception caught: (TypeError) @org.gwtbootstrap3.client.ui.Pre::prettyPrint()([]): Object [object global] has no method 'prettyPrint'
[ERROR] at com.google.gwt.user.client.ui.AttachDetachException.tryCommand(AttachDetachException.java:87)
[ERROR] at com.google.gwt.user.client.ui.Panel.doAttachChildren(Panel.java:170)
[ERROR] at com.google.gwt.user.client.ui.Widget.onAttach(Widget.java:345)
[ERROR] at com.google.gwt.user.client.ui.Composite.onAttach(Composite.java:162)
[ERROR] at com.google.gwt.user.client.ui.Widget.setParent(Widget.java:475)
[ERROR] at com.google.gwt.user.client.ui.Panel.adopt(Panel.java:127)
[ERROR] at com.google.gwt.user.client.ui.SimplePanel.setWidget(SimplePanel.java:160)
[ERROR] at com.google.gwt.user.client.ui.SimplePanel.setWidget(SimplePanel.java:129)
[ERROR] at com.googlecode.mgwt.mvp.client.display.AnimatableDisplayBaseImpl.setFirstWidget(AnimatableDisplayBaseImpl.java:100)
[ERROR] at com.googlecode.mgwt.mvp.client.AnimatingActivityManager.showWidget(AnimatingActivityManager.java:357)
[ERROR] at com.googlecode.mgwt.mvp.client.AnimatingActivityManager.access$3(AnimatingActivityManager.java:354)
[ERROR] at com.googlecode.mgwt.mvp.client.AnimatingActivityManager$ProtectedDisplay.setWidget(AnimatingActivityManager.java:64)
[ERROR] at vendor.client.dash.presenter.AdminLoginActivity.start(AdminLoginActivity.java:20)
[ERROR] at com.googlecode.mgwt.mvp.client.AnimatingActivityManager.onPlaceChange(AnimatingActivityManager.java:200)
[ERROR] ... 38 more
[ERROR] Caused by: com.google.gwt.user.client.ui.AttachDetachException: Exception caught: Exception caught: (TypeError) @org.gwtbootstrap3.client.ui.Pre::prettyPrint()([]): Object [object global] has no method 'prettyPrint'
[ERROR] at com.google.gwt.user.client.ui.AttachDetachException.tryCommand(AttachDetachException.java:87)
[ERROR] at com.google.gwt.user.client.ui.Panel.doAttachChildren(Panel.java:170)
[ERROR] at com.google.gwt.user.client.ui.Widget.onAttach(Widget.java:345)
[ERROR] at com.google.gwt.user.client.ui.AttachDetachException$1.execute(AttachDetachException.java:34)
[ERROR] at com.google.gwt.user.client.ui.AttachDetachException.tryCommand(AttachDetachException.java:74)
[ERROR] ... 51 more
[ERROR] Caused by: com.google.gwt.user.client.ui.AttachDetachException: Exception caught: (TypeError) @org.gwtbootstrap3.client.ui.Pre::prettyPrint()([]): Object [object global] has no method 'prettyPrint'
[ERROR] at com.google.gwt.user.client.ui.AttachDetachException.tryCommand(AttachDetachException.java:87)
[ERROR] at com.google.gwt.user.client.ui.Panel.doAttachChildren(Panel.java:170)
[ERROR] at com.google.gwt.user.client.ui.Widget.onAttach(Widget.java:345)
[ERROR] at com.google.gwt.user.client.ui.AttachDetachException$1.execute(AttachDetachException.java:34)
[ERROR] at com.google.gwt.user.client.ui.AttachDetachException.tryCommand(AttachDetachException.java:74)
[ERROR] ... 55 more
[ERROR] Caused by: com.google.gwt.core.client.JavaScriptException: (TypeError) @org.gwtbootstrap3.client.ui.Pre::prettyPrint()([]): Object [object global] has no method 'prettyPrint'
[ERROR] at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:249)
[ERROR] at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:136)
[ERROR] at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:571)
[ERROR] at com.google.gwt.dev.shell.ModuleSpace.invokeNativeVoid(ModuleSpace.java:299)
[ERROR] at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeVoid(JavaScriptHost.java:107)
[ERROR] at org.gwtbootstrap3.client.ui.Pre.prettyPrint(Pre.java)
[ERROR] at org.gwtbootstrap3.client.ui.Pre.onLoad(Pre.java:86)
[ERROR] at com.google.gwt.user.client.ui.Widget.onAttach(Widget.java:350)
[ERROR] at com.google.gwt.user.client.ui.AttachDetachException$1.execute(AttachDetachException.java:34)
[ERROR] at com.google.gwt.user.client.ui.AttachDetachException.tryCommand(AttachDetachException.java:74)
[ERROR] ... 59 more

HTML5 Application cache

HTML5 offers caching to support using a web application in offline mode - the entire app/site (css files, javascript files, resources etc) can be cached on the browser so that next subsequent visits can be fulfilled from the cache (even when offline).

GWT compiler automatically generates lots of css and javascript files that are different every time GWT complies - so the manifest needs to reflect this new set each time (plus we could probably include some method to ensure the added Extra resources are cached as well).

As such, I'd like to add Manifest Linker support to the library - is that ok? If so, please assign to me.

Heading doesn't allow correct children

Similar to Span, the Heading doesn't allow the correct child elements.

I think there is a need for a new Inline class that extends ComplexWidget but limits the children to be only inline elements which are (TT | I | B | BIG | SMALL | EM | STRONG | DFN | CODE | SAMP | KBD | VAR | CITE | ABBR | ACRONYM | A | IMG | OBJECT | BR | SCRIPT | MAP | Q | SUB | SUP | SPAN | BDO | INPUT | SELECT | TEXTAREA | LABEL | BUTTON)

This is probably overly complex, and probably a simpler and realistically simple solution would be to just make Heading and Span (and any other incorrect elements) extend ComplexWidget (as Div does).

Unless there is object to this simpler approach, I'll submit a pull request with this done.

Update to Twitter Bootstrap 3.1

Twitter released a new version. Update to use it.

** Updated locally now, testing to make sure we cover all new features/nothing breaks.

Support Icon in InputGroupAddon

Currently this will cause an exception.

<b:InputGroup>
    <b:InputGroupAddon>
        <b:Icon type="USER"></b:Icon>
    </b:InputGroupAddon>
    <b:TextBox placeHolder="User Name" autoComplete="false"/>
</b:InputGroup>

Bootbox.js Support

Bootstrap modals not convenient for simple alert, confirm and prompt dialogs.
Bootbox.js do this well.

Bootbox sample in native JS code.

bootbox.alert("Hello world!", function() {
  Example.show("Hello world callback");
});

I would like create a bootbox wrapper like GWT Window.alert() static method.
Pseudo code:

// GWT Bootbox.js, JSNI implementation
Bootbox.alert("Message");

How about put this feature to this project?

Thank you.

CheckBox (form) has no get/set Value

The recently added CheckBox class does not expose the CheckBoxButton so you cannot programmatically determine the value of the checkbox within a form.

I'm guessing, like Issue #27 is should implement HasFormValue yeah??

G

Use ScriptInjector for JavaScript resources

Specifying JS resources in GWT module's XML file is deprecated and doesn't work with SuperDevMode. ScriptInjector should be used.

Similiar to this approach, create ClientBundles for (almost) every GWT module but inject the resources in EntryPoints for every module

Layout looks like Phone Device streched to 100% width on Internet Explorer 8

I'm using 0.6 snaphost version in my project, on IE8 there is problem with column layout.
Both on my page and project demo, layout looks like mobile design streched to 100% width, no reaction for column definition.

Screen attached:
gwt-demo-ie8

System: Windows 8, IE 10.0.12 run in IE8 mode with document IE8 type. Same problems on Windows XP default Internet Explorer 8

Button's element should be Anchor

The way it is right now, Button's element is "button." That doesn't allow users to use targetHistoryToken/href in order to navigate. We should move the Button's element tag to "a" to allow for this.

Misplaced dropdown 'indicator' and inner button icon for ListDropDownMenu (inside navbar) since 0.6-SNAPSHOT

Hi GWT Boostrap 3 authors!

First of all, congratulations and thank you on making such a great library:
Very useful and almost all Boostrap3 features-complete ( the only flaw i see is the javadoc, that really needs to be improved! :) )

I want to report a issue in current 0.6-SNAPSHOT with ListDropDownMenu inside navbar.
The 'drop down' indicator, and any icon added to the inner toggle button, is wrongly placed at the LEFT of the button's text. See screenshot below:

image

Here is the related UiBinder code:

    <g:HTMLPanel>
        <b:NavbarNav pull="RIGHT" ui:field="loggedInNav">
            <b:ListDropDown>
                <b:AnchorButton toggle="DROPDOWN" ui:field="loggedUserButton"
                    icon="USER" iconPosition="RIGHT" />
                <b:DropDownMenu>
                    <b:ListItem href="settings" icon="GEAR">Settings</b:ListItem>
                    <b:Divider />
                    <b:ListItem ui:field="logoutLink" icon="KEY">Logout
                    </b:ListItem>
                </b:DropDownMenu>
            </b:ListDropDown>
        </b:NavbarNav>
        <b:NavbarNav pull="RIGHT" ui:field="notLoggedInNav">
            <b:NavbarLink  addStyleNames="btn btn-success navbar-btn" ui:field="loginLink">Log In</b:NavbarLink>
        </b:NavbarNav>
    </g:HTMLPanel>

The same code works fine with 0.5 version...

Tine

Call native JS in onLoad() of Widgets

Since we're now using ScriptInjector we need to make sure to call all native JS (like binding of events) in onLoad() of Widgets and not in constructors.

No logical attachment is done when a Modal is displayed

This library emulates widgets very good on look&feel, but is too static. I mean when I start to do something dynamically, it works VERY bad ! Almost all widgets are based on Panel rather than some existing widgets provided by GWT by default (like DialogBox, PasswordTextBox, etc.). Well, maybe you don't have choice to build a graphically perfect widget library. But when a widget is attached to the DOM (usually by JSNI calls), only physical attachment is done, NO logical attachment is done at all !

Here is a simple example :

final Modal modal = new Modal();
modal.setTitle("Error");
ModalBody body = new ModalBody();
body.add(new Alert("This is an error", AlertType.DANGER));
modal.add(body);
modal.setFade(true);
modal.addHandler(new ModalHiddenHandler() {
    @Override
    public void onHidden(ModalHiddenEvent evt) {
      // When the modal is hidden (after animation), it shold be detached
      // from the DOM ; But since modal is NOT attached logically, GWT
      // does not know it is attached, who is its parent, etc. So this code
      // simply does NOTHING ! To fix it, I have to add :
      // RootPanel.get().add(modal); on the onShown(evt) handler to
      // perform manually the logical attach. But it's clearly not the proper way!
      modal.removeFromParent();
    }
}, ModalHiddenEvent.getType());
modal.show();

I guess there are too many this kind of critical issues in the current version and hope you can provide a fix in the next release.

ListItem constrained with Text

Hi guys,
First I want to congratulate your efforts - framework looks very promising and I'm already seriously considering it.
Allow me to raise some issues in the process:
I wanted to create a side navigation bar, and extend a menu item with a sub-menu (the way components are listed in the bootstrap main site). I couldn't do it without creating my own widget from scratch because:
ListItems are constructed as HasText widgets and can only accept Texts in the body. I personally don't see the value of this. We could easily use a text property instead - which is what I'm doing in my own widget.
The ultimate goals of the widgets is to create the following HTML structure (for submenu support):

  • Navs
  • Thank you again.

    inherits GwtBootstrap3 or GwtBootstrap3NoTheme

    DateTimePicker.gwt.xml inherits GwtBootstrap3,
    this module includes theme files.

    If I use DateTimePicker and GwtBootstrap3NoTheme in my project.
    It will cause a conflict.

    A solution is create a DateTimePickerNoTheme.gwt.xml.
    Is this ok?

    Thanks.

    Create GwtBootstrap3CDN module.

    Change GwtBootstrap3NoTheme to be more minimal or have another GwtBootstrap3Bare that is suitable for CDN where you load "EVERYTHING" from the CDN site and only the GWT compile JS from GwtBootstrap3 lib that expects the CSS/JS and fonts to be loaded in the HTML manually by the user.

    ListItem always contains an anchor

    ListItem extends from AbstractAnchorListItem and thus always contains an <a> tag. This is fine and intended when ListItem for example is used within a dropdown menu but when ListItem is used in an OrderedList or UnorderedList all items are hyperlinks which might not be intended.

    Need to think of a way to make ListItem independent of an anchor without breaking existing code.

    Badge should behave like a SPAN parent element and allow children

    Badge has been constructed as a AbstractTextWidget, but in fact it is really a SPAN and should therefore behave like this and allow child elements.

    For example, this isn't achievable with the current approach.

    <span class="badge pull-right badge-color"><i class="fa fa-spin fa-cog"></i> Saving</span>

    Happy to make the changes, but will likely break things unless we pollute the library with BadgePanel (of which I think is the wrong approach). Badge and other Span based elements should have always allowed child elements and adding Text should be the way given GWT doesn't allow another way of having UIBinder have Text and Child widgets in XML.

    Should custom left/right/bottom tabs be an extra ?

    Hi,

    I've noticed that with the recent update to tabs you now have some css included that isn't used and is extra beyond the normal bootstrap css

    Wondering if being consistent that should this be part of an "extra" plugin?

    I'm not all that keen on having extra resource files being required (meaning my client download time is impacted) for content that I'm not using or wanting.

    Demo source code erros

    In "List Group" page,
    sample code has errors.

    Root tag not start and end correct.

    <b:LinkedGroup/>
      <b:LinkedGroupItem active="true" text=""/>
      <b:LinkedGroupItem text=""/>
      <b:LinkedGroupItem text=""/>
    </b:LinkedGroup/>
    

    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.