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’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(tooltip+popover): Create mixin for common props and methods #1021

Merged
merged 7 commits into from Sep 8, 2017

Conversation

Projects
None yet
2 participants
@tmorehouse
Member

tmorehouse commented Sep 8, 2017

Migrated common props and methods to mixin for tooltip and popover components.

Also moved storage of tooltip/popover instance to a non-reactive property

Should help reduce final library file size

@codecov-io

This comment has been minimized.

codecov-io commented Sep 8, 2017

Codecov Report

Merging #1021 into dev will decrease coverage by 0.04%.
The diff coverage is 1.88%.

Impacted file tree graph

@@            Coverage Diff            @@
##              dev   #1021      +/-   ##
=========================================
- Coverage   36.75%   36.7%   -0.05%     
=========================================
  Files         104     105       +1     
  Lines        3009    3013       +4     
  Branches      902     900       -2     
=========================================
  Hits         1106    1106              
+ Misses       1604    1592      -12     
- Partials      299     315      +16
Impacted Files Coverage Δ
lib/components/tooltip.vue 47.36% <0%> (+32.44%) ⬆️
lib/mixins/toolpop.js 1.92% <1.92%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update d73ff01...9c07892. Read the comment docs.

tmorehouse added some commits Sep 8, 2017

@tmorehouse tmorehouse requested review from alexsasharegan and pi0 Sep 8, 2017

@tmorehouse tmorehouse removed the Status: WIP label Sep 8, 2017

@tmorehouse tmorehouse merged commit edc7b20 into dev Sep 8, 2017

1 check passed

ci/circleci Your tests passed on CircleCI!
Details

@tmorehouse tmorehouse deleted the tmorehouse/toolpop branch Sep 8, 2017

tmorehouse added a commit that referenced this pull request Sep 12, 2017

Mrged dev into forms/1x (#1038)
* chore(docs): Minor update to popover example

* fix(carousel): Prevent reflow trigger from being optimised out (#995)

* Update carousel.vue

* fix(popover+tooltip): Allow indiviual component imports (#999)

* [tooltip class] import BvEvent direct
* [popover class] Import ToolTip direct

* fix(form-group): Not applying label-for prop value (#1000)

* feat(modal): Add props to change the variant of the default modal buttons (#1004)

* Add props to set variant of modal footer buttons

* update docs

* feat(popover+tooltip): Add hide event listener on $root (#1003)

* feat(popover/tooltip): Add hide on $root events

Optimized adding/removing of events.

Only listen/watch to certain events while the tooltip/popover is open

Adds listener for `bv::hide::(popover|tooltip)` event on root to allow user to close all popovers or tooltips via emitting on $root.

* [popover component] Document bv:hide::popover event

* [tooltip component] Document bv:hide:tooltip event

* [popover directive] Document bv:hide:popover event

* [tooltip directive]: Document bv:hide::tooltip event

* feat(table): Refactor field formatter support + optimized sort-compare handling (#991)

* refactor(b-table): use original item object

* chore(table.spec): eslint format

* feat(b-table): Allow usr provided sortCopmpare to handle only specific fields

if user provided sortCompare returns `null` (or `undefined`), then we assume it doesn't handle sorting for the field specified by `sortBy`

* ESLint

* Always return formattedValue as `value` in scoped slot.

Unformatted value is available as property `unformatted` on scoped slot data.

* Update docs

* Update README.md

* Allow formattter to return html content

* Update README.md

* fix(table-docs): unexpected identifier error

* fix(table-docs): typo corrections ⌨💥

* Allow v-html without need for wrapper div via v-if/v-else

* fix(tooltip-popover): Click not triggered for elements with inner HTML elements in Chrome (#1006)

Issue #1005

* docs: Update getting started

* feat(dropdowns): Add hide() and show() methods (#1012)

Addresses issue #1011

* [form-group] Use dom utils

* [carousel] Use dom utils

* feat: dom utility methods (#1013)

* feat: dom utility methods

* Update index.js

* [tooltip.js] Use dom utils

* [dropdown.js] Use dom utils

* [scrollspy.js] Use dom utils

* feat: Use dom utils (#1017)

* feat: dom utility methods

* Update index.js

* [tooltip.js] Use dom utils

* [dropdown.js] Use dom utils

* [scrollspy.js] Use dom utils

* feat(array mixin): Add polyfill for Array.find for IE

* [modal] use dom utils

* [popover.vue] Use dom utils

* [tooltip.vue] Use dom utils

* feat(dom utils): Add getById method

* feat(tooltip+popover): Create mixin for common props and methods (#1021)

* feat(tooltip+popover): Create mixin for common props and methods

* make mixin available

* ESLint

* Update toolpop.js

* Update toolpop.js

* [tooltip.vue] use toolpop mixin

* [popover.vue] Use toolpop mixin

* chore: Update getting started

* fix type

* fix(lform-group): Missing return in target ID selection

* fix(link): clear router-link/href collision and remove old link mixin (#1016)

* fix(link): don't use href for router-links

* Merged dev into fix/link-router-to (#1018)

* [carousel] Use dom utils

* feat: dom utility methods (#1013)

* feat: dom utility methods

* Update index.js

* [tooltip.js] Use dom utils

* [dropdown.js] Use dom utils

* [scrollspy.js] Use dom utils

* feat: Use dom utils (#1017)

* feat: dom utility methods

* Update index.js

* [tooltip.js] Use dom utils

* [dropdown.js] Use dom utils

* [scrollspy.js] Use dom utils

* feat(array mixin): Add polyfill for Array.find for IE

* [modal] use dom utils

* [popover.vue] Use dom utils

* [tooltip.vue] Use dom utils

* fix: add fixes from PR #940

* fix: don't change href when disabled

Previously, we we're altering the href to a "#" when disabled. Since we already handle disabling the link via click handlers, there is no reason to alter the semantics of the link.

* Update toolpop.js

* Update popover.vue

* Update tooltip.vue

* fix: typos

* refactor: remove link mixin usage

* fix(docs): proper component reference

* fix: incorporate @pi0's typo fix

* fix(tooltip.js) Remove unneeded line of code

* fix(tabs): Remove aria-expanded in favor of aria-seleted

As per Bootstrap V4 PR twbs/bootstrap#23907

* fix: Add lodash.startcase to dependancies

`b-table` requires `lodash.startcase`

* feat(modal): Improve modal transitions, padding adjustments, and aditional features (#1024)

* [modal] Fix transitions

* Update modal.vue

* Update modal.vue

* [v-b-modal] Use new namespaced $root event

* [modal] Incorporate BvEvent

* Update modal.vue

* [modal] Scrolbar adjustments & observeDom

* Update modal.vue

* [modal] Add variants

* Update demo.html

* Update demo.js

* Update meta.json

* Update README.md

* [modal] Add modal-header-close slot

* Update meta.json

* [b-button-close] New functional component for close button

Used by b-modal and b-alert

* make b-button-close available

* Update button-close.js

* [button-close] Ensure click event propagation is stopped when disabled

* [modal] use b-btn-close functional component

* [alert] Use b-btn-close component

* Update modal.vue

* add b-button-close to b-button meta.json

* [tooltip.js] Update to use only new modal close namespaced event

* [tooltip+popover] Auto-append tooltip/popover to modal if in a modal

Save user from having to specify the modal as a container when tooltip/popover is inside a modal

* [popover.js] Use dom utils

* [dom utils] Add class and attribute methods

* Update dom.js

* [modal] Use new dom utils class/atttr methods

* Update dom.js

* Update dom.js

* Update dom.js

* [tooltip.js] Use new DOM utils methods

* [popover.js] Use new dom utils class/attribute methods

* [modal] Update docs

* fix: correct some typos

* fix: clear console errors

* fix: add const declarations

* [modal] Call onAfterEvent transition handler

* fix: evt names for modal triggering & is_visible typo

* fix: modal v-model typo

* fix(btn-close): allow for innerHTML override

* refactor(modal): use object for conditional props

* feat(docs): new modal examples

* Classes: Wrap in Boolean and remove dangling commas

* [modal] minor updates to docs

* feat(form-file): Add focus styling for custom-file input (#1033)

* feat(form-file): Add focus styling for custom-file input

* Update form-file.vue

* [form-file] Remove wrapper div when in plain mode

* add sizing to plain file input

Unfortunately there doesn't appear to be an option to size the custom-file input.

* Update form-file.vue

* fix(observedom): Callback not being called for changes other than childList changes (#1025)

* fix(observedom): Callback not being called for changes other than node inert/remove

Allow callback to be called based on passed options.

Previously it was only being called if nodes were added or inserted, regardless of which options were passed (i.e. attribute changes, childList, textnode changes, etc.)

This fix remove this restriction.

* Create loose-equal.js

* Update index.js

* Update observe-dom.js

* Update index.js

* Delete loose-equal.js

* Update observe-dom.js

* Update observe-dom.js

* Update observe-dom.js

* Update observe-dom.js

* [WIP] feat(collpase): Use new $root namespaced events (#1037)

feat(collpase): Use new $root namespaced events + dom utils

tmorehouse added a commit that referenced this pull request Sep 12, 2017

Merge dev into forms/1x (#1040)
* chore(docs): Minor update to popover example

* fix(carousel): Prevent reflow trigger from being optimised out (#995)

* Update carousel.vue

* fix(popover+tooltip): Allow indiviual component imports (#999)

* [tooltip class] import BvEvent direct
* [popover class] Import ToolTip direct

* fix(form-group): Not applying label-for prop value (#1000)

* feat(modal): Add props to change the variant of the default modal buttons (#1004)

* Add props to set variant of modal footer buttons

* update docs

* feat(popover+tooltip): Add hide event listener on $root (#1003)

* feat(popover/tooltip): Add hide on $root events

Optimized adding/removing of events.

Only listen/watch to certain events while the tooltip/popover is open

Adds listener for `bv::hide::(popover|tooltip)` event on root to allow user to close all popovers or tooltips via emitting on $root.

* [popover component] Document bv:hide::popover event

* [tooltip component] Document bv:hide:tooltip event

* [popover directive] Document bv:hide:popover event

* [tooltip directive]: Document bv:hide::tooltip event

* feat(table): Refactor field formatter support + optimized sort-compare handling (#991)

* refactor(b-table): use original item object

* chore(table.spec): eslint format

* feat(b-table): Allow usr provided sortCopmpare to handle only specific fields

if user provided sortCompare returns `null` (or `undefined`), then we assume it doesn't handle sorting for the field specified by `sortBy`

* ESLint

* Always return formattedValue as `value` in scoped slot.

Unformatted value is available as property `unformatted` on scoped slot data.

* Update docs

* Update README.md

* Allow formattter to return html content

* Update README.md

* fix(table-docs): unexpected identifier error

* fix(table-docs): typo corrections ⌨💥

* Allow v-html without need for wrapper div via v-if/v-else

* fix(tooltip-popover): Click not triggered for elements with inner HTML elements in Chrome (#1006)

Issue #1005

* docs: Update getting started

* feat(dropdowns): Add hide() and show() methods (#1012)

Addresses issue #1011

* [form-group] Use dom utils

* [carousel] Use dom utils

* feat: dom utility methods (#1013)

* feat: dom utility methods

* Update index.js

* [tooltip.js] Use dom utils

* [dropdown.js] Use dom utils

* [scrollspy.js] Use dom utils

* feat: Use dom utils (#1017)

* feat: dom utility methods

* Update index.js

* [tooltip.js] Use dom utils

* [dropdown.js] Use dom utils

* [scrollspy.js] Use dom utils

* feat(array mixin): Add polyfill for Array.find for IE

* [modal] use dom utils

* [popover.vue] Use dom utils

* [tooltip.vue] Use dom utils

* feat(dom utils): Add getById method

* feat(tooltip+popover): Create mixin for common props and methods (#1021)

* feat(tooltip+popover): Create mixin for common props and methods

* make mixin available

* ESLint

* Update toolpop.js

* Update toolpop.js

* [tooltip.vue] use toolpop mixin

* [popover.vue] Use toolpop mixin

* chore: Update getting started

* fix type

* fix(lform-group): Missing return in target ID selection

* fix(link): clear router-link/href collision and remove old link mixin (#1016)

* fix(link): don't use href for router-links

* Merged dev into fix/link-router-to (#1018)

* [carousel] Use dom utils

* feat: dom utility methods (#1013)

* feat: dom utility methods

* Update index.js

* [tooltip.js] Use dom utils

* [dropdown.js] Use dom utils

* [scrollspy.js] Use dom utils

* feat: Use dom utils (#1017)

* feat: dom utility methods

* Update index.js

* [tooltip.js] Use dom utils

* [dropdown.js] Use dom utils

* [scrollspy.js] Use dom utils

* feat(array mixin): Add polyfill for Array.find for IE

* [modal] use dom utils

* [popover.vue] Use dom utils

* [tooltip.vue] Use dom utils

* fix: add fixes from PR #940

* fix: don't change href when disabled

Previously, we we're altering the href to a "#" when disabled. Since we already handle disabling the link via click handlers, there is no reason to alter the semantics of the link.

* Update toolpop.js

* Update popover.vue

* Update tooltip.vue

* fix: typos

* refactor: remove link mixin usage

* fix(docs): proper component reference

* fix: incorporate @pi0's typo fix

* fix(tooltip.js) Remove unneeded line of code

* fix(tabs): Remove aria-expanded in favor of aria-seleted

As per Bootstrap V4 PR twbs/bootstrap#23907

* fix: Add lodash.startcase to dependancies

`b-table` requires `lodash.startcase`

* feat(modal): Improve modal transitions, padding adjustments, and aditional features (#1024)

* [modal] Fix transitions

* Update modal.vue

* Update modal.vue

* [v-b-modal] Use new namespaced $root event

* [modal] Incorporate BvEvent

* Update modal.vue

* [modal] Scrolbar adjustments & observeDom

* Update modal.vue

* [modal] Add variants

* Update demo.html

* Update demo.js

* Update meta.json

* Update README.md

* [modal] Add modal-header-close slot

* Update meta.json

* [b-button-close] New functional component for close button

Used by b-modal and b-alert

* make b-button-close available

* Update button-close.js

* [button-close] Ensure click event propagation is stopped when disabled

* [modal] use b-btn-close functional component

* [alert] Use b-btn-close component

* Update modal.vue

* add b-button-close to b-button meta.json

* [tooltip.js] Update to use only new modal close namespaced event

* [tooltip+popover] Auto-append tooltip/popover to modal if in a modal

Save user from having to specify the modal as a container when tooltip/popover is inside a modal

* [popover.js] Use dom utils

* [dom utils] Add class and attribute methods

* Update dom.js

* [modal] Use new dom utils class/atttr methods

* Update dom.js

* Update dom.js

* Update dom.js

* [tooltip.js] Use new DOM utils methods

* [popover.js] Use new dom utils class/attribute methods

* [modal] Update docs

* fix: correct some typos

* fix: clear console errors

* fix: add const declarations

* [modal] Call onAfterEvent transition handler

* fix: evt names for modal triggering & is_visible typo

* fix: modal v-model typo

* fix(btn-close): allow for innerHTML override

* refactor(modal): use object for conditional props

* feat(docs): new modal examples

* Classes: Wrap in Boolean and remove dangling commas

* [modal] minor updates to docs

* feat(form-file): Add focus styling for custom-file input (#1033)

* feat(form-file): Add focus styling for custom-file input

* Update form-file.vue

* [form-file] Remove wrapper div when in plain mode

* add sizing to plain file input

Unfortunately there doesn't appear to be an option to size the custom-file input.

* Update form-file.vue

* fix(observedom): Callback not being called for changes other than childList changes (#1025)

* fix(observedom): Callback not being called for changes other than node inert/remove

Allow callback to be called based on passed options.

Previously it was only being called if nodes were added or inserted, regardless of which options were passed (i.e. attribute changes, childList, textnode changes, etc.)

This fix remove this restriction.

* Create loose-equal.js

* Update index.js

* Update observe-dom.js

* Update index.js

* Delete loose-equal.js

* Update observe-dom.js

* Update observe-dom.js

* Update observe-dom.js

* Update observe-dom.js

* [WIP] feat(collpase): Use new $root namespaced events (#1037)

feat(collpase): Use new $root namespaced events + dom utils

* Revert "fix(observedom): Callback not being called for changes other than childList changes" (#1039)

This reverts commit f44c5eb.

* Revert "fix(observedom): Callback not being called for changes other than childList changes (#1025)"

This reverts commit 88cfaef.

tmorehouse added a commit that referenced this pull request Sep 14, 2017

feat(forms): New handling of form-select, form-radios and form-checkb…
…oxes (#994)

* Create loose-equal.js

* Update loose-equal.js

* Add looseEqual to utils

* Create form-option.vue

* Create form-optgroup.js

* Make b-form-optgroup and b-form-option available

alias b-form-optgroup as b-optgroup, and b-form-option as b-option

* Create form-radios.vue

* Update form-select.vue

* Update form-radios.vue

* Update index.js

* Create form-checkboxes.vue

* Update index.js

* Update form-options.js

* Update form-checkbox.vue

* Update form-radio.vue

* Update form-checkbox.vue

* Update form-radio.vue

* Update form-checkbox.vue

* Update form-radio.vue

* Update form-checkbox.vue

* Update form-checkbox.vue

* Update form-radio.vue

* Update form-radio.vue

* Update form-select.vue

* Update form-checkboxes.vue

* Update form-optgroup.js

* Update index.js

* Update meta.json

* Update index.js

* Rename docs/components/form-checkbox/meta.json to docs/components/form-checkboxes/meta.json

* Rename docs/components/form-checkbox/README.md to docs/components/form-checkboxes/README.md

* Rename docs/components/form-checkbox/index.js to docs/components/form-checkboxes/index.js

* Update and rename docs/components/form-radio/meta.json to docs/components/form-radios/meta.json

* Rename docs/components/form-radio/index.js to docs/components/form-radios/index.js

* Rename docs/components/form-radio/README.md to docs/components/form-radios/README.md

* Update meta.json

* Update meta.json

* Update index.js

* [form-select] Docs update

* Update form-checkboxes.vue

* [form-radios] Updated docs

* Update README.md

* Update README.md

* Update README.md

* Update index.js

* Rename form-checkboxes.vue to form-checkbox-group.vue

* Rename form-radios.vue to form-radio-group.vue

* Update meta.json

* Update meta.json

* Update index.js

* Update README.md

* Update README.md

* Update README.md

* Update demo.html

* [form-select] Docs: Switch to native <option> and <optgroup>

* Update meta.json

* [form-select] Switch to native browser <option>

* Update index.js

* Delete form-optgroup.js

* Delete form-option.vue

* resolve conflict

* Delete README.md

* Resolve conflict: This file should be deleted after merge

* Update README.md

* Update README.md

* Update form-options.js

* Update form-radio-group.vue

* Update form-checkbox-group.vue

* Update form-radio-group.vue

* Update form-radio.vue

* Create form-radio-check.js

* add new mixin

* [form-radio] Use form-radio-check mixin

* Update form-radio-check.js

* [form-checkbox] Use form-radio-check mixin

* Update form-checkbox.vue

* Update form-checkbox.vue

* Delete form-checkbox.js

* Update form-radio-group.vue

* Update form-checkbox-group.vue

* Update form-radio-group.vue

* [form-file] Add focus styling

* [form-file] Move focus styling to separate PR

* Update form-radio-check.js

* Update form-checkbox.vue

* Update form-options.js

* Update form-checkbox-group.vue

* Update form-checkbox.vue

* Update form-select.vue

* Update form-radio-check.js

* Update form-options.js

* Update form-radio-check.js

* Update form-radio.vue

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update form-checkbox-group.vue

* Update form-radio-group.vue

* Update README.md

* Update form-radio.vue

* Update form-checkbox.vue

* Update form-checkbox.vue

* Update form-checkbox.vue

* Update README.md

* Mrged dev into forms/1x (#1038)

* chore(docs): Minor update to popover example

* fix(carousel): Prevent reflow trigger from being optimised out (#995)

* Update carousel.vue

* fix(popover+tooltip): Allow indiviual component imports (#999)

* [tooltip class] import BvEvent direct
* [popover class] Import ToolTip direct

* fix(form-group): Not applying label-for prop value (#1000)

* feat(modal): Add props to change the variant of the default modal buttons (#1004)

* Add props to set variant of modal footer buttons

* update docs

* feat(popover+tooltip): Add hide event listener on $root (#1003)

* feat(popover/tooltip): Add hide on $root events

Optimized adding/removing of events.

Only listen/watch to certain events while the tooltip/popover is open

Adds listener for `bv::hide::(popover|tooltip)` event on root to allow user to close all popovers or tooltips via emitting on $root.

* [popover component] Document bv:hide::popover event

* [tooltip component] Document bv:hide:tooltip event

* [popover directive] Document bv:hide:popover event

* [tooltip directive]: Document bv:hide::tooltip event

* feat(table): Refactor field formatter support + optimized sort-compare handling (#991)

* refactor(b-table): use original item object

* chore(table.spec): eslint format

* feat(b-table): Allow usr provided sortCopmpare to handle only specific fields

if user provided sortCompare returns `null` (or `undefined`), then we assume it doesn't handle sorting for the field specified by `sortBy`

* ESLint

* Always return formattedValue as `value` in scoped slot.

Unformatted value is available as property `unformatted` on scoped slot data.

* Update docs

* Update README.md

* Allow formattter to return html content

* Update README.md

* fix(table-docs): unexpected identifier error

* fix(table-docs): typo corrections ⌨💥

* Allow v-html without need for wrapper div via v-if/v-else

* fix(tooltip-popover): Click not triggered for elements with inner HTML elements in Chrome (#1006)

Issue #1005

* docs: Update getting started

* feat(dropdowns): Add hide() and show() methods (#1012)

Addresses issue #1011

* [form-group] Use dom utils

* [carousel] Use dom utils

* feat: dom utility methods (#1013)

* feat: dom utility methods

* Update index.js

* [tooltip.js] Use dom utils

* [dropdown.js] Use dom utils

* [scrollspy.js] Use dom utils

* feat: Use dom utils (#1017)

* feat: dom utility methods

* Update index.js

* [tooltip.js] Use dom utils

* [dropdown.js] Use dom utils

* [scrollspy.js] Use dom utils

* feat(array mixin): Add polyfill for Array.find for IE

* [modal] use dom utils

* [popover.vue] Use dom utils

* [tooltip.vue] Use dom utils

* feat(dom utils): Add getById method

* feat(tooltip+popover): Create mixin for common props and methods (#1021)

* feat(tooltip+popover): Create mixin for common props and methods

* make mixin available

* ESLint

* Update toolpop.js

* Update toolpop.js

* [tooltip.vue] use toolpop mixin

* [popover.vue] Use toolpop mixin

* chore: Update getting started

* fix type

* fix(lform-group): Missing return in target ID selection

* fix(link): clear router-link/href collision and remove old link mixin (#1016)

* fix(link): don't use href for router-links

* Merged dev into fix/link-router-to (#1018)

* [carousel] Use dom utils

* feat: dom utility methods (#1013)

* feat: dom utility methods

* Update index.js

* [tooltip.js] Use dom utils

* [dropdown.js] Use dom utils

* [scrollspy.js] Use dom utils

* feat: Use dom utils (#1017)

* feat: dom utility methods

* Update index.js

* [tooltip.js] Use dom utils

* [dropdown.js] Use dom utils

* [scrollspy.js] Use dom utils

* feat(array mixin): Add polyfill for Array.find for IE

* [modal] use dom utils

* [popover.vue] Use dom utils

* [tooltip.vue] Use dom utils

* fix: add fixes from PR #940

* fix: don't change href when disabled

Previously, we we're altering the href to a "#" when disabled. Since we already handle disabling the link via click handlers, there is no reason to alter the semantics of the link.

* Update toolpop.js

* Update popover.vue

* Update tooltip.vue

* fix: typos

* refactor: remove link mixin usage

* fix(docs): proper component reference

* fix: incorporate @pi0's typo fix

* fix(tooltip.js) Remove unneeded line of code

* fix(tabs): Remove aria-expanded in favor of aria-seleted

As per Bootstrap V4 PR twbs/bootstrap#23907

* fix: Add lodash.startcase to dependancies

`b-table` requires `lodash.startcase`

* feat(modal): Improve modal transitions, padding adjustments, and aditional features (#1024)

* [modal] Fix transitions

* Update modal.vue

* Update modal.vue

* [v-b-modal] Use new namespaced $root event

* [modal] Incorporate BvEvent

* Update modal.vue

* [modal] Scrolbar adjustments & observeDom

* Update modal.vue

* [modal] Add variants

* Update demo.html

* Update demo.js

* Update meta.json

* Update README.md

* [modal] Add modal-header-close slot

* Update meta.json

* [b-button-close] New functional component for close button

Used by b-modal and b-alert

* make b-button-close available

* Update button-close.js

* [button-close] Ensure click event propagation is stopped when disabled

* [modal] use b-btn-close functional component

* [alert] Use b-btn-close component

* Update modal.vue

* add b-button-close to b-button meta.json

* [tooltip.js] Update to use only new modal close namespaced event

* [tooltip+popover] Auto-append tooltip/popover to modal if in a modal

Save user from having to specify the modal as a container when tooltip/popover is inside a modal

* [popover.js] Use dom utils

* [dom utils] Add class and attribute methods

* Update dom.js

* [modal] Use new dom utils class/atttr methods

* Update dom.js

* Update dom.js

* Update dom.js

* [tooltip.js] Use new DOM utils methods

* [popover.js] Use new dom utils class/attribute methods

* [modal] Update docs

* fix: correct some typos

* fix: clear console errors

* fix: add const declarations

* [modal] Call onAfterEvent transition handler

* fix: evt names for modal triggering & is_visible typo

* fix: modal v-model typo

* fix(btn-close): allow for innerHTML override

* refactor(modal): use object for conditional props

* feat(docs): new modal examples

* Classes: Wrap in Boolean and remove dangling commas

* [modal] minor updates to docs

* feat(form-file): Add focus styling for custom-file input (#1033)

* feat(form-file): Add focus styling for custom-file input

* Update form-file.vue

* [form-file] Remove wrapper div when in plain mode

* add sizing to plain file input

Unfortunately there doesn't appear to be an option to size the custom-file input.

* Update form-file.vue

* fix(observedom): Callback not being called for changes other than childList changes (#1025)

* fix(observedom): Callback not being called for changes other than node inert/remove

Allow callback to be called based on passed options.

Previously it was only being called if nodes were added or inserted, regardless of which options were passed (i.e. attribute changes, childList, textnode changes, etc.)

This fix remove this restriction.

* Create loose-equal.js

* Update index.js

* Update observe-dom.js

* Update index.js

* Delete loose-equal.js

* Update observe-dom.js

* Update observe-dom.js

* Update observe-dom.js

* Update observe-dom.js

* [WIP] feat(collpase): Use new $root namespaced events (#1037)

feat(collpase): Use new $root namespaced events + dom utils

* Merge dev into forms/1x (#1040)

* chore(docs): Minor update to popover example

* fix(carousel): Prevent reflow trigger from being optimised out (#995)

* Update carousel.vue

* fix(popover+tooltip): Allow indiviual component imports (#999)

* [tooltip class] import BvEvent direct
* [popover class] Import ToolTip direct

* fix(form-group): Not applying label-for prop value (#1000)

* feat(modal): Add props to change the variant of the default modal buttons (#1004)

* Add props to set variant of modal footer buttons

* update docs

* feat(popover+tooltip): Add hide event listener on $root (#1003)

* feat(popover/tooltip): Add hide on $root events

Optimized adding/removing of events.

Only listen/watch to certain events while the tooltip/popover is open

Adds listener for `bv::hide::(popover|tooltip)` event on root to allow user to close all popovers or tooltips via emitting on $root.

* [popover component] Document bv:hide::popover event

* [tooltip component] Document bv:hide:tooltip event

* [popover directive] Document bv:hide:popover event

* [tooltip directive]: Document bv:hide::tooltip event

* feat(table): Refactor field formatter support + optimized sort-compare handling (#991)

* refactor(b-table): use original item object

* chore(table.spec): eslint format

* feat(b-table): Allow usr provided sortCopmpare to handle only specific fields

if user provided sortCompare returns `null` (or `undefined`), then we assume it doesn't handle sorting for the field specified by `sortBy`

* ESLint

* Always return formattedValue as `value` in scoped slot.

Unformatted value is available as property `unformatted` on scoped slot data.

* Update docs

* Update README.md

* Allow formattter to return html content

* Update README.md

* fix(table-docs): unexpected identifier error

* fix(table-docs): typo corrections ⌨💥

* Allow v-html without need for wrapper div via v-if/v-else

* fix(tooltip-popover): Click not triggered for elements with inner HTML elements in Chrome (#1006)

Issue #1005

* docs: Update getting started

* feat(dropdowns): Add hide() and show() methods (#1012)

Addresses issue #1011

* [form-group] Use dom utils

* [carousel] Use dom utils

* feat: dom utility methods (#1013)

* feat: dom utility methods

* Update index.js

* [tooltip.js] Use dom utils

* [dropdown.js] Use dom utils

* [scrollspy.js] Use dom utils

* feat: Use dom utils (#1017)

* feat: dom utility methods

* Update index.js

* [tooltip.js] Use dom utils

* [dropdown.js] Use dom utils

* [scrollspy.js] Use dom utils

* feat(array mixin): Add polyfill for Array.find for IE

* [modal] use dom utils

* [popover.vue] Use dom utils

* [tooltip.vue] Use dom utils

* feat(dom utils): Add getById method

* feat(tooltip+popover): Create mixin for common props and methods (#1021)

* feat(tooltip+popover): Create mixin for common props and methods

* make mixin available

* ESLint

* Update toolpop.js

* Update toolpop.js

* [tooltip.vue] use toolpop mixin

* [popover.vue] Use toolpop mixin

* chore: Update getting started

* fix type

* fix(lform-group): Missing return in target ID selection

* fix(link): clear router-link/href collision and remove old link mixin (#1016)

* fix(link): don't use href for router-links

* Merged dev into fix/link-router-to (#1018)

* [carousel] Use dom utils

* feat: dom utility methods (#1013)

* feat: dom utility methods

* Update index.js

* [tooltip.js] Use dom utils

* [dropdown.js] Use dom utils

* [scrollspy.js] Use dom utils

* feat: Use dom utils (#1017)

* feat: dom utility methods

* Update index.js

* [tooltip.js] Use dom utils

* [dropdown.js] Use dom utils

* [scrollspy.js] Use dom utils

* feat(array mixin): Add polyfill for Array.find for IE

* [modal] use dom utils

* [popover.vue] Use dom utils

* [tooltip.vue] Use dom utils

* fix: add fixes from PR #940

* fix: don't change href when disabled

Previously, we we're altering the href to a "#" when disabled. Since we already handle disabling the link via click handlers, there is no reason to alter the semantics of the link.

* Update toolpop.js

* Update popover.vue

* Update tooltip.vue

* fix: typos

* refactor: remove link mixin usage

* fix(docs): proper component reference

* fix: incorporate @pi0's typo fix

* fix(tooltip.js) Remove unneeded line of code

* fix(tabs): Remove aria-expanded in favor of aria-seleted

As per Bootstrap V4 PR twbs/bootstrap#23907

* fix: Add lodash.startcase to dependancies

`b-table` requires `lodash.startcase`

* feat(modal): Improve modal transitions, padding adjustments, and aditional features (#1024)

* [modal] Fix transitions

* Update modal.vue

* Update modal.vue

* [v-b-modal] Use new namespaced $root event

* [modal] Incorporate BvEvent

* Update modal.vue

* [modal] Scrolbar adjustments & observeDom

* Update modal.vue

* [modal] Add variants

* Update demo.html

* Update demo.js

* Update meta.json

* Update README.md

* [modal] Add modal-header-close slot

* Update meta.json

* [b-button-close] New functional component for close button

Used by b-modal and b-alert

* make b-button-close available

* Update button-close.js

* [button-close] Ensure click event propagation is stopped when disabled

* [modal] use b-btn-close functional component

* [alert] Use b-btn-close component

* Update modal.vue

* add b-button-close to b-button meta.json

* [tooltip.js] Update to use only new modal close namespaced event

* [tooltip+popover] Auto-append tooltip/popover to modal if in a modal

Save user from having to specify the modal as a container when tooltip/popover is inside a modal

* [popover.js] Use dom utils

* [dom utils] Add class and attribute methods

* Update dom.js

* [modal] Use new dom utils class/atttr methods

* Update dom.js

* Update dom.js

* Update dom.js

* [tooltip.js] Use new DOM utils methods

* [popover.js] Use new dom utils class/attribute methods

* [modal] Update docs

* fix: correct some typos

* fix: clear console errors

* fix: add const declarations

* [modal] Call onAfterEvent transition handler

* fix: evt names for modal triggering & is_visible typo

* fix: modal v-model typo

* fix(btn-close): allow for innerHTML override

* refactor(modal): use object for conditional props

* feat(docs): new modal examples

* Classes: Wrap in Boolean and remove dangling commas

* [modal] minor updates to docs

* feat(form-file): Add focus styling for custom-file input (#1033)

* feat(form-file): Add focus styling for custom-file input

* Update form-file.vue

* [form-file] Remove wrapper div when in plain mode

* add sizing to plain file input

Unfortunately there doesn't appear to be an option to size the custom-file input.

* Update form-file.vue

* fix(observedom): Callback not being called for changes other than childList changes (#1025)

* fix(observedom): Callback not being called for changes other than node inert/remove

Allow callback to be called based on passed options.

Previously it was only being called if nodes were added or inserted, regardless of which options were passed (i.e. attribute changes, childList, textnode changes, etc.)

This fix remove this restriction.

* Create loose-equal.js

* Update index.js

* Update observe-dom.js

* Update index.js

* Delete loose-equal.js

* Update observe-dom.js

* Update observe-dom.js

* Update observe-dom.js

* Update observe-dom.js

* [WIP] feat(collpase): Use new $root namespaced events (#1037)

feat(collpase): Use new $root namespaced events + dom utils

* Revert "fix(observedom): Callback not being called for changes other than childList changes" (#1039)

This reverts commit f44c5eb.

* Revert "fix(observedom): Callback not being called for changes other than childList changes (#1025)"

This reverts commit 88cfaef.

* revert observerdom changes

* Update form-checkbox.vue

* Update form-checkbox-group.vue

* Update form-checkbox.vue

* Update form-checkbox.vue

* Update form-checkbox.vue

* Update form-radio-check.js

* [form-group] include role=group in input-selector

* Update form-checkbox.vue

* Update README.md

* Update README.md

* Update README.md

* Update form-radio-check.js

* [form-checkbox-group]: Emit change event on user interaction

* [form-radio-group] Emit change event on user interaction

* Update meta.json

* Update meta.json

* Update sidebar.vue

* Update index.js

* [form-radios] Docs breaking change notice

* [form-select] Update docs with extra example

tmorehouse added a commit that referenced this pull request Sep 14, 2017

merge branch dev into branch fix/observedom (#1053)
* fix: Add lodash.startcase to dependancies

`b-table` requires `lodash.startcase`

* feat(modal): Improve modal transitions, padding adjustments, and aditional features (#1024)

* [modal] Fix transitions

* Update modal.vue

* Update modal.vue

* [v-b-modal] Use new namespaced $root event

* [modal] Incorporate BvEvent

* Update modal.vue

* [modal] Scrolbar adjustments & observeDom

* Update modal.vue

* [modal] Add variants

* Update demo.html

* Update demo.js

* Update meta.json

* Update README.md

* [modal] Add modal-header-close slot

* Update meta.json

* [b-button-close] New functional component for close button

Used by b-modal and b-alert

* make b-button-close available

* Update button-close.js

* [button-close] Ensure click event propagation is stopped when disabled

* [modal] use b-btn-close functional component

* [alert] Use b-btn-close component

* Update modal.vue

* add b-button-close to b-button meta.json

* [tooltip.js] Update to use only new modal close namespaced event

* [tooltip+popover] Auto-append tooltip/popover to modal if in a modal

Save user from having to specify the modal as a container when tooltip/popover is inside a modal

* [popover.js] Use dom utils

* [dom utils] Add class and attribute methods

* Update dom.js

* [modal] Use new dom utils class/atttr methods

* Update dom.js

* Update dom.js

* Update dom.js

* [tooltip.js] Use new DOM utils methods

* [popover.js] Use new dom utils class/attribute methods

* [modal] Update docs

* fix: correct some typos

* fix: clear console errors

* fix: add const declarations

* [modal] Call onAfterEvent transition handler

* fix: evt names for modal triggering & is_visible typo

* fix: modal v-model typo

* fix(btn-close): allow for innerHTML override

* refactor(modal): use object for conditional props

* feat(docs): new modal examples

* Classes: Wrap in Boolean and remove dangling commas

* [modal] minor updates to docs

* feat(form-file): Add focus styling for custom-file input (#1033)

* feat(form-file): Add focus styling for custom-file input

* Update form-file.vue

* [form-file] Remove wrapper div when in plain mode

* add sizing to plain file input

Unfortunately there doesn't appear to be an option to size the custom-file input.

* Update form-file.vue

* fix(observedom): Callback not being called for changes other than childList changes (#1025)

* fix(observedom): Callback not being called for changes other than node inert/remove

Allow callback to be called based on passed options.

Previously it was only being called if nodes were added or inserted, regardless of which options were passed (i.e. attribute changes, childList, textnode changes, etc.)

This fix remove this restriction.

* Create loose-equal.js

* Update index.js

* Update observe-dom.js

* Update index.js

* Delete loose-equal.js

* Update observe-dom.js

* Update observe-dom.js

* Update observe-dom.js

* Update observe-dom.js

* [WIP] feat(collpase): Use new $root namespaced events (#1037)

feat(collpase): Use new $root namespaced events + dom utils

* Revert "fix(observedom): Callback not being called for changes other than childList changes" (#1039)

This reverts commit f44c5eb.

* Revert "fix(observedom): Callback not being called for changes other than childList changes (#1025)"

This reverts commit 88cfaef.

* chore(form-file): Minor uopdate

* chore(form-file): Minor update

* fix(modal): Minor bug fixes

* fix(modal): Fix aria hidden attr and observeDom target element

* fix(popover): getting title from title attribute

* fix(b-col): handle bool style prop for sm,md,lg,xl (#1042)

Fixes #1041

* fix(form-file): Selected file name(s) not always showing

Due to Bootstrap V4.beta CSS specificity, teh cutom props or filenames were not always being displayed

* docs(modal): Additional examples

* feat(docs): Add a new reference section (#1050)

* feat(docs): Add reference section

* Create SIZES.md

* Rename docs/reference/SIZES.md to docs/reference/sizes/README.md

* Rename docs/reference/VARIANTS.md to docs/reference/variants/README.md

* Create index.js

* Create index.js

* Update index.js

* Create index.js

* Update index.js

* Create README.md

* Create index.js

* Update index.js

* Update README.md

* Create README.md

* Update README.md

* Create index.js

* Update index.js

* Update README.md

* Update index.js

* Update index.js

* Update README.md

* Create _reference.vue

* Update README.md

* chore(dom-utls): Add reflow method

* [dom utils] Add getBoundingClientRect method

* feat(forms): New handling of form-select, form-radios and form-checkboxes (#994)

* Create loose-equal.js

* Update loose-equal.js

* Add looseEqual to utils

* Create form-option.vue

* Create form-optgroup.js

* Make b-form-optgroup and b-form-option available

alias b-form-optgroup as b-optgroup, and b-form-option as b-option

* Create form-radios.vue

* Update form-select.vue

* Update form-radios.vue

* Update index.js

* Create form-checkboxes.vue

* Update index.js

* Update form-options.js

* Update form-checkbox.vue

* Update form-radio.vue

* Update form-checkbox.vue

* Update form-radio.vue

* Update form-checkbox.vue

* Update form-radio.vue

* Update form-checkbox.vue

* Update form-checkbox.vue

* Update form-radio.vue

* Update form-radio.vue

* Update form-select.vue

* Update form-checkboxes.vue

* Update form-optgroup.js

* Update index.js

* Update meta.json

* Update index.js

* Rename docs/components/form-checkbox/meta.json to docs/components/form-checkboxes/meta.json

* Rename docs/components/form-checkbox/README.md to docs/components/form-checkboxes/README.md

* Rename docs/components/form-checkbox/index.js to docs/components/form-checkboxes/index.js

* Update and rename docs/components/form-radio/meta.json to docs/components/form-radios/meta.json

* Rename docs/components/form-radio/index.js to docs/components/form-radios/index.js

* Rename docs/components/form-radio/README.md to docs/components/form-radios/README.md

* Update meta.json

* Update meta.json

* Update index.js

* [form-select] Docs update

* Update form-checkboxes.vue

* [form-radios] Updated docs

* Update README.md

* Update README.md

* Update README.md

* Update index.js

* Rename form-checkboxes.vue to form-checkbox-group.vue

* Rename form-radios.vue to form-radio-group.vue

* Update meta.json

* Update meta.json

* Update index.js

* Update README.md

* Update README.md

* Update README.md

* Update demo.html

* [form-select] Docs: Switch to native <option> and <optgroup>

* Update meta.json

* [form-select] Switch to native browser <option>

* Update index.js

* Delete form-optgroup.js

* Delete form-option.vue

* resolve conflict

* Delete README.md

* Resolve conflict: This file should be deleted after merge

* Update README.md

* Update README.md

* Update form-options.js

* Update form-radio-group.vue

* Update form-checkbox-group.vue

* Update form-radio-group.vue

* Update form-radio.vue

* Create form-radio-check.js

* add new mixin

* [form-radio] Use form-radio-check mixin

* Update form-radio-check.js

* [form-checkbox] Use form-radio-check mixin

* Update form-checkbox.vue

* Update form-checkbox.vue

* Delete form-checkbox.js

* Update form-radio-group.vue

* Update form-checkbox-group.vue

* Update form-radio-group.vue

* [form-file] Add focus styling

* [form-file] Move focus styling to separate PR

* Update form-radio-check.js

* Update form-checkbox.vue

* Update form-options.js

* Update form-checkbox-group.vue

* Update form-checkbox.vue

* Update form-select.vue

* Update form-radio-check.js

* Update form-options.js

* Update form-radio-check.js

* Update form-radio.vue

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update form-checkbox-group.vue

* Update form-radio-group.vue

* Update README.md

* Update form-radio.vue

* Update form-checkbox.vue

* Update form-checkbox.vue

* Update form-checkbox.vue

* Update README.md

* Mrged dev into forms/1x (#1038)

* chore(docs): Minor update to popover example

* fix(carousel): Prevent reflow trigger from being optimised out (#995)

* Update carousel.vue

* fix(popover+tooltip): Allow indiviual component imports (#999)

* [tooltip class] import BvEvent direct
* [popover class] Import ToolTip direct

* fix(form-group): Not applying label-for prop value (#1000)

* feat(modal): Add props to change the variant of the default modal buttons (#1004)

* Add props to set variant of modal footer buttons

* update docs

* feat(popover+tooltip): Add hide event listener on $root (#1003)

* feat(popover/tooltip): Add hide on $root events

Optimized adding/removing of events.

Only listen/watch to certain events while the tooltip/popover is open

Adds listener for `bv::hide::(popover|tooltip)` event on root to allow user to close all popovers or tooltips via emitting on $root.

* [popover component] Document bv:hide::popover event

* [tooltip component] Document bv:hide:tooltip event

* [popover directive] Document bv:hide:popover event

* [tooltip directive]: Document bv:hide::tooltip event

* feat(table): Refactor field formatter support + optimized sort-compare handling (#991)

* refactor(b-table): use original item object

* chore(table.spec): eslint format

* feat(b-table): Allow usr provided sortCopmpare to handle only specific fields

if user provided sortCompare returns `null` (or `undefined`), then we assume it doesn't handle sorting for the field specified by `sortBy`

* ESLint

* Always return formattedValue as `value` in scoped slot.

Unformatted value is available as property `unformatted` on scoped slot data.

* Update docs

* Update README.md

* Allow formattter to return html content

* Update README.md

* fix(table-docs): unexpected identifier error

* fix(table-docs): typo corrections ⌨💥

* Allow v-html without need for wrapper div via v-if/v-else

* fix(tooltip-popover): Click not triggered for elements with inner HTML elements in Chrome (#1006)

Issue #1005

* docs: Update getting started

* feat(dropdowns): Add hide() and show() methods (#1012)

Addresses issue #1011

* [form-group] Use dom utils

* [carousel] Use dom utils

* feat: dom utility methods (#1013)

* feat: dom utility methods

* Update index.js

* [tooltip.js] Use dom utils

* [dropdown.js] Use dom utils

* [scrollspy.js] Use dom utils

* feat: Use dom utils (#1017)

* feat: dom utility methods

* Update index.js

* [tooltip.js] Use dom utils

* [dropdown.js] Use dom utils

* [scrollspy.js] Use dom utils

* feat(array mixin): Add polyfill for Array.find for IE

* [modal] use dom utils

* [popover.vue] Use dom utils

* [tooltip.vue] Use dom utils

* feat(dom utils): Add getById method

* feat(tooltip+popover): Create mixin for common props and methods (#1021)

* feat(tooltip+popover): Create mixin for common props and methods

* make mixin available

* ESLint

* Update toolpop.js

* Update toolpop.js

* [tooltip.vue] use toolpop mixin

* [popover.vue] Use toolpop mixin

* chore: Update getting started

* fix type

* fix(lform-group): Missing return in target ID selection

* fix(link): clear router-link/href collision and remove old link mixin (#1016)

* fix(link): don't use href for router-links

* Merged dev into fix/link-router-to (#1018)

* [carousel] Use dom utils

* feat: dom utility methods (#1013)

* feat: dom utility methods

* Update index.js

* [tooltip.js] Use dom utils

* [dropdown.js] Use dom utils

* [scrollspy.js] Use dom utils

* feat: Use dom utils (#1017)

* feat: dom utility methods

* Update index.js

* [tooltip.js] Use dom utils

* [dropdown.js] Use dom utils

* [scrollspy.js] Use dom utils

* feat(array mixin): Add polyfill for Array.find for IE

* [modal] use dom utils

* [popover.vue] Use dom utils

* [tooltip.vue] Use dom utils

* fix: add fixes from PR #940

* fix: don't change href when disabled

Previously, we we're altering the href to a "#" when disabled. Since we already handle disabling the link via click handlers, there is no reason to alter the semantics of the link.

* Update toolpop.js

* Update popover.vue

* Update tooltip.vue

* fix: typos

* refactor: remove link mixin usage

* fix(docs): proper component reference

* fix: incorporate @pi0's typo fix

* fix(tooltip.js) Remove unneeded line of code

* fix(tabs): Remove aria-expanded in favor of aria-seleted

As per Bootstrap V4 PR twbs/bootstrap#23907

* fix: Add lodash.startcase to dependancies

`b-table` requires `lodash.startcase`

* feat(modal): Improve modal transitions, padding adjustments, and aditional features (#1024)

* [modal] Fix transitions

* Update modal.vue

* Update modal.vue

* [v-b-modal] Use new namespaced $root event

* [modal] Incorporate BvEvent

* Update modal.vue

* [modal] Scrolbar adjustments & observeDom

* Update modal.vue

* [modal] Add variants

* Update demo.html

* Update demo.js

* Update meta.json

* Update README.md

* [modal] Add modal-header-close slot

* Update meta.json

* [b-button-close] New functional component for close button

Used by b-modal and b-alert

* make b-button-close available

* Update button-close.js

* [button-close] Ensure click event propagation is stopped when disabled

* [modal] use b-btn-close functional component

* [alert] Use b-btn-close component

* Update modal.vue

* add b-button-close to b-button meta.json

* [tooltip.js] Update to use only new modal close namespaced event

* [tooltip+popover] Auto-append tooltip/popover to modal if in a modal

Save user from having to specify the modal as a container when tooltip/popover is inside a modal

* [popover.js] Use dom utils

* [dom utils] Add class and attribute methods

* Update dom.js

* [modal] Use new dom utils class/atttr methods

* Update dom.js

* Update dom.js

* Update dom.js

* [tooltip.js] Use new DOM utils methods

* [popover.js] Use new dom utils class/attribute methods

* [modal] Update docs

* fix: correct some typos

* fix: clear console errors

* fix: add const declarations

* [modal] Call onAfterEvent transition handler

* fix: evt names for modal triggering & is_visible typo

* fix: modal v-model typo

* fix(btn-close): allow for innerHTML override

* refactor(modal): use object for conditional props

* feat(docs): new modal examples

* Classes: Wrap in Boolean and remove dangling commas

* [modal] minor updates to docs

* feat(form-file): Add focus styling for custom-file input (#1033)

* feat(form-file): Add focus styling for custom-file input

* Update form-file.vue

* [form-file] Remove wrapper div when in plain mode

* add sizing to plain file input

Unfortunately there doesn't appear to be an option to size the custom-file input.

* Update form-file.vue

* fix(observedom): Callback not being called for changes other than childList changes (#1025)

* fix(observedom): Callback not being called for changes other than node inert/remove

Allow callback to be called based on passed options.

Previously it was only being called if nodes were added or inserted, regardless of which options were passed (i.e. attribute changes, childList, textnode changes, etc.)

This fix remove this restriction.

* Create loose-equal.js

* Update index.js

* Update observe-dom.js

* Update index.js

* Delete loose-equal.js

* Update observe-dom.js

* Update observe-dom.js

* Update observe-dom.js

* Update observe-dom.js

* [WIP] feat(collpase): Use new $root namespaced events (#1037)

feat(collpase): Use new $root namespaced events + dom utils

* Merge dev into forms/1x (#1040)

* chore(docs): Minor update to popover example

* fix(carousel): Prevent reflow trigger from being optimised out (#995)

* Update carousel.vue

* fix(popover+tooltip): Allow indiviual component imports (#999)

* [tooltip class] import BvEvent direct
* [popover class] Import ToolTip direct

* fix(form-group): Not applying label-for prop value (#1000)

* feat(modal): Add props to change the variant of the default modal buttons (#1004)

* Add props to set variant of modal footer buttons

* update docs

* feat(popover+tooltip): Add hide event listener on $root (#1003)

* feat(popover/tooltip): Add hide on $root events

Optimized adding/removing of events.

Only listen/watch to certain events while the tooltip/popover is open

Adds listener for `bv::hide::(popover|tooltip)` event on root to allow user to close all popovers or tooltips via emitting on $root.

* [popover component] Document bv:hide::popover event

* [tooltip component] Document bv:hide:tooltip event

* [popover directive] Document bv:hide:popover event

* [tooltip directive]: Document bv:hide::tooltip event

* feat(table): Refactor field formatter support + optimized sort-compare handling (#991)

* refactor(b-table): use original item object

* chore(table.spec): eslint format

* feat(b-table): Allow usr provided sortCopmpare to handle only specific fields

if user provided sortCompare returns `null` (or `undefined`), then we assume it doesn't handle sorting for the field specified by `sortBy`

* ESLint

* Always return formattedValue as `value` in scoped slot.

Unformatted value is available as property `unformatted` on scoped slot data.

* Update docs

* Update README.md

* Allow formattter to return html content

* Update README.md

* fix(table-docs): unexpected identifier error

* fix(table-docs): typo corrections ⌨💥

* Allow v-html without need for wrapper div via v-if/v-else

* fix(tooltip-popover): Click not triggered for elements with inner HTML elements in Chrome (#1006)

Issue #1005

* docs: Update getting started

* feat(dropdowns): Add hide() and show() methods (#1012)

Addresses issue #1011

* [form-group] Use dom utils

* [carousel] Use dom utils

* feat: dom utility methods (#1013)

* feat: dom utility methods

* Update index.js

* [tooltip.js] Use dom utils

* [dropdown.js] Use dom utils

* [scrollspy.js] Use dom utils

* feat: Use dom utils (#1017)

* feat: dom utility methods

* Update index.js

* [tooltip.js] Use dom utils

* [dropdown.js] Use dom utils

* [scrollspy.js] Use dom utils

* feat(array mixin): Add polyfill for Array.find for IE

* [modal] use dom utils

* [popover.vue] Use dom utils

* [tooltip.vue] Use dom utils

* feat(dom utils): Add getById method

* feat(tooltip+popover): Create mixin for common props and methods (#1021)

* feat(tooltip+popover): Create mixin for common props and methods

* make mixin available

* ESLint

* Update toolpop.js

* Update toolpop.js

* [tooltip.vue] use toolpop mixin

* [popover.vue] Use toolpop mixin

* chore: Update getting started

* fix type

* fix(lform-group): Missing return in target ID selection

* fix(link): clear router-link/href collision and remove old link mixin (#1016)

* fix(link): don't use href for router-links

* Merged dev into fix/link-router-to (#1018)

* [carousel] Use dom utils

* feat: dom utility methods (#1013)

* feat: dom utility methods

* Update index.js

* [tooltip.js] Use dom utils

* [dropdown.js] Use dom utils

* [scrollspy.js] Use dom utils

* feat: Use dom utils (#1017)

* feat: dom utility methods

* Update index.js

* [tooltip.js] Use dom utils

* [dropdown.js] Use dom utils

* [scrollspy.js] Use dom utils

* feat(array mixin): Add polyfill for Array.find for IE

* [modal] use dom utils

* [popover.vue] Use dom utils

* [tooltip.vue] Use dom utils

* fix: add fixes from PR #940

* fix: don't change href when disabled

Previously, we we're altering the href to a "#" when disabled. Since we already handle disabling the link via click handlers, there is no reason to alter the semantics of the link.

* Update toolpop.js

* Update popover.vue

* Update tooltip.vue

* fix: typos

* refactor: remove link mixin usage

* fix(docs): proper component reference

* fix: incorporate @pi0's typo fix

* fix(tooltip.js) Remove unneeded line of code

* fix(tabs): Remove aria-expanded in favor of aria-seleted

As per Bootstrap V4 PR twbs/bootstrap#23907

* fix: Add lodash.startcase to dependancies

`b-table` requires `lodash.startcase`

* feat(modal): Improve modal transitions, padding adjustments, and aditional features (#1024)

* [modal] Fix transitions

* Update modal.vue

* Update modal.vue

* [v-b-modal] Use new namespaced $root event

* [modal] Incorporate BvEvent

* Update modal.vue

* [modal] Scrolbar adjustments & observeDom

* Update modal.vue

* [modal] Add variants

* Update demo.html

* Update demo.js

* Update meta.json

* Update README.md

* [modal] Add modal-header-close slot

* Update meta.json

* [b-button-close] New functional component for close button

Used by b-modal and b-alert

* make b-button-close available

* Update button-close.js

* [button-close] Ensure click event propagation is stopped when disabled

* [modal] use b-btn-close functional component

* [alert] Use b-btn-close component

* Update modal.vue

* add b-button-close to b-button meta.json

* [tooltip.js] Update to use only new modal close namespaced event

* [tooltip+popover] Auto-append tooltip/popover to modal if in a modal

Save user from having to specify the modal as a container when tooltip/popover is inside a modal

* [popover.js] Use dom utils

* [dom utils] Add class and attribute methods

* Update dom.js

* [modal] Use new dom utils class/atttr methods

* Update dom.js

* Update dom.js

* Update dom.js

* [tooltip.js] Use new DOM utils methods

* [popover.js] Use new dom utils class/attribute methods

* [modal] Update docs

* fix: correct some typos

* fix: clear console errors

* fix: add const declarations

* [modal] Call onAfterEvent transition handler

* fix: evt names for modal triggering & is_visible typo

* fix: modal v-model typo

* fix(btn-close): allow for innerHTML override

* refactor(modal): use object for conditional props

* feat(docs): new modal examples

* Classes: Wrap in Boolean and remove dangling commas

* [modal] minor updates to docs

* feat(form-file): Add focus styling for custom-file input (#1033)

* feat(form-file): Add focus styling for custom-file input

* Update form-file.vue

* [form-file] Remove wrapper div when in plain mode

* add sizing to plain file input

Unfortunately there doesn't appear to be an option to size the custom-file input.

* Update form-file.vue

* fix(observedom): Callback not being called for changes other than childList changes (#1025)

* fix(observedom): Callback not being called for changes other than node inert/remove

Allow callback to be called based on passed options.

Previously it was only being called if nodes were added or inserted, regardless of which options were passed (i.e. attribute changes, childList, textnode changes, etc.)

This fix remove this restriction.

* Create loose-equal.js

* Update index.js

* Update observe-dom.js

* Update index.js

* Delete loose-equal.js

* Update observe-dom.js

* Update observe-dom.js

* Update observe-dom.js

* Update observe-dom.js

* [WIP] feat(collpase): Use new $root namespaced events (#1037)

feat(collpase): Use new $root namespaced events + dom utils

* Revert "fix(observedom): Callback not being called for changes other than childList changes" (#1039)

This reverts commit f44c5eb.

* Revert "fix(observedom): Callback not being called for changes other than childList changes (#1025)"

This reverts commit 88cfaef.

* revert observerdom changes

* Update form-checkbox.vue

* Update form-checkbox-group.vue

* Update form-checkbox.vue

* Update form-checkbox.vue

* Update form-checkbox.vue

* Update form-radio-check.js

* [form-group] include role=group in input-selector

* Update form-checkbox.vue

* Update README.md

* Update README.md

* Update README.md

* Update form-radio-check.js

* [form-checkbox-group]: Emit change event on user interaction

* [form-radio-group] Emit change event on user interaction

* Update meta.json

* Update meta.json

* Update sidebar.vue

* Update index.js

* [form-radios] Docs breaking change notice

* [form-select] Update docs with extra example

* feat(modal): Add lazy loaded modal support (#1046)

* feat(modal): Add lazy loaded modal support

New `lazy` prop allows modal to be taken out of dom (`v-if`) when not visible

* ESLint

* [modal] prevent backdrop FOUC in no-fade mode

* Prevent backrop from disapearing before modal finishes closing

* [observe-dom] return observer refernce

So we can call the observer.disconnect() method

* [modal] only observerdom while open

* Update observe-dom.js

* [observe-dom] Ensure we have an element reference

* chore(docs): minor update

* chore(docs): minor udpate

* chore(docs): minor update

* chore(docs): minor update

* docs(modal): Minor update

* chore(docs): remove old form-checkbox docs

* chore(docs): Adjust title for sizing reference

* Update README.md

* chore(docs): minor update

* feat(dom util): new reflow, getBoundingClientRect, eventOn, eventOff methods (#1052)

* feat(dom): b-modal use dom.reflow method

* [collapse] Use dom.reflow from dom-utls

* [carousel] use dom.reflow method from dom utils

* [dom utils] Add getBoundingClientRect method (#1051)

* [dom utils] add eventPOn and eventOff methods

* [img-lazy] Use new dom utils methods

* [carousel] use new dom util methods

* Update img-lazy.vue

* Update img-lazy.vue

* Update img-lazy.vue

* [scrollspy] use dom utils event methods

* [ttoltip.js] Use dom event methods

* [dropdown mixin] Use new dom util methods

* [button] use dom utils

* [button-toolbar] use dom utils

* [pagination] use dom utils

* Update scrollspy.js

* Update button-toolbar.vue

* [pagination-nav] use DOM utils

* Update pagination.vue

* chore(docs): fix typo

* chore(docs): minor update

* chore(docs): minor update

* chore(docs): minor update to form-checkboxes

* Update carousel.vue

* Update carousel.vue

* Update dom.js

* Update dom.js

* Update img-lazy.vue

* Update button-toolbar.vue

* Update dropdown.js

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