Ensure the temporary link element is removed after triggering the export action to prevent cluttering the DOM. Additionally, display a success message upon successful theme export for better user feedback.
Implemented theme import and export options in the Zen Theme Marketplace. Added buttons, event handlers, and logic for users to save themes to a file or load them from an external JSON file. Included success and error states for both actions.
- Zen Mods: Default value not being loaded on theme install due to zen mods not being always triggered and default values not being in place when reading them (fixes#3887)
- Zen Mods: Fixed string preferences not changing completely by changing the event listener and replacing the throttle with a debounce, so we only listen to the last keydown (fixes#3558)
This commit introduces a new Essentials Toolbar feature to Zen. It provides a more streamlined and organized way for users to access frequently used bookmakrs directly from the sidebar.
- Added `ZenEssentialsToolbar.mjs` to provide the logic for the toolbar.
- Updated the sidebar CSS (`zen-sidebar.css`) to style the Essentials Toolbar.
- Modified `ZenStartup.mjs` to initialize the Essentials Toolbar.
- Made changes to `browserPlacesViews-js.patch` to integrate with existing bookmark functionality.
- Added a new preference `zen.essentials.enabled` to enable/disable the Essentials Toolbar.
- **Preferences**:
- Added a new preference `zen.view.sidebar-expanded.on-hover.paused-for-expand` to manage the paused state of the sidebar hover functionality.
- Updated `zen.view.sidebar-expanded.on-hover` preference handling to ensure proper behavior when toggling the sidebar.
- **ZenUIManager.mjs**:
- Updated `_updateOnHoverVerticalTabs` method to handle the expanded state and remove hover attributes when the sidebar is expanded.
- Refactored `_updateEvent` method to check and handle the expanded state of the sidebar, and to open or close the sidebar accordingly.
- Added `openSidebar` and `closeSidebar` methods to manage the sidebar's expanded state and related attributes.
- Refactored `toggleExpand` method to handle the new `paused-for-expand` preference and ensure proper toggling of the sidebar's expanded state.
- **zen-settings.js**:
- Updated `setCompactModeStyle` method to handle the new `paused-for-expand` preference.
- Ensured that the `paused-for-expand` preference is reset when the sidebar expand strategy is changed.
- **zen-browser.js**:
- Added the new preference `zen.view.sidebar-expanded.on-hover.paused-for-expand` with a default value of `false`.
- **Submodule Updates**:
- Updated `l10n` submodule to the latest commit `dd93803b84f398834049a3f650536fbdbd14cbca`.
- Updated `zen-components` submodule to the latest commit `d853fa8de4167dfd4d1289f4f15792a698c738c3-dirty`.
- **Miscellaneous**:
- Fixed indentation issues in `ZenUIManager.mjs`.
- Removed commented-out code in `ZenUIManager.mjs`.
- Ensured proper formatting and alignment of code blocks.
ISSUE: #2156