149 Commits

Author SHA1 Message Date
Raphael S. ae3b426950 feat(pseudo-elements): add comprehensive guide on modern CSS pseudo-elements
- Introduced a new documentation page covering various pseudo-elements, including `::backdrop`, `::view-transition`, and `::scroll-marker`.
- Added examples and practical patterns for using these pseudo-elements effectively.
- Created a new CSS module for styling demo components related to pseudo-elements.

Also added TypeScript interface for icon properties to improve type safety in icon components.
2026-01-03 21:17:39 +00:00
Raphael S. a41a6a599b refactor(tts): simplify TTS implementation by removing voice selection
- Removed voice parameter from TTS API calls to streamline the process.
- Consolidated voice handling to a single environment variable for cost efficiency.
- Updated related components and types to reflect the removal of voice selection.
2026-01-03 20:48:20 +00:00
Raphael S. 94e2c07857 feat(tts): add voice selection feature and available voices list 2026-01-03 20:14:29 +00:00
Raphael S. e6124136ae feat(progress-bar): add a progress bar demo component
- Implement a progress bar that simulates a download process.
- Includes start and reset functionality with visual feedback.
- Styles are defined in a separate CSS module for better organization.

feat(sidebar-demo): create a sidebar demo with animations

- Introduce a sidebar that can be toggled open and closed.
- Uses motion for smooth transitions and animations.
- Menu items are displayed with icons and labels.

feat(swipe-to-dismiss): implement swipe-to-dismiss notifications

- Create a notification system where users can swipe to dismiss.
- Notifications include icons and text, with animations on drag.
- Supports resetting notifications to the initial state.

feat(tab-switcher): add a tab switcher component

- Implement a tab switcher with smooth transitions between tabs.
- Each tab displays an icon and label, with an animated indicator.
- Uses motion for enhanced user experience.

feat(toast-demo): create a toast notification demo

- Implement toast notifications that appear on user action.
- Toasts include icons, titles, and can be dismissed.
- Styles are defined in a separate CSS module for clarity.

feat(tts): add edge TTS functionality for speech synthesis

- Implement speech synthesis using edge TTS with chunking support.
- Handles text splitting, audio generation, and subtitle parsing.
- Includes error handling and retry logic for robustness.
2026-01-03 17:02:15 +00:00
Raphael S. 3e1e383aa0 feat(scroll-markers): add scroll markers demo with styles
- Introduced a new demo showcasing scroll markers using CSS pseudo-elements.
- Added corresponding styles for the carousel and markers.
- Enhanced user interaction with scroll snapping and visual feedback.

feat(slotted-demo): implement slotted content demo with styles

- Created a demo for slotted content using custom elements and shadow DOM.
- Added styles for the demo, including button selection and visual transitions.
- Improved accessibility and user experience with audio feedback.

docs: add article on sound design in web interfaces

- Authored a comprehensive guide discussing the importance of sound in web design.
- Covered various use cases, implementation strategies, and design considerations.
- Included examples and references to enhance understanding of audio feedback.

docs: create guide on pseudo-elements in CSS

- Developed a detailed documentation on modern CSS pseudo-elements and their applications.
- Explained the usage of new pseudo-elements for styling native browser features.
- Provided practical examples and patterns for developers to implement in their projects.
2026-01-02 12:21:48 +00:00
Raphael S. 92c50cadd1 refactor(wallet): simplify wallet state management and improve accessibility
- Removed unused types and state management logic.
- Introduced local state for wallet properties to enhance performance.
- Improved accessibility features for wallet dialog and inputs.
2026-01-01 20:22:37 +00:00
Raphael S. cff54b37bc feat(styles): enhance popup and backdrop styles for better UX
- Added new styles for backdrop and popup components to improve visual hierarchy and user interaction.
- Introduced new text styles for primary and secondary text.
- Updated wallet and options styles for better focus handling.
- Removed redundant styles and optimized existing ones for clarity.

BREAKING CHANGE: backdrop and popup z-index values have been adjusted.
2025-12-31 23:38:50 +00:00
Raphael S. f8461b25a2 feat(animation): enhance animation principles documentation
- Refactor select components for better reusability and clarity.
- Update styles for improved layout and responsiveness.
- Modify color themes for better visual consistency.
- Correct minor typos and improve documentation clarity.
2025-12-31 16:39:12 +00:00
Raphael S. 6d85947306 refactor(root): simplify highlight logic and remove unused code
- Consolidate word highlighting functionality into a new module.
- Remove deprecated methods and streamline the highlight process.
- Update references in the Root component to utilize new highlight methods.
2025-12-29 21:16:27 +00:00
Raphael S. 9d6cfdc7c7 feat(styles): add foundational CSS styles and typography
- Introduced multiple CSS files for styles, including reset, typography, shadows, and Radix color imports.
- Established CSS variables for spacing, typography, and shadows to ensure consistency across the application.
- Implemented styles for various HTML elements to enhance the overall design and readability.

This update lays the groundwork for a cohesive design system.
2025-12-29 20:09:25 +00:00
Raphael S. 67f9c779be refactor(footer, header): remove unused components and styles
- Deleted Footer and Header components along with their styles as they are no longer needed.
- Introduced a new Shortcut component to manage keyboard shortcuts with tooltips.
2025-12-29 17:08:28 +00:00
Raphael S. 2bf51efbc7 feat(shortcut): add shortcut component for button tooltips 2025-12-29 09:50:45 +00:00
Raphael S. 40bc09ec10 refactor(audio): remove audio component styles
- Deleted the CSS file for the audio component as it is no longer needed.
- This change helps to clean up the codebase and reduce unused styles.

fix(document): improve scroll detection logic

- Added a reference to track programmatic scrolling to prevent false user scroll detection.
- Adjusted the debounce timing for user scrolling detection to improve responsiveness.

style(document): increase audio component height

- Updated the height of the audio component from 256px to 384px for better visibility.

fix(utils): update selector for word spans

- Changed the selector from `[page-word-id]` to `[data-word-id]` to match the updated HTML structure.

style(theme): enhance active word styling

- Added color to active word states for better visibility and user experience.
2025-12-29 09:17:59 +00:00
Raphael S. 47f39263d9 feat(header): enhance header component with author and coauthors info
- Added author and coauthors data to the header for better context.
- Utilized formatDate utility for consistent date formatting.
2025-12-29 09:06:32 +00:00
Raphael S. da9185722b feat(audio): implement audio state management with zustand
- Create a zustand store for managing audio playback state, including
  properties like audio URL, timestamps, playback status, volume, and
  looping options.
- Add actions to update the audio state, such as setting audio data,
  toggling mute, and resetting the state.

feat(styles): add styles for document components

- Introduce a comprehensive CSS module for styling various document
  components, including headers, media players, controls, tooltips,
  menus, and more.
- Ensure consistent design and responsiveness across different elements.

feat(toc): create table of contents component

- Implement a basic Table of Contents component that can be styled
  and integrated into the document layout.
- Placeholder for future functionality to extract and render headings.

feat(types): define types for audio and document components

- Establish TypeScript types for audio state management, including
  agent states, audio statuses, and word timestamps.
- Create a serializable page data interface for consistent data handling.

feat(utils): add utility functions for audio and timestamps

- Implement utility functions for formatting time, resolving window
  sizes for timestamps, and aligning timeline data.
- Enhance functionality for locating word indices based on current
  playback time.
2025-12-28 19:55:52 +00:00
Raphael S. 6a785e1bd4 refactor(icons): improve SVG structure and formatting
- Refactored SVG components for SquareCursorIcon, SquizedIcon, StepBackIcon, and StepForwardsIcon to enhance readability and maintainability.
- Adjusted the structure of SVG elements for consistency across icons.
- Updated the index file to ensure proper exports of arrow icons.

This change does not introduce new features or fix bugs but improves the overall code quality.
2025-12-27 23:02:38 +00:00
Raphael S. bf337aadd9 feat(icons): add volume control icons and conversion scripts
- Introduced three new volume icons: VolumeMinimumIcon, VolumeOffIcon, and VolumeUpIcon.
- Created scripts for converting SVG icons to TSX components and for finding unused icons.
- Updated the icons directory structure and added functionality to manage icon usage.

Reviewed-by: Team
2025-12-26 16:27:35 +00:00
Raphael S. 80fe5e8f8e refactor(playback): remove unused playback components and styles
- Deleted playback store, types, utils, and styles that are no longer in use.
- Consolidated playback-related styles into a single module for better organization.
- Introduced a new HomeLayout component for improved page structure and search functionality.

BREAKING CHANGE: The playback API has been simplified and may require updates in dependent components.
2025-12-24 14:07:37 +00:00
Raphael S. 1b4b4fc37a feat(types): add IconProps interface for SVG icons
Introduce a new interface, IconProps, to standardize the properties
for SVG icon components. This interface includes optional size and
color properties, enhancing the flexibility and usability of icon
components across the application.
2025-12-24 12:30:09 +00:00
Raphael S. d187f4f37c feat(figure): add toolbar and PNG rendering utility
- Introduced a new toolbar for figure components that appears on hover or focus.
- Added styles for the toolbar and buttons to enhance user interaction.
- Implemented a utility function to render figures as PNG blobs, excluding the toolbar from the output.
2025-12-22 12:48:32 +00:00
Raphael S. ed19961197 feat(documents): add new documents for animation principles and easing vs springs
- Created an index file to export various animation principles.
- Added a new document discussing the differences between easing curves and springs, including foundational knowledge and decision-making guidance.
2025-12-22 11:22:57 +00:00
Raphael S. 16aa84eddb feat(playback): implement audio playback functionality
- Add a new playback system with controls for play, pause, seek, and volume.
- Introduce a Zustand store for managing playback state and actions.
- Create utility functions for handling timestamps and word alignment.
- Implement a custom hook for managing audio playback and UI interactions.
- Add styles for playback controls and layout.

This feature enhances the user experience by providing a seamless audio playback interface.
2025-12-20 23:26:44 +00:00
Raphael S. a7307816d7 Revert "refactor(providers): remove unused LenisProvider and related code"
This reverts commit 20b3a5f050.
2025-12-18 21:45:25 +00:00
Raphael S. 20b3a5f050 refactor(providers): remove unused LenisProvider and related code 2025-12-18 12:24:23 +00:00
Raphael S. d1bccaad0f refactor(audio-reader): improve formatting and readability of code 2025-12-18 01:23:40 +00:00
Raphael S. 51debcc4b5 feat(audio-reader): enhance audio controls with playback rate, volume, and looping options
- Added playback rate control with predefined rates.
- Introduced volume control and mute functionality.
- Implemented looping feature for audio playback.
- Updated store and hooks to manage new state properties.
- Enhanced UI with new icons for speed, volume, and repeat functionalities.
- Added CSS styles for new components and controls.
2025-12-18 01:23:34 +00:00
Raphael S. 04ddf0e56f fix(audio-reader): sync highlighted text on page visibility change
fixes [UIW-7: Fix highlighted text not syncing to voice](https://linear.app/raphael-salaja/issue/UIW-7/fix-highlighted-text-not-syncing-to-voice)
2025-12-17 22:26:20 +00:00
Raphael S. d3b8dee02a chore: remove commented-out LenisProvider component 2025-12-17 21:22:29 +00:00
Raphael S. 9fefc801cd chore: clean up empty code change sections
Removed multiple empty <code-changes> sections from the changes log to improve readability and maintainability of the codebase. This helps in keeping the change history concise and focused on actual modifications.
2025-12-17 21:09:34 +00:00
Raphael S. 2bbd58e0d7 feat(motion-preview): update clip-path attribute for SVG consistency 2025-12-17 20:25:10 +00:00
Raphael S. d7ad2f1d09 feat(metadata): enhance site metadata and viewport settings
- Updated metadata for improved SEO and social sharing.
- Added viewport settings for better mobile responsiveness.
- Introduced skip link for accessibility improvements.
2025-12-17 09:33:14 +00:00
Raphael S. e285bc9937 feat(icons): implement dynamic seed for Code and Essay preview icons 2025-12-16 22:28:04 +00:00
Raphael S. b5dd63089e feat(icon): add icon support for documents and update components
- Introduced an `icon` field in document metadata to categorize content.
- Updated `PageCard` component to render icons based on the new metadata.
- Added new icon components for `EssayPreview` and `MotionPreview`.
- Refactored existing components to utilize the new icon system.
2025-12-16 21:27:35 +00:00
Raphael S. a58a963b7b feat(footer): enhance footer component with dynamic metadata and sharing options
- Added props for slug, title, and description to the Footer component.
- Implemented clipboard functionality for copying links and text.
- Integrated sharing options for Twitter and GitHub.
- Improved animations for button interactions.
2025-12-16 18:16:36 +00:00
Raphael S. 2caf18ca28 feat(audio-reader): enhance audio reader controls and styling 2025-12-16 17:48:41 +00:00
Raphael S. 00a9100cb0 feat(audio-reader): refactor audio reader component and enhance chapter handling
- Introduced a new Controls component to encapsulate media player controls.
- Added a ChaptersMenu and SettingsMenu for better organization and usability.
- Updated chapter numbering logic to improve chapter display.
- Removed playback rate management from the audio reader state.
- Enhanced CSS styles for better visual consistency and interaction feedback.
2025-12-16 17:35:04 +00:00
Raphael S. 0c0f4fcdac feat(audio-reader): add chapters and settings menu for audio reader 2025-12-16 16:27:44 +00:00
Raphael S. 49ec2c13b6 feat(audio-reader): enhance audio reader with playback rate control and metadata integration
- Added playback rate functionality to the audio reader component.
- Integrated title and author name into the audio reader for improved metadata handling.
- Updated styles for better focus visibility on buttons.
- Introduced new GearIcon and PlaylistIcon components for UI consistency.
2025-12-16 16:22:52 +00:00
Raphael S. fab905f4eb feat(audio-reader): add seek functionality to audio reader component 2025-12-16 13:58:14 +00:00
Raphael S. e978ab2949 feat(audio-reader): add gradient color generation for orb component 2025-12-15 23:31:43 +00:00
Raphael S. c011a6f81d feat(audio-reader): integrate audio reader component into article page 2025-12-15 23:30:34 +00:00
Raphael S. 1987316d0c refactor(audio-reader): remove hover highlight 2025-12-15 22:45:37 +00:00
Raphael S. fd9cbcaf97 feat(animation): add new components and styles for animation principles
- Implemented the Straight Ahead Action and Pose to Pose components.
- Refactored existing styles and added new styles for better visual consistency.
- Updated various CSS variables to improve theme integration.
- Removed unused select component and styles to streamline the codebase.
2025-12-15 20:36:21 +00:00
Raphael S. d69744ae2a feat(animation): add follow-through and overlapping action principle
- Implemented a new animation principle demonstrating follow-through and overlapping action.
- Created interactive components with drag-and-drop functionality.
- Added styles for the new components and integrated them into the existing principles.

feat(select): introduce custom select component

- Developed a reusable select component with various subcomponents for better modularity.
- Styled the select component to match the design system.

feat(staging): create staging component for visual storytelling

- Added a staging component that showcases images with text overlays.
- Implemented animations for image transitions and overlays.

feat(straight-ahead): add select options for animation techniques

- Created a selection interface for different animation techniques (Straight Ahead, Pose to Pose, Blending).
- Integrated the select component into the animation principles section.
2025-12-15 08:45:31 +00:00
Raphael S. d262412331 chore: remove deprecated SecondaryAction component and related styles 2025-12-14 16:04:45 +00:00
Raphael S. 6de34dbfe0 chore: remove Aphex Twin icon and related timing feature
- Deleted the Aphex Twin icon component and its references in the icons index.
- Removed the Timing component and its styles, which utilized the Aphex Twin icon.
- Updated various styles across the 12 principles documents to improve consistency and visual appearance.
- Added new functionality to the Timing component, which now uses chroma-js and pantone-tcx for color handling.
2025-12-14 14:03:00 +00:00
Raphael S. e1f7c56df0 feat(icons): add new icons for note, openai, and various principles
- Introduced new icons including NoteIcon and OpenAIIcon for enhanced visual representation.
- Added icons for the Squash and Stretch principles: ArrowIcon, CrownIcon, FireIcon, and ToastIcon.
- Implemented anticipation icons: HighPriority, InProgress, Done, Todo, Check, Bolt, and Avatar.
- Created corresponding styles and components for the new icons to ensure consistent design and functionality.
2025-12-14 00:06:07 +00:00
Raphael S. 85db6ea9fe refactor(styles): consolidate and simplify CSS for typography and code
- Removed multiple CSS files and merged styles into a single index.css for better maintainability.
- Updated styles for headings, lists, tables, and code blocks to use CSS variables for consistency.
- Improved readability and organization of styles by utilizing the `:where` pseudo-class.
- Removed deprecated styles and ensured all typography and code styles are defined in one place.

BREAKING CHANGE: The structure of CSS files has changed, affecting how styles are imported and applied.
2025-12-13 22:44:18 +00:00
Raphael S. e79b60718c chore: remove redundant code changes
This commit cleans up the codebase by removing multiple instances of
unnecessary code changes that do not contribute to functionality or
performance. This helps maintain clarity and reduces potential
confusion for future development.
2025-12-13 21:59:42 +00:00
Raphael S. 0e3a6a268e chore: reorganize imports in index.tsx and add constants file 2025-12-13 15:54:26 +00:00