From 15c0ee60d5cba8c6b88f1bc6249cbd5567dd9bc5 Mon Sep 17 00:00:00 2001 From: CodeDoctorDE Date: Sat, 2 Nov 2024 13:34:17 +0100 Subject: [PATCH] Move eraser tool to property view --- app/lib/handlers/eraser.dart | 7 -- app/lib/handlers/handler.dart | 1 - app/lib/handlers/path_eraser.dart | 7 -- app/lib/selections/properties/pen.dart | 2 + app/lib/selections/tools/area.dart | 1 + app/lib/selections/tools/eraser.dart | 11 +++ app/lib/selections/tools/laser.dart | 1 + app/lib/selections/tools/path_eraser.dart | 11 +++ app/lib/selections/tools/tool.dart | 1 + app/lib/views/toolbar/eraser.dart | 37 -------- app/pubspec.lock | 8 +- docs/package.json | 4 +- docs/pnpm-lock.yaml | 102 +++++++++++----------- docs/src/styles/custom.css | 29 ------ metadata/en-US/changelogs/121.txt | 2 + 15 files changed, 88 insertions(+), 136 deletions(-) delete mode 100644 app/lib/views/toolbar/eraser.dart diff --git a/app/lib/handlers/eraser.dart b/app/lib/handlers/eraser.dart index 0e31daf5dfd4..92ff8f54d7e8 100644 --- a/app/lib/handlers/eraser.dart +++ b/app/lib/handlers/eraser.dart @@ -101,11 +101,4 @@ class EraserHandler extends Handler { // Returns the mouse cursor to be used when the user interacts with the eraser tool. @override MouseCursor get cursor => SystemMouseCursors.precise; - - @override - PreferredSizeWidget? getToolbar(DocumentBloc bloc) => EraserToolbarView( - eraseElements: data.eraseElements, - onToggleEraseElements: () => - changeTool(bloc, data.copyWith(eraseElements: !data.eraseElements)), - ); } diff --git a/app/lib/handlers/handler.dart b/app/lib/handlers/handler.dart index 1edf0a585f2a..b0a85fa80b29 100644 --- a/app/lib/handlers/handler.dart +++ b/app/lib/handlers/handler.dart @@ -20,7 +20,6 @@ import 'package:butterfly/models/cursor.dart'; import 'package:butterfly/renderers/foregrounds/area.dart'; import 'package:butterfly/renderers/foregrounds/select.dart'; import 'package:butterfly/services/export.dart'; -import 'package:butterfly/views/toolbar/eraser.dart'; import 'package:butterfly/visualizer/tool.dart'; import 'package:butterfly_api/butterfly_api.dart'; import 'package:butterfly_api/butterfly_text.dart' as text; diff --git a/app/lib/handlers/path_eraser.dart b/app/lib/handlers/path_eraser.dart index 07289f055056..a712307e3a02 100644 --- a/app/lib/handlers/path_eraser.dart +++ b/app/lib/handlers/path_eraser.dart @@ -73,11 +73,4 @@ class PathEraserHandler extends Handler { context.getDocumentBloc().add(ElementsRemoved(_erased.toList())); } } - - @override - PreferredSizeWidget? getToolbar(DocumentBloc bloc) => EraserToolbarView( - eraseElements: data.eraseElements, - onToggleEraseElements: () => - changeTool(bloc, data.copyWith(eraseElements: !data.eraseElements)), - ); } diff --git a/app/lib/selections/properties/pen.dart b/app/lib/selections/properties/pen.dart index fcc7f1e576b6..8915fc973607 100644 --- a/app/lib/selections/properties/pen.dart +++ b/app/lib/selections/properties/pen.dart @@ -12,6 +12,7 @@ class PenPropertySelection extends PropertySelection ) => [ ...super.build(context, property, onChanged), + const SizedBox(height: 4), ColorField( value: Color(property.color), onChanged: (value) => @@ -28,6 +29,7 @@ class PenPropertySelection extends PropertySelection onChangeEnd: (value) => onChanged(property.copyWith( color: convertColor(property.color, value.toInt()))), ), + const SizedBox(height: 4), CheckboxListTile( value: property.fill, title: Text(AppLocalizations.of(context).fill), diff --git a/app/lib/selections/tools/area.dart b/app/lib/selections/tools/area.dart index 151169b497ac..769204b5ab8d 100644 --- a/app/lib/selections/tools/area.dart +++ b/app/lib/selections/tools/area.dart @@ -68,6 +68,7 @@ class AreaToolSelection extends ToolSelection { selected .map((e) => e.copyWith(constrainedAspectRatio: value)) .toList())), + const SizedBox(height: 4), CheckboxListTile( title: Text(AppLocalizations.of(context).askForName), value: tool.askForName, diff --git a/app/lib/selections/tools/eraser.dart b/app/lib/selections/tools/eraser.dart index c94140f62dd2..0ad4a5c94950 100644 --- a/app/lib/selections/tools/eraser.dart +++ b/app/lib/selections/tools/eraser.dart @@ -16,6 +16,17 @@ class EraserToolSelection extends ToolSelection { onChangeEnd: (value) => update(context, selected.map((e) => e.copyWith(strokeWidth: value)).toList()), ), + const SizedBox(height: 4), + CheckboxListTile( + value: selected.first.eraseElements, + title: Text(AppLocalizations.of(context).deleteElements), + secondary: const PhosphorIcon(PhosphorIconsLight.image), + onChanged: (value) => update( + context, + selected + .map((e) => e.copyWith(eraseElements: value ?? false)) + .toList()), + ), ]; } diff --git a/app/lib/selections/tools/laser.dart b/app/lib/selections/tools/laser.dart index 0ff776426a02..231a8c449fbb 100644 --- a/app/lib/selections/tools/laser.dart +++ b/app/lib/selections/tools/laser.dart @@ -29,6 +29,7 @@ class LaserToolSelection extends ToolSelection { selected.map((e) => e.copyWith(thinning: value)).toList(), ), ), + const SizedBox(height: 4), ColorField( value: Color(selected.first.color), onChanged: (value) => update( diff --git a/app/lib/selections/tools/path_eraser.dart b/app/lib/selections/tools/path_eraser.dart index c8ef0e8bd4ce..5fe01cc7ee5b 100644 --- a/app/lib/selections/tools/path_eraser.dart +++ b/app/lib/selections/tools/path_eraser.dart @@ -16,6 +16,17 @@ class PathEraserToolSelection extends ToolSelection { defaultValue: 5, onChangeEnd: (value) => update(context, selected.map((e) => e.copyWith(strokeWidth: value)).toList())), + const SizedBox(height: 4), + CheckboxListTile( + value: selected.first.eraseElements, + title: Text(AppLocalizations.of(context).deleteElements), + secondary: const PhosphorIcon(PhosphorIconsLight.image), + onChanged: (value) => update( + context, + selected + .map((e) => e.copyWith(eraseElements: value ?? false)) + .toList()), + ), ]; } diff --git a/app/lib/selections/tools/tool.dart b/app/lib/selections/tools/tool.dart index e91d8104ebea..7e9f3ebe5357 100644 --- a/app/lib/selections/tools/tool.dart +++ b/app/lib/selections/tools/tool.dart @@ -30,6 +30,7 @@ class ToolSelection extends Selection { initialValue: initialName, onChanged: (value) => update(context, selected.map((e) => e.copyWith(name: value) as T).toList())), + const SizedBox(height: 4), ]; } diff --git a/app/lib/views/toolbar/eraser.dart b/app/lib/views/toolbar/eraser.dart deleted file mode 100644 index c7b814d09760..000000000000 --- a/app/lib/views/toolbar/eraser.dart +++ /dev/null @@ -1,37 +0,0 @@ -import 'package:butterfly/views/toolbar/view.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_gen/gen_l10n/app_localizations.dart'; -import 'package:phosphor_flutter/phosphor_flutter.dart'; - -enum ColorPickerToolbarAction { delete, pin, eyeDropper } - -class EraserToolbarView extends StatelessWidget implements PreferredSizeWidget { - final bool eraseElements; - final VoidCallback onToggleEraseElements; - - const EraserToolbarView({ - super.key, - required this.eraseElements, - required this.onToggleEraseElements, - }); - - @override - Size get preferredSize => kToolbarSmall; - - @override - Widget build(BuildContext context) { - return ListView( - shrinkWrap: true, - scrollDirection: Axis.horizontal, - children: [ - IconButton( - icon: const PhosphorIcon(PhosphorIconsLight.image), - selectedIcon: const PhosphorIcon(PhosphorIconsFill.image), - isSelected: eraseElements, - onPressed: onToggleEraseElements, - tooltip: AppLocalizations.of(context).deleteElements, - ), - ], - ); - } -} diff --git a/app/pubspec.lock b/app/pubspec.lock index 55293303b3fc..7675c5e57b36 100644 --- a/app/pubspec.lock +++ b/app/pubspec.lock @@ -217,10 +217,10 @@ packages: dependency: "direct main" description: name: camera_windows - sha256: "12df8bf0a8b49acd65dc07768fb2cdc9552ab46c2242de88fb208776d8d334da" + sha256: "33cd8fc7e4e30cfd32b63a84fa2f753da04e087dd8cc2b46672ad3f0e604fb86" url: "https://pub.dev" source: hosted - version: "0.2.5" + version: "0.2.5+1" characters: dependency: transitive description: @@ -1626,10 +1626,10 @@ packages: dependency: transitive description: name: win32 - sha256: "10169d3934549017f0ae278ccb07f828f9d6ea21573bab0fb77b0e1ef0fce454" + sha256: "84ba388638ed7a8cb3445a320c8273136ab2631cd5f2c57888335504ddab1bc2" url: "https://pub.dev" source: hosted - version: "5.7.2" + version: "5.8.0" win32_registry: dependency: transitive description: diff --git a/docs/package.json b/docs/package.json index 3087e7d1592e..d61cf990c6eb 100644 --- a/docs/package.json +++ b/docs/package.json @@ -12,7 +12,7 @@ "dependencies": { "@astrojs/check": "^0.9.4", "@astrojs/react": "^3.6.2", - "@astrojs/starlight": "^0.28.4", + "@astrojs/starlight": "^0.28.5", "@phosphor-icons/react": "^2.1.7", "@types/react": "^18.3.12", "@types/react-dom": "^18.3.1", @@ -26,6 +26,6 @@ }, "packageManager": "pnpm@9.12.3", "devDependencies": { - "sass": "^1.80.5" + "sass": "^1.80.6" } } diff --git a/docs/pnpm-lock.yaml b/docs/pnpm-lock.yaml index 7efd59abb4a1..5c461930f75c 100644 --- a/docs/pnpm-lock.yaml +++ b/docs/pnpm-lock.yaml @@ -13,10 +13,10 @@ importers: version: 0.9.4(typescript@5.6.3) '@astrojs/react': specifier: ^3.6.2 - version: 3.6.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vite@5.4.10(sass@1.80.5)(terser@5.36.0)) + version: 3.6.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vite@5.4.10(sass@1.80.6)(terser@5.36.0)) '@astrojs/starlight': - specifier: ^0.28.4 - version: 0.28.4(astro@4.16.8(rollup@4.24.3)(sass@1.80.5)(terser@5.36.0)(typescript@5.6.3)) + specifier: ^0.28.5 + version: 0.28.5(astro@4.16.8(rollup@4.24.3)(sass@1.80.6)(terser@5.36.0)(typescript@5.6.3)) '@phosphor-icons/react': specifier: ^2.1.7 version: 2.1.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -28,7 +28,7 @@ importers: version: 18.3.1 astro: specifier: ^4.16.8 - version: 4.16.8(rollup@4.24.3)(sass@1.80.5)(terser@5.36.0)(typescript@5.6.3) + version: 4.16.8(rollup@4.24.3)(sass@1.80.6)(terser@5.36.0)(typescript@5.6.3) react: specifier: ^18.3.1 version: 18.3.1 @@ -49,8 +49,8 @@ importers: version: 5.6.3 devDependencies: sass: - specifier: ^1.80.5 - version: 1.80.5 + specifier: ^1.80.6 + version: 1.80.6 packages: @@ -107,8 +107,8 @@ packages: '@astrojs/sitemap@3.2.1': resolution: {integrity: sha512-uxMfO8f7pALq0ADL6Lk68UV6dNYjJ2xGUzyjjVj60JLBs5a6smtlkBYv3tQ0DzoqwS7c9n4FUx5lgv0yPo/fgA==} - '@astrojs/starlight@0.28.4': - resolution: {integrity: sha512-SU0vgCQCQZ6AuA84doxpGr5Aowr9L/PalddUbeDWSzkjE/YierFcvmBg78cSB0pdL0Q1v4k4l+wqhz176wHmTA==} + '@astrojs/starlight@0.28.5': + resolution: {integrity: sha512-0+++CW69mC2M0unHiAGfSrL+hCL9fgYMdU3t979msLIMxQtkyr9ajm8AIaAEWMfvIL0H+GKuNTritu5PgE6vPQ==} peerDependencies: astro: ^4.14.0 @@ -1108,8 +1108,8 @@ packages: resolution: {integrity: sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==} engines: {node: '>=4'} - electron-to-chromium@1.5.49: - resolution: {integrity: sha512-ZXfs1Of8fDb6z7WEYZjXpgIRF6MEu8JdeGA0A40aZq6OQbS+eJpnnV49epZRna2DU/YsEjSQuGtQPPtvt6J65A==} + electron-to-chromium@1.5.50: + resolution: {integrity: sha512-eMVObiUQ2LdgeO1F/ySTXsvqvxb6ZH2zPGaMYsWzRDdOddUa77tdmI0ltg+L16UpbWdhPmuF3wIQYyQq65WfZw==} emmet@2.4.11: resolution: {integrity: sha512-23QPJB3moh/U9sT4rQzGgeyyGIrcM+GH5uVYg2C6wZIxAIJq7Ng3QLT79tl8FUwDXhyq9SusfknOrofAKqvgyQ==} @@ -1705,8 +1705,8 @@ packages: oniguruma-to-js@0.4.3: resolution: {integrity: sha512-X0jWUcAlxORhOqqBREgPMgnshB7ZGYszBNspP+tS9hPD3l13CdaXcHbgImoHUHlrvGx/7AvFEkTRhAGYh+jzjQ==} - ora@8.1.0: - resolution: {integrity: sha512-GQEkNkH/GHOhPFXcqZs3IDahXEQcQxsSjEkK4KvEEST4t7eNzoMjxTzef+EZ+JluDEV+Raoi3WQ2CflnRdSVnQ==} + ora@8.1.1: + resolution: {integrity: sha512-YWielGi1XzG1UTvOaCFaNgEnuhZVMSHYkW/FQ7UX8O26PtlpdM84c0f7wLPlkvx2RfiQmnzd61d/MGxmpQeJPw==} engines: {node: '>=18'} p-limit@2.3.0: @@ -1841,8 +1841,8 @@ packages: regenerator-runtime@0.14.1: resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} - regex@4.3.3: - resolution: {integrity: sha512-r/AadFO7owAq1QJVeZ/nq9jNS1vyZt+6t1p/E59B56Rn2GCya+gr1KSyOzNL/er+r+B7phv5jG2xU2Nz1YkmJg==} + regex@4.4.0: + resolution: {integrity: sha512-uCUSuobNVeqUupowbdZub6ggI5/JZkYyJdDogddJr60L764oxC2pMZov1fQ3wM9bdyzUILDG+Sqx6NAKAz9rKQ==} rehype-expressive-code@0.35.6: resolution: {integrity: sha512-pPdE+pRcRw01kxMOwHQjuRxgwlblZt5+wAc3w2aPGgmcnn57wYjn07iKO7zaznDxYVxMYVvYlnL+R3vWFQS4Gw==} @@ -1936,8 +1936,8 @@ packages: run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - sass@1.80.5: - resolution: {integrity: sha512-TQd2aoQl/+zsxRMEDSxVdpPIqeq9UFc6pr7PzkugiTx3VYCFPUaa3P4RrBQsqok4PO200Vkz0vXQBNlg7W907g==} + sass@1.80.6: + resolution: {integrity: sha512-ccZgdHNiBF1NHBsWvacvT5rju3y1d/Eu+8Ex6c21nHp2lZGLBEtuwc415QfiI1PJa1TpCo3iXwwSRjRpn2Ckjg==} engines: {node: '>=14.0.0'} hasBin: true @@ -2071,8 +2071,8 @@ packages: typescript: optional: true - tslib@2.8.0: - resolution: {integrity: sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==} + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} type-fest@4.26.1: resolution: {integrity: sha512-yOGpmOAL7CkKe/91I5O3gPICmJNLJ1G4zFYVAsRHg7M64biSnPtRj0WNQt++bRkjYOqjWXrhnUw1utzmVErAdg==} @@ -2443,12 +2443,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@astrojs/mdx@3.1.9(astro@4.16.8(rollup@4.24.3)(sass@1.80.5)(terser@5.36.0)(typescript@5.6.3))': + '@astrojs/mdx@3.1.9(astro@4.16.8(rollup@4.24.3)(sass@1.80.6)(terser@5.36.0)(typescript@5.6.3))': dependencies: '@astrojs/markdown-remark': 5.3.0 '@mdx-js/mdx': 3.1.0(acorn@8.14.0) acorn: 8.14.0 - astro: 4.16.8(rollup@4.24.3)(sass@1.80.5)(terser@5.36.0)(typescript@5.6.3) + astro: 4.16.8(rollup@4.24.3)(sass@1.80.6)(terser@5.36.0)(typescript@5.6.3) es-module-lexer: 1.5.4 estree-util-visit: 2.0.0 gray-matter: 4.0.3 @@ -2467,11 +2467,11 @@ snapshots: dependencies: prismjs: 1.29.0 - '@astrojs/react@3.6.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vite@5.4.10(sass@1.80.5)(terser@5.36.0))': + '@astrojs/react@3.6.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vite@5.4.10(sass@1.80.6)(terser@5.36.0))': dependencies: '@types/react': 18.3.12 '@types/react-dom': 18.3.1 - '@vitejs/plugin-react': 4.3.3(vite@5.4.10(sass@1.80.5)(terser@5.36.0)) + '@vitejs/plugin-react': 4.3.3(vite@5.4.10(sass@1.80.6)(terser@5.36.0)) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) ultrahtml: 1.5.3 @@ -2485,15 +2485,15 @@ snapshots: stream-replace-string: 2.0.0 zod: 3.23.8 - '@astrojs/starlight@0.28.4(astro@4.16.8(rollup@4.24.3)(sass@1.80.5)(terser@5.36.0)(typescript@5.6.3))': + '@astrojs/starlight@0.28.5(astro@4.16.8(rollup@4.24.3)(sass@1.80.6)(terser@5.36.0)(typescript@5.6.3))': dependencies: - '@astrojs/mdx': 3.1.9(astro@4.16.8(rollup@4.24.3)(sass@1.80.5)(terser@5.36.0)(typescript@5.6.3)) + '@astrojs/mdx': 3.1.9(astro@4.16.8(rollup@4.24.3)(sass@1.80.6)(terser@5.36.0)(typescript@5.6.3)) '@astrojs/sitemap': 3.2.1 '@pagefind/default-ui': 1.1.1 '@types/hast': 3.0.4 '@types/mdast': 4.0.4 - astro: 4.16.8(rollup@4.24.3)(sass@1.80.5)(terser@5.36.0)(typescript@5.6.3) - astro-expressive-code: 0.35.6(astro@4.16.8(rollup@4.24.3)(sass@1.80.5)(terser@5.36.0)(typescript@5.6.3)) + astro: 4.16.8(rollup@4.24.3)(sass@1.80.6)(terser@5.36.0)(typescript@5.6.3) + astro-expressive-code: 0.35.6(astro@4.16.8(rollup@4.24.3)(sass@1.80.6)(terser@5.36.0)(typescript@5.6.3)) bcp-47: 2.1.0 hast-util-from-html: 2.0.3 hast-util-select: 6.0.3 @@ -2690,7 +2690,7 @@ snapshots: '@emnapi/runtime@1.3.1': dependencies: - tslib: 2.8.0 + tslib: 2.8.1 optional: true '@esbuild/aix-ppc64@0.21.5': @@ -3001,6 +3001,7 @@ snapshots: '@parcel/watcher-win32-arm64': 2.4.1 '@parcel/watcher-win32-ia32': 2.4.1 '@parcel/watcher-win32-x64': 2.4.1 + optional: true '@phosphor-icons/react@2.1.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: @@ -3172,14 +3173,14 @@ snapshots: '@ungap/structured-clone@1.2.0': {} - '@vitejs/plugin-react@4.3.3(vite@5.4.10(sass@1.80.5)(terser@5.36.0))': + '@vitejs/plugin-react@4.3.3(vite@5.4.10(sass@1.80.6)(terser@5.36.0))': dependencies: '@babel/core': 7.26.0 '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.0) '@types/babel__core': 7.20.5 react-refresh: 0.14.2 - vite: 5.4.10(sass@1.80.5)(terser@5.36.0) + vite: 5.4.10(sass@1.80.6)(terser@5.36.0) transitivePeerDependencies: - supports-color @@ -3274,12 +3275,12 @@ snapshots: astring@1.9.0: {} - astro-expressive-code@0.35.6(astro@4.16.8(rollup@4.24.3)(sass@1.80.5)(terser@5.36.0)(typescript@5.6.3)): + astro-expressive-code@0.35.6(astro@4.16.8(rollup@4.24.3)(sass@1.80.6)(terser@5.36.0)(typescript@5.6.3)): dependencies: - astro: 4.16.8(rollup@4.24.3)(sass@1.80.5)(terser@5.36.0)(typescript@5.6.3) + astro: 4.16.8(rollup@4.24.3)(sass@1.80.6)(terser@5.36.0)(typescript@5.6.3) rehype-expressive-code: 0.35.6 - astro@4.16.8(rollup@4.24.3)(sass@1.80.5)(terser@5.36.0)(typescript@5.6.3): + astro@4.16.8(rollup@4.24.3)(sass@1.80.6)(terser@5.36.0)(typescript@5.6.3): dependencies: '@astrojs/compiler': 2.10.3 '@astrojs/internal-helpers': 0.4.1 @@ -3323,7 +3324,7 @@ snapshots: micromatch: 4.0.8 mrmime: 2.0.0 neotraverse: 0.6.18 - ora: 8.1.0 + ora: 8.1.1 p-limit: 6.1.0 p-queue: 8.0.1 preferred-pm: 4.0.0 @@ -3335,8 +3336,8 @@ snapshots: tsconfck: 3.1.4(typescript@5.6.3) unist-util-visit: 5.0.0 vfile: 6.0.3 - vite: 5.4.10(sass@1.80.5)(terser@5.36.0) - vitefu: 1.0.3(vite@5.4.10(sass@1.80.5)(terser@5.36.0)) + vite: 5.4.10(sass@1.80.6)(terser@5.36.0) + vitefu: 1.0.3(vite@5.4.10(sass@1.80.6)(terser@5.36.0)) which-pm: 3.0.0 xxhash-wasm: 1.0.2 yargs-parser: 21.1.1 @@ -3392,7 +3393,7 @@ snapshots: browserslist@4.24.2: dependencies: caniuse-lite: 1.0.30001676 - electron-to-chromium: 1.5.49 + electron-to-chromium: 1.5.50 node-releases: 2.0.18 update-browserslist-db: 1.1.1(browserslist@4.24.2) @@ -3482,7 +3483,8 @@ snapshots: dequal@2.0.3: {} - detect-libc@1.0.3: {} + detect-libc@1.0.3: + optional: true detect-libc@2.0.3: {} @@ -3504,7 +3506,7 @@ snapshots: dset@3.1.4: {} - electron-to-chromium@1.5.49: {} + electron-to-chromium@1.5.50: {} emmet@2.4.11: dependencies: @@ -4487,7 +4489,8 @@ snapshots: dependencies: '@types/nlcst': 2.0.3 - node-addon-api@7.1.1: {} + node-addon-api@7.1.1: + optional: true node-releases@2.0.18: {} @@ -4501,9 +4504,9 @@ snapshots: oniguruma-to-js@0.4.3: dependencies: - regex: 4.3.3 + regex: 4.4.0 - ora@8.1.0: + ora@8.1.1: dependencies: chalk: 5.3.0 cli-cursor: 5.0.0 @@ -4666,7 +4669,7 @@ snapshots: regenerator-runtime@0.14.1: {} - regex@4.3.3: {} + regex@4.4.0: {} rehype-expressive-code@0.35.6: dependencies: @@ -4846,12 +4849,13 @@ snapshots: dependencies: queue-microtask: 1.2.3 - sass@1.80.5: + sass@1.80.6: dependencies: - '@parcel/watcher': 2.4.1 chokidar: 4.0.1 immutable: 4.3.7 source-map-js: 1.2.1 + optionalDependencies: + '@parcel/watcher': 2.4.1 sax@1.4.1: {} @@ -4998,7 +5002,7 @@ snapshots: optionalDependencies: typescript: 5.6.3 - tslib@2.8.0: + tslib@2.8.1: optional: true type-fest@4.26.1: {} @@ -5102,19 +5106,19 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.2 - vite@5.4.10(sass@1.80.5)(terser@5.36.0): + vite@5.4.10(sass@1.80.6)(terser@5.36.0): dependencies: esbuild: 0.21.5 postcss: 8.4.47 rollup: 4.24.3 optionalDependencies: fsevents: 2.3.3 - sass: 1.80.5 + sass: 1.80.6 terser: 5.36.0 - vitefu@1.0.3(vite@5.4.10(sass@1.80.5)(terser@5.36.0)): + vitefu@1.0.3(vite@5.4.10(sass@1.80.6)(terser@5.36.0)): optionalDependencies: - vite: 5.4.10(sass@1.80.5)(terser@5.36.0) + vite: 5.4.10(sass@1.80.6)(terser@5.36.0) volar-service-css@0.0.62(@volar/language-service@2.4.8): dependencies: diff --git a/docs/src/styles/custom.css b/docs/src/styles/custom.css index 5c9f5e4e54b8..c5b902406eaa 100644 --- a/docs/src/styles/custom.css +++ b/docs/src/styles/custom.css @@ -103,35 +103,6 @@ br { font-weight: 800; font-style: italic; } -/* Dark mode colors. */ -:root { - --sl-color-accent-low: #312007; - --sl-color-accent: #8f5e00; - --sl-color-accent-high: #dbc5a8; - --sl-color-white: #ffffff; - --sl-color-gray-1: #eceeec; - --sl-color-gray-2: #c0c3c0; - --sl-color-gray-3: #888d88; - --sl-color-gray-4: #555a55; - --sl-color-gray-5: #353a35; - --sl-color-gray-6: #242824; - --sl-color-black: #171917; -} -/* Light mode colors. */ -:root[data-theme="light"] { - --sl-color-accent-low: #e5d4bf; - --sl-color-accent: #916000; - --sl-color-accent-high: #462c00; - --sl-color-white: #171917; - --sl-color-gray-1: #242824; - --sl-color-gray-2: #353a35; - --sl-color-gray-3: #555a55; - --sl-color-gray-4: #888d88; - --sl-color-gray-5: #c0c3c0; - --sl-color-gray-6: #eceeec; - --sl-color-gray-7: #f5f7f5; - --sl-color-black: #ffffff; -} @font-face { font-family: "Barlow"; src: url("/fonts/Barlow-Black.ttf") format("truetype"); diff --git a/metadata/en-US/changelogs/121.txt b/metadata/en-US/changelogs/121.txt index ffd33ee18816..faaf840d5872 100644 --- a/metadata/en-US/changelogs/121.txt +++ b/metadata/en-US/changelogs/121.txt @@ -1,6 +1,8 @@ * Add checksums to release assets ([#753](https://github.com/LinwoodDev/Butterfly/issues/753)) +* Move eraser tool to property view * Improve scaling rotated elements ([#518](https://github.com/LinwoodDev/Butterfly/issues/518) partially, offset needs to be fixed) * Improve performance on large pages ([#667](https://github.com/LinwoodDev/Butterfly/issues/667) partially) +* Improve property view * Fix changing page don't showing content ([#755](https://github.com/LinwoodDev/Butterfly/issues/755)) Read more here: https://linwood.dev/butterfly/2.2.2-rc.1 \ No newline at end of file