Commit log

0dd6c50 Use FxHashMap for element state

Nathan Sobo created

c166311 Style "Replace in project" input

Marshall Bowers created

2484a69 Fix toolbar flex sizing

Marshall Bowers created

c041799 Extend Story components, allow linking to story file

Click to expand commit body
Co-Authored-By: Marshall Bowers <1486634+maxdeviant@users.noreply.github.com>

Nate Butler and Marshall Bowers created

2efd7ce Ignore invisible layers for mouse events (#3651)

Click to expand commit body
Fixes clicking in the top/bottom 100px of the editor


Release Notes:

- N/A

Conrad Irwin created

ed098c8 Style inputs in project search (#3655)

Click to expand commit body
This PR styles the inputs in the project search.

<img width="772" alt="Screenshot 2023-12-14 at 1 53 28 PM"
src="https://github.com/zed-industries/zed/assets/1486634/fe2362be-79db-4551-a473-2acf7a8a1bcb">

Release Notes:

- N/A

Marshall Bowers created

3d1dae9 Make z_indices bigger in StackingOrder

Nathan Sobo created

0d30b69 Don't allocate interactive bounds

Nathan Sobo created

8a361c9 Prep feedback code for testing

Joseph T. Lyons created

c6e4468 Hide the toolbar if it has no visible items (#3654)

Click to expand commit body
This PR makes the toolbar hide itself if it has no visible items.

This removes the double border beneath the tab bar when there are no
visible tools in the toolbar.

Release Notes:

- N/A

Marshall Bowers created

4e1b4c4 Refactor editor to be more clear about stacking

Conrad Irwin created

d8cb0e8 Fix z-indexes in editor element

Click to expand commit body
* Ensure that scroll events from blocks scroll the editor
* Ensure that scroll bars show behind hover things

Conrad Irwin created

1ae25f5 WIP

Nathan Sobo created

fd133df Improve storybook story selection (#3653)

Click to expand commit body
This PR builds on top of #3652 by adding a selection prompt to the
storybook to allow you to choose from the available list of stories if
you don't provide one explicitly:

<img width="1387" alt="Screenshot 2023-12-14 at 12 00 26 PM"
src="https://github.com/zed-industries/zed/assets/1486634/640d62a3-1340-45f1-9746-69b513faff62">

This way we don't have to keep generating the `script/storybook` script
whenever stories are added/removed.

#### Usage (through `cargo`):

```sh
# Select from the available stories
cargo run -p storybook2

# Run a specific story
cargo run -p storybook2 -- components/list_item
```

#### Usage (through `script/storybook`):

```sh
# Select from the available stories
./script/storybook

# Run a specific story
./script/storybook list_item
```

Release Notes:

- N/A

Marshall Bowers created

c2c7eea Robustify checks for visibility

Conrad Irwin created

4ace342 Fix typo

Nate Butler created

0841861 Generate `script/storybook` (#3652)

Click to expand commit body
[[PR Description]]

This PR adds the ability to run stories with `script/storybook`.

Running it directly will give you a selector like this:

```zsh
➜  zed git:(add-storybook-script) script/storybook
1) auto_height_editor	 9) icon		17) scroll
2) avatar		10) icon_button		18) tab
3) button		11) keybinding		19) tab_bar
4) checkbox		12) label		20) text
5) context_menu		13) list		21) viewport_units
6) cursor		14) list_header		22) z_index
7) disclosure		15) list_item		23) picker
8) focus		16) overflow_scroll
```

You can also provide a value like:

`script/storybook {STORY_NAME}` - Example: `script/storybook text`

OR 

`script/storybook components/{STORY_NAME}` - Example: `script/storybook
components/text`

I just wanted an easier way to interface with stories quickly to make
using them a bit easier, and enable discovery of what exists easier with
the selector.

This was a really quick hack, in the future we can extend this to a
proper CLI.

Release Notes:

- N/A

Nate Butler created

17a80ca Ignore invisible layers for mouse events

Conrad Irwin created

ac3622c Generate `script/storybook`

Nate Butler created

6f17cf7 WIP

Nathan Sobo created

da960ff calls: Fix off by one in prompts for leaving a call. (#3649)

Click to expand commit body
We've noticed how leaving a call with multiple windows open would still
prompt with the popup along the lines of "Do you want to leave the
current call?". In Zed1, that popup only showed up when you've had just
one window open.

The code for prompting did not change at all between zed1 and zed2, but
the way we calculate the window count did. Calling AppContext::windows
to get all window handles from WindowContext::update essentially
excluded the window we were updating (that is the window being closed)
from the returned Vec of window handles. I've decided to keep the code
as close to original as possible (as the alternative would be to change
the \# of workspaces needed for a prompt to pop up). We now query the
window handles via a deref to AsyncAppContext, which does not exclude
"our" window handle from the returned results.

Release Notes:

- N/A

Piotr Osiewicz created

9bce306 Vcs menu2 (#3648)

Click to expand commit body
Header and footer are gonna be added in a separate PR as they require
changes to Picker trait that I feel are separate from the contents of
this PR.

Release Notes:

- N/A

Piotr Osiewicz created

cfe7336 Return include warnings toggle to the diagnostics panel

Kirill Bulatov created

3ad9677 Change project search bar flex axis to `column` (#3647)

Click to expand commit body
This PR changes project search bar's flex axis to `column`.

This fixes an issue where toggling the filters would cause the search
controls to center themselves vertically instead of staying next to the
search input.

Release Notes:

- N/A

Marshall Bowers created

cd08d34 Quick and dirty attempt to immediately apply focus change in tests

Click to expand commit body
Doesn't quite work yet

Julia created

837b4c3 Avoid unnecessary match

Joseph T. Lyons created

4f196f6 Fix bugs in resizing the docks + Add debug styling (#3645)

Click to expand commit body
This PR:
- Fixes several bugs with dock resizing
- Adds a new drag move API for resizes 
- Adds special debug styling for elements, including auto-opening Zed at
the element's location in source
- Changes the `cx.paint_quad()` API to take a type and adds several
helpers to create this type.
- Adds `()` as the empty element, and uses it to implement a derive
macro for the `Render` trait.

Release Notes:

- N/A

Mikayla Maki created

d9adfde Highlight email address field as red when invalid

Joseph T. Lyons created

435256a Remove completed TODOs

Joseph T. Lyons created

0db62f0 Feedback modal improvements (#3646)

Click to expand commit body
- Cleans up modal state logic by using an enum over multiple booleans
- Simulates sending feedback in dev mode, so UI can be easily tested

Release Notes:

- N/A

Joseph T. Lyons created

53b1948 Remove inconsistency with how GPUI used to handle these events

Mikayla created

d88fc27 Merge branch 'main' into fix-splits-bugs

Mikayla created

900a2bf Use an enum to represent modal states and simplify logic

Joseph T. Lyons created

be2ad2f Add Duration dependency

Joseph T. Lyons created

0dd8492 add cmd-click-to-jump-to-element

Mikayla created

052e05f Use existing convention to silence warnings

Joseph T. Lyons created

7ba7b92 Simulate sending feedback in dev

Joseph T. Lyons created

ceede28 Ensure the outer `ListItem` element has a unique ID (#3644)

Click to expand commit body
This PR fixes an issue where the outer `ListItem` element was using a
static ID instead of the one provided to the component.

Now that active states are fixed, this meant that any time there were
sibling list items they would share active states if one of them was
clicked.

Release Notes:

- N/A

Marshall Bowers created

474f09c Remove unneeded left-click filtering in `ListItem` (#3643)

Click to expand commit body
This PR removes the left-click filtering from the `on_click` handler for
`ListItem`s.

It's no longer needed after #3584.

Release Notes:

- N/A

Marshall Bowers created

c863227 Log frame timings

Nathan Sobo created

057b235 Implement `VisibleOnHover` for `IconButton` (#3642)

Click to expand commit body
This PR implements the `VisibleOnHover` trait for `IconButton`s.

I noticed that in a lot of places we were wrapping an `IconButton` in an
extra `div` just so we could call `visible_on_hover` on it. By
implementing the trait on `IconButton` directly it allows us to avoid
the interstitial `div` entirely.

Release Notes:

- N/A

Marshall Bowers created

15f62a4 Allowing dragging tabs onto panes and pane edges (#3641)

Max Brunsfeld created

4f32f66 Clone item when dragging to split

Max Brunsfeld created

9059d70 Ensure only top layer is styled with drag over style

Max Brunsfeld created

9302937 Start work on allowing dragging tabs onto panes and pane edges

Max Brunsfeld created

a4024b2 Add interactive debug info

Mikayla created

0438993 Add debug and debug below methods for observing the bounds of divs

Mikayla created

416bb45 Tidy up workspace resizing

Mikayla created

137e4e9 Add `.visible_on_hover` helper method (#3639)

Click to expand commit body
This PR adds a `.visible_on_hover` helper method that can be used to
make an element only visible on hover.

I noticed we were repeating this similar stanza in a bunch of different
spots:

```rs
some_element
    .invisible()
    .group_hover("", |style| style.visible())
``` 

so it seemed like a nice thing to factor out into a reusable utility.

Release Notes:

- N/A

Marshall Bowers created

d59de96 Style collab panel (#3638)

Click to expand commit body
This PR styles the collab panel.

Release Notes:

- N/A

---------

Co-authored-by: Nate Butler <iamnbutler@gmail.com>
Co-authored-by: Marshall Bowers <1486634+maxdeviant@users.noreply.github.com>

Marshall Bowers , Nate Butler , and Marshall Bowers created