Commit Graph
3695 Commits
Author SHA1 Message Date
Bogdan Chadkin f13455394d feat: add descriptions to tags (#5164)
Ref https://github.com/webstudio-is/webstudio/issues/3632

Scraped descriptions from html spec to show in tag control.

<img width="297" alt="Screenshot 2025-04-26 at 12 46 21"
src="https://github.com/user-attachments/assets/444e319d-e24f-429e-b09d-1db95cc248d5"
/>
2025-04-26 17:04:31 +07:00
Bogdan Chadkin c1ec5beeb3 fix: rebind nested collection item properly (#5159)
Before parent collection item on nested collection was rebind with
nested collection item which lead to broken state

```
<Collection id="parent" data={[]} item="collectionItem">
  <Collection id="nested" data={collectionItem} item="collectionItem">
  </Collection
</Collection
```

```
collection.map(collectionItem =>
  // oops
  collectionItem2.map(collectionItem2 => {
  })
})
```
2025-04-25 21:05:54 +07:00
Bogdan Chadkin 3826ddd60c feat: add context menu to animations (#5162)
Now user can copy and paste specific animations between animation
groups.

<img width="370" alt="Screenshot 2025-04-24 at 23 41 34"
src="https://github.com/user-attachments/assets/cb183395-e880-44a0-b2d3-fbb922ea3f98"
/>
2025-04-25 17:18:30 +07:00
Bogdan Chadkin 93c00570fd perf: reuse aria attributes between all components (#5160)
Ref https://github.com/webstudio-is/webstudio/issues/3632

We have a universally generated list of aria attributes and can reuse it
instead of generating for every component and bloating our client
bundle.

Now users will have to download ~700kB less javascript when load
builder.

```diff
- 5748    build/client/assets
+ 5036    build/client/assets
```

<img width="299" alt="Screenshot 2025-04-24 at 12 01 46"
src="https://github.com/user-attachments/assets/1faedc01-8f5f-47ad-8601-d17bf5059ea3"
/>
2025-04-24 22:54:51 +07:00
Bogdan Chadkin 3f208b5752 feat: let users dismiss blocking error in unsupported browsers (#5158)
Ref https://github.com/webstudio-is/webstudio/issues/1818

Users want to use builder in safari and firefox even though we don't
officially support them. So we will let users dismiss blocking error.

<img width="522" alt="image"
src="https://github.com/user-attachments/assets/4871fb06-38c9-41b9-8595-0d01a62b9f20"
/>
2025-04-23 17:03:02 +07:00
Bogdan Chadkin fd3e4bf363 fix: show initial properties in advanced panel (#5157)
Opacity and others when defined are duplicated
and not shown at all when not defined.

<img width="247" alt="Screenshot 2025-04-23 at 00 18 06"
src="https://github.com/user-attachments/assets/70a329eb-c714-4ba8-a839-ca330c30a0f3"
/>
2025-04-23 01:17:55 +07:00
Bogdan Chadkin 95e6550098 perf: improve instance selection performance (#5151)
We had a few issues

- instance selector was resynced even though computed from awareness
- when click in navigator both click and focus events do selection

So fixed by reducing 6 or more reselections when click on instances in
navigator.
2025-04-21 15:03:20 +02:00
Ivan Starkov bcababee0b experimental: Video uploads fixes accept support (#5153)
## Description

Now Video elelment shows only video files. 

<img width="1016" alt="image"
src="https://github.com/user-attachments/assets/0c846430-1e6d-4acd-8a1a-aa0111d39292"
/>


## Steps for reproduction

1. click button
2. expect xyz

## Code Review

- [ ] hi @kof, I need you to do
  - conceptual review (architecture, feature-correctness)
  - detailed review (read every line)
  - test it on preview

## Before requesting a review

- [ ] made a self-review
- [ ] added inline comments where things may be not obvious (the "why",
not "what")

## Before merging

- [ ] tested locally and on preview environment (preview dev login:
0000)
- [ ] updated [test
cases](https://github.com/webstudio-is/webstudio/blob/main/apps/builder/docs/test-cases.md)
document
- [ ] added tests
- [ ] if any new env variables are added, added them to `.env` file
2025-04-21 15:51:59 +03:00
Ivan Starkov 1ac1d46e0a experimental: Use ordinary range UI for scroll animations (#5152)
## Description

1. What is this PR about (link the issue and add a short description)

## Steps for reproduction

1. click button
2. expect xyz

## Code Review

- [ ] hi @kof, I need you to do
  - conceptual review (architecture, feature-correctness)
  - detailed review (read every line)
  - test it on preview

## Before requesting a review

- [ ] made a self-review
- [ ] added inline comments where things may be not obvious (the "why",
not "what")

## Before merging

- [ ] tested locally and on preview environment (preview dev login:
0000)
- [ ] updated [test
cases](https://github.com/webstudio-is/webstudio/blob/main/apps/builder/docs/test-cases.md)
document
- [ ] added tests
- [ ] if any new env variables are added, added them to `.env` file
2025-04-21 15:51:44 +03:00
Ivan Starkov 4138a56982 experimental: Support video upload for animations (#5144)
## Description

### NEXT PR, TODO, Image Manager accept issue

https://github.com/webstudio-is/webstudio/blob/ab997532c239fcd0329ec017e748729c437200c4/apps/builder/app/builder/shared/image-manager/image-manager.tsx#L102


### Current PR
- [x] Image component can show mp4 files as an image
https://video-upload-mn4t9.wstd.work/

https://p-f218c6e2-e776-467d-a97f-00fbaaf98f5a-dot-video.staging.webstudio.is/
- [x] Animations with uploaded images
For animation to work "Animation Group" should have at least 1 animation
with ranges set.
https://video-animation-lw2i6.wstd.work/

https://p-610b2f8d-c4fe-4138-aa40-1339a958fc2e-dot-video.staging.webstudio.is/

Not tested but should work with following video files (only mp4 was
tested)
```
  [".mp4", "video/mp4"],
  [".webm", "video/webm"],
  [".mpg", "video/mpeg"],
  [".mpeg", "video/mpeg"],
  [".mov", "video/quicktime"],
```

### How it works

Add Animation Group
Add 1 animation and set ranges
Add Video Animation
Set Source property at Video Animation/Video to uploaded video


## Steps for reproduction

1. click button
2. expect xyz

## Code Review

- [ ] hi @kof, I need you to do
  - conceptual review (architecture, feature-correctness)
  - detailed review (read every line)
  - test it on preview

## Before requesting a review

- [ ] made a self-review
- [ ] added inline comments where things may be not obvious (the "why",
not "what")

## Before merging

- [ ] tested locally and on preview environment (preview dev login:
0000)
- [ ] updated [test
cases](https://github.com/webstudio-is/webstudio/blob/main/apps/builder/docs/test-cases.md)
document
- [ ] added tests
- [ ] if any new env variables are added, added them to `.env` file
2025-04-21 10:04:25 +03:00
Bogdan Chadkin 395a6b9e72 refactor: move embed template into ai (#5148)
To not bloat cli and remove embed template together with legacy ai
eventually.
2025-04-21 12:47:51 +07:00
Bogdan Chadkin e622e08df6 refactor: drop legacy matchers (#5146)
We already fully switched to component content model and no longer
necessary legacy matchers.
2025-04-20 16:59:22 +07:00
Bogdan Chadkin 21d09cc1f0 refactor: migrate radix to component content model (#5143)
Replaced legacy constraints with component content model in radix
components. Checked all locally.

Removed meta.type for good.
2025-04-19 15:54:48 +07:00
Bogdan Chadkin a449f66c77 refactor: describe descendants in component content model (#5140)
Here replaced "transparent" keyword with more explicit "descendants"
list in component content model.

This will enable use case with child constraint while allowing other
instances to be children like here

```
  contentModel: {
    category: "instance",
    children: [
      "instance",
      "AnimateText",
      "StaggerAnimation",
      "VideoAnimation",
    ],
  },
```

and descendants are described like this

```
  contentModel: {
    category: "instance",
    children: ["instance"],
    descendants: ["VimeoSpinner", "VimeoPlayButton", "VimeoPreviewImage"],
  },
```
2025-04-19 01:53:47 +07:00
Ivan Starkov 4e13b0d45f experimental: Animation Panel Label Tolltips (#5138)
## Description

<img width="484" alt="image"
src="https://github.com/user-attachments/assets/79c99480-8e36-4d77-a4f7-6a95aa6a35a4"
/>

<img width="408" alt="image"
src="https://github.com/user-attachments/assets/45a05ce8-05ad-4b68-8bc5-3397cf1c7a05"
/>


## Steps for reproduction

1. click button
2. expect xyz

## Code Review

- [ ] hi @kof, I need you to do
  - conceptual review (architecture, feature-correctness)
  - detailed review (read every line)
  - test it on preview

## Before requesting a review

- [ ] made a self-review
- [ ] added inline comments where things may be not obvious (the "why",
not "what")

## Before merging

- [ ] tested locally and on preview environment (preview dev login:
0000)
- [ ] updated [test
cases](https://github.com/webstudio-is/webstudio/blob/main/apps/builder/docs/test-cases.md)
document
- [ ] added tests
- [ ] if any new env variables are added, added them to `.env` file
2025-04-18 15:33:09 +03:00
Ivan Starkov a068bc9ab4 experimental: Error support on components level (#5136)
## Description

Error toasts in components instead of failing

## Steps for reproduction

1. click button
2. expect xyz

## Code Review

- [ ] hi @kof, I need you to do
  - conceptual review (architecture, feature-correctness)
  - detailed review (read every line)
  - test it on preview

## Before requesting a review

- [ ] made a self-review
- [ ] added inline comments where things may be not obvious (the "why",
not "what")

## Before merging

- [ ] tested locally and on preview environment (preview dev login:
0000)
- [ ] updated [test
cases](https://github.com/webstudio-is/webstudio/blob/main/apps/builder/docs/test-cases.md)
document
- [ ] added tests
- [ ] if any new env variables are added, added them to `.env` file
2025-04-18 11:04:59 +04:00
Ivan Starkov f6d859c245 experimental: Add animation ranges (#5133)
## Description

1. What is this PR about (link the issue and add a short description)

## Steps for reproduction

1. click button
2. expect xyz

## Code Review

- [ ] hi @kof, I need you to do
  - conceptual review (architecture, feature-correctness)
  - detailed review (read every line)
  - test it on preview

## Before requesting a review

- [ ] made a self-review
- [ ] added inline comments where things may be not obvious (the "why",
not "what")

## Before merging

- [ ] tested locally and on preview environment (preview dev login:
0000)
- [ ] updated [test
cases](https://github.com/webstudio-is/webstudio/blob/main/apps/builder/docs/test-cases.md)
document
- [ ] added tests
- [ ] if any new env variables are added, added them to `.env` file
2025-04-17 23:17:04 +02:00
Bogdan Chadkin bd77a252c2 refactor: detect empty tags and components (#5132)
Here replaced "embed" and "control" components with content model. Many
components now detect no content based on html content model like with
img or input tags. In other cases component meta can explicitly specify
empty array to not accept anything.

```
meta = {
  contentModel: {
    category: 'instance',
    children: []
  }
}
```
2025-04-17 23:23:20 +07:00
Bogdan Chadkin 5287e960a8 fix: remove scrub icon from gap input (#5130)
We no longer support scrub on input icons like in gap.
2025-04-17 10:27:40 +07:00
Oleg Isonen d17fe3951e experimental: fix typo (#5131)
## Description

1. What is this PR about (link the issue and add a short description)

## Steps for reproduction

1. click button
2. expect xyz

## Code Review

- [ ] hi @kof, I need you to do
  - conceptual review (architecture, feature-correctness)
  - detailed review (read every line)
  - test it on preview

## Before requesting a review

- [ ] made a self-review
- [ ] added inline comments where things may be not obvious (the "why",
not "what")

## Before merging

- [ ] tested locally and on preview environment (preview dev login:
0000)
- [ ] updated [test
cases](https://github.com/webstudio-is/webstudio/blob/main/apps/builder/docs/test-cases.md)
document
- [ ] added tests
- [ ] if any new env variables are added, added them to `.env` file
2025-04-16 23:58:49 +02:00
Bogdan Chadkin 23e4318990 experimental: add keyframe transforms (#5128)
Here added UI for transform and opacity properties to keyframe
configuration.

<img width="330" alt="Screenshot 2025-04-16 at 19 42 29"
src="https://github.com/user-attachments/assets/9a122d26-c203-4a9b-8e13-44d2eb8b7a23"
/>
2025-04-16 22:37:49 +07:00
Bogdan Chadkin 0daf6bfbc1 experimental: split keyframe styles into popover (#5126)
We want to add a few predefined fields in every keyframe. Here we split
each keyframe into separate popover to avoid overloading the ui.

<img width="404" alt="Screenshot 2025-04-16 at 01 53 41"
src="https://github.com/user-attachments/assets/21dd7f14-9f51-4624-b190-f57055a6c55c"
/>
2025-04-16 18:38:49 +07:00
victor immanuelandOleg Isonen 1c254ed9f9 fix: modify ui to prevent social image name overflow in page settings. (#5088)
## Description
fixes: #4953 

aligned the name and other contents properly preventing long image names
from overflowing out of view.

![Screenshot from 2025-04-04
09-25-03](https://github.com/user-attachments/assets/68cf34b4-74f7-4468-b132-e5fb1c6f2358)

![Screenshot from 2025-04-04
09-24-57](https://github.com/user-attachments/assets/885807e1-dae8-49e0-b1f0-144ad96a29f5)


## Steps for reproduction

1. click button
2. expect xyz

## Code Review

- [ ] hi @kof, I need you to do
  - conceptual review (architecture, feature-correctness)
  - detailed review (read every line)
  - test it on preview

## Before requesting a review

- [ ] made a self-review
- [ ] added inline comments where things may be not obvious (the "why",
not "what")

## Before merging

- [x] tested locally and on preview environment (preview dev login:
0000)
- [ ] updated [test
cases](https://github.com/webstudio-is/webstudio/blob/main/apps/builder/docs/test-cases.md)
document
- [ ] added tests
- [ ] if any new env variables are added, added them to `.env` file

---------

Co-authored-by: Oleg Isonen <oleg008@gmail.com>
2025-04-15 19:24:44 +02:00
Bogdan Chadkin 925ea10391 feat: avoid generating unused preset styles (#5121)
Now we have first-class support for html tags and able to figure out
which tags are rendered so unused preset styles can be removed from
websites.

For example

```
<Box ws:tag="div">
  <Box ws:tag="span">
  </Box>
</Box>
```

will render only div.w-box and span.w-box though there are more presets
for for other tags like main, section etc.

Before all tags were generated
2025-04-15 22:26:58 +07:00
Bogdan Chadkin 61511385f9 fix: show token name when convert local styles to token (#5123)
Ref
https://discord.com/channels/955905230107738152/1360809139810599063/1360809139810599063

There were two problems here

1. empty token name collapsed and was not editable; fixed it with nbsp
2. the label set with dom didn't have proper timing; fixed it by
rendering label by react
2025-04-15 14:29:37 +07:00
Bogdan Chadkin f167b3e6d7 experimental: move advanced animation config to popover (#5124)
<img width="407" alt="Screenshot 2025-04-14 at 17 03 02"
src="https://github.com/user-attachments/assets/5142dc93-5bc1-44a5-868c-a088cac8745d"
/>
2025-04-14 20:18:57 +07:00
Bogdan Chadkin 9e392f4b9c feat: autocomplete remote css variables (#5119)
When user search to add css variable in advanced style section we show
now added css variables as well. Can be handy to update value defined
remotely.

<img width="565" alt="Screenshot 2025-04-12 at 00 25 20"
src="https://github.com/user-attachments/assets/fc69f417-6b04-4ca0-b876-2a1eab6d67a2"
/>
2025-04-12 09:53:16 +07:00
Bogdan Chadkin 8fbda555e5 fix: autocomplete properties with invalid values (#5118)
The logic assumed invalid values should become custom properties. Here
replaced that heuristic with property name check.

<img width="294" alt="Screenshot 2025-04-11 at 19 11 54"
src="https://github.com/user-attachments/assets/d2f08fbf-93ab-47c6-a075-3f4d311cc718"
/>
2025-04-12 00:00:12 +07:00
Bogdan Chadkin 3b8c58b435 refactor: use content model to detect rich text (#5109)
Ref https://github.com/webstudio-is/webstudio/issues/3632

Here I finally got rid from "rich-text-child" necessity. With html
elements in the tree it will no longer work so we need a new way to work
with rich text.

Added a few new utilities to content model which detect rich text by
text inside or any textual tags. Span and links can still be detected as
containers rather than children when not surrounded by text and other
textual elements.
2025-04-10 14:16:34 +07:00
Bogdan Chadkin b1e373975d build: upgrade react-router and remix (#5106)
- security fixes
https://github.com/remix-run/remix/blob/main/CHANGELOG.md#v2164
- cloudflare support fixes
https://github.com/remix-run/react-router/blob/main/CHANGELOG.md#v750
2025-04-08 21:35:50 +07:00
Bogdan Chadkin 4b52aaa3dc refactor: add component content model (#5101)
Extended content model to support categories defined in component meta.
Most components has transparent children categories to pass through
constraints from parent, this way we allow descendants with non
category.

Here migrated only core and base components.
Will extend more for animations in another PR.
2025-04-08 13:09:54 +07:00
Ivan Starkov 9cc131adaf experimental: Fix inset reset (onAbort is called on blur) (#5105)
## Description

1. What is this PR about (link the issue and add a short description)

## Steps for reproduction

1. click button
2. expect xyz

## Code Review

- [ ] hi @kof, I need you to do
  - conceptual review (architecture, feature-correctness)
  - detailed review (read every line)
  - test it on preview

## Before requesting a review

- [ ] made a self-review
- [ ] added inline comments where things may be not obvious (the "why",
not "what")

## Before merging

- [ ] tested locally and on preview environment (preview dev login:
0000)
- [ ] updated [test
cases](https://github.com/webstudio-is/webstudio/blob/main/apps/builder/docs/test-cases.md)
document
- [ ] added tests
- [ ] if any new env variables are added, added them to `.env` file
2025-04-08 09:43:34 +05:00
Ivan Starkov 09f19b5aeb experimental: Animations. Entry animations support (#5102)
## Description

1. What is this PR about (link the issue and add a short description)

## Steps for reproduction

1. click button
2. expect xyz

## Code Review

- [ ] hi @kof, I need you to do
  - conceptual review (architecture, feature-correctness)
  - detailed review (read every line)
  - test it on preview

## Before requesting a review

- [ ] made a self-review
- [ ] added inline comments where things may be not obvious (the "why",
not "what")

## Before merging

- [ ] tested locally and on preview environment (preview dev login:
0000)
- [ ] updated [test
cases](https://github.com/webstudio-is/webstudio/blob/main/apps/builder/docs/test-cases.md)
document
- [ ] added tests
- [ ] if any new env variables are added, added them to `.env` file
2025-04-08 01:39:47 +05:00
Ivan Starkov e5369ef930 experimental: Youtube animations (#5072)
## Description

### Not finished, should be merged as has small issues fixed

https://video-viking.wstd.work/
https://video-viking.wstd.work/entry

## Steps for reproduction

1. click button
2. expect xyz

## Code Review

- [ ] hi @kof, I need you to do
  - conceptual review (architecture, feature-correctness)
  - detailed review (read every line)
  - test it on preview

## Before requesting a review

- [ ] made a self-review
- [ ] added inline comments where things may be not obvious (the "why",
not "what")

## Before merging

- [ ] tested locally and on preview environment (preview dev login:
0000)
- [ ] updated [test
cases](https://github.com/webstudio-is/webstudio/blob/main/apps/builder/docs/test-cases.md)
document
- [ ] added tests
- [ ] if any new env variables are added, added them to `.env` file
2025-04-06 14:47:16 +03:00
Bogdan Chadkin c5ce5f6313 refactor: move index property to sdk (#5097)
Slowly moving stuff out of react-sdk
2025-04-05 22:50:06 +07:00
Ivan Starkov a80c062d08 fix: Update Build updatedAt on patch (#5098)
## Description

tested 


```
select "createdAt", "updatedAt" from "Build" where "projectId" = '2d1d1e10-c20b-4061-a02a-ee570179c60c';
```

Result
```
2025-03-10 18:06:45.848+00 | 2025-04-05 10:55:58.263+00
```

## Steps for reproduction

1. click button
2. expect xyz

## Code Review

- [ ] hi @kof, I need you to do
  - conceptual review (architecture, feature-correctness)
  - detailed review (read every line)
  - test it on preview

## Before requesting a review

- [ ] made a self-review
- [ ] added inline comments where things may be not obvious (the "why",
not "what")

## Before merging

- [ ] tested locally and on preview environment (preview dev login:
0000)
- [ ] updated [test
cases](https://github.com/webstudio-is/webstudio/blob/main/apps/builder/docs/test-cases.md)
document
- [ ] added tests
- [ ] if any new env variables are added, added them to `.env` file
2025-04-05 16:03:00 +05:00
Bogdan Chadkin 42a49563d6 feat: show toast when builder is offline (#5096)
We need to make lack of connection more visible and will show toast
along with offline status.

<img width="1236" alt="Screenshot 2025-04-05 at 14 21 30"
src="https://github.com/user-attachments/assets/cc8e7033-9702-4f62-8c9f-e9797fda1f65"
/>
2025-04-05 17:59:31 +07:00
Oleg Isonen c26dbdc80c feat: add ctrl+enter shortcut for windows (#5095)
## Description

We added cmd+enter but we forgot to add ctrl+enter for windows

## Steps for reproduction

1. click button
2. expect xyz

## Code Review

- [ ] hi @kof, I need you to do
  - conceptual review (architecture, feature-correctness)
  - detailed review (read every line)
  - test it on preview

## Before requesting a review

- [ ] made a self-review
- [ ] added inline comments where things may be not obvious (the "why",
not "what")

## Before merging

- [ ] tested locally and on preview environment (preview dev login:
0000)
- [ ] updated [test
cases](https://github.com/webstudio-is/webstudio/blob/main/apps/builder/docs/test-cases.md)
document
- [ ] added tests
- [ ] if any new env variables are added, added them to `.env` file
2025-04-05 11:53:56 +02:00
Bogdan Chadkin 31212266c7 refactor: paste new tag with webflow and markdown (#5092)
Ref https://github.com/webstudio-is/webstudio/issues/3632

Here migrated webflow and markdown paste plugins to instance.tag to
avoid adding more legacy "tag" prop.

Also fixed content model for instance.tag and rewrote its tests with
ws:element.
2025-04-05 13:52:25 +07:00
Bogdan Chadkin 8d129e0c6f feat: limit html embed (#5094)
Closes https://github.com/webstudio-is/webstudio/issues/5093

<img width="330" alt="Screenshot 2025-04-05 at 02 48 15"
src="https://github.com/user-attachments/assets/8b74a727-80b9-461c-9bf2-cae09e8fbc45"
/>
2025-04-05 10:51:32 +07:00
Bogdan Chadkin 1506d96241 fix: show advanced properties in global root from other breakpoints (#5089)
The logic hid advanced properties from any remote source even other
breakpoints. Here added a check to hide only when inherited from global
root.
2025-04-04 20:35:41 +07:00
Bogdan Chadkin bb80555bc4 fix: allow placing labelable elements inside of labels (#5085)
Fixes the issue reported in discord
(https://discord.com/channels/955905230107738152/1356788803624501370/1357299346558816306)

Found the spec actually allows to place button and input inside a label.
So now we can generalize this logic.

Also content model validation no longer prevents inserting invalid
structure and only warns user is something went wrong. This will let us
to never block the user with false positives and maybe even figure out
the issue on their own.

<img width="993" alt="Screenshot 2025-04-04 at 01 28 53"
src="https://github.com/user-attachments/assets/46eb041f-2431-4140-b34e-8bc9ad757c47"
/>
2025-04-04 14:32:23 +07:00
Bogdan Chadkin 1dc7af7621 refactor: add tag property control (#5080)
https://github.com/webstudio-is/webstudio/issues/3632

Here added dedicated tag property control which will automatically
migrate Box, Text and Heading components to instance.tag internally and
will be used for ws:element component.

Later will extend tag control with tag descriptions and auto inferring
matching tags.

<img width="428" alt="Screenshot 2025-04-02 at 15 56 46"
src="https://github.com/user-attachments/assets/fa8d24ba-b9e8-4221-b47a-a9e923475bb6"
/>
2025-04-03 11:07:43 +07:00
Michael 38678a442e fix: render delete icon only in design mode for folder settings and duplicate icon for page settings #5038 (#5083)
fixes: #5038 

## Description
delete button shows on folder settings in content mode and duplicate
button shows for page setting. this fix removes these buttons in content
mode.

1. What is this PR about (link the issue and add a short description)

## Steps for reproduction

1. switch to content mode on your project
2. got to page/folder settings
3. expect that duplicate icon/delete icon should not be visible
4. 
## Code Review

- [ ] hi @kof, I need you to do
  - conceptual review (architecture, feature-correctness)
  - detailed review (read every line)
  - test it on preview

## Before requesting a review

- [x] made a self-review
- [x] added inline comments where things may be not obvious (the "why",
not "what")

## Before merging

- [x] tested locally and on preview environment (preview dev login:
0000)
- [] updated [test
cases](https://github.com/webstudio-is/webstudio/blob/main/apps/builder/docs/test-cases.md)
document
- [ ] added tests
- [ ] if any new env variables are added, added them to `.env` file
2025-04-03 09:54:28 +07:00
victor immanuel 3944cbb9cd fix: show proper validation error message when user inputs old path in redirect section (#5082)
## Description

fixes: #5050 

fixes the validation error message when user enters old path in
redirects section.


![image](https://github.com/user-attachments/assets/e4f2793d-5179-467d-9655-95247b9e8439)


## Steps for reproduction

1. go to project settings.
2. redirects tab
3. enter a url like https://website.org in old path input field.
4. the validation error will we shown in the tooltip.

## Code Review

- [ ] hi @kof, I need you to do
  - conceptual review (architecture, feature-correctness)
  - detailed review (read every line)
  - test it on preview

## Before requesting a review

- [x] made a self-review
- [x] added inline comments where things may be not obvious (the "why",
not "what")

## Before merging

- [x] tested locally and on preview environment (preview dev login:
0000)
- [ ] updated [test
cases](https://github.com/webstudio-is/webstudio/blob/main/apps/builder/docs/test-cases.md)
document
- [ ] added tests
- [ ] if any new env variables are added, added them to `.env` file
2025-04-03 09:40:55 +07:00
Bogdan Chadkin 4b65a09375 fix: show proper shadow labels (#5081)
Ref
https://discord.com/channels/955905230107738152/1356952800621494363/1356952800621494363

Forgot about labels while migrating to shadow value

<img width="250" alt="Screenshot 2025-04-02 at 20 24 35"
src="https://github.com/user-attachments/assets/9e2995e9-5f43-4408-b573-52d6b11e4b94"
/>
2025-04-03 02:32:25 +07:00
Bogdan Chadkin a9ec11b90e fix: add more insert edge cases (#5078)
We introduced html content model which restricts how html elements can
be nested into each other. Here fixed two edge cases

- allow to put div into buttons, headings or any other phrasing content
- allow put images into interactive elements like a > img
2025-04-02 18:19:23 +07:00
Oleg Isonen 71cafd2178 experimental: Animation descriptions (#5075)
## Description

1. What is this PR about (link the issue and add a short description)

## Steps for reproduction

1. click button
2. expect xyz

## Code Review

- [ ] hi @kof, I need you to do
  - conceptual review (architecture, feature-correctness)
  - detailed review (read every line)
  - test it on preview

## Before requesting a review

- [ ] made a self-review
- [ ] added inline comments where things may be not obvious (the "why",
not "what")

## Before merging

- [ ] tested locally and on preview environment (preview dev login:
0000)
- [ ] updated [test
cases](https://github.com/webstudio-is/webstudio/blob/main/apps/builder/docs/test-cases.md)
document
- [ ] added tests
- [ ] if any new env variables are added, added them to `.env` file
2025-04-02 00:36:31 +02:00
Bogdan Chadkin d5bc0f9760 feat: enforce html content model (#5074)
Ref https://github.com/webstudio-is/webstudio/issues/3632

This is a big step into native html elements support. I scraped content
model from html spec and now enforcing all html tags structure so we no
longer need to write custom restrictions.

Now paragraph cannot be nested into heading. Box cannot be nested into
span Text though still can in div Text. Any interactive elements cannot
be nested automatically. List item should have a list as direct parent
(collection and slot are exception because they don't have elements
inside).

Most rules are defined in this table
https://html.spec.whatwg.org/multipage/indices.html#elements-3
2025-04-01 22:07:56 +07:00
Bogdan Chadkin a7eff393bb refactor: manually namespace meta (#5073)
Here got rid from auto namespacing meta.constraints and
meta.indexWithinAncestor to unlock using components from other sdk
packages.

Now package prefixes should be explicitly specified in meta though with
the help of proxy.

Though exports are still need to prefix automatically when install
package.
2025-03-31 18:06:38 +07:00