Skip to content
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

Proposal: Change styles structure #2160

Merged
merged 8 commits into from
Jan 25, 2024

Conversation

spark33
Copy link
Contributor

@spark33 spark33 commented Jan 9, 2024

✍️ Proposed changes

This PR is a set of proposed edits to #2150.

Several things to note -

  1. I noticed the LiveExample was breaking if renderedContext === "form" && actionType === "destructive". I've restricted this from breaking the component and updated the LiveExample to still be interactive with both renderedContext values.
  2. I've tried to migrate the styles over to something more DRY and readable - about halves the lines of style code.
  3. I noticed the values overrideHoverBgColor were identical to the values defined in themes.ts, so there wasn't really an override going on? If that just needed new values, we can change them, but I've removed them for now.

Copy link

changeset-bot bot commented Jan 9, 2024

⚠️ No Changeset found

Latest commit: e343310

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

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

Copy link
Contributor

github-actions bot commented Jan 9, 2024

Size Change: -174 B (0%)

Total Size: 1.23 MB

Filename Size Change
packages/input-option/dist/esm/index.js 2.93 kB -96 B (-3%)
packages/input-option/dist/index.js 3.11 kB -78 B (-2%)
ℹ️ View Unchanged
Filename Size
packages/a11y/dist/esm/index.js 1.78 kB
packages/a11y/dist/index.js 1.91 kB
packages/badge/dist/esm/index.js 1.51 kB
packages/badge/dist/index.js 1.7 kB
packages/banner/dist/esm/index.js 3.27 kB
packages/banner/dist/index.js 3.57 kB
packages/box/dist/esm/index.js 539 B
packages/box/dist/index.js 696 B
packages/button/dist/esm/index.js 5.01 kB
packages/button/dist/index.js 5.24 kB
packages/callout/dist/esm/index.js 2.72 kB
packages/callout/dist/index.js 2.99 kB
packages/card/dist/esm/index.js 1.53 kB
packages/card/dist/index.js 1.74 kB
packages/checkbox/dist/esm/index.js 4.08 kB
packages/checkbox/dist/index.js 4.26 kB
packages/chip/dist/esm/index.js 3.22 kB
packages/chip/dist/index.js 3.44 kB
packages/code/dist/esm/index.js 9.32 kB
packages/code/dist/index.js 9.94 kB
packages/combobox/dist/esm/index.js 12.1 kB
packages/combobox/dist/index.js 12.3 kB
packages/confirmation-modal/dist/esm/index.js 2.4 kB
packages/confirmation-modal/dist/index.js 2.65 kB
packages/copyable/dist/esm/index.js 2.93 kB
packages/copyable/dist/index.js 3.13 kB
packages/date-picker/dist/esm/index.js 13.9 kB
packages/date-picker/dist/index.js 14.2 kB
packages/date-utils/dist/esm/index.js 3.44 kB
packages/date-utils/dist/index.js 3.53 kB
packages/emotion/dist/esm/index.js 338 B
packages/emotion/dist/index.js 554 B
packages/empty-state/dist/esm/index.js 1.82 kB
packages/empty-state/dist/index.js 2.01 kB
packages/expandable-card/dist/esm/index.js 2.84 kB
packages/expandable-card/dist/index.js 3.03 kB
packages/form-field/dist/esm/index.js 3.89 kB
packages/form-field/dist/index.js 4.07 kB
packages/form-footer/dist/esm/index.js 1.58 kB
packages/form-footer/dist/index.js 1.77 kB
packages/guide-cue/dist/esm/index.js 4.36 kB
packages/guide-cue/dist/index.js 4.6 kB
packages/hooks/dist/esm/index.js 3.29 kB
packages/hooks/dist/index.js 3.42 kB
packages/icon-button/dist/esm/index.js 2.42 kB
packages/icon-button/dist/index.js 2.64 kB
packages/icon/dist/ActivityFeed.js 2.04 kB
packages/icon/dist/AddFile.js 1.82 kB
packages/icon/dist/AllProducts.js 1.89 kB
packages/icon/dist/Apps.js 1.5 kB
packages/icon/dist/Array.js 1.61 kB
packages/icon/dist/ArrowDown.js 1.74 kB
packages/icon/dist/ArrowLeft.js 1.74 kB
packages/icon/dist/ArrowRight.js 1.74 kB
packages/icon/dist/ArrowUp.js 1.73 kB
packages/icon/dist/Beaker.js 2.16 kB
packages/icon/dist/Bell.js 1.71 kB
packages/icon/dist/Biometric.js 2.26 kB
packages/icon/dist/Boolean.js 1.54 kB
packages/icon/dist/Building.js 1.69 kB
packages/icon/dist/Bulb.js 1.73 kB
packages/icon/dist/Calendar.js 1.69 kB
packages/icon/dist/Camera.js 1.78 kB
packages/icon/dist/Cap.js 1.9 kB
packages/icon/dist/CaretDown.js 1.56 kB
packages/icon/dist/CaretLeft.js 1.57 kB
packages/icon/dist/CaretRight.js 1.56 kB
packages/icon/dist/CaretUp.js 1.56 kB
packages/icon/dist/ChartFilled.js 1.66 kB
packages/icon/dist/Charts.js 1.64 kB
packages/icon/dist/Checkmark.js 1.7 kB
packages/icon/dist/CheckmarkWithCircle.js 1.76 kB
packages/icon/dist/ChevronDown.js 1.67 kB
packages/icon/dist/ChevronLeft.js 1.67 kB
packages/icon/dist/ChevronRight.js 1.68 kB
packages/icon/dist/ChevronUp.js 1.67 kB
packages/icon/dist/Clock.js 1.72 kB
packages/icon/dist/ClockWithArrow.js 1.99 kB
packages/icon/dist/Clone.js 1.6 kB
packages/icon/dist/Cloud.js 1.77 kB
packages/icon/dist/Code.js 1.97 kB
packages/icon/dist/CodeBlock.js 1.91 kB
packages/icon/dist/Colon.js 1.55 kB
packages/icon/dist/Connect.js 2.02 kB
packages/icon/dist/Copy.js 1.96 kB
packages/icon/dist/CreditCard.js 1.53 kB
packages/icon/dist/CurlyBraces.js 2.12 kB
packages/icon/dist/Cursor.js 1.65 kB
packages/icon/dist/Dashboard.js 1.59 kB
packages/icon/dist/Database.js 2.11 kB
packages/icon/dist/Diagram.js 1.74 kB
packages/icon/dist/Diagram2.js 1.74 kB
packages/icon/dist/Diagram3.js 1.72 kB
packages/icon/dist/Disconnect.js 1.95 kB
packages/icon/dist/Download.js 1.75 kB
packages/icon/dist/Drag.js 1.7 kB
packages/icon/dist/Edit.js 1.61 kB
packages/icon/dist/Ellipsis.js 1.59 kB
packages/icon/dist/Email.js 1.79 kB
packages/icon/dist/esm/ActivityFeed.js 1.82 kB
packages/icon/dist/esm/AddFile.js 1.59 kB
packages/icon/dist/esm/AllProducts.js 1.68 kB
packages/icon/dist/esm/Apps.js 1.28 kB
packages/icon/dist/esm/Array.js 1.39 kB
packages/icon/dist/esm/ArrowDown.js 1.51 kB
packages/icon/dist/esm/ArrowLeft.js 1.52 kB
packages/icon/dist/esm/ArrowRight.js 1.51 kB
packages/icon/dist/esm/ArrowUp.js 1.51 kB
packages/icon/dist/esm/Beaker.js 1.94 kB
packages/icon/dist/esm/Bell.js 1.48 kB
packages/icon/dist/esm/Biometric.js 2.03 kB
packages/icon/dist/esm/Boolean.js 1.32 kB
packages/icon/dist/esm/Building.js 1.47 kB
packages/icon/dist/esm/Bulb.js 1.5 kB
packages/icon/dist/esm/Calendar.js 1.47 kB
packages/icon/dist/esm/Camera.js 1.55 kB
packages/icon/dist/esm/Cap.js 1.67 kB
packages/icon/dist/esm/CaretDown.js 1.34 kB
packages/icon/dist/esm/CaretLeft.js 1.34 kB
packages/icon/dist/esm/CaretRight.js 1.34 kB
packages/icon/dist/esm/CaretUp.js 1.34 kB
packages/icon/dist/esm/ChartFilled.js 1.44 kB
packages/icon/dist/esm/Charts.js 1.42 kB
packages/icon/dist/esm/Checkmark.js 1.48 kB
packages/icon/dist/esm/CheckmarkWithCircle.js 1.54 kB
packages/icon/dist/esm/ChevronDown.js 1.45 kB
packages/icon/dist/esm/ChevronLeft.js 1.44 kB
packages/icon/dist/esm/ChevronRight.js 1.45 kB
packages/icon/dist/esm/ChevronUp.js 1.44 kB
packages/icon/dist/esm/Clock.js 1.5 kB
packages/icon/dist/esm/ClockWithArrow.js 1.77 kB
packages/icon/dist/esm/Clone.js 1.37 kB
packages/icon/dist/esm/Cloud.js 1.55 kB
packages/icon/dist/esm/Code.js 1.74 kB
packages/icon/dist/esm/CodeBlock.js 1.68 kB
packages/icon/dist/esm/Colon.js 1.33 kB
packages/icon/dist/esm/Connect.js 1.79 kB
packages/icon/dist/esm/Copy.js 1.73 kB
packages/icon/dist/esm/CreditCard.js 1.3 kB
packages/icon/dist/esm/CurlyBraces.js 1.89 kB
packages/icon/dist/esm/Cursor.js 1.43 kB
packages/icon/dist/esm/Dashboard.js 1.37 kB
packages/icon/dist/esm/Database.js 1.88 kB
packages/icon/dist/esm/Diagram.js 1.51 kB
packages/icon/dist/esm/Diagram2.js 1.52 kB
packages/icon/dist/esm/Diagram3.js 1.5 kB
packages/icon/dist/esm/Disconnect.js 1.73 kB
packages/icon/dist/esm/Download.js 1.53 kB
packages/icon/dist/esm/Drag.js 1.48 kB
packages/icon/dist/esm/Edit.js 1.39 kB
packages/icon/dist/esm/Ellipsis.js 1.37 kB
packages/icon/dist/esm/Email.js 1.57 kB
packages/icon/dist/esm/Export.js 1.64 kB
packages/icon/dist/esm/Favorite.js 1.6 kB
packages/icon/dist/esm/Federation.js 1.54 kB
packages/icon/dist/esm/File.js 1.41 kB
packages/icon/dist/esm/Filter.js 1.39 kB
packages/icon/dist/esm/Folder.js 1.31 kB
packages/icon/dist/esm/FullScreenEnter.js 1.56 kB
packages/icon/dist/esm/FullScreenExit.js 1.57 kB
packages/icon/dist/esm/Gauge.js 1.59 kB
packages/icon/dist/esm/GlobeAmericas.js 1.51 kB
packages/icon/dist/esm/GovernmentBuilding.js 1.55 kB
packages/icon/dist/esm/Hash.js 1.7 kB
packages/icon/dist/esm/Highlight.js 1.74 kB
packages/icon/dist/esm/Home.js 1.66 kB
packages/icon/dist/esm/Import.js 1.64 kB
packages/icon/dist/esm/ImportantWithCircle.js 1.41 kB
packages/icon/dist/esm/index.js 25.5 kB
packages/icon/dist/esm/InfoWithCircle.js 1.44 kB
packages/icon/dist/esm/InviteUser.js 1.74 kB
packages/icon/dist/esm/Key.js 1.55 kB
packages/icon/dist/esm/Laptop.js 1.52 kB
packages/icon/dist/esm/LightningBolt.js 1.41 kB
packages/icon/dist/esm/Link.js 1.9 kB
packages/icon/dist/esm/List.js 1.56 kB
packages/icon/dist/esm/Lock.js 1.5 kB
packages/icon/dist/esm/LogIn.js 1.57 kB
packages/icon/dist/esm/LogOut.js 1.63 kB
packages/icon/dist/esm/MagnifyingGlass.js 1.48 kB
packages/icon/dist/esm/Megaphone.js 1.45 kB
packages/icon/dist/esm/Menu.js 1.37 kB
packages/icon/dist/esm/Minus.js 1.32 kB
packages/icon/dist/esm/Mobile.js 1.31 kB
packages/icon/dist/esm/MultiDirectionArrow.js 1.53 kB
packages/icon/dist/esm/MultiLayers.js 2.47 kB
packages/icon/dist/esm/NavCollapse.js 1.54 kB
packages/icon/dist/esm/NavExpand.js 1.55 kB
packages/icon/dist/esm/NoFilter.js 1.53 kB
packages/icon/dist/esm/NotAllowed.js 1.43 kB
packages/icon/dist/esm/Note.js 1.46 kB
packages/icon/dist/esm/OpenNewTab.js 1.72 kB
packages/icon/dist/esm/Pause.js 1.35 kB
packages/icon/dist/esm/Person.js 1.52 kB
packages/icon/dist/esm/PersonGroup.js 1.73 kB
packages/icon/dist/esm/PersonWithLock.js 1.73 kB
packages/icon/dist/esm/Pin.js 1.47 kB
packages/icon/dist/esm/Play.js 1.36 kB
packages/icon/dist/esm/Plus.js 1.37 kB
packages/icon/dist/esm/PlusWithCircle.js 1.4 kB
packages/icon/dist/esm/QuestionMarkWithCircle.js 1.76 kB
packages/icon/dist/esm/Read.js 2.07 kB
packages/icon/dist/esm/Redo.js 1.7 kB
packages/icon/dist/esm/Refresh.js 1.77 kB
packages/icon/dist/esm/Relationship.js 1.46 kB
packages/icon/dist/esm/ReplicaSet.js 1.62 kB
packages/icon/dist/esm/Resize.js 1.44 kB
packages/icon/dist/esm/Return.js 1.53 kB
packages/icon/dist/esm/Save.js 1.96 kB
packages/icon/dist/esm/Serverless.js 1.6 kB
packages/icon/dist/esm/Settings.js 2.04 kB
packages/icon/dist/esm/ShardedCluster.js 1.98 kB
packages/icon/dist/esm/Shell.js 1.52 kB
packages/icon/dist/esm/SMS.js 1.48 kB
packages/icon/dist/esm/SortAscending.js 1.57 kB
packages/icon/dist/esm/SortDescending.js 1.56 kB
packages/icon/dist/esm/Sparkle.js 1.88 kB
packages/icon/dist/esm/SplitHorizontal.js 1.33 kB
packages/icon/dist/esm/SplitVertical.js 1.33 kB
packages/icon/dist/esm/Stitch.js 1.37 kB
packages/icon/dist/esm/String.js 1.47 kB
packages/icon/dist/esm/Support.js 1.56 kB
packages/icon/dist/esm/Sweep.js 1.58 kB
packages/icon/dist/esm/Table.js 1.36 kB
packages/icon/dist/esm/Tag.js 1.4 kB
packages/icon/dist/esm/ThumbsDown.js 1.68 kB
packages/icon/dist/esm/ThumbsUp.js 1.67 kB
packages/icon/dist/esm/TimeSeries.js 1.71 kB
packages/icon/dist/esm/TimeSeriesCollection.js 1.86 kB
packages/icon/dist/esm/Trash.js 1.39 kB
packages/icon/dist/esm/Undo.js 1.69 kB
packages/icon/dist/esm/University.js 1.88 kB
packages/icon/dist/esm/Unlock.js 1.57 kB
packages/icon/dist/esm/Unsorted.js 1.61 kB
packages/icon/dist/esm/UpDownCarets.js 1.46 kB
packages/icon/dist/esm/Upload.js 1.66 kB
packages/icon/dist/esm/VerticalEllipsis.js 1.39 kB
packages/icon/dist/esm/Visibility.js 1.69 kB
packages/icon/dist/esm/VisibilityOff.js 2.08 kB
packages/icon/dist/esm/Warning.js 1.46 kB
packages/icon/dist/esm/Wizard.js 1.78 kB
packages/icon/dist/esm/Wrench.js 1.78 kB
packages/icon/dist/esm/Write.js 2.07 kB
packages/icon/dist/esm/X.js 1.5 kB
packages/icon/dist/esm/XWithCircle.js 1.44 kB
packages/icon/dist/Export.js 1.87 kB
packages/icon/dist/Favorite.js 1.83 kB
packages/icon/dist/Federation.js 1.77 kB
packages/icon/dist/File.js 1.64 kB
packages/icon/dist/Filter.js 1.61 kB
packages/icon/dist/Folder.js 1.54 kB
packages/icon/dist/FullScreenEnter.js 1.78 kB
packages/icon/dist/FullScreenExit.js 1.79 kB
packages/icon/dist/Gauge.js 1.81 kB
packages/icon/dist/GlobeAmericas.js 1.73 kB
packages/icon/dist/GovernmentBuilding.js 1.77 kB
packages/icon/dist/Hash.js 1.92 kB
packages/icon/dist/Highlight.js 1.96 kB
packages/icon/dist/Home.js 1.89 kB
packages/icon/dist/Import.js 1.86 kB
packages/icon/dist/ImportantWithCircle.js 1.63 kB
packages/icon/dist/index.js 25.8 kB
packages/icon/dist/InfoWithCircle.js 1.67 kB
packages/icon/dist/InviteUser.js 1.96 kB
packages/icon/dist/Key.js 1.78 kB
packages/icon/dist/Laptop.js 1.75 kB
packages/icon/dist/LightningBolt.js 1.64 kB
packages/icon/dist/Link.js 2.13 kB
packages/icon/dist/List.js 1.78 kB
packages/icon/dist/Lock.js 1.73 kB
packages/icon/dist/LogIn.js 1.79 kB
packages/icon/dist/LogOut.js 1.86 kB
packages/icon/dist/MagnifyingGlass.js 1.71 kB
packages/icon/dist/Megaphone.js 1.68 kB
packages/icon/dist/Menu.js 1.59 kB
packages/icon/dist/Minus.js 1.54 kB
packages/icon/dist/Mobile.js 1.54 kB
packages/icon/dist/MultiDirectionArrow.js 1.75 kB
packages/icon/dist/MultiLayers.js 2.69 kB
packages/icon/dist/NavCollapse.js 1.76 kB
packages/icon/dist/NavExpand.js 1.77 kB
packages/icon/dist/NoFilter.js 1.76 kB
packages/icon/dist/NotAllowed.js 1.65 kB
packages/icon/dist/Note.js 1.68 kB
packages/icon/dist/OpenNewTab.js 1.95 kB
packages/icon/dist/Pause.js 1.57 kB
packages/icon/dist/Person.js 1.74 kB
packages/icon/dist/PersonGroup.js 1.95 kB
packages/icon/dist/PersonWithLock.js 1.95 kB
packages/icon/dist/Pin.js 1.69 kB
packages/icon/dist/Play.js 1.58 kB
packages/icon/dist/Plus.js 1.59 kB
packages/icon/dist/PlusWithCircle.js 1.62 kB
packages/icon/dist/QuestionMarkWithCircle.js 1.98 kB
packages/icon/dist/Read.js 2.29 kB
packages/icon/dist/Redo.js 1.92 kB
packages/icon/dist/Refresh.js 1.99 kB
packages/icon/dist/Relationship.js 1.69 kB
packages/icon/dist/ReplicaSet.js 1.84 kB
packages/icon/dist/Resize.js 1.67 kB
packages/icon/dist/Return.js 1.75 kB
packages/icon/dist/Save.js 2.18 kB
packages/icon/dist/Serverless.js 1.83 kB
packages/icon/dist/Settings.js 2.26 kB
packages/icon/dist/ShardedCluster.js 2.2 kB
packages/icon/dist/Shell.js 1.75 kB
packages/icon/dist/SMS.js 1.7 kB
packages/icon/dist/SortAscending.js 1.79 kB
packages/icon/dist/SortDescending.js 1.78 kB
packages/icon/dist/Sparkle.js 2.1 kB
packages/icon/dist/SplitHorizontal.js 1.56 kB
packages/icon/dist/SplitVertical.js 1.55 kB
packages/icon/dist/Stitch.js 1.6 kB
packages/icon/dist/String.js 1.7 kB
packages/icon/dist/Support.js 1.79 kB
packages/icon/dist/Sweep.js 1.81 kB
packages/icon/dist/Table.js 1.58 kB
packages/icon/dist/Tag.js 1.62 kB
packages/icon/dist/ThumbsDown.js 1.9 kB
packages/icon/dist/ThumbsUp.js 1.9 kB
packages/icon/dist/TimeSeries.js 1.94 kB
packages/icon/dist/TimeSeriesCollection.js 2.08 kB
packages/icon/dist/Trash.js 1.61 kB
packages/icon/dist/Undo.js 1.92 kB
packages/icon/dist/University.js 2.11 kB
packages/icon/dist/Unlock.js 1.8 kB
packages/icon/dist/Unsorted.js 1.83 kB
packages/icon/dist/UpDownCarets.js 1.69 kB
packages/icon/dist/Upload.js 1.88 kB
packages/icon/dist/VerticalEllipsis.js 1.61 kB
packages/icon/dist/Visibility.js 1.91 kB
packages/icon/dist/VisibilityOff.js 2.31 kB
packages/icon/dist/Warning.js 1.68 kB
packages/icon/dist/Wizard.js 2.01 kB
packages/icon/dist/Wrench.js 2.01 kB
packages/icon/dist/Write.js 2.29 kB
packages/icon/dist/X.js 1.72 kB
packages/icon/dist/XWithCircle.js 1.67 kB
packages/info-sprinkle/dist/esm/index.js 1.41 kB
packages/info-sprinkle/dist/index.js 1.62 kB
packages/inline-definition/dist/esm/index.js 1.23 kB
packages/inline-definition/dist/index.js 1.4 kB
packages/leafygreen-provider/dist/esm/index.js 1.62 kB
packages/leafygreen-provider/dist/index.js 1.81 kB
packages/lib/dist/esm/index.js 3.25 kB
packages/lib/dist/index.js 3.4 kB
packages/loading-indicator/dist/esm/index.js 3.38 kB
packages/loading-indicator/dist/index.js 3.58 kB
packages/logo/dist/esm/index.js 40.1 kB
packages/logo/dist/index.js 40.3 kB
packages/marketing-modal/dist/esm/index.js 3.61 kB
packages/marketing-modal/dist/index.js 3.83 kB
packages/menu/dist/esm/index.js 8.08 kB
packages/menu/dist/index.js 8.27 kB
packages/modal/dist/esm/index.js 3.27 kB
packages/modal/dist/index.js 3.5 kB
packages/number-input/dist/esm/index.js 6.49 kB
packages/number-input/dist/index.js 6.7 kB
packages/pagination/dist/esm/index.js 1.75 kB
packages/pagination/dist/index.js 1.96 kB
packages/palette/dist/esm/index.js 392 B
packages/palette/dist/index.js 546 B
packages/password-input/dist/esm/index.js 5.03 kB
packages/password-input/dist/index.js 5.28 kB
packages/pipeline/dist/esm/index.js 7.92 kB
packages/pipeline/dist/index.js 8.19 kB
packages/polymorphic/dist/esm/index.js 701 B
packages/polymorphic/dist/index.js 841 B
packages/popover/dist/esm/index.js 5.29 kB
packages/popover/dist/index.js 5.44 kB
packages/portal/dist/esm/index.js 981 B
packages/portal/dist/index.js 1.16 kB
packages/radio-box-group/dist/esm/index.js 3.02 kB
packages/radio-box-group/dist/index.js 3.17 kB
packages/radio-group/dist/esm/index.js 3.46 kB
packages/radio-group/dist/index.js 3.6 kB
packages/ripple/dist/esm/index.js 962 B
packages/ripple/dist/index.js 1.06 kB
packages/search-input/dist/esm/index.js 6.35 kB
packages/search-input/dist/index.js 6.57 kB
packages/segmented-control/dist/esm/index.js 5.56 kB
packages/segmented-control/dist/index.js 5.72 kB
packages/select/dist/esm/index.js 9.46 kB
packages/select/dist/index.js 9.68 kB
packages/side-nav/dist/esm/index.js 7.72 kB
packages/side-nav/dist/index.js 7.99 kB
packages/skeleton-loader/dist/esm/index.js 2.65 kB
packages/skeleton-loader/dist/index.js 2.81 kB
packages/split-button/dist/esm/index.js 3.64 kB
packages/split-button/dist/index.js 3.81 kB
packages/stepper/dist/esm/index.js 3.2 kB
packages/stepper/dist/index.js 3.42 kB
packages/table/dist/esm/index.js 13.7 kB
packages/table/dist/index.js 14.1 kB
packages/tabs/dist/esm/index.js 4.37 kB
packages/tabs/dist/index.js 4.55 kB
packages/testing-lib/dist/esm/index.js 4.24 kB
packages/testing-lib/dist/index.js 4.46 kB
packages/text-area/dist/esm/index.js 2.74 kB
packages/text-area/dist/index.js 2.91 kB
packages/text-input/dist/esm/index.js 2.41 kB
packages/text-input/dist/index.js 2.61 kB
packages/toast/dist/esm/index.js 8.36 kB
packages/toast/dist/index.js 8.61 kB
packages/toggle/dist/esm/index.js 3.04 kB
packages/toggle/dist/index.js 3.23 kB
packages/tokens/dist/esm/index.js 982 B
packages/tokens/dist/index.js 1.07 kB
packages/tooltip/dist/esm/index.js 4.48 kB
packages/tooltip/dist/index.js 4.77 kB
packages/typography/dist/esm/index.js 5.5 kB
packages/typography/dist/index.js 5.68 kB
tools/build/dist/esm/index.js 6.46 kB
tools/build/dist/index.js 6.6 kB
tools/cli/dist/esm/index.js 1.63 kB
tools/cli/dist/index.js 1.78 kB
tools/create/dist/esm/index.js 3.6 kB
tools/create/dist/index.js 3.74 kB
tools/install/dist/esm/index.js 907 B
tools/install/dist/index.js 1.05 kB
tools/link/dist/esm/index.js 5.53 kB
tools/link/dist/index.js 5.65 kB
tools/lint/dist/esm/index.js 1.78 kB
tools/lint/dist/index.js 1.94 kB
tools/meta/dist/esm/index.js 2.2 kB
tools/meta/dist/index.js 2.32 kB
tools/slackbot/dist/esm/index.js 6.16 kB
tools/slackbot/dist/index.js 6.29 kB
tools/storybook-decorators/dist/esm/index.js 3.32 kB
tools/storybook-decorators/dist/index.js 3.46 kB
tools/storybook/dist/esm/index.js 5.71 kB
tools/storybook/dist/esm/main.js 5.67 kB
tools/storybook/dist/esm/manager.js 410 B
tools/storybook/dist/esm/preview.js 1.2 kB
tools/storybook/dist/index.js 5.8 kB
tools/storybook/dist/main.js 5.75 kB
tools/storybook/dist/manager.js 551 B
tools/storybook/dist/preview.js 1.27 kB
tools/test/dist/esm/index.js 2.33 kB
tools/test/dist/index.js 2.46 kB
tools/update/dist/esm/index.js 1.5 kB
tools/update/dist/index.js 1.66 kB
tools/validate/dist/esm/index.js 8.35 kB
tools/validate/dist/index.js 8.51 kB

compressed-size-action

@TheSonOfThomp TheSonOfThomp self-requested a review January 9, 2024 16:35
[inputOptionWedge]: showWedgeProp,
[getWedgeStyles(renderedContext, state, theme)]: shouldRenderWedge,
[getHoverStyles(renderedContext, theme)]:
!disabled && isInteractive && state !== State.Highlight,
Copy link
Collaborator

Choose a reason for hiding this comment

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

nit: I would extract his into a separate shouldShowHoverStyles var or something like that

Comment on lines 90 to 91
[inputOptionWedge]: showWedgeProp,
[getWedgeStyles(renderedContext, state, theme)]: shouldRenderWedge,
Copy link
Collaborator

Choose a reason for hiding this comment

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

Why are these separate?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Not sure, but these styles have different logic for how they're rendered, and I was just maintaining that. I really just wanted to propose an alternate organizational approach to Brooke's PR

Comment on lines +26 to +33
const State = {
Default: 'default',
Hover: 'hover',
Highlight: 'highlight',
Disabled: 'disabled',
Checked: 'checked',
Destructive: 'destructive',
} as const;
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 purpose of this type? It doesn't look like we're exposing it to consumers, and the fact that the states in this type aren't actually mutually exclusive is confusing (e.g. an option can be both "hovered" and "checked" at the same time, so what is State in this case?)

Copy link
Collaborator

Choose a reason for hiding this comment

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

To me there are multiple different "state"-type variables:

type State = "default" | "disabled" | "checked" | "highlight"

type ActionType = "default" | "destructive"

and also isHovered (which can apply to any combination of State & ActionType

Copy link
Collaborator

@TheSonOfThomp TheSonOfThomp Jan 10, 2024

Choose a reason for hiding this comment

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

Then, in .style.ts we have

get[Element]StateStyle(context), get[Element]ActionTypeStyle(context) and get[Element]HoverStyle(context)

Copy link
Collaborator

Choose a reason for hiding this comment

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

You'd also probably also want to simplify XYZContextColors to match

Copy link
Collaborator

@TheSonOfThomp TheSonOfThomp left a comment

Choose a reason for hiding this comment

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

Broad strokes, I like the pattern of using the emotion css object to toggle different styles rather than putting that logic inside a single function.

I do have concerns about how we're defining the styles though, since we have what's logically 4 inter-dependent layers of state (action type, state, hover, darkMode).

It's not perfect, but the way I styled CalendarCell may be relevant here: https://github.com/mongodb/leafygreen-ui/blob/adam/date-picker-lg-3152/packages/date-picker/src/shared/components/Calendar/CalendarCell/CalendarCell.styles.ts

@bruugey bruugey changed the base branch from brooke/input-option-updates to main January 18, 2024 15:15
@bruugey bruugey changed the base branch from main to brooke/input-option-updates January 25, 2024 19:16
@bruugey bruugey merged commit 43bbd6e into brooke/input-option-updates Jan 25, 2024
3 checks passed
@bruugey bruugey deleted the sean/input-option-updates-2 branch January 25, 2024 19:22
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.

3 participants