2532 Commits
Author SHA1 Message Date
Ivan Starkov 70711f37a1 build: Release 0.127.0 (#2807)
## Description

Release 0.127.0

## 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:
5de6)
- [ ] 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.example`
and the `builder/env-check.js` if mandatory
2024-01-22 21:56:28 +03:00
Oleg Isonen cd5cd2126f chore: Better expression editor tooltip wording (#2805)
## Description

- better expresion tooltip wording
- better layout for empty state

<img width="265" alt="image"
src="https://github.com/webstudio-is/webstudio/assets/52824/1ad93c44-9bfa-4ee3-a6c5-945a3b3ed7e5">

<img width="492" alt="image"
src="https://github.com/webstudio-is/webstudio/assets/52824/75d7ed46-0862-4174-b42d-1d735e07c5c0">


## 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:
5de6)
- [ ] 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.example`
and the `builder/env-check.js` if mandatory
2024-01-22 19:37:30 +01:00
Oleg Isonen a52468a3c1 chore: Improve wording for empty state in variables and binding panels (#2803)
## Description


![image](https://github.com/webstudio-is/webstudio/assets/52824/2d941caa-7b3d-43fc-9577-59f81dd38409)

## Steps for reproduction

1. click button
2. expect xyz

## Code Review

- [ ] hi @TrySound , 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:
5de6)
- [ ] 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.example`
and the `builder/env-check.js` if mandatory
2024-01-22 18:13:50 +01:00
Bogdan Chadkin 2daaafd3e2 fix: compute styles for collection children correctly (#2804)
Here fixed detecting flex child on collection children where collection
parent is flexbox.

## 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:
5de6)
- [ ] 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.example`
and the `builder/env-check.js` if mandatory
2024-01-22 18:05:09 +01:00
Oleg Isonen 9082e4f6ee feat: Use home icon on the home page (#2793)
## Description

Just a different icon instead of standard page icon when its a home page

## Steps for reproduction

1. open pages
2. see home with home icon, the rest of pages regular icon

## Code Review

- [ ] hi @TrySound , I need you to do
  - conceptual review (architecture, feature-correctness)


## 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:
5de6)
- [ ] 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.example`
and the `builder/env-check.js` if mandatory
2024-01-22 16:58:32 +01:00
Bogdan Chadkin b9df036202 fix: hide page path tooltip (#2800)
Fixes
https://discord.com/channels/955905230107738152/1198946829778305044/1198946829778305044

Should be behind cms flag
2024-01-22 21:54:57 +07:00
Ivan Starkov 24d161e000 build: Release 0.126.0 (#2795)
## Description

Npm 0.126.0 Release

## 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:
5de6)
- [ ] 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.example`
and the `builder/env-check.js` if mandatory
2024-01-22 09:10:34 +03:00
Bogdan Chadkin 3fb1368023 feat: support copy pasting resources (#2796)
Closes https://github.com/webstudio-is/webstudio/issues/2532

Last one
2024-01-22 13:09:13 +07:00
Oleg Isonen c822151098 feat: Collapsible folders & nested deletion (#2776)
Ref  https://github.com/webstudio-is/webstudio/issues/404
## Description

- collapsible folders
- highlight the nested folder in pages list
- nested deletion of folders and pages
- page selector for link href now has pages in groups by folder

## Steps for reproduction

### Collapsing
1. can collapse/expand folders by clicking on arrow
2. can click on the item itself to collapse/expand
3. can use option key to apply to all children
4. can close pages panel and return to the previous state when opening
again, preserving the collapsing state

### Nested deletion
1. create a nested folder pages
2. delete the top folder
3. confirm 
4. all pages and folders should be cleanly deleted


## Code Review

- [ ] hi @TrySound , 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:
5de6)
- [ ] 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.example`
and the `builder/env-check.js` if mandatory
2024-01-21 22:45:38 +01:00
Oleg IsonenandShyanRoyChoudhury ce2a5ebc52 feat: Outline Section UX improvement (#2789)
## Description

1. What is this PR about (link the issue and add a short description)
The PR has 2 improvements mentioned in the issue #2602 :
 * Ordered the Outline section after the Effects section
 * Hides all properties except Style until a Style value is selected
 
## Steps for reproduction

1. Login and create a project.
2. On the style section on the right side of the screen. scroll down to
find the updates.
3.  Outline section has shifted below Effects section.
4. And only on selecting the other toggles on style property other than
none, renders the colour, width and offset properties.


## Code Review

- [x] 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:
d252)
- [ ] 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.example`
and the `builder/env-check.js` if mandatory

---------

Co-authored-by: ShyanRoyChoudhury <shayan.roy31@gmail.com>
2024-01-21 17:22:31 +01:00
Bogdan Chadkin eb5f9809ba fix: insert copy on reparent (#2787)
Ref https://github.com/webstudio-is/webstudio/issues/2532

Here replaced reparent implementation with copy/paste logic to support
changing scope of variables.
2024-01-21 21:31:39 +07:00
Oleg Isonen 7ebe625d82 feat: Add titles in the binidngs panel (#2786)
## Description

Adding titles for variables and expression editor for clarity and
tooltips

## Steps for reproduction

1. add a binding
2. see titles and tooltips

<img width="258" alt="image"
src="https://github.com/webstudio-is/webstudio/assets/52824/12332e2e-4b55-4d89-8915-cb67055dddc9">

<img width="315" alt="image"
src="https://github.com/webstudio-is/webstudio/assets/52824/e1bc3a6e-897a-405a-8541-d436b1533390">

<img width="288" alt="image"
src="https://github.com/webstudio-is/webstudio/assets/52824/7c9e3f19-986f-44fe-a51b-092f9dd9933a">

## Code Review

- [ ] hi @TrySound , 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:
5de6)
- [ ] 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.example`
and the `builder/env-check.js` if mandatory
2024-01-21 14:04:49 +01:00
Bogdan Chadkin 0c9ee38235 feat: support copy pasting text content bindings (#2788)
Ref https://github.com/webstudio-is/webstudio/issues/2532

Extended existing tests and logic to support expressions in instance
children beside prop expressions.
2024-01-21 17:46:19 +07:00
Bogdan Chadkin 1e7ef26dc9 refactor: make inserting fragments copy composable (#2783)
Ref https://github.com/webstudio-is/webstudio/issues/2532

Here refactored insertInstancesSliceCopy to accept webstudio data
instead of creating transaction.

This let us avoid hacky callbacks in duplicate instance and duplicate
page functionalities.

Note: review with hidden whitespaces
2024-01-21 12:15:08 +07:00
Bogdan Chadkin 7263136d4c refactor: drop boilerplaty parse/serialize (#2784)
Dropped previously deprecated parse/serialize utilities.
2024-01-21 11:42:15 +07:00
Bogdan Chadkin a84320666d refactor: make delete instance composable (#2781)
Here refactored delete instance to accept and mutate webstudio data
instead of accessing data stores.
Now we can avoid double transaction when delete pages.

Note: review with hidden whitespaces
2024-01-19 22:55:10 +07:00
Bogdan Chadkin f620e2e1f2 refactor: generalize transferrable fragments (#2780)
Here added two new types

WebstudioFragment - reusable fragment of webstudio data which can be
generated (markdown, embed template), transferred (copied or stored in
marketplace) and inserted.

WebstudioData - all available normalized data to allow composing
multiple operations within single transaction like delete instance and
then insert into other part of the page.
2024-01-19 22:24:59 +07:00
Bogdan Chadkin a76c29fc05 feat: inline variables outside current component/slot (#2778)
Ref https://github.com/webstudio-is/webstudio/issues/2532

Important constrain on the way to custom components to not use data
sources defined in other components when copy paste.

## Steps for reproduction

1. Test covers it
2024-01-18 23:37:50 +07:00
Oleg Isonen 8e2e07ea23 feat: Allow selecting a nested path for link href (#2773)
Ref https://github.com/webstudio-is/webstudio/issues/404

## Description

- can select a nested path for link pages
- can click in preview to get to the page

## Steps for reproduction

1. click button
2. expect xyz

## Code Review

- [ ] hi @TrySound , 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:
5de6)
- [ ] 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.example`
and the `builder/env-check.js` if mandatory
2024-01-17 19:02:41 +01:00
Bogdan Chadkin db94f021a6 fix: support mouse select in expression autocomplete (#2772)
Ref https://github.com/webstudio-is/webstudio/issues/2532
2024-01-18 00:42:43 +07:00
Bogdan Chadkin ee76240941 fix: remove drag handle from variables and bindings (#2771)
Ref https://github.com/webstudio-is/webstudio/issues/2532
2024-01-17 18:56:01 +07:00
Bogdan Chadkin d83b911f48 fix: save latest value when close settings panel (#2770)
Unmount got stale saved value because effect is run without
dependencies.
2024-01-17 18:43:16 +07:00
Bogdan Chadkin 0a5c7a7a54 feat: hide resource variables as paid feature (#2760)
Ref https://github.com/webstudio-is/webstudio/issues/2532

<img width="284" alt="Screenshot 2024-01-14 at 20 42 44"
src="https://github.com/webstudio-is/webstudio/assets/5635476/ae6996f6-8864-47bd-87ce-29253af99e5d">
2024-01-17 11:22:18 +07:00
Bogdan Chadkin a21b5eb984 feat: support bound and overwritten binding button variants (#2769)
Ref https://github.com/webstudio-is/webstudio/issues/2532

- added blue "bound" binding button
- added pink "overwritten" binding button
- added tooltip to reset overwriten binding

<img width="239" alt="Screenshot 2024-01-16 at 22 20 11"
src="https://github.com/webstudio-is/webstudio/assets/5635476/e5c2b5df-470c-44af-b759-da905f8ec361">
<img width="279" alt="Screenshot 2024-01-16 at 22 20 05"
src="https://github.com/webstudio-is/webstudio/assets/5635476/a5bd12e2-7e68-4068-bb20-c77ddce5f900">
2024-01-17 11:12:13 +07:00
Oleg Isonen 65d0df8213 feat: Nested routes compiler (#2766)
Ref https://github.com/webstudio-is/webstudio/issues/404

## Description

- generate remix app with nested routes

## Steps for reproduction

1. create nested routes 
2.  generate app using cli

## Code Review

- [ ] hi @istarkov , 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:
5de6)
- [ ] 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.example`
and the `builder/env-check.js` if mandatory
2024-01-16 17:03:54 +01:00
Oleg Isonen febb02e2df feat: Folders select in pages (#2763)
Ref  https://github.com/webstudio-is/webstudio/issues/404
## Description

- Folders select in pages
- Path rendered in page contains all slugs from all parent folders

## Steps for reproduction

1. open page settings
2. select a folder
3. see page was moved to a folder
4. see url preview contains the right folder slugs

## Code Review

- [ ] hi @TrySound , 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:
5de6)
- [ ] 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.example`
and the `builder/env-check.js` if mandatory
2024-01-16 14:12:01 +01:00
Bogdan Chadkin c0702ba10a fix: polish collection component (#2767)
Ref https://github.com/webstudio-is/webstudio/issues/2532

- fixed collection icon color
- allow to specify expression in embed template children
- tweaked default collection template
- allow to specify variable aliases in embed template children
- renamed collectionItem variable to Collection Item
- moved collection component to "Data" category
- fix broken canvas when bind object to text content
- add better tooltips why cannot remove parameter and used variables
2024-01-16 15:13:18 +07:00
Ivan Starkov 2209b21608 build: Release 0.125.0 (#2761)
## Description

release 0.125.0

## 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:
5de6)
- [ ] 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.example`
and the `builder/env-check.js` if mandatory
2024-01-14 18:56:19 +03:00
Bogdan Chadkin a5ed1e99f2 fix: hide page params with cms flag (#2757)
Ref https://github.com/webstudio-is/webstudio/issues/2532

We are launching bindings without page params
which will be part of cms launch.
2024-01-14 17:12:39 +07:00
Oleg Isonen 5a5382c975 feat: Page folders (#2745)
Ref https://github.com/webstudio-is/webstudio/issues/404

## Description

Implement ablity to organize pages in folders, not a complete
implementation, only:

- Implements data structure for folders
- Allows to create folders and select a parent folder from a folder
- Reparents orphaned pages/folders for the future collaboration mode

## Steps for reproduction

1. open pages
2. add folders
3. nest folders
4. delete folders

## 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:
5de6)
- [ ] 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.example`
and the `builder/env-check.js` if mandatory
2024-01-13 16:39:57 +01:00
Bogdan Chadkin ed188ef215 feat: support binding in text content (#2756)
Ref https://github.com/webstudio-is/webstudio/issues/2532

- added new expression type to instance children
- added binding to text content setting
- prevented deleting variable bound to instance child
- rendered computed child in canvas and preview
- supported expression child in component generator

What's missing

- copy paste support (will add later)

<img width="880" alt="Screenshot 2024-01-13 at 09 59 58"
src="https://github.com/webstudio-is/webstudio/assets/5635476/1275d5b3-420b-4f97-9d72-407ff39932e5">
2024-01-13 16:50:08 +07:00
Jaya Krishna Namburu 93c9defb90 fix: Add source and reset details in tooltips for flex gap (#2752) 2024-01-12 17:01:55 +01:00
Bogdan Chadkin 8fa0d7590f feat: support editing text content in settings panel (#2754)
Ref https://github.com/webstudio-is/webstudio/issues/2532

Here added "Text Content" system prop to all elements which allows to
edit plain text content though settings panel.

It will be used to support instance content binding instead of using
HtmlEmbed with code binding.

<img width="879" alt="Screenshot 2024-01-12 at 11 51 39"
src="https://github.com/webstudio-is/webstudio/assets/5635476/d88e1d56-7f6b-4ec1-9ea3-04cd40baa618">
2024-01-12 20:33:08 +07:00
Bogdan Chadkin 2a1d77b0b8 fix: fallback to default value in computed props (#2755)
This fixes the issue with "show" is false by default.
2024-01-12 17:48:58 +07:00
Bogdan Chadkin 427e40dd72 feat: hide variables outside of slots (#2751)
Ref https://github.com/webstudio-is/webstudio/issues/2532

Slots will eventually become components. And components cannot have
direct access to page variables. Here added constraint to hide all
variables outside of slot component.
2024-01-11 16:49:06 +07:00
Bogdan Chadkin f85d7fa4fd feat: delete resources along with variables (#2749)
Ref https://github.com/webstudio-is/webstudio/issues/2532

- fixed deleting when delete in variables section
- fixed deleting when delete instance
2024-01-10 19:23:57 +07:00
Bogdan Chadkin ad233d158d feat: disable reset button for non-expression binding (#2748)
Ref https://github.com/webstudio-is/webstudio/issues/2532

This prevents users from pointless resetting non-expression bindings.

Also fixed text controls style when binding is bound.

<img width="485" alt="Screenshot 2024-01-10 at 16 29 47"
src="https://github.com/webstudio-is/webstudio/assets/5635476/8102a63f-7618-4a93-89a0-494219a8ef0a">
2024-01-10 16:54:32 +07:00
Oleg Isonen b2bf220ed6 chore: Rename all *Store to $store (#2747)
## Description

Pure renaming, nothing else.

## Code Review

- [ ] hi @TrySound , 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:
5de6)
- [ ] 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.example`
and the `builder/env-check.js` if mandatory
2024-01-09 13:32:51 +01:00
Bogdan Chadkin 0070ca41e1 feat: show bindings only on control hover (#2743)
Ref https://github.com/webstudio-is/webstudio/issues/2532

## Steps for reproduction

1. check all prop controls
2. check resource variable
2024-01-09 19:03:10 +07:00
Bogdan Chadkin ab4d5def09 feat: improve variable and binding popovers position (#2740)
Ref https://github.com/webstudio-is/webstudio/issues/2532

Here improved position of popovers to stack to the left of current
"context". So binding are placed on the left of settings panel and on
the left of variable popover panel. While variable popover panel is
always placed on the left of settings panel.

<img width="505" alt="Screenshot 2024-01-08 at 14 53 26"
src="https://github.com/webstudio-is/webstudio/assets/5635476/bfb5a46e-f00c-4666-a548-37267da1922b">
<img width="756" alt="Screenshot 2024-01-08 at 14 53 17"
src="https://github.com/webstudio-is/webstudio/assets/5635476/e2544c8b-a51c-4359-897a-e1545a26e767">
2024-01-08 18:15:59 +07:00
Ivan Starkov ad6a8da1c9 build: Release 0.124.0 (#2741)
## Description

Npm release

## 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:
5de6)
- [ ] 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.example`
and the `builder/env-check.js` if mandatory
2024-01-08 11:20:09 +02:00
Ivan Starkov 7bffdc0954 feat: Add Publish Settings section to Project settings (#2720)
## Description

<img width="496" alt="image"
src="https://github.com/webstudio-is/webstudio/assets/5077042/f49af094-b843-4fb0-b324-90ab0b4dabb1">

## Steps for reproduction

Open Project, See Project Settings

## 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:
5de6)
- [ ] 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.example`
and the `builder/env-check.js` if mandatory
2024-01-08 09:15:29 +02:00
Bogdan Chadkin 4f64676db7 feat: improve variable popover (#2737)
Ref https://github.com/webstudio-is/webstudio/issues/2532

Here changed variable popover UI

- removed save/cancel buttons - save is happening on close
- replaced value/resource tabs with type select
- support additional string, number and boolean values
- add validation to value and resource forms

Also added form utilities to manage and compose field validation.
2024-01-07 23:40:48 +07:00
Oleg Isonen 9ed70babce fix: Ensure user can't enter invalid canvas width value in breakpoints editor (#2736)
## Description

User was able to delete the value and get a NaN error Ref
https://github.com/webstudio-is/webstudio/issues/2734

## Steps for reproduction

1. delete the value
2. see the min width rendered

## Code Review

- [ ] hi @TrySound , 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:
5de6)
- [ ] 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.example`
and the `builder/env-check.js` if mandatory
2024-01-06 19:12:36 +01:00
Bogdan Chadkin 210a2f40d6 feat: improve binding validation (#2730)
Ref https://github.com/webstudio-is/webstudio/issues/2532

Here changed how bindings are validated

- closing with broken expression will show errors and prevent close
- the next close will not block and keep the old valid expression
- close with valid expression invoked saving
- props no longer can change the type of input
- binding button becomes red and gets tooltip when value has invalid
type
- binding popover also shows non-blocking error about type
- each control provides own validation

<img width="465" alt="image"
src="https://github.com/webstudio-is/webstudio/assets/5635476/c19cca91-4558-4570-b257-1c10689a1113">
<img width="247" alt="Screenshot 2024-01-05 at 17 13 15"
src="https://github.com/webstudio-is/webstudio/assets/5635476/8702b2f2-1756-4262-924f-83f1d92eb4b4">
2024-01-07 00:59:13 +07:00
Oleg Isonen 4e43e9b2fd fix: blocking alerts accidentally got enabled for everyone (#2731)
## Description

In the last PR I forgot to uncomment the check

## 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:
5de6)
- [ ] 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.example`
and the `builder/env-check.js` if mandatory
2024-01-05 17:41:31 +01:00
ad224732cc feat: Link typography tokens and a new Link component in DS (#2729)
## Description

- Decided to not have separate colors for link, it should just use
regular text colors.
- Added a Link component to the design system, modelled after MUI Link
component

## 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:
5de6)
- [ ] 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.example`
and the `builder/env-check.js` if mandatory

---------

Co-authored-by: Taylor Nowotny <86495896+taylornowotny@users.noreply.github.com>
Co-authored-by: Bot (build-figma-tokens.yml) <bot@localhost>
Co-authored-by: Bogdan Chadkin <trysound@yandex.ru>
2024-01-05 12:51:47 +01:00
Bogdan Chadkin e810ea9b89 feat: switch props to binding popover (#2727)
Ref https://github.com/webstudio-is/webstudio/issues/2532

Here finally replaced variables panel with binding popover in all prop
controls.
Additionally did better support of expressions in file and url controls.

The tricky part is managing expressions on control components level
instead of global props panel level which gives us more granular control
of behavior though requires more boilerplate code in each control.

There are still some bugs for example with loosing focus when start
editing expression which I will fix in following validation fix.

## Testing

- check id in Body (string)
- aria-max something in Body (number)
- check "show" in body child (boolean)
- check href in Link (url)
- check src in Image (file)
- check state in Form (radio)
- check aria-autocomplete in body (select)
- check remove binding in resource fields
2024-01-04 12:14:17 +07:00
Oleg Isonen 97837bb4ed feat: Update dashboard card (#2726)
## Description

Implements the latest version of the dashboard card:

1. hover state of the link gets underline decoration (fixes
https://github.com/webstudio-is/webstudio/issues/2601)
2. added info icon with published date and created date (we don't have
edited date yet, not important enough I think)
https://www.figma.com/file/xCBegXEWxROLqA1Y31z2Xo/%F0%9F%93%96-Webstudio-Design-Docs?node-id=9598%3A11774&mode=dev

## Steps for reproduction

1. open dashboard
2. hover link to see decoration
3. hover info button to see tooltip with creation date and publish date
if project was published

## Code Review

- [ ] hi @TrySound , I need you to do
  - conceptual review (architecture, feature-correctness)
  - detailed review (read every line)

## 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:
5de6)
- [ ] 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.example`
and the `builder/env-check.js` if mandatory
2024-01-03 09:40:15 +01:00
Jaya Krishna Namburu ed332ec37d fix: tooltips on background, box-shadow and transitions titles (#2699)
## Description

New branch taken from the #2691 as we need branch names should be
smaller now. Please refer to the PR for any comments/discussions etc.

## Code Review

- [ ] hi @istarkov , I need you to do
   detailed review (read every line)

- [ ] hi @taylornowotny, i need your help
   -  please check the tooltip contents for these three properties.
2024-01-02 07:13:18 +01:00