Commit Graph

241 Commits

Author SHA1 Message Date
Jonathan Reinink e9e6aded54 Tweak wording in changelog (#917) 2021-11-08 08:21:01 -05:00
Robin Malfait 2f987be5b9 bump to 1.4.2 2021-11-08 11:15:43 +01:00
Robin Malfait 0252c6136e update GitHub action name 2021-11-08 11:14:12 +01:00
Robin Malfait ff60cfaf65 update changelog 2021-11-08 11:13:00 +01:00
Robin Malfait b67729e7f6 Merge pull request #826 from tailwindlabs/develop
Next release
2021-11-08 11:10:27 +01:00
Robin Malfait 39b164647f Fix type on Tabs component Vue (#912)
* add `tabs` example to Vue

* use useResolveButtonType for Tabs

* update changelog
2021-11-05 12:57:41 +01:00
Robin Malfait a472b7bbb7 update issue templates 2021-10-30 13:05:48 +02:00
Robin Malfait 259965546b update changelog 2021-10-29 11:44:42 +02:00
Vemund Santi c57eb60a26 Enable tree shaking in Vue package (#859) 2021-10-29 11:32:16 +02:00
Dany Castillo fd4669fbf7 Rely on initial state of Transition component (#882)
The `useId` hook causes a re-render in TransitionChild immediately after mount which triggers a transition by `initial` being false in the second re-render regardless of how `appear` was set.
2021-10-29 11:27:03 +02:00
Georges KABBOUCHI 9f638c9eb7 fix: vue ssr (#867)
closes #840
2021-10-20 18:23:41 +02:00
Robin Malfait fd9a2d20b2 Ensure interactability with Popover.Panel contents in static mode (#857)
* ensure interactability with Popover.Panel contents in static mode

* update changelog
2021-10-08 15:53:24 +02:00
Robin Malfait f9e0d30795 Add automated release workflows (#853)
This commit also contains new code introduced after the PR in #853 was
merged. I just squashed it all together to prevent noisy commits to try
and fix CI.

The funny thing is that now the final commit looks fairly stupid/simple
but it wasn't that easy as I would have liked.

1. Couldn't find a proper way to execute `npm version` using yarn
   workspaces. `yarn workspaces foreach npm version` would have worked
   if we were using Yarn 2 instead of Yarn 1.
2. Introducing `version` and `publish` scripts in both packages worked,
   but then the default `version` and `publish` were also executed.
3. Once I made the scripts unique (`npm-version`,  `npm-publish`) it
   worked~ish. The registry was always set to a yarnpkg registry, even
   if we set the registry in CI and in a local .npmrc file. My guess is
   that we are executing in a nested directory and therefore it didn't
   work.
4. Next, I found the `npm workspaces` option so that we can use that in
   addition to `yarn workspaces` 🙃
5. In CI of course this didn't work, because I was not using the same
   node version...
6. After everything worked, I did cleanup of the new scripts, and
   removed the introduced .npmrc files.
2021-10-08 11:18:53 +02:00
Robin Malfait aa1a48cbfe Use watchEffect instead of immediately using an event listener on window (#817)
* use `watchEffect` instead of immediately using an event listener on `window`

* update changelog
2021-09-17 13:52:18 +02:00
Robin Malfait 91b436ae7c Allow to click on elements inside a Dialog Overlay (#816)
* allow to click on elements inside a Dialog Overlay

* update changelog
2021-09-17 13:31:31 +02:00
Robin Malfait 33c5c6e412 Merge pull request #798 from tailwindlabs/stop-propagation-on-escape
Ensure we stop the event from propagating
2021-09-12 19:08:37 +02:00
Robin Malfait 7f55847afe update changelog 2021-09-12 18:44:20 +02:00
Robin Malfait 3ad86ad498 ensure we stop the event from propagating 2021-09-12 18:42:20 +02:00
Robin Malfait 452b2c2852 bump version to 1.4.1 2021-08-30 14:23:52 +02:00
Robin Malfait 997f83238b update changelog 2021-08-30 14:23:00 +02:00
Robin Malfait bd3bc6cc42 Merge pull request #713 from tailwindlabs/develop
Next release
2021-08-30 14:20:43 +02:00
Robin Malfait 3f14839c33 Warn instead of error when there are no focusable elements (#775)
* warn instead of error when there are no focusable elements

* update changelog

Co-authored-by: Krystof Rehacek <krystofee@gmail.com>
2021-08-30 13:48:49 +02:00
Robin Malfait b59c091030 Fix broken escape key behaviour (#754)
* fix broken `escape` key behaviour

We've "fixed" an issue when we had nested Dialogs ([#430](https://github.com/tailwindlabs/headlessui/pull/430)).
The `escape` would not close the correct Dialog. The issue here was with
the logic to know whether we were the last Dialog or not. The issue was
_not_ how we implemented the `close` functionality.

To make things easier, we moved the global window event to a scoped div
(the Dialog itself). While that fixed the nested Dialog issue, it
introduced this bug where `escape` would not close if you click on a
non-focusable element like a span in the Dialog.

Since that PR we did a bunch of improvements on how the underlying
"stacking" system worked.
This PR reverts to the "global" window event listener so that we can
still catch all of the `escape` keydown events.

Fixes: #524
Fixes: #693

* update changelog
2021-08-24 11:26:19 +02:00
Robin Malfait d60d2a558f Add Vue emit types (#712)
* Add Vue emit types

* ensure value is a boolean

Even though we only use `false` for now

* add Vue emit types for Tabs component

* update changelog

Co-authored-by: henribru <6639509+henribru@users.noreply.github.com>
2021-08-02 14:37:45 +02:00
Robin Malfait c1117840fd Only add type=button for real buttons (#709)
* add `{type:'button'}` only for buttons

We will try and infer the type based on the passed in `props.as` prop or
the default tag. However, when somebody uses `as={CustomComponent}` then
we don't know what it will render. Therefore we have to pass it a ref
and check if the final result is a button or not. If it is, and it
doesn't have a `type` yet, then we can set the `type` correctly.

* update changelog
2021-08-02 13:57:58 +02:00
Robin Malfait d25f80ae9d bump version to 1.4.0 2021-07-29 12:56:11 +02:00
Robin Malfait a4036d59f2 update changelog 2021-07-29 12:55:12 +02:00
Robin Malfait 819042e9ff Merge pull request #702 from tailwindlabs/develop
Next release
2021-07-29 12:53:17 +02:00
Robin Malfait 4f3c5fa90b update changelog 2021-07-28 14:44:47 +02:00
Robin Malfait 112270d206 Change Tabs api (#698)
* Change Tabs API (React)

| Before        | After        |
| ------------- | ------------ |
| `Tabs`        | `Tab.Group`  |
| `Tabs.List`   | `Tab.List`   |
| `Tabs.Tab`    | `Tab`        |
| `Tabs.Panels` | `Tab.Panels` |
| `Tabs.Panel`  | `Tab.Panel`  |

* Change Tabs API (Vue)

| Before       | After       |
| ------------ | ----------- |
| `Tabs`       | `TabGroup`  |
| `TabsList`   | `TabList`   |
| `TabsTab`    | `Tab`       |
| `TabsPanels` | `TabPanels` |
| `TabsPanel`  | `TabPanel`  |

* change playground example for Tabs (React)

* update changelog
2021-07-28 11:30:34 +02:00
Robin Malfait ba1bd524d1 Expose close functionality via render prop (#697)
* expose a `close` function via the render prop for the `Popover` and `Popover.Panel` components (React)

* expose a `close` function via the render prop for the `Disclosure` and `Disclosure.Panel` components (React)

* expose a `close` function via the render prop for the `Popover` and `PopoverPanel` components (Vue)

* expose a `close` function via the render prop for the `Disclosure` and `DisclosurePanel` components (Vue)
2021-07-26 16:07:47 +02:00
Robin Malfait e8303382dd move manual prop to correct spot in demo 2021-07-15 13:30:18 +02:00
Robin Malfait 0cc9728694 Add aria-orientation to the Listbox component (#683)
* add `aria-orientation` to the Listbox component

By default the `Listbox` will have an orientation of `vertical`. When
you pass the `horizontal` prop to the `Listbox` component then the
`aria-orientation` will be set to `horizontal`.

Additionally, we swap the previous/next keys:

- Vertical: ArrowUp/ArrowDown
- Horizontal: ArrowLeft/ArrowRight

* update changelog
2021-07-13 23:36:15 +02:00
Robin Malfait 10110a928f Add ability to use Disclosure.Button inside a Disclosure.Panel (#682)
* add ability to use `Disclosure.Button` inside a `Disclosure.Panel`

If you do it this way, then the `Disclosure.Button` will function as a
`close` button.

This will make it consistent with the `Popover.Button` inside the
`Popover.Panel` funcitonality.

* update changelog
2021-07-13 19:29:29 +02:00
Robin Malfait 9af04a0a7e add Tabs component (#674)
* add `Tabs` component (React)

* expose `Tabs` component (React)

* add `Tabs` example (React)

* add `Tabs` component (Vue)

* expose `Tabs` component (Vue)

* update changelog
2021-07-13 19:23:55 +02:00
Robin Malfait b961a189d5 improve changelog 2021-06-22 12:29:59 +02:00
Robin Malfait 1ec5e74689 improve changelog 2021-06-22 12:29:39 +02:00
Robin Malfait da314b6b79 bump version to 1.3.0 2021-06-21 11:47:06 +02:00
Robin Malfait 65a7ee1a4b update changelog 2021-06-21 11:46:43 +02:00
Robin Malfait 345f1b6e6b Merge pull request #513 from tailwindlabs/develop
Next release
2021-06-21 11:44:11 +02:00
Robin Malfait e56dd07e16 Improve react peer deps (#622)
* ensure react-dom is also a peer dependency

Co-authored-by: =?UTF-8?q?S=C3=A9bastien=20Vanvelthem?= <belgattitude@gmail.com>

* prepare peer dependencies for React 18

* update changelog

Co-authored-by: =?UTF-8?q?S=C3=A9bastien=20Vanvelthem?= <belgattitude@gmail.com>
2021-06-15 17:48:41 +02:00
Robin Malfait 736f46351c update changelog 2021-06-15 17:33:27 +02:00
Dmitry Ishkov abe3e1b988 Support tree-shaking by enabling preserveModules (#602) 2021-06-15 11:55:13 +02:00
Robin Malfait ece9e87f68 fix failing menu test 2021-06-10 12:15:10 +02:00
Ryan Johnston de6fbd4931 Remove explicit class prop (#608) (#608) 2021-06-10 11:24:12 +02:00
henribru be36684c0d Make Listbox types consistent (#576)
* Make Listbox types consistent

* update changelog

Co-authored-by: Robin Malfait <malfait.robin@gmail.com>
2021-06-09 14:12:52 +02:00
Robin Malfait f73491f4ac remove classname feature (#607)
* change className to class

Co-authored-by: Ryan Johnston <ryan@magic.nz>

* drop className as a function in Vue

* update changelog

Co-authored-by: Ryan Johnston <ryan@magic.nz>
2021-06-09 13:42:00 +02:00
Robin Malfait 045b843f5b Improve aria accessibility (#592)
* encode expected `aria-expanded` behaviour

* ensure `aria-expanded` has the correct value

`aria-expanded` can be in 3 different states:

| Value               | Description                                                                |
| ------------------- | -------------------------------------------------------------------------- |
| false               | The grouping element this element owns or controls is collapsed.           |
| true                | The grouping element this element owns or controls is expanded.            |
| undefined (default) | The element does not own or control a grouping element that is expandable. |

Ref: https://www.w3.org/TR/wai-aria-1.2/#aria-expanded

Fixes: #580

* ensure `disabled` prop in Vue is not rendered when `false`

* update changelog
2021-06-04 20:55:07 +02:00
Robin Malfait 11c461ef1d Fix missing type causing prop check error (#554)
* fix: missing type causing prop check error

* update changelog

Co-authored-by: anzharip <10259593+anzharip@users.noreply.github.com>
2021-05-21 14:18:52 +02:00
Robin Malfait d0e27ff25c Update react peer dependency version range (#544)
* update react peer dependency version range

* update changelog
2021-05-19 12:30:52 +02:00