@stackone/malachite 2.21.0 → 2.22.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 +91 -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 +847 -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 +643 -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 +1045 -89
- 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,20 @@
|
|
|
1
|
+
import { jsxs as s, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import a from "../Skeleton.js";
|
|
3
|
+
import { Typography as n } from "../Typography/index.js";
|
|
4
|
+
const i = ["92%", "76%", "58%"], l = "min-w-[200px]", x = ({ label: o, className: r = "" }) => /* @__PURE__ */ s(
|
|
5
|
+
"div",
|
|
6
|
+
{
|
|
7
|
+
className: `flex flex-col gap-2 ${l} ${r}`,
|
|
8
|
+
role: "status",
|
|
9
|
+
"aria-busy": "true",
|
|
10
|
+
children: [
|
|
11
|
+
o ? /* @__PURE__ */ e(n.SecondaryText, { size: "xsmall", children: o }) : null,
|
|
12
|
+
i.map((t) => /* @__PURE__ */ e(a.Input, { width: t, height: 12 }, t))
|
|
13
|
+
]
|
|
14
|
+
}
|
|
15
|
+
);
|
|
16
|
+
export {
|
|
17
|
+
x as ChatThinking,
|
|
18
|
+
x as default
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=ChatThinking.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatThinking.js","sources":["../../../src/components/Chat/ChatThinking.tsx"],"sourcesContent":["import React from 'react';\nimport Skeleton from '../Skeleton';\nimport Typography from '../Typography';\n\nexport interface ChatThinkingProps {\n /** Names what is happening, when that is worth saying. Omitted, the bars speak alone. */\n label?: string;\n className?: string;\n}\n\n/** Uneven, so the block reads as prose arriving rather than as a loading graphic. */\nconst BAR_WIDTHS = ['92%', '76%', '58%'];\n\n/**\n * Roughly the width a short reply would occupy. A percentage width only resolves against a\n * containing block whose OWN width is already known — inside `Chat.Message`'s `bubble`\n * variant, which hugs its content instead of filling the column, nothing sets that, so the\n * bars' percentages fell back to 0 and the bubble collapsed to its padding. This pixel floor\n * gives this component's own box a width regardless of variant, so the percentage bars inside\n * it have something to resolve against; `plain`/`card` already stretch past it and see no\n * change.\n */\nconst MIN_WIDTH_CLASS = 'min-w-[200px]';\n\n/**\n * Shown while a reply is on its way but nothing has streamed in yet.\n *\n * Bars rather than a spinner: they occupy the shape the answer will take, so the transcript\n * does not jump when it lands, and there is no looping motion to look away from.\n */\nconst ChatThinking: React.FC<ChatThinkingProps> = ({ label, className = '' }) => (\n <div\n className={`flex flex-col gap-2 ${MIN_WIDTH_CLASS} ${className}`}\n role=\"status\"\n aria-busy=\"true\"\n >\n {label ? <Typography.SecondaryText size=\"xsmall\">{label}</Typography.SecondaryText> : null}\n {BAR_WIDTHS.map((width) => (\n <Skeleton.Input key={width} width={width} height={12} />\n ))}\n </div>\n);\n\nexport default ChatThinking;\nexport { ChatThinking };\n"],"names":["BAR_WIDTHS","MIN_WIDTH_CLASS","ChatThinking","label","className","jsxs","Typography","width","jsx","Skeleton"],"mappings":";;;AAWA,MAAMA,IAAa,CAAC,OAAO,OAAO,KAAK,GAWjCC,IAAkB,iBAQlBC,IAA4C,CAAC,EAAE,OAAAC,GAAO,WAAAC,IAAY,SACpE,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACG,WAAW,uBAAuBJ,CAAe,IAAIG,CAAS;AAAA,IAC9D,MAAK;AAAA,IACL,aAAU;AAAA,IAET,UAAA;AAAA,MAAAD,sBAASG,EAAW,eAAX,EAAyB,MAAK,UAAU,aAAM,IAA8B;AAAA,MACrFN,EAAW,IAAI,CAACO,MACb,gBAAAC,EAACC,EAAS,OAAT,EAA2B,OAAAF,GAAc,QAAQ,GAAA,GAA7BA,CAAiC,CACzD;AAAA,IAAA;AAAA,EAAA;AACL;"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { jsxs as m, jsx as l, Fragment as g } from "react/jsx-runtime";
|
|
2
|
+
import b from "react";
|
|
3
|
+
import { Button as N } from "../Button.js";
|
|
4
|
+
import y from "../CustomIcons/CaretDownIcon.js";
|
|
5
|
+
import { Typography as f } from "../Typography/index.js";
|
|
6
|
+
import { useStickToBottom as C } from "./stickToBottom.js";
|
|
7
|
+
const z = ({
|
|
8
|
+
children: i,
|
|
9
|
+
"aria-label": d,
|
|
10
|
+
emptyTitle: e,
|
|
11
|
+
emptyDescription: a,
|
|
12
|
+
emptyIcon: t,
|
|
13
|
+
emptyContent: o,
|
|
14
|
+
className: h = ""
|
|
15
|
+
}) => {
|
|
16
|
+
const { scrollRef: x, contentRef: u, pinned: p, scrollToBottom: v } = C(), n = b.Children.toArray(i).length === 0, s = n && !!o, c = n && !o && !!(e || a || t);
|
|
17
|
+
let r = "flex flex-col gap-4 p-4";
|
|
18
|
+
return s ? r = "flex flex-1 flex-col p-4" : c && (r = "flex min-h-full flex-col items-center justify-center gap-2 p-6 text-center"), /* @__PURE__ */ m("div", { className: `relative flex min-h-0 flex-1 flex-col ${h}`, children: [
|
|
19
|
+
/* @__PURE__ */ l("div", { ref: x, className: "flex min-h-0 flex-1 flex-col overflow-y-auto", children: /* @__PURE__ */ l(
|
|
20
|
+
"div",
|
|
21
|
+
{
|
|
22
|
+
ref: u,
|
|
23
|
+
role: "log",
|
|
24
|
+
"aria-live": "polite",
|
|
25
|
+
"aria-label": d,
|
|
26
|
+
className: r,
|
|
27
|
+
children: s ? (
|
|
28
|
+
// `margin-top: auto` consumes the free space the scroll div's flex
|
|
29
|
+
// layout gives this (now `flex-1`) content box, pinning the block to
|
|
30
|
+
// the bottom. `flex-direction: column-reverse` was the mock's own
|
|
31
|
+
// approach, but it inverts scroll geometry that `useStickToBottom` and
|
|
32
|
+
// the jump-to-latest control both rely on — this gets the same bottom
|
|
33
|
+
// anchoring without touching either.
|
|
34
|
+
/* @__PURE__ */ l("div", { className: "mt-auto text-left", children: o })
|
|
35
|
+
) : c ? /* @__PURE__ */ m(g, { children: [
|
|
36
|
+
t ? /* @__PURE__ */ l("span", { className: "text-[var(--malachite-text-dimmed)]", children: t }) : null,
|
|
37
|
+
e ? /* @__PURE__ */ l(f.SecondaryText, { fontWeight: "bold", children: e }) : null,
|
|
38
|
+
a ? /* @__PURE__ */ l(f.SecondaryText, { size: "small", children: a }) : null
|
|
39
|
+
] }) : i
|
|
40
|
+
}
|
|
41
|
+
) }),
|
|
42
|
+
!p && // Pinned to the side rather than centred over the newest message, which is
|
|
43
|
+
// the thing a reader scrolled back to see. `-translate-y-1/2` is measured
|
|
44
|
+
// working inside a shadow root (see the CardStrip arrow).
|
|
45
|
+
/* @__PURE__ */ l("div", { className: "absolute right-3 top-1/2 -translate-y-1/2", children: /* @__PURE__ */ l(
|
|
46
|
+
N,
|
|
47
|
+
{
|
|
48
|
+
variant: "outline",
|
|
49
|
+
size: "small",
|
|
50
|
+
iconOnly: !0,
|
|
51
|
+
radius: "xl",
|
|
52
|
+
style: {
|
|
53
|
+
backgroundColor: "var(--malachite-card-background)",
|
|
54
|
+
boxShadow: "var(--malachite-shadow-md)"
|
|
55
|
+
},
|
|
56
|
+
icon: /* @__PURE__ */ l(y, { size: 14 }),
|
|
57
|
+
tooltip: "Jump to latest",
|
|
58
|
+
"aria-label": "Jump to latest",
|
|
59
|
+
onClick: v
|
|
60
|
+
}
|
|
61
|
+
) })
|
|
62
|
+
] });
|
|
63
|
+
};
|
|
64
|
+
export {
|
|
65
|
+
z as ChatThread,
|
|
66
|
+
z as default
|
|
67
|
+
};
|
|
68
|
+
//# sourceMappingURL=ChatThread.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatThread.js","sources":["../../../src/components/Chat/ChatThread.tsx"],"sourcesContent":["import React from 'react';\nimport Button from '../Button';\nimport CaretDownIcon from '../CustomIcons/CaretDownIcon';\nimport Typography from '../Typography';\nimport { useStickToBottom } from './stickToBottom';\n\nexport interface ChatThreadProps {\n children?: React.ReactNode;\n /** Names the transcript for assistive tech, e.g. \"Policy assistant conversation\". */\n 'aria-label'?: string;\n /** Shown, centred, while the transcript holds nothing. Ignored when `emptyContent` is\n * supplied. */\n emptyTitle?: string;\n /** The lines under the title. A node, because guidance is rarely one sentence. Ignored\n * when `emptyContent` is supplied. */\n emptyDescription?: React.ReactNode;\n /** Ignored when `emptyContent` is supplied. */\n emptyIcon?: React.ReactNode;\n /**\n * Replaces the `emptyTitle`/`emptyDescription`/`emptyIcon` composition. Renders\n * left-aligned at the bottom of the transcript, directly above the composer — an empty\n * conversation should read as ready to start, not as a decorated void.\n */\n emptyContent?: React.ReactNode;\n className?: string;\n}\n\n/**\n * The scrolling transcript. Owns scroll ownership and the pin-to-newest behaviour so a\n * consumer never wires a scroll listener of its own.\n *\n * `flex-1 min-h-0` is load-bearing: without the floor, WebKit shrinks an `overflow` child to\n * fit its content and scrolling silently moves to an ancestor.\n */\nconst ChatThread: React.FC<ChatThreadProps> = ({\n children,\n 'aria-label': ariaLabel,\n emptyTitle,\n emptyDescription,\n emptyIcon,\n emptyContent,\n className = '',\n}) => {\n const { scrollRef, contentRef, pinned, scrollToBottom } = useStickToBottom();\n\n // `toArray` rather than `count`: it drops the nulls a caller leaves behind when a\n // conditional turn renders nothing, which `count` would tally as content.\n const isEmpty = React.Children.toArray(children).length === 0;\n const isEmptyWithCustomContent = isEmpty && Boolean(emptyContent);\n const isEmptyWithLegacyState =\n isEmpty && !emptyContent && Boolean(emptyTitle || emptyDescription || emptyIcon);\n\n let contentClassName = 'flex flex-col gap-4 p-4';\n if (isEmptyWithCustomContent) {\n // `flex-1`, not `min-h-full`: a percentage height only resolves against a parent with\n // an explicit height, and the scroll div's height comes from flex resolution rather\n // than a set value, so the percentage silently fails to resolve and the content\n // collapses to the top. `flex-1` instead asks the (now flex) scroll div's own layout\n // for a real height, which `mt-auto` below can then push against.\n contentClassName = 'flex flex-1 flex-col p-4';\n } else if (isEmptyWithLegacyState) {\n contentClassName =\n 'flex min-h-full flex-col items-center justify-center gap-2 p-6 text-center';\n }\n\n return (\n <div className={`relative flex min-h-0 flex-1 flex-col ${className}`}>\n <div ref={scrollRef} className=\"flex min-h-0 flex-1 flex-col overflow-y-auto\">\n <div\n ref={contentRef}\n role=\"log\"\n aria-live=\"polite\"\n aria-label={ariaLabel}\n className={contentClassName}\n >\n {isEmptyWithCustomContent ? (\n // `margin-top: auto` consumes the free space the scroll div's flex\n // layout gives this (now `flex-1`) content box, pinning the block to\n // the bottom. `flex-direction: column-reverse` was the mock's own\n // approach, but it inverts scroll geometry that `useStickToBottom` and\n // the jump-to-latest control both rely on — this gets the same bottom\n // anchoring without touching either.\n <div className=\"mt-auto text-left\">{emptyContent}</div>\n ) : isEmptyWithLegacyState ? (\n <>\n {emptyIcon ? (\n <span className=\"text-[var(--malachite-text-dimmed)]\">\n {emptyIcon}\n </span>\n ) : null}\n {emptyTitle ? (\n <Typography.SecondaryText fontWeight=\"bold\">\n {emptyTitle}\n </Typography.SecondaryText>\n ) : null}\n {emptyDescription ? (\n <Typography.SecondaryText size=\"small\">\n {emptyDescription}\n </Typography.SecondaryText>\n ) : null}\n </>\n ) : (\n children\n )}\n </div>\n </div>\n {!pinned && (\n // Pinned to the side rather than centred over the newest message, which is\n // the thing a reader scrolled back to see. `-translate-y-1/2` is measured\n // working inside a shadow root (see the CardStrip arrow).\n <div className=\"absolute right-3 top-1/2 -translate-y-1/2\">\n <Button\n variant=\"outline\"\n size=\"small\"\n iconOnly\n radius=\"xl\"\n // Inline, because no utility class can reach it: Tailwind's utilities\n // sit in `@layer utilities` while `.btn-outline`'s transparent\n // background is an unlayered rule, and unlayered wins. Without this\n // the transcript reads straight through the button.\n style={{\n backgroundColor: 'var(--malachite-card-background)',\n boxShadow: 'var(--malachite-shadow-md)',\n }}\n icon={<CaretDownIcon size={14} />}\n tooltip=\"Jump to latest\"\n aria-label=\"Jump to latest\"\n onClick={scrollToBottom}\n />\n </div>\n )}\n </div>\n );\n};\n\nexport default ChatThread;\nexport { ChatThread };\n"],"names":["ChatThread","children","ariaLabel","emptyTitle","emptyDescription","emptyIcon","emptyContent","className","scrollRef","contentRef","pinned","scrollToBottom","useStickToBottom","isEmpty","React","isEmptyWithCustomContent","isEmptyWithLegacyState","contentClassName","jsxs","jsx","Fragment","Typography","Button","CaretDownIcon"],"mappings":";;;;;;AAkCA,MAAMA,IAAwC,CAAC;AAAA,EAC3C,UAAAC;AAAA,EACA,cAAcC;AAAA,EACd,YAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,WAAAC;AAAA,EACA,cAAAC;AAAA,EACA,WAAAC,IAAY;AAChB,MAAM;AACF,QAAM,EAAE,WAAAC,GAAW,YAAAC,GAAY,QAAAC,GAAQ,gBAAAC,EAAA,IAAmBC,EAAA,GAIpDC,IAAUC,EAAM,SAAS,QAAQb,CAAQ,EAAE,WAAW,GACtDc,IAA2BF,KAAW,EAAQP,GAC9CU,IACFH,KAAW,CAACP,KAAgB,GAAQH,KAAcC,KAAoBC;AAE1E,MAAIY,IAAmB;AACvB,SAAIF,IAMAE,IAAmB,6BACZD,MACPC,IACI,+EAIJ,gBAAAC,EAAC,OAAA,EAAI,WAAW,yCAAyCX,CAAS,IAC9D,UAAA;AAAA,IAAA,gBAAAY,EAAC,OAAA,EAAI,KAAKX,GAAW,WAAU,gDAC3B,UAAA,gBAAAW;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,KAAKV;AAAA,QACL,MAAK;AAAA,QACL,aAAU;AAAA,QACV,cAAYP;AAAA,QACZ,WAAWe;AAAA,QAEV,UAAAF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAOG,gBAAAI,EAAC,OAAA,EAAI,WAAU,qBAAqB,UAAAb,EAAA,CAAa;AAAA,YACjDU,IACA,gBAAAE,EAAAE,GAAA,EACK,UAAA;AAAA,UAAAf,IACG,gBAAAc,EAAC,QAAA,EAAK,WAAU,uCACX,aACL,IACA;AAAA,UACHhB,sBACIkB,EAAW,eAAX,EAAyB,YAAW,QAChC,aACL,IACA;AAAA,UACHjB,sBACIiB,EAAW,eAAX,EAAyB,MAAK,SAC1B,aACL,IACA;AAAA,QAAA,EAAA,CACR,IAEApB;AAAA,MAAA;AAAA,IAAA,GAGZ;AAAA,IACC,CAACS;AAAA;AAAA;AAAA,IAIE,gBAAAS,EAAC,OAAA,EAAI,WAAU,6CACX,UAAA,gBAAAA;AAAA,MAACG;AAAA,MAAA;AAAA,QACG,SAAQ;AAAA,QACR,MAAK;AAAA,QACL,UAAQ;AAAA,QACR,QAAO;AAAA,QAKP,OAAO;AAAA,UACH,iBAAiB;AAAA,UACjB,WAAW;AAAA,QAAA;AAAA,QAEf,MAAM,gBAAAH,EAACI,GAAA,EAAc,MAAM,GAAA,CAAI;AAAA,QAC/B,SAAQ;AAAA,QACR,cAAW;AAAA,QACX,SAASZ;AAAA,MAAA;AAAA,IAAA,EACb,CACJ;AAAA,EAAA,GAER;AAER;"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { jsx as e, jsxs as i } from "react/jsx-runtime";
|
|
2
|
+
import { Accordion as d } from "../Accordion.js";
|
|
3
|
+
import c from "../CodeBlock.js";
|
|
4
|
+
import p from "../CustomIcons/CheckIcon.js";
|
|
5
|
+
import f from "../CustomIcons/RejectIcon.js";
|
|
6
|
+
import { Tag as T } from "../Tag.js";
|
|
7
|
+
import { Typography as s } from "../Typography/index.js";
|
|
8
|
+
const x = {
|
|
9
|
+
running: "Running",
|
|
10
|
+
completed: "Completed",
|
|
11
|
+
error: "Failed"
|
|
12
|
+
}, S = {
|
|
13
|
+
running: "warning",
|
|
14
|
+
completed: "success",
|
|
15
|
+
error: "error"
|
|
16
|
+
}, h = {
|
|
17
|
+
completed: /* @__PURE__ */ e(p, { size: 11 }),
|
|
18
|
+
error: /* @__PURE__ */ e(f, { size: 11 })
|
|
19
|
+
}, y = ({
|
|
20
|
+
name: t,
|
|
21
|
+
status: o = "completed",
|
|
22
|
+
callId: l,
|
|
23
|
+
input: r,
|
|
24
|
+
output: n,
|
|
25
|
+
defaultExpanded: m = !1,
|
|
26
|
+
className: a
|
|
27
|
+
}) => /* @__PURE__ */ e(
|
|
28
|
+
d,
|
|
29
|
+
{
|
|
30
|
+
variant: "sunken",
|
|
31
|
+
defaultExpanded: m,
|
|
32
|
+
className: a,
|
|
33
|
+
header: /* @__PURE__ */ e("span", { className: "min-w-0 text-left", children: /* @__PURE__ */ e(s.Text, { size: "small", fontWeight: "semi-bold", children: t }) }),
|
|
34
|
+
trailing: /* @__PURE__ */ e(
|
|
35
|
+
T,
|
|
36
|
+
{
|
|
37
|
+
value: x[o],
|
|
38
|
+
type: S[o],
|
|
39
|
+
fontSize: "xsmall",
|
|
40
|
+
textTransform: "none",
|
|
41
|
+
icon: h[o],
|
|
42
|
+
iconPosition: "left"
|
|
43
|
+
}
|
|
44
|
+
),
|
|
45
|
+
children: /* @__PURE__ */ i("div", { className: "flex flex-col gap-2 p-2", children: [
|
|
46
|
+
l === void 0 ? null : /* @__PURE__ */ i(s.SecondaryText, { size: "xsmall", children: [
|
|
47
|
+
"Call ID: ",
|
|
48
|
+
l
|
|
49
|
+
] }),
|
|
50
|
+
r === void 0 ? null : /* @__PURE__ */ e(c, { json: r, collapsed: 2 }),
|
|
51
|
+
n === void 0 ? null : /* @__PURE__ */ e(c, { json: n, collapsed: 2 })
|
|
52
|
+
] })
|
|
53
|
+
}
|
|
54
|
+
);
|
|
55
|
+
export {
|
|
56
|
+
y as ChatToolCall,
|
|
57
|
+
y as default
|
|
58
|
+
};
|
|
59
|
+
//# sourceMappingURL=ChatToolCall.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatToolCall.js","sources":["../../../src/components/Chat/ChatToolCall.tsx"],"sourcesContent":["import React from 'react';\nimport Accordion from '../Accordion';\nimport CodeBlock from '../CodeBlock';\nimport CheckIcon from '../CustomIcons/CheckIcon';\nimport RejectIcon from '../CustomIcons/RejectIcon';\nimport Tag from '../Tag';\nimport type { TagType } from '../Tag';\nimport Typography from '../Typography';\n\nexport type ChatToolCallStatus = 'running' | 'completed' | 'error';\n\nexport interface ChatToolCallProps {\n /** The tool the assistant called, e.g. `update_policy_draft`. */\n name: string;\n status?: ChatToolCallStatus;\n /**\n * The provider's id for this call. Shown once the card is expanded, not on the collapsed\n * row: it is a long opaque string nobody reads at a glance, and beside the tool name it\n * was taking two lines of the transcript to say nothing a reader wanted.\n */\n callId?: string;\n /** Arguments the assistant sent. */\n input?: object;\n /** What the call returned. Absent while it is still running. */\n output?: object;\n defaultExpanded?: boolean;\n className?: string;\n}\n\nconst STATUS_LABELS: Record<ChatToolCallStatus, string> = {\n running: 'Running',\n completed: 'Completed',\n error: 'Failed',\n};\n\nconst STATUS_TAG_TYPES: Record<ChatToolCallStatus, TagType> = {\n running: 'warning',\n completed: 'success',\n error: 'error',\n};\n\n/** Only a settled call carries a mark; a running one would be claiming an outcome. */\nconst STATUS_ICONS: Partial<Record<ChatToolCallStatus, React.ReactNode>> = {\n completed: <CheckIcon size={11} />,\n error: <RejectIcon size={11} />,\n};\n\n/**\n * One tool call in a transcript, collapsed by default: what the assistant did is worth a\n * line, and the arguments behind it are worth a click.\n *\n * The status sits in `trailing` rather than in the header, so it stays outside the toggle\n * button — a tag nested inside a button is invalid, and it reads as its own thing.\n */\nconst ChatToolCall: React.FC<ChatToolCallProps> = ({\n name,\n status = 'completed',\n callId,\n input,\n output,\n defaultExpanded = false,\n className,\n}) => (\n <Accordion\n variant=\"sunken\"\n defaultExpanded={defaultExpanded}\n className={className}\n header={\n <span className=\"min-w-0 text-left\">\n <Typography.Text size=\"small\" fontWeight=\"semi-bold\">\n {name}\n </Typography.Text>\n </span>\n }\n trailing={\n <Tag\n value={STATUS_LABELS[status]}\n type={STATUS_TAG_TYPES[status]}\n fontSize=\"xsmall\"\n textTransform=\"none\"\n icon={STATUS_ICONS[status]}\n iconPosition=\"left\"\n />\n }\n >\n <div className=\"flex flex-col gap-2 p-2\">\n {callId === undefined ? null : (\n <Typography.SecondaryText size=\"xsmall\">Call ID: {callId}</Typography.SecondaryText>\n )}\n {input === undefined ? null : <CodeBlock json={input} collapsed={2} />}\n {output === undefined ? null : <CodeBlock json={output} collapsed={2} />}\n </div>\n </Accordion>\n);\n\nexport default ChatToolCall;\nexport { ChatToolCall };\n"],"names":["STATUS_LABELS","STATUS_TAG_TYPES","STATUS_ICONS","jsx","CheckIcon","RejectIcon","ChatToolCall","name","status","callId","input","output","defaultExpanded","className","Accordion","Typography","Tag","jsxs","CodeBlock"],"mappings":";;;;;;;AA6BA,MAAMA,IAAoD;AAAA,EACtD,SAAS;AAAA,EACT,WAAW;AAAA,EACX,OAAO;AACX,GAEMC,IAAwD;AAAA,EAC1D,SAAS;AAAA,EACT,WAAW;AAAA,EACX,OAAO;AACX,GAGMC,IAAqE;AAAA,EACvE,WAAW,gBAAAC,EAACC,GAAA,EAAU,MAAM,GAAA,CAAI;AAAA,EAChC,OAAO,gBAAAD,EAACE,GAAA,EAAW,MAAM,GAAA,CAAI;AACjC,GASMC,IAA4C,CAAC;AAAA,EAC/C,MAAAC;AAAA,EACA,QAAAC,IAAS;AAAA,EACT,QAAAC;AAAA,EACA,OAAAC;AAAA,EACA,QAAAC;AAAA,EACA,iBAAAC,IAAkB;AAAA,EAClB,WAAAC;AACJ,MACI,gBAAAV;AAAA,EAACW;AAAA,EAAA;AAAA,IACG,SAAQ;AAAA,IACR,iBAAAF;AAAA,IACA,WAAAC;AAAA,IACA,QACI,gBAAAV,EAAC,QAAA,EAAK,WAAU,qBACZ,UAAA,gBAAAA,EAACY,EAAW,MAAX,EAAgB,MAAK,SAAQ,YAAW,aACpC,aACL,GACJ;AAAA,IAEJ,UACI,gBAAAZ;AAAA,MAACa;AAAA,MAAA;AAAA,QACG,OAAOhB,EAAcQ,CAAM;AAAA,QAC3B,MAAMP,EAAiBO,CAAM;AAAA,QAC7B,UAAS;AAAA,QACT,eAAc;AAAA,QACd,MAAMN,EAAaM,CAAM;AAAA,QACzB,cAAa;AAAA,MAAA;AAAA,IAAA;AAAA,IAIrB,UAAA,gBAAAS,EAAC,OAAA,EAAI,WAAU,2BACV,UAAA;AAAA,MAAAR,MAAW,SAAY,OACpB,gBAAAQ,EAACF,EAAW,eAAX,EAAyB,MAAK,UAAS,UAAA;AAAA,QAAA;AAAA,QAAUN;AAAA,MAAA,GAAO;AAAA,MAE5DC,MAAU,SAAY,OAAO,gBAAAP,EAACe,KAAU,MAAMR,GAAO,WAAW,GAAG;AAAA,MACnEC,MAAW,SAAY,OAAO,gBAAAR,EAACe,KAAU,MAAMP,GAAQ,WAAW,EAAA,CAAG;AAAA,IAAA,EAAA,CAC1E;AAAA,EAAA;AACJ;"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { ChatComposer as t } from "./ChatComposer.js";
|
|
2
|
+
import { ChatComposerChip as r } from "./ChatComposerChip.js";
|
|
3
|
+
import { ChatContext as e } from "./ChatContext.js";
|
|
4
|
+
import { ChatContextMeter as m } from "./ChatContextMeter.js";
|
|
5
|
+
import { ChatHeader as C } from "./ChatHeader.js";
|
|
6
|
+
import { ChatMessage as a } from "./ChatMessage.js";
|
|
7
|
+
import { ChatModelPicker as i } from "./ChatModelPicker.js";
|
|
8
|
+
import h from "./ChatRoot.js";
|
|
9
|
+
import { ChatSuggestion as p } from "./ChatSuggestion.js";
|
|
10
|
+
import { ChatThinking as f } from "./ChatThinking.js";
|
|
11
|
+
import { ChatThread as s } from "./ChatThread.js";
|
|
12
|
+
import { ChatToolCall as n } from "./ChatToolCall.js";
|
|
13
|
+
const o = h;
|
|
14
|
+
o.Header = C;
|
|
15
|
+
o.Thread = s;
|
|
16
|
+
o.Message = a;
|
|
17
|
+
o.ToolCall = n;
|
|
18
|
+
o.Thinking = f;
|
|
19
|
+
o.Composer = t;
|
|
20
|
+
o.ComposerChip = r;
|
|
21
|
+
o.Context = e;
|
|
22
|
+
o.ContextMeter = m;
|
|
23
|
+
o.ModelPicker = i;
|
|
24
|
+
o.Suggestion = p;
|
|
25
|
+
export {
|
|
26
|
+
o as Chat,
|
|
27
|
+
o as default
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/Chat/index.tsx"],"sourcesContent":["import React from 'react';\nimport { default as ChatComposer, type ChatComposerProps } from './ChatComposer';\nimport { default as ChatComposerChip, type ChatComposerChipProps } from './ChatComposerChip';\nimport { default as ChatContext, type ChatContextProps } from './ChatContext';\nimport { default as ChatContextMeter, type ChatContextMeterProps } from './ChatContextMeter';\nimport { default as ChatHeader, type ChatHeaderProps } from './ChatHeader';\nimport { default as ChatMessage, type ChatMessageProps } from './ChatMessage';\nimport { default as ChatModelPicker, type ChatModelPickerProps } from './ChatModelPicker';\nimport { type ChatProps, default as ChatRoot } from './ChatRoot';\nimport { default as ChatSuggestion, type ChatSuggestionProps } from './ChatSuggestion';\nimport { default as ChatThinking, type ChatThinkingProps } from './ChatThinking';\nimport { default as ChatThread, type ChatThreadProps } from './ChatThread';\nimport { default as ChatToolCall, type ChatToolCallProps } from './ChatToolCall';\n\nexport type {\n ChatFeedback,\n ChatMessageStatus,\n ChatMessageUsage,\n ChatMessageVariant,\n ChatRole,\n} from './ChatMessage';\nexport type { ChatToolCallStatus } from './ChatToolCall';\nexport type { ChatModelOption, ChatModelSubOption } from './ChatModelPicker';\nexport type { ChatContextItem } from './ChatContext';\nexport type {\n ChatComposerChipProps,\n ChatComposerProps,\n ChatContextMeterProps,\n ChatContextProps,\n ChatHeaderProps,\n ChatMessageProps,\n ChatModelPickerProps,\n ChatProps,\n ChatSuggestionProps,\n ChatThinkingProps,\n ChatThreadProps,\n ChatToolCallProps,\n};\n\ninterface ChatComponent extends React.FC<ChatProps> {\n Header: React.FC<ChatHeaderProps>;\n Thread: React.FC<ChatThreadProps>;\n Message: React.FC<ChatMessageProps>;\n ToolCall: React.FC<ChatToolCallProps>;\n Thinking: React.FC<ChatThinkingProps>;\n Composer: React.FC<ChatComposerProps>;\n ComposerChip: React.FC<ChatComposerChipProps>;\n Context: React.FC<ChatContextProps>;\n ContextMeter: React.FC<ChatContextMeterProps>;\n ModelPicker: React.FC<ChatModelPickerProps>;\n Suggestion: React.FC<ChatSuggestionProps>;\n}\n\nconst Chat = ChatRoot as ChatComponent;\n\nChat.Header = ChatHeader;\nChat.Thread = ChatThread;\nChat.Message = ChatMessage;\nChat.ToolCall = ChatToolCall;\nChat.Thinking = ChatThinking;\nChat.Composer = ChatComposer;\nChat.ComposerChip = ChatComposerChip;\nChat.Context = ChatContext;\nChat.ContextMeter = ChatContextMeter;\nChat.ModelPicker = ChatModelPicker;\nChat.Suggestion = ChatSuggestion;\n\nexport default Chat;\nexport { Chat };\n"],"names":["Chat","ChatRoot","ChatHeader","ChatThread","ChatMessage","ChatToolCall","ChatThinking","ChatComposer","ChatComposerChip","ChatContext","ChatContextMeter","ChatModelPicker","ChatSuggestion"],"mappings":";;;;;;;;;;;;AAqDA,MAAMA,IAAOC;AAEbD,EAAK,SAASE;AACdF,EAAK,SAASG;AACdH,EAAK,UAAUI;AACfJ,EAAK,WAAWK;AAChBL,EAAK,WAAWM;AAChBN,EAAK,WAAWO;AAChBP,EAAK,eAAeQ;AACpBR,EAAK,UAAUS;AACfT,EAAK,eAAeU;AACpBV,EAAK,cAAcW;AACnBX,EAAK,aAAaY;"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { useRef as r, useState as p, useCallback as a, useEffect as h } from "react";
|
|
2
|
+
const m = 32, T = (t) => t.scrollHeight - t.scrollTop - t.clientHeight <= m, R = () => {
|
|
3
|
+
const t = r(null), s = r(null), [d, i] = p(!0), n = r(!0), f = a(() => {
|
|
4
|
+
const e = t.current;
|
|
5
|
+
if (!e)
|
|
6
|
+
return;
|
|
7
|
+
typeof window.matchMedia == "function" && !window.matchMedia("(prefers-reduced-motion: reduce)").matches && typeof e.scrollTo == "function" ? e.scrollTo({ top: e.scrollHeight, behavior: "smooth" }) : e.scrollTop = e.scrollHeight, n.current = !0, i(!0);
|
|
8
|
+
}, []);
|
|
9
|
+
return h(() => {
|
|
10
|
+
const e = t.current, c = s.current;
|
|
11
|
+
if (!e || !c)
|
|
12
|
+
return;
|
|
13
|
+
const l = () => {
|
|
14
|
+
const u = T(e);
|
|
15
|
+
n.current = u, i(u);
|
|
16
|
+
};
|
|
17
|
+
e.addEventListener("scroll", l, { passive: !0 });
|
|
18
|
+
const o = typeof ResizeObserver > "u" ? void 0 : new ResizeObserver(() => {
|
|
19
|
+
n.current && (e.scrollTop = e.scrollHeight);
|
|
20
|
+
});
|
|
21
|
+
return o == null || o.observe(c), () => {
|
|
22
|
+
e.removeEventListener("scroll", l), o == null || o.disconnect();
|
|
23
|
+
};
|
|
24
|
+
}, []), { scrollRef: t, contentRef: s, pinned: d, scrollToBottom: f };
|
|
25
|
+
};
|
|
26
|
+
export {
|
|
27
|
+
R as useStickToBottom
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=stickToBottom.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stickToBottom.js","sources":["../../../src/components/Chat/stickToBottom.ts"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react';\n\n/** How far from the bottom still counts as pinned, in px. */\nconst PINNED_SLACK = 32;\n\nconst isPinned = (node: HTMLElement): boolean =>\n node.scrollHeight - node.scrollTop - node.clientHeight <= PINNED_SLACK;\n\n/**\n * Keeps a scroll container pinned to its newest content while the reader is at the bottom,\n * and reports when they have scrolled away.\n *\n * `contentRef` goes on the growing child rather than the container: a streaming reply changes\n * the content's height, never the container's, so an observer on the container never fires.\n */\nexport const useStickToBottom = () => {\n const scrollRef = useRef<HTMLDivElement>(null);\n const contentRef = useRef<HTMLDivElement>(null);\n const [pinned, setPinned] = useState(true);\n\n // Whether the reader was pinned BEFORE the content grew. By the time the observer runs,\n // the container is no longer at the bottom, so the live DOM cannot answer this.\n const pinnedRef = useRef(true);\n\n const scrollToBottom = useCallback(() => {\n const node = scrollRef.current;\n\n if (!node) {\n return;\n }\n\n // Eased, because arriving instantly at the bottom reads as a glitch rather than as\n // travel. `scrollTo` is asked for smooth only when the reader has not opted out of\n // motion — matchMedia rather than CSS, since this is a scroll and not a style.\n const smooth =\n typeof window.matchMedia === 'function' &&\n !window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n\n if (smooth && typeof node.scrollTo === 'function') {\n node.scrollTo({ top: node.scrollHeight, behavior: 'smooth' });\n } else {\n node.scrollTop = node.scrollHeight;\n }\n\n // Pinned because this just pinned it, rather than waiting to be told: Chrome can\n // coalesce the scroll event a programmatic scroll produces, which would leave the\n // jump-to-latest affordance on screen at the latest message.\n pinnedRef.current = true;\n setPinned(true);\n }, []);\n\n useEffect(() => {\n const node = scrollRef.current;\n const content = contentRef.current;\n\n if (!node || !content) {\n return;\n }\n\n const readPinned = () => {\n const next = isPinned(node);\n pinnedRef.current = next;\n setPinned(next);\n };\n\n node.addEventListener('scroll', readPinned, { passive: true });\n\n // jsdom has no ResizeObserver, and a thread that cannot follow its content is still\n // a working transcript — so pinning degrades rather than throwing on mount.\n const observer =\n typeof ResizeObserver === 'undefined'\n ? undefined\n : new ResizeObserver(() => {\n if (pinnedRef.current) {\n node.scrollTop = node.scrollHeight;\n }\n });\n observer?.observe(content);\n\n return () => {\n node.removeEventListener('scroll', readPinned);\n observer?.disconnect();\n };\n }, []);\n\n return { scrollRef, contentRef, pinned, scrollToBottom };\n};\n"],"names":["PINNED_SLACK","isPinned","node","useStickToBottom","scrollRef","useRef","contentRef","pinned","setPinned","useState","pinnedRef","scrollToBottom","useCallback","useEffect","content","readPinned","next","observer"],"mappings":";AAGA,MAAMA,IAAe,IAEfC,IAAW,CAACC,MACdA,EAAK,eAAeA,EAAK,YAAYA,EAAK,gBAAgBF,GASjDG,IAAmB,MAAM;AAClC,QAAMC,IAAYC,EAAuB,IAAI,GACvCC,IAAaD,EAAuB,IAAI,GACxC,CAACE,GAAQC,CAAS,IAAIC,EAAS,EAAI,GAInCC,IAAYL,EAAO,EAAI,GAEvBM,IAAiBC,EAAY,MAAM;AACrC,UAAMV,IAAOE,EAAU;AAEvB,QAAI,CAACF;AACD;AAUJ,IAHI,OAAO,OAAO,cAAe,cAC7B,CAAC,OAAO,WAAW,kCAAkC,EAAE,WAE7C,OAAOA,EAAK,YAAa,aACnCA,EAAK,SAAS,EAAE,KAAKA,EAAK,cAAc,UAAU,UAAU,IAE5DA,EAAK,YAAYA,EAAK,cAM1BQ,EAAU,UAAU,IACpBF,EAAU,EAAI;AAAA,EAClB,GAAG,CAAA,CAAE;AAEL,SAAAK,EAAU,MAAM;AACZ,UAAMX,IAAOE,EAAU,SACjBU,IAAUR,EAAW;AAE3B,QAAI,CAACJ,KAAQ,CAACY;AACV;AAGJ,UAAMC,IAAa,MAAM;AACrB,YAAMC,IAAOf,EAASC,CAAI;AAC1B,MAAAQ,EAAU,UAAUM,GACpBR,EAAUQ,CAAI;AAAA,IAClB;AAEA,IAAAd,EAAK,iBAAiB,UAAUa,GAAY,EAAE,SAAS,IAAM;AAI7D,UAAME,IACF,OAAO,iBAAmB,MACpB,SACA,IAAI,eAAe,MAAM;AACrB,MAAIP,EAAU,YACVR,EAAK,YAAYA,EAAK;AAAA,IAE9B,CAAC;AACX,WAAAe,KAAA,QAAAA,EAAU,QAAQH,IAEX,MAAM;AACT,MAAAZ,EAAK,oBAAoB,UAAUa,CAAU,GAC7CE,KAAA,QAAAA,EAAU;AAAA,IACd;AAAA,EACJ,GAAG,CAAA,CAAE,GAEE,EAAE,WAAAb,GAAW,YAAAE,GAAY,QAAAC,GAAQ,gBAAAI,EAAA;AAC5C;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenText.js","sources":["../../../src/components/Chat/tokenText.ts"],"sourcesContent":["/**\n * Token counts as a footer reads them — a glance, not a ledger: 157, 3.5k, 1.2m.\n *\n * A sibling module because two components format counts, and a component file exports\n * components only.\n */\nexport const compactCount = (count: number): string => {\n if (count === 0) {\n return '0';\n }\n\n if (count >= 1_000_000) {\n return `${(count / 1_000_000).toFixed(1)}m`;\n }\n\n if (count >= 1_000) {\n return `${(count / 1_000).toFixed(1)}k`;\n }\n\n return count.toLocaleString();\n};\n\n/** An absent count reads as a dash rather than as zero, which would claim it was measured. */\nexport const compactOrDash = (count: number | null | undefined): string =>\n count === null || count === undefined ? '-' : compactCount(count);\n"],"names":["compactCount","count","compactOrDash"],"mappings":"AAMO,MAAMA,IAAe,CAACC,MACrBA,MAAU,IACH,MAGPA,KAAS,MACF,IAAIA,IAAQ,KAAW,QAAQ,CAAC,CAAC,MAGxCA,KAAS,MACF,IAAIA,IAAQ,KAAO,QAAQ,CAAC,CAAC,MAGjCA,EAAM,eAAA,GAIJC,IAAgB,CAACD,MAC1BA,KAAU,OAA8B,MAAMD,EAAaC,CAAK;"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { jsx as t, jsxs as b, Fragment as y } from "react/jsx-runtime";
|
|
2
|
+
import { FOCUS_RING as m } from "./focusRing.js";
|
|
3
|
+
const $ = ({
|
|
4
|
+
checked: o,
|
|
5
|
+
indeterminate: a = !1,
|
|
6
|
+
onChange: e,
|
|
7
|
+
disabled: l = !1,
|
|
8
|
+
size: r = 14,
|
|
9
|
+
presentational: u = !1,
|
|
10
|
+
"aria-label": p,
|
|
11
|
+
"aria-labelledby": x,
|
|
12
|
+
className: i = "",
|
|
13
|
+
id: g
|
|
14
|
+
}) => {
|
|
15
|
+
const c = o && !a, n = Math.max(3, Math.round(r * 0.36)), d = Math.round(r * 0.57), f = a || o ? "var(--malachite-accent-background, rgb(0, 175, 102))" : "var(--malachite-text-placeholder, rgb(187, 187, 187))", h = {
|
|
16
|
+
position: "relative",
|
|
17
|
+
flexShrink: 0,
|
|
18
|
+
display: "inline-flex",
|
|
19
|
+
alignItems: "center",
|
|
20
|
+
justifyContent: "center",
|
|
21
|
+
width: `${r}px`,
|
|
22
|
+
height: `${r}px`,
|
|
23
|
+
padding: 0,
|
|
24
|
+
borderRadius: `${n}px`,
|
|
25
|
+
borderWidth: "1px",
|
|
26
|
+
borderStyle: "solid",
|
|
27
|
+
borderColor: f,
|
|
28
|
+
backgroundColor: c ? "var(--malachite-accent-background, rgb(0, 175, 102))" : "transparent",
|
|
29
|
+
color: "#fff",
|
|
30
|
+
opacity: l ? 0.5 : 1,
|
|
31
|
+
transition: "background-color 150ms ease, border-color 150ms ease"
|
|
32
|
+
}, s = /* @__PURE__ */ b(y, { children: [
|
|
33
|
+
c && /* @__PURE__ */ b(
|
|
34
|
+
"svg",
|
|
35
|
+
{
|
|
36
|
+
width: Math.round(r * 0.78),
|
|
37
|
+
height: Math.round(r * 0.78),
|
|
38
|
+
viewBox: "0 0 24 24",
|
|
39
|
+
"aria-hidden": "true",
|
|
40
|
+
children: [
|
|
41
|
+
/* @__PURE__ */ t("title", { children: "checked" }),
|
|
42
|
+
/* @__PURE__ */ t("path", { d: "M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z" })
|
|
43
|
+
]
|
|
44
|
+
}
|
|
45
|
+
),
|
|
46
|
+
a && /* @__PURE__ */ t(
|
|
47
|
+
"span",
|
|
48
|
+
{
|
|
49
|
+
style: {
|
|
50
|
+
width: `${d}px`,
|
|
51
|
+
height: `${d}px`,
|
|
52
|
+
borderRadius: `${Math.max(2, Math.round(n * 0.6))}px`,
|
|
53
|
+
backgroundColor: "var(--malachite-accent-background, rgb(0, 175, 102))"
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
)
|
|
57
|
+
] });
|
|
58
|
+
return u ? /* @__PURE__ */ t("span", { "aria-hidden": "true", className: i, style: h, children: s }) : /* @__PURE__ */ t(
|
|
59
|
+
"button",
|
|
60
|
+
{
|
|
61
|
+
type: "button",
|
|
62
|
+
role: "checkbox",
|
|
63
|
+
id: g,
|
|
64
|
+
"aria-checked": a ? "mixed" : o,
|
|
65
|
+
"aria-label": p,
|
|
66
|
+
"aria-labelledby": x,
|
|
67
|
+
disabled: l,
|
|
68
|
+
onClick: () => e == null ? void 0 : e(a ? !0 : !o),
|
|
69
|
+
className: `${m} ${i}`,
|
|
70
|
+
style: { ...h, cursor: l ? "not-allowed" : "pointer" },
|
|
71
|
+
children: s
|
|
72
|
+
}
|
|
73
|
+
);
|
|
74
|
+
};
|
|
75
|
+
export {
|
|
76
|
+
$ as Checkbox,
|
|
77
|
+
$ as default
|
|
78
|
+
};
|
|
79
|
+
//# sourceMappingURL=Checkbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Checkbox.js","sources":["../../src/components/Checkbox.tsx"],"sourcesContent":["import React from 'react';\nimport { FOCUS_RING } from './focusRing';\n\ninterface CheckboxProps {\n checked: boolean;\n /** Tri-state \"partial\" look — overrides the checked tick with a square. */\n indeterminate?: boolean;\n /** Optional when `presentational` — a presentational checkbox is a visual indicator only. */\n onChange?: (checked: boolean) => void;\n disabled?: boolean;\n size?: number;\n /**\n * Render a visual-only indicator (a non-interactive, non-focusable `<span>`,\n * `aria-hidden`) instead of an interactive checkbox. Use this inside a clickable\n * row/card whose wrapper is the real control, so there's a single tab stop.\n */\n presentational?: boolean;\n 'aria-label'?: string;\n 'aria-labelledby'?: string;\n className?: string;\n id?: string;\n}\n\nconst Checkbox: React.FC<CheckboxProps> = ({\n checked,\n indeterminate = false,\n onChange,\n disabled = false,\n size = 14,\n presentational = false,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n className = '',\n id,\n}) => {\n const isFilled = checked && !indeterminate;\n const radius = Math.max(3, Math.round(size * 0.36));\n const innerSize = Math.round(size * 0.57);\n\n // Indeterminate shares the checked border rather than a fainter one, so \"some selected\"\n // never reads weaker than \"nothing selected\"; the transparent fill separates the states.\n const borderColor =\n indeterminate || checked\n ? 'var(--malachite-accent-background, rgb(0, 175, 102))'\n : 'var(--malachite-text-placeholder, rgb(187, 187, 187))';\n\n const boxStyle: React.CSSProperties = {\n position: 'relative',\n flexShrink: 0,\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: `${size}px`,\n height: `${size}px`,\n padding: 0,\n borderRadius: `${radius}px`,\n borderWidth: '1px',\n borderStyle: 'solid',\n borderColor,\n backgroundColor: isFilled\n ? 'var(--malachite-accent-background, rgb(0, 175, 102))'\n : 'transparent',\n color: '#fff',\n opacity: disabled ? 0.5 : 1,\n transition: 'background-color 150ms ease, border-color 150ms ease',\n };\n\n const glyph = (\n <>\n {isFilled && (\n <svg\n width={Math.round(size * 0.78)}\n height={Math.round(size * 0.78)}\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\"\n >\n <title>checked</title>\n {/* Filled glyph — the library forces `svg path { fill: currentColor }` */}\n <path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\" />\n </svg>\n )}\n {indeterminate && (\n <span\n style={{\n width: `${innerSize}px`,\n height: `${innerSize}px`,\n borderRadius: `${Math.max(2, Math.round(radius * 0.6))}px`,\n backgroundColor: 'var(--malachite-accent-background, rgb(0, 175, 102))',\n }}\n />\n )}\n </>\n );\n\n if (presentational) {\n return (\n <span aria-hidden=\"true\" className={className} style={boxStyle}>\n {glyph}\n </span>\n );\n }\n\n return (\n <button\n type=\"button\"\n role=\"checkbox\"\n id={id}\n aria-checked={indeterminate ? 'mixed' : checked}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n disabled={disabled}\n onClick={() => onChange?.(indeterminate ? true : !checked)}\n className={`${FOCUS_RING} ${className}`}\n style={{ ...boxStyle, cursor: disabled ? 'not-allowed' : 'pointer' }}\n >\n {glyph}\n </button>\n );\n};\n\nexport default Checkbox;\nexport { Checkbox };\nexport type { CheckboxProps };\n"],"names":["Checkbox","checked","indeterminate","onChange","disabled","size","presentational","ariaLabel","ariaLabelledBy","className","id","isFilled","radius","innerSize","borderColor","boxStyle","glyph","jsxs","Fragment","jsx","FOCUS_RING"],"mappings":";;AAuBA,MAAMA,IAAoC,CAAC;AAAA,EACvC,SAAAC;AAAA,EACA,eAAAC,IAAgB;AAAA,EAChB,UAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,MAAAC,IAAO;AAAA,EACP,gBAAAC,IAAiB;AAAA,EACjB,cAAcC;AAAA,EACd,mBAAmBC;AAAA,EACnB,WAAAC,IAAY;AAAA,EACZ,IAAAC;AACJ,MAAM;AACF,QAAMC,IAAWV,KAAW,CAACC,GACvBU,IAAS,KAAK,IAAI,GAAG,KAAK,MAAMP,IAAO,IAAI,CAAC,GAC5CQ,IAAY,KAAK,MAAMR,IAAO,IAAI,GAIlCS,IACFZ,KAAiBD,IACX,yDACA,yDAEJc,IAAgC;AAAA,IAClC,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,gBAAgB;AAAA,IAChB,OAAO,GAAGV,CAAI;AAAA,IACd,QAAQ,GAAGA,CAAI;AAAA,IACf,SAAS;AAAA,IACT,cAAc,GAAGO,CAAM;AAAA,IACvB,aAAa;AAAA,IACb,aAAa;AAAA,IACb,aAAAE;AAAA,IACA,iBAAiBH,IACX,yDACA;AAAA,IACN,OAAO;AAAA,IACP,SAASP,IAAW,MAAM;AAAA,IAC1B,YAAY;AAAA,EAAA,GAGVY,IACF,gBAAAC,EAAAC,GAAA,EACK,UAAA;AAAA,IAAAP,KACG,gBAAAM;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,OAAO,KAAK,MAAMZ,IAAO,IAAI;AAAA,QAC7B,QAAQ,KAAK,MAAMA,IAAO,IAAI;AAAA,QAC9B,SAAQ;AAAA,QACR,eAAY;AAAA,QAEZ,UAAA;AAAA,UAAA,gBAAAc,EAAC,WAAM,UAAA,UAAA,CAAO;AAAA,UAEd,gBAAAA,EAAC,QAAA,EAAK,GAAE,oDAAA,CAAoD;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,IAGnEjB,KACG,gBAAAiB;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,OAAO;AAAA,UACH,OAAO,GAAGN,CAAS;AAAA,UACnB,QAAQ,GAAGA,CAAS;AAAA,UACpB,cAAc,GAAG,KAAK,IAAI,GAAG,KAAK,MAAMD,IAAS,GAAG,CAAC,CAAC;AAAA,UACtD,iBAAiB;AAAA,QAAA;AAAA,MACrB;AAAA,IAAA;AAAA,EACJ,GAER;AAGJ,SAAIN,sBAEK,QAAA,EAAK,eAAY,QAAO,WAAAG,GAAsB,OAAOM,GACjD,UAAAC,GACL,IAKJ,gBAAAG;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,MAAK;AAAA,MACL,MAAK;AAAA,MACL,IAAAT;AAAA,MACA,gBAAcR,IAAgB,UAAUD;AAAA,MACxC,cAAYM;AAAA,MACZ,mBAAiBC;AAAA,MACjB,UAAAJ;AAAA,MACA,SAAS,MAAMD,KAAA,gBAAAA,EAAWD,IAAgB,KAAO,CAACD;AAAA,MAClD,WAAW,GAAGmB,CAAU,IAAIX,CAAS;AAAA,MACrC,OAAO,EAAE,GAAGM,GAAU,QAAQX,IAAW,gBAAgB,UAAA;AAAA,MAExD,UAAAY;AAAA,IAAA;AAAA,EAAA;AAGb;"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { jsx as t } from "react/jsx-runtime";
|
|
2
|
+
import { FOCUS_RING_INSET as o } from "./focusRing.js";
|
|
3
|
+
const s = ({
|
|
4
|
+
children: a,
|
|
5
|
+
lines: i = 3,
|
|
6
|
+
expandOnHover: e = !0,
|
|
7
|
+
className: l = ""
|
|
8
|
+
}) => /* @__PURE__ */ t(
|
|
9
|
+
"div",
|
|
10
|
+
{
|
|
11
|
+
className: [
|
|
12
|
+
"w-full overflow-hidden leading-[1.5em] [display:-webkit-box] [-webkit-box-orient:vertical]",
|
|
13
|
+
"[-webkit-line-clamp:var(--malachite-clamp-lines)]",
|
|
14
|
+
"max-h-[calc(1.5em*var(--malachite-clamp-lines))]",
|
|
15
|
+
"transition-[max-height] duration-300 ease-[var(--malachite-ease-standard)] motion-reduce:transition-none",
|
|
16
|
+
e ? (
|
|
17
|
+
// Inset ring: the element is `overflow-hidden`, so an outset outline is clipped.
|
|
18
|
+
`${o} hover:[-webkit-line-clamp:unset] focus-visible:[-webkit-line-clamp:unset] hover:max-h-[1000px] focus-visible:max-h-[1000px]`
|
|
19
|
+
) : "",
|
|
20
|
+
l
|
|
21
|
+
].filter(Boolean).join(" "),
|
|
22
|
+
style: { "--malachite-clamp-lines": i },
|
|
23
|
+
tabIndex: e ? 0 : void 0,
|
|
24
|
+
children: a
|
|
25
|
+
}
|
|
26
|
+
);
|
|
27
|
+
export {
|
|
28
|
+
s as default
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=ClampText.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClampText.js","sources":["../../src/components/ClampText.tsx"],"sourcesContent":["import React from 'react';\nimport { FOCUS_RING_INSET } from './focusRing';\n\nexport interface ClampTextProps {\n children: React.ReactNode;\n lines?: number;\n expandOnHover?: boolean;\n className?: string;\n}\n\n/**\n * Text clamped to `lines`, revealing the full text on hover / keyboard focus when\n * `expandOnHover`. Pure CSS. The expanded state caps at 1000px, so this is for short blurbs.\n *\n * `line-height` is `1.5em`, NOT the bare `1.5`, and that unit is what makes the cap exact: a\n * `<number>` inherits as a FACTOR, so each descendant re-resolves it against its own\n * font-size, while `max-height: calc(1.5em * lines)` resolves against THIS element's. With\n * the bare number they disagreed — 14px text in a 13px row gave 21px line boxes against a\n * 19.5px allowance and the last line was sliced. As a `<length>` both share one basis.\n *\n * The cap also bounds block children, which `-webkit-line-clamp` counts as one \"line\" each —\n * so a MarkdownBlock in `block` variant relies on it. (Prefer `variant=\"flow\"` there.)\n */\nconst ClampText: React.FC<ClampTextProps> = ({\n children,\n lines = 3,\n expandOnHover = true,\n className = '',\n}) => (\n <div\n className={[\n 'w-full overflow-hidden leading-[1.5em] [display:-webkit-box] [-webkit-box-orient:vertical]',\n '[-webkit-line-clamp:var(--malachite-clamp-lines)]',\n 'max-h-[calc(1.5em*var(--malachite-clamp-lines))]',\n 'transition-[max-height] duration-300 ease-[var(--malachite-ease-standard)] motion-reduce:transition-none',\n expandOnHover\n ? // Inset ring: the element is `overflow-hidden`, so an outset outline is clipped.\n `${FOCUS_RING_INSET} hover:[-webkit-line-clamp:unset] focus-visible:[-webkit-line-clamp:unset] hover:max-h-[1000px] focus-visible:max-h-[1000px]`\n : '',\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n style={{ '--malachite-clamp-lines': lines } as React.CSSProperties}\n tabIndex={expandOnHover ? 0 : undefined}\n >\n {children}\n </div>\n);\n\nexport default ClampText;\n"],"names":["ClampText","children","lines","expandOnHover","className","jsx","FOCUS_RING_INSET"],"mappings":";;AAuBA,MAAMA,IAAsC,CAAC;AAAA,EACzC,UAAAC;AAAA,EACA,OAAAC,IAAQ;AAAA,EACR,eAAAC,IAAgB;AAAA,EAChB,WAAAC,IAAY;AAChB,MACI,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACG,WAAW;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACAF;AAAA;AAAA,QAEM,GAAGG,CAAgB;AAAA,UACnB;AAAA,MACNF;AAAA,IAAA,EAEC,OAAO,OAAO,EACd,KAAK,GAAG;AAAA,IACb,OAAO,EAAE,2BAA2BF,EAAA;AAAA,IACpC,UAAUC,IAAgB,IAAI;AAAA,IAE7B,UAAAF;AAAA,EAAA;AACL;"}
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
import { jsxs as S, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import T from "@uiw/react-json-view";
|
|
3
|
+
import g from "react";
|
|
4
|
+
import _ from "./CustomIcons/CopyIcon.js";
|
|
5
|
+
import { diffHunks as D } from "./codeBlockDiff.js";
|
|
6
|
+
import { CodeLine as I } from "./codeBlockLine.js";
|
|
7
|
+
import { FOCUS_RING as O } from "./focusRing.js";
|
|
8
|
+
const A = g.lazy(() => import("./CodeBlockHighlighter.js")), z = {
|
|
9
|
+
added: "var(--malachite-codeblock-diff-added-background)",
|
|
10
|
+
removed: "var(--malachite-codeblock-diff-removed-background)",
|
|
11
|
+
context: void 0
|
|
12
|
+
}, B = {
|
|
13
|
+
added: "+",
|
|
14
|
+
removed: "-",
|
|
15
|
+
context: void 0
|
|
16
|
+
}, K = {
|
|
17
|
+
added: "var(--malachite-codeblock-diff-assistant-background)",
|
|
18
|
+
removed: "var(--malachite-codeblock-diff-assistant-removed-background)",
|
|
19
|
+
context: void 0
|
|
20
|
+
}, $ = {
|
|
21
|
+
added: "✦",
|
|
22
|
+
// U+2212 minus sign, not a hyphen: the mock is explicit about which glyph.
|
|
23
|
+
removed: "−",
|
|
24
|
+
context: "·"
|
|
25
|
+
}, M = {
|
|
26
|
+
added: "var(--malachite-codeblock-diff-assistant-foreground)",
|
|
27
|
+
removed: "var(--malachite-codeblock-diff-removed-foreground)",
|
|
28
|
+
context: "var(--malachite-codeblock-diff-context-foreground)"
|
|
29
|
+
}, E = (o) => `⋯ ${o} unchanged ${o === 1 ? "line" : "lines"}`, G = (o, d, n) => {
|
|
30
|
+
const t = n === "assistant";
|
|
31
|
+
return {
|
|
32
|
+
background: t ? K[o.type] : z[o.type],
|
|
33
|
+
marker: t ? $[o.type] : B[o.type],
|
|
34
|
+
markerColor: t ? M[o.type] : void 0,
|
|
35
|
+
// Reserved on unchanged rows too, so the code column does not step in and out.
|
|
36
|
+
reserveMarker: !0,
|
|
37
|
+
// Context rows read as de-emphasised, not just unmarked, in the assistant palette.
|
|
38
|
+
textColor: t && o.type === "context" ? "var(--malachite-codeblock-diff-context-text)" : void 0,
|
|
39
|
+
strikethrough: t && o.type === "removed",
|
|
40
|
+
separatorAbove: o.skippedAbove === void 0 ? void 0 : E(o.skippedAbove),
|
|
41
|
+
// A removed line has no number in the after-text, so it keeps the one it had before.
|
|
42
|
+
lineNumber: d ? o.afterNumber ?? o.beforeNumber : void 0
|
|
43
|
+
};
|
|
44
|
+
}, Y = ({
|
|
45
|
+
code: o,
|
|
46
|
+
json: d,
|
|
47
|
+
showLineNumbers: n = !0,
|
|
48
|
+
className: t = "",
|
|
49
|
+
style: j = {},
|
|
50
|
+
height: x,
|
|
51
|
+
enableCopy: s = !0,
|
|
52
|
+
wrapLines: u = !1,
|
|
53
|
+
language: v,
|
|
54
|
+
collapsed: N = !1,
|
|
55
|
+
diff: l
|
|
56
|
+
}) => {
|
|
57
|
+
const a = l ? D(l.before, l.after, l.context) : null, m = (a == null ? void 0 : a.map((c) => c.text).join(`
|
|
58
|
+
`)) ?? "", k = (() => {
|
|
59
|
+
if (a)
|
|
60
|
+
return m;
|
|
61
|
+
if (o)
|
|
62
|
+
return o;
|
|
63
|
+
if (d !== void 0)
|
|
64
|
+
try {
|
|
65
|
+
return JSON.stringify(d, null, 2);
|
|
66
|
+
} catch {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
})(), C = s && k !== void 0 && /* @__PURE__ */ e(
|
|
70
|
+
"button",
|
|
71
|
+
{
|
|
72
|
+
type: "button",
|
|
73
|
+
"aria-label": "Copy",
|
|
74
|
+
onClick: () => {
|
|
75
|
+
var c, r;
|
|
76
|
+
k !== void 0 && ((r = (c = navigator.clipboard) == null ? void 0 : c.writeText(k)) == null || r.catch(() => {
|
|
77
|
+
}));
|
|
78
|
+
},
|
|
79
|
+
className: `absolute top-2 right-2 z-10 flex items-center justify-center rounded-md border border-solid border-[var(--malachite-codeblock-border)] bg-[var(--malachite-codeblock-background)] p-1.5 transition-colors hover:bg-[var(--malachite-codeblock-border)] ${O}`,
|
|
80
|
+
style: { color: "var(--malachite-codeblock-line-number)" },
|
|
81
|
+
children: /* @__PURE__ */ e(_, { size: 14 })
|
|
82
|
+
}
|
|
83
|
+
);
|
|
84
|
+
if (d && !a)
|
|
85
|
+
return /* @__PURE__ */ S(
|
|
86
|
+
"div",
|
|
87
|
+
{
|
|
88
|
+
className: `relative border rounded-lg overflow-hidden ${t}`,
|
|
89
|
+
style: {
|
|
90
|
+
backgroundColor: "var(--malachite-codeblock-background)",
|
|
91
|
+
borderColor: "var(--malachite-codeblock-border)",
|
|
92
|
+
height: x,
|
|
93
|
+
...j
|
|
94
|
+
},
|
|
95
|
+
children: [
|
|
96
|
+
C,
|
|
97
|
+
/* @__PURE__ */ e(
|
|
98
|
+
T,
|
|
99
|
+
{
|
|
100
|
+
value: d,
|
|
101
|
+
style: {
|
|
102
|
+
backgroundColor: "var(--malachite-codeblock-background)",
|
|
103
|
+
color: "var(--malachite-codeblock-foreground)",
|
|
104
|
+
fontSize: "14px",
|
|
105
|
+
fontFamily: "var(--malachite-font-mono, monospace)",
|
|
106
|
+
padding: "16px",
|
|
107
|
+
lineHeight: "1.5",
|
|
108
|
+
textAlign: "left",
|
|
109
|
+
"--w-rjv-color": "var(--malachite-codeblock-foreground)",
|
|
110
|
+
"--w-rjv-key-string": "var(--malachite-codeblock-keyword)",
|
|
111
|
+
"--w-rjv-background-color": "var(--malachite-codeblock-background)",
|
|
112
|
+
"--w-rjv-line-color": "var(--malachite-codeblock-border)",
|
|
113
|
+
"--w-rjv-arrow-color": "var(--malachite-codeblock-line-number)",
|
|
114
|
+
"--w-rjv-edit-color": "var(--malachite-codeblock-keyword)",
|
|
115
|
+
"--w-rjv-info-color": "var(--malachite-codeblock-line-number)",
|
|
116
|
+
"--w-rjv-update-color": "var(--malachite-codeblock-keyword)",
|
|
117
|
+
"--w-rjv-copied-color": "var(--malachite-codeblock-string)",
|
|
118
|
+
"--w-rjv-copied-success-color": "var(--malachite-codeblock-string)",
|
|
119
|
+
"--w-rjv-curlybraces-color": "var(--malachite-codeblock-foreground)",
|
|
120
|
+
"--w-rjv-colon-color": "var(--malachite-codeblock-foreground)",
|
|
121
|
+
"--w-rjv-brackets-color": "var(--malachite-codeblock-foreground)",
|
|
122
|
+
"--w-rjv-quotes-color": "var(--malachite-codeblock-string)",
|
|
123
|
+
"--w-rjv-quotes-string-color": "var(--malachite-codeblock-string)",
|
|
124
|
+
"--w-rjv-type-string-color": "var(--malachite-codeblock-string)",
|
|
125
|
+
"--w-rjv-type-int-color": "var(--malachite-codeblock-number)",
|
|
126
|
+
"--w-rjv-type-float-color": "var(--malachite-codeblock-number)",
|
|
127
|
+
"--w-rjv-type-bigint-color": "var(--malachite-codeblock-number)",
|
|
128
|
+
"--w-rjv-type-boolean-color": "var(--malachite-codeblock-keyword)",
|
|
129
|
+
"--w-rjv-type-date-color": "var(--malachite-codeblock-string)",
|
|
130
|
+
"--w-rjv-type-url-color": "var(--malachite-codeblock-keyword)",
|
|
131
|
+
"--w-rjv-type-null-color": "var(--malachite-codeblock-comment)",
|
|
132
|
+
"--w-rjv-type-nan-color": "var(--malachite-codeblock-comment)",
|
|
133
|
+
"--w-rjv-type-undefined-color": "var(--malachite-codeblock-comment)"
|
|
134
|
+
},
|
|
135
|
+
displayDataTypes: !1,
|
|
136
|
+
enableClipboard: s,
|
|
137
|
+
collapsed: N,
|
|
138
|
+
displayObjectSize: !1
|
|
139
|
+
}
|
|
140
|
+
)
|
|
141
|
+
]
|
|
142
|
+
}
|
|
143
|
+
);
|
|
144
|
+
const h = s && (!!o || !!a), p = (c, r) => {
|
|
145
|
+
const f = c.split(`
|
|
146
|
+
`);
|
|
147
|
+
return /* @__PURE__ */ e(
|
|
148
|
+
"div",
|
|
149
|
+
{
|
|
150
|
+
className: "p-4 overflow-auto text-left",
|
|
151
|
+
style: { paddingRight: h ? 44 : void 0 },
|
|
152
|
+
children: /* @__PURE__ */ e("div", { style: { width: "max-content", minWidth: "100%" }, children: f.map((i, y) => {
|
|
153
|
+
const b = r == null ? void 0 : r(y);
|
|
154
|
+
return /* @__PURE__ */ e(
|
|
155
|
+
I,
|
|
156
|
+
{
|
|
157
|
+
line: i,
|
|
158
|
+
lineNumber: (b == null ? void 0 : b.lineNumber) ?? (n ? y + 1 : void 0),
|
|
159
|
+
wrap: u,
|
|
160
|
+
decoration: b,
|
|
161
|
+
children: i
|
|
162
|
+
},
|
|
163
|
+
y
|
|
164
|
+
);
|
|
165
|
+
}) })
|
|
166
|
+
}
|
|
167
|
+
);
|
|
168
|
+
}, w = () => o ? p(o) : null, F = (c) => {
|
|
169
|
+
if (c.length === 0)
|
|
170
|
+
return /* @__PURE__ */ e(
|
|
171
|
+
"div",
|
|
172
|
+
{
|
|
173
|
+
className: "p-4 text-left",
|
|
174
|
+
style: { color: "var(--malachite-codeblock-comment)" },
|
|
175
|
+
children: "No changes"
|
|
176
|
+
}
|
|
177
|
+
);
|
|
178
|
+
const r = (f) => {
|
|
179
|
+
const i = c[f];
|
|
180
|
+
return i ? G(i, n, l == null ? void 0 : l.origin) : void 0;
|
|
181
|
+
};
|
|
182
|
+
return v ? /* @__PURE__ */ e(g.Suspense, { fallback: p(m, r), children: /* @__PURE__ */ e(
|
|
183
|
+
A,
|
|
184
|
+
{
|
|
185
|
+
code: m,
|
|
186
|
+
language: v,
|
|
187
|
+
showLineNumbers: n,
|
|
188
|
+
wrapLines: u,
|
|
189
|
+
copyClearance: h,
|
|
190
|
+
decorate: r
|
|
191
|
+
}
|
|
192
|
+
) }) : p(m, r);
|
|
193
|
+
}, R = () => o ? v ? /* @__PURE__ */ e(g.Suspense, { fallback: w(), children: /* @__PURE__ */ e(
|
|
194
|
+
A,
|
|
195
|
+
{
|
|
196
|
+
code: o,
|
|
197
|
+
language: v,
|
|
198
|
+
showLineNumbers: n,
|
|
199
|
+
wrapLines: u,
|
|
200
|
+
copyClearance: h
|
|
201
|
+
}
|
|
202
|
+
) }) : w() : null;
|
|
203
|
+
return /* @__PURE__ */ S(
|
|
204
|
+
"div",
|
|
205
|
+
{
|
|
206
|
+
className: `relative border rounded-lg overflow-hidden ${t}`,
|
|
207
|
+
style: {
|
|
208
|
+
backgroundColor: "var(--malachite-codeblock-background)",
|
|
209
|
+
borderColor: "var(--malachite-codeblock-border)",
|
|
210
|
+
height: x,
|
|
211
|
+
...j
|
|
212
|
+
},
|
|
213
|
+
children: [
|
|
214
|
+
C,
|
|
215
|
+
a ? F(a) : R()
|
|
216
|
+
]
|
|
217
|
+
}
|
|
218
|
+
);
|
|
219
|
+
};
|
|
220
|
+
export {
|
|
221
|
+
Y as default
|
|
222
|
+
};
|
|
223
|
+
//# sourceMappingURL=CodeBlock.js.map
|