New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Object spread : less jQuery more ES6 #24665

Merged
merged 2 commits into from Nov 13, 2017

Conversation

Projects
5 participants
@Johann-S
Member

Johann-S commented Nov 3, 2017

This PR will remove the use of $.extend in favor of this awesome ES6 feature : https://babeljs.io/docs/plugins/transform-object-rest-spread/ which will do the same as $.extend but without jQuery 馃槃

Currently I only made the change for our Tooltips but if everybody is ok I'll do the same for our other plugins 馃憤

@Johann-S Johann-S added js v4 labels Nov 3, 2017

@Johann-S Johann-S requested review from XhmikosR and bardiharborow Nov 3, 2017

Show outdated Hide outdated package.json
@XhmikosR

This comment has been minimized.

Show comment
Hide comment
@XhmikosR

XhmikosR Nov 3, 2017

Member

Regarding the changes, LGTM, so yeah, I'd say go ahead and make the changes in the rest of the code.

Member

XhmikosR commented Nov 3, 2017

Regarding the changes, LGTM, so yeah, I'd say go ahead and make the changes in the rest of the code.

Show outdated Hide outdated package.json
@Johann-S

This comment has been minimized.

Show comment
Hide comment
@Johann-S

Johann-S Nov 5, 2017

Member

It seems they are no beta 2 for this plugin @XhmikosR see : https://libraries.io/npm/@babel%2Fplugin-proposal-object-rest-spread
Which one should I choose ?

Member

Johann-S commented Nov 5, 2017

It seems they are no beta 2 for this plugin @XhmikosR see : https://libraries.io/npm/@babel%2Fplugin-proposal-object-rest-spread
Which one should I choose ?

@XhmikosR

This comment has been minimized.

Show comment
Hide comment
@XhmikosR

XhmikosR Nov 5, 2017

Member

beta.5? I still hope @hzoo will help us update to the latest so it should be OK if the transpiled code is OK :)

Member

XhmikosR commented Nov 5, 2017

beta.5? I still hope @hzoo will help us update to the latest so it should be OK if the transpiled code is OK :)

@XhmikosR

This comment has been minimized.

Show comment
Hide comment
@XhmikosR

XhmikosR Nov 8, 2017

Member

@Johann-S: rebased. I don't get any changes in package-lock.json; is something wrong? Maybe we don't need the extra package?

Member

XhmikosR commented Nov 8, 2017

@Johann-S: rebased. I don't get any changes in package-lock.json; is something wrong? Maybe we don't need the extra package?

@hzoo

This comment has been minimized.

Show comment
Hide comment
@hzoo

hzoo Nov 8, 2017

Contributor

@XhmikosR oh yeah this is because we added a new option in preset-env in v7 called shippedProposals https://github.com/babel/babel/tree/master/experimental/babel-preset-env#shippedproposals

anything that's Stage 3 in browsers including object rest spread, so since it's not npm 2 it will pick it up, so you can just do that option true or do what you have and it's fine too (to be explicit)

Contributor

hzoo commented Nov 8, 2017

@XhmikosR oh yeah this is because we added a new option in preset-env in v7 called shippedProposals https://github.com/babel/babel/tree/master/experimental/babel-preset-env#shippedproposals

anything that's Stage 3 in browsers including object rest spread, so since it's not npm 2 it will pick it up, so you can just do that option true or do what you have and it's fine too (to be explicit)

@Johann-S

This comment has been minimized.

Show comment
Hide comment
@Johann-S

Johann-S Nov 8, 2017

Member

I removed the extra package and added shippedProposals: true in our .babelrc.js
is it what you suggested to us @hzoo ?

Member

Johann-S commented Nov 8, 2017

I removed the extra package and added shippedProposals: true in our .babelrc.js
is it what you suggested to us @hzoo ?

@hzoo

This comment has been minimized.

Show comment
Hide comment
@hzoo

hzoo Nov 8, 2017

Contributor

If you add shippedProposals then you don't need the '@babel/proposal-object-rest-spread' in the plugins config since it turns it on for you (I was just explaining why it looks like the package lock didn't change).

Although if you are only going to use object rest spread I would just explicitly add that as a plugin and not use shippedProposals, just depends on what is easier to understand

Contributor

hzoo commented Nov 8, 2017

If you add shippedProposals then you don't need the '@babel/proposal-object-rest-spread' in the plugins config since it turns it on for you (I was just explaining why it looks like the package lock didn't change).

Although if you are only going to use object rest spread I would just explicitly add that as a plugin and not use shippedProposals, just depends on what is easier to understand

@Johann-S

This comment has been minimized.

Show comment
Hide comment
@Johann-S

Johann-S Nov 8, 2017

Member

I think it's ok to use shippedProposals because it will only add what we need on our dist files so as we don't use the other feature that's ok, because no extra size will be added for unused features

Member

Johann-S commented Nov 8, 2017

I think it's ok to use shippedProposals because it will only add what we need on our dist files so as we don't use the other feature that's ok, because no extra size will be added for unused features

@hzoo

This comment has been minimized.

Show comment
Hide comment
@hzoo

hzoo Nov 8, 2017

Contributor

Yeah totally I agree, it's just that it allows someone to use new syntax and it won't error (but I guess since you commit the dist files you will see the change anyway then 馃憤)

Contributor

hzoo commented Nov 8, 2017

Yeah totally I agree, it's just that it allows someone to use new syntax and it won't error (but I guess since you commit the dist files you will see the change anyway then 馃憤)

@Johann-S

This comment has been minimized.

Show comment
Hide comment
@Johann-S
Member

Johann-S commented Nov 12, 2017

@XhmikosR ping

Johann-S and others added some commits Nov 3, 2017

@Johann-S

This comment has been minimized.

Show comment
Hide comment
@Johann-S

Johann-S Nov 13, 2017

Member

Special thanks to @hzoo for his awesome feedbacks 馃憤 and thank you @XhmikosR as always 馃憤

Member

Johann-S commented Nov 13, 2017

Special thanks to @hzoo for his awesome feedbacks 馃憤 and thank you @XhmikosR as always 馃憤

@Johann-S Johann-S merged commit 9a0bba9 into v4-dev Nov 13, 2017

3 checks passed

bundlesize Good job! bundle size < maxSize
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
continuous-integration/travis-ci/push The Travis CI build passed
Details

@Johann-S Johann-S deleted the v4-dev-johann-object-spread-es6 branch Nov 13, 2017

@los93sol

This comment has been minimized.

Show comment
Hide comment
@los93sol

los93sol Nov 14, 2017

Does the move to ES6 mean IE11 is no longer compatible?

los93sol commented Nov 14, 2017

Does the move to ES6 mean IE11 is no longer compatible?

@XhmikosR

This comment has been minimized.

Show comment
Hide comment
@XhmikosR

XhmikosR Nov 14, 2017

Member
Member

XhmikosR commented Nov 14, 2017

@vsn4ik vsn4ik referenced this pull request Nov 14, 2017

Merged

Simplify spread #24774

@Johann-S Johann-S added this to Inbox in v4 Beta 3 via automation Nov 15, 2017

@mdo mdo referenced this pull request Nov 15, 2017

Closed

Beta 3 ship list #24439

@mdo mdo moved this from Inbox to Shipped in v4 Beta 3 Nov 15, 2017

gijsbotje added a commit to gijsbotje/bootstrap that referenced this pull request Dec 30, 2017

merge after v4-beta3 release
* append btn-* and input-* variables and extends their from input-btn-* variables

* Update _variables.scss

* edit code comments

* dist

* Add unit tests for util.js

* update new focus and shadow properties to use vars

* dist

* dist

* dist

* Add `table-row` in documentation (#24551)

* form y space in doc

* Dropdown handle keydown on input and textarea.

* Fix unit tests.

* fixes #24574

* dist

* Revamp docs About section (#24589)

- Drops the Team page for privacy and accuracy. I don't want to pressure folks into feeling committed to the project through a page like this, and it also doesn't allow folks any privacy option (as you can hide org membership on your GitHub profile).
- Moves the History page into an Overview page, which includes an updated history page and a quick team blurb at the top.
- Added redirects to the new Overview page from Team and History

* Add fallback border-radius to .btn (#24505)

Fixes #24503 by manually calling the border-radius instead of using the mixin.

* Remove invalid bower.json (#24584) (#24590)

* Add information about the fact we do not use Popper.js for Dropdown c鈥 (#24571)

* Add information about the fact we do not use Popper.js for Dropdown contained in navbars

* Update dropdowns.md

* Update dropdowns.md

* Remove the now unused _data/core-team.yml and the relevant scss. (#24593)

* dist

* Add `.modal-dialog-centered` for optional vertically centered modal (#24510)

* Add .modal-dialog-centered for optional vertically cenetered modal

Fixes #23638

* adds modal-dialog-centered class to docs and removes margin to avoid generating a vertical scrolling

* mention limitations

* fix aria attr

* Add `width: 100%` to the .modal-content for the centered version. Adding it here to avoid adding another selector by limiting it to the centered modal modifier.

* Add dropright and dropleft (right and left placements for our dropdown) (#23860)

* Add dropright (right placement for our dropdown)

* Add dropleft

* moves drop left arrow to the left

* Throw error about Popper.js only when it's needed because some of our plugins don't use it (#24573)

* tweak spacing

* nuke container class for consistency while we're here

* dist

* Clean up package.json scripts. (#24583)

* rename build/htmllint.js to build/vnu-jar.js
* remove the unused `bash` script
* split the `docs-lint` scripts
* fix watch-js script to run only the parent `js-compile` script

* Do not create a Popper.js instance when we don't need it

* Explain contents of bundled JS files in docs (#23735)

* Fix bad title for our dispose method in our documentation

* Add missing trailing slashes to URLs in docs

* dist

* redesign these tables, fix headings, add intro paragraphs

* changes colors references on variables.scss from hardcoded to variables on the theme

* adds variables for the hr element margin

* Minor Markdown consistency cleanup. (#24605)

* Update docsearch.js links (#24613)

* Remove bower.json from _config.yml. (#24609)

* build/*.js: es6ify. (#24611)

* Add display utilities link in 'Utilities for layout' docs page (#24615)

* Re-enable vnu-jar's warnings and suppress the ones we don't need now.

* vnu-jar.js: pass `-Xss512k` for 32-bit Java to avoid a StackOverflowError error.

* Remove the redundant `role=navigation` from `nav`s.

* Add comments to clarify why we ignore a couple of vnu's errors.

* "autocomplete" attribute errors
* "legend" is not allowed as child of "div"

* Remove invalid example of `title` attribute in an SVG and related vnu error suppression

* Remove `datetime-local` warning from vnu ignore list, change reboot example.

* Shorten ignores - add more comments.

* More wording tweaks

* Fix invalid `<nav ... role="tablist">` in docs.

* Fix broken footer link after the about page revamp. (#24612)

* Update devDependencies and gems. (#24610)

* Create CODE_OF_CONDUCT.md (#24629)

* Convert modal's px units to rem (#23782)

* Update our Webpack documentation for Webpack 3 (#24656)

* Update Jekyll excludes to ignore more files.

* Add svg files in workbox and remove jpg.

* getting-started/introduction.md: move title below the retired meta tags.

* Highlight snippet as CSS.

* Remove a few extra newlines.

* Remove whitespace in SVG includes.

* Update package-lock.json. (#24666)

* Minor Sass consistency changes. (#24677)

* use `background-color` instead of the shorthand
* use `outline: 0` consistently
* fix transform order
* remove quotes from `SFMono-Regular`

* changes list-inline-padding from 5px to .5rem

* Convert px values to rem on tooltip variables (#23468)

* converts px valures to rem on tooltip variables

* keep as px to match popover changes

* fixing label cutoff at 0% (#24544)

* Restore .progress-bar transition (#24694)

Unintentionally removed in #22703. Fixes #24643.

* fixes #24553: override border-color on focus of custom select with form validation (#24695)

* getting-started.md: Redirect from `/getting-started/` too. (#24669)

* dist

* Move hardcoded opacity value in `.btn:disabled` to variable `$btn-disabled-opacity` (#24680)

* Nav Tabs use single variable to style `$nav-tabs-link-hover-border-color` and `$nav-tabs-link-active-border-color` (#24639)

* dist

* descriptive docs variable naming (#24521)

* use descriptive docs btn naming

* rename `btn-bd-yellow` to `btn-bd-download`

* sort state vars

* sort state vars
  * info, warning, danger

* rename btn-bd-purple

* rename `.btn-bd-purple` to `.btn-bd-primary`

* align docs color variables

* generate $bd-purple-light color

* with http://razorltd.github.io/sasscolourfunctioncalculator/

* allow overide of docs variables

* fixes #24642

* Reduce custom file z-index (#24633)

* dist

* Popover - call `content` once if it's a function. (#24690)

* Escape ID in Util.getSelectorFromElement (#24700)

* Fix test failure with jQuery 1.9.1 (#24706)

* Update to babel beta 5

* Update devDependencies.

* Use correct jQuery name in docs (#24712)

* upgrade to node 8.9.x and dist

* Adds underline back to `btn-link` on focus

* Update devDependencies (#24722)

* Use native pseudo-selectors instead of jQuery selectors (#24713)

* Add missing `role="button"` in collapse examples. (#24725)

* Make styling of grouped option buttons class-based

Referencing #23728, styling grouped radio and checkbox buttons should not require the data-toggle attribute.

* Update gems. (#24732)

* fix typo grid.md (#24757)

fixes #24744

* Update Hound config.

1. Explicitly disable ESLint in Hound for now; it was disabled all this time. Temporarily disabled until the ESLint plugins are updated upstream
2. Remove unneeded ignore from .houndignore

* Remove .hound.yml.

We might revisit this later, but currently we get too many FP with our current setup.

* Update devDependencies. (#24762)

* Object spread : less jQuery more ES6 (#24665)

* Adds variables for form validation messages (#24767)

* Removed .col-form-label from vertical form example (#24771)

Fixes #24739

* Simplify spread (#24774)

* Correct spelling mistakes. (#24778)

* Use UMD and fix build to properly load deps (#24783)

* Remove the now unused .houndignore file. (#24776)

* Fix installing deps in our webpack docs

* Fix nested cards on card group (#24766)

* Update popper.js to v1.12.9. (#24797)

* Don't run postcss for `dist/css/*.min.css` files. (#24676)

* Change the text color to dark on bg color warning examples (#24805)

* Remove unused file and bundle ie-emulation-modes-warning.js with docs.min.js (#24825)

* Remove the unused assets/js/ie10-viewport-bug-workaround.js.

* Combine ie-emulation-modes-warning.js with docs.min.js.

* Typos in grid.md (#24828)

Fixed typos in offsetting section of grid.md

* Fix dropup example code

* Update devDependencies. (#24829)

* Add support for fractional viewport widths (zoom/high-dpi displays) (#24299)

* Change breakpoint  max- calculation to fractional values
* Update docs to reflect fractional max-width breakpoint values
* Add fractional max-width to offcanvas example
* Add documentation and SCSS comment for fractional viewport support

* Add a simple script to generate SRI hashes for our assets. (#24814)

* Allow us to run our unit test on differents jquery version

* Run karma tests in parallel.

* Update typography docs (#24863)

* closes #24450

* Rewrite custom form check backgrounds (#24697)

* Rewrite custom form check backgrounds

Previously, this was all just a background-color and background-image. When we restored the gradients though, we had two background-images competing on the same element, causing rendering glitches. This refactors that code, creating a mixin to simplify things, so we can we easily use two background-images (SVG icon and gradient) when -gradients is set to true.

Fixes #24598

* restore default vars

* Revamp custom check and radio backgrounds

Instead of applying multiple background-image's to the same element, we're adding a new ::before pseudo-element to layer the background-images. Gradients go on the .custom-control-indicator while their icons go on the ::before element. This allows us to shave some bytes from when we compile and we previously needed to redeclare the background-image for the icon if you changed the gradient.

* remove now unused mixin

* mention change in migration docs

* lets the centered modal have any height (#24803)

* Custom select updates (#24699)

* Add support for size attribute on custom selects

* Add large custom select, document it and the small variant

* fix custom select focus state

* fix custom file input focus styles

* remove empty line

* Update package.json. (#24582)

1. Use the same jQuery version in jspm
2. Update the files to only include the source and dist folders

* Use Jekyll's `smartify` filter when possible. (#24866)

* Darken outline hover color to match default button hover (#24150)

* Fix Issue #24144

Alter button-outline-variant mixin to darken hover and active background in same fashion as filled button.

* Fix Issue #24144

Filled button on hover should utilize the same color-yiq mixin so that theme buttons match

* default values, fix mixin

* rename it

* document it

* add migration note

* fixes #24728

* Remove unused CSS. (#24872)

* tab.js: do not remove fade class if there's no initial active pane

* Restore currently unused variables (#24891)

* Replace lint-vars.sh with a Node.js script. (#24860)

Also, include it in the `css` npm script since it's instant.

* Fix docs horizontal scrollbar (#24878)

* Fix docs horizontal scrollbar in Components > Modal

* Add overflow to docs example class

* Drop the handleUpdate() variant

While I understand the variant covers the "get a particular plugin instance" case from http://getbootstrap.com/docs/4.0/getting-started/javascript/#programmatic-api it seems weird that we do it here but not everywhere else in the docs (randomly checking other pages, we seem to stick to the documented methods as written on those pages). As this isn't properly explained as is, and as it adds nothing (more of a preference for authors), it would be easier to just drop the variant and stick with the documented method as outlined later on in the same page (avoids having to go off on a "why should you use this instead of that" tangent here).

* Combine path and remove variable used in one place. (#24873)

* Update devDependencies and gems. (#24876)

* Override padding on radio input label (#24899)

We could tell folks to nix the class, we could tell them to override it, or we could add another modifier of some kind to address this. None of them seem particularly useful, but the padding override feels the most approachable and clearly documentable. Added this here to close #24844.

* Update README.md (#24912)

* Work around Travis failures.

Note that we should revert this when the issue is fixed.

* Revert the Travis workaround. (#24926)

The issue has been fixed.

* Adds variable for color yiq threshold (#24886)

* Remove .col-form-legend in favor of .col-form-label (#24932)

* chore: sync with twbs (#1)

* Make styling of grouped option buttons class-based

Referencing #23728, styling grouped radio and checkbox buttons should not require the data-toggle attribute.

* Fix installing deps in our webpack docs

* Fix nested cards on card group (#24766)

* Update popper.js to v1.12.9. (#24797)

* Don't run postcss for `dist/css/*.min.css` files. (#24676)

* Change the text color to dark on bg color warning examples (#24805)

* Remove unused file and bundle ie-emulation-modes-warning.js with docs.min.js (#24825)

* Remove the unused assets/js/ie10-viewport-bug-workaround.js.

* Combine ie-emulation-modes-warning.js with docs.min.js.

* Typos in grid.md (#24828)

Fixed typos in offsetting section of grid.md

* Fix dropup example code

* Update devDependencies. (#24829)

* Add support for fractional viewport widths (zoom/high-dpi displays) (#24299)

* Change breakpoint  max- calculation to fractional values
* Update docs to reflect fractional max-width breakpoint values
* Add fractional max-width to offcanvas example
* Add documentation and SCSS comment for fractional viewport support

* Add a simple script to generate SRI hashes for our assets. (#24814)

* Allow us to run our unit test on differents jquery version

* Run karma tests in parallel.

* Update typography docs (#24863)

* closes #24450

* Rewrite custom form check backgrounds (#24697)

* Rewrite custom form check backgrounds

Previously, this was all just a background-color and background-image. When we restored the gradients though, we had two background-images competing on the same element, causing rendering glitches. This refactors that code, creating a mixin to simplify things, so we can we easily use two background-images (SVG icon and gradient) when -gradients is set to true.

Fixes #24598

* restore default vars

* Revamp custom check and radio backgrounds

Instead of applying multiple background-image's to the same element, we're adding a new ::before pseudo-element to layer the background-images. Gradients go on the .custom-control-indicator while their icons go on the ::before element. This allows us to shave some bytes from when we compile and we previously needed to redeclare the background-image for the icon if you changed the gradient.

* remove now unused mixin

* mention change in migration docs

* lets the centered modal have any height (#24803)

* Custom select updates (#24699)

* Add support for size attribute on custom selects

* Add large custom select, document it and the small variant

* fix custom select focus state

* fix custom file input focus styles

* remove empty line

* Update package.json. (#24582)

1. Use the same jQuery version in jspm
2. Update the files to only include the source and dist folders

* Use Jekyll's `smartify` filter when possible. (#24866)

* Darken outline hover color to match default button hover (#24150)

* Fix Issue #24144

Alter button-outline-variant mixin to darken hover and active background in same fashion as filled button.

* Fix Issue #24144

Filled button on hover should utilize the same color-yiq mixin so that theme buttons match

* default values, fix mixin

* rename it

* document it

* add migration note

* fixes #24728

* Remove unused CSS. (#24872)

* tab.js: do not remove fade class if there's no initial active pane

* Restore currently unused variables (#24891)

* Replace lint-vars.sh with a Node.js script. (#24860)

Also, include it in the `css` npm script since it's instant.

* Fix docs horizontal scrollbar (#24878)

* Fix docs horizontal scrollbar in Components > Modal

* Add overflow to docs example class

* Drop the handleUpdate() variant

While I understand the variant covers the "get a particular plugin instance" case from http://getbootstrap.com/docs/4.0/getting-started/javascript/#programmatic-api it seems weird that we do it here but not everywhere else in the docs (randomly checking other pages, we seem to stick to the documented methods as written on those pages). As this isn't properly explained as is, and as it adds nothing (more of a preference for authors), it would be easier to just drop the variant and stick with the documented method as outlined later on in the same page (avoids having to go off on a "why should you use this instead of that" tangent here).

* Combine path and remove variable used in one place. (#24873)

* Update devDependencies and gems. (#24876)

* Override padding on radio input label (#24899)

We could tell folks to nix the class, we could tell them to override it, or we could add another modifier of some kind to address this. None of them seem particularly useful, but the padding override feels the most approachable and clearly documentable. Added this here to close #24844.

* Update README.md (#24912)

* Work around Travis failures.

Note that we should revert this when the issue is fixed.

* Revert the Travis workaround. (#24926)

The issue has been fixed.

* add .col-form-legend-lg and .col-form-legend-sm classes

* document .col-form-legend-{size}

* trash .col-form-legend completely

One class fits all

* Update forms.md

* consolidate copy

* property order

* Document breaking change from #24932

* Update devDependencies and gems. (#24940)

* Remove page reload in pwa.js. (#24923)

* Use only transitionend event (#24962)

* Update link to Font Awesome 

They have a shiny new site for v5 - https://fontawesome.com/

* Specify host 0.0.0.0 for Jekyll (#24974)

Allows for remote connections on same network (as Jekyll now seems to default to 127.0.0.1 which means it does not react to incoming external requests)

* dropdown: add boundary config option (#24976)

* tooltip+popover: add boundary config option (#24979)

* Link to BootstrapCDN and fix its name. (#24987)

* dist

* Update devDependencies and gems. (#25023)

* Rewrite input group component (#25020)

* Rewrite input group component

* Set the feedback to 100% width for input group

* Move from .row to .form-row for tighter layout

* no need for custom feedback here, we're using browser messaging

* add input group to validation examples

* add note about validating multiple

* migration note added

* Form check markup v2 (#25050)

* match layout behaviors

* ditch the indicator as separate element for psuedo-elements on the label

* move disabled to attribute only on input

* redo default inline check to support new markup

* redo inline forms

* clean up vars

* update validation mixin to new structure

* update checks in docs

* linting for for/id attributes

* dist

* dist

* Restyle code element, remove docs example overflow, improve docs examples (#25054)

* Restyle code element, clean up variables

- Removes the padding and background-color
- Changes the color to a brand color ()
- Add new variables to kbd element styles to account for removing the code ones
- Remove overrides that were needed previously

* only break between words, and override it in the pre

* make file inputs 100% wide

* scope custom file changes in input group for sizing

* shorter button labels for responsive

* narrower cards

* button was too wide

* downsize

* fewer links in pagination

* redo cell text

* improve overflow docs

* Updated Quick Start Link (#25001)

* Updated Link For Getting started Page

* Change URL scheme of previous commit

From http to https

* dist

* adds hover state to the `button` element for background color utilities (#24813)

* adds a hover state to the button element on the backrgound color utitility

* Adjust z-index to fix hover/focus overlaps

* Move .table-responsive to a parent class instead of a modifier

* dist

* Update our browserslist. (#24919)

Update our browserslist.

* Add `last 1 major version` and `>= 1%`.
* Add Firefox.

Firefox v38 is older than the ESR, so basically replace ESR with v38.

* fix tooltip/popover arrow size and position

* further clarify z-index docs, fix #24999

* change heading

* prefix those

* closes #24973

* Make custom select and file inputs 100% wide

Matches browser default inputs and swaps some max-width properties for a regular width

* space custom select sizing examples

* remove input group overrides since they're defaults now

* Move from h4s and misc to h5s so headings from example snippets don't show in our table of contents

* Update SCSS import order to have print styles last

* Closes #25039

Adds some additional context on `.form-group` usage

* dist

* dist

* Darken table border-color

Fixes #25016 which noticed a .thead-light and border-color of the .table-border are the same color.

* dist

* Fix input group border radius issue (#25075) (#25076)

* Fix input group border radius issue (#25075)

* Remove migration note

- All buttons In input group do not have to be the same element now.

* lint

* Clean up button group  (#25073)

* Remove unnecessary float

- since parent btn-group is displayed as inline-flex, the child elements are placed left to right by default.

* Cleanup of reset rounded corners

- Remove `border-radius :0` since it is enough by each reset of left and right side
- A `.dropdown-toggle` selector should not be used for reset rounded corner since it does not have border-radius property. Instead use .dropdown-toggle as negation pseudo-class.

* Rewrite custom file input

- Changes the wrapping label to a div so we can style the label instead of another element while also supporting form validation.
- Fixes form validation styles for custom file input (closes #24831).
- Updates docs with validation styles (also adding example feedback text while I was there) and new how it works section.

* remove broken static demo

* remove popover static example

* smaller popover arrows for more reasonable visuals and more ideal pixel rounding

* consolidate content properties, un-nest

* un-nest and un-chain popover classes

* linting

* dist

* dist

* improve docs tables

* closes #24929

* extra space

* dist

* Opinionated: reintroduce `cursor:pointer`

Explicitly re-adds the "hand" `cursor:pointer` for non-disabled `.btn`, `.close`, `.navbar-toggler` elements, as well as forcing `page-link` pagination controls to always have the "hand" cursor (even if an author uses it on, say, `<button>` elements for a dynamically updating in-page pagination).

Controversial, as everybody jumped on the bandwagon following this article https://medium.com/simple-human/buttons-shouldnt-have-a-hand-cursor-b11e99ca374b - which does have its merits of course, but there are also counter-arguments like http://kizu.ru/en/issues/cursor-pointer/

And seeing the amount of issues we've seen following the change, and the potential complexity needed to consistently address the cursor issue (see twbs#24156 where i explore how the cursor needs to be based on "intent", and how that's tough to determine), I'm favouring an opinionated take here of just reintroducing the `cursor:pointer`.

* dist

* Only apply the active and focus shadow on the focus state for :active

* fix mixin include

* line break

* apply same active/focus shadow styling to button variants

* Set `cursor:pointer` for `<summary>`

* npm dist

* Update version to 4.0.0-beta.3

* Allow customizing Popover and Tooltip `font-size` outside of `$font-size-sm`

* Allow customizing Popover and Tooltip `border-radius` while I'm at it

* Update JS-powered buttons docs to include single button example

Closes #25067

* add note about single vs group

* Move alert theme-color() levels to variables

Closes #24341

* linting

* Add docs about active menu items (#24993)

* Remove blank line

* Expand border utilities to include top, right, bottom, left

* Improve lint vars output messaging (#25049)

* Add examples of disabled tooltip and popover triggers

* Remove margin-bottom on .bd-example (#25048)

* Darken $gray-600 by 10% for AA contrast (#25123)

Closes #23319. Both `.text-muted` and `.btn-outline-secondary` (and indeed all secondary items) make use of `$gray-600`. New value provides a contrast ratio of 4.69.
@pfx2

This comment has been minimized.

Show comment
Hide comment
@pfx2

pfx2 Jan 23, 2018

Hello, after upgrading from bootstrap beta 2 to bootstrap 4 final, I can't compile with webpack anymore (using Encore from Symfony)

Error  in ./node_modules/bootstrap/js/src/tooltip.js

Module parse failed: Unexpected token (497:10)
You may need an appropriate loader to handle this file type.
|       if (this.config.selector) {
|         this.config = {
|           ...this.config,
|           trigger: 'manual',
|           selector: ''

Do I need to do something ?

pfx2 commented Jan 23, 2018

Hello, after upgrading from bootstrap beta 2 to bootstrap 4 final, I can't compile with webpack anymore (using Encore from Symfony)

Error  in ./node_modules/bootstrap/js/src/tooltip.js

Module parse failed: Unexpected token (497:10)
You may need an appropriate loader to handle this file type.
|       if (this.config.selector) {
|         this.config = {
|           ...this.config,
|           trigger: 'manual',
|           selector: ''

Do I need to do something ?

@Johann-S

This comment has been minimized.

Show comment
Hide comment
@Johann-S

Johann-S Jan 23, 2018

Member

It's uncommon to compile an external lib in a different project, so you should avoid to do that, if you need that please take a look to our package.json to see which babel packages we use

Member

Johann-S commented Jan 23, 2018

It's uncommon to compile an external lib in a different project, so you should avoid to do that, if you need that please take a look to our package.json to see which babel packages we use

@pfx2

This comment has been minimized.

Show comment
Hide comment
@pfx2

pfx2 Jan 23, 2018

Sorry compile is the wrong word, I was just importing tooltip in my project's main JS file.
require('bootstrap/js/src/tooltip.js');

Of course I fixed the problem by changing for the dist file instead. Sorry...

pfx2 commented Jan 23, 2018

Sorry compile is the wrong word, I was just importing tooltip in my project's main JS file.
require('bootstrap/js/src/tooltip.js');

Of course I fixed the problem by changing for the dist file instead. Sorry...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment