Commit Graph

204 Commits

Author SHA1 Message Date
XhmikosR 0d81d3cbc1
Release v5.1.1 (#34869)
* Prepare v5.1.1.

* Dist
2021-09-07 18:37:44 +03:00
GeoSot 51afe026ca
Fix tooltip `data-bs-original-title` issue (#34842) 2021-08-31 16:11:22 +03:00
XhmikosR f20fece3a8
Prepare v5.1.0. (#34674) 2021-08-04 18:41:51 +03:00
GeoSot a6a2d1e2df
Regression on tooltip template creation process. (#34628)
* Regression on tooltip template creation process.

* check if template content does not exist, or given argument is empty

* call `setContent()` once.
2021-08-03 11:59:33 +03:00
XhmikosR 742269a734
tooltip: move repeated strings to constants (#34619) 2021-07-30 00:32:07 +02:00
XhmikosR 6d707f4801
Enable a few eslint-config-xo rules (#34620)
* unicorn/prefer-dom-node-append
* unicorn/prefer-dom-node-remove
2021-07-30 00:23:00 +02:00
GeoSot da2db218ed Use on private method to set content & cleanup template 2021-07-22 17:20:38 +03:00
GeoSot 9c3ceaa25b popover: Move common code in tooltip's `getTipElement()` 2021-07-22 17:20:38 +03:00
GeoSot a97fd1cd24 use one private method to resolve string or function 2021-07-22 17:20:38 +03:00
GeoSot 3716603dbc Use `getOrCreateInstance` on `_initializeOnDelegatedTarget` 2021-07-22 17:20:38 +03:00
GeoSot 92c7056619 `_getDelegateConfig()`: add a comment and remove an unneeded config check 2021-07-22 17:20:38 +03:00
GeoSot c4e189df40 use a class private getter to decouple same methods usage 2021-07-22 17:20:38 +03:00
XhmikosR 688bce4fa6
Release v5.0.2 (#34276)
* Bump version to v5.0.2.

* Dist
2021-06-22 21:29:16 +03:00
GeoSot c98657b830
Add `getOrCreateInstance` method in base-component (#33276)
Co-authored-by: Rohit Sharma <rohit2sharma95@gmail.com>
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2021-06-03 18:53:27 +03:00
GeoSot 544d9ac3cf
Change `element.parentNode.removeChild(element)` to `element.remove()` (#34071) 2021-05-25 18:30:38 +03:00
GeoSot 9e4f87ae8f
Allow use of `dispose/hide` methods on Tooltip & Popover from jQueryInterface, when component does not exists. (#33371) 2021-05-20 16:16:55 +03:00
XhmikosR 58b1be927f
Release v5.0.1 (#33972)
* Bump version to 5.0.1.

* Dist
2021-05-13 19:22:20 +03:00
GeoSot 6e1c9096f0
Move get element functionality to a helper (#33327)
Looking around on js components I found out many checks, different expressed but with same purpose.
Some of them are trying to parse string to element, others, jQuery element to js simple nodeElement etc

With this Pr, I am trying to give a standard way to parse an element

So this pr:

* Creates `getElement` helper that tries to parse an argument to element or null
* Changes `isElement` to make  explicit checks and return Boolean 
* fixes tests deficiencies
2021-05-13 18:17:20 +03:00
GeoSot 9a9e22475c
Popover/Tooltip: streamline config property to start with underscore (#33381) 2021-05-12 12:15:59 +03:00
GeoSot 9fe36edf68
Extract static `DATA_KEY` & `EVENT_KEY` to base-component (#33635)
* Force each plugin that extends base-components to implement a static method `NAME()`
* Remove redundant `NAME` argument from 'Utils.defineJQueryPlugin' & fix test
2021-05-11 10:49:30 +03:00
GeoSot 03842b5f25
Refactor: move disposing properties into the base class (#33740)
Moves more functionality to `base-component`, transferring the responsibility of disposal to parent class.
Each component, dusting disposal, sets its protected properties to `null`. So the same can be done in one place for all children components .
2021-05-11 09:04:42 +03:00
GeoSot 90b1a6907e Merge js-components 'transitionend' listener callbacks into one method 2021-05-10 13:59:55 -07:00
XhmikosR bf09367486
Release v5.0.0 (#33647)
* Bump version to 5.0.0

* Fix npm tag

* Dist
2021-05-05 22:32:12 +03:00
Rohit Sharma a22f4d3cfd
Don't change the value for `altBoundary` option (#33684)
- Since bootstrap is not changing the default value of `elementContext`
  option, changing the value of `altBoundary` option is not needed for
any modifier in real

Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2021-04-19 19:58:45 +03:00
GeoSot 566451230f
Remove element event listeners through base component (#33429)
After some research, I found out that EventHandler saves all the custom events per element using namespace, and is capable of removing handlers using only the element and its namespace (`DATA_KEY`).

So, probably is better to utilize the base-component to do the same job.
2021-04-11 09:54:48 +03:00
Rohit Sharma b2bc159d72 Use cached `noop` function everywhere 2021-04-11 09:42:52 +03:00
XhmikosR 220139a89f
Release v5.0.0-beta3 (#33439) 2021-03-23 18:26:54 +02:00
Ryan Berliner 99b2c0b390 only trigger tooltip inserted event on true dom insert 2021-03-16 07:48:50 +02:00
Ryan Berliner 72d2313579 reuse existing popper on show during tooltip fadeout 2021-03-16 07:48:50 +02:00
Ryan Berliner 6ef70b342c prevent quick interactions from misplacing tooltips 2021-03-16 07:48:50 +02:00
Ryan Berliner d491c29aa0 prevent tooltip from being deleted on quick re-activations 2021-03-16 07:48:50 +02:00
alpadev 48a95f7280
refactor: use a Map instead of an Object in dom/data (#32180)
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
Co-authored-by: Rohit Sharma <rohit2sharma95@gmail.com>
2021-03-02 16:55:44 +02:00
XhmikosR 92434fa30f
util: change `isRTL` to a function (#32446)
This allows the bundler to tree-shake the function.
2021-02-16 10:14:05 +02:00
XhmikosR e50c11b8c6
Release v5.0.0-beta2 (#32467)
* Bump version to 5.0.0-beta2

* Dist
2021-02-10 18:14:51 +02:00
Rohit Sharma f7088e5d28
Add function type for `popperConfig` option (#32882)
* Add function type for `popperConfig` option

* Update .bundlewatch.config.json

* copy edits

Co-authored-by: XhmikosR <xhmikosr@gmail.com>
Co-authored-by: Mark Otto <markdotto@gmail.com>
2021-02-09 21:16:13 +02:00
Kyle Tsang d63a922436
Fix Popper preventOverflow boundary config (#32845)
Currently, the boundary config is being assigned to the wrong var (`rootBoundary`) in the popper config.  It should be assigned to the `boundary` var in popper's config.

Ref: https://popper.js.org/docs/v2/utils/detect-overflow/#boundary
2021-02-04 06:55:25 +02:00
Rohit Sharma b1bd54955e Restore `offset` option for tooltip/popover components 2021-01-28 12:23:33 +02:00
GeoSot 5d7b51e1d0
Tooltip refactoring (#32523)
* tooltip: move common code to a reusable function

* tooltip: return early in `show()`

Co-authored-by: Rohit Sharma <rohit2sharma95@gmail.com>
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2021-01-27 19:01:24 +02:00
Rohit Sharma 042a4a255f
Tooltip/popover - change the default value for `fallbackPlacements` (#32437)
The default Popper `fallbackPlacements` value is `[oppositePlacement]`.

- The default value was previously (in v4) `'flip'` that can be achieved by passing the single value in the array, like — `[oppositePlacement]`. Keeping `null` also sets the `fallbackPlacements` to `[oppositePlacement]` (Default value in Popper)
- It's better to have **clockwise** (`['top', 'right', 'bottom', 'left']`) fallback options so that tooltip/popover can be placed to another side even if the opposite placement doesn't fit.

Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2020-12-14 20:51:14 +02:00
Rohit Sharma 4535b09c46
Tooltip - check if tip and its parent node exist in dispose method (#32420) 2020-12-10 21:06:41 +02:00
XhmikosR 1edec546cb
Remove `TRANSITION_END` from utils (#32394) 2020-12-10 16:54:50 +02:00
Martijn Cuppens f132400865 Add fallback behaviour 2020-12-09 13:34:51 -08:00
alpadev 85208ae557
Refactor components to use a utility function to define jQuery plugins (#32285)
* refactor: use an utility function to define jQuery plugins

* test: add spec for defineJQueryPlugin utility function

* Update .bundlewatch.config.json

Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2020-12-08 08:16:50 +02:00
XhmikosR 8dc85c657e Prepare v5.0.0-beta1. 2020-12-07 18:18:16 +02:00
Johann-S adfdf7160b Update to popper.js v2.x 2020-12-06 18:42:40 +02:00
Gaël Poupard 9488978fb5 feat(RTL): implement RTL
Using RTLCSS directives, renaming things to use logical names and following best practices.
2020-12-04 07:52:03 +02:00
XhmikosR 701c6c6e77
Unbreak lines. (#32304) 2020-12-02 06:45:15 +02:00
XhmikosR 03ed3e0b3b tooltip.js: reuse existent variable 2020-11-30 12:07:51 +02:00
Patrick H. Lauke adc857f617 Extra check for existence of any `aria-label`
before overwriting it...
2020-11-30 12:07:51 +02:00
Matty Williams b0372bb658 Accessibility update for tooltip.js
Update to the tooltip.js to add an aria-label attribute that contains the original title of the element, but only if the element doesn't have an existing aria-label attribute.

This is to address cases where screen readers are not capturing the aria-describedby attribute that is added when the tooltip is triggered.  This should also avoid a race condition between the screen reader and the appearance of the tooltip.
2020-11-30 12:07:51 +02:00