@stackone/malachite 2.21.0 → 2.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ShadowRootWrapper.js +83 -0
- package/dist/ShadowRootWrapper.js.map +1 -0
- package/dist/assets/icons/account.svg.js +6 -0
- package/dist/assets/icons/account.svg.js.map +1 -0
- package/dist/assets/icons/accounts.svg.js +6 -0
- package/dist/assets/icons/accounts.svg.js.map +1 -0
- package/dist/assets/icons/add.svg.js +6 -0
- package/dist/assets/icons/add.svg.js.map +1 -0
- package/dist/assets/icons/advanced_logs.svg.js +6 -0
- package/dist/assets/icons/advanced_logs.svg.js.map +1 -0
- package/dist/assets/icons/api_keys.svg.js +6 -0
- package/dist/assets/icons/api_keys.svg.js.map +1 -0
- package/dist/assets/icons/archive.svg.js +6 -0
- package/dist/assets/icons/archive.svg.js.map +1 -0
- package/dist/assets/icons/arrow_left.svg.js +6 -0
- package/dist/assets/icons/arrow_left.svg.js.map +1 -0
- package/dist/assets/icons/arrow_up.svg.js +6 -0
- package/dist/assets/icons/arrow_up.svg.js.map +1 -0
- package/dist/assets/icons/arrow_up_right.svg.js +6 -0
- package/dist/assets/icons/arrow_up_right.svg.js.map +1 -0
- package/dist/assets/icons/authentication.svg.js +6 -0
- package/dist/assets/icons/authentication.svg.js.map +1 -0
- package/dist/assets/icons/bell.svg.js +6 -0
- package/dist/assets/icons/bell.svg.js.map +1 -0
- package/dist/assets/icons/bell_slash.svg.js +6 -0
- package/dist/assets/icons/bell_slash.svg.js.map +1 -0
- package/dist/assets/icons/bi_directional_arrows.svg.js +6 -0
- package/dist/assets/icons/bi_directional_arrows.svg.js.map +1 -0
- package/dist/assets/icons/card.svg.js +6 -0
- package/dist/assets/icons/card.svg.js.map +1 -0
- package/dist/assets/icons/caret_down.svg.js +6 -0
- package/dist/assets/icons/caret_down.svg.js.map +1 -0
- package/dist/assets/icons/caret_left.svg.js +6 -0
- package/dist/assets/icons/caret_left.svg.js.map +1 -0
- package/dist/assets/icons/caret_right.svg.js +6 -0
- package/dist/assets/icons/caret_right.svg.js.map +1 -0
- package/dist/assets/icons/caret_up.svg.js +6 -0
- package/dist/assets/icons/caret_up.svg.js.map +1 -0
- package/dist/assets/icons/change_password.svg.js +6 -0
- package/dist/assets/icons/change_password.svg.js.map +1 -0
- package/dist/assets/icons/check.svg.js +6 -0
- package/dist/assets/icons/check.svg.js.map +1 -0
- package/dist/assets/icons/check_circle_filled.svg.js +6 -0
- package/dist/assets/icons/check_circle_filled.svg.js.map +1 -0
- package/dist/assets/icons/checkmark.svg.js +6 -0
- package/dist/assets/icons/checkmark.svg.js.map +1 -0
- package/dist/assets/icons/clear.svg.js +6 -0
- package/dist/assets/icons/clear.svg.js.map +1 -0
- package/dist/assets/icons/close.svg.js +6 -0
- package/dist/assets/icons/close.svg.js.map +1 -0
- package/dist/assets/icons/code.svg.js +6 -0
- package/dist/assets/icons/code.svg.js.map +1 -0
- package/dist/assets/icons/command_key.svg.js +6 -0
- package/dist/assets/icons/command_key.svg.js.map +1 -0
- package/dist/assets/icons/copy.svg.js +6 -0
- package/dist/assets/icons/copy.svg.js.map +1 -0
- package/dist/assets/icons/csv.svg.js +6 -0
- package/dist/assets/icons/csv.svg.js.map +1 -0
- package/dist/assets/icons/custom_field.svg.js +6 -0
- package/dist/assets/icons/custom_field.svg.js.map +1 -0
- package/dist/assets/icons/dashboard.svg.js +6 -0
- package/dist/assets/icons/dashboard.svg.js.map +1 -0
- package/dist/assets/icons/date.svg.js +6 -0
- package/dist/assets/icons/date.svg.js.map +1 -0
- package/dist/assets/icons/disable.svg.js +6 -0
- package/dist/assets/icons/disable.svg.js.map +1 -0
- package/dist/assets/icons/disabled.svg.js +6 -0
- package/dist/assets/icons/disabled.svg.js.map +1 -0
- package/dist/assets/icons/dismiss.svg.js +6 -0
- package/dist/assets/icons/dismiss.svg.js.map +1 -0
- package/dist/assets/icons/doc.svg.js +6 -0
- package/dist/assets/icons/doc.svg.js.map +1 -0
- package/dist/assets/icons/double_check.svg.js +6 -0
- package/dist/assets/icons/double_check.svg.js.map +1 -0
- package/dist/assets/icons/download.svg.js +6 -0
- package/dist/assets/icons/download.svg.js.map +1 -0
- package/dist/assets/icons/edit.svg.js +6 -0
- package/dist/assets/icons/edit.svg.js.map +1 -0
- package/dist/assets/icons/enable.svg.js +6 -0
- package/dist/assets/icons/enable.svg.js.map +1 -0
- package/dist/assets/icons/enum.svg.js +6 -0
- package/dist/assets/icons/enum.svg.js.map +1 -0
- package/dist/assets/icons/error_circle_filled.svg.js +6 -0
- package/dist/assets/icons/error_circle_filled.svg.js.map +1 -0
- package/dist/assets/icons/expand.svg.js +6 -0
- package/dist/assets/icons/expand.svg.js.map +1 -0
- package/dist/assets/icons/eye-closed.svg.js +6 -0
- package/dist/assets/icons/eye-closed.svg.js.map +1 -0
- package/dist/assets/icons/eye.svg.js +6 -0
- package/dist/assets/icons/eye.svg.js.map +1 -0
- package/dist/assets/icons/field_mapping.svg.js +6 -0
- package/dist/assets/icons/field_mapping.svg.js.map +1 -0
- package/dist/assets/icons/filled_caret_down.svg.js +6 -0
- package/dist/assets/icons/filled_caret_down.svg.js.map +1 -0
- package/dist/assets/icons/filled_caret_right.svg.js +6 -0
- package/dist/assets/icons/filled_caret_right.svg.js.map +1 -0
- package/dist/assets/icons/filter.svg.js +6 -0
- package/dist/assets/icons/filter.svg.js.map +1 -0
- package/dist/assets/icons/forbidden.svg.js +6 -0
- package/dist/assets/icons/forbidden.svg.js.map +1 -0
- package/dist/assets/icons/forward_arrow.svg.js +6 -0
- package/dist/assets/icons/forward_arrow.svg.js.map +1 -0
- package/dist/assets/icons/globe.svg.js +6 -0
- package/dist/assets/icons/globe.svg.js.map +1 -0
- package/dist/assets/icons/inbox.svg.js +6 -0
- package/dist/assets/icons/inbox.svg.js.map +1 -0
- package/dist/assets/icons/info.svg.js +6 -0
- package/dist/assets/icons/info.svg.js.map +1 -0
- package/dist/assets/icons/info_circle_filled.svg.js +6 -0
- package/dist/assets/icons/info_circle_filled.svg.js.map +1 -0
- package/dist/assets/icons/info_filled.svg.js +6 -0
- package/dist/assets/icons/info_filled.svg.js.map +1 -0
- package/dist/assets/icons/integrations.svg.js +6 -0
- package/dist/assets/icons/integrations.svg.js.map +1 -0
- package/dist/assets/icons/key.svg.js +6 -0
- package/dist/assets/icons/key.svg.js.map +1 -0
- package/dist/assets/icons/library.svg.js +6 -0
- package/dist/assets/icons/library.svg.js.map +1 -0
- package/dist/assets/icons/logs.svg.js +6 -0
- package/dist/assets/icons/logs.svg.js.map +1 -0
- package/dist/assets/icons/magic_wand.svg.js +6 -0
- package/dist/assets/icons/magic_wand.svg.js.map +1 -0
- package/dist/assets/icons/manage_team.svg.js +6 -0
- package/dist/assets/icons/manage_team.svg.js.map +1 -0
- package/dist/assets/icons/manual_native_webhook.svg.js +6 -0
- package/dist/assets/icons/manual_native_webhook.svg.js.map +1 -0
- package/dist/assets/icons/mark_read.svg.js +6 -0
- package/dist/assets/icons/mark_read.svg.js.map +1 -0
- package/dist/assets/icons/mark_unread.svg.js +6 -0
- package/dist/assets/icons/mark_unread.svg.js.map +1 -0
- package/dist/assets/icons/members.svg.js +6 -0
- package/dist/assets/icons/members.svg.js.map +1 -0
- package/dist/assets/icons/modal.svg.js +6 -0
- package/dist/assets/icons/modal.svg.js.map +1 -0
- package/dist/assets/icons/more_horizontal.svg.js +6 -0
- package/dist/assets/icons/more_horizontal.svg.js.map +1 -0
- package/dist/assets/icons/more_vertical.svg.js +6 -0
- package/dist/assets/icons/more_vertical.svg.js.map +1 -0
- package/dist/assets/icons/navbar_collapse.svg.js +6 -0
- package/dist/assets/icons/navbar_collapse.svg.js.map +1 -0
- package/dist/assets/icons/navbar_expand.svg.js +6 -0
- package/dist/assets/icons/navbar_expand.svg.js.map +1 -0
- package/dist/assets/icons/not_found.svg.js +6 -0
- package/dist/assets/icons/not_found.svg.js.map +1 -0
- package/dist/assets/icons/organization.svg.js +6 -0
- package/dist/assets/icons/organization.svg.js.map +1 -0
- package/dist/assets/icons/pin.svg.js +6 -0
- package/dist/assets/icons/pin.svg.js.map +1 -0
- package/dist/assets/icons/plus.svg.js +6 -0
- package/dist/assets/icons/plus.svg.js.map +1 -0
- package/dist/assets/icons/preview.svg.js +6 -0
- package/dist/assets/icons/preview.svg.js.map +1 -0
- package/dist/assets/icons/programmatic_native_webhook.svg.js +6 -0
- package/dist/assets/icons/programmatic_native_webhook.svg.js.map +1 -0
- package/dist/assets/icons/pulse.svg.js +6 -0
- package/dist/assets/icons/pulse.svg.js.map +1 -0
- package/dist/assets/icons/refresh.svg.js +6 -0
- package/dist/assets/icons/refresh.svg.js.map +1 -0
- package/dist/assets/icons/reject.svg.js +6 -0
- package/dist/assets/icons/reject.svg.js.map +1 -0
- package/dist/assets/icons/reload.svg.js +6 -0
- package/dist/assets/icons/reload.svg.js.map +1 -0
- package/dist/assets/icons/reply.svg.js +6 -0
- package/dist/assets/icons/reply.svg.js.map +1 -0
- package/dist/assets/icons/required_field_indicator.svg.js +6 -0
- package/dist/assets/icons/required_field_indicator.svg.js.map +1 -0
- package/dist/assets/icons/search.svg.js +6 -0
- package/dist/assets/icons/search.svg.js.map +1 -0
- package/dist/assets/icons/security.svg.js +6 -0
- package/dist/assets/icons/security.svg.js.map +1 -0
- package/dist/assets/icons/send.svg.js +6 -0
- package/dist/assets/icons/send.svg.js.map +1 -0
- package/dist/assets/icons/settings.svg.js +6 -0
- package/dist/assets/icons/settings.svg.js.map +1 -0
- package/dist/assets/icons/sign_out.svg.js +6 -0
- package/dist/assets/icons/sign_out.svg.js.map +1 -0
- package/dist/assets/icons/slider.svg.js +6 -0
- package/dist/assets/icons/slider.svg.js.map +1 -0
- package/dist/assets/icons/sort.svg.js +6 -0
- package/dist/assets/icons/sort.svg.js.map +1 -0
- package/dist/assets/icons/source.svg.js +6 -0
- package/dist/assets/icons/source.svg.js.map +1 -0
- package/dist/assets/icons/sparkle.svg.js +6 -0
- package/dist/assets/icons/sparkle.svg.js.map +1 -0
- package/dist/assets/icons/star.svg.js +6 -0
- package/dist/assets/icons/star.svg.js.map +1 -0
- package/dist/assets/icons/step_current.svg.js +6 -0
- package/dist/assets/icons/step_current.svg.js.map +1 -0
- package/dist/assets/icons/step_upcoming.svg.js +6 -0
- package/dist/assets/icons/step_upcoming.svg.js.map +1 -0
- package/dist/assets/icons/synthetic_webhook.svg.js +6 -0
- package/dist/assets/icons/synthetic_webhook.svg.js.map +1 -0
- package/dist/assets/icons/thumbs_down.svg.js +6 -0
- package/dist/assets/icons/thumbs_down.svg.js.map +1 -0
- package/dist/assets/icons/thumbs_up.svg.js +6 -0
- package/dist/assets/icons/thumbs_up.svg.js.map +1 -0
- package/dist/assets/icons/trash.svg.js +6 -0
- package/dist/assets/icons/trash.svg.js.map +1 -0
- package/dist/assets/icons/triangle_down.svg.js +6 -0
- package/dist/assets/icons/triangle_down.svg.js.map +1 -0
- package/dist/assets/icons/triangle_right.svg.js +6 -0
- package/dist/assets/icons/triangle_right.svg.js.map +1 -0
- package/dist/assets/icons/unarchive.svg.js +6 -0
- package/dist/assets/icons/unarchive.svg.js.map +1 -0
- package/dist/assets/icons/upload.svg.js +6 -0
- package/dist/assets/icons/upload.svg.js.map +1 -0
- package/dist/assets/icons/warning_circle_filled.svg.js +6 -0
- package/dist/assets/icons/warning_circle_filled.svg.js.map +1 -0
- package/dist/assets/icons/warning_triangle.svg.js +6 -0
- package/dist/assets/icons/warning_triangle.svg.js.map +1 -0
- package/dist/assets/icons/webhook-events.svg.js +6 -0
- package/dist/assets/icons/webhook-events.svg.js.map +1 -0
- package/dist/assets/icons/webhook.svg.js +6 -0
- package/dist/assets/icons/webhook.svg.js.map +1 -0
- package/dist/assets/icons/webhook_signing_secret.svg.js +6 -0
- package/dist/assets/icons/webhook_signing_secret.svg.js.map +1 -0
- package/dist/assets/logo-stackone-desaturated.png.js +5 -0
- package/dist/assets/logo-stackone-desaturated.png.js.map +1 -0
- package/dist/components/Accordion.js +105 -0
- package/dist/components/Accordion.js.map +1 -0
- package/dist/components/ActionBar.js +66 -0
- package/dist/components/ActionBar.js.map +1 -0
- package/dist/components/ActionMenu.js +174 -0
- package/dist/components/ActionMenu.js.map +1 -0
- package/dist/components/Alert.js +136 -0
- package/dist/components/Alert.js.map +1 -0
- package/dist/components/AppLogo.js +43 -0
- package/dist/components/AppLogo.js.map +1 -0
- package/dist/components/Avatar.js +61 -0
- package/dist/components/Avatar.js.map +1 -0
- package/dist/components/BaseFormComponent.js +116 -0
- package/dist/components/BaseFormComponent.js.map +1 -0
- package/dist/components/Breadcrumbs.js +106 -0
- package/dist/components/Breadcrumbs.js.map +1 -0
- package/dist/components/Button.js +227 -0
- package/dist/components/Button.js.map +1 -0
- package/dist/components/ButtonList.js +40 -0
- package/dist/components/ButtonList.js.map +1 -0
- package/dist/components/Card.js +109 -0
- package/dist/components/Card.js.map +1 -0
- package/dist/components/CardStrip.js +454 -0
- package/dist/components/CardStrip.js.map +1 -0
- package/dist/components/ChangeReview/ChangeReviewItem.js +129 -0
- package/dist/components/ChangeReview/ChangeReviewItem.js.map +1 -0
- package/dist/components/ChangeReview/ChangeReviewJump.js +27 -0
- package/dist/components/ChangeReview/ChangeReviewJump.js.map +1 -0
- package/dist/components/ChangeReview/ChangeReviewRemoved.js +37 -0
- package/dist/components/ChangeReview/ChangeReviewRemoved.js.map +1 -0
- package/dist/components/ChangeReview/ChangeReviewSummary.js +56 -0
- package/dist/components/ChangeReview/ChangeReviewSummary.js.map +1 -0
- package/dist/components/ChangeReview/index.js +15 -0
- package/dist/components/ChangeReview/index.js.map +1 -0
- package/dist/components/Chat/ChatComposer.js +100 -0
- package/dist/components/Chat/ChatComposer.js.map +1 -0
- package/dist/components/Chat/ChatComposerChip.js +28 -0
- package/dist/components/Chat/ChatComposerChip.js.map +1 -0
- package/dist/components/Chat/ChatContext.js +55 -0
- package/dist/components/Chat/ChatContext.js.map +1 -0
- package/dist/components/Chat/ChatContextMeter.js +30 -0
- package/dist/components/Chat/ChatContextMeter.js.map +1 -0
- package/dist/components/Chat/ChatHeader.js +44 -0
- package/dist/components/Chat/ChatHeader.js.map +1 -0
- package/dist/components/Chat/ChatMessage.js +127 -0
- package/dist/components/Chat/ChatMessage.js.map +1 -0
- package/dist/components/Chat/ChatModelPicker.js +207 -0
- package/dist/components/Chat/ChatModelPicker.js.map +1 -0
- package/dist/components/Chat/ChatRoot.js +6 -0
- package/dist/components/Chat/ChatRoot.js.map +1 -0
- package/dist/components/Chat/ChatSuggestion.js +22 -0
- package/dist/components/Chat/ChatSuggestion.js.map +1 -0
- package/dist/components/Chat/ChatThinking.js +20 -0
- package/dist/components/Chat/ChatThinking.js.map +1 -0
- package/dist/components/Chat/ChatThread.js +68 -0
- package/dist/components/Chat/ChatThread.js.map +1 -0
- package/dist/components/Chat/ChatToolCall.js +59 -0
- package/dist/components/Chat/ChatToolCall.js.map +1 -0
- package/dist/components/Chat/index.js +29 -0
- package/dist/components/Chat/index.js.map +1 -0
- package/dist/components/Chat/stickToBottom.js +29 -0
- package/dist/components/Chat/stickToBottom.js.map +1 -0
- package/dist/components/Chat/tokenText.js +6 -0
- package/dist/components/Chat/tokenText.js.map +1 -0
- package/dist/components/Checkbox.js +79 -0
- package/dist/components/Checkbox.js.map +1 -0
- package/dist/components/ClampText.js +30 -0
- package/dist/components/ClampText.js.map +1 -0
- package/dist/components/CodeBlock.js +223 -0
- package/dist/components/CodeBlock.js.map +1 -0
- package/dist/components/CodeBlockHighlighter.js +103 -0
- package/dist/components/CodeBlockHighlighter.js.map +1 -0
- package/dist/components/CollapsibleSection.js +40 -0
- package/dist/components/CollapsibleSection.js.map +1 -0
- package/dist/components/Confetti.js +56 -0
- package/dist/components/Confetti.js.map +1 -0
- package/dist/components/ConfirmationDialog.js +234 -0
- package/dist/components/ConfirmationDialog.js.map +1 -0
- package/dist/components/ConnectionHeader.js +47 -0
- package/dist/components/ConnectionHeader.js.map +1 -0
- package/dist/components/CustomIcons/AccountIcon.js +28 -0
- package/dist/components/CustomIcons/AccountIcon.js.map +1 -0
- package/dist/components/CustomIcons/AccountsIcon.js +28 -0
- package/dist/components/CustomIcons/AccountsIcon.js.map +1 -0
- package/dist/components/CustomIcons/AddIcon.js +28 -0
- package/dist/components/CustomIcons/AddIcon.js.map +1 -0
- package/dist/components/CustomIcons/AdvancedLogsIcon.js +21 -0
- package/dist/components/CustomIcons/AdvancedLogsIcon.js.map +1 -0
- package/dist/components/CustomIcons/ApiKeysIcon.js +16 -0
- package/dist/components/CustomIcons/ApiKeysIcon.js.map +1 -0
- package/dist/components/CustomIcons/ArchiveIcon.js +16 -0
- package/dist/components/CustomIcons/ArchiveIcon.js.map +1 -0
- package/dist/components/CustomIcons/ArrowLeftIcon.js +16 -0
- package/dist/components/CustomIcons/ArrowLeftIcon.js.map +1 -0
- package/dist/components/CustomIcons/ArrowUpIcon.js +28 -0
- package/dist/components/CustomIcons/ArrowUpIcon.js.map +1 -0
- package/dist/components/CustomIcons/ArrowUpRightIcon.js +20 -0
- package/dist/components/CustomIcons/ArrowUpRightIcon.js.map +1 -0
- package/dist/components/CustomIcons/AuthenticationIcon.js +28 -0
- package/dist/components/CustomIcons/AuthenticationIcon.js.map +1 -0
- package/dist/components/CustomIcons/BellIcon.js +16 -0
- package/dist/components/CustomIcons/BellIcon.js.map +1 -0
- package/dist/components/CustomIcons/BellSlashIcon.js +16 -0
- package/dist/components/CustomIcons/BellSlashIcon.js.map +1 -0
- package/dist/components/CustomIcons/BiDirectionalArrowsIcon.js +21 -0
- package/dist/components/CustomIcons/BiDirectionalArrowsIcon.js.map +1 -0
- package/dist/components/CustomIcons/CardIcon.js +16 -0
- package/dist/components/CustomIcons/CardIcon.js.map +1 -0
- package/dist/components/CustomIcons/CaretDownIcon.js +16 -0
- package/dist/components/CustomIcons/CaretDownIcon.js.map +1 -0
- package/dist/components/CustomIcons/CaretLeftIcon.js +16 -0
- package/dist/components/CustomIcons/CaretLeftIcon.js.map +1 -0
- package/dist/components/CustomIcons/CaretRightIcon.js +21 -0
- package/dist/components/CustomIcons/CaretRightIcon.js.map +1 -0
- package/dist/components/CustomIcons/CaretUpIcon.js +16 -0
- package/dist/components/CustomIcons/CaretUpIcon.js.map +1 -0
- package/dist/components/CustomIcons/ChangePasswordIcon.js +21 -0
- package/dist/components/CustomIcons/ChangePasswordIcon.js.map +1 -0
- package/dist/components/CustomIcons/CheckCircleFilled.js +21 -0
- package/dist/components/CustomIcons/CheckCircleFilled.js.map +1 -0
- package/dist/components/CustomIcons/CheckIcon.js +28 -0
- package/dist/components/CustomIcons/CheckIcon.js.map +1 -0
- package/dist/components/CustomIcons/CheckmarkIcon.js +16 -0
- package/dist/components/CustomIcons/CheckmarkIcon.js.map +1 -0
- package/dist/components/CustomIcons/ClearIcon.js +28 -0
- package/dist/components/CustomIcons/ClearIcon.js.map +1 -0
- package/dist/components/CustomIcons/CloseIcon.js +28 -0
- package/dist/components/CustomIcons/CloseIcon.js.map +1 -0
- package/dist/components/CustomIcons/CodeIcon.js +16 -0
- package/dist/components/CustomIcons/CodeIcon.js.map +1 -0
- package/dist/components/CustomIcons/CommandKeyIcon.js +21 -0
- package/dist/components/CustomIcons/CommandKeyIcon.js.map +1 -0
- package/dist/components/CustomIcons/CopyIcon.js +28 -0
- package/dist/components/CustomIcons/CopyIcon.js.map +1 -0
- package/dist/components/CustomIcons/CsvIcon.js +28 -0
- package/dist/components/CustomIcons/CsvIcon.js.map +1 -0
- package/dist/components/CustomIcons/CustomFieldIcon.js +21 -0
- package/dist/components/CustomIcons/CustomFieldIcon.js.map +1 -0
- package/dist/components/CustomIcons/DashboardIcon.js +28 -0
- package/dist/components/CustomIcons/DashboardIcon.js.map +1 -0
- package/dist/components/CustomIcons/DateIcon.js +28 -0
- package/dist/components/CustomIcons/DateIcon.js.map +1 -0
- package/dist/components/CustomIcons/DisableIcon.js +28 -0
- package/dist/components/CustomIcons/DisableIcon.js.map +1 -0
- package/dist/components/CustomIcons/DisabledIcon.js +28 -0
- package/dist/components/CustomIcons/DisabledIcon.js.map +1 -0
- package/dist/components/CustomIcons/DismissIcon.js +15 -0
- package/dist/components/CustomIcons/DismissIcon.js.map +1 -0
- package/dist/components/CustomIcons/DocIcon.js +28 -0
- package/dist/components/CustomIcons/DocIcon.js.map +1 -0
- package/dist/components/CustomIcons/DoubleCheckIcon.js +21 -0
- package/dist/components/CustomIcons/DoubleCheckIcon.js.map +1 -0
- package/dist/components/CustomIcons/DownloadIcon.js +28 -0
- package/dist/components/CustomIcons/DownloadIcon.js.map +1 -0
- package/dist/components/CustomIcons/EditIcon.js +28 -0
- package/dist/components/CustomIcons/EditIcon.js.map +1 -0
- package/dist/components/CustomIcons/EnableIcon.js +28 -0
- package/dist/components/CustomIcons/EnableIcon.js.map +1 -0
- package/dist/components/CustomIcons/EnumIcon.js +28 -0
- package/dist/components/CustomIcons/EnumIcon.js.map +1 -0
- package/dist/components/CustomIcons/ErrorCircleFilled.js +21 -0
- package/dist/components/CustomIcons/ErrorCircleFilled.js.map +1 -0
- package/dist/components/CustomIcons/ExpandIcon.js +28 -0
- package/dist/components/CustomIcons/ExpandIcon.js.map +1 -0
- package/dist/components/CustomIcons/EyeClosedIcon.js +16 -0
- package/dist/components/CustomIcons/EyeClosedIcon.js.map +1 -0
- package/dist/components/CustomIcons/EyeIcon.js +16 -0
- package/dist/components/CustomIcons/EyeIcon.js.map +1 -0
- package/dist/components/CustomIcons/FieldMappingIcon.js +21 -0
- package/dist/components/CustomIcons/FieldMappingIcon.js.map +1 -0
- package/dist/components/CustomIcons/FilledCaretDownIcon.js +21 -0
- package/dist/components/CustomIcons/FilledCaretDownIcon.js.map +1 -0
- package/dist/components/CustomIcons/FilledCaretRightIcon.js +21 -0
- package/dist/components/CustomIcons/FilledCaretRightIcon.js.map +1 -0
- package/dist/components/CustomIcons/FilterIcon.js +28 -0
- package/dist/components/CustomIcons/FilterIcon.js.map +1 -0
- package/dist/components/CustomIcons/ForbiddenIcon.js +28 -0
- package/dist/components/CustomIcons/ForbiddenIcon.js.map +1 -0
- package/dist/components/CustomIcons/ForwardArrowIcon.js +21 -0
- package/dist/components/CustomIcons/ForwardArrowIcon.js.map +1 -0
- package/dist/components/CustomIcons/GlobeIcon.js +16 -0
- package/dist/components/CustomIcons/GlobeIcon.js.map +1 -0
- package/dist/components/CustomIcons/InboxIcon.js +16 -0
- package/dist/components/CustomIcons/InboxIcon.js.map +1 -0
- package/dist/components/CustomIcons/InfoCircleFilled.js +21 -0
- package/dist/components/CustomIcons/InfoCircleFilled.js.map +1 -0
- package/dist/components/CustomIcons/InfoFilledIcon.js +21 -0
- package/dist/components/CustomIcons/InfoFilledIcon.js.map +1 -0
- package/dist/components/CustomIcons/InfoIcon.js +28 -0
- package/dist/components/CustomIcons/InfoIcon.js.map +1 -0
- package/dist/components/CustomIcons/IntegrationsIcon.js +28 -0
- package/dist/components/CustomIcons/IntegrationsIcon.js.map +1 -0
- package/dist/components/CustomIcons/KeyIcon.js +28 -0
- package/dist/components/CustomIcons/KeyIcon.js.map +1 -0
- package/dist/components/CustomIcons/LibraryIcon.js +16 -0
- package/dist/components/CustomIcons/LibraryIcon.js.map +1 -0
- package/dist/components/CustomIcons/LogsIcon.js +28 -0
- package/dist/components/CustomIcons/LogsIcon.js.map +1 -0
- package/dist/components/CustomIcons/MagicWandIcon.js +16 -0
- package/dist/components/CustomIcons/MagicWandIcon.js.map +1 -0
- package/dist/components/CustomIcons/ManageTeamIcon.js +21 -0
- package/dist/components/CustomIcons/ManageTeamIcon.js.map +1 -0
- package/dist/components/CustomIcons/ManualWebhookIcon.js +21 -0
- package/dist/components/CustomIcons/ManualWebhookIcon.js.map +1 -0
- package/dist/components/CustomIcons/MarkReadIcon.js +16 -0
- package/dist/components/CustomIcons/MarkReadIcon.js.map +1 -0
- package/dist/components/CustomIcons/MarkUnreadIcon.js +21 -0
- package/dist/components/CustomIcons/MarkUnreadIcon.js.map +1 -0
- package/dist/components/CustomIcons/MembersIcon.js +28 -0
- package/dist/components/CustomIcons/MembersIcon.js.map +1 -0
- package/dist/components/CustomIcons/ModalIcon.js +28 -0
- package/dist/components/CustomIcons/ModalIcon.js.map +1 -0
- package/dist/components/CustomIcons/MoreHorizontalIcon.js +21 -0
- package/dist/components/CustomIcons/MoreHorizontalIcon.js.map +1 -0
- package/dist/components/CustomIcons/MoreVerticalIcon.js +21 -0
- package/dist/components/CustomIcons/MoreVerticalIcon.js.map +1 -0
- package/dist/components/CustomIcons/NavbarCollapseIcon.js +21 -0
- package/dist/components/CustomIcons/NavbarCollapseIcon.js.map +1 -0
- package/dist/components/CustomIcons/NavbarExpandIcon.js +21 -0
- package/dist/components/CustomIcons/NavbarExpandIcon.js.map +1 -0
- package/dist/components/CustomIcons/NotFoundIcon.js +16 -0
- package/dist/components/CustomIcons/NotFoundIcon.js.map +1 -0
- package/dist/components/CustomIcons/OrganizationIcon.js +21 -0
- package/dist/components/CustomIcons/OrganizationIcon.js.map +1 -0
- package/dist/components/CustomIcons/PinIcon.js +16 -0
- package/dist/components/CustomIcons/PinIcon.js.map +1 -0
- package/dist/components/CustomIcons/PlusIcon.js +28 -0
- package/dist/components/CustomIcons/PlusIcon.js.map +1 -0
- package/dist/components/CustomIcons/PreviewIcon.js +28 -0
- package/dist/components/CustomIcons/PreviewIcon.js.map +1 -0
- package/dist/components/CustomIcons/ProgrammaticWebhookIcon.js +21 -0
- package/dist/components/CustomIcons/ProgrammaticWebhookIcon.js.map +1 -0
- package/dist/components/CustomIcons/PulseIcon.js +28 -0
- package/dist/components/CustomIcons/PulseIcon.js.map +1 -0
- package/dist/components/CustomIcons/RefreshIcon.js +28 -0
- package/dist/components/CustomIcons/RefreshIcon.js.map +1 -0
- package/dist/components/CustomIcons/RejectIcon.js +28 -0
- package/dist/components/CustomIcons/RejectIcon.js.map +1 -0
- package/dist/components/CustomIcons/ReloadIcon.js +28 -0
- package/dist/components/CustomIcons/ReloadIcon.js.map +1 -0
- package/dist/components/CustomIcons/ReplyIcon.js +16 -0
- package/dist/components/CustomIcons/ReplyIcon.js.map +1 -0
- package/dist/components/CustomIcons/RequiredFieldIndicatorIcon.js +21 -0
- package/dist/components/CustomIcons/RequiredFieldIndicatorIcon.js.map +1 -0
- package/dist/components/CustomIcons/SearchIcon.js +15 -0
- package/dist/components/CustomIcons/SearchIcon.js.map +1 -0
- package/dist/components/CustomIcons/SecurityIcon.js +28 -0
- package/dist/components/CustomIcons/SecurityIcon.js.map +1 -0
- package/dist/components/CustomIcons/SendIcon.js +16 -0
- package/dist/components/CustomIcons/SendIcon.js.map +1 -0
- package/dist/components/CustomIcons/SettingsIcon.js +28 -0
- package/dist/components/CustomIcons/SettingsIcon.js.map +1 -0
- package/dist/components/CustomIcons/SignOutIcon.js +16 -0
- package/dist/components/CustomIcons/SignOutIcon.js.map +1 -0
- package/dist/components/CustomIcons/SliderIcon.js +28 -0
- package/dist/components/CustomIcons/SliderIcon.js.map +1 -0
- package/dist/components/CustomIcons/SortIcon.js +28 -0
- package/dist/components/CustomIcons/SortIcon.js.map +1 -0
- package/dist/components/CustomIcons/SourceIcon.js +28 -0
- package/dist/components/CustomIcons/SourceIcon.js.map +1 -0
- package/dist/components/CustomIcons/SparkleIcon.js +16 -0
- package/dist/components/CustomIcons/SparkleIcon.js.map +1 -0
- package/dist/components/CustomIcons/StarIcon.js +16 -0
- package/dist/components/CustomIcons/StarIcon.js.map +1 -0
- package/dist/components/CustomIcons/StepCurrentIcon.js +21 -0
- package/dist/components/CustomIcons/StepCurrentIcon.js.map +1 -0
- package/dist/components/CustomIcons/StepUpcomingIcon.js +21 -0
- package/dist/components/CustomIcons/StepUpcomingIcon.js.map +1 -0
- package/dist/components/CustomIcons/SyntheticWebhookIcon.js +21 -0
- package/dist/components/CustomIcons/SyntheticWebhookIcon.js.map +1 -0
- package/dist/components/CustomIcons/ThumbsDownIcon.js +21 -0
- package/dist/components/CustomIcons/ThumbsDownIcon.js.map +1 -0
- package/dist/components/CustomIcons/ThumbsUpIcon.js +16 -0
- package/dist/components/CustomIcons/ThumbsUpIcon.js.map +1 -0
- package/dist/components/CustomIcons/TrashIcon.js +28 -0
- package/dist/components/CustomIcons/TrashIcon.js.map +1 -0
- package/dist/components/CustomIcons/TriangleDownIcon.js +21 -0
- package/dist/components/CustomIcons/TriangleDownIcon.js.map +1 -0
- package/dist/components/CustomIcons/TriangleRightIcon.js +21 -0
- package/dist/components/CustomIcons/TriangleRightIcon.js.map +1 -0
- package/dist/components/CustomIcons/UnarchiveIcon.js +16 -0
- package/dist/components/CustomIcons/UnarchiveIcon.js.map +1 -0
- package/dist/components/CustomIcons/UploadIcon.js +28 -0
- package/dist/components/CustomIcons/UploadIcon.js.map +1 -0
- package/dist/components/CustomIcons/WarningCircleFilled.js +21 -0
- package/dist/components/CustomIcons/WarningCircleFilled.js.map +1 -0
- package/dist/components/CustomIcons/WarningTriangleIcon.js +21 -0
- package/dist/components/CustomIcons/WarningTriangleIcon.js.map +1 -0
- package/dist/components/CustomIcons/WebhookEventsIcon.js +28 -0
- package/dist/components/CustomIcons/WebhookEventsIcon.js.map +1 -0
- package/dist/components/CustomIcons/WebhookIcon.js +28 -0
- package/dist/components/CustomIcons/WebhookIcon.js.map +1 -0
- package/dist/components/CustomIcons/WebhookSigningSecretIcon.js +21 -0
- package/dist/components/CustomIcons/WebhookSigningSecretIcon.js.map +1 -0
- package/dist/components/CustomIcons/index.js +328 -0
- package/dist/components/CustomIcons/index.js.map +1 -0
- package/dist/components/DefinitionRow.js +15 -0
- package/dist/components/DefinitionRow.js.map +1 -0
- package/dist/components/DisclosureArrow.js +20 -0
- package/dist/components/DisclosureArrow.js.map +1 -0
- package/dist/components/Divider.js +59 -0
- package/dist/components/Divider.js.map +1 -0
- package/dist/components/Dropdown.js +849 -0
- package/dist/components/Dropdown.js.map +1 -0
- package/dist/components/FieldBlock.js +25 -0
- package/dist/components/FieldBlock.js.map +1 -0
- package/dist/components/FieldGroup.js +23 -0
- package/dist/components/FieldGroup.js.map +1 -0
- package/dist/components/FieldMessage.js +15 -0
- package/dist/components/FieldMessage.js.map +1 -0
- package/dist/components/Flex.js +45 -0
- package/dist/components/Flex.js.map +1 -0
- package/dist/components/FooterLinks.js +88 -0
- package/dist/components/FooterLinks.js.map +1 -0
- package/dist/components/FooterNav.js +19 -0
- package/dist/components/FooterNav.js.map +1 -0
- package/dist/components/Form.js +26 -0
- package/dist/components/Form.js.map +1 -0
- package/dist/components/FormItem.js +32 -0
- package/dist/components/FormItem.js.map +1 -0
- package/dist/components/FormSectionHeading.js +20 -0
- package/dist/components/FormSectionHeading.js.map +1 -0
- package/dist/components/InlineConfirm.js +129 -0
- package/dist/components/InlineConfirm.js.map +1 -0
- package/dist/components/Input/Input.js +302 -0
- package/dist/components/Input/Input.js.map +1 -0
- package/dist/components/KeyValueList.js +26 -0
- package/dist/components/KeyValueList.js.map +1 -0
- package/dist/components/Link.js +47 -0
- package/dist/components/Link.js.map +1 -0
- package/dist/components/LoadingBar.js +85 -0
- package/dist/components/LoadingBar.js.map +1 -0
- package/dist/components/LoadingInput.js +29 -0
- package/dist/components/LoadingInput.js.map +1 -0
- package/dist/components/MalachiteContext.js +18 -0
- package/dist/components/MalachiteContext.js.map +1 -0
- package/dist/components/Modal.js +212 -0
- package/dist/components/Modal.js.map +1 -0
- package/dist/components/MultiSelect.js +645 -0
- package/dist/components/MultiSelect.js.map +1 -0
- package/dist/components/NumberTag.js +22 -0
- package/dist/components/NumberTag.js.map +1 -0
- package/dist/components/OverflowRow.js +153 -0
- package/dist/components/OverflowRow.js.map +1 -0
- package/dist/components/Padded.js +39 -0
- package/dist/components/Padded.js.map +1 -0
- package/dist/components/PageLayout/constants.js +12 -0
- package/dist/components/PageLayout/constants.js.map +1 -0
- package/dist/components/PageLayout/emptyLayout.js +61 -0
- package/dist/components/PageLayout/emptyLayout.js.map +1 -0
- package/dist/components/PageLayout/index.js +10 -0
- package/dist/components/PageLayout/index.js.map +1 -0
- package/dist/components/PageLayout/regularLayout.js +177 -0
- package/dist/components/PageLayout/regularLayout.js.map +1 -0
- package/dist/components/PillButton.js +70 -0
- package/dist/components/PillButton.js.map +1 -0
- package/dist/components/PreviewTree.js +49 -0
- package/dist/components/PreviewTree.js.map +1 -0
- package/dist/components/Progress.js +69 -0
- package/dist/components/Progress.js.map +1 -0
- package/dist/components/QueryInput.js +370 -0
- package/dist/components/QueryInput.js.map +1 -0
- package/dist/components/Radio.js +63 -0
- package/dist/components/Radio.js.map +1 -0
- package/dist/components/Search.js +54 -0
- package/dist/components/Search.js.map +1 -0
- package/dist/components/SegmentedControl.js +107 -0
- package/dist/components/SegmentedControl.js.map +1 -0
- package/dist/components/SelectableCard.js +364 -0
- package/dist/components/SelectableCard.js.map +1 -0
- package/dist/components/SelectionBar.js +103 -0
- package/dist/components/SelectionBar.js.map +1 -0
- package/dist/components/SettingRow.js +40 -0
- package/dist/components/SettingRow.js.map +1 -0
- package/dist/components/ShadowEscape.js +166 -0
- package/dist/components/ShadowEscape.js.map +1 -0
- package/dist/components/SidePanel.js +140 -0
- package/dist/components/SidePanel.js.map +1 -0
- package/dist/components/SidePanelNavFooter.js +46 -0
- package/dist/components/SidePanelNavFooter.js.map +1 -0
- package/dist/components/Skeleton.js +106 -0
- package/dist/components/Skeleton.js.map +1 -0
- package/dist/components/Spacer.js +63 -0
- package/dist/components/Spacer.js.map +1 -0
- package/dist/components/Spinner.js +86 -0
- package/dist/components/Spinner.js.map +1 -0
- package/dist/components/SplitScreenLayout.js +51 -0
- package/dist/components/SplitScreenLayout.js.map +1 -0
- package/dist/components/StatBadge.js +10 -0
- package/dist/components/StatBadge.js.map +1 -0
- package/dist/components/Statistic.js +48 -0
- package/dist/components/Statistic.js.map +1 -0
- package/dist/components/StatusBadge.js +56 -0
- package/dist/components/StatusBadge.js.map +1 -0
- package/dist/components/StepTabs.js +52 -0
- package/dist/components/StepTabs.js.map +1 -0
- package/dist/components/Stepper.js +40 -0
- package/dist/components/Stepper.js.map +1 -0
- package/dist/components/Surface.js +143 -0
- package/dist/components/Surface.js.map +1 -0
- package/dist/components/Swatch.js +44 -0
- package/dist/components/Swatch.js.map +1 -0
- package/dist/components/Table/Table.js +1007 -0
- package/dist/components/Table/Table.js.map +1 -0
- package/dist/components/Table/TablePagination.js +205 -0
- package/dist/components/Table/TablePagination.js.map +1 -0
- package/dist/components/Tabs.js +35 -0
- package/dist/components/Tabs.js.map +1 -0
- package/dist/components/Tag.js +154 -0
- package/dist/components/Tag.js.map +1 -0
- package/dist/components/TextArea/TextArea.js +289 -0
- package/dist/components/TextArea/TextArea.js.map +1 -0
- package/dist/components/ThemeScope.js +14 -0
- package/dist/components/ThemeScope.js.map +1 -0
- package/dist/components/Toggle.js +115 -0
- package/dist/components/Toggle.js.map +1 -0
- package/dist/components/Toolbar.js +25 -0
- package/dist/components/Toolbar.js.map +1 -0
- package/dist/components/Tooltip.js +181 -0
- package/dist/components/Tooltip.js.map +1 -0
- package/dist/components/TruncatedTooltip.js +38 -0
- package/dist/components/TruncatedTooltip.js.map +1 -0
- package/dist/components/Typography/CodeText.js +49 -0
- package/dist/components/Typography/CodeText.js.map +1 -0
- package/dist/components/Typography/EllipsisText.js +27 -0
- package/dist/components/Typography/EllipsisText.js.map +1 -0
- package/dist/components/Typography/FormSectionTitle.js +21 -0
- package/dist/components/Typography/FormSectionTitle.js.map +1 -0
- package/dist/components/Typography/LinkText.js +32 -0
- package/dist/components/Typography/LinkText.js.map +1 -0
- package/dist/components/Typography/MarkdownBlock.js +304 -0
- package/dist/components/Typography/MarkdownBlock.js.map +1 -0
- package/dist/components/Typography/PageTitle.js +21 -0
- package/dist/components/Typography/PageTitle.js.map +1 -0
- package/dist/components/Typography/SecondaryText.js +51 -0
- package/dist/components/Typography/SecondaryText.js.map +1 -0
- package/dist/components/Typography/SectionTitle.js +16 -0
- package/dist/components/Typography/SectionTitle.js.map +1 -0
- package/dist/components/Typography/StatisticLabel.js +22 -0
- package/dist/components/Typography/StatisticLabel.js.map +1 -0
- package/dist/components/Typography/StatisticValue.js +21 -0
- package/dist/components/Typography/StatisticValue.js.map +1 -0
- package/dist/components/Typography/TerminalText.js +45 -0
- package/dist/components/Typography/TerminalText.js.map +1 -0
- package/dist/components/Typography/Text.js +31 -0
- package/dist/components/Typography/Text.js.map +1 -0
- package/dist/components/Typography/index.js +31 -0
- package/dist/components/Typography/index.js.map +1 -0
- package/dist/components/Typography/textStyles.js +66 -0
- package/dist/components/Typography/textStyles.js.map +1 -0
- package/dist/components/WizardLayout.js +113 -0
- package/dist/components/WizardLayout.js.map +1 -0
- package/dist/components/actionBarMenuItems.js +16 -0
- package/dist/components/actionBarMenuItems.js.map +1 -0
- package/dist/components/activeElement.js +11 -0
- package/dist/components/activeElement.js.map +1 -0
- package/dist/components/breadcrumbsNav.js +5 -0
- package/dist/components/breadcrumbsNav.js.map +1 -0
- package/dist/components/cardStripSlot.js +9 -0
- package/dist/components/cardStripSlot.js.map +1 -0
- package/dist/components/codeBlockDiff.js +78 -0
- package/dist/components/codeBlockDiff.js.map +1 -0
- package/dist/components/codeBlockLine.js +90 -0
- package/dist/components/codeBlockLine.js.map +1 -0
- package/dist/components/codeBlockStyles.js +20 -0
- package/dist/components/codeBlockStyles.js.map +1 -0
- package/dist/components/confirmationDialogVariants.js +30 -0
- package/dist/components/confirmationDialogVariants.js.map +1 -0
- package/dist/components/controlTextSize.js +14 -0
- package/dist/components/controlTextSize.js.map +1 -0
- package/dist/components/devWarning.js +22 -0
- package/dist/components/devWarning.js.map +1 -0
- package/dist/components/dividerTypes.js +7 -0
- package/dist/components/dividerTypes.js.map +1 -0
- package/dist/components/dropdownPanelPosition.js +38 -0
- package/dist/components/dropdownPanelPosition.js.map +1 -0
- package/dist/components/dropdownTriggerStyle.js +36 -0
- package/dist/components/dropdownTriggerStyle.js.map +1 -0
- package/dist/components/escapeLayers.js +13 -0
- package/dist/components/escapeLayers.js.map +1 -0
- package/dist/components/flexTypes.js +8 -0
- package/dist/components/flexTypes.js.map +1 -0
- package/dist/components/focusRing.js +9 -0
- package/dist/components/focusRing.js.map +1 -0
- package/dist/components/formItemState.js +12 -0
- package/dist/components/formItemState.js.map +1 -0
- package/dist/components/glassSurface.js +10 -0
- package/dist/components/glassSurface.js.map +1 -0
- package/dist/components/injectStyleSheet.js +33 -0
- package/dist/components/injectStyleSheet.js.map +1 -0
- package/dist/components/inlineConfirmPosition.js +27 -0
- package/dist/components/inlineConfirmPosition.js.map +1 -0
- package/dist/components/keyboardActivation.js +14 -0
- package/dist/components/keyboardActivation.js.map +1 -0
- package/dist/components/modalTray.js +16 -0
- package/dist/components/modalTray.js.map +1 -0
- package/dist/components/optionRowStyles.js +27 -0
- package/dist/components/optionRowStyles.js.map +1 -0
- package/dist/components/overlayBehaviour.js +118 -0
- package/dist/components/overlayBehaviour.js.map +1 -0
- package/dist/components/portalOverlay.js +35 -0
- package/dist/components/portalOverlay.js.map +1 -0
- package/dist/components/prismCedar.js +27 -0
- package/dist/components/prismCedar.js.map +1 -0
- package/dist/components/queryInputGeometry.js +24 -0
- package/dist/components/queryInputGeometry.js.map +1 -0
- package/dist/components/renderableNode.js +6 -0
- package/dist/components/renderableNode.js.map +1 -0
- package/dist/components/safeHref.js +11 -0
- package/dist/components/safeHref.js.map +1 -0
- package/dist/components/scrollLock.js +19 -0
- package/dist/components/scrollLock.js.map +1 -0
- package/dist/components/selectedRow.js +14 -0
- package/dist/components/selectedRow.js.map +1 -0
- package/dist/components/selectionBarChrome.js +63 -0
- package/dist/components/selectionBarChrome.js.map +1 -0
- package/dist/components/topLayer.js +29 -0
- package/dist/components/topLayer.js.map +1 -0
- package/dist/components/useAdoptedStyleSheet.js +41 -0
- package/dist/components/useAdoptedStyleSheet.js.map +1 -0
- package/dist/geist-font.js +23 -0
- package/dist/geist-font.js.map +1 -0
- package/dist/index.d.ts +1056 -86
- package/dist/index.js +403 -104
- package/dist/index.js.map +1 -1
- package/dist/inter-font.js +35 -0
- package/dist/inter-font.js.map +1 -0
- package/dist/stack-sans-font.js +17 -0
- package/dist/stack-sans-font.js.map +1 -0
- package/dist/tailwind.css.js +5 -0
- package/dist/tailwind.css.js.map +1 -0
- package/dist/theme.js +1959 -0
- package/dist/theme.js.map +1 -0
- package/dist/vendor/@fontsource/geist-sans/files/geist-sans-latin-400-normal.woff2.js +5 -0
- package/dist/vendor/@fontsource/geist-sans/files/geist-sans-latin-400-normal.woff2.js.map +1 -0
- package/dist/vendor/@fontsource/geist-sans/files/geist-sans-latin-500-normal.woff2.js +5 -0
- package/dist/vendor/@fontsource/geist-sans/files/geist-sans-latin-500-normal.woff2.js.map +1 -0
- package/dist/vendor/@fontsource/inter/files/inter-latin-400-normal.woff2.js +5 -0
- package/dist/vendor/@fontsource/inter/files/inter-latin-400-normal.woff2.js.map +1 -0
- package/dist/vendor/@fontsource/inter/files/inter-latin-500-normal.woff2.js +5 -0
- package/dist/vendor/@fontsource/inter/files/inter-latin-500-normal.woff2.js.map +1 -0
- package/dist/vendor/@fontsource/inter/files/inter-latin-600-normal.woff2.js +5 -0
- package/dist/vendor/@fontsource/inter/files/inter-latin-600-normal.woff2.js.map +1 -0
- package/dist/vendor/@fontsource/inter/files/inter-latin-700-normal.woff2.js +5 -0
- package/dist/vendor/@fontsource/inter/files/inter-latin-700-normal.woff2.js.map +1 -0
- package/dist/vendor/@fontsource/inter/files/inter-latin-ext-400-normal.woff2.js +5 -0
- package/dist/vendor/@fontsource/inter/files/inter-latin-ext-400-normal.woff2.js.map +1 -0
- package/dist/vendor/@fontsource/inter/files/inter-latin-ext-500-normal.woff2.js +5 -0
- package/dist/vendor/@fontsource/inter/files/inter-latin-ext-500-normal.woff2.js.map +1 -0
- package/dist/vendor/@fontsource/inter/files/inter-latin-ext-600-normal.woff2.js +5 -0
- package/dist/vendor/@fontsource/inter/files/inter-latin-ext-600-normal.woff2.js.map +1 -0
- package/dist/vendor/@fontsource/inter/files/inter-latin-ext-700-normal.woff2.js +5 -0
- package/dist/vendor/@fontsource/inter/files/inter-latin-ext-700-normal.woff2.js.map +1 -0
- package/dist/vendor/@fontsource-variable/stack-sans-text/files/stack-sans-text-latin-wght-normal.woff2.js +5 -0
- package/dist/vendor/@fontsource-variable/stack-sans-text/files/stack-sans-text-latin-wght-normal.woff2.js.map +1 -0
- package/package.json +6 -1
- package/dist/CodeBlockHighlighter-BJeE32YS.js +0 -2791
- package/dist/CodeBlockHighlighter-BJeE32YS.js.map +0 -1
- package/dist/index-P2H4or4t.js +0 -19528
- package/dist/index-P2H4or4t.js.map +0 -1
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { jsx as g, jsxs as I } from "react/jsx-runtime";
|
|
2
|
+
import { useRef as $, useCallback as A } from "react";
|
|
3
|
+
import { FOCUS_RING as E } from "./focusRing.js";
|
|
4
|
+
const D = {
|
|
5
|
+
small: {
|
|
6
|
+
text: "text-[length:var(--malachite-font-size-small,13px)]",
|
|
7
|
+
track: "h-[var(--malachite-control-height-small,28px)]",
|
|
8
|
+
item: "h-full px-2.5"
|
|
9
|
+
},
|
|
10
|
+
medium: {
|
|
11
|
+
text: "text-[length:var(--malachite-font-size-small,13px)]",
|
|
12
|
+
track: "h-[var(--malachite-control-height-medium,32px)]",
|
|
13
|
+
item: "h-full px-2.5"
|
|
14
|
+
},
|
|
15
|
+
large: {
|
|
16
|
+
text: "text-[length:var(--malachite-font-size-15,15px)]",
|
|
17
|
+
track: "h-[var(--malachite-control-height-large,42px)]",
|
|
18
|
+
item: "h-full px-4"
|
|
19
|
+
}
|
|
20
|
+
}, N = /* @__PURE__ */ new Set(["ArrowLeft", "ArrowRight", "ArrowUp", "ArrowDown", "Home", "End"]), j = "inline-flex items-center justify-center gap-1.5 rounded-[var(--malachite-radius-10,10px)] border-0 font-medium tracking-[0.13px] whitespace-nowrap transition-colors duration-150 ease-in-out", K = ({
|
|
21
|
+
options: n,
|
|
22
|
+
value: s,
|
|
23
|
+
onChange: d,
|
|
24
|
+
size: b = "medium",
|
|
25
|
+
fullWidth: u = !1,
|
|
26
|
+
disabled: o = !1,
|
|
27
|
+
"aria-label": p,
|
|
28
|
+
"aria-labelledby": k,
|
|
29
|
+
className: v = ""
|
|
30
|
+
}) => {
|
|
31
|
+
const x = $([]), m = D[b], f = n.findIndex((e) => e.value === s), w = f >= 0 && !n[f].disabled ? f : n.findIndex((e) => !e.disabled), y = A(
|
|
32
|
+
(e) => {
|
|
33
|
+
var c;
|
|
34
|
+
if (o || !N.has(e.key))
|
|
35
|
+
return;
|
|
36
|
+
const t = n.reduce((i, h, S) => (h.disabled || i.push({ option: h, index: S }), i), []);
|
|
37
|
+
if (t.length === 0)
|
|
38
|
+
return;
|
|
39
|
+
e.preventDefault();
|
|
40
|
+
const l = t.findIndex(({ option: i }) => i.value === s);
|
|
41
|
+
let r;
|
|
42
|
+
if (e.key === "Home")
|
|
43
|
+
r = 0;
|
|
44
|
+
else if (e.key === "End")
|
|
45
|
+
r = t.length - 1;
|
|
46
|
+
else {
|
|
47
|
+
const i = e.key === "ArrowLeft" || e.key === "ArrowUp" ? -1 : 1;
|
|
48
|
+
r = ((l === -1 ? 0 : l) + i + t.length) % t.length;
|
|
49
|
+
}
|
|
50
|
+
const a = t[r];
|
|
51
|
+
a.option.value !== s && d(a.option.value), (c = x.current[a.index]) == null || c.focus();
|
|
52
|
+
},
|
|
53
|
+
[o, d, n, s]
|
|
54
|
+
);
|
|
55
|
+
return /* @__PURE__ */ g(
|
|
56
|
+
"div",
|
|
57
|
+
{
|
|
58
|
+
role: "radiogroup",
|
|
59
|
+
"aria-label": p,
|
|
60
|
+
"aria-labelledby": k,
|
|
61
|
+
"aria-disabled": o || void 0,
|
|
62
|
+
onKeyDown: y,
|
|
63
|
+
className: `${// One display utility, not two: `flex` and `inline-flex` are both plain
|
|
64
|
+
// `display` utilities, so emitting both would resolve by stylesheet order
|
|
65
|
+
// (same hazard as the background above).
|
|
66
|
+
u ? "flex w-full" : "inline-flex"} ${m.track} items-center gap-1 p-0.5 rounded-xl bg-[var(--malachite-segmented-control-track-background)] ${o ? "opacity-50" : ""} ${v}`,
|
|
67
|
+
children: n.map((e, t) => {
|
|
68
|
+
const l = e.value === s, r = o || e.disabled;
|
|
69
|
+
let a;
|
|
70
|
+
return l ? a = "bg-[var(--malachite-segmented-control-selected-background)] text-[var(--malachite-segmented-control-selected-foreground)]" : r ? a = "bg-transparent text-[var(--malachite-segmented-control-item-foreground)]" : a = "bg-transparent text-[var(--malachite-segmented-control-item-foreground)] hover:text-[var(--malachite-segmented-control-item-hover-foreground)] cursor-pointer", /* @__PURE__ */ I(
|
|
71
|
+
"button",
|
|
72
|
+
{
|
|
73
|
+
ref: (c) => {
|
|
74
|
+
x.current[t] = c;
|
|
75
|
+
},
|
|
76
|
+
type: "button",
|
|
77
|
+
role: "radio",
|
|
78
|
+
"aria-checked": l,
|
|
79
|
+
disabled: r,
|
|
80
|
+
tabIndex: t === w ? 0 : -1,
|
|
81
|
+
onClick: () => {
|
|
82
|
+
!r && !l && d(e.value);
|
|
83
|
+
},
|
|
84
|
+
className: `${E} ${j} ${m.text} ${m.item} ${a} ${u ? "flex-1" : ""} ${e.disabled && !o ? "opacity-50 cursor-not-allowed" : ""}`,
|
|
85
|
+
style: {
|
|
86
|
+
// Inline rather than a `shadow-[...]` class: Tailwind's shadow
|
|
87
|
+
// utilities compose `--tw-shadow-*` custom properties that rely on
|
|
88
|
+
// document-level @property registration and silently don't paint
|
|
89
|
+
// inside a shadow root (same caveat as `ring-*`).
|
|
90
|
+
boxShadow: l ? "var(--malachite-segmented-control-selected-shadow, 0px 1px 5px 0px rgba(0, 0, 0, 0.1))" : void 0
|
|
91
|
+
},
|
|
92
|
+
children: [
|
|
93
|
+
e.icon ? /* @__PURE__ */ g("span", { className: "inline-flex items-center justify-center w-4 h-4 shrink-0", children: e.icon }) : null,
|
|
94
|
+
e.label
|
|
95
|
+
]
|
|
96
|
+
},
|
|
97
|
+
e.value
|
|
98
|
+
);
|
|
99
|
+
})
|
|
100
|
+
}
|
|
101
|
+
);
|
|
102
|
+
};
|
|
103
|
+
export {
|
|
104
|
+
K as SegmentedControl,
|
|
105
|
+
K as default
|
|
106
|
+
};
|
|
107
|
+
//# sourceMappingURL=SegmentedControl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SegmentedControl.js","sources":["../../src/components/SegmentedControl.tsx"],"sourcesContent":["import React, { useCallback, useRef } from 'react';\nimport { FOCUS_RING } from './focusRing';\n\ntype SegmentedControlSize = 'small' | 'medium' | 'large';\n\ninterface SegmentedControlOption<T extends string = string> {\n value: T;\n label: string;\n icon?: React.ReactNode;\n disabled?: boolean;\n}\n\ninterface SegmentedControlProps<T extends string = string> {\n options: SegmentedControlOption<T>[];\n /** The selected option's value. A value not present in `options` renders nothing selected. */\n value: T;\n onChange: (value: T) => void;\n size?: SegmentedControlSize;\n /** Stretch the track to its container and split it into equal segments. */\n fullWidth?: boolean;\n /** Disables every segment. Individual segments can also be disabled via `options`. */\n disabled?: boolean;\n 'aria-label'?: string;\n 'aria-labelledby'?: string;\n className?: string;\n}\n\n// The ladder governs a control's outer box. The height therefore sits on the track and\n// the items fill whatever the 4px inset leaves — putting it on the item instead makes a\n// `medium` segmented control 40px tall beside a 32px Dropdown.\nconst SIZE_CLASSES: Record<SegmentedControlSize, { text: string; track: string; item: string }> = {\n small: {\n text: 'text-[length:var(--malachite-font-size-small,13px)]',\n track: 'h-[var(--malachite-control-height-small,28px)]',\n item: 'h-full px-2.5',\n },\n medium: {\n text: 'text-[length:var(--malachite-font-size-small,13px)]',\n track: 'h-[var(--malachite-control-height-medium,32px)]',\n item: 'h-full px-2.5',\n },\n large: {\n text: 'text-[length:var(--malachite-font-size-15,15px)]',\n track: 'h-[var(--malachite-control-height-large,42px)]',\n item: 'h-full px-4',\n },\n};\n\n/** Arrow keys move AND select, per the WAI-ARIA radiogroup pattern. */\nconst NAV_KEYS = new Set(['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Home', 'End']);\n\n// Deliberately no `bg-*` here: each state branch below supplies exactly one\n// background-color utility. Both `bg-transparent` and `bg-[var(--…)]` are plain\n// single-class utilities in the same `@layer utilities`, so an element carrying both\n// resolves by stylesheet order — and the arbitrary value loses, silently rendering the\n// selected thumb transparent.\nconst ITEM_BASE =\n 'inline-flex items-center justify-center gap-1.5 rounded-[var(--malachite-radius-10,10px)] border-0 font-medium tracking-[0.13px] whitespace-nowrap transition-colors duration-150 ease-in-out';\n\n/**\n * A rounded track of mutually-exclusive options — the segmented \"one of these\" control.\n *\n * Owns the track background, the selected-thumb chrome and the radiogroup semantics in\n * one place, so consumers never hand-roll a track around `PillButton` (whose `default`\n * variant tokens are tuned for standalone filter pills, not for a sunken track).\n *\n * Selection is conveyed non-visually via `role=\"radio\"` + `aria-checked`, and by a\n * foreground-colour change as well as the thumb, so it does not rest on background\n * colour alone.\n */\nconst SegmentedControl = <T extends string = string>({\n options,\n value,\n onChange,\n size = 'medium',\n fullWidth = false,\n disabled = false,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n className = '',\n}: SegmentedControlProps<T>) => {\n const itemRefs = useRef<(HTMLButtonElement | null)[]>([]);\n const sizeBlock = SIZE_CLASSES[size];\n\n const selectedIndex = options.findIndex((option) => option.value === value);\n // Roving tabindex: the group is a single tab stop. When the selected option is\n // missing or disabled, the first enabled option takes the stop so the control is\n // still reachable by keyboard.\n const selectedIsEnabled = selectedIndex >= 0 && !options[selectedIndex].disabled;\n const tabStopIndex = selectedIsEnabled\n ? selectedIndex\n : options.findIndex((option) => !option.disabled);\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent) => {\n if (disabled || !NAV_KEYS.has(event.key)) {\n return;\n }\n\n const enabled = options.reduce<\n Array<{ option: SegmentedControlOption<T>; index: number }>\n >((acc, option, index) => {\n if (!option.disabled) {\n acc.push({ option, index });\n }\n return acc;\n }, []);\n if (enabled.length === 0) {\n return;\n }\n\n // Only once we know we'll act — otherwise Home/End etc. should still scroll.\n event.preventDefault();\n\n const currentPosition = enabled.findIndex(({ option }) => option.value === value);\n let nextPosition: number;\n if (event.key === 'Home') {\n nextPosition = 0;\n } else if (event.key === 'End') {\n nextPosition = enabled.length - 1;\n } else {\n const delta = event.key === 'ArrowLeft' || event.key === 'ArrowUp' ? -1 : 1;\n const from = currentPosition === -1 ? 0 : currentPosition;\n nextPosition = (from + delta + enabled.length) % enabled.length;\n }\n\n const next = enabled[nextPosition];\n if (next.option.value !== value) {\n onChange(next.option.value);\n }\n itemRefs.current[next.index]?.focus();\n },\n [disabled, onChange, options, value],\n );\n\n return (\n <div\n role=\"radiogroup\"\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n aria-disabled={disabled || undefined}\n onKeyDown={handleKeyDown}\n className={`${\n // One display utility, not two: `flex` and `inline-flex` are both plain\n // `display` utilities, so emitting both would resolve by stylesheet order\n // (same hazard as the background above).\n fullWidth ? 'flex w-full' : 'inline-flex'\n } ${sizeBlock.track} items-center gap-1 p-0.5 rounded-xl bg-[var(--malachite-segmented-control-track-background)] ${\n disabled ? 'opacity-50' : ''\n } ${className}`}\n >\n {options.map((option, index) => {\n const isSelected = option.value === value;\n const isDisabled = disabled || option.disabled;\n\n let colorClasses: string;\n if (isSelected) {\n colorClasses =\n 'bg-[var(--malachite-segmented-control-selected-background)] text-[var(--malachite-segmented-control-selected-foreground)]';\n } else if (isDisabled) {\n colorClasses =\n 'bg-transparent text-[var(--malachite-segmented-control-item-foreground)]';\n } else {\n colorClasses =\n 'bg-transparent text-[var(--malachite-segmented-control-item-foreground)] hover:text-[var(--malachite-segmented-control-item-hover-foreground)] cursor-pointer';\n }\n\n return (\n <button\n key={option.value}\n ref={(element) => {\n itemRefs.current[index] = element;\n }}\n type=\"button\"\n role=\"radio\"\n aria-checked={isSelected}\n disabled={isDisabled}\n tabIndex={index === tabStopIndex ? 0 : -1}\n onClick={() => {\n // Radios don't toggle off on re-click.\n if (!isDisabled && !isSelected) {\n onChange(option.value);\n }\n }}\n className={`${FOCUS_RING} ${ITEM_BASE} ${sizeBlock.text} ${sizeBlock.item} ${colorClasses} ${\n fullWidth ? 'flex-1' : ''\n } ${option.disabled && !disabled ? 'opacity-50 cursor-not-allowed' : ''}`}\n style={{\n // Inline rather than a `shadow-[...]` class: Tailwind's shadow\n // utilities compose `--tw-shadow-*` custom properties that rely on\n // document-level @property registration and silently don't paint\n // inside a shadow root (same caveat as `ring-*`).\n boxShadow: isSelected\n ? 'var(--malachite-segmented-control-selected-shadow, 0px 1px 5px 0px rgba(0, 0, 0, 0.1))'\n : undefined,\n }}\n >\n {option.icon ? (\n <span className=\"inline-flex items-center justify-center w-4 h-4 shrink-0\">\n {option.icon}\n </span>\n ) : null}\n {option.label}\n </button>\n );\n })}\n </div>\n );\n};\n\nexport default SegmentedControl;\nexport { SegmentedControl };\nexport type { SegmentedControlProps, SegmentedControlOption, SegmentedControlSize };\n"],"names":["SIZE_CLASSES","NAV_KEYS","ITEM_BASE","SegmentedControl","options","value","onChange","size","fullWidth","disabled","ariaLabel","ariaLabelledBy","className","itemRefs","useRef","sizeBlock","selectedIndex","option","tabStopIndex","handleKeyDown","useCallback","event","enabled","acc","index","currentPosition","nextPosition","delta","next","_a","jsx","isSelected","isDisabled","colorClasses","jsxs","element","FOCUS_RING"],"mappings":"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"}
|
|
@@ -0,0 +1,364 @@
|
|
|
1
|
+
import { jsxs as n, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { useRef as Re, useId as $e } from "react";
|
|
3
|
+
import Te from "./CustomIcons/PinIcon.js";
|
|
4
|
+
import { Tag as xe } from "./Tag.js";
|
|
5
|
+
import ue from "./Tooltip.js";
|
|
6
|
+
import M from "./TruncatedTooltip.js";
|
|
7
|
+
import p from "./Typography/Text.js";
|
|
8
|
+
import { useCardStripSlot as ge } from "./cardStripSlot.js";
|
|
9
|
+
import { FOCUS_RING_WITHIN as ve } from "./focusRing.js";
|
|
10
|
+
import { useAdoptedStyleSheet as Ie } from "./useAdoptedStyleSheet.js";
|
|
11
|
+
const k = 240, K = `${k}px`, Z = "116px", V = "var(--malachite-radius-xxl, 14px)", L = `${V} ${V} 0 0`, u = "var(--malachite-selectable-card-muted-foreground, #7b7b7b)", ye = "var(--malachite-text-secondary, #7b7b7b)", se = "var(--malachite-selectable-card-accent, #047b43)", Ae = "var(--malachite-selectable-card-selected-tint, #e7f8f1)", Ne = "var(--malachite-selectable-card-selected-border, #047b43)", q = 0.7, Se = "var(--malachite-selectable-card-library-selected-tint, #f1f1f1)", Ce = "var(--malachite-selectable-card-library-selected-border, #bbbbbb)", re = "var(--malachite-selectable-card-pending-foreground, #96580a)", ne = "var(--malachite-selectable-card-editing-tint, #f9f2e9)", J = "var(--malachite-selectable-card-selected-surface-end, #ffffff)", Le = "var(--malachite-selectable-card-background, #f1f1f1)", Oe = "1px solid var(--malachite-selectable-card-border, #dddddd)", De = "var(--malachite-selectable-card-hover-background, #e8e8e8)", Pe = 14, s = Pe, b = 2, oe = 116, Fe = 14, ie = 2, dt = s - b / 2, $ = k + s * 2, T = oe + ie + b, ke = (a) => {
|
|
12
|
+
const t = b / 2, l = s + t, c = s + k - t, i = t, r = Fe - t;
|
|
13
|
+
return [
|
|
14
|
+
`M${l - s} ${a}`,
|
|
15
|
+
`A${s} ${s} 0 0 0 ${l} ${a - s}`,
|
|
16
|
+
`L${l} ${i + r}`,
|
|
17
|
+
`A${r} ${r} 0 0 1 ${l + r} ${i}`,
|
|
18
|
+
`L${c - r} ${i}`,
|
|
19
|
+
`A${r} ${r} 0 0 1 ${c} ${i + r}`,
|
|
20
|
+
`L${c} ${a - s}`,
|
|
21
|
+
`A${s} ${s} 0 0 0 ${c + s} ${a}`
|
|
22
|
+
].join(" ");
|
|
23
|
+
}, F = ke(oe + ie / 2), Q = `${F} Z`, g = "malachite-selectable-card-outline", o = "malachite-selectable-card", we = "malachite-selectable-card-style", f = "--malachite-selectable-card-state-outline", m = "--malachite-selectable-card-state-tint", O = {
|
|
24
|
+
"background-color": De,
|
|
25
|
+
"border-left-color": "transparent"
|
|
26
|
+
}, D = {
|
|
27
|
+
"background-color": Le
|
|
28
|
+
}, P = {
|
|
29
|
+
profile: {
|
|
30
|
+
resting: D,
|
|
31
|
+
hover: O,
|
|
32
|
+
selected: {
|
|
33
|
+
[f]: Ne,
|
|
34
|
+
[m]: Ae
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
library: {
|
|
38
|
+
resting: D,
|
|
39
|
+
hover: O,
|
|
40
|
+
selected: {
|
|
41
|
+
[f]: Ce,
|
|
42
|
+
[m]: Se
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
editing: {
|
|
46
|
+
resting: D,
|
|
47
|
+
hover: O,
|
|
48
|
+
selected: {
|
|
49
|
+
[f]: re,
|
|
50
|
+
[m]: ne
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}, x = { color: ye }, Be = {
|
|
54
|
+
profile: {
|
|
55
|
+
resting: x,
|
|
56
|
+
selected: { color: se, opacity: q }
|
|
57
|
+
},
|
|
58
|
+
library: { resting: x, selected: x },
|
|
59
|
+
editing: {
|
|
60
|
+
resting: x,
|
|
61
|
+
selected: { color: re, opacity: q }
|
|
62
|
+
}
|
|
63
|
+
}, Ue = { "border-left": Oe }, Ge = `
|
|
64
|
+
.${o}[data-state='selected'] {
|
|
65
|
+
z-index: 5;
|
|
66
|
+
}
|
|
67
|
+
.${o} > .${g} {
|
|
68
|
+
position: absolute;
|
|
69
|
+
left: -${s}px;
|
|
70
|
+
top: 0;
|
|
71
|
+
z-index: 0;
|
|
72
|
+
overflow: visible;
|
|
73
|
+
pointer-events: none;
|
|
74
|
+
}
|
|
75
|
+
.${o} > *:not(.${g}):not([data-selectable-card-actions]) {
|
|
76
|
+
position: relative;
|
|
77
|
+
z-index: 1;
|
|
78
|
+
}
|
|
79
|
+
.${o} > [data-selectable-card-actions] {
|
|
80
|
+
z-index: 2;
|
|
81
|
+
}`, ce = (a) => Object.entries(a).map(([t, l]) => ` ${t}: ${l};`).join(`
|
|
82
|
+
`), We = (a, t) => t === "hover" ? `.${o}[data-variant='${a}'][data-state='resting'][data-hoverable]:hover` : `.${o}[data-variant='${a}'][data-state='${t}']`, Ye = (a, t, l) => `${We(a, t)} {
|
|
83
|
+
${ce(l)}
|
|
84
|
+
}`, ze = Object.keys(P).flatMap(
|
|
85
|
+
(a) => Object.keys(P[a]).map(
|
|
86
|
+
(t) => Ye(a, t, P[a][t])
|
|
87
|
+
)
|
|
88
|
+
).join(`
|
|
89
|
+
`), He = `.${o}[data-pinned='false'][data-state='resting'] {
|
|
90
|
+
${ce(
|
|
91
|
+
Ue
|
|
92
|
+
)}
|
|
93
|
+
}`, je = `${He}
|
|
94
|
+
${ze}
|
|
95
|
+
${Ge}`, Xe = {
|
|
96
|
+
display: "-webkit-box",
|
|
97
|
+
WebkitLineClamp: 2,
|
|
98
|
+
WebkitBoxOrient: "vertical",
|
|
99
|
+
overflow: "hidden",
|
|
100
|
+
color: u,
|
|
101
|
+
lineHeight: 1.6
|
|
102
|
+
}, Me = { color: u, letterSpacing: "0.11px" }, w = "var(--malachite-selectable-card-pending-foreground, #96580a)", Ke = { color: w }, Ze = { color: w, opacity: 0.7 }, Ve = 36, qe = 38, ee = {
|
|
103
|
+
color: "var(--malachite-text-primary)"
|
|
104
|
+
}, te = "Default profile", Je = 16, Qe = {
|
|
105
|
+
color: se,
|
|
106
|
+
display: "inline-flex"
|
|
107
|
+
}, ae = () => /* @__PURE__ */ e(ue, { text: te, triggerAs: "span", describesTrigger: !1, children: /* @__PURE__ */ e("span", { role: "img", "aria-label": te, style: Qe, children: /* @__PURE__ */ e(Te, { size: Je }) }) }), le = (a) => {
|
|
108
|
+
const t = a.filter((l) => l !== void 0);
|
|
109
|
+
return t.length > 0 ? t.join(" ") : void 0;
|
|
110
|
+
}, pt = ({
|
|
111
|
+
value: a,
|
|
112
|
+
title: t,
|
|
113
|
+
titleIcon: l,
|
|
114
|
+
isDefault: c = !1,
|
|
115
|
+
variant: i = "profile",
|
|
116
|
+
eyebrow: r,
|
|
117
|
+
status: E,
|
|
118
|
+
description: v,
|
|
119
|
+
countLabel: I,
|
|
120
|
+
actions: y,
|
|
121
|
+
selected: d = !1,
|
|
122
|
+
loading: de = !1,
|
|
123
|
+
loadingLabel: pe = "Loading…",
|
|
124
|
+
loadingHint: B,
|
|
125
|
+
disabled: _ = !1,
|
|
126
|
+
dimmed: U = !1,
|
|
127
|
+
onSelect: A,
|
|
128
|
+
tabIndex: he,
|
|
129
|
+
"aria-label": G,
|
|
130
|
+
className: W = "",
|
|
131
|
+
style: Y
|
|
132
|
+
}) => {
|
|
133
|
+
const { pinned: fe } = ge(), me = !d && !_, N = Re(null);
|
|
134
|
+
Ie(N, je, we);
|
|
135
|
+
const h = `mal-selectable-card-${$e().replace(/[^a-zA-Z0-9_-]/g, "")}`, R = `${h}-outline`, z = `${h}-eyebrow`, H = `${h}-status`, S = `${h}-title`, j = `${h}-description`, X = `${h}-count`, be = G ? void 0 : le([r ? z : void 0, S, E ? H : void 0]), Ee = le([
|
|
136
|
+
v ? j : void 0,
|
|
137
|
+
I ? X : void 0
|
|
138
|
+
]);
|
|
139
|
+
if (de)
|
|
140
|
+
return /* @__PURE__ */ n(
|
|
141
|
+
"div",
|
|
142
|
+
{
|
|
143
|
+
ref: N,
|
|
144
|
+
role: "status",
|
|
145
|
+
"aria-busy": "true",
|
|
146
|
+
"aria-live": "polite",
|
|
147
|
+
"data-variant": "editing",
|
|
148
|
+
"data-state": "selected",
|
|
149
|
+
className: `${o} relative flex shrink-0 flex-col items-center gap-2 px-5 text-center ${W}`.trim(),
|
|
150
|
+
style: {
|
|
151
|
+
width: K,
|
|
152
|
+
height: Z,
|
|
153
|
+
borderRadius: L,
|
|
154
|
+
boxSizing: "border-box",
|
|
155
|
+
paddingTop: `${Ve}px`,
|
|
156
|
+
paddingBottom: `${qe}px`,
|
|
157
|
+
justifyContent: "center",
|
|
158
|
+
[f]: w,
|
|
159
|
+
[m]: ne,
|
|
160
|
+
...Y
|
|
161
|
+
},
|
|
162
|
+
children: [
|
|
163
|
+
/* @__PURE__ */ n(
|
|
164
|
+
"svg",
|
|
165
|
+
{
|
|
166
|
+
className: g,
|
|
167
|
+
width: $,
|
|
168
|
+
height: T,
|
|
169
|
+
viewBox: `0 0 ${$} ${T}`,
|
|
170
|
+
fill: "none",
|
|
171
|
+
"aria-hidden": "true",
|
|
172
|
+
children: [
|
|
173
|
+
/* @__PURE__ */ e("defs", { children: /* @__PURE__ */ n("linearGradient", { id: R, x1: "0", y1: "0", x2: "0", y2: "1", children: [
|
|
174
|
+
/* @__PURE__ */ e("stop", { offset: "0", style: { stopColor: `var(${m})` } }),
|
|
175
|
+
/* @__PURE__ */ e("stop", { offset: "1", style: { stopColor: J } })
|
|
176
|
+
] }) }),
|
|
177
|
+
/* @__PURE__ */ e(
|
|
178
|
+
"path",
|
|
179
|
+
{
|
|
180
|
+
d: Q,
|
|
181
|
+
"data-malachite-shape": "",
|
|
182
|
+
style: { fill: `url(#${R})` }
|
|
183
|
+
}
|
|
184
|
+
),
|
|
185
|
+
/* @__PURE__ */ e(
|
|
186
|
+
"path",
|
|
187
|
+
{
|
|
188
|
+
d: F,
|
|
189
|
+
"data-malachite-shape": "",
|
|
190
|
+
strokeWidth: b,
|
|
191
|
+
style: { fill: "none", stroke: `var(${f})` }
|
|
192
|
+
}
|
|
193
|
+
)
|
|
194
|
+
]
|
|
195
|
+
}
|
|
196
|
+
),
|
|
197
|
+
/* @__PURE__ */ e(p, { size: "small", fontWeight: "semi-bold", style: Ke, children: pe }),
|
|
198
|
+
B ? /* @__PURE__ */ e(p, { size: "xsmall", fontWeight: "semi-bold", style: Ze, children: B }) : null
|
|
199
|
+
]
|
|
200
|
+
}
|
|
201
|
+
);
|
|
202
|
+
const C = i === "library", _e = Be[i][d ? "selected" : "resting"];
|
|
203
|
+
return /* @__PURE__ */ n(
|
|
204
|
+
"div",
|
|
205
|
+
{
|
|
206
|
+
ref: N,
|
|
207
|
+
"data-variant": i,
|
|
208
|
+
"data-pinned": fe ? "true" : "false",
|
|
209
|
+
"data-state": d ? "selected" : "resting",
|
|
210
|
+
"data-hoverable": me ? "" : void 0,
|
|
211
|
+
className: `${o} group relative grid shrink-0 grid-rows-[1fr_auto] ${ve} ${W}`.trim(),
|
|
212
|
+
style: {
|
|
213
|
+
width: K,
|
|
214
|
+
height: Z,
|
|
215
|
+
borderRadius: L,
|
|
216
|
+
boxSizing: "border-box",
|
|
217
|
+
...Y
|
|
218
|
+
},
|
|
219
|
+
children: [
|
|
220
|
+
d ? /* @__PURE__ */ n(
|
|
221
|
+
"svg",
|
|
222
|
+
{
|
|
223
|
+
className: g,
|
|
224
|
+
width: $,
|
|
225
|
+
height: T,
|
|
226
|
+
viewBox: `0 0 ${$} ${T}`,
|
|
227
|
+
fill: "none",
|
|
228
|
+
"aria-hidden": "true",
|
|
229
|
+
children: [
|
|
230
|
+
/* @__PURE__ */ e("defs", { children: /* @__PURE__ */ n("linearGradient", { id: R, x1: "0", y1: "0", x2: "0", y2: "1", children: [
|
|
231
|
+
/* @__PURE__ */ e("stop", { offset: "0", style: { stopColor: `var(${m})` } }),
|
|
232
|
+
/* @__PURE__ */ e("stop", { offset: "1", style: { stopColor: J } })
|
|
233
|
+
] }) }),
|
|
234
|
+
/* @__PURE__ */ e(
|
|
235
|
+
"path",
|
|
236
|
+
{
|
|
237
|
+
d: Q,
|
|
238
|
+
"data-malachite-shape": "",
|
|
239
|
+
style: { fill: `url(#${R})` }
|
|
240
|
+
}
|
|
241
|
+
),
|
|
242
|
+
/* @__PURE__ */ e(
|
|
243
|
+
"path",
|
|
244
|
+
{
|
|
245
|
+
d: F,
|
|
246
|
+
"data-malachite-shape": "",
|
|
247
|
+
strokeWidth: b,
|
|
248
|
+
style: { fill: "none", stroke: `var(${f})` }
|
|
249
|
+
}
|
|
250
|
+
)
|
|
251
|
+
]
|
|
252
|
+
}
|
|
253
|
+
) : null,
|
|
254
|
+
/* @__PURE__ */ n(
|
|
255
|
+
"button",
|
|
256
|
+
{
|
|
257
|
+
type: "button",
|
|
258
|
+
role: "radio",
|
|
259
|
+
"data-value": a,
|
|
260
|
+
"aria-checked": d,
|
|
261
|
+
"aria-label": G,
|
|
262
|
+
"aria-labelledby": be,
|
|
263
|
+
"aria-describedby": Ee,
|
|
264
|
+
"aria-disabled": _ || void 0,
|
|
265
|
+
tabIndex: he ?? (d ? 0 : -1),
|
|
266
|
+
onClick: () => {
|
|
267
|
+
_ || d || A == null || A(a);
|
|
268
|
+
},
|
|
269
|
+
className: `flex min-w-0 appearance-none flex-col border-0 bg-transparent py-0 pt-3 pr-4 pl-4 text-left outline-none ${_ ? "cursor-not-allowed" : "cursor-pointer"}`,
|
|
270
|
+
style: { borderRadius: L },
|
|
271
|
+
children: [
|
|
272
|
+
/* @__PURE__ */ e(
|
|
273
|
+
"div",
|
|
274
|
+
{
|
|
275
|
+
className: `flex h-[13px] shrink-0 items-center gap-2 ${y ? "pr-[26px]" : "pr-1"}`,
|
|
276
|
+
children: /* @__PURE__ */ n("div", { className: "flex min-w-0 items-center gap-1.5", children: [
|
|
277
|
+
C ? /* @__PURE__ */ n("span", { id: S, className: "flex min-w-0 items-center gap-1.5", children: [
|
|
278
|
+
l ? /* @__PURE__ */ e(
|
|
279
|
+
"span",
|
|
280
|
+
{
|
|
281
|
+
className: "flex shrink-0 items-center",
|
|
282
|
+
style: ee,
|
|
283
|
+
children: l
|
|
284
|
+
}
|
|
285
|
+
) : null,
|
|
286
|
+
c ? /* @__PURE__ */ e("span", { className: "flex shrink-0 items-center", children: /* @__PURE__ */ e(ae, {}) }) : null,
|
|
287
|
+
/* @__PURE__ */ e(M, { text: t, children: /* @__PURE__ */ e(
|
|
288
|
+
p,
|
|
289
|
+
{
|
|
290
|
+
size: "small",
|
|
291
|
+
fontWeight: "semi-bold",
|
|
292
|
+
style: U ? { color: u } : void 0,
|
|
293
|
+
children: t
|
|
294
|
+
}
|
|
295
|
+
) })
|
|
296
|
+
] }) : null,
|
|
297
|
+
r ? /* @__PURE__ */ e("span", { id: z, className: "flex min-w-0", children: /* @__PURE__ */ e(p, { size: "xsmall", fontWeight: "semi-bold", style: _e, children: r }) }) : null,
|
|
298
|
+
E ? /* @__PURE__ */ e("span", { id: H, className: "flex min-w-0", children: /* @__PURE__ */ e(
|
|
299
|
+
xe,
|
|
300
|
+
{
|
|
301
|
+
value: E.label,
|
|
302
|
+
type: E.type ?? "default",
|
|
303
|
+
textTransform: "none",
|
|
304
|
+
paddingSize: "compact"
|
|
305
|
+
}
|
|
306
|
+
) }) : null
|
|
307
|
+
] })
|
|
308
|
+
}
|
|
309
|
+
),
|
|
310
|
+
/* @__PURE__ */ n(
|
|
311
|
+
"div",
|
|
312
|
+
{
|
|
313
|
+
className: `mt-[11px] flex min-w-0 flex-1 flex-col gap-1 pt-3 ${C ? "justify-end" : "justify-between"}`,
|
|
314
|
+
children: [
|
|
315
|
+
C ? null : /* @__PURE__ */ n("div", { id: S, className: "flex min-w-0 items-center gap-1.5", children: [
|
|
316
|
+
l ? /* @__PURE__ */ e(
|
|
317
|
+
"span",
|
|
318
|
+
{
|
|
319
|
+
className: "flex shrink-0 items-center",
|
|
320
|
+
style: ee,
|
|
321
|
+
children: l
|
|
322
|
+
}
|
|
323
|
+
) : null,
|
|
324
|
+
c ? /* @__PURE__ */ e("span", { className: "flex shrink-0 items-center", children: /* @__PURE__ */ e(ae, {}) }) : null,
|
|
325
|
+
/* @__PURE__ */ e(M, { text: t, children: /* @__PURE__ */ e(
|
|
326
|
+
p,
|
|
327
|
+
{
|
|
328
|
+
size: "small",
|
|
329
|
+
fontWeight: "semi-bold",
|
|
330
|
+
style: U ? { color: u } : void 0,
|
|
331
|
+
children: t
|
|
332
|
+
}
|
|
333
|
+
) })
|
|
334
|
+
] }),
|
|
335
|
+
v ? /* @__PURE__ */ e("span", { id: j, className: "block min-w-0", children: /* @__PURE__ */ e(p, { size: "xsmall", style: Xe, children: v }) }) : null
|
|
336
|
+
]
|
|
337
|
+
}
|
|
338
|
+
)
|
|
339
|
+
]
|
|
340
|
+
}
|
|
341
|
+
),
|
|
342
|
+
/* @__PURE__ */ e("span", { id: X, className: "min-w-0 self-end truncate pr-4 pb-3 pl-4", children: I ? /* @__PURE__ */ e(p, { size: "xsmall", fontWeight: "semi-bold", style: Me, children: I }) : null }),
|
|
343
|
+
y ? /* @__PURE__ */ e(
|
|
344
|
+
"div",
|
|
345
|
+
{
|
|
346
|
+
"data-selectable-card-actions": "",
|
|
347
|
+
className: "absolute top-3 right-4 flex h-[13px] shrink-0 items-center gap-2.5",
|
|
348
|
+
children: y
|
|
349
|
+
}
|
|
350
|
+
) : null
|
|
351
|
+
]
|
|
352
|
+
}
|
|
353
|
+
);
|
|
354
|
+
};
|
|
355
|
+
export {
|
|
356
|
+
Pe as CARD_FLARE_PX,
|
|
357
|
+
dt as CARD_FLARE_TIP_PX,
|
|
358
|
+
k as CARD_WIDTH_PX,
|
|
359
|
+
g as FLARE_CLASS,
|
|
360
|
+
ie as STRIP_RULE_PX,
|
|
361
|
+
pt as SelectableCard,
|
|
362
|
+
pt as default
|
|
363
|
+
};
|
|
364
|
+
//# sourceMappingURL=SelectableCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectableCard.js","sources":["../../src/components/SelectableCard.tsx"],"sourcesContent":["import React, { useId, useRef } from 'react';\nimport PinIcon from './CustomIcons/PinIcon';\nimport Tag, { type TagType } from './Tag';\nimport Tooltip from './Tooltip';\nimport TruncatedTooltip from './TruncatedTooltip';\nimport Text from './Typography/Text';\nimport { useCardStripSlot } from './cardStripSlot';\nimport { FOCUS_RING_WITHIN } from './focusRing';\nimport { useAdoptedStyleSheet } from './useAdoptedStyleSheet';\n\nexport interface SelectableCardStatus {\n label: string;\n /** Maps to Tag's palette — `default` (grey) for \"Disabled\", `warning` (amber) for \"Draft\". */\n type?: TagType;\n}\n\n/** The card's palette: `profile` is green, `library` neutral, `editing` amber for a\n * profile with unsaved changes. */\nexport type SelectableCardVariant = 'profile' | 'library' | 'editing';\n\nexport interface SelectableCardProps {\n /** Identifies the card inside its group; handed back to `onSelect`. */\n value: string;\n title: string;\n /** Leading glyph on the title line, e.g. a library/book icon. */\n titleIcon?: React.ReactNode;\n /** Pins the card as the account default, marked beside the title. */\n isDefault?: boolean;\n /** Palette only — gradient, borders, indicator and eyebrow; position is settled by the strip. */\n variant?: SelectableCardVariant;\n /** Small label above the title (\"Profile\", \"Explore\"). */\n eyebrow?: string;\n /** Status pill rendered next to the eyebrow — or in its place when there is no eyebrow. */\n status?: SelectableCardStatus;\n /** Supporting copy under the title, clamped to two lines. */\n description?: string;\n /** Bottom-left summary (\"16 Actions\", \"10 Selected\"). */\n countLabel?: string;\n /** Top-right cluster (markers, an ActionMenu…). The eyebrow row gives way to one\n * xsmall control; a wider cluster needs a shorter eyebrow and status to clear it. */\n actions?: React.ReactNode;\n selected?: boolean;\n /** Replaces the card's content with a centred in-progress message. */\n loading?: boolean;\n loadingLabel?: string;\n loadingHint?: string;\n /** Blocks selection. Draws no dimming of its own — a switched-off profile is signalled by its `status` tag. */\n disabled?: boolean;\n /** Mutes the title without blocking selection. */\n dimmed?: boolean;\n onSelect?: (value: string) => void;\n /** Tab stop for the card. */\n tabIndex?: number;\n /** Replaces the generated accessible name (eyebrow + title + status). */\n 'aria-label'?: string;\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport const CARD_WIDTH_PX = 240;\nconst CARD_WIDTH = `${CARD_WIDTH_PX}px`;\nconst CARD_HEIGHT = '116px';\nconst CARD_CORNER = 'var(--malachite-radius-xxl, 14px)';\nconst CARD_RADIUS = `${CARD_CORNER} ${CARD_CORNER} 0 0`;\n\nconst MUTED = 'var(--malachite-selectable-card-muted-foreground, #7b7b7b)';\nconst EYEBROW = 'var(--malachite-text-secondary, #7b7b7b)';\n\nconst PROFILE_ACCENT = 'var(--malachite-selectable-card-accent, #047b43)';\nconst PROFILE_TINT = 'var(--malachite-selectable-card-selected-tint, #e7f8f1)';\nconst PROFILE_SELECTED_BORDER = 'var(--malachite-selectable-card-selected-border, #047b43)';\nconst PROFILE_EYEBROW_OPACITY = 0.7;\n\nconst LIBRARY_TINT = 'var(--malachite-selectable-card-library-selected-tint, #f1f1f1)';\nconst LIBRARY_SELECTED_BORDER = 'var(--malachite-selectable-card-library-selected-border, #bbbbbb)';\n\nconst EDITING_ACCENT = 'var(--malachite-selectable-card-pending-foreground, #96580a)';\nconst EDITING_TINT = 'var(--malachite-selectable-card-editing-tint, #f9f2e9)';\n\nconst SELECTED_SURFACE_END = 'var(--malachite-selectable-card-selected-surface-end, #ffffff)';\n\nconst RESTING_SURFACE = 'var(--malachite-selectable-card-background, #f1f1f1)';\nconst RESTING_BORDER = '1px solid var(--malachite-selectable-card-border, #dddddd)';\n\nconst HOVER_SURFACE_FILL = 'var(--malachite-selectable-card-hover-background, #e8e8e8)';\n\n/** How far a selected card's outline sweeps past its own edge. The strip keeps this much\n * clear of its scroller's clip. */\nexport const CARD_FLARE_PX = 14;\nconst FLARE_PX = CARD_FLARE_PX;\nconst STROKE_PX = 2;\nconst CARD_HEIGHT_PX = 116;\nconst CORNER_PX = 14;\n\n/** Weight of the strip's bottom rule, which a selected card's flare reaches down through. */\nexport const STRIP_RULE_PX = 2;\n\n/** Where the strip's rule meets the flare. The stroke is centred on its path, so the tip\n * stops half a stroke inside the flare box. */\nexport const CARD_FLARE_TIP_PX = FLARE_PX - STROKE_PX / 2;\n\nconst FLARE_BOX_WIDTH = CARD_WIDTH_PX + FLARE_PX * 2;\nconst FLARE_BOX_HEIGHT = CARD_HEIGHT_PX + STRIP_RULE_PX + STROKE_PX;\n\n/** Stroke is centred on the path, so the card's own edges sit half a stroke inside the box. */\nconst pathTo = (base: number): string => {\n const inset = STROKE_PX / 2;\n const left = FLARE_PX + inset;\n const right = FLARE_PX + CARD_WIDTH_PX - inset;\n const top = inset;\n const r = CORNER_PX - inset;\n return [\n `M${left - FLARE_PX} ${base}`,\n `A${FLARE_PX} ${FLARE_PX} 0 0 0 ${left} ${base - FLARE_PX}`,\n `L${left} ${top + r}`,\n `A${r} ${r} 0 0 1 ${left + r} ${top}`,\n `L${right - r} ${top}`,\n `A${r} ${r} 0 0 1 ${right} ${top + r}`,\n `L${right} ${base - FLARE_PX}`,\n `A${FLARE_PX} ${FLARE_PX} 0 0 0 ${right + FLARE_PX} ${base}`,\n ].join(' ');\n};\n\nconst OUTLINE_PATH = pathTo(CARD_HEIGHT_PX + STRIP_RULE_PX / 2);\n\nconst FILL_PATH = `${OUTLINE_PATH} Z`;\n\nexport const FLARE_CLASS = 'malachite-selectable-card-outline';\n\nconst ROOT_CLASS = 'malachite-selectable-card';\nconst STYLE_ID = 'malachite-selectable-card-style';\n\nconst OUTLINE_PROPERTY = '--malachite-selectable-card-state-outline';\nconst TINT_PROPERTY = '--malachite-selectable-card-state-tint';\n\ntype CardState = 'resting' | 'hover' | 'selected';\ntype SettledState = Exclude<CardState, 'hover'>;\n\ntype Declarations = Record<string, string>;\n\nconst HOVER_SURFACE: Declarations = {\n 'background-color': HOVER_SURFACE_FILL,\n 'border-left-color': 'transparent',\n};\n\nconst RESTING_SURFACE_DECLARATIONS: Declarations = {\n 'background-color': RESTING_SURFACE,\n};\n\n/** Never inline styles: an inline declaration outranks the sheet, so `:hover` could never repaint the card. */\nconst SURFACES: Record<SelectableCardVariant, Record<CardState, Declarations>> = {\n profile: {\n resting: RESTING_SURFACE_DECLARATIONS,\n hover: HOVER_SURFACE,\n selected: {\n [OUTLINE_PROPERTY]: PROFILE_SELECTED_BORDER,\n [TINT_PROPERTY]: PROFILE_TINT,\n },\n },\n library: {\n resting: RESTING_SURFACE_DECLARATIONS,\n hover: HOVER_SURFACE,\n selected: {\n [OUTLINE_PROPERTY]: LIBRARY_SELECTED_BORDER,\n [TINT_PROPERTY]: LIBRARY_TINT,\n },\n },\n editing: {\n resting: RESTING_SURFACE_DECLARATIONS,\n hover: HOVER_SURFACE,\n selected: {\n [OUTLINE_PROPERTY]: EDITING_ACCENT,\n [TINT_PROPERTY]: EDITING_TINT,\n },\n },\n};\n\nconst RESTING_EYEBROW: React.CSSProperties = { color: EYEBROW };\n\nconst EYEBROWS: Record<SelectableCardVariant, Record<SettledState, React.CSSProperties>> = {\n profile: {\n resting: RESTING_EYEBROW,\n selected: { color: PROFILE_ACCENT, opacity: PROFILE_EYEBROW_OPACITY },\n },\n library: { resting: RESTING_EYEBROW, selected: RESTING_EYEBROW },\n editing: {\n resting: RESTING_EYEBROW,\n selected: { color: EDITING_ACCENT, opacity: PROFILE_EYEBROW_OPACITY },\n },\n};\n\nconst SCROLLED_SURFACE: Declarations = { 'border-left': RESTING_BORDER };\n\nconst OUTLINE_CSS = `\n.${ROOT_CLASS}[data-state='selected'] {\n z-index: 5;\n}\n.${ROOT_CLASS} > .${FLARE_CLASS} {\n position: absolute;\n left: -${FLARE_PX}px;\n top: 0;\n z-index: 0;\n overflow: visible;\n pointer-events: none;\n}\n.${ROOT_CLASS} > *:not(.${FLARE_CLASS}):not([data-selectable-card-actions]) {\n position: relative;\n z-index: 1;\n}\n.${ROOT_CLASS} > [data-selectable-card-actions] {\n z-index: 2;\n}`;\n\nconst bodyOf = (declarations: Declarations): string =>\n Object.entries(declarations)\n .map(([property, value]) => ` ${property}: ${value};`)\n .join('\\n');\n\nconst selectorFor = (variant: SelectableCardVariant, state: CardState): string =>\n state === 'hover'\n ? `.${ROOT_CLASS}[data-variant='${variant}'][data-state='resting'][data-hoverable]:hover`\n : `.${ROOT_CLASS}[data-variant='${variant}'][data-state='${state}']`;\n\nconst ruleFor = (\n variant: SelectableCardVariant,\n state: CardState,\n declarations: Declarations,\n): string => `${selectorFor(variant, state)} {\\n${bodyOf(declarations)}\\n}`;\n\nconst SURFACE_CSS = (Object.keys(SURFACES) as SelectableCardVariant[])\n .flatMap((variant) =>\n (Object.keys(SURFACES[variant]) as CardState[]).map((state) =>\n ruleFor(variant, state, SURFACES[variant][state]),\n ),\n )\n .join('\\n');\n\nconst SLOT_CSS = `.${ROOT_CLASS}[data-pinned='false'][data-state='resting'] {\\n${bodyOf(\n SCROLLED_SURFACE,\n)}\\n}`;\n\nconst CARD_CSS = `${SLOT_CSS}\\n${SURFACE_CSS}\\n${OUTLINE_CSS}`;\n\nconst DESCRIPTION_STYLE: React.CSSProperties = {\n display: '-webkit-box',\n WebkitLineClamp: 2,\n WebkitBoxOrient: 'vertical',\n overflow: 'hidden',\n color: MUTED,\n lineHeight: 1.6,\n};\n\nconst COUNT_STYLE: React.CSSProperties = { color: MUTED, letterSpacing: '0.11px' };\n\nconst PENDING = 'var(--malachite-selectable-card-pending-foreground, #96580a)';\n\nconst LOADING_LABEL_STYLE: React.CSSProperties = { color: PENDING };\nconst LOADING_HINT_STYLE: React.CSSProperties = { color: PENDING, opacity: 0.7 };\n\nconst PENDING_BODY_TOP_PX = 36;\nconst PENDING_BODY_BOTTOM_PX = 38;\n\nconst TITLE_ICON_STYLE: React.CSSProperties = {\n color: 'var(--malachite-text-primary)',\n};\n\nconst DEFAULT_MARKER_LABEL = 'Default profile';\nconst DEFAULT_MARKER_SIZE_PX = 16;\nconst DEFAULT_MARKER_STYLE: React.CSSProperties = {\n color: PROFILE_ACCENT,\n display: 'inline-flex',\n};\n\n/** Announced rather than shown alone: a bare glyph reads as an unnamed graphic, and the tooltip\n * travels by `aria-describedby`, which describes rather than names. */\nconst DefaultMarker: React.FC = () => (\n <Tooltip text={DEFAULT_MARKER_LABEL} triggerAs=\"span\" describesTrigger={false}>\n <span role=\"img\" aria-label={DEFAULT_MARKER_LABEL} style={DEFAULT_MARKER_STYLE}>\n <PinIcon size={DEFAULT_MARKER_SIZE_PX} />\n </span>\n </Tooltip>\n);\n\nconst joinIds = (ids: Array<string | undefined>): string | undefined => {\n const present = ids.filter((id): id is string => id !== undefined);\n return present.length > 0 ? present.join(' ') : undefined;\n};\n\n/** A fixed-size card that behaves as one option in a radio group: a card-shaped `Surface.Row`. */\nconst SelectableCard: React.FC<SelectableCardProps> = ({\n value,\n title,\n titleIcon,\n isDefault = false,\n variant = 'profile',\n eyebrow,\n status,\n description,\n countLabel,\n actions,\n selected = false,\n loading = false,\n loadingLabel = 'Loading…',\n loadingHint,\n disabled = false,\n dimmed = false,\n onSelect,\n tabIndex,\n 'aria-label': ariaLabel,\n className = '',\n style,\n}) => {\n const { pinned } = useCardStripSlot();\n const hoverable = !selected && !disabled;\n\n const rootRef = useRef<HTMLDivElement>(null);\n useAdoptedStyleSheet(rootRef, CARD_CSS, STYLE_ID);\n\n const instanceId = `mal-selectable-card-${useId().replace(/[^a-zA-Z0-9_-]/g, '')}`;\n const outlineGradientId = `${instanceId}-outline`;\n const eyebrowId = `${instanceId}-eyebrow`;\n const statusId = `${instanceId}-status`;\n const titleId = `${instanceId}-title`;\n const descriptionId = `${instanceId}-description`;\n const countId = `${instanceId}-count`;\n\n const labelledBy = ariaLabel\n ? undefined\n : joinIds([eyebrow ? eyebrowId : undefined, titleId, status ? statusId : undefined]);\n const describedBy = joinIds([\n description ? descriptionId : undefined,\n countLabel ? countId : undefined,\n ]);\n\n if (loading) {\n return (\n <div\n ref={rootRef}\n role=\"status\"\n aria-busy=\"true\"\n aria-live=\"polite\"\n data-variant=\"editing\"\n data-state=\"selected\"\n className={`${ROOT_CLASS} relative flex shrink-0 flex-col items-center gap-2 px-5 text-center ${className}`.trim()}\n style={\n {\n width: CARD_WIDTH,\n height: CARD_HEIGHT,\n borderRadius: CARD_RADIUS,\n boxSizing: 'border-box',\n paddingTop: `${PENDING_BODY_TOP_PX}px`,\n paddingBottom: `${PENDING_BODY_BOTTOM_PX}px`,\n justifyContent: 'center',\n [OUTLINE_PROPERTY]: PENDING,\n [TINT_PROPERTY]: EDITING_TINT,\n ...style,\n } as React.CSSProperties\n }\n >\n {/* The same outline a selected card wears: this IS the selection while a profile\n is being built, so it has to break the strip's rule rather than sit on it. */}\n <svg\n className={FLARE_CLASS}\n width={FLARE_BOX_WIDTH}\n height={FLARE_BOX_HEIGHT}\n viewBox={`0 0 ${FLARE_BOX_WIDTH} ${FLARE_BOX_HEIGHT}`}\n fill=\"none\"\n aria-hidden=\"true\"\n >\n <defs>\n <linearGradient id={outlineGradientId} x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\n <stop offset=\"0\" style={{ stopColor: `var(${TINT_PROPERTY})` }} />\n <stop offset=\"1\" style={{ stopColor: SELECTED_SURFACE_END }} />\n </linearGradient>\n </defs>\n <path\n d={FILL_PATH}\n data-malachite-shape=\"\"\n style={{ fill: `url(#${outlineGradientId})` }}\n />\n <path\n d={OUTLINE_PATH}\n data-malachite-shape=\"\"\n strokeWidth={STROKE_PX}\n style={{ fill: 'none', stroke: `var(${OUTLINE_PROPERTY})` }}\n />\n </svg>\n <Text size=\"small\" fontWeight=\"semi-bold\" style={LOADING_LABEL_STYLE}>\n {loadingLabel}\n </Text>\n {loadingHint ? (\n <Text size=\"xsmall\" fontWeight=\"semi-bold\" style={LOADING_HINT_STYLE}>\n {loadingHint}\n </Text>\n ) : null}\n </div>\n );\n }\n\n const titleInTopRow = variant === 'library';\n\n const eyebrowStyle = EYEBROWS[variant][selected ? 'selected' : 'resting'];\n\n return (\n <div\n ref={rootRef}\n data-variant={variant}\n data-pinned={pinned ? 'true' : 'false'}\n data-state={selected ? 'selected' : 'resting'}\n data-hoverable={hoverable ? '' : undefined}\n className={`${ROOT_CLASS} group relative grid shrink-0 grid-rows-[1fr_auto] ${FOCUS_RING_WITHIN} ${className}`.trim()}\n style={{\n width: CARD_WIDTH,\n height: CARD_HEIGHT,\n borderRadius: CARD_RADIUS,\n boxSizing: 'border-box',\n ...style,\n }}\n >\n {selected ? (\n <svg\n className={FLARE_CLASS}\n width={FLARE_BOX_WIDTH}\n height={FLARE_BOX_HEIGHT}\n viewBox={`0 0 ${FLARE_BOX_WIDTH} ${FLARE_BOX_HEIGHT}`}\n fill=\"none\"\n aria-hidden=\"true\"\n >\n <defs>\n <linearGradient id={outlineGradientId} x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\n <stop offset=\"0\" style={{ stopColor: `var(${TINT_PROPERTY})` }} />\n <stop offset=\"1\" style={{ stopColor: SELECTED_SURFACE_END }} />\n </linearGradient>\n </defs>\n <path\n d={FILL_PATH}\n data-malachite-shape=\"\"\n style={{ fill: `url(#${outlineGradientId})` }}\n />\n <path\n d={OUTLINE_PATH}\n data-malachite-shape=\"\"\n strokeWidth={STROKE_PX}\n style={{ fill: 'none', stroke: `var(${OUTLINE_PROPERTY})` }}\n />\n </svg>\n ) : null}\n <button\n type=\"button\"\n role=\"radio\"\n data-value={value}\n aria-checked={selected}\n aria-label={ariaLabel}\n aria-labelledby={labelledBy}\n aria-describedby={describedBy}\n aria-disabled={disabled || undefined}\n tabIndex={tabIndex ?? (selected ? 0 : -1)}\n onClick={() => {\n if (disabled || selected) {\n return;\n }\n onSelect?.(value);\n }}\n className={`flex min-w-0 appearance-none flex-col border-0 bg-transparent py-0 pt-3 pr-4 pl-4 text-left outline-none ${\n disabled ? 'cursor-not-allowed' : 'cursor-pointer'\n }`}\n style={{ borderRadius: CARD_RADIUS }}\n >\n {/* 26px is the xsmall icon button the cluster usually holds, plus a gap: the\n cluster stands over the end of this row, so the eyebrow stops short of it. */}\n <div\n className={`flex h-[13px] shrink-0 items-center gap-2 ${\n actions ? 'pr-[26px]' : 'pr-1'\n }`}\n >\n <div className=\"flex min-w-0 items-center gap-1.5\">\n {titleInTopRow ? (\n <span id={titleId} className=\"flex min-w-0 items-center gap-1.5\">\n {titleIcon ? (\n <span\n className=\"flex shrink-0 items-center\"\n style={TITLE_ICON_STYLE}\n >\n {titleIcon}\n </span>\n ) : null}\n {isDefault ? (\n <span className=\"flex shrink-0 items-center\">\n <DefaultMarker />\n </span>\n ) : null}\n <TruncatedTooltip text={title}>\n <Text\n size=\"small\"\n fontWeight=\"semi-bold\"\n style={dimmed ? { color: MUTED } : undefined}\n >\n {title}\n </Text>\n </TruncatedTooltip>\n </span>\n ) : null}\n {eyebrow ? (\n <span id={eyebrowId} className=\"flex min-w-0\">\n <Text size=\"xsmall\" fontWeight=\"semi-bold\" style={eyebrowStyle}>\n {eyebrow}\n </Text>\n </span>\n ) : null}\n {status ? (\n <span id={statusId} className=\"flex min-w-0\">\n <Tag\n value={status.label}\n type={status.type ?? 'default'}\n textTransform=\"none\"\n paddingSize=\"compact\"\n />\n </span>\n ) : null}\n </div>\n </div>\n\n <div\n className={`mt-[11px] flex min-w-0 flex-1 flex-col gap-1 pt-3 ${\n titleInTopRow ? 'justify-end' : 'justify-between'\n }`}\n >\n {titleInTopRow ? null : (\n <div id={titleId} className=\"flex min-w-0 items-center gap-1.5\">\n {titleIcon ? (\n <span\n className=\"flex shrink-0 items-center\"\n style={TITLE_ICON_STYLE}\n >\n {titleIcon}\n </span>\n ) : null}\n {isDefault ? (\n <span className=\"flex shrink-0 items-center\">\n <DefaultMarker />\n </span>\n ) : null}\n <TruncatedTooltip text={title}>\n <Text\n size=\"small\"\n fontWeight=\"semi-bold\"\n style={dimmed ? { color: MUTED } : undefined}\n >\n {title}\n </Text>\n </TruncatedTooltip>\n </div>\n )}\n {description ? (\n <span id={descriptionId} className=\"block min-w-0\">\n <Text size=\"xsmall\" style={DESCRIPTION_STYLE}>\n {description}\n </Text>\n </span>\n ) : null}\n </div>\n </button>\n\n <span id={countId} className=\"min-w-0 self-end truncate pr-4 pb-3 pl-4\">\n {countLabel ? (\n <Text size=\"xsmall\" fontWeight=\"semi-bold\" style={COUNT_STYLE}>\n {countLabel}\n </Text>\n ) : null}\n </span>\n\n {/* Lifted out of the flow rather than given a grid cell, so it can sit on the\n eyebrow row — which belongs to the control and cannot hold a second one. */}\n {actions ? (\n <div\n data-selectable-card-actions=\"\"\n className=\"absolute top-3 right-4 flex h-[13px] shrink-0 items-center gap-2.5\"\n >\n {actions}\n </div>\n ) : null}\n </div>\n );\n};\n\nexport default SelectableCard;\nexport { SelectableCard };\n"],"names":["CARD_WIDTH_PX","CARD_WIDTH","CARD_HEIGHT","CARD_CORNER","CARD_RADIUS","MUTED","EYEBROW","PROFILE_ACCENT","PROFILE_TINT","PROFILE_SELECTED_BORDER","PROFILE_EYEBROW_OPACITY","LIBRARY_TINT","LIBRARY_SELECTED_BORDER","EDITING_ACCENT","EDITING_TINT","SELECTED_SURFACE_END","RESTING_SURFACE","RESTING_BORDER","HOVER_SURFACE_FILL","CARD_FLARE_PX","FLARE_PX","STROKE_PX","CARD_HEIGHT_PX","CORNER_PX","STRIP_RULE_PX","CARD_FLARE_TIP_PX","FLARE_BOX_WIDTH","FLARE_BOX_HEIGHT","pathTo","base","inset","left","right","top","OUTLINE_PATH","FILL_PATH","FLARE_CLASS","ROOT_CLASS","STYLE_ID","OUTLINE_PROPERTY","TINT_PROPERTY","HOVER_SURFACE","RESTING_SURFACE_DECLARATIONS","SURFACES","RESTING_EYEBROW","EYEBROWS","SCROLLED_SURFACE","OUTLINE_CSS","bodyOf","declarations","property","value","selectorFor","variant","state","ruleFor","SURFACE_CSS","SLOT_CSS","CARD_CSS","DESCRIPTION_STYLE","COUNT_STYLE","PENDING","LOADING_LABEL_STYLE","LOADING_HINT_STYLE","PENDING_BODY_TOP_PX","PENDING_BODY_BOTTOM_PX","TITLE_ICON_STYLE","DEFAULT_MARKER_LABEL","DEFAULT_MARKER_SIZE_PX","DEFAULT_MARKER_STYLE","DefaultMarker","jsx","Tooltip","PinIcon","joinIds","ids","present","id","SelectableCard","title","titleIcon","isDefault","eyebrow","status","description","countLabel","actions","selected","loading","loadingLabel","loadingHint","disabled","dimmed","onSelect","tabIndex","ariaLabel","className","style","pinned","useCardStripSlot","hoverable","rootRef","useRef","useAdoptedStyleSheet","instanceId","useId","outlineGradientId","eyebrowId","statusId","titleId","descriptionId","countId","labelledBy","describedBy","jsxs","Text","titleInTopRow","eyebrowStyle","FOCUS_RING_WITHIN","TruncatedTooltip","Tag"],"mappings":"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"}
|