Giter Site home page Giter Site logo

bootstrap-vue-next / bootstrap-vue-next Goto Github PK

View Code? Open in Web Editor NEW
1.0K 22.0 91.0 44.6 MB

Early (but lovely) implementation of Vue 3, Bootstrap 5 and Typescript

Home Page: https://bootstrap-vue-next.github.io/bootstrap-vue-next/

License: MIT License

JavaScript 0.49% HTML 0.09% Vue 34.45% TypeScript 63.83% Shell 0.01% SCSS 1.13%
bootstrap vue typescript vue3 bootstrapvue components component-library bootstrap5

bootstrap-vue-next's Introduction

BootstrapVueNext

Early (but lovely) implementation of Vue 3, Bootstrap 5 and Typescript


Current version Bootstrap version Vue.js version Last commit
npm downloads npm weekly downloads
Open Collective sponsors Open Collective backers Open Collective balance

Why BootstrapVueNext?

BootstrapVueNext is an attempt to have the BootstrapVue components in Vue3, Bootstrap 5, and typescript. Another goal is to have the components written in a simple and readable way for a better developer experience

Contribute & support πŸ™Œ

This project is still in alpha version so there is a lot of work to do. If you want to contribute you can:

Read our Contribution Guide on how to start helping

Documentation

License

Released under the MIT License. Copyright (c) BootstrapVueNext

bootstrap-vue-next's People

Contributors

aceofwings avatar andriymiz avatar anrolmar avatar atilleul avatar catfever avatar cdmoro avatar dagnelies avatar devhus avatar dploc96 avatar dwgray avatar geoffrey-d avatar github-actions[bot] avatar igx89 avatar imanmalekian31 avatar jclijmans avatar makroxyz avatar mariusa avatar mrtanoshii avatar parafeu avatar phlegx avatar protomors avatar rotair avatar sceee avatar sfe-efficy avatar stirstudios avatar tvaliasek avatar vividlemon avatar xmatthias avatar xvaara avatar ysnchz avatar

Stargazers

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

Watchers

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

bootstrap-vue-next's Issues

BFormCheckbox does not support v-model

the BFormCheckbox component does not support v-model

  <div>{{ vartocheck }}</div>
  <b-form-checkbox v-model="vartocheck">Default</b-form-checkbox>

and the the setup method in the script
setup() {
const vartocheck = ref(false);
return {
vartocheck
}
});

bug : BFormSelect - After selecting multiple options, visual select state is not retained

BFormSelect with multiple property set : when you select multiple options (initially, manually or via code), the visual indication of selected options is not retained

You can test it in the docs page of BFormSelect

image

or using this

<template>
  <b-card>
    <b-form-select
      v-model="exMultiSelected"
      :options="exMultiOptions"
      multiple
      :select-size="4"
    ></b-form-select>
    <div class="mt-3">
      Selected: <strong>{{ exMultiSelected }}</strong>
    </div>
    <div>
      <button class="btn btn-primary" @click="setSelected">Set selected</button>
    </div>
  </b-card>
</template>

<script lang="ts" setup>
import {ref} from 'vue'

const exMultiSelected = ref(['b'])
const exMultiOptions = [
  {value: 'a', text: 'This is First option'},
  {value: 'b', text: 'Default Selected Option'},
  {value: 'c', text: 'This is another option'},
  {value: 'd', text: 'This one is disabled', disabled: true},
  {value: 'e', text: 'This is option e'},
  {value: 'f', text: 'This is option f'},
  {value: 'g', text: 'This is option g'},
]

const setSelected = () => (exMultiSelected.value = ['a', 'b'])
</script>

BDropdown with auto-close=false closes the dropdown by pressing esc key

According to the Bootstrap 5 documentation :

autoclose boolean | string true
false - the dropdown will be closed by clicking the toggle button and manually calling hide or toggle method. (Also will not be closed by pressing esc key)

I've tested the current implementation and the dropdown closes when you press esc.
At least when the dropdown has focus.

I've tested the same behavior at the Bootstrap 5 doc site : see here and the dropdown is not closed using the esc key.

BFormCheckbox does not emit the change event when label clicked

When clicking on the checkbox input element, a "change" event is emitted.
Clicking on the label of the checkbox does toggle the checked value, but no "change" event is emitted.
This could lead to problems when an application relies on the change event.

Reason :
The generated label tag has no "for" attribute. And secondly, the id of the input element can be undefined which also results in no event emitted even when the for attribute of the label is correctly set.

The solution I propose, is to set the for attribute on the label and to set the default value of prop id to getID (from util).

I can create a PR for it, but I'm waiting for PR #42 to be completed because it also involves the BFormCheckbox

please remove bundled bootstrap-icons

Following up on 6074855

I'm not sure why this library should provide bootstrap icons custom support. Bootstrap doesn't require bootstrap-icons. Bootstrap includes some required svgs, eg the arrow down on form-select.
An alternative library, bootstrap-icons-vue, could be provided for the folks wanting custom support for bootstrap icons.

One can use bootstrap icons, font awesome, primevue icons, etc, all with the standard way:

  1. link to CDN css
  2. use <i class="fa fa-gear"></i> (all icons libraries have the same syntax).

By using bootstrap, I shouldn't be forced to include bootstrap icons custom support.

Question regarding BIcon size property

The bootstrap-vue BIcon component does not have a size property.
As stated in the documentation,

  • "Icons have a default width and height of 1em, which means they will scale with the size of the current font size"
  • "You can also use custom CSS to set the icon size, either via direct style attribute, or via custom classes"
  • "You can also use the prop font-scale to scale the icon's current font size by the specified factor"

The current implementation has the size property which sets the font-size. Should we leave it as a shortcut to use instead of custom css or remove it to be compatible with the bootstrap-vue implementation?

I don't want to break anyone's work.

SSR friendly constants

Hey, just did some test with upcoming bootstrap 3.2 since it has fixed problems in their javascript with SSR node environment.

twbs/bootstrap#34989

Noticed you're using HTMLElement as prop type in dropdown and it's not available on node environment so you need to override it:

export const HTMLElement = typeof window !== undefined
 ? window.HTMLElement
 : class HTMLElement extends Object {}

in bootstrapVue:
https://github.com/bootstrap-vue/bootstrap-vue/blob/1d59417df6869e2b04c651f6caeed9474cf14a84/src/constants/safe-types.js

btw. thanks for doing this. Gonna contribute something in the future.

Use the Bootstrap javascript API?

Hi @cdmoro ,

I guess you and I are coming from the same point of of waiting too long for bootstrapvue to be updated. I had already created THIS repository with a similar goal, and I have looked at your components. I had an idea, instead of using the data api (data-bs-), since bootstrap already provides a pure javascript API for the components, why not use bootstrap's javascript directly?

I had done a collapse component and a collapse directive and you can get the idea here:

// Collapse.vue Component
<template>
  <div v-collapse="{ state: show, parent: parent }">
    <slot></slot>
  </div>
</template>
<script lang="ts">
import BCollapse from "@/directives/BCollapse";
import { defineComponent, ref, Ref, toRef } from "vue";
export default defineComponent({
  name: "VbCollapse",
  props: {
    show: {
      type: Boolean,
      default: false,
    },
    parent: {
      type: ref,
      default: null,
    },
  },
  setup(props) {
    const show: Ref<Boolean> = toRef(props, "show");
    const parent = toRef(props, "parent");
    return {
      show,
      parent,
    };
  },
  directives: {
    collapse: BCollapse,
  },
});
</script>
// BCollapse directive
import { DirectiveBinding, VNode } from "vue";
import Collapse from "bootstrap/js/src/collapse";
const getBsCollapse: any = (el: HTMLElement | Element, binding: DirectiveBinding) => {
  const state = binding.value?.state || false;
  const parent = binding.value?.parent || null;
  return new Collapse(el, { toggle: state, parent: parent || '' });
}
export default {
  created(el: HTMLElement, binding: DirectiveBinding, vnode: VNode) {
    el.classList.add("collapse");
    getBsCollapse(el, binding);
  },
  beforeUpdate(el: Element, binding: DirectiveBinding, vnode: VNode) {
    const state = binding.value?.state || false;
    if (state) {
      getBsCollapse(el, binding).show();
    } else {
      getBsCollapse(el, binding).hide();
    }
  },
}

Usage of the collapse component

<template>
    <vb-button variant="danger" @click="toggleCollapse">Toggle Collapse</vb-button>
    <vb-collapse :show="collapse">
      <h3>Hi There!</h3>
      <p>
        Hi there! I am a collapsable element that can only be shown once show is
        set to true.
      </p>
    </vb-collapse>
</template>
<script lang="ts">
import vuebootstrapSample from "@/lib-components/vuebootstrap-sample.vue";
import VbButton from "@/lib-components/buttons/Button.vue";
import VbCollapse from "@/lib-components/collapse/Collapse.vue";
import VbAccordionItem from "@/lib-components/accordion/AccordionItem.vue";
import VbAccordion from "@/lib-components/accordion/Accordion.vue";
import { defineComponent, ref } from "vue";

export default defineComponent({
  components: {
    vuebootstrapSample,
    VbButton,
    VbCollapse,
    VbAccordion,
    VbAccordionItem,
  },
  name: "ServeDev",
  setup() {
    const collapse = ref(false);
    const toggleCollapse = () => {
      collapse.value = !collapse.value;
    };
    return {
      toggleCollapse,
      collapse,
    };
  },
});
</script>

As you can see the only prop that you need to pass is show and it allows for programmatic opening and closing as it should be in vue.

Let me know in case you are interested in collaboration.

Cheers!

Semantic versioning

Hey,

It would be pretty good to use conventional commits and conventional changelog,

Them the changelog will be generated !

BFormChexboxGroup ignores the required property

BFormCheckboxGroup doesn't handle the required property.

According to the documentation :

The name is required in order for Assistive Technologies (such as screen readers, and keyboard only users) to know which checkboxes belong to the same form variable (the name also automatically enables native browser keyboard navigation), hence required will only work if name is set. will automatically generate a unique input name if one is not provided on the group.

BFormCheckboxGroup does not set the required attribute even when name is also set

Implementation of BFormRadio bound to an array not compatible with bootstrap-vue

When you bind some BFormRadio components to the same array, the behavior of the radio's is not compatible with bootstrap-vue

In bootstrap-vue, only 1 radio can be selected at any time.
In bootstrap-vue-3 implementation, multiple radio's can be selected.

I created this issue to discuss the implementation.

In my opinion, we should be compatible with bootstrap-vue

Compiler error when trying to run the docs site

Hello,

After contributing to the BFormCheckbox component, I thought it might be good to have some documentation about it.
So I started to look into the doc site

I tried to compile the site locally by running "yarn run docs:dev", but this gives a compilation error

Error: Compiling RuleSet failed: Unexpected property test in condition (at ruleSet[1].rules[1].resource.test: resource => {
currentResource = resource
return true
})

It seems this is an issue with vue-loader
Updating this does not work because there are inconsistent version requirement for vue-loader
vue-cli-service needs vue-loader "^15.9.2"
vuepress needs vue-loader "^16.5.0"

It would be nice to have a contribution guide on how to setup your local dev environment to be able to contribute.

Thanks for your effort

BDropdown does not expose the hide method on the default slot

In Bootstrap-vue, the BDropdown has the hide method in the scope of the default slot. This method can be used to manually close the dropdown.

Usage of this feature can be a b-dropdown-form where you want to submit a form and close the dropdown after successful completion.

Are we going to export this method on the scope?
I'm currently making the docs for BDropdown and have for now not documented the scope nor the b-dropdown-form because I could not create a working sample.

[Vue warn]: Invalid VNode type: Symbol(Comment) (symbol) with vue 3.2.0-beta.7

Hi,

<b-card>
test
</b-card>

gives

[Vue warn]: resolveComponent can only be used in render() or setup().
warn @ bootstrap-vue-3.js?v=bcb08cc3:1059
resolveAsset @ bootstrap-vue-3.js?v=bcb08cc3:4868
resolveDynamicComponent @ bootstrap-vue-3.js?v=bcb08cc3:4841
BCardvue_type_template_id_57ef5384_render @ bootstrap-vue-3.js?v=bcb08cc3:16802
renderComponentRoot @ chunk-LM6U7U6R.js?v=bcb08cc3:1730
...

[Vue warn]: Invalid VNode type: Symbol(Comment) (symbol)  at <BCard> 

The card is rendered, with with no content.

Please document how to install & get started

Hi, thanks for this project!

How can one get started? I'd assume something like this?

npm i --save bootstrap-vue-3
# this will also install bootstrap

in main.js/ts, add

import ??
import 'bootstrap/scss/bootstrap.scss'

Shouldn't bootstrap be listed in dependencies section in package.json, so it's also installed & available in production, rather than devDependencies ?

parity checklist with bootstrap-vue

Awesome to see this project grow into big set of components. Code seems much more readable than the original project which i think will help with more contributors over time.

Given that a number of us are looking for trying to experimentally switch, it would be great to have a list of covered and not-covered components, as well as full vs partial replication (prop/slot/functionality missing) with the bootstrap-vue lib. This would be extremely helpful to know when coverage is good enough to start switching. My guess is the more people try to switch, the more PRs this project will have.

BFormRadio warning when bound to an object

When a BFormRadio is bound to an object, in development mode following warning is displayed
[Vue warn]: Invalid prop: type check failed for prop "modelValue". Expected Boolean | String | Array, got Object

The prop modelValue definition does not specify the Object option.

This is a warning in development, but I'm not sure if it doesn't create an error in production mode.

Question: When can we expect b-table component?

At first, I just want to stress this is not any kind of complaint. :-)
I would just like to know if there is any expected (approximate) date when b-table component (with the functionality comparable with that one from the original Bootstrap-Vue) will be released. We really need to use such table component in our project so I need to decide if to wait for this library or try some other way.
Thanks to @cdmoro and all other contributers to this great project!

BFormCheckbox bound to array do not react when modelValue changed by code

When you change the modelValue by code, the checkboxes should react and set their checked state accordingly.
Currently BFormChecbox does not react

I've tested it with App.vue for the car selection example by putting a button that sets the ref bound to modelValue

When bound to a single value, the checkboxes do react.

BFormCheckbox plain property not compatible with bootstrap-vue

In bootstrap-vue-2, the plain property seems to behave exact the opposite of the behavior of bootstrap-vue.

In bootstrap-vue from the documentation :
property plain, type Boolean, Default false, Render the form control in plain mode, rather than custom styled mode

In bootstrap-vue-3, the plain property has default value true and it's behavior is exactly the opposite of the behavior in bootstrap-vue.
If I set the property plain to true, the checkbox is rendered in custom styling.

This seams to me to be very confusing. If I set the plain property to true, I expect it to rendered plain (As the browser renders it)
Also it's not helping people migrating from bootstrap-vue.

Is this intentionally, or is this a bug?

npm install error

npm install
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving: [email protected]
npm ERR! Found: [email protected]
npm ERR! node_modules/eslint
npm ERR! dev eslint@"^7.32.0" from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer eslint@">= 1.6.0 < 7.0.0" from @vue/[email protected]
npm ERR! node_modules/@vue/cli-plugin-eslint
npm ERR! dev @vue/cli-plugin-eslint@"~4.5.0" from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!
npm ERR! See C:\Users\jvbor\AppData\Local\npm-cache\eresolve-report.txt for a full report.

npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\jvbor\AppData\Local\npm-cache_logs\2021-08-12T17_36_46_149Z-debug.log

Seems to be a issue with incompatible version of cli-serve and eslint, eslint 7 it's only supported on cli-service beta 5

Cannot find module 'bootstrap-icons/bootstrap-icons.svg' or its corresponding type declarations

Being able to import "bootstrap-icons.svg" in BIcon.vue in a Typescript project require the following config in the project file src/custom.d.ts:

declare module "bootstrap-icons/*.svg" {
  const path: string;
  export default path;
}

Without this file, the following error is generated:
TS2307: Cannot find module 'bootstrap-icons/bootstrap-icons.svg' or its corresponding type declarations.

I think that we need to specify this somewhere in the documentation!

versioning schema: please use 0.x.x

As this project evolves rapidly, I'd like to always use the latest version without changing my project package.json every time. One can use

"bootstrap-vue-3": "0.x.x"

which will always reference the latest version.

The current naming scheme '0.x.x-alpha.2' breaks this.
Would you please use only '0.0.3', '0.0.4'... , without "alpha"?

Thanks!

Use relative paths instead of absolute (@) paths

Hello Carlos,

I noticed you reverted the pull request that was changing absolute paths into relative paths.
Unfortunately absolute paths with "@" lead to errors when importing your project as a dependency in our Vue application.
There is maybe a way to configure Vue Loader or Webpack to distinguish your absolute paths to our project structure. But we would like to keep using relative paths in the fork we made, as I noted that other projects such as BootstrapVue only use relative paths too. Probably a good practice to prevent issues(?)

Is it possible for you not to use absolute paths?
It would help us to maintain our fork and provide you some pull requests in the future.

Thanks!

BFormChecbox and BFormRadio don't work anymore after PR #64

Simple checkbox like this doesn't work

  <div class="row">
    <b-form-checkbox v-model="checkedDefault" class="col-4">Default</b-form-checkbox>
    <div class="col-6">Checked: {{ checkedDefault }}</div>
  </div>

There is a syntax error in the BFormCheckbox template, but even with that fixed, it still doesn't work

I'll see if I can figure out what's going on and try to make it work again.

BDropdown split button is as width as the parent when in block mode.

In block mode , the whole dropdown should span to the full width of a parent.
In case of a split button, the left button and the split button are both the widt of the parent resulting in two buttons that are stacked upon each other

Example :

  <b-card>
    <b-dropdown
      text="Block Level Split Dropdown"
      block
      split
      split-variant="outline-primary"
      variant="primary"
      class="m-2"
    >
      <b-dropdown-item href="#">Action</b-dropdown-item>
      <b-dropdown-item href="#">Another action</b-dropdown-item>
      <b-dropdown-item href="#">Something else here...</b-dropdown-item>
    </b-dropdown>
  <:b-card>

ref is broken on form inputs

Queries regarding future of bootstrap-vue-3

Hi @cdmoro,

I am JD. We at PIXINVENT created the most popular Vuexy Admin Template based on BootstrapVue.

As people are asking for Vue 3, we are checking your framework and its feasibility of migration for our template. We have queries before we start working on it, it will help us proceeding further if you can spare some time to let us know about the below queries:

  • When we can expect the BETA version of the framework?
  • Do you have any roadmap for the progress of the framework? (GitHub project will be great)
  • When documentation will get updated?
  • Do you have a playground where we can play with components? (Like Vuetify have on their docs)

We are looking forward to your reply.

Regards.

Missing b-card-group and b-card-img

Hello,

I am migrating to Vue3 and so I am using your package and I get some errors:

<template>
  <div class="col-sm-12">
    <b-card-group deck v-for="(itemByRow, itemByRowIndex) in itemsByRow" :key="itemByRowIndex">
      <div v-for="(item, itemSector) in itemByRow" :key="itemSector">
      <b-card no-body header-text-variant="black" align="center" tag="article" style="max-width: 200px;">
        <div
          id="hovercard"
          :disabled="!isEnabled(item)"
          :class="getItemClass(item)"
          @click="setSelectedItem(item)"
        >
          <b-card-img :src="getImgSrc(item)" alt="Image" top />
          <p>{{item.label}}</p>
        </div>
      </b-card>
      </div>
    </b-card-group>
  </div>
</template>
Vue warn]: Failed to resolve component: b-card-img
[Vue warn]: Failed to resolve component: b-card-group

Thanks for your work

Tooltip directive is not dynamic

Hello devs,

I'm currently working on a project that needs the tooltip directive to be dynamic. It means that if the title prop changes, it should behave like the Title labelled button here : https://bootstrap-vue.org/docs/directives/tooltip#title-content

For now, when we change the title props dynamically, it does hide the tooltip and it doesn't update the data inside the tooltip (I used the example from the bootstrap vue website).

Workaround

image
I tried to find a workaround and it kinda worked when I've changed the instance?.hide() line to instance?.update(). (src/directives/BTooltip.ts#L65)
It doesn't update dynamically but the tooltip doesn't hide anymore when the trigger is still active. And also, when the trigger is active, unactive, then active again, it will update the data inside the tooltip, For instance, hover, mouse away then hover, it will change the data between the 2 trigger's active moments.

I haven't gone further into the code to try to fix the other problems so I'm asking for your help.

Hearts on you and good luck ❀️ πŸ€

BIcon error

npm run dev

open browser, blank page.

console output:

BIcon.vue:17 Uncaught ReferenceError: require is not defined at BIcon.vue:17 (anΓ΄nimo) @ BIcon.vue:17

BFormInput: Value reset if type changes

I'm trying to migrats a BoostrapVue project to this library, and one of the things I noticed was when using an imput with a custom "Show password" button. It worked fine for thee most part, but it uses something like

: type='showPassword ? "text" : "password"'

on a BFormInput.
With this library, when the the type changes, the value gets reset.

BFormSelect initial selected option not set when value = null

When an option in BFormSelect has value null, it is not selectable (not initially, manually or via code)

You can see it in the first example on the docs page of BFormSelect. In BootstrapVue, this example works.

or you can use

<template>
  <b-card>
    <b-form-select v-model="ex1Selected" :options="ex1Options"></b-form-select>
    <div class="mt-3">
      Selected:
      <strong>{{ ex1Selected }} , Selected value == null ? {{ ex1Options === null }}</strong>
    </div>
    <div>
      <button class="btn btn-primary" @click="setSelected">Set selected</button>
    </div>
  </b-card>
</template>

<script lang="ts" setup>
import {ref} from 'vue'

const ex1Selected = ref(null)
const ex1Options = [
  {value: null, text: 'Please select an option'},
  {value: 'a', text: 'This is First option'},
  {value: 'b', text: 'Selected Option'},
  {value: {C: '3PO'}, text: 'This is an option with object value'},
  {value: 'd', text: 'This one is disabled', disabled: true},
]
const setSelected = () => (ex1Selected.value = ex1Options[0].value)
</script>

BFormInput formatter does not work

The formatter property for BFormInput does not work.
The format function is called, but the resulting formatted text is not put into the input control.

To test :

<template>
  <b-card>
    <div role="group">
      <label for="input-formatter">"Text input with formatter (on input)"</label>
      <b-form-input
        id="input-formatter"
        v-model="formatInputText"
        placeholder="Enter your name"
        :formatter="lowerCaseFormatter"
      ></b-form-input>
      <b-form-text>We will convert your name to lowercase instantly</b-form-text>
    </div>
  </b-card>
</template>

<script lang="ts" setup>
import {ref} from 'vue'

const formatInputText = ref('')
const lowerCaseFormatter = (value: string) => {
  const result = value.toLowerCase()
  return result
}
</script>

Release as a Package?

I've been trying to search on yarn, docs and the source code on how to install only to realize that it's been marked private on the package.json file.

My question is, when will this be released as a yarn/npm package? Do you guys have plans on doing so?

Thanks in advance!

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.