{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":295992065,"defaultBranch":"main","name":"headlessui","ownerLogin":"tailwindlabs","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2020-09-16T09:53:09.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/67109815?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1714169706.0","currentOid":""},"activityList":{"items":[{"before":"82f20754ce85d7166fe76afb2d2f7c239bfd7d7f","after":"41cb9c1b73754e712623b7c680f6d4af1f3a65f5","ref":"refs/heads/feat/anchor-max-height","pushedAt":"2024-04-26T22:16:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"RobinMalfait","name":"Robin Malfait","path":"/RobinMalfait","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1834413?s=80&v=4"},"commit":{"message":"update changelog","shortMessageHtmlLink":"update changelog"}},{"before":null,"after":"82f20754ce85d7166fe76afb2d2f7c239bfd7d7f","ref":"refs/heads/feat/anchor-max-height","pushedAt":"2024-04-26T22:15:06.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"RobinMalfait","name":"Robin Malfait","path":"/RobinMalfait","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1834413?s=80&v=4"},"commit":{"message":"use `var(--anchor-max-height)` if available\n\nWhen using the `anchor` prop, we try to position the anchored element\nwithin the viewport. We use the size middleware of Floating UI to ensure\nwe are working in a constrained `max-width` and `max-height`.\n\nHowever, if you want to limit the height of let's say a\n`ComboboxOptions` then you instinctively add `max-h-60` for example. The\nproblem is that the `max-height` set by Floating UI will win because\nit's inline styles.\n\nYou could use `!max-h-60` which makes it `!important`, but then you can\nrun into an issue where the max height set by the user is larger than\nthe available space which results in combobox options that are\nunavailable.\n\nTo solve this, we want best of both worlds by ensuring we prefer the\nsize from the user, but constrain it with the value we know.\n\nWe now read from a `var(--anchor-max-height)` variable where you can set\nyour own preferred max height.\n\nE.g.:\n\n```ts\n\n \n \n …\n \n\n```","shortMessageHtmlLink":"use var(--anchor-max-height) if available"}},{"before":"34c759ce968896739c7e7f35b274fd92a1a9743c","after":null,"ref":"refs/heads/fix/transition-root","pushedAt":"2024-04-26T21:28:44.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"RobinMalfait","name":"Robin Malfait","path":"/RobinMalfait","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1834413?s=80&v=4"}},{"before":"539c124c69bdd7914acdf8dadb0149eb430d01b9","after":"afc9cb648b1f1925694510073501098266737078","ref":"refs/heads/main","pushedAt":"2024-04-26T21:28:43.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"RobinMalfait","name":"Robin Malfait","path":"/RobinMalfait","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1834413?s=80&v=4"},"commit":{"message":"Ensure `TransitionRoot` component without props transitions correctly (#3147)\n\n* ensure `TransitionRoot` component without props transitions correctly\r\n\r\nA bit of a weird one, but you can use the `TransitionRoot` component\r\nwithout any props for transitions themselves (so no real transition can\r\nhappen). Even crazier, it can happen that it doesn't even render a DOM\r\nnode, but just its children.\r\n\r\nAt this point, the `TransitionRoot` component is purely there for\r\norchestration purposes of child components.\r\n\r\nSince there is no DOM node in certain situations, the transitions (and\r\nits `onStart` and `onStop` callbacks) won't even happen at all. This\r\ncauses a bug (obvious in react strict mode) where children don't\r\nproperly mount or the transition component doesn't properly unmount.\r\n\r\n* update changelog","shortMessageHtmlLink":"Ensure TransitionRoot component without props transitions correctly ("}},{"before":"46aa359d9b3a60454fe6a2eaefabf54c266e30bf","after":"34c759ce968896739c7e7f35b274fd92a1a9743c","ref":"refs/heads/fix/transition-root","pushedAt":"2024-04-26T21:11:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"RobinMalfait","name":"Robin Malfait","path":"/RobinMalfait","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1834413?s=80&v=4"},"commit":{"message":"update changelog","shortMessageHtmlLink":"update changelog"}},{"before":null,"after":"46aa359d9b3a60454fe6a2eaefabf54c266e30bf","ref":"refs/heads/fix/transition-root","pushedAt":"2024-04-26T21:10:44.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"RobinMalfait","name":"Robin Malfait","path":"/RobinMalfait","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1834413?s=80&v=4"},"commit":{"message":"ensure `TransitionRoot` component without props transitions correctly\n\nA bit of a weird one, but you can use the `TransitionRoot` component\nwithout any props for transitions themselves (so no real transition can\nhappen). Even crazier, it can happen that it doesn't even render a DOM\nnode, but just its children.\n\nAt this point, the `TransitionRoot` component is purely there for\norchestration purposes of child components.\n\nSince there is no DOM node in certain situations, the transitions (and\nits `onStart` and `onStop` callbacks) won't even happen at all. This\ncauses a bug (obvious in react strict mode) where children don't\nproperly mount or the transition component doesn't properly unmount.","shortMessageHtmlLink":"ensure TransitionRoot component without props transitions correctly"}},{"before":"17241065fc97efd93f0da51a2fa4f2f189377e2f","after":"7ebeaab3ffedbbd253109a4dbc5db2ac6fe776f5","ref":"refs/heads/1.x","pushedAt":"2024-04-26T18:54:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"thecrypticace","name":"Jordan Pittman","path":"/thecrypticace","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/614993?s=80&v=4"},"commit":{"message":"1.7.21 - @headlessui/vue","shortMessageHtmlLink":"1.7.21 - @headlessui/vue"}},{"before":"8199ad879689f65ba41ac3c123a062105dede1f0","after":null,"ref":"refs/heads/fix/dont-remove-reused-portal-tagets","pushedAt":"2024-04-26T18:38:33.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"thecrypticace","name":"Jordan Pittman","path":"/thecrypticace","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/614993?s=80&v=4"}},{"before":"722ad2d4116838a1e456b0cf1e5a565d69e89a5a","after":"17241065fc97efd93f0da51a2fa4f2f189377e2f","ref":"refs/heads/1.x","pushedAt":"2024-04-26T18:38:32.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"thecrypticace","name":"Jordan Pittman","path":"/thecrypticace","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/614993?s=80&v=4"},"commit":{"message":"Don’t unmount portal targets used by other portals (#3144)\n\n* Refactor\r\n\r\n* Don’t unmount portal targets used by other portals\r\n\r\n* Add test\r\n\r\n* Update changelog","shortMessageHtmlLink":"Don’t unmount portal targets used by other portals (#3144)"}},{"before":"9d22896f0c1796e129e6256574d59ee9ceb877c0","after":"8199ad879689f65ba41ac3c123a062105dede1f0","ref":"refs/heads/fix/dont-remove-reused-portal-tagets","pushedAt":"2024-04-26T16:24:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"thecrypticace","name":"Jordan Pittman","path":"/thecrypticace","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/614993?s=80&v=4"},"commit":{"message":"Update changelog","shortMessageHtmlLink":"Update changelog"}},{"before":"ad4a940997bc2a76cf6306c41ccbd94fbc2599cf","after":"9d22896f0c1796e129e6256574d59ee9ceb877c0","ref":"refs/heads/fix/dont-remove-reused-portal-tagets","pushedAt":"2024-04-26T16:20:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"thecrypticace","name":"Jordan Pittman","path":"/thecrypticace","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/614993?s=80&v=4"},"commit":{"message":"Add test","shortMessageHtmlLink":"Add test"}},{"before":null,"after":"ad4a940997bc2a76cf6306c41ccbd94fbc2599cf","ref":"refs/heads/fix/dont-remove-reused-portal-tagets","pushedAt":"2024-04-26T14:45:47.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"thecrypticace","name":"Jordan Pittman","path":"/thecrypticace","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/614993?s=80&v=4"},"commit":{"message":"Don’t unmount portal targets used by other portals","shortMessageHtmlLink":"Don’t unmount portal targets used by other portals"}},{"before":"0b931f2742e5075df3c14bf718130b06b44f8ba3","after":null,"ref":"refs/heads/improve-demo-mode","pushedAt":"2024-04-26T14:35:13.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"RobinMalfait","name":"Robin Malfait","path":"/RobinMalfait","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1834413?s=80&v=4"}},{"before":"26e164447f24410d66b52971772d2ad4c2a945a2","after":"539c124c69bdd7914acdf8dadb0149eb430d01b9","ref":"refs/heads/main","pushedAt":"2024-04-26T14:35:12.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"RobinMalfait","name":"Robin Malfait","path":"/RobinMalfait","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1834413?s=80&v=4"},"commit":{"message":"Improve internal demo mode (#3143)\n\n* improve demo mode for the `Dialog` component\r\n\r\nThis still disabled `inert` and focus stealing code. But it does allow\r\noutside click.\r\n\r\n* improve demo mode for the `Combobox` component\r\n\r\nBefore this, once you start interacting with the `Combobox`, the options\r\nweren't properly scrolled into view.\r\n\r\n* improve demo mode for the `Menu` component\r\n\r\n* improve demo mode for the `Popover` component\r\n\r\n* add demo mode to the `Listbox` component","shortMessageHtmlLink":"Improve internal demo mode (#3143)"}},{"before":"76bb216d0d1ae71529ac39ba7f5b37647fa1a3e5","after":"0b931f2742e5075df3c14bf718130b06b44f8ba3","ref":"refs/heads/improve-demo-mode","pushedAt":"2024-04-26T14:29:02.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"RobinMalfait","name":"Robin Malfait","path":"/RobinMalfait","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1834413?s=80&v=4"},"commit":{"message":"add demo mode to the `Listbox` component","shortMessageHtmlLink":"add demo mode to the Listbox component"}},{"before":null,"after":"76bb216d0d1ae71529ac39ba7f5b37647fa1a3e5","ref":"refs/heads/improve-demo-mode","pushedAt":"2024-04-26T14:24:42.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"RobinMalfait","name":"Robin Malfait","path":"/RobinMalfait","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1834413?s=80&v=4"},"commit":{"message":"add demo mode to the `Listbox` component","shortMessageHtmlLink":"add demo mode to the Listbox component"}},{"before":"280390107cb86fd2a17e5c5376d571fdc5005ed3","after":null,"ref":"refs/heads/feat/overflow-auto-anchor","pushedAt":"2024-04-25T16:14:42.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"RobinMalfait","name":"Robin Malfait","path":"/RobinMalfait","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1834413?s=80&v=4"}},{"before":"8c7cbb3b093f26e71fa4581defbd2ffcf3a6cf59","after":"26e164447f24410d66b52971772d2ad4c2a945a2","ref":"refs/heads/main","pushedAt":"2024-04-25T16:14:41.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"RobinMalfait","name":"Robin Malfait","path":"/RobinMalfait","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1834413?s=80&v=4"},"commit":{"message":"Add `overflow: auto` when using the `anchor` prop (#3138)","shortMessageHtmlLink":"Add overflow: auto when using the anchor prop (#3138)"}},{"before":"42964ad6978fd3b374f87ec5612db933ba2d2450","after":"280390107cb86fd2a17e5c5376d571fdc5005ed3","ref":"refs/heads/feat/overflow-auto-anchor","pushedAt":"2024-04-25T15:11:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"RobinMalfait","name":"Robin Malfait","path":"/RobinMalfait","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1834413?s=80&v=4"},"commit":{"message":"update changelog","shortMessageHtmlLink":"update changelog"}},{"before":null,"after":"42964ad6978fd3b374f87ec5612db933ba2d2450","ref":"refs/heads/feat/overflow-auto-anchor","pushedAt":"2024-04-25T15:09:07.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"RobinMalfait","name":"Robin Malfait","path":"/RobinMalfait","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1834413?s=80&v=4"},"commit":{"message":"add overflow auto when using `anchor`\n\nWe want to constrain the anchored element within the viewport (minus the\npadding if there is some). But without an `overflow: auto`, it would\noverflow and the `maxWidth` / `maxHeight` are a bit pointless.\n\nOnce you opt-in to `anchor`, then we have to provide styles anywhere.\nThis improves the UX.","shortMessageHtmlLink":"add overflow auto when using anchor"}},{"before":"ec7c5b77d792b483e78a6a55e61c2ecae477b739","after":null,"ref":"refs/heads/feat/update-anchor-api","pushedAt":"2024-04-25T00:13:26.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"RobinMalfait","name":"Robin Malfait","path":"/RobinMalfait","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1834413?s=80&v=4"}},{"before":"36616b217ea2260d4c50bf8e185212558f3830d0","after":"8c7cbb3b093f26e71fa4581defbd2ffcf3a6cf59","ref":"refs/heads/main","pushedAt":"2024-04-25T00:13:25.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"RobinMalfait","name":"Robin Malfait","path":"/RobinMalfait","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1834413?s=80&v=4"},"commit":{"message":"Add string shorthand for the `anchor` prop (#3133)\n\n* allow to define `anchor` as a string. E.g.: `anchor=\"bottom\"`\r\n\r\n* use `--anchor-gap`, `--anchor-offset` and `--anchor-padding` variables by default\r\n\r\nThis way simply adding `anchor=\"bottom\"` to one of the anchorable\r\ncomponents will also use these variables defined on the component.\r\n\r\n* update playgrounds to use new string-based `anchor` prop\r\n\r\n+ CSS variables\r\n\r\n* update changelog","shortMessageHtmlLink":"Add string shorthand for the anchor prop (#3133)"}},{"before":"bd758b627e1f7939abf02675b1bbfb63cdb1d7d5","after":"ec7c5b77d792b483e78a6a55e61c2ecae477b739","ref":"refs/heads/feat/update-anchor-api","pushedAt":"2024-04-24T21:43:59.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"RobinMalfait","name":"Robin Malfait","path":"/RobinMalfait","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1834413?s=80&v=4"},"commit":{"message":"update changelog","shortMessageHtmlLink":"update changelog"}},{"before":"ab16375c5f6c05df710ef07db07e6126da071c42","after":"bd758b627e1f7939abf02675b1bbfb63cdb1d7d5","ref":"refs/heads/feat/update-anchor-api","pushedAt":"2024-04-24T21:30:50.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"RobinMalfait","name":"Robin Malfait","path":"/RobinMalfait","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1834413?s=80&v=4"},"commit":{"message":"update changelog","shortMessageHtmlLink":"update changelog"}},{"before":"642e2a0d7b7d3aacca29ea5e3ef0b58ec4ef70bd","after":"ab16375c5f6c05df710ef07db07e6126da071c42","ref":"refs/heads/feat/update-anchor-api","pushedAt":"2024-04-24T21:24:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"RobinMalfait","name":"Robin Malfait","path":"/RobinMalfait","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1834413?s=80&v=4"},"commit":{"message":"update changelog","shortMessageHtmlLink":"update changelog"}},{"before":null,"after":"642e2a0d7b7d3aacca29ea5e3ef0b58ec4ef70bd","ref":"refs/heads/feat/update-anchor-api","pushedAt":"2024-04-24T21:23:11.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"RobinMalfait","name":"Robin Malfait","path":"/RobinMalfait","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1834413?s=80&v=4"},"commit":{"message":"update playgrounds to use new string-based `anchor` prop\n\n+ CSS variables","shortMessageHtmlLink":"update playgrounds to use new string-based anchor prop"}},{"before":"cb5504abb2a2cd622726c6f2e2032de886321b94","after":null,"ref":"refs/heads/fix/update-peer-dependency-requirements","pushedAt":"2024-04-24T17:39:13.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"RobinMalfait","name":"Robin Malfait","path":"/RobinMalfait","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1834413?s=80&v=4"}},{"before":"d56a77bf524832325fa2c269f8a79badd067b38e","after":"36616b217ea2260d4c50bf8e185212558f3830d0","ref":"refs/heads/main","pushedAt":"2024-04-24T17:39:12.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"RobinMalfait","name":"Robin Malfait","path":"/RobinMalfait","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1834413?s=80&v=4"},"commit":{"message":"Update minimal peer dependency version requirements for `react` and `react-dom` (#3131)\n\n* require at least React 18\r\n\r\nWe already relied on React 18 for Headless UI v2, but now it's also\r\nreflected in the package.json\r\n\r\n* update changelog","shortMessageHtmlLink":"Update minimal peer dependency version requirements for react and `…"}},{"before":"e0124a5984c6df03a98edf464da0cbc91fed9cec","after":"cb5504abb2a2cd622726c6f2e2032de886321b94","ref":"refs/heads/fix/update-peer-dependency-requirements","pushedAt":"2024-04-24T17:35:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"RobinMalfait","name":"Robin Malfait","path":"/RobinMalfait","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1834413?s=80&v=4"},"commit":{"message":"update changelog","shortMessageHtmlLink":"update changelog"}},{"before":null,"after":"e0124a5984c6df03a98edf464da0cbc91fed9cec","ref":"refs/heads/fix/update-peer-dependency-requirements","pushedAt":"2024-04-24T17:34:39.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"RobinMalfait","name":"Robin Malfait","path":"/RobinMalfait","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1834413?s=80&v=4"},"commit":{"message":"require at least React 18\n\nWe already relied on React 18 for Headless UI v2, but now it's also\nreflected in the package.json","shortMessageHtmlLink":"require at least React 18"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEO5BVFQA","startCursor":null,"endCursor":null}},"title":"Activity · tailwindlabs/headlessui"}