Skip to content

[LG-5094] feat(code-editor): add panel component for toolbar functionality #3047

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 18 commits into
base: integration/code-editor
Choose a base branch
from

Conversation

tsck
Copy link
Collaborator

@tsck tsck commented Aug 15, 2025

✍️ Proposed changes

This PR introduces a new Panel component to the @leafygreen-ui/code-editor package, providing a comprehensive toolbar interface for the CodeEditor with formatting, copying, and custom action buttons.

The Panel component includes:

  • A configurable title display for code language or content description
  • Format button for code prettification (when formatting is available)
  • Copy button for copying code to clipboard using the existing CodeEditorCopyButton
  • Secondary menu with additional actions (undo, redo, download, view shortcuts)
  • Support for custom secondary buttons for application-specific actions
  • Custom children content support in the left slot
  • Full accessibility support with proper ARIA labels
  • Integration with CodeEditor context for seamless copy functionality

This enhancement significantly improves the user experience by providing easy access to common editor actions through a clean, organized toolbar interface.

🎟️ Jira ticket: N/A

✅ Checklist

For bug fixes, new features & breaking changes

  • I have added/updated tests for this change
  • I have added/updated TypeScript types for this change
  • I have added/updated documentation (Storybook) for this change
  • I have added a changeset for this change
  • I have tested this change in isolation

🧪 How to test changes

  1. Basic Panel Rendering:

    import { CodeEditor, Panel } from '@leafygreen-ui/code-editor';
    
    <CodeEditor
      defaultValue="const greeting = 'Hello World';"
      language="javascript"
      panel={
        <Panel 
          title="JavaScript"
          showFormatButton
          showCopyButton
          showSecondaryMenuButton
        />
      }
    />
  2. Test Copy Functionality:

    • Render a CodeEditor with Panel and showCopyButton={true}
    • Click the copy button
    • Verify content is copied to clipboard
  3. Test Secondary Menu:

    • Render Panel with showSecondaryMenuButton={true}
    • Click the ellipsis button to open the menu
    • Verify all menu items (Undo, Redo, Download, View shortcuts) are present and accessible
  4. Test Custom Secondary Buttons:

    <Panel
      showSecondaryMenuButton
      customSecondaryButtons={[
        {
          label: 'Custom Action',
          glyph: <CloudIcon />,
          onClick: () => console.log('custom clicked'),
          'aria-label': 'Perform custom action'
        }
      ]}
    />
  5. Test Accessibility:

    • Navigate the Panel using keyboard only
    • Verify all buttons and menu items have proper ARIA labels
    • Test with screen reader to ensure proper announcements
  6. Test Integration:

    • Verify Panel integrates properly with CodeEditor context
    • Test that the Panel styling matches the CodeEditor theme
    • Ensure responsive behavior across different screen sizes

Copy link

changeset-bot bot commented Aug 15, 2025

🦋 Changeset detected

Latest commit: a3b0f25

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@leafygreen-ui/code-editor Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@tsck tsck changed the title [LG-5094] feat(code-editor): add Panel component support to code editor [LG-5094] feat(code-editor): Toolbar pr 3 - add Panel component support to code editor Aug 15, 2025
Copy link
Contributor

github-actions bot commented Aug 15, 2025

Size Change: +1.97 kB (+0.1%)

Total Size: 2.01 MB

Filename Size Change
packages/code-editor/dist/esm/index.js 10.2 kB +935 B (+10.08%) ⚠️
packages/code-editor/dist/umd/index.js 10.4 kB +1.03 kB (+10.95%) ⚠️
ℹ️ View Unchanged
Filename Size
charts/chart-card/dist/esm/index.js 2.78 kB
charts/chart-card/dist/umd/index.js 2.94 kB
charts/colors/dist/esm/index.js 530 B
charts/colors/dist/umd/index.js 649 B
charts/core/dist/esm/index.js 16.1 kB
charts/core/dist/umd/index.js 16.4 kB
charts/drag-provider/dist/esm/index.js 1.37 kB
charts/drag-provider/dist/umd/index.js 1.49 kB
charts/legend/dist/esm/index.js 1.52 kB
charts/legend/dist/umd/index.js 1.67 kB
charts/series-provider/dist/esm/index.js 1.28 kB
charts/series-provider/dist/umd/index.js 1.4 kB
chat/avatar/dist/esm/index.js 1.36 kB
chat/avatar/dist/umd/index.js 1.52 kB
chat/chat-disclaimer/dist/esm/index.js 582 B
chat/chat-disclaimer/dist/umd/index.js 767 B
chat/chat-window/dist/esm/index.js 1.72 kB
chat/chat-window/dist/umd/index.js 1.86 kB
chat/fixed-chat-window/dist/esm/index.js 2.4 kB
chat/fixed-chat-window/dist/umd/index.js 2.58 kB
chat/input-bar/dist/esm/index.js 7.53 kB
chat/input-bar/dist/umd/index.js 7.79 kB
chat/leafygreen-chat-provider/dist/esm/index.js 921 B
chat/leafygreen-chat-provider/dist/umd/index.js 1.07 kB
chat/lg-markdown/dist/esm/index.js 1.45 kB
chat/lg-markdown/dist/umd/index.js 1.6 kB
chat/message-actions/dist/esm/index.js 3.6 kB
chat/message-actions/dist/umd/index.js 3.8 kB
chat/message-feed/dist/esm/index.js 2.8 kB
chat/message-feed/dist/umd/index.js 3.02 kB
chat/message-feedback/dist/esm/index.js 3.12 kB
chat/message-feedback/dist/umd/index.js 3.35 kB
chat/message-prompts/dist/esm/index.js 1.72 kB
chat/message-prompts/dist/umd/index.js 1.87 kB
chat/message-rating/dist/esm/index.js 2.58 kB
chat/message-rating/dist/umd/index.js 2.77 kB
chat/message/dist/esm/index.js 5.01 kB
chat/message/dist/umd/index.js 5.19 kB
chat/rich-links/dist/esm/index.js 2.73 kB
chat/rich-links/dist/umd/index.js 2.94 kB
chat/suggestions/dist/esm/index.js 1.34 kB
chat/suggestions/dist/esm/testing/index.js 55 B
chat/suggestions/dist/umd/index.js 1.54 kB
chat/suggestions/dist/umd/testing/index.js 113 B
chat/title-bar/dist/esm/index.js 1.38 kB
chat/title-bar/dist/umd/index.js 1.59 kB
packages/a11y/dist/esm/index.js 1.71 kB
packages/a11y/dist/umd/index.js 1.83 kB
packages/avatar/dist/esm/index.js 3.4 kB
packages/avatar/dist/umd/index.js 3.58 kB
packages/badge/dist/esm/index.js 1.41 kB
packages/badge/dist/umd/index.js 1.6 kB
packages/banner/dist/esm/index.js 3.09 kB
packages/banner/dist/umd/index.js 3.38 kB
packages/box/dist/esm/index.js 489 B
packages/box/dist/umd/index.js 633 B
packages/button/dist/esm/index.js 4.8 kB
packages/button/dist/esm/testing/index.js 321 B
packages/button/dist/umd/index.js 4.98 kB
packages/button/dist/umd/testing/index.js 438 B
packages/callout/dist/esm/index.js 1.55 kB
packages/callout/dist/umd/index.js 1.72 kB
packages/card/dist/esm/index.js 1.52 kB
packages/card/dist/umd/index.js 1.69 kB
packages/checkbox/dist/esm/index.js 4.27 kB
packages/checkbox/dist/umd/index.js 4.46 kB
packages/chip/dist/esm/index.js 3.21 kB
packages/chip/dist/umd/index.js 3.42 kB
packages/code/dist/esm/index.js 10.6 kB
packages/code/dist/esm/testing/index.js 11.4 kB
packages/code/dist/umd/index.js 11.2 kB
packages/code/dist/umd/testing/index.js 12 kB
packages/combobox/dist/esm/index.js 11.5 kB
packages/combobox/dist/umd/index.js 11.8 kB
packages/confirmation-modal/dist/esm/index.js 2.62 kB
packages/confirmation-modal/dist/umd/index.js 2.83 kB
packages/context-drawer/dist/esm/index.js 3.12 kB
packages/context-drawer/dist/esm/testing/index.js 3.52 kB
packages/context-drawer/dist/umd/index.js 3.28 kB
packages/context-drawer/dist/umd/testing/index.js 3.67 kB
packages/copyable/dist/esm/index.js 2.77 kB
packages/copyable/dist/umd/index.js 2.97 kB
packages/date-picker/dist/esm/index.js 13.6 kB
packages/date-picker/dist/umd/index.js 14 kB
packages/date-utils/dist/esm/index.js 2.7 kB
packages/date-utils/dist/esm/testing/index.js 1.35 kB
packages/date-utils/dist/umd/index.js 2.8 kB
packages/date-utils/dist/umd/testing/index.js 1.49 kB
packages/descendants/dist/esm/index.js 2.81 kB
packages/descendants/dist/umd/index.js 2.92 kB
packages/drawer/dist/esm/index.js 7.65 kB
packages/drawer/dist/esm/testing/index.js 471 B
packages/drawer/dist/umd/index.js 7.8 kB
packages/drawer/dist/umd/testing/index.js 587 B
packages/emotion/dist/esm/index.js 356 B
packages/emotion/dist/umd/index.js 570 B
packages/empty-state/dist/esm/index.js 1.75 kB
packages/empty-state/dist/umd/index.js 1.93 kB
packages/expandable-card/dist/esm/index.js 2.95 kB
packages/expandable-card/dist/esm/testing/index.js 3.47 kB
packages/expandable-card/dist/umd/index.js 3.15 kB
packages/expandable-card/dist/umd/testing/index.js 3.67 kB
packages/form-field/dist/esm/index.js 4.37 kB
packages/form-field/dist/umd/index.js 4.53 kB
packages/form-footer/dist/esm/index.js 1.68 kB
packages/form-footer/dist/umd/index.js 1.9 kB
packages/gallery-indicator/dist/esm/index.js 1.39 kB
packages/gallery-indicator/dist/esm/testing/index.js 351 B
packages/gallery-indicator/dist/umd/index.js 1.54 kB
packages/gallery-indicator/dist/umd/testing/index.js 475 B
packages/guide-cue/dist/esm/index.js 5.17 kB
packages/guide-cue/dist/umd/index.js 5.37 kB
packages/hooks/dist/esm/index.js 3.54 kB
packages/hooks/dist/umd/index.js 3.66 kB
packages/icon-button/dist/esm/index.js 2.27 kB
packages/icon-button/dist/umd/index.js 2.48 kB
packages/icon/dist/ActivityFeed.js 1.96 kB
packages/icon/dist/AddFile.js 1.73 kB
packages/icon/dist/AIModel.js 1.57 kB
packages/icon/dist/AllProducts.js 1.8 kB
packages/icon/dist/AnalyticsNode.js 1.57 kB
packages/icon/dist/Apps.js 1.4 kB
packages/icon/dist/Array.js 1.52 kB
packages/icon/dist/ArrowDown.js 1.65 kB
packages/icon/dist/ArrowLeft.js 1.66 kB
packages/icon/dist/ArrowRight.js 1.65 kB
packages/icon/dist/ArrowUp.js 1.65 kB
packages/icon/dist/Beaker.js 2.08 kB
packages/icon/dist/Bell.js 1.61 kB
packages/icon/dist/Biometric.js 2.18 kB
packages/icon/dist/Boolean.js 1.45 kB
packages/icon/dist/Building.js 1.6 kB
packages/icon/dist/Bulb.js 1.64 kB
packages/icon/dist/Calendar.js 1.6 kB
packages/icon/dist/Camera.js 1.69 kB
packages/icon/dist/Cap.js 1.81 kB
packages/icon/dist/CaretDown.js 1.47 kB
packages/icon/dist/CaretLeft.js 1.47 kB
packages/icon/dist/CaretRight.js 1.46 kB
packages/icon/dist/CaretUp.js 1.47 kB
packages/icon/dist/ChartFilled.js 1.57 kB
packages/icon/dist/Charts.js 1.54 kB
packages/icon/dist/Checkmark.js 1.61 kB
packages/icon/dist/CheckmarkWithCircle.js 1.68 kB
packages/icon/dist/ChevronDown.js 1.57 kB
packages/icon/dist/ChevronLeft.js 1.57 kB
packages/icon/dist/ChevronRight.js 1.59 kB
packages/icon/dist/ChevronUp.js 1.56 kB
packages/icon/dist/Circle.js 1.34 kB
packages/icon/dist/Clock.js 1.63 kB
packages/icon/dist/ClockWithArrow.js 1.92 kB
packages/icon/dist/Clone.js 1.5 kB
packages/icon/dist/Cloud.js 1.68 kB
packages/icon/dist/Code.js 1.89 kB
packages/icon/dist/CodeBlock.js 1.83 kB
packages/icon/dist/Coin.js 1.94 kB
packages/icon/dist/Colon.js 1.45 kB
packages/icon/dist/Config.js 1.76 kB
packages/icon/dist/Connect.js 1.93 kB
packages/icon/dist/Copy.js 1.88 kB
packages/icon/dist/CreditCard.js 1.43 kB
packages/icon/dist/CurlyBraces.js 2.04 kB
packages/icon/dist/Cursor.js 1.56 kB
packages/icon/dist/Dashboard.js 1.57 kB
packages/icon/dist/Database.js 2.03 kB
packages/icon/dist/Diagram.js 1.65 kB
packages/icon/dist/Diagram2.js 1.66 kB
packages/icon/dist/Diagram3.js 1.63 kB
packages/icon/dist/Disconnect.js 1.87 kB
packages/icon/dist/Download.js 1.79 kB
packages/icon/dist/Drag.js 1.61 kB
packages/icon/dist/Edit.js 1.51 kB
packages/icon/dist/Ellipsis.js 1.49 kB
packages/icon/dist/Email.js 1.71 kB
packages/icon/dist/EmptyDatabase.js 4.31 kB
packages/icon/dist/EmptyFolder.js 2.1 kB
packages/icon/dist/Eraser.js 1.78 kB
packages/icon/dist/Escalation.js 1.68 kB
packages/icon/dist/esm/ActivityFeed.js 1.75 kB
packages/icon/dist/esm/AddFile.js 1.52 kB
packages/icon/dist/esm/AIModel.js 1.38 kB
packages/icon/dist/esm/AllProducts.js 1.6 kB
packages/icon/dist/esm/AnalyticsNode.js 1.36 kB
packages/icon/dist/esm/Apps.js 1.2 kB
packages/icon/dist/esm/Array.js 1.32 kB
packages/icon/dist/esm/ArrowDown.js 1.44 kB
packages/icon/dist/esm/ArrowLeft.js 1.45 kB
packages/icon/dist/esm/ArrowRight.js 1.44 kB
packages/icon/dist/esm/ArrowUp.js 1.44 kB
packages/icon/dist/esm/Beaker.js 1.88 kB
packages/icon/dist/esm/Bell.js 1.41 kB
packages/icon/dist/esm/Biometric.js 1.97 kB
packages/icon/dist/esm/Boolean.js 1.25 kB
packages/icon/dist/esm/Building.js 1.4 kB
packages/icon/dist/esm/Bulb.js 1.44 kB
packages/icon/dist/esm/Calendar.js 1.4 kB
packages/icon/dist/esm/Camera.js 1.49 kB
packages/icon/dist/esm/Cap.js 1.6 kB
packages/icon/dist/esm/CaretDown.js 1.27 kB
packages/icon/dist/esm/CaretLeft.js 1.26 kB
packages/icon/dist/esm/CaretRight.js 1.26 kB
packages/icon/dist/esm/CaretUp.js 1.27 kB
packages/icon/dist/esm/ChartFilled.js 1.36 kB
packages/icon/dist/esm/Charts.js 1.34 kB
packages/icon/dist/esm/Checkmark.js 1.4 kB
packages/icon/dist/esm/CheckmarkWithCircle.js 1.47 kB
packages/icon/dist/esm/ChevronDown.js 1.37 kB
packages/icon/dist/esm/ChevronLeft.js 1.37 kB
packages/icon/dist/esm/ChevronRight.js 1.38 kB
packages/icon/dist/esm/ChevronUp.js 1.36 kB
packages/icon/dist/esm/Circle.js 1.14 kB
packages/icon/dist/esm/Clock.js 1.43 kB
packages/icon/dist/esm/ClockWithArrow.js 1.71 kB
packages/icon/dist/esm/Clone.js 1.3 kB
packages/icon/dist/esm/Cloud.js 1.48 kB
packages/icon/dist/esm/Code.js 1.69 kB
packages/icon/dist/esm/CodeBlock.js 1.62 kB
packages/icon/dist/esm/Coin.js 1.73 kB
packages/icon/dist/esm/Colon.js 1.25 kB
packages/icon/dist/esm/Config.js 1.56 kB
packages/icon/dist/esm/Connect.js 1.73 kB
packages/icon/dist/esm/Copy.js 1.67 kB
packages/icon/dist/esm/CreditCard.js 1.23 kB
packages/icon/dist/esm/CurlyBraces.js 1.83 kB
packages/icon/dist/esm/Cursor.js 1.35 kB
packages/icon/dist/esm/Dashboard.js 1.37 kB
packages/icon/dist/esm/Database.js 1.83 kB
packages/icon/dist/esm/Diagram.js 1.45 kB
packages/icon/dist/esm/Diagram2.js 1.46 kB
packages/icon/dist/esm/Diagram3.js 1.43 kB
packages/icon/dist/esm/Disconnect.js 1.66 kB
packages/icon/dist/esm/Download.js 1.58 kB
packages/icon/dist/esm/Drag.js 1.42 kB
packages/icon/dist/esm/Edit.js 1.31 kB
packages/icon/dist/esm/Ellipsis.js 1.29 kB
packages/icon/dist/esm/Email.js 1.51 kB
packages/icon/dist/esm/EmptyDatabase.js 4.08 kB
packages/icon/dist/esm/EmptyFolder.js 1.89 kB
packages/icon/dist/esm/Eraser.js 1.57 kB
packages/icon/dist/esm/Escalation.js 1.47 kB
packages/icon/dist/esm/Export.js 1.58 kB
packages/icon/dist/esm/Favorite.js 1.53 kB
packages/icon/dist/esm/Federation.js 1.85 kB
packages/icon/dist/esm/File.js 1.34 kB
packages/icon/dist/esm/Filter.js 1.32 kB
packages/icon/dist/esm/Folder.js 1.23 kB
packages/icon/dist/esm/Format.js 1.66 kB
packages/icon/dist/esm/FullScreenEnter.js 1.49 kB
packages/icon/dist/esm/FullScreenExit.js 1.5 kB
packages/icon/dist/esm/Function.js 2.54 kB
packages/icon/dist/esm/Gauge.js 1.53 kB
packages/icon/dist/esm/GlobeAmericas.js 1.45 kB
packages/icon/dist/esm/GovernmentBuilding.js 1.48 kB
packages/icon/dist/esm/Guide.js 1.79 kB
packages/icon/dist/esm/Hash.js 1.63 kB
packages/icon/dist/esm/HiddenSecondaryNode.js 2.9 kB
packages/icon/dist/esm/Highlight.js 1.68 kB
packages/icon/dist/esm/Home.js 1.59 kB
packages/icon/dist/esm/HorizontalDrag.js 1.42 kB
packages/icon/dist/esm/Import.js 1.57 kB
packages/icon/dist/esm/ImportantWithCircle.js 1.34 kB
packages/icon/dist/esm/index.js 34.8 kB
packages/icon/dist/esm/InfoWithCircle.js 1.37 kB
packages/icon/dist/esm/InternalEmployee.js 1.66 kB
packages/icon/dist/esm/InviteUser.js 1.68 kB
packages/icon/dist/esm/Key.js 1.48 kB
packages/icon/dist/esm/Laptop.js 1.46 kB
packages/icon/dist/esm/LightningBolt.js 1.34 kB
packages/icon/dist/esm/Link.js 1.84 kB
packages/icon/dist/esm/List.js 1.48 kB
packages/icon/dist/esm/Lock.js 1.43 kB
packages/icon/dist/esm/LogIn.js 1.51 kB
packages/icon/dist/esm/LogOut.js 1.57 kB
packages/icon/dist/esm/MagnifyingGlass.js 1.41 kB
packages/icon/dist/esm/Megaphone.js 1.38 kB
packages/icon/dist/esm/Menu.js 1.29 kB
packages/icon/dist/esm/Minus.js 1.24 kB
packages/icon/dist/esm/Mobile.js 1.24 kB
packages/icon/dist/esm/Moon.js 1.42 kB
packages/icon/dist/esm/MultiDirectionArrow.js 1.46 kB
packages/icon/dist/esm/MultiLayers.js 2.42 kB
packages/icon/dist/esm/NavCollapse.js 1.48 kB
packages/icon/dist/esm/NavExpand.js 1.49 kB
packages/icon/dist/esm/NoFilter.js 1.47 kB
packages/icon/dist/esm/NotAllowed.js 1.35 kB
packages/icon/dist/esm/Note.js 1.39 kB
packages/icon/dist/esm/NumberedList.js 2.29 kB
packages/icon/dist/esm/OpenNewTab.js 1.67 kB
packages/icon/dist/esm/OutlineFavorite.js 1.8 kB
packages/icon/dist/esm/Package.js 1.65 kB
packages/icon/dist/esm/Pause.js 1.29 kB
packages/icon/dist/esm/Pending.js 1.27 kB
packages/icon/dist/esm/Person.js 1.46 kB
packages/icon/dist/esm/PersonGroup.js 1.66 kB
packages/icon/dist/esm/PersonWithLock.js 1.67 kB
packages/icon/dist/esm/Pin.js 1.4 kB
packages/icon/dist/esm/Play.js 1.28 kB
packages/icon/dist/esm/Plus.js 1.3 kB
packages/icon/dist/esm/PlusWithCircle.js 1.33 kB
packages/icon/dist/esm/Primary.js 1.35 kB
packages/icon/dist/esm/Project.js 1.39 kB
packages/icon/dist/esm/QuestionMarkWithCircle.js 1.7 kB
packages/icon/dist/esm/Read.js 2 kB
packages/icon/dist/esm/Recommended.js 2.17 kB
packages/icon/dist/esm/Redo.js 1.64 kB
packages/icon/dist/esm/Refresh.js 1.71 kB
packages/icon/dist/esm/Relationship.js 1.4 kB
packages/icon/dist/esm/ReplicaSet.js 1.55 kB
packages/icon/dist/esm/Resize.js 1.37 kB
packages/icon/dist/esm/Resource.js 1.7 kB
packages/icon/dist/esm/Return.js 1.47 kB
packages/icon/dist/esm/Revert.js 1.51 kB
packages/icon/dist/esm/Router.js 2.17 kB
packages/icon/dist/esm/Save.js 1.9 kB
packages/icon/dist/esm/SearchIndex.js 2.03 kB
packages/icon/dist/esm/Secondary.js 1.58 kB
packages/icon/dist/esm/Serverless.js 1.54 kB
packages/icon/dist/esm/Settings.js 1.97 kB
packages/icon/dist/esm/ShardedCluster.js 1.92 kB
packages/icon/dist/esm/Shell.js 1.46 kB
packages/icon/dist/esm/Shield.js 1.89 kB
packages/icon/dist/esm/Shirt.js 1.4 kB
packages/icon/dist/esm/Shortcut.js 1.97 kB
packages/icon/dist/esm/SMS.js 1.41 kB
packages/icon/dist/esm/SortAscending.js 1.5 kB
packages/icon/dist/esm/SortDescending.js 1.49 kB
packages/icon/dist/esm/Sparkle.js 1.83 kB
packages/icon/dist/esm/SplitHorizontal.js 1.26 kB
packages/icon/dist/esm/SplitVertical.js 1.26 kB
packages/icon/dist/esm/Stitch.js 1.29 kB
packages/icon/dist/esm/Stop.js 1.15 kB
packages/icon/dist/esm/Streaming.js 2.29 kB
packages/icon/dist/esm/String.js 1.4 kB
packages/icon/dist/esm/Sun.js 1.63 kB
packages/icon/dist/esm/Support.js 1.49 kB
packages/icon/dist/esm/Sweep.js 1.51 kB
packages/icon/dist/esm/Table.js 1.28 kB
packages/icon/dist/esm/Tag.js 1.32 kB
packages/icon/dist/esm/TemporaryTable.js 1.52 kB
packages/icon/dist/esm/ThumbsDown.js 1.61 kB
packages/icon/dist/esm/ThumbsUp.js 1.6 kB
packages/icon/dist/esm/TimeSeries.js 1.66 kB
packages/icon/dist/esm/TimeSeriesCollection.js 1.79 kB
packages/icon/dist/esm/Trash.js 1.32 kB
packages/icon/dist/esm/Undo.js 1.63 kB
packages/icon/dist/esm/University.js 1.82 kB
packages/icon/dist/esm/Unlock.js 1.5 kB
packages/icon/dist/esm/Unsorted.js 1.54 kB
packages/icon/dist/esm/UpDownCarets.js 1.39 kB
packages/icon/dist/esm/Upload.js 1.59 kB
packages/icon/dist/esm/VerticalEllipsis.js 1.3 kB
packages/icon/dist/esm/View.js 1.45 kB
packages/icon/dist/esm/Visibility.js 1.62 kB
packages/icon/dist/esm/VisibilityOff.js 2.01 kB
packages/icon/dist/esm/Warning.js 1.39 kB
packages/icon/dist/esm/Wizard.js 1.73 kB
packages/icon/dist/esm/Wrench.js 1.72 kB
packages/icon/dist/esm/Write.js 2 kB
packages/icon/dist/esm/X.js 1.42 kB
packages/icon/dist/esm/XWithCircle.js 1.37 kB
packages/icon/dist/Export.js 1.78 kB
packages/icon/dist/Favorite.js 1.74 kB
packages/icon/dist/Federation.js 2.06 kB
packages/icon/dist/File.js 1.54 kB
packages/icon/dist/Filter.js 1.53 kB
packages/icon/dist/Folder.js 1.43 kB
packages/icon/dist/Format.js 1.86 kB
packages/icon/dist/FullScreenEnter.js 1.69 kB
packages/icon/dist/FullScreenExit.js 1.7 kB
packages/icon/dist/Function.js 2.75 kB
packages/icon/dist/Gauge.js 1.73 kB
packages/icon/dist/GlobeAmericas.js 1.65 kB
packages/icon/dist/GovernmentBuilding.js 1.68 kB
packages/icon/dist/Guide.js 2 kB
packages/icon/dist/Hash.js 1.83 kB
packages/icon/dist/HiddenSecondaryNode.js 3.11 kB
packages/icon/dist/Highlight.js 1.89 kB
packages/icon/dist/Home.js 1.8 kB
packages/icon/dist/HorizontalDrag.js 1.62 kB
packages/icon/dist/Import.js 1.78 kB
packages/icon/dist/ImportantWithCircle.js 1.54 kB
packages/icon/dist/index.js 35.1 kB
packages/icon/dist/InfoWithCircle.js 1.57 kB
packages/icon/dist/InternalEmployee.js 1.87 kB
packages/icon/dist/InviteUser.js 1.88 kB
packages/icon/dist/Key.js 1.68 kB
packages/icon/dist/Laptop.js 1.66 kB
packages/icon/dist/LightningBolt.js 1.54 kB
packages/icon/dist/Link.js 2.05 kB
packages/icon/dist/List.js 1.68 kB
packages/icon/dist/Lock.js 1.63 kB
packages/icon/dist/LogIn.js 1.71 kB
packages/icon/dist/LogOut.js 1.77 kB
packages/icon/dist/MagnifyingGlass.js 1.61 kB
packages/icon/dist/Megaphone.js 1.58 kB
packages/icon/dist/Menu.js 1.49 kB
packages/icon/dist/Minus.js 1.44 kB
packages/icon/dist/Mobile.js 1.44 kB
packages/icon/dist/Moon.js 1.63 kB
packages/icon/dist/MultiDirectionArrow.js 1.66 kB
packages/icon/dist/MultiLayers.js 2.63 kB
packages/icon/dist/NavCollapse.js 1.68 kB
packages/icon/dist/NavExpand.js 1.69 kB
packages/icon/dist/NoFilter.js 1.67 kB
packages/icon/dist/NotAllowed.js 1.55 kB
packages/icon/dist/Note.js 1.59 kB
packages/icon/dist/NumberedList.js 2.5 kB
packages/icon/dist/OpenNewTab.js 1.88 kB
packages/icon/dist/OutlineFavorite.js 2.01 kB
packages/icon/dist/Package.js 1.85 kB
packages/icon/dist/Pause.js 1.49 kB
packages/icon/dist/Pending.js 1.47 kB
packages/icon/dist/Person.js 1.67 kB
packages/icon/dist/PersonGroup.js 1.87 kB
packages/icon/dist/PersonWithLock.js 1.87 kB
packages/icon/dist/Pin.js 1.6 kB
packages/icon/dist/Play.js 1.48 kB
packages/icon/dist/Plus.js 1.5 kB
packages/icon/dist/PlusWithCircle.js 1.53 kB
packages/icon/dist/Primary.js 1.55 kB
packages/icon/dist/Project.js 1.59 kB
packages/icon/dist/QuestionMarkWithCircle.js 1.91 kB
packages/icon/dist/Read.js 2.2 kB
packages/icon/dist/Recommended.js 2.38 kB
packages/icon/dist/Redo.js 1.85 kB
packages/icon/dist/Refresh.js 1.91 kB
packages/icon/dist/Relationship.js 1.6 kB
packages/icon/dist/ReplicaSet.js 1.75 kB
packages/icon/dist/Resize.js 1.57 kB
packages/icon/dist/Resource.js 1.9 kB
packages/icon/dist/Return.js 1.67 kB
packages/icon/dist/Revert.js 1.71 kB
packages/icon/dist/Router.js 2.38 kB
packages/icon/dist/Save.js 2.1 kB
packages/icon/dist/SearchIndex.js 2.24 kB
packages/icon/dist/Secondary.js 1.79 kB
packages/icon/dist/Serverless.js 1.75 kB
packages/icon/dist/Settings.js 2.17 kB
packages/icon/dist/ShardedCluster.js 2.12 kB
packages/icon/dist/Shell.js 1.66 kB
packages/icon/dist/Shield.js 2.1 kB
packages/icon/dist/Shirt.js 1.61 kB
packages/icon/dist/Shortcut.js 2.18 kB
packages/icon/dist/SMS.js 1.62 kB
packages/icon/dist/SortAscending.js 1.7 kB
packages/icon/dist/SortDescending.js 1.7 kB
packages/icon/dist/Sparkle.js 2.03 kB
packages/icon/dist/SplitHorizontal.js 1.47 kB
packages/icon/dist/SplitVertical.js 1.46 kB
packages/icon/dist/Stitch.js 1.5 kB
packages/icon/dist/Stop.js 1.34 kB
packages/icon/dist/Streaming.js 2.5 kB
packages/icon/dist/String.js 1.61 kB
packages/icon/dist/Sun.js 1.82 kB
packages/icon/dist/Support.js 1.7 kB
packages/icon/dist/Sweep.js 1.72 kB
packages/icon/dist/Table.js 1.49 kB
packages/icon/dist/Tag.js 1.52 kB
packages/icon/dist/TemporaryTable.js 1.73 kB
packages/icon/dist/ThumbsDown.js 1.82 kB
packages/icon/dist/ThumbsUp.js 1.81 kB
packages/icon/dist/TimeSeries.js 1.86 kB
packages/icon/dist/TimeSeriesCollection.js 2 kB
packages/icon/dist/Trash.js 1.52 kB
packages/icon/dist/umd/ActivityFeed.js 1.96 kB
packages/icon/dist/umd/AddFile.js 1.73 kB
packages/icon/dist/umd/AIModel.js 1.57 kB
packages/icon/dist/umd/AllProducts.js 1.8 kB
packages/icon/dist/umd/AnalyticsNode.js 1.57 kB
packages/icon/dist/umd/Apps.js 1.4 kB
packages/icon/dist/umd/Array.js 1.52 kB
packages/icon/dist/umd/ArrowDown.js 1.65 kB
packages/icon/dist/umd/ArrowLeft.js 1.66 kB
packages/icon/dist/umd/ArrowRight.js 1.65 kB
packages/icon/dist/umd/ArrowUp.js 1.65 kB
packages/icon/dist/umd/Beaker.js 2.08 kB
packages/icon/dist/umd/Bell.js 1.61 kB
packages/icon/dist/umd/Biometric.js 2.18 kB
packages/icon/dist/umd/Boolean.js 1.45 kB
packages/icon/dist/umd/Building.js 1.6 kB
packages/icon/dist/umd/Bulb.js 1.64 kB
packages/icon/dist/umd/Calendar.js 1.6 kB
packages/icon/dist/umd/Camera.js 1.69 kB
packages/icon/dist/umd/Cap.js 1.81 kB
packages/icon/dist/umd/CaretDown.js 1.47 kB
packages/icon/dist/umd/CaretLeft.js 1.47 kB
packages/icon/dist/umd/CaretRight.js 1.46 kB
packages/icon/dist/umd/CaretUp.js 1.47 kB
packages/icon/dist/umd/ChartFilled.js 1.57 kB
packages/icon/dist/umd/Charts.js 1.54 kB
packages/icon/dist/umd/Checkmark.js 1.61 kB
packages/icon/dist/umd/CheckmarkWithCircle.js 1.68 kB
packages/icon/dist/umd/ChevronDown.js 1.57 kB
packages/icon/dist/umd/ChevronLeft.js 1.57 kB
packages/icon/dist/umd/ChevronRight.js 1.59 kB
packages/icon/dist/umd/ChevronUp.js 1.56 kB
packages/icon/dist/umd/Circle.js 1.34 kB
packages/icon/dist/umd/Clock.js 1.63 kB
packages/icon/dist/umd/ClockWithArrow.js 1.92 kB
packages/icon/dist/umd/Clone.js 1.5 kB
packages/icon/dist/umd/Cloud.js 1.68 kB
packages/icon/dist/umd/Code.js 1.89 kB
packages/icon/dist/umd/CodeBlock.js 1.83 kB
packages/icon/dist/umd/Coin.js 1.94 kB
packages/icon/dist/umd/Colon.js 1.45 kB
packages/icon/dist/umd/Config.js 1.76 kB
packages/icon/dist/umd/Connect.js 1.93 kB
packages/icon/dist/umd/Copy.js 1.88 kB
packages/icon/dist/umd/CreditCard.js 1.43 kB
packages/icon/dist/umd/CurlyBraces.js 2.04 kB
packages/icon/dist/umd/Cursor.js 1.56 kB
packages/icon/dist/umd/Dashboard.js 1.57 kB
packages/icon/dist/umd/Database.js 2.03 kB
packages/icon/dist/umd/Diagram.js 1.65 kB
packages/icon/dist/umd/Diagram2.js 1.66 kB
packages/icon/dist/umd/Diagram3.js 1.63 kB
packages/icon/dist/umd/Disconnect.js 1.87 kB
packages/icon/dist/umd/Download.js 1.79 kB
packages/icon/dist/umd/Drag.js 1.61 kB
packages/icon/dist/umd/Edit.js 1.51 kB
packages/icon/dist/umd/Ellipsis.js 1.49 kB
packages/icon/dist/umd/Email.js 1.71 kB
packages/icon/dist/umd/EmptyDatabase.js 4.31 kB
packages/icon/dist/umd/EmptyFolder.js 2.1 kB
packages/icon/dist/umd/Eraser.js 1.78 kB
packages/icon/dist/umd/Escalation.js 1.68 kB
packages/icon/dist/umd/Export.js 1.78 kB
packages/icon/dist/umd/Favorite.js 1.74 kB
packages/icon/dist/umd/Federation.js 2.06 kB
packages/icon/dist/umd/File.js 1.54 kB
packages/icon/dist/umd/Filter.js 1.53 kB
packages/icon/dist/umd/Folder.js 1.43 kB
packages/icon/dist/umd/Format.js 1.86 kB
packages/icon/dist/umd/FullScreenEnter.js 1.69 kB
packages/icon/dist/umd/FullScreenExit.js 1.7 kB
packages/icon/dist/umd/Function.js 2.75 kB
packages/icon/dist/umd/Gauge.js 1.73 kB
packages/icon/dist/umd/GlobeAmericas.js 1.65 kB
packages/icon/dist/umd/GovernmentBuilding.js 1.68 kB
packages/icon/dist/umd/Guide.js 2 kB
packages/icon/dist/umd/Hash.js 1.83 kB
packages/icon/dist/umd/HiddenSecondaryNode.js 3.11 kB
packages/icon/dist/umd/Highlight.js 1.89 kB
packages/icon/dist/umd/Home.js 1.8 kB
packages/icon/dist/umd/HorizontalDrag.js 1.62 kB
packages/icon/dist/umd/Import.js 1.78 kB
packages/icon/dist/umd/ImportantWithCircle.js 1.54 kB
packages/icon/dist/umd/index.js 35.1 kB
packages/icon/dist/umd/InfoWithCircle.js 1.57 kB
packages/icon/dist/umd/InternalEmployee.js 1.87 kB
packages/icon/dist/umd/InviteUser.js 1.88 kB
packages/icon/dist/umd/Key.js 1.68 kB
packages/icon/dist/umd/Laptop.js 1.66 kB
packages/icon/dist/umd/LightningBolt.js 1.54 kB
packages/icon/dist/umd/Link.js 2.05 kB
packages/icon/dist/umd/List.js 1.68 kB
packages/icon/dist/umd/Lock.js 1.63 kB
packages/icon/dist/umd/LogIn.js 1.71 kB
packages/icon/dist/umd/LogOut.js 1.77 kB
packages/icon/dist/umd/MagnifyingGlass.js 1.61 kB
packages/icon/dist/umd/Megaphone.js 1.58 kB
packages/icon/dist/umd/Menu.js 1.49 kB
packages/icon/dist/umd/Minus.js 1.44 kB
packages/icon/dist/umd/Mobile.js 1.44 kB
packages/icon/dist/umd/Moon.js 1.63 kB
packages/icon/dist/umd/MultiDirectionArrow.js 1.66 kB
packages/icon/dist/umd/MultiLayers.js 2.63 kB
packages/icon/dist/umd/NavCollapse.js 1.68 kB
packages/icon/dist/umd/NavExpand.js 1.69 kB
packages/icon/dist/umd/NoFilter.js 1.67 kB
packages/icon/dist/umd/NotAllowed.js 1.55 kB
packages/icon/dist/umd/Note.js 1.59 kB
packages/icon/dist/umd/NumberedList.js 2.5 kB
packages/icon/dist/umd/OpenNewTab.js 1.88 kB
packages/icon/dist/umd/OutlineFavorite.js 2.01 kB
packages/icon/dist/umd/Package.js 1.85 kB
packages/icon/dist/umd/Pause.js 1.49 kB
packages/icon/dist/umd/Pending.js 1.47 kB
packages/icon/dist/umd/Person.js 1.67 kB
packages/icon/dist/umd/PersonGroup.js 1.87 kB
packages/icon/dist/umd/PersonWithLock.js 1.87 kB
packages/icon/dist/umd/Pin.js 1.6 kB
packages/icon/dist/umd/Play.js 1.48 kB
packages/icon/dist/umd/Plus.js 1.5 kB
packages/icon/dist/umd/PlusWithCircle.js 1.53 kB
packages/icon/dist/umd/Primary.js 1.55 kB
packages/icon/dist/umd/Project.js 1.59 kB
packages/icon/dist/umd/QuestionMarkWithCircle.js 1.91 kB
packages/icon/dist/umd/Read.js 2.2 kB
packages/icon/dist/umd/Recommended.js 2.38 kB
packages/icon/dist/umd/Redo.js 1.85 kB
packages/icon/dist/umd/Refresh.js 1.91 kB
packages/icon/dist/umd/Relationship.js 1.6 kB
packages/icon/dist/umd/ReplicaSet.js 1.75 kB
packages/icon/dist/umd/Resize.js 1.57 kB
packages/icon/dist/umd/Resource.js 1.9 kB
packages/icon/dist/umd/Return.js 1.67 kB
packages/icon/dist/umd/Revert.js 1.71 kB
packages/icon/dist/umd/Router.js 2.38 kB
packages/icon/dist/umd/Save.js 2.1 kB
packages/icon/dist/umd/SearchIndex.js 2.24 kB
packages/icon/dist/umd/Secondary.js 1.79 kB
packages/icon/dist/umd/Serverless.js 1.75 kB
packages/icon/dist/umd/Settings.js 2.17 kB
packages/icon/dist/umd/ShardedCluster.js 2.12 kB
packages/icon/dist/umd/Shell.js 1.66 kB
packages/icon/dist/umd/Shield.js 2.1 kB
packages/icon/dist/umd/Shirt.js 1.61 kB
packages/icon/dist/umd/Shortcut.js 2.18 kB
packages/icon/dist/umd/SMS.js 1.62 kB
packages/icon/dist/umd/SortAscending.js 1.7 kB
packages/icon/dist/umd/SortDescending.js 1.7 kB
packages/icon/dist/umd/Sparkle.js 2.03 kB
packages/icon/dist/umd/SplitHorizontal.js 1.47 kB
packages/icon/dist/umd/SplitVertical.js 1.46 kB
packages/icon/dist/umd/Stitch.js 1.5 kB
packages/icon/dist/umd/Stop.js 1.34 kB
packages/icon/dist/umd/Streaming.js 2.5 kB
packages/icon/dist/umd/String.js 1.61 kB
packages/icon/dist/umd/Sun.js 1.82 kB
packages/icon/dist/umd/Support.js 1.7 kB
packages/icon/dist/umd/Sweep.js 1.72 kB
packages/icon/dist/umd/Table.js 1.49 kB
packages/icon/dist/umd/Tag.js 1.52 kB
packages/icon/dist/umd/TemporaryTable.js 1.73 kB
packages/icon/dist/umd/ThumbsDown.js 1.82 kB
packages/icon/dist/umd/ThumbsUp.js 1.81 kB
packages/icon/dist/umd/TimeSeries.js 1.86 kB
packages/icon/dist/umd/TimeSeriesCollection.js 2 kB
packages/icon/dist/umd/Trash.js 1.52 kB
packages/icon/dist/umd/Undo.js 1.84 kB
packages/icon/dist/umd/University.js 2.03 kB
packages/icon/dist/umd/Unlock.js 1.71 kB
packages/icon/dist/umd/Unsorted.js 1.75 kB
packages/icon/dist/umd/UpDownCarets.js 1.59 kB
packages/icon/dist/umd/Upload.js 1.8 kB
packages/icon/dist/umd/VerticalEllipsis.js 1.5 kB
packages/icon/dist/umd/View.js 1.65 kB
packages/icon/dist/umd/Visibility.js 1.82 kB
packages/icon/dist/umd/VisibilityOff.js 2.23 kB
packages/icon/dist/umd/Warning.js 1.59 kB
packages/icon/dist/umd/Wizard.js 1.94 kB
packages/icon/dist/umd/Wrench.js 1.93 kB
packages/icon/dist/umd/Write.js 2.21 kB
packages/icon/dist/umd/X.js 1.63 kB
packages/icon/dist/umd/XWithCircle.js 1.57 kB
packages/icon/dist/Undo.js 1.84 kB
packages/icon/dist/University.js 2.03 kB
packages/icon/dist/Unlock.js 1.71 kB
packages/icon/dist/Unsorted.js 1.75 kB
packages/icon/dist/UpDownCarets.js 1.59 kB
packages/icon/dist/Upload.js 1.8 kB
packages/icon/dist/VerticalEllipsis.js 1.5 kB
packages/icon/dist/View.js 1.65 kB
packages/icon/dist/Visibility.js 1.82 kB
packages/icon/dist/VisibilityOff.js 2.23 kB
packages/icon/dist/Warning.js 1.59 kB
packages/icon/dist/Wizard.js 1.94 kB
packages/icon/dist/Wrench.js 1.93 kB
packages/icon/dist/Write.js 2.21 kB
packages/icon/dist/X.js 1.63 kB
packages/icon/dist/XWithCircle.js 1.57 kB
packages/info-sprinkle/dist/esm/index.js 1.83 kB
packages/info-sprinkle/dist/umd/index.js 2.03 kB
packages/inline-definition/dist/esm/index.js 1.7 kB
packages/inline-definition/dist/umd/index.js 1.85 kB
packages/input-option/dist/esm/index.js 2.67 kB
packages/input-option/dist/umd/index.js 2.81 kB
packages/leafygreen-provider/dist/esm/index.js 1.87 kB
packages/leafygreen-provider/dist/umd/index.js 2.03 kB
packages/lib/dist/esm/index.js 2.86 kB
packages/lib/dist/umd/index.js 3.02 kB
packages/loading-indicator/dist/esm/index.js 3.39 kB
packages/loading-indicator/dist/umd/index.js 3.55 kB
packages/logo/dist/esm/index.js 39 kB
packages/logo/dist/umd/index.js 39.3 kB
packages/marketing-modal/dist/esm/index.js 3.55 kB
packages/marketing-modal/dist/umd/index.js 3.74 kB
packages/menu/dist/esm/index.js 8.14 kB
packages/menu/dist/umd/index.js 8.4 kB
packages/modal/dist/esm/index.js 3.39 kB
packages/modal/dist/umd/index.js 3.61 kB
packages/number-input/dist/esm/index.js 5.68 kB
packages/number-input/dist/umd/index.js 5.86 kB
packages/ordered-list/dist/esm/index.js 1.33 kB
packages/ordered-list/dist/umd/index.js 1.5 kB
packages/pagination/dist/esm/index.js 1.68 kB
packages/pagination/dist/umd/index.js 1.9 kB
packages/palette/dist/esm/index.js 411 B
packages/palette/dist/umd/index.js 561 B
packages/password-input/dist/esm/index.js 4.54 kB
packages/password-input/dist/umd/index.js 4.75 kB
packages/pipeline/dist/esm/index.js 7.85 kB
packages/pipeline/dist/umd/index.js 8.11 kB
packages/polymorphic/dist/esm/index.js 1.27 kB
packages/polymorphic/dist/umd/index.js 1.4 kB
packages/popover/dist/esm/index.js 4.98 kB
packages/popover/dist/umd/index.js 5.14 kB
packages/portal/dist/esm/index.js 919 B
packages/portal/dist/umd/index.js 1.08 kB
packages/preview-card/dist/esm/index.js 2.35 kB
packages/preview-card/dist/esm/testing/index.js 2.67 kB
packages/preview-card/dist/umd/index.js 2.49 kB
packages/preview-card/dist/umd/testing/index.js 2.81 kB
packages/progress-bar/dist/esm/index.js 5.54 kB
packages/progress-bar/dist/esm/testing/index.js 507 B
packages/progress-bar/dist/umd/index.js 5.77 kB
packages/progress-bar/dist/umd/testing/index.js 630 B
packages/radio-box-group/dist/esm/index.js 2.87 kB
packages/radio-box-group/dist/umd/index.js 2.99 kB
packages/radio-group/dist/esm/index.js 3.25 kB
packages/radio-group/dist/umd/index.js 3.39 kB
packages/resizable/dist/esm/index.js 2.48 kB
packages/resizable/dist/umd/index.js 2.57 kB
packages/ripple/dist/esm/index.js 954 B
packages/ripple/dist/umd/index.js 1.05 kB
packages/search-input/dist/esm/index.js 5.9 kB
packages/search-input/dist/umd/index.js 6.12 kB
packages/section-nav/dist/esm/index.js 2.62 kB
packages/section-nav/dist/esm/testing/index.js 2.85 kB
packages/section-nav/dist/umd/index.js 2.76 kB
packages/section-nav/dist/umd/testing/index.js 3.02 kB
packages/segmented-control/dist/esm/index.js 5.44 kB
packages/segmented-control/dist/umd/index.js 5.58 kB
packages/select/dist/esm/index.js 8.53 kB
packages/select/dist/esm/testing/index.js 698 B
packages/select/dist/umd/index.js 8.75 kB
packages/select/dist/umd/testing/index.js 831 B
packages/side-nav/dist/esm/index.js 7.47 kB
packages/side-nav/dist/umd/index.js 7.72 kB
packages/skeleton-loader/dist/esm/index.js 3.19 kB
packages/skeleton-loader/dist/umd/index.js 3.39 kB
packages/split-button/dist/esm/index.js 3.56 kB
packages/split-button/dist/umd/index.js 3.72 kB
packages/stepper/dist/esm/index.js 3.47 kB
packages/stepper/dist/umd/index.js 3.68 kB
packages/table/dist/esm/index.js 8.05 kB
packages/table/dist/esm/testing/index.js 694 B
packages/table/dist/umd/index.js 8.31 kB
packages/table/dist/umd/testing/index.js 809 B
packages/tabs/dist/esm/index.js 5.14 kB
packages/tabs/dist/esm/testing/index.js 597 B
packages/tabs/dist/umd/index.js 5.28 kB
packages/tabs/dist/umd/testing/index.js 713 B
packages/testing-lib/dist/esm/index.js 3.31 kB
packages/testing-lib/dist/umd/index.js 3.53 kB
packages/testing-lib/dist/umd/renderHookServer.js 590 B
packages/testing-lib/dist/umd/renderHookServerV17.js 386 B
packages/text-area/dist/esm/index.js 2.19 kB
packages/text-area/dist/esm/testing/index.js 466 B
packages/text-area/dist/umd/index.js 2.35 kB
packages/text-area/dist/umd/testing/index.js 597 B
packages/text-input/dist/esm/index.js 2.5 kB
packages/text-input/dist/esm/testing/index.js 463 B
packages/text-input/dist/umd/index.js 2.67 kB
packages/text-input/dist/umd/testing/index.js 593 B
packages/toast/dist/esm/index.js 8.22 kB
packages/toast/dist/umd/index.js 8.51 kB
packages/toggle/dist/esm/index.js 3 kB
packages/toggle/dist/esm/testing/index.js 276 B
packages/toggle/dist/umd/index.js 3.18 kB
packages/toggle/dist/umd/testing/index.js 403 B
packages/tokens/dist/esm/index.js 2.77 kB
packages/tokens/dist/umd/index.js 2.88 kB
packages/toolbar/dist/esm/index.js 3.24 kB
packages/toolbar/dist/esm/testing/index.js 527 B
packages/toolbar/dist/umd/index.js 3.36 kB
packages/toolbar/dist/umd/testing/index.js 638 B
packages/tooltip/dist/esm/index.js 4.35 kB
packages/tooltip/dist/umd/index.js 4.63 kB
packages/typography/dist/esm/index.js 5.81 kB
packages/typography/dist/umd/index.js 5.95 kB
tools/build/dist/esm/index.js 6.2 kB
tools/build/dist/umd/cli.js 6.55 kB
tools/build/dist/umd/index.js 6.49 kB
tools/cli/dist/esm/index.js 2.33 kB
tools/cli/dist/umd/index.js 2.49 kB
tools/codemods/dist/_virtual/_rollupPluginBabelHelpers.js 936 B
tools/codemods/dist/codemods/popover-v12/transform.js 1.1 kB
tools/codemods/dist/codemods/tabs-v17/transform.js 368 B
tools/codemods/dist/constants.js 148 B
tools/codemods/dist/esm/_virtual/_rollupPluginBabelHelpers.mjs 928 B
tools/codemods/dist/esm/codemods/popover-v12/transform.mjs 1.09 kB
tools/codemods/dist/esm/codemods/tabs-v17/transform.mjs 366 B
tools/codemods/dist/esm/constants.mjs 148 B
tools/codemods/dist/esm/index.js 3.35 kB
tools/codemods/dist/esm/types.mjs 765 B
tools/codemods/dist/esm/utils/imports/getImportSpecifiersForDeclaration.mjs 280 B
tools/codemods/dist/esm/utils/jsx/getJSXAttributes.mjs 160 B
tools/codemods/dist/esm/utils/jsx/insertJSXComment/insertJSXComment.mjs 369 B
tools/codemods/dist/esm/utils/transformations/addJSXAttributes/addJSXAttributes.mjs 412 B
tools/codemods/dist/esm/utils/transformations/consolidateJSXAttributes/consolidateJSXAttributes.mjs 665 B
tools/codemods/dist/esm/utils/transformations/removeJSXAttributes/removeJSXAttributes.mjs 360 B
tools/codemods/dist/esm/utils/transformations/replaceJSXAttributes/replaceJSXAttributes.mjs 278 B
tools/codemods/dist/types.js 765 B
tools/codemods/dist/umd/index.js 3.6 kB
tools/codemods/dist/utils/imports/getImportSpecifiersForDeclaration.js 283 B
tools/codemods/dist/utils/jsx/getJSXAttributes.js 164 B
tools/codemods/dist/utils/jsx/insertJSXComment/insertJSXComment.js 371 B
tools/codemods/dist/utils/transformations/addJSXAttributes/addJSXAttributes.js 410 B
tools/codemods/dist/utils/transformations/consolidateJSXAttributes/consolidateJSXAttributes.js 664 B
tools/codemods/dist/utils/transformations/removeJSXAttributes/removeJSXAttributes.js 364 B
tools/codemods/dist/utils/transformations/replaceJSXAttributes/replaceJSXAttributes.js 282 B
tools/create/dist/esm/index.js 4.01 kB
tools/create/dist/umd/index.js 4.18 kB
tools/install/dist/esm/index.js 2.18 kB
tools/install/dist/umd/index.js 2.33 kB
tools/link/dist/esm/index.js 3.79 kB
tools/link/dist/umd/index.js 3.9 kB
tools/lint/dist/esm/index.js 4.11 kB
tools/lint/dist/umd/index.js 4.25 kB
tools/meta/dist/esm/index.js 1.71 kB
tools/meta/dist/umd/index.js 1.85 kB
tools/prompt-kit/dist/esm/index.js 2.27 kB
tools/prompt-kit/dist/umd/index.js 2.41 kB
tools/slackbot/dist/esm/index.js 4.8 kB
tools/slackbot/dist/umd/index.js 4.96 kB
tools/storybook-addon/dist/esm/index.js 2.22 kB
tools/storybook-addon/dist/esm/main.js 2.22 kB
tools/storybook-addon/dist/esm/manager.js 554 B
tools/storybook-addon/dist/esm/preview.js 1.69 kB
tools/storybook-addon/dist/umd/index.js 2.33 kB
tools/storybook-addon/dist/umd/main.js 2.33 kB
tools/storybook-addon/dist/umd/manager.js 685 B
tools/storybook-addon/dist/umd/preview.js 1.8 kB
tools/storybook-decorators/dist/esm/index.js 3.28 kB
tools/storybook-decorators/dist/umd/index.js 3.56 kB
tools/storybook-utils/dist/esm/index.js 2.77 kB
tools/storybook-utils/dist/umd/index.js 2.9 kB
tools/test-harnesses/dist/esm/index.js 1.78 kB
tools/test-harnesses/dist/umd/index.js 1.91 kB
tools/test/dist/esm/index.js 1.68 kB
tools/test/dist/umd/index.js 1.81 kB
tools/update/dist/esm/index.js 725 B
tools/update/dist/umd/index.js 885 B
tools/validate/dist/esm/index.js 5.75 kB
tools/validate/dist/umd/index.js 5.98 kB

compressed-size-action

@tsck tsck changed the title [LG-5094] feat(code-editor): Toolbar pr 3 - add Panel component support to code editor [LG-5094] feat(code-editor): Toolbar pt 3 - add panel component for toolbar functionality Aug 15, 2025
@tsck tsck requested a review from stephl3 August 15, 2025 19:57
@tsck tsck marked this pull request as ready for review August 15, 2025 19:58
@tsck tsck requested a review from a team as a code owner August 15, 2025 19:58
@tsck
Copy link
Collaborator Author

tsck commented Aug 15, 2025

@stephl3 This is the Panel addition that uses the copy button. Note that this is based off of LG-5444/ce-add-copy-to-editor and not main as a part of this long chain of PR's to ultimately go into the integration branch. I'll rebase as needed as things get merged.

@tsck tsck changed the title [LG-5094] feat(code-editor): Toolbar pt 3 - add panel component for toolbar functionality [LG-5094] feat(code-editor): add panel component for toolbar functionality Aug 15, 2025
@tsck tsck force-pushed the LG-5444/ce-add-copy-to-editor branch from 56431be to e269262 Compare August 18, 2025 23:38
@tsck tsck force-pushed the LG-5094/cs-toolbar-panel branch from 074df77 to d6954a5 Compare August 18, 2025 23:40
@tsck tsck force-pushed the LG-5444/ce-add-copy-to-editor branch from a7dfb6a to 0f31a2c Compare August 19, 2025 00:22
| `placeholder` _(optional)_ | Value to display in the editor when it is empty. | `HTMLElement \| string` | `undefined` |
| `readOnly` _(optional)_ | Enables read only mode, making the contents uneditable. | `boolean` | `false` |
| `tooltips` _(optional)_ | Add tooltips to the editor content that appear on hover. | `Array<CodeEditorTooltip>` | `undefined` |
| `value` _(optional)_ | Controlled value of the editor. If set, the editor will be controlled and will not update its value on change. Use `onChange` to update the value externally. | `string` | `undefined` |
| `width` _(optional)_ | Sets the editor's width. If not set, the editor will be 100% width of its parent container. | `string` | `undefined` |

### `<Panel>`

The Panel component provides a toolbar interface for the CodeEditor with formatting, copying, and custom action buttons. It displays at the top of the CodeEditor and can include a title, action buttons, and custom content.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what do you think about adding a note about what functionality is provided out-of-the-box vs what consumers will need to implement?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

actually, will all of these actions be supported out-of-the-box? (I might be incorrectly assuming based off of having only reviewed copy)

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yup, all of these actions will be provided! Only added secondary actions won't be.

/**
* Text label for the button that will be displayed in the menu item.
*/
label: string;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what's the reason for using a separate prop vs using children which is on MenuItemProps? If not using children, I think we should Omit it

* Configuration object for custom secondary buttons that appear in the Panel's secondary menu.
* Extends MenuItemProps to inherit all MenuItem functionality while adding required label.
*/
type SecondaryButtonConfig = MenuItemProps & {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is it necessary to include some of these props? looks like some are already part of MenuItemProps

* Optional title text to display in the panel header.
* Typically used to show the current language or content description.
*/
title?: string;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

any reason not to use ReactNode?

background-color: ${color[theme].background[Variant.Secondary][
InteractionState.Default
]};
height: 36px;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: looks like a magic number worth turning into constant

display: flex;
align-items: center;
justify-content: space-between;
padding: 0 16px 0 10px;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tokens?


export const getPanelInnerContentStyles = () => {
return css`
grid-area: children;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hmm I see that this grid-area isn't necessary anyways, but I'd still hesitate on naming this children to avoid creating confusion between innerContent vs children

Base automatically changed from LG-5444/ce-add-copy-to-editor to integration/code-editor August 19, 2025 01:18
tsck added 15 commits August 18, 2025 21:25
- Introduced `copyButtonAppearance` prop to control the visibility of the copy button in the CodeEditor.
- Implemented styles for different copy button appearances: 'hover', 'persist', and 'none'.
- Updated tests to verify the rendering behavior of the copy button based on the new prop.
- Refactored CodeEditor component to integrate the new copy button functionality and ensure proper rendering based on user interactions.
- Eliminated the unused `copyButtonClassName` import to clean up the code and improve maintainability.
- Introduced a new `CodeEditorContext` to provide internal context values to child components, enhancing state management within the CodeEditor.
- Implemented `CodeEditorProvider` for context provisioning and `useCodeEditorContext` hook for easy access to context values.
- This addition supports better organization and encapsulation of editor-related functionalities.
…tionality

- Added a new `Panel` component to the CodeEditor, providing a toolbar interface with options for formatting, copying, and custom actions.
- Integrated the `Panel` into the CodeEditor, allowing for a customizable user experience with buttons for common actions like undo, redo, and download.
- Updated the README to include documentation for the new `Panel` component and its properties.
- Enhanced TypeScript definitions to support the new component and its props.
- Included storybook examples to demonstrate the usage of the `Panel` component.
- Updated the Panel component to set `renderDarkMenu` to false, ensuring the dark menu is not rendered.
- This change improves the consistency of the user interface in light mode.
…nctionality

- Added the `Panel` component to the `CodeEditor`, allowing for a customizable toolbar with options for formatting, copying, and additional actions.
- Updated `CodeEditor` to accept a `panel` prop, enabling the rendering of the `Panel` within the editor.
- Enhanced TypeScript definitions to support the new `panel` prop and its interaction with the `copyButtonAppearance` prop.
- Modified styling in `useThemeExtension` to accommodate the new panel layout.
- Removed the `Panel.stories.tsx` file as part of the integration process.
…d consistency

- Rearranged the props in both `CodeEditor` and `Panel` components for better readability and logical grouping.
- Ensured that related props are positioned together, enhancing the overall structure of the components.
- Maintained existing functionality while improving the code organization.
- Added documentation for the optional `panel` prop in the CodeEditor, which allows rendering a toolbar interface at the top of the editor.
- Provided a description of the `Panel` component's functionality and its available options, enhancing the clarity of the README.
…nality

- Introduced a new test suite for the Panel component, covering various aspects including rendering, button functionality, and accessibility.
- Implemented tests for the format, copy, and secondary menu buttons, ensuring they behave as expected when interacted with.
- Verified the integration with the CodeEditor context and confirmed proper handling of props like `showFormatButton`, `showCopyButton`, and custom secondary buttons.
- Included tests for edge cases, such as handling undefined callback functions and empty custom button arrays, to enhance robustness.
…lify styles

- Introduced a new `getIconFill` function to dynamically determine the icon fill color based on the theme and copied state.
- Simplified the CSS styles for the copy button by removing redundant selectors and consolidating transition properties.
- Updated the `CopyButtonTrigger` component to accept an `iconFill` prop, allowing for more flexible icon color management.
- Updated the `CodeEditor` component to rename the `getContents` prop to `getContentsToCopy`, improving clarity regarding its functionality.
- Ensured consistency with the recent changes in the `CodeEditorCopyButton` component.
- Introduced `copyButtonAppearance` prop to control the visibility of the copy button in the CodeEditor.
- Implemented styles for different copy button appearances: 'hover', 'persist', and 'none'.
- Updated tests to verify the rendering behavior of the copy button based on the new prop.
- Refactored CodeEditor component to integrate the new copy button functionality and ensure proper rendering based on user interactions.
- Eliminated the unused `copyButtonClassName` import to clean up the code and improve maintainability.
tsck added 2 commits August 18, 2025 21:31
- Updated the `getContents` prop in the `CodeEditorCopyButton` to `getContentsToCopy` for improved clarity regarding its purpose.
- This change aligns with recent naming conventions and enhances the overall consistency of the CodeEditor component.
- Introduced a new section in the README for `SecondaryButtonConfig`, detailing its properties including `aria-label`, `glyph`, `href`, `label`, and `onClick`.
- This addition enhances documentation clarity and provides developers with comprehensive information on configuring secondary buttons in the CodeEditor component.
@tsck tsck force-pushed the LG-5094/cs-toolbar-panel branch from 8c1d196 to cb12287 Compare August 19, 2025 01:31
- Changed the accessibility label for the copy button in tests from 'Copy text' to 'Copy' to align with the actual implementation.
- Updated related test cases to ensure consistency and accuracy in verifying the copy button's presence and functionality.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants