Commit Graph

2407 Commits

Author SHA1 Message Date
Mark Otto 9691b474bb Fix some JS todos and warnings (#41998)
* Fix some JS todos and warnings

* Undo some
2026-01-08 20:14:09 -08:00
Mark Otto 01200ee0f2 Run dist while here 2026-01-08 20:14:09 -08:00
Mark Otto 6ef610a9be Follow-up fix to datepicker I forgot to push 2026-01-08 20:14:09 -08:00
Mark Otto b0c0ff3e25 New Datepicker plugin via Vanilla Calendar Pro, new `.form-adorn` component (#41965)
* First pass at datepicker via Vanilla Calendar Pro

* fixes

* optimize

* Docs updates, add advanced config

* rename attr

* edits

* Update datepicker docs, improve color modes, add tests

* New .form-adorn component for overlaying icons and text with inputs

* temp

* bump limits

* cleanup and simpler selectors

* few more tweaks

* Remove comment

* Fix multi-month, reorg some docs content, fix selections
2026-01-08 20:14:09 -08:00
Mark Otto 35dc869220 Add tests for new form components 2026-01-08 20:14:09 -08:00
Mark Otto 9c32c543a3 New OTP input (#41981)
* feat: add OTP input component

- Add OtpInput JavaScript component with keyboard navigation and paste support
- Add SCSS styles for OTP input fields
- Add documentation page for OTP input
- Add unit tests for OTP input

* Bump bundlewatch

* Missed file
2026-01-08 20:14:09 -08:00
Mark Otto 25f33a86d5 Password strength plugin (#41980)
* feat: add password strength component

- Add Strength JavaScript component with customizable scoring
- Add SCSS styles for strength meter and bar variants
- Add documentation page for password strength
- Add unit tests for strength component

* Bundle bump

* More bundle
2026-01-08 20:14:09 -08:00
Mark Otto 8c66e3b814 New Toggler plugin (#41966)
* Toggler compontent from upstrea PR

* Update docs

* Fix comments, data_key, and cleanup some code; add tests too

* bump

* edits
2026-01-08 20:14:09 -08:00
Mark Otto 1731460a2c First pass at submenu support (#41967)
* First pass at submenu support

* Remove unused constants

* Fix up linter errors

* Logical properties for placement

* Better docs playground for dropdowns

* refactor and update bundles

* more tests, fix broken tests

* more tests

* more

* more
2026-01-08 20:14:09 -08:00
Mark Otto c46c1be2ff Generate dist in v6-dev for first time (#41945)
* Generate dist in v6-dev for first time

* Rebuild after browserslist upgrade
2026-01-08 20:09:04 -08:00
Mark Otto 52012a8557 Migrate from Popper to Floating UI (#41941)
* Migrate to Floating UI for tooltips, popovers, dropdowns

* Bump bundlewatch

* Dropdown tests

* add floating ui tests from claude

* more

* build sri

* more tests while here
2026-01-08 20:09:03 -08:00
Mark Otto a19a8fb911 Replace Modal with new Dialog component (#41917)
* Add Dialog component using native HTML dialog element

New component that leverages the native HTML <dialog> element for modals
and non-modal dialogs with built-in backdrop and accessibility support.

Features:
- Modal dialogs using showModal() with automatic backdrop
- Non-modal dialogs using show() for persistent UI elements
- Static backdrop option (prevents close on outside click)
- Keyboard support (Escape to close, focus trapping for modals)
- Smooth open/close animations via CSS
- Events: show, shown, hide, hidden, hidePrevented
- Data API for toggling with data-bs-toggle="dialog"

JavaScript:
- js/src/dialog.js - Main component class
- js/tests/unit/dialog.spec.js - Unit tests
- js/tests/visual/dialog.html - Visual test page

SCSS:
- scss/_dialog.scss - Component styles

Docs:
- Add dialog component documentation
- Update modal docs with dialog references

* Modal examples now Dialog examples, needs improvement

* Remove all of Modal

* real words

* Fix layout while I'm here

* Lint Markdown

* New dialog size options
2026-01-08 20:08:32 -08:00
Mark Otto b690f11076 Remove jQuery support in plugins (#41682) 2026-01-08 20:02:49 -08:00
Mark Otto 25aa8cc0b3
Release v5.3.8 (#41669)
* Bump version

* Run dist

* Unrelated new docs error
2025-08-25 19:01:02 -07:00
Mark Otto ac5f51c17e
Revert "Attempt to return focus explicitly to dropdown trigger (#41365)" (#41668)
This reverts commit 24305e7b18.
2025-08-25 09:48:45 -07:00
Julien Déramond e0032ae6a5
Release v5.3.7 (#41509)
BrowserStack / browserstack (push) Waiting to run Details
Bundlewatch / bundlewatch (push) Waiting to run Details
CodeQL / Analyze (push) Waiting to run Details
cspell / cspell (push) Waiting to run Details
CSS / css (push) Waiting to run Details
Docs / docs (push) Waiting to run Details
JS Tests / JS Tests (push) Waiting to run Details
Lint / lint (push) Waiting to run Details
CSS (node-sass) / css (push) Waiting to run Details
Release notes / update_release_draft (push) Waiting to run Details
2025-06-10 08:44:49 -07:00
Amit Rathiesh 13aa16a99b
Fix: Popover with hover and click triggers closes on mouseleave (#41511)
* Fix: Popover with hover and click triggers closes on mouseleave

When a popover is configured with `trigger: 'hover click'`,
if you open it by a click, it would incorrectly close when the
mouse pointer leaves the trigger element. This was because the
`mouseleave` event (part of the hover trigger) would hide the
popover without adequately respecting the click trigger's intent
to keep it open.

This commit modifies the click event listener within `Tooltip.js`
(which Popover extends) to explicitly manage the `_activeTrigger[TRIGGER_CLICK]`
state:
- When a click opens the popover or makes a hover-opened popover
  sticky, `_activeTrigger[TRIGGER_CLICK]` is set to `true`.
- When a click closes an already click-activated popover,
  `_activeTrigger[TRIGGER_CLICK]` is set to `false`.

The `_leave()` method, called by `mouseleave`, already checks
`_isWithActiveTrigger()`. With `_activeTrigger[TRIGGER_CLICK]`
now accurately reflecting the click state, `_leave()` will not
hide a click-activated popover when the mouse leaves the trigger
element. The popover will now correctly remain open until a
subsequent click closes it.

* Removed `test-popover.html`

* Fix linting issues

* Add unit test

---------

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Julien Déramond <juderamond@gmail.com>
2025-06-03 12:19:24 -07:00
Julien Déramond 0f19b06745
Update `devDependencies` (#41450)
BrowserStack / browserstack (push) Has been cancelled Details
Bundlewatch / bundlewatch (push) Has been cancelled Details
CodeQL / Analyze (push) Has been cancelled Details
cspell / cspell (push) Has been cancelled Details
CSS / css (push) Has been cancelled Details
Docs / docs (push) Has been cancelled Details
JS Tests / JS Tests (push) Has been cancelled Details
Lint / lint (push) Has been cancelled Details
CSS (node-sass) / css (push) Has been cancelled Details
Release notes / update_release_draft (push) Has been cancelled Details
2025-05-07 17:24:20 +02:00
Mark Otto f849680d16
Release v5.3.6 (#41406)
BrowserStack / browserstack (push) Waiting to run Details
Bundlewatch / bundlewatch (push) Waiting to run Details
CodeQL / Analyze (push) Waiting to run Details
cspell / cspell (push) Waiting to run Details
CSS / css (push) Waiting to run Details
Docs / docs (push) Waiting to run Details
JS Tests / JS Tests (push) Waiting to run Details
Lint / lint (push) Waiting to run Details
CSS (node-sass) / css (push) Waiting to run Details
Release notes / update_release_draft (push) Waiting to run Details
* Update to v5.3.6

* Rebuild

* Rebuild
2025-05-05 12:21:55 -07:00
Mohamad Salman 7bbbc492ef
Removed line break between `// Private` comment and function (#41218)
BrowserStack / browserstack (push) Has been cancelled Details
Bundlewatch / bundlewatch (push) Has been cancelled Details
CodeQL / Analyze (push) Has been cancelled Details
cspell / cspell (push) Has been cancelled Details
CSS / css (push) Has been cancelled Details
Docs / docs (push) Has been cancelled Details
JS Tests / JS Tests (push) Has been cancelled Details
Lint / lint (push) Has been cancelled Details
CSS (node-sass) / css (push) Has been cancelled Details
Release notes / update_release_draft (push) Has been cancelled Details
2025-04-25 10:22:58 -07:00
Mohamad Salman 3bb3c95188
Move _isShown() method to private section (#41220) 2025-04-25 10:21:47 -07:00
Mark Otto 24305e7b18
Attempt to return focus explicitly to dropdown trigger (#41365)
BrowserStack / browserstack (push) Waiting to run Details
Bundlewatch / bundlewatch (push) Waiting to run Details
CodeQL / Analyze (push) Waiting to run Details
cspell / cspell (push) Waiting to run Details
CSS / css (push) Waiting to run Details
Docs / docs (push) Waiting to run Details
JS Tests / JS Tests (push) Waiting to run Details
Lint / lint (push) Waiting to run Details
CSS (node-sass) / css (push) Waiting to run Details
Release notes / update_release_draft (push) Waiting to run Details
Co-authored-by: Mark Otto <mdo@heypierre.app>
2025-04-21 21:20:09 -07:00
Mohamad Salman 5c5f2913df
Add private comment to BaseComponent Class (#41254) 2025-04-21 20:33:04 -07:00
Julien Déramond a8ab19955b
Docs: migration from Hugo to Astro (#41251)
Co-authored-by: HiDeoo <494699+HiDeoo@users.noreply.github.com>
Co-authored-by: Mark Otto <markdotto@gmail.com>
2025-04-15 18:37:47 +02:00
Mark Otto 85f23534bd
Bump to v5.3.5 (#41348)
* Bump to v5.3.5

* Undo comment version change

* undo comment

* release again
2025-04-04 11:20:30 -07:00
XhmikosR 51581ed235
Release v5.3.4 (#40656)
BrowserStack / browserstack (push) Waiting to run Details
Bundlewatch / bundlewatch (push) Waiting to run Details
CodeQL / Analyze (push) Waiting to run Details
cspell / cspell (push) Waiting to run Details
CSS / css (push) Waiting to run Details
Docs / docs (push) Waiting to run Details
JS Tests / JS Tests (push) Waiting to run Details
Lint / lint (push) Waiting to run Details
CSS (node-sass) / css (push) Waiting to run Details
Release notes / update_release_draft (push) Waiting to run Details
* Bump version to v5.3.4

* Dist

* Dist

* dist again

* re-run npm release

---------

Co-authored-by: Mark Otto <markdotto@gmail.com>
2025-04-03 08:58:10 -07:00
Patrick H. Lauke ed253683f3
[Docs] Remove some unnecessary Twitter references/examples (#41174)
* Remove some unnecessary Twitter references/examples

* Changes suggested by @mdo
2025-04-02 23:03:06 -07:00
Louis-Maxime Piton 49a5ccfd4f
Docs: From Twitter to X (#40706)
* From Twitter to X

* .

* Use Bootstrap Icons

* Set X card to use `twitter` again

* Update `tests/unit/popover.spec.js`

---------

Co-authored-by: Julien Déramond <juderamond@gmail.com>
2025-04-02 22:47:45 -07:00
Mohamad Salman b7f3d6a6be
Rename `fixtureId` to `FIXTURE_ID` in `js/tests/helpers` for consistency (#41150)
Co-authored-by: Julien Déramond <juderamond@gmail.com>
2025-02-08 18:37:52 +01:00
Patrick (Casus Belli) cacbdc680e
Fix left alignment of floating labels with `.form-select` size variants (#41013)
Co-authored-by: Patrick Kroog <pk@kroog.com>
Co-authored-by: Christian Oliff <christianoliff@pm.me>
Co-authored-by: Julien Déramond <juderamond@gmail.com>
Co-authored-by: Louis-Maxime Piton <louismaxime.piton@orange.com>
2024-11-14 11:12:33 +01:00
Dmitry fecd219983
Fix popover remaining open when toggled after being shown (#40803)
Co-authored-by: Dmitry Sergienko <dmitry.sergienko@codefirst.net>
Co-authored-by: Julien Déramond <juderamond@gmail.com>
2024-09-12 09:45:08 +02:00
XhmikosR 6ca9152d04
Update devDependencies and regenerate package-lock.json (#40673)
* @babel/preset-env       ^7.24.8  →   ^7.25.0
* eslint-plugin-unicorn   ^54.0.0  →   ^55.0.0
* hugo-bin               ^0.126.0  →  ^0.127.0
* postcss                 ^8.4.39  →   ^8.4.40
* rollup                  ^4.19.0  →   ^4.19.1
* rtlcss                   ^4.1.1  →    ^4.2.0
2024-07-29 17:26:02 +03:00
Nathan Sarang-Walters 16d80a4ff7
Fix `this` reference for JavaScript functions (#38725) 2024-07-19 07:05:21 +02:00
Louis-Maxime Piton b522441901
Floating labels: Fix `max-width` and `background-color` (#39720)
* Fix `max-width`

* Fix label background color

* Add new visual test: floating label

* Fix `npm run docs`

---------

Co-authored-by: Julien Déramond <juderamond@gmail.com>
2024-06-12 18:39:23 -07:00
Caleb Albritton 4219af2c0e
Fix broken comment link for reflow hack (#39791) 2024-03-18 10:32:49 +02:00
XhmikosR 953b4b6c1b Fix various redirects 2024-03-06 09:52:50 +02:00
Julien Déramond 6e1f75f420
Release v5.3.3 (#39524)
* Release v5.3.3

* Dist

---------

Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2024-02-20 17:14:29 +02:00
GeoSot 6ed1cdd43e
Selector Engine: fix multiple IDs (#39201)
* fix: regression of #38989

* Add unit test in selector-engine.spec.js

---------

Co-authored-by: Julien Déramond <juderamond@gmail.com>
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2024-02-18 08:58:07 +02:00
dependabot[bot] 40c6d8a4bc
Build(deps-dev): Bump eslint-config-xo from 0.43.1 to 0.44.0 (#39651)
* Build(deps-dev): Bump eslint-config-xo from 0.43.1 to 0.44.0

Bumps [eslint-config-xo](https://github.com/xojs/eslint-config-xo) from 0.43.1 to 0.44.0.
- [Release notes](https://github.com/xojs/eslint-config-xo/releases)
- [Commits](https://github.com/xojs/eslint-config-xo/compare/v0.43.1...v0.44.0)

---
updated-dependencies:
- dependency-name: eslint-config-xo
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update .eslintrc.json

* Update .eslintrc.json

* autofix

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2024-02-06 21:46:52 +02:00
Frans de Jonge b9f92d70c9
Allow `<dl>`, `<dt>` and `<dd>` in JS sanitizer (#39376)
Co-authored-by: Julien Déramond <juderamond@gmail.com>
2023-11-15 08:38:27 +01:00
Julien Déramond ce114117a8
Tests: update navbar in visual modal test (#39294) 2023-10-13 10:28:08 +02:00
Julien Déramond 344e912d04
Release v5.3.2 (#39173)
* Bump version to 5.3.2

* Dist
2023-09-14 17:19:27 +03:00
Louis-Maxime Piton 9900cf33c0
Fix collapse multiple ids target (#38989) 2023-09-13 09:30:32 +02:00
Mustafa Ateş Uzun 1be3057230
Dropdown: reuse variable (#39046)
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2023-08-21 09:06:39 +03:00
XhmikosR 2a1bf52b73
Release v5.3.1 (#38956)
* Bump version to 5.3.1

* Dist
2023-07-26 10:46:38 +03:00
Kyle Tsang d45cc7ef51
Support `Home` and `End` keys in tabs (#38498)
* Support `Home` and `End` keys in tabs

* Update tab.js

* simplify tests

* Update navs-tabs.md

* Update .bundlewatch.config.json

---------

Co-authored-by: Patrick H. Lauke <redux@splintered.co.uk>
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
Co-authored-by: Mark Otto <markdotto@gmail.com>
2023-07-23 22:06:14 +03:00
Julien Déramond 3515ac16a1 Docs: add missing `aria-disabled='true'` to disabled anchors 2023-07-05 22:28:00 -07:00
XhmikosR 60098ac499
Release v5.3.0 (#38657)
* Bump version to 5.3.0

* Dist
2023-05-30 18:15:55 +03:00
Kyle Tsang d5dee316f7
Update URL sanitizer to allow more protocols (#38531)
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2023-05-01 00:33:09 +03:00
Alejandro Mendoza a06c2e6b5f
Fix scrollspy and accented anchor links (#38502) 2023-05-01 00:31:26 +03:00