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

fix(checkbox): hide icon when not checked #2167

Merged
merged 14 commits into from
Feb 8, 2022
Merged

Conversation

shleewhite
Copy link
Contributor

@shleewhite shleewhite commented Jan 28, 2022

  • hide check icon with display prop when the checkbox is not checked
  • explicitly sets if the component is controlled or uncontrolled, so the icon renders correctly

Fixes a bug found in: #2165

Contributing to Twilio

All third-party contributors acknowledge that any contributions they provide will be made under the same open-source license that the open-source project is provided under.

  • I acknowledge that all my contributions will be made under the project's license.

@changeset-bot
Copy link

changeset-bot bot commented Jan 28, 2022

🦋 Changeset detected

Latest commit: 408fb00

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

This PR includes changesets to release 2 packages
Name Type
@twilio-paste/checkbox Minor
@twilio-paste/core 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

@github-actions github-actions bot added the Area: Components Related to the component library (core) of this system label Jan 28, 2022
@netlify
Copy link

netlify bot commented Jan 28, 2022

✔️ Deploy Preview for paste-theme-designer ready!

🔨 Explore the source changes: 408fb00

🔍 Inspect the deploy log: https://app.netlify.com/sites/paste-theme-designer/deploys/6201b182c873a08ea9438ed6

😎 Browse the preview: https://deploy-preview-2167--paste-theme-designer.netlify.app

@codesandbox-ci
Copy link

codesandbox-ci bot commented Jan 28, 2022

This pull request is automatically built and testable in CodeSandbox.

To see build info of the built libraries, click here or the icon next to each commit SHA.

Latest deployment of this branch, based on commit 408fb00:

Sandbox Source
@twilio-paste/nextjs-template Configuration

@netlify
Copy link

netlify bot commented Jan 28, 2022

✔️ Deploy Preview for paste-docs ready!

🔨 Explore the source changes: 408fb00

🔍 Inspect the deploy log: https://app.netlify.com/sites/paste-docs/deploys/6201b189df6685949dc8dc1c

😎 Browse the preview: https://deploy-preview-2167--paste-docs.netlify.app

@github-actions
Copy link
Contributor

github-actions bot commented Jan 28, 2022

Size Change: +62 B (0%)

Total Size: 459 kB

Filename Size Change
packages/paste-core/components/checkbox/dist/index.js 2.26 kB +62 B (+3%)
ℹ️ View Unchanged
Filename Size
./packages/paste-icons/cjs/AgentIcon.js 1.33 kB
./packages/paste-icons/cjs/ArrowBackIcon.js 1.08 kB
./packages/paste-icons/cjs/ArrowDownIcon.js 1.08 kB
./packages/paste-icons/cjs/ArrowForwardIcon.js 1.08 kB
./packages/paste-icons/cjs/ArrowUpIcon.js 1.1 kB
./packages/paste-icons/cjs/AttachIcon.js 1.23 kB
./packages/paste-icons/cjs/AttachmentIcon.js 1.14 kB
./packages/paste-icons/cjs/BoldIcon.js 1.29 kB
./packages/paste-icons/cjs/BuiltInIcon.js 1.12 kB
./packages/paste-icons/cjs/CalendarIcon.js 1.17 kB
./packages/paste-icons/cjs/ChatIcon.js 1.2 kB
./packages/paste-icons/cjs/CheckboxCheckIcon.js 992 B
./packages/paste-icons/cjs/CheckboxLineIcon.js 941 B
./packages/paste-icons/cjs/CheckmarkCircleIcon.js 1.07 kB
./packages/paste-icons/cjs/ChevronDisclosureCollapsedIcon.js 1.01 kB
./packages/paste-icons/cjs/ChevronDisclosureExpandedIcon.js 1.01 kB
./packages/paste-icons/cjs/ChevronDisclosureIcon.js 1 kB
./packages/paste-icons/cjs/ChevronDoubleLeftIcon.js 1.03 kB
./packages/paste-icons/cjs/ChevronDoubleRightIcon.js 1.05 kB
./packages/paste-icons/cjs/ChevronDownIcon.js 975 B
./packages/paste-icons/cjs/ChevronExpandIcon.js 1.02 kB
./packages/paste-icons/cjs/ChevronLeftIcon.js 973 B
./packages/paste-icons/cjs/ChevronRightIcon.js 975 B
./packages/paste-icons/cjs/ChevronUpIcon.js 972 B
./packages/paste-icons/cjs/CloseIcon.js 977 B
./packages/paste-icons/cjs/ColorPickerIcon.js 1.21 kB
./packages/paste-icons/cjs/ConnectivityAvailableIcon.js 901 B
./packages/paste-icons/cjs/ConnectivityBusyIcon.js 899 B
./packages/paste-icons/cjs/ConnectivityOfflineIcon.js 948 B
./packages/paste-icons/cjs/ConnectivityUnavailableIcon.js 904 B
./packages/paste-icons/cjs/CopyIcon.js 1.19 kB
./packages/paste-icons/cjs/CreditCardIcon.js 1.01 kB
./packages/paste-icons/cjs/CustomIcon.js 1.27 kB
./packages/paste-icons/cjs/DarkModeIcon.js 1.04 kB
./packages/paste-icons/cjs/DataBarChartIcon.js 1.03 kB
./packages/paste-icons/cjs/DataLineChartIcon.js 1.04 kB
./packages/paste-icons/cjs/DataPieChartIcon.js 1.03 kB
./packages/paste-icons/cjs/DataTableIcon.js 1.03 kB
./packages/paste-icons/cjs/DeleteIcon.js 1.16 kB
./packages/paste-icons/cjs/DownloadIcon.js 1.02 kB
./packages/paste-icons/cjs/EditIcon.js 1.16 kB
./packages/paste-icons/cjs/ElasticSIPTrunkingCapableIcon.js 1.46 kB
./packages/paste-icons/cjs/ErrorIcon.js 1.06 kB
./packages/paste-icons/cjs/ExpandIcon.js 1.14 kB
./packages/paste-icons/cjs/ExportIcon.js 1.02 kB
./packages/paste-icons/cjs/FaxCapableIcon.js 1.32 kB
./packages/paste-icons/cjs/FileIcon.js 1.02 kB
./packages/paste-icons/cjs/FilterIcon.js 929 B
./packages/paste-icons/cjs/helpers/IconWrapper.js 703 B
./packages/paste-icons/cjs/HideIcon.js 1.39 kB
./packages/paste-icons/cjs/HistoryIcon.js 1.08 kB
./packages/paste-icons/cjs/InformationIcon.js 974 B
./packages/paste-icons/cjs/ItalicIcon.js 1.02 kB
./packages/paste-icons/cjs/LightModeIcon.js 1.16 kB
./packages/paste-icons/cjs/LinkExternalIcon.js 1.08 kB
./packages/paste-icons/cjs/LinkIcon.js 1.22 kB
./packages/paste-icons/cjs/LoadingIcon.js 1.29 kB
./packages/paste-icons/cjs/LogoTwilioIcon.js 1.03 kB
./packages/paste-icons/cjs/LowerHandIcon.js 1.51 kB
./packages/paste-icons/cjs/MicrophoneOffIcon.js 1.3 kB
./packages/paste-icons/cjs/MicrophoneOnIcon.js 1.12 kB
./packages/paste-icons/cjs/MinusIcon.js 979 B
./packages/paste-icons/cjs/MMSCapableIcon.js 1.26 kB
./packages/paste-icons/cjs/MoreIcon.js 942 B
./packages/paste-icons/cjs/NeutralIcon.js 1.2 kB
./packages/paste-icons/cjs/NewIcon.js 1.28 kB
./packages/paste-icons/cjs/OrderedListIcon.js 1.24 kB
./packages/paste-icons/cjs/PauseIcon.js 1.01 kB
./packages/paste-icons/cjs/PinIcon.js 1.21 kB
./packages/paste-icons/cjs/PlayIcon.js 1.03 kB
./packages/paste-icons/cjs/PlusIcon.js 948 B
./packages/paste-icons/cjs/ProcessDisabledIcon.js 979 B
./packages/paste-icons/cjs/ProcessDraftIcon.js 1.25 kB
./packages/paste-icons/cjs/ProcessErrorIcon.js 968 B
./packages/paste-icons/cjs/ProcessInProgressIcon.js 990 B
./packages/paste-icons/cjs/ProcessNeutralIcon.js 982 B
./packages/paste-icons/cjs/ProcessSuccessIcon.js 898 B
./packages/paste-icons/cjs/ProcessWarningIcon.js 1.01 kB
./packages/paste-icons/cjs/ProductAddOnsIcon.js 1.38 kB
./packages/paste-icons/cjs/ProductAdminAccessControlIcon.js 1.6 kB
./packages/paste-icons/cjs/ProductAdminAccountsIcon.js 1.11 kB
./packages/paste-icons/cjs/ProductAdminDomainsIcon.js 1.85 kB
./packages/paste-icons/cjs/ProductAdminResoldCustomersIcon.js 1.41 kB
./packages/paste-icons/cjs/ProductAdminSSOIcon.js 1.59 kB
./packages/paste-icons/cjs/ProductAdminUsersIcon.js 1.49 kB
./packages/paste-icons/cjs/ProductAlarmsIcon.js 1.3 kB
./packages/paste-icons/cjs/ProductAPIExplorerIcon.js 1.27 kB
./packages/paste-icons/cjs/ProductAssetsIcon.js 1.07 kB
./packages/paste-icons/cjs/ProductAuthyIcon.js 1.22 kB
./packages/paste-icons/cjs/ProductAutopilotIcon.js 1.43 kB
./packages/paste-icons/cjs/ProductBillingIcon.js 1.32 kB
./packages/paste-icons/cjs/ProductChannelsIcon.js 1.05 kB
./packages/paste-icons/cjs/ProductChatIcon.js 1.16 kB
./packages/paste-icons/cjs/ProductCLIIcon.js 1.1 kB
./packages/paste-icons/cjs/ProductCodeExchangeCommunityIcon.js 1.75 kB
./packages/paste-icons/cjs/ProductCodeExchangePartnerIcon.js 1.66 kB
./packages/paste-icons/cjs/ProductConnectedDevicesIcon.js 1.53 kB
./packages/paste-icons/cjs/ProductConversationsIcon.js 1.23 kB
./packages/paste-icons/cjs/ProductDebuggerIcon.js 1.45 kB
./packages/paste-icons/cjs/ProductElasticSIPTrunkingIcon.js 1.46 kB
./packages/paste-icons/cjs/ProductEmailAPIIcon.js 1.09 kB
./packages/paste-icons/cjs/ProductEngagementIntelligencePlatformIcon.js 1.26 kB
./packages/paste-icons/cjs/ProductEventStreamsIcon.js 1.32 kB
./packages/paste-icons/cjs/ProductFaxIcon.js 1.34 kB
./packages/paste-icons/cjs/ProductFlexIcon.js 1.09 kB
./packages/paste-icons/cjs/ProductFrontlineIcon.js 1.09 kB
./packages/paste-icons/cjs/ProductFunctionsIcon.js 1.22 kB
./packages/paste-icons/cjs/ProductHomeIcon.js 1.08 kB
./packages/paste-icons/cjs/ProductInsightsIcon.js 1.37 kB
./packages/paste-icons/cjs/ProductInterconnectIcon.js 1.09 kB
./packages/paste-icons/cjs/ProductInternetOfThingsEmbeddedSIMIcon.js 1.13 kB
./packages/paste-icons/cjs/ProductInternetOfThingsIcon.js 1.15 kB
./packages/paste-icons/cjs/ProductInternetOfThingsNarrowbandIcon.js 1.28 kB
./packages/paste-icons/cjs/ProductInternetOfThingsSuperSIMIcon.js 1.32 kB
./packages/paste-icons/cjs/ProductInternetOfThingsTrustOnboardIcon.js 1.35 kB
./packages/paste-icons/cjs/ProductInternetOfThingsWirelessIcon.js 1.24 kB
./packages/paste-icons/cjs/ProductKeysIcon.js 1.44 kB
./packages/paste-icons/cjs/ProductLiveIcon.js 1.25 kB
./packages/paste-icons/cjs/ProductLogsIcon.js 1.28 kB
./packages/paste-icons/cjs/ProductLookupIcon.js 1.02 kB
./packages/paste-icons/cjs/ProductMarketingCampaignsIcon.js 1.15 kB
./packages/paste-icons/cjs/ProductMessagingIcon.js 1.12 kB
./packages/paste-icons/cjs/ProductMicrovisorIcon.js 1.28 kB
./packages/paste-icons/cjs/ProductNotifyIcon.js 1.23 kB
./packages/paste-icons/cjs/ProductPhoneNumbersIcon.js 1.23 kB
./packages/paste-icons/cjs/ProductProxyIcon.js 1.29 kB
./packages/paste-icons/cjs/ProductRegionalIcon.js 1.81 kB
./packages/paste-icons/cjs/ProductSDKIcon.js 1.18 kB
./packages/paste-icons/cjs/ProductSegmentIcon.js 1.24 kB
./packages/paste-icons/cjs/ProductSettingsIcon.js 1.58 kB
./packages/paste-icons/cjs/ProductStudioIcon.js 1.03 kB
./packages/paste-icons/cjs/ProductSupportIcon.js 1.1 kB
./packages/paste-icons/cjs/ProductSyncIcon.js 1.26 kB
./packages/paste-icons/cjs/ProductTaskRouterIcon.js 1.07 kB
./packages/paste-icons/cjs/ProductTrustHubIcon.js 1.3 kB
./packages/paste-icons/cjs/ProductTwilioOrgIcon.js 1.3 kB
./packages/paste-icons/cjs/ProductTwiMLBinsIcon.js 1.01 kB
./packages/paste-icons/cjs/ProductUsageIcon.js 1.47 kB
./packages/paste-icons/cjs/ProductVerifyIcon.js 1.21 kB
./packages/paste-icons/cjs/ProductVideoIcon.js 1.12 kB
./packages/paste-icons/cjs/ProductVoiceIcon.js 1.33 kB
./packages/paste-icons/cjs/RaiseHandIcon.js 2.21 kB
./packages/paste-icons/cjs/ScreenShareIcon.js 1.07 kB
./packages/paste-icons/cjs/SearchIcon.js 983 B
./packages/paste-icons/cjs/ShowIcon.js 1.26 kB
./packages/paste-icons/cjs/ShrinkIcon.js 1.18 kB
./packages/paste-icons/cjs/SkipBackIcon.js 1.09 kB
./packages/paste-icons/cjs/SkipForwardIcon.js 1.1 kB
./packages/paste-icons/cjs/SMSCapableIcon.js 1.04 kB
./packages/paste-icons/cjs/StopScreenShareIcon.js 1.05 kB
./packages/paste-icons/cjs/StrikethroughIcon.js 1.22 kB
./packages/paste-icons/cjs/SuccessIcon.js 1 kB
./packages/paste-icons/cjs/SupportIcon.js 1.11 kB
./packages/paste-icons/cjs/TextFormatIcon.js 1.09 kB
./packages/paste-icons/cjs/ThemeIcon.js 1.37 kB
./packages/paste-icons/cjs/ThumbsDownIcon.js 1.68 kB
./packages/paste-icons/cjs/ThumbsUpIcon.js 1.67 kB
./packages/paste-icons/cjs/UnderlineIcon.js 1.07 kB
./packages/paste-icons/cjs/UnorderedListIcon.js 1.02 kB
./packages/paste-icons/cjs/UnpinIcon.js 1.08 kB
./packages/paste-icons/cjs/UnsortedIcon.js 1.09 kB
./packages/paste-icons/cjs/UploadToCloudIcon.js 1.46 kB
./packages/paste-icons/cjs/UserIcon.js 998 B
./packages/paste-icons/cjs/VideoOffIcon.js 1.21 kB
./packages/paste-icons/cjs/VideoOnIcon.js 1.15 kB
./packages/paste-icons/cjs/VoiceCapableIcon.js 1.25 kB
./packages/paste-icons/cjs/VolumeOffIcon.js 1.26 kB
./packages/paste-icons/cjs/VolumeOnIcon.js 1.36 kB
./packages/paste-icons/cjs/WarningIcon.js 1.11 kB
packages/paste-color-contrast-utils/dist/index.js 12.8 kB
packages/paste-core/components/alert-dialog/dist/index.js 1.68 kB
packages/paste-core/components/alert/dist/index.js 1.28 kB
packages/paste-core/components/anchor/dist/index.js 1.43 kB
packages/paste-core/components/avatar/dist/index.js 1.55 kB
packages/paste-core/components/badge/dist/index.js 1.41 kB
packages/paste-core/components/base-radio-checkbox/dist/index.js 1.25 kB
packages/paste-core/components/breadcrumb/dist/index.js 1.17 kB
packages/paste-core/components/button/dist/index.js 4.8 kB
packages/paste-core/components/card/dist/index.js 791 B
packages/paste-core/components/combobox/dist/index.js 10.2 kB
packages/paste-core/components/data-grid/dist/index.js 3.42 kB
packages/paste-core/components/date-picker/dist/index.js 6.65 kB
packages/paste-core/components/disclosure/dist/index.js 2.08 kB
packages/paste-core/components/display-pill-group/dist/index.js 973 B
packages/paste-core/components/form-pill-group/dist/index.js 1.52 kB
packages/paste-core/components/form/dist/index.js 497 B
packages/paste-core/components/heading/dist/index.js 941 B
packages/paste-core/components/help-text/dist/index.js 939 B
packages/paste-core/components/inline-control-group/dist/index.js 1.05 kB
packages/paste-core/components/input-box/dist/index.js 1.84 kB
packages/paste-core/components/input/dist/index.js 1.47 kB
packages/paste-core/components/label/dist/index.js 1.23 kB
packages/paste-core/components/list/dist/index.js 1.02 kB
packages/paste-core/components/menu/dist/index.js 1.95 kB
packages/paste-core/components/modal/dist/index.js 2.48 kB
packages/paste-core/components/pagination/dist/index.js 2.97 kB
packages/paste-core/components/paragraph/dist/index.js 704 B
packages/paste-core/components/popover/dist/index.js 1.57 kB
packages/paste-core/components/radio-group/dist/index.js 1.56 kB
packages/paste-core/components/screen-reader-only/dist/index.js 707 B
packages/paste-core/components/select/dist/index.js 1.6 kB
packages/paste-core/components/separator/dist/index.js 818 B
packages/paste-core/components/skeleton-loader/dist/index.js 1.09 kB
packages/paste-core/components/spinner/dist/index.js 1.21 kB
packages/paste-core/components/table/dist/index.js 1.7 kB
packages/paste-core/components/tabs/dist/index.js 2.07 kB
packages/paste-core/components/textarea/dist/index.js 3.72 kB
packages/paste-core/components/time-picker/dist/index.js 6.67 kB
packages/paste-core/components/toast/dist/index.js 2.67 kB
packages/paste-core/components/tooltip/dist/index.js 1.16 kB
packages/paste-core/components/truncate/dist/index.js 659 B
packages/paste-core/core-bundle/dist/alert-dialog.js 210 B
packages/paste-core/core-bundle/dist/alert.js 194 B
packages/paste-core/core-bundle/dist/anchor.js 197 B
packages/paste-core/core-bundle/dist/animation-library.js 211 B
packages/paste-core/core-bundle/dist/aspect-ratio.js 205 B
packages/paste-core/core-bundle/dist/avatar.js 200 B
packages/paste-core/core-bundle/dist/badge.js 199 B
packages/paste-core/core-bundle/dist/base-radio-checkbox.js 218 B
packages/paste-core/core-bundle/dist/box.js 195 B
packages/paste-core/core-bundle/dist/breadcrumb.js 204 B
packages/paste-core/core-bundle/dist/button.js 201 B
packages/paste-core/core-bundle/dist/card.js 199 B
packages/paste-core/core-bundle/dist/checkbox.js 201 B
packages/paste-core/core-bundle/dist/clipboard-copy-library.js 219 B
packages/paste-core/core-bundle/dist/color-contrast-utils.js 219 B
packages/paste-core/core-bundle/dist/combobox-primitive.js 213 B
packages/paste-core/core-bundle/dist/combobox.js 203 B
packages/paste-core/core-bundle/dist/customization.js 206 B
packages/paste-core/core-bundle/dist/data-grid.js 204 B
packages/paste-core/core-bundle/dist/date-picker.js 205 B
packages/paste-core/core-bundle/dist/design-tokens.js 209 B
packages/paste-core/core-bundle/dist/disclosure-primitive.js 213 B
packages/paste-core/core-bundle/dist/disclosure.js 204 B
packages/paste-core/core-bundle/dist/display-pill-group.js 217 B
packages/paste-core/core-bundle/dist/dropdown-library.js 211 B
packages/paste-core/core-bundle/dist/flex.js 196 B
packages/paste-core/core-bundle/dist/form-pill-group.js 215 B
packages/paste-core/core-bundle/dist/form.js 197 B
packages/paste-core/core-bundle/dist/grid.js 196 B
packages/paste-core/core-bundle/dist/heading.js 199 B
packages/paste-core/core-bundle/dist/help-text.js 204 B
packages/paste-core/core-bundle/dist/index.js 1.19 kB
packages/paste-core/core-bundle/dist/inline-control-group.js 218 B
packages/paste-core/core-bundle/dist/input-box.js 206 B
packages/paste-core/core-bundle/dist/input.js 200 B
packages/paste-core/core-bundle/dist/label.js 196 B
packages/paste-core/core-bundle/dist/list.js 195 B
packages/paste-core/core-bundle/dist/media-object.js 202 B
packages/paste-core/core-bundle/dist/menu-primitive.js 210 B
packages/paste-core/core-bundle/dist/menu.js 196 B
packages/paste-core/core-bundle/dist/modal-dialog-primitive.js 219 B
packages/paste-core/core-bundle/dist/modal.js 196 B
packages/paste-core/core-bundle/dist/non-modal-dialog-primitive.js 224 B
packages/paste-core/core-bundle/dist/pagination.js 199 B
packages/paste-core/core-bundle/dist/paragraph.js 202 B
packages/paste-core/core-bundle/dist/popover.js 201 B
packages/paste-core/core-bundle/dist/radio-group.js 208 B
packages/paste-core/core-bundle/dist/reakit-library.js 211 B
packages/paste-core/core-bundle/dist/screen-reader-only.js 214 B
packages/paste-core/core-bundle/dist/select.js 197 B
packages/paste-core/core-bundle/dist/separator.js 199 B
packages/paste-core/core-bundle/dist/sibling-box.js 206 B
packages/paste-core/core-bundle/dist/skeleton-loader.js 211 B
packages/paste-core/core-bundle/dist/spinner.js 198 B
packages/paste-core/core-bundle/dist/stack.js 200 B
packages/paste-core/core-bundle/dist/style-props.js 202 B
packages/paste-core/core-bundle/dist/styling-library.js 210 B
packages/paste-core/core-bundle/dist/table.js 195 B
packages/paste-core/core-bundle/dist/tabs-primitive.js 210 B
packages/paste-core/core-bundle/dist/tabs.js 196 B
packages/paste-core/core-bundle/dist/text.js 195 B
packages/paste-core/core-bundle/dist/textarea.js 198 B
packages/paste-core/core-bundle/dist/theme.js 196 B
packages/paste-core/core-bundle/dist/time-picker.js 206 B
packages/paste-core/core-bundle/dist/toast.js 195 B
packages/paste-core/core-bundle/dist/tooltip-primitive.js 212 B
packages/paste-core/core-bundle/dist/tooltip.js 198 B
packages/paste-core/core-bundle/dist/truncate.js 198 B
packages/paste-core/core-bundle/dist/types.js 196 B
packages/paste-core/core-bundle/dist/uid-library.js 208 B
packages/paste-core/core-bundle/dist/utils.js 200 B
packages/paste-core/layout/aspect-ratio/dist/index.js 801 B
packages/paste-core/layout/flex/dist/index.js 1.85 kB
packages/paste-core/layout/grid/dist/index.js 1.69 kB
packages/paste-core/layout/media-object/dist/index.js 1.03 kB
packages/paste-core/layout/stack/dist/index.js 1.07 kB
packages/paste-core/primitives/box/dist/index.js 2.52 kB
packages/paste-core/primitives/combobox/dist/index.js 421 B
packages/paste-core/primitives/disclosure/dist/index.js 411 B
packages/paste-core/primitives/menu/dist/index.js 460 B
packages/paste-core/primitives/modal-dialog/dist/index.js 15.6 kB
packages/paste-core/primitives/non-modal-dialog/dist/index.js 430 B
packages/paste-core/primitives/sibling-box/dist/index.js 1.12 kB
packages/paste-core/primitives/tabs/dist/index.js 413 B
packages/paste-core/primitives/text/dist/index.js 2.15 kB
packages/paste-core/primitives/tooltip/dist/index.js 420 B
packages/paste-customization/dist/index.js 1.58 kB
packages/paste-design-tokens/dist/themes/dark/tokens.common.js 3.44 kB
packages/paste-design-tokens/dist/themes/sendgrid/tokens.common.js 3.37 kB
packages/paste-design-tokens/dist/tokens.common.js 4.03 kB
packages/paste-libraries/animation/dist/index.js 17.9 kB
packages/paste-libraries/clipboard-copy/dist/index.js 1.2 kB
packages/paste-libraries/dropdown/dist/index.js 19.2 kB
packages/paste-libraries/reakit/dist/index.js 32.4 kB
packages/paste-libraries/styling/dist/index.js 20.5 kB
packages/paste-libraries/uid/dist/index.js 1.56 kB
packages/paste-style-props/dist/index.js 4.24 kB
packages/paste-theme/dist/index.js 2.96 kB
packages/paste-types/dist/index.js 20 B
packages/paste-utils/dist/index.js 1.6 kB

compressed-size-action

Copy link
Contributor

@zahnster zahnster left a comment

Choose a reason for hiding this comment

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

Nice! Thanks for sprucing this up.

@cypress
Copy link

cypress bot commented Jan 29, 2022



Test summary

31 0 0 0Flakiness 0


Run details

Project Paste
Status Passed
Commit c230097 ℹ️
Started Feb 8, 2022 12:03 AM
Ended Feb 8, 2022 12:09 AM
Duration 05:34 💡
OS Linux Ubuntu - 20.04
Browser Electron 94

View run in Cypress Dashboard ➡️


This comment has been generated by cypress-bot as a result of this project's GitHub integration settings. You can manage this integration in this project's settings in the Cypress Dashboard

@github-actions github-actions bot added the Type: Tests Adds tests to the code label Jan 31, 2022
@shleewhite shleewhite marked this pull request as ready for review January 31, 2022 22:59
@shleewhite shleewhite requested review from a team as code owners January 31, 2022 22:59
Copy link
Contributor

@andioneto andioneto left a comment

Choose a reason for hiding this comment

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

Generally LGTM! When we confirm that the checkbox icon renders correctly for uncontrolled components too, I'll go ahead and apporove. 🥳

@github-actions github-actions bot added Area: Doc Site Related to the documentation website Type: Documentation Improvements or additions to documentation labels Feb 2, 2022
const handleChange = props.onChange != null ? props.onChange : checkboxGroupContext.onChange;

// Manages what the value of checked is depending on if it is controlled or uncontrolled
const [checkedState, setCheckedState] = React.useState(!!defaultChecked);
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This is a simplified version of what Chakra does (see their useCheckbox hook)

If the user passes checked & onChange it is a controlled component, if they don't pass them it is uncontrolled.

Copy link
Collaborator

Choose a reason for hiding this comment

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

because defaultChecked is a boolean, what's the difference between using the double bang operator and just saying useState(defaultChecked)? wouldn't that still give you either true or false?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It forces the value to always be a T/F. So, if defaultChecked is undefined then !!defaultChecked is false.

Copy link
Collaborator

@nkrantz nkrantz left a comment

Choose a reason for hiding this comment

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

noice🥇 left a few questions but nothing blocking

Comment on lines +111 to +112
The checkbox can either be controlled, meaning there is an external state that determines if the checkbox is checked or not, or uncontrolled, meaning the checkbox manages its own state.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Super helpful to have this context in the docs, might be worth adding a sentence about why one would want an uncontrolled vs controlled checkbox

const handleChange = props.onChange != null ? props.onChange : checkboxGroupContext.onChange;

// Manages what the value of checked is depending on if it is controlled or uncontrolled
const [checkedState, setCheckedState] = React.useState(!!defaultChecked);
Copy link
Collaborator

Choose a reason for hiding this comment

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

because defaultChecked is a boolean, what's the difference between using the double bang operator and just saying useState(defaultChecked)? wouldn't that still give you either true or false?

@shleewhite shleewhite merged commit 02285a8 into main Feb 8, 2022
@shleewhite shleewhite deleted the fix/checkbox-icon-hide branch February 8, 2022 00:23
@TwilioPasteBot TwilioPasteBot mentioned this pull request Feb 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: Components Related to the component library (core) of this system Area: Doc Site Related to the documentation website Type: Documentation Improvements or additions to documentation Type: Tests Adds tests to the code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants