From 766beca0045bb69f1ea6ff0c2c8de9389ba66425 Mon Sep 17 00:00:00 2001 From: Jakub Senohrabek Date: Thu, 17 Apr 2025 12:06:49 +0200 Subject: [PATCH] [jewel] Backport Jewel 0.28 APIs to 243 GitOrigin-RevId: 65f34914870df00a6d3c50ff7614cdf0f9748703 --- .idea/modules.xml | 9 +- .../intellij/build/JewelMavenArtifacts.kt | 5 +- ...aries.compose.foundation.desktop.junit.iml | 204 +- ...aries.compose.foundation.desktop.junit.xml | 6 + ...j.libraries.compose.foundation.desktop.iml | 97 +- .../build/CommunityLibraryLicenses.kt | 2 +- .../resources/intellij.platform.compose.xml | 2 - .../platform/compose/JBComposePanel.kt | 14 +- .../compose/showcase/ComposeShowcase.kt | 64 +- .../compose/showcase/ComposeShowcaseAction.kt | 4 +- .../.github/workflows/check-ide-version.yml | 36 - platform/jewel/.github/workflows/stale.yml | 34 - platform/jewel/.gitignore | 2 + .../.idea/runConfigurations/IDE_sample.xml | 4 +- .../.idea/runConfigurations/Run_checks.xml | 3 +- platform/jewel/FAST_PR_GUIDE.md | 21 + platform/jewel/build.gradle.kts | 62 +- .../src/main/kotlin/PublishConfiguration.kt | 5 +- .../kotlin/icon-keys-generator.gradle.kts | 4 + .../intellij-theme-generator.gradle.kts | 4 + .../kotlin/jewel-check-public-api.gradle.kts | 2 +- .../src/main/kotlin/jewel-publish.gradle.kts | 15 +- .../buildSrc/src/main/kotlin/jewel.gradle.kts | 24 +- .../demodata/AndroidStudioReleases.kt | 28 +- .../demodata/AndroidStudioReleasesReader.kt | 3 +- .../demodata/ApiAndroidStudioReleases.kt | 2 +- .../decorated-window/api/decorated-window.api | 1 - platform/jewel/detekt-plugin/build.gradle.kts | 8 +- .../jewel/foundation/api-dump-unreviewed.txt | 7 +- platform/jewel/foundation/api/foundation.api | 7 +- .../intellij.platform.jewel.foundation.iml | 309 +- .../foundation/lazy/SelectableLazyColumn.kt | 70 +- .../lazy/SelectableLazyListState.kt | 3 + .../foundation/lazy/tree/BasicLazyTree.kt | 35 +- .../lazy/tree/DefaultTreeViewOnKeyEvent.kt | 49 +- .../jewel/foundation/lazy/tree/KeyActions.kt | 93 +- .../jewel/foundation/theme/JewelTheme.kt | 4 - .../foundation/theme/ThemeColorPalette.kt | 5 - .../lazy/SelectableLazyColumnTest.kt | 40 +- platform/jewel/gradle.properties | 8 +- platform/jewel/gradle/libs.versions.toml | 29 +- .../jewel/gradle/wrapper/gradle-wrapper.jar | Bin 59536 -> 43705 bytes .../gradle/wrapper/gradle-wrapper.properties | 4 +- platform/jewel/gradlew | 296 +- platform/jewel/gradlew.bat | 37 +- .../ide-laf-bridge/api-dump-unreviewed.txt | 3 +- .../ide-laf-bridge/api/ide-laf-bridge.api | 3 +- .../jewel/ide-laf-bridge/build.gradle.kts | 5 +- .../jewel/bridge/actionSystem/TestDataSink.kt | 6 +- .../intellij.platform.jewel.ideLafBridge.iml | 310 +- .../org/jetbrains/jewel/bridge/BridgeUtils.kt | 36 + ...sePanel.kt => JewelComposePanelWrapper.kt} | 12 +- .../ComponentDataProviderBridge.kt | 4 +- .../jewel/bridge/theme/IntUiBridgeTooltip.kt | 2 +- .../int-ui-standalone/api-dump-unreviewed.txt | 390 ++- .../api/int-ui-standalone.api | 390 ++- .../standalone/styling/IntUIBannerStyling.kt | 29 - .../standalone/styling/IntUiButtonStyling.kt | 9 - .../styling/IntUiCheckboxStyling.kt | 7 - .../standalone/styling/IntUiChipStyling.kt | 5 - .../styling/IntUiComboBoxStyling.kt | 21 +- .../standalone/styling/IntUiDividerStyle.kt | 3 - .../styling/IntUiDropdownStyling.kt | 9 - .../styling/IntUiGroupHeaderStyling.kt | 5 - .../IntUiHorizontalProgressBarStyling.kt | 5 - .../styling/IntUiIconButtonStyling.kt | 3 - .../styling/IntUiLazyTreeStyling.kt | 5 - .../standalone/styling/IntUiMenuStyling.kt | 7 - .../styling/IntUiPopupContainerStyling.kt | 5 - .../styling/IntUiRadioButtonStyling.kt | 5 - .../IntUiSegmentedControlButtonStyling.kt | 5 - .../styling/IntUiSegmentedControlStyling.kt | 5 - .../IntUiSelectableLazyColumnStyling.kt | 3 - .../styling/IntUiSimpleListItemStyling.kt | 6 +- .../standalone/styling/IntUiSliderStyling.kt | 6 - .../styling/IntUiSplitButtonStyling.kt | 5 - .../standalone/styling/IntUiTabStyling.kt | 4 - .../styling/IntUiTextAreaStyling.kt | 5 - .../styling/IntUiTextFieldStyling.kt | 5 - .../standalone/styling/IntUiTooltipStyling.kt | 5 - .../intui/standalone/theme/IntUiTheme.kt | 4 - platform/jewel/markdown/README.md | 4 +- .../markdown/core/api-dump-unreviewed.txt | 83 +- platform/jewel/markdown/core/api/core.api | 83 +- platform/jewel/markdown/core/build.gradle.kts | 4 +- .../intellij.platform.jewel.markdown.core.iml | 309 +- .../org/jetbrains/jewel/markdown/Markdown.kt | 14 +- .../MarkdownBlockRendererExtension.kt | 17 +- .../markdown/processing/MarkdownProcessor.kt | 197 +- .../DefaultInlineMarkdownRenderer.kt | 258 +- .../rendering/DefaultMarkdownBlockRenderer.kt | 150 +- .../rendering/MarkdownBlockRenderer.kt | 214 +- .../markdown/rendering/MarkdownStyling.kt | 34 +- .../ScrollSyncMarkdownBlockRenderer.kt | 35 +- ...rkdownProcessorDocumentParsingExtraTest.kt | 38 + .../MarkdownProcessorOptimizeEditsTest.kt | 481 ++- .../scrolling/ScrollingSynchronizerTest.kt | 321 +- .../autolink/api-dump-unreviewed.txt | 5 - ...form.jewel.markdown.extension.autolink.iml | 379 --- ...el.markdown.extension.gfmStrikethrough.iml | 373 --- ...orm.jewel.markdown.extension.gfmTables.iml | 366 --- .../autolink/api-dump-unreviewed.txt | 5 + .../autolink/api/autolink.api | 4 +- .../autolink/build.gradle.kts | 0 .../autolink/exposed-third-party-api.txt | 0 ...orm.jewel.markdown.extensions.autolink.iml | 70 + .../autolink/AutolinkProcessorExtension.kt | 2 +- ...rm.jewel.markdown.extensions.autolink.xml} | 0 .../AutolinkProcessorExtensionTest.kt | 2 +- .../gfm-alerts/api-dump-unreviewed.txt | 108 +- .../gfm-alerts/api/gfm-alerts.api | 130 +- .../gfm-alerts/build.gradle.kts | 4 +- .../gfm-alerts/exposed-third-party-api.txt | 0 ...rm.jewel.markdown.extensions.gfmAlerts.iml | 42 + .../extensions/github/alerts/GitHubAlert.kt} | 12 +- .../github/alerts/GitHubAlertBlockRenderer.kt | 33 +- .../github/alerts/GitHubAlertIcons.kt | 0 .../alerts/GitHubAlertProcessorExtension.kt | 10 +- .../github/alerts/GitHubAlertStyling.kt | 0 .../src/main/resources/icon-robots.txt | 0 .../github/alerts/alert-caution.svg | 0 .../github/alerts/alert-important.svg | 0 .../extensions/github/alerts/alert-note.svg | 0 .../extensions/github/alerts/alert-tip.svg | 0 .../github/alerts/alert-warning.svg | 0 ...m.jewel.markdown.extensions.gfmAlerts.xml} | 0 .../alerts/GitHubAlertBlockExtensionTest.kt | 0 .../gfm-strikethrough/README.md | 0 .../gfm-strikethrough/api-dump-unreviewed.txt | 0 .../api/gfm-strikethrough.api | 0 .../gfm-strikethrough/build.gradle.kts | 4 +- .../exposed-third-party-api.txt | 0 ...l.markdown.extensions.gfmStrikethrough.iml | 62 + ...ubStrikethroughInlineProcessorExtension.kt | 0 ...HubStrikethroughInlineRendererExtension.kt | 0 .../strikethrough/GitHubStrikethroughNode.kt | 0 .../GitHubStrikethroughProcessorExtension.kt | 0 .../GitHubStrikethroughRendererExtension.kt | 0 ....markdown.extensions.gfmStrikethrough.xml} | 0 .../gfm-tables/README.md | 0 .../gfm-tables/api-dump-unreviewed.txt | 2 +- .../gfm-tables/api/gfm-tables.api | 2 +- .../gfm-tables/build.gradle.kts | 4 +- .../gfm-tables/exposed-third-party-api.txt | 0 ...rm.jewel.markdown.extensions.gfmTables.iml | 59 + .../github/tables/GitHubTableBlockRenderer.kt | 4 +- .../tables/GitHubTableProcessorExtension.kt | 0 .../github/tables/GitHubTableStyling.kt | 0 ...m.jewel.markdown.extensions.gfmTables.xml} | 0 .../api-dump-unreviewed.txt | 4 +- .../api/ide-laf-bridge-styling.api | 4 +- .../ide-laf-bridge-styling/build.gradle.kts | 8 +- ...orm.jewel.markdown.ideLafBridgeStyling.iml | 313 +- .../bridge/styling/BridgeMarkdownStyling.kt | 64 +- ...orm.jewel.markdown.ideLafBridgeStyling.xml | 4 +- .../api-dump-unreviewed.txt | 8 +- .../api/int-ui-standalone-styling.api | 8 +- .../build.gradle.kts | 4 +- ....jewel.markdown.intUiStandaloneStyling.iml | 313 +- .../styling/IntUiMarkdownStyling.kt | 183 +- ....jewel.markdown.intUiStandaloneStyling.xml | 2 +- .../jewel/samples/ide-plugin/build.gradle.kts | 15 +- .../samples/ideplugin/ComponentShowcaseTab.kt | 2 + .../ideplugin/SwingComparisonTabPanel.kt | 79 +- .../dialog/ComponentShowcaseDialog.kt | 74 +- .../dialog/ComponentShowcaseDialogAction.kt | 7 - .../dialog/DialogDeadlockWorkaround.kt | 26 - .../dialog/JewelWizardDialogAction.kt | 7 - .../ideplugin/dialog/WizardDialogWrapper.kt | 14 +- .../releasessample/AndroidStudioReleases.kt | 604 +++- ...ellij.platform.jewel.samples.idePlugin.xml | 4 +- .../samples/showcase/api-dump-unreviewed.txt | 59 +- .../jewel/samples/showcase/api/showcase.api | 41 +- .../jewel/samples/showcase/build.gradle.kts | 8 +- ...tellij.platform.jewel.samples.showcase.iml | 1 + .../samples/showcase/components/Banners.kt | 30 +- .../showcase/components/ChipsAndTree.kt | 45 +- .../samples/showcase/components/ComboBoxes.kt | 283 ++ .../samples/showcase/components/Dropdowns.kt | 317 -- .../samples/showcase/components/Scrollbars.kt | 98 +- .../showcase/components/ShowcaseIcons.kt | 4 + .../jewel/samples/showcase/components/Tabs.kt | 6 +- .../showcase/views/ComponentsViewModel.kt | 6 +- .../src/main/resources/icons/kotlin.svg | 5 + .../src/main/resources/icons/kotlin_dark.svg | 5 + .../standalone/api-dump-unreviewed.txt | 2 - .../jewel/samples/standalone/build.gradle.kts | 25 +- ...llij.platform.jewel.samples.standalone.iml | 46 +- .../jewel/samples/standalone/Main.kt | 3 +- .../standalone/markdown/MarkdownEditor.kt | 16 +- .../standalone/markdown/MarkdownPreview.kt | 2 +- .../standalone/viewmodel/MainViewModel.kt | 13 +- ...llij.platform.jewel.samples.standalone.xml | 8 +- platform/jewel/settings.gradle.kts | 62 +- platform/jewel/ui-tests/build.gradle.kts | 7 - .../intellij.platform.jewel.uiTests.iml | 316 +- .../jewel/ui/component/ListComboBoxUiTest.kt | 420 ++- platform/jewel/ui/api-dump-unreviewed.txt | 2786 ++++++++--------- platform/jewel/ui/api/ui.api | 125 +- platform/jewel/ui/build.gradle.kts | 4 - .../jewel/ui/intellij.platform.jewel.ui.iml | 329 +- .../jetbrains/jewel/ui/component/Checkbox.kt | 2 +- .../jetbrains/jewel/ui/component/ComboBox.kt | 230 +- .../jetbrains/jewel/ui/component/Dropdown.kt | 9 +- .../jewel/ui/component/EditableComboBox.kt | 32 +- .../org/jetbrains/jewel/ui/component/Icon.kt | 97 - .../jewel/ui/component/InlineBanner.kt | 449 ++- .../jewel/ui/component/InputField.kt | 3 - .../jewel/ui/component/ListComboBox.kt | 355 +-- .../org/jetbrains/jewel/ui/component/Menu.kt | 25 - .../jewel/ui/component/PlatformIcon.kt | 41 - .../jewel/ui/component/ScrollableContainer.kt | 175 +- .../jewel/ui/component/SimpleListItem.kt | 217 ++ .../jetbrains/jewel/ui/component/TabStrip.kt | 2 +- .../org/jetbrains/jewel/ui/component/Tabs.kt | 8 +- .../jetbrains/jewel/ui/component/TextArea.kt | 100 +- .../jetbrains/jewel/ui/component/TextField.kt | 102 +- .../jewel/ui/component/Typography.kt | 5 +- .../ui/component/styling/TooltipStyling.kt | 2 +- .../ui/painter/ResourcePainterProvider.kt | 2 +- .../src/META-INF/common-ide-modules.xml | 5 +- .../intellij.markdown.compose.preview.iml | 2 +- .../preview/JcefLikeMarkdownStyling.kt | 3 +- 223 files changed, 7298 insertions(+), 8304 deletions(-) rename platform/jewel/markdown/extension/gfm-alerts/intellij.platform.jewel.markdown.extension.gfmAlerts.iml => libraries/compose-foundation-desktop-junit/intellij.libraries.compose.foundation.desktop.junit.iml (62%) create mode 100644 libraries/compose-foundation-desktop-junit/resources/intellij.libraries.compose.foundation.desktop.junit.xml delete mode 100644 platform/jewel/.github/workflows/check-ide-version.yml delete mode 100644 platform/jewel/.github/workflows/stale.yml create mode 100644 platform/jewel/FAST_PR_GUIDE.md rename platform/jewel/ide-laf-bridge/src/main/kotlin/org/jetbrains/jewel/bridge/{JewelComposePanel.kt => JewelComposePanelWrapper.kt} (89%) delete mode 100644 platform/jewel/markdown/extension/autolink/api-dump-unreviewed.txt delete mode 100644 platform/jewel/markdown/extension/autolink/intellij.platform.jewel.markdown.extension.autolink.iml delete mode 100644 platform/jewel/markdown/extension/gfm-strikethrough/intellij.platform.jewel.markdown.extension.gfmStrikethrough.iml delete mode 100644 platform/jewel/markdown/extension/gfm-tables/intellij.platform.jewel.markdown.extension.gfmTables.iml create mode 100644 platform/jewel/markdown/extensions/autolink/api-dump-unreviewed.txt rename platform/jewel/markdown/{extension => extensions}/autolink/api/autolink.api (71%) rename platform/jewel/markdown/{extension => extensions}/autolink/build.gradle.kts (100%) rename platform/jewel/markdown/{extension => extensions}/autolink/exposed-third-party-api.txt (100%) create mode 100644 platform/jewel/markdown/extensions/autolink/intellij.platform.jewel.markdown.extensions.autolink.iml rename platform/jewel/markdown/{extension/autolink/src/main/kotlin/org/jetbrains/jewel/markdown/extension => extensions/autolink/src/main/kotlin/org/jetbrains/jewel/markdown/extensions}/autolink/AutolinkProcessorExtension.kt (86%) rename platform/jewel/markdown/{extension/autolink/src/main/resources/intellij.platform.jewel.markdown.extension.autolink.xml => extensions/autolink/src/main/resources/intellij.platform.jewel.markdown.extensions.autolink.xml} (100%) rename platform/jewel/markdown/{extension/autolink/src/test/kotlin/org/jetbrains/jewel/markdown/extension => extensions/autolink/src/test/kotlin/org/jetbrains/jewel/markdown/extensions}/autolink/AutolinkProcessorExtensionTest.kt (93%) rename platform/jewel/markdown/{extension => extensions}/gfm-alerts/api-dump-unreviewed.txt (82%) rename platform/jewel/markdown/{extension => extensions}/gfm-alerts/api/gfm-alerts.api (88%) rename platform/jewel/markdown/{extension => extensions}/gfm-alerts/build.gradle.kts (79%) rename platform/jewel/markdown/{extension => extensions}/gfm-alerts/exposed-third-party-api.txt (100%) create mode 100644 platform/jewel/markdown/extensions/gfm-alerts/intellij.platform.jewel.markdown.extensions.gfmAlerts.iml rename platform/jewel/markdown/{extension/gfm-alerts/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/alerts/Alert.kt => extensions/gfm-alerts/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlert.kt} (73%) rename platform/jewel/markdown/{extension => extensions}/gfm-alerts/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlertBlockRenderer.kt (79%) rename platform/jewel/markdown/{extension => extensions}/gfm-alerts/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlertIcons.kt (100%) rename platform/jewel/markdown/{extension => extensions}/gfm-alerts/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlertProcessorExtension.kt (95%) rename platform/jewel/markdown/{extension => extensions}/gfm-alerts/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlertStyling.kt (100%) rename platform/jewel/markdown/{extension => extensions}/gfm-alerts/src/main/resources/icon-robots.txt (100%) rename platform/jewel/markdown/{extension => extensions}/gfm-alerts/src/main/resources/icons/markdown/extensions/github/alerts/alert-caution.svg (100%) rename platform/jewel/markdown/{extension => extensions}/gfm-alerts/src/main/resources/icons/markdown/extensions/github/alerts/alert-important.svg (100%) rename platform/jewel/markdown/{extension => extensions}/gfm-alerts/src/main/resources/icons/markdown/extensions/github/alerts/alert-note.svg (100%) rename platform/jewel/markdown/{extension => extensions}/gfm-alerts/src/main/resources/icons/markdown/extensions/github/alerts/alert-tip.svg (100%) rename platform/jewel/markdown/{extension => extensions}/gfm-alerts/src/main/resources/icons/markdown/extensions/github/alerts/alert-warning.svg (100%) rename platform/jewel/markdown/{extension/gfm-alerts/src/main/resources/intellij.platform.jewel.markdown.extension.gfmAlerts.xml => extensions/gfm-alerts/src/main/resources/intellij.platform.jewel.markdown.extensions.gfmAlerts.xml} (100%) rename platform/jewel/markdown/{extension => extensions}/gfm-alerts/src/test/kotlin/org/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlertBlockExtensionTest.kt (100%) rename platform/jewel/markdown/{extension => extensions}/gfm-strikethrough/README.md (100%) rename platform/jewel/markdown/{extension => extensions}/gfm-strikethrough/api-dump-unreviewed.txt (100%) rename platform/jewel/markdown/{extension => extensions}/gfm-strikethrough/api/gfm-strikethrough.api (100%) rename platform/jewel/markdown/{extension => extensions}/gfm-strikethrough/build.gradle.kts (80%) rename platform/jewel/markdown/{extension => extensions}/gfm-strikethrough/exposed-third-party-api.txt (100%) create mode 100644 platform/jewel/markdown/extensions/gfm-strikethrough/intellij.platform.jewel.markdown.extensions.gfmStrikethrough.iml rename platform/jewel/markdown/{extension => extensions}/gfm-strikethrough/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/strikethrough/GitHubStrikethroughInlineProcessorExtension.kt (100%) rename platform/jewel/markdown/{extension => extensions}/gfm-strikethrough/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/strikethrough/GitHubStrikethroughInlineRendererExtension.kt (100%) rename platform/jewel/markdown/{extension => extensions}/gfm-strikethrough/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/strikethrough/GitHubStrikethroughNode.kt (100%) rename platform/jewel/markdown/{extension => extensions}/gfm-strikethrough/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/strikethrough/GitHubStrikethroughProcessorExtension.kt (100%) rename platform/jewel/markdown/{extension => extensions}/gfm-strikethrough/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/strikethrough/GitHubStrikethroughRendererExtension.kt (100%) rename platform/jewel/markdown/{extension/gfm-strikethrough/src/main/resources/intellij.platform.jewel.markdown.extension.gfmStrikethrough.xml => extensions/gfm-strikethrough/src/main/resources/intellij.platform.jewel.markdown.extensions.gfmStrikethrough.xml} (100%) rename platform/jewel/markdown/{extension => extensions}/gfm-tables/README.md (100%) rename platform/jewel/markdown/{extension => extensions}/gfm-tables/api-dump-unreviewed.txt (95%) rename platform/jewel/markdown/{extension => extensions}/gfm-tables/api/gfm-tables.api (97%) rename platform/jewel/markdown/{extension => extensions}/gfm-tables/build.gradle.kts (85%) rename platform/jewel/markdown/{extension => extensions}/gfm-tables/exposed-third-party-api.txt (100%) create mode 100644 platform/jewel/markdown/extensions/gfm-tables/intellij.platform.jewel.markdown.extensions.gfmTables.iml rename platform/jewel/markdown/{extension => extensions}/gfm-tables/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/tables/GitHubTableBlockRenderer.kt (98%) rename platform/jewel/markdown/{extension => extensions}/gfm-tables/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/tables/GitHubTableProcessorExtension.kt (100%) rename platform/jewel/markdown/{extension => extensions}/gfm-tables/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/tables/GitHubTableStyling.kt (100%) rename platform/jewel/markdown/{extension/gfm-tables/src/main/resources/intellij.platform.jewel.markdown.extension.gfmTables.xml => extensions/gfm-tables/src/main/resources/intellij.platform.jewel.markdown.extensions.gfmTables.xml} (100%) delete mode 100644 platform/jewel/samples/ide-plugin/src/main/kotlin/org/jetbrains/jewel/samples/ideplugin/dialog/DialogDeadlockWorkaround.kt create mode 100644 platform/jewel/samples/showcase/src/main/kotlin/org/jetbrains/jewel/samples/showcase/components/ComboBoxes.kt delete mode 100644 platform/jewel/samples/showcase/src/main/kotlin/org/jetbrains/jewel/samples/showcase/components/Dropdowns.kt create mode 100644 platform/jewel/samples/showcase/src/main/resources/icons/kotlin.svg create mode 100644 platform/jewel/samples/showcase/src/main/resources/icons/kotlin_dark.svg delete mode 100644 platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/PlatformIcon.kt diff --git a/.idea/modules.xml b/.idea/modules.xml index c8c15315a9c9..6e8207008406 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -544,6 +544,7 @@ + @@ -720,10 +721,10 @@ - - - - + + + + diff --git a/build/src/org/jetbrains/intellij/build/JewelMavenArtifacts.kt b/build/src/org/jetbrains/intellij/build/JewelMavenArtifacts.kt index 415fac65ca2f..346c3ea8e030 100644 --- a/build/src/org/jetbrains/intellij/build/JewelMavenArtifacts.kt +++ b/build/src/org/jetbrains/intellij/build/JewelMavenArtifacts.kt @@ -23,8 +23,9 @@ internal object JewelMavenArtifacts { "intellij.platform.jewel.foundation" to "jewel-foundation", "intellij.platform.jewel.markdown.core" to "jewel-markdown-core", "intellij.platform.jewel.ui" to "jewel-ui", - "intellij.platform.jewel.markdown.extension.gfmTables" to "jewel-markdown-extension-gfm-tables", - "intellij.platform.jewel.markdown.extension.gfmAlerts" to "jewel-markdown-extension-gfm-alerts", + "intellij.platform.jewel.markdown.extensions.gfmTables" to "jewel-markdown-extensions-gfm-tables", + "intellij.platform.jewel.markdown.extensions.gfmStrikethrough" to "jewel-markdown-extensions-gfm-strikethrough", + "intellij.platform.jewel.markdown.extensions.gfmAlerts" to "jewel-markdown-extensions-gfm-alerts", ) val STANDALONE: Map = mapOf( "intellij.platform.jewel.markdown.intUiStandaloneStyling" to "jewel-markdown-int-ui-standalone-styling", diff --git a/platform/jewel/markdown/extension/gfm-alerts/intellij.platform.jewel.markdown.extension.gfmAlerts.iml b/libraries/compose-foundation-desktop-junit/intellij.libraries.compose.foundation.desktop.junit.iml similarity index 62% rename from platform/jewel/markdown/extension/gfm-alerts/intellij.platform.jewel.markdown.extension.gfmAlerts.iml rename to libraries/compose-foundation-desktop-junit/intellij.libraries.compose.foundation.desktop.junit.iml index 99f5950df3d0..e8117e9bca5c 100644 --- a/platform/jewel/markdown/extension/gfm-alerts/intellij.platform.jewel.markdown.extension.gfmAlerts.iml +++ b/libraries/compose-foundation-desktop-junit/intellij.libraries.compose.foundation.desktop.junit.iml @@ -1,80 +1,50 @@ - - - - - - - - - - - - - - - $MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compose-compiler-plugin/2.0.21/kotlin-compose-compiler-plugin-2.0.21.jar - - - - - - - - - - + - - - - - - - + + - + - + c53f675b2af4696e6022598145a44a9e9feb35216a188163ae5bf99a18e76bdb - + - + - + - + - + f1e334b73d49ceab00afe776a4c393de77b4fc805e9ff488dac596a2663b1dc1 - + - + - + @@ -92,115 +62,97 @@ - + - + - + a7dfdfd2b9d6668c646275948eba357aab6407f635f2dc09fe90258a2f202337 - + - + - + - + - + 34dfab5b4fa8b2913f00facdddc049e2fef4b176f8e7cde0ad306485674c3b5c - + - + - + - + - + 5c84c3bb1c1b636ae36030a0f98d4629afa29e192a9c78f57f22ce2c8ff6bc96 - + - + - - - - - - c106c0f705717889663555fe4cb7742612bd47b56a128bf7a9f589f24c64cb08 - - - - - - - - - - - - - + - + - + 8ff9a2b8c93b0287d8fa837d5b0917923168cb97dea1ada1a8d4aa7bb17c9f15 - + - + - + - + - + 41da5d61c56877b5b5d01e2a2bcb967cbfaf4d45c1a1aa124c0601c7a3de74e7 - + - + - + @@ -218,134 +170,134 @@ - + - + - + bff3d1e895fd5abd54ee725dab59214acabf900e1a0784544d20cf20521bf9f3 - + - + - + - + - + 62c816073195cc0119dc1d66b178544bdb772ef8bee4879954528c6798b17ebe - + - + - + - + - + 5c84c3bb1c1b636ae36030a0f98d4629afa29e192a9c78f57f22ce2c8ff6bc96 - + - + - + - + - - c106c0f705717889663555fe4cb7742612bd47b56a128bf7a9f589f24c64cb08 + + 6a99135a3e676745a61285c4d320145e5bd950b97d5db90f73c8cdf0d8ea68d3 - + - + - + - + - + 1b409141a9ee6ed38e76a8fb8f9cf280030bf45375ba7e07e60b2742039b573e - + - + - + - + - + c5cfad0b125e978d915f8b4c38630bc5d548e59fe8a0e838c0cc84283c605943 - + - + - + - + - + 5c84c3bb1c1b636ae36030a0f98d4629afa29e192a9c78f57f22ce2c8ff6bc96 - + - + - - - + + + \ No newline at end of file diff --git a/libraries/compose-foundation-desktop-junit/resources/intellij.libraries.compose.foundation.desktop.junit.xml b/libraries/compose-foundation-desktop-junit/resources/intellij.libraries.compose.foundation.desktop.junit.xml new file mode 100644 index 000000000000..3cbc91f61900 --- /dev/null +++ b/libraries/compose-foundation-desktop-junit/resources/intellij.libraries.compose.foundation.desktop.junit.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/libraries/compose-foundation-desktop/intellij.libraries.compose.foundation.desktop.iml b/libraries/compose-foundation-desktop/intellij.libraries.compose.foundation.desktop.iml index 535ff5368fc4..4185ee47794c 100644 --- a/libraries/compose-foundation-desktop/intellij.libraries.compose.foundation.desktop.iml +++ b/libraries/compose-foundation-desktop/intellij.libraries.compose.foundation.desktop.iml @@ -9,11 +9,11 @@ - - + + - - 50df385b328a0ad7a479e690cfe593fbce08ad39ed57916747932956dee07f0b + + e1dc2e97eca6acf5bb16fc587b7d92b09c89e3b7cec0589ea169a970d1c9fe48 9aab326d9492800991854360ac248f493ce7f7c3183519309b78ace9e240f6f6 @@ -21,23 +21,23 @@ d5cf7b72647c7995071588fe870450ff9c8f127f253d2d4851e161b800f67ae0 - + 474e6bd2a6ac2362e5dabd780f93b852768640aa16403b0fc505da88177f97b3 - + 2b347abf6c48626153a02b70eef6bbe1d3c9527515d6f9f7eceaea3c398533bb - + 4b86c961c0b4bce7995329fd57d4339ede11cb75d7ec90bc1b9913396addb30f - + d2c867c13ff6632f9880e67dabab2e930007b008b9b22950fc2cc075008eceb6 - + 76e3250547b9ca3cb1a49c272933b25cb3bccbc9ba12775dd6161a63d9aa7cf1 - - 40729b9637eac91fd9ba9d10c4cd2eb328bb3116f8097a5b9d3f071971cea022 + + d8a43d211a85104da5a82459307825454b4038095700bc240057666d70f1aac6 61c873a7327c946ec033c310bb98f3f92eeabcede0e1a5200ab8a1896483c7bf @@ -57,19 +57,19 @@ fe70ace6f942a5fc29045bb2fe25b4e77bdc742dc69f76ed65b39c3ae185888e - + 4306363be90eaabe74b900db4c32ed1f15c7548e5b30a7093c4ee40c436b9b8c - + 9109d77cc262f90408169b1ca0ba2d15135b6034e377a80bbf3ec0234954e852 - + 598b52e257ed674145694b9790a7383a90fed2ec7154ba09ace4aa983c65b1a2 - + 80e07e4ca739f7b6122f63e9a17e6853b947220ecb1180f8dcaf419d0e468996 - + 161dcc73b929da61cee50045e96fb02f1633c36f18a2ef38b5c2c44c38606b52 @@ -85,50 +85,65 @@ - + - - - - - - + + + + + + - - - - - + + + + + - + + + + + + + + + + + + + + + + - + - - - - - - + + + + + + - - - - - + + + + + diff --git a/platform/build-scripts/src/org/jetbrains/intellij/build/CommunityLibraryLicenses.kt b/platform/build-scripts/src/org/jetbrains/intellij/build/CommunityLibraryLicenses.kt index 5e278b2d00f2..7dcf8c56fa09 100644 --- a/platform/build-scripts/src/org/jetbrains/intellij/build/CommunityLibraryLicenses.kt +++ b/platform/build-scripts/src/org/jetbrains/intellij/build/CommunityLibraryLicenses.kt @@ -252,7 +252,7 @@ object CommunityLibraryLicenses { .apache("https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:LICENSE.txt") .suppliedByOrganizations(Suppliers.GOOGLE), - LibraryLicense("Compose Multiplatform", libraryName = "compose-foundation-desktop", url = "https://github.com/JetBrains/compose-multiplatform") + LibraryLicense("Compose Multiplatform", libraryName = "jetbrains.compose.foundation.desktop", url = "https://github.com/JetBrains/compose-multiplatform") .apache("https://github.com/JetBrains/compose-multiplatform/blob/master/LICENSE.txt") .additionalLibraryNames( "org.jetbrains.compose.components.components.resources.desktop", diff --git a/platform/compose/resources/intellij.platform.compose.xml b/platform/compose/resources/intellij.platform.compose.xml index 82d63967d208..524eab6fff0c 100644 --- a/platform/compose/resources/intellij.platform.compose.xml +++ b/platform/compose/resources/intellij.platform.compose.xml @@ -10,8 +10,6 @@ /> - - diff --git a/platform/compose/src/com/intellij/platform/compose/JBComposePanel.kt b/platform/compose/src/com/intellij/platform/compose/JBComposePanel.kt index ee1f0e773aae..1d59305f3197 100644 --- a/platform/compose/src/com/intellij/platform/compose/JBComposePanel.kt +++ b/platform/compose/src/com/intellij/platform/compose/JBComposePanel.kt @@ -3,19 +3,21 @@ package com.intellij.platform.compose import androidx.compose.runtime.Composable -import com.intellij.openapi.application.ApplicationManager -import com.intellij.openapi.util.registry.Registry import org.jetbrains.annotations.ApiStatus.Experimental import org.jetbrains.jewel.bridge.JewelComposePanel import javax.swing.JComponent @Suppress("FunctionName") @Experimental +@Deprecated( + "Use JewelComposePanel instead and make sure you also change the modules to the ones under intellij.platform.jewel.", + replaceWith = ReplaceWith( + "JewelComposePanel { content() }", + "org.jetbrains.jewel.bridge.JewelComposePanel" + ) +) fun JBComposePanel( - content: @Composable () -> Unit + content: @Composable () -> Unit, ): JComponent { - if (ApplicationManager.getApplication().isInternal) { - System.setProperty("compose.swing.render.on.graphics", Registry.stringValue("compose.swing.render.on.graphics")) - } return JewelComposePanel { content() } } \ No newline at end of file diff --git a/platform/compose/src/com/intellij/platform/compose/showcase/ComposeShowcase.kt b/platform/compose/src/com/intellij/platform/compose/showcase/ComposeShowcase.kt index c91b96a6d6d0..0b183395a87a 100644 --- a/platform/compose/src/com/intellij/platform/compose/showcase/ComposeShowcase.kt +++ b/platform/compose/src/com/intellij/platform/compose/showcase/ComposeShowcase.kt @@ -5,6 +5,7 @@ import androidx.compose.animation.core.animateDpAsState import androidx.compose.foundation.* import androidx.compose.foundation.layout.* import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.foundation.text.input.rememberTextFieldState import androidx.compose.foundation.text.selection.SelectionContainer import androidx.compose.runtime.* import androidx.compose.ui.Alignment @@ -13,7 +14,10 @@ import androidx.compose.ui.draw.shadow import androidx.compose.ui.focus.focusProperties import androidx.compose.ui.focus.onFocusEvent import androidx.compose.ui.graphics.Color -import androidx.compose.ui.input.key.* +import androidx.compose.ui.input.key.Key +import androidx.compose.ui.input.key.isShiftPressed +import androidx.compose.ui.input.key.key +import androidx.compose.ui.input.key.onKeyEvent import androidx.compose.ui.input.pointer.PointerIcon import androidx.compose.ui.input.pointer.pointerHoverIcon import androidx.compose.ui.unit.dp @@ -24,8 +28,9 @@ import com.intellij.openapi.fileChooser.FileChooserDescriptorFactory import com.intellij.openapi.keymap.KeymapUtil import com.intellij.ui.UIBundle import com.intellij.util.ui.JBUI -import kotlinx.coroutines.* import kotlinx.coroutines.Dispatchers.IO +import kotlinx.coroutines.delay +import kotlinx.coroutines.withContext import org.jetbrains.jewel.bridge.toComposeColor import org.jetbrains.jewel.foundation.modifier.onHover import org.jetbrains.jewel.foundation.theme.JewelTheme @@ -33,6 +38,7 @@ import org.jetbrains.jewel.foundation.theme.OverrideDarkMode import org.jetbrains.jewel.ui.Orientation import org.jetbrains.jewel.ui.Outline import org.jetbrains.jewel.ui.component.* +import org.jetbrains.jewel.ui.icons.AllIconsKeys import org.jetbrains.jewel.ui.theme.defaultTabStyle import org.jetbrains.jewel.ui.theme.tooltipStyle import org.jetbrains.jewel.ui.util.isDark @@ -50,25 +56,24 @@ internal fun ComposeShowcase() { Title() Text("This is Compose bundled inside IntelliJ Platform!") Row { - val scrollState = rememberScrollState() - Column( - verticalArrangement = Arrangement.spacedBy(15.dp), - modifier = Modifier.weight(1f).verticalScroll(scrollState) + VerticallyScrollableContainer( + modifier = Modifier.weight(1f) ) { - CheckBox() - RadioButton() - Buttons() - Label() - SelectableText() - Tabs() - LinkLabels() - TextFieldSimple() - TextFieldWithButton() - TooltipAreaSimple() + Column( + verticalArrangement = Arrangement.spacedBy(15.dp), + ) { + CheckBox() + RadioButton() + Buttons() + Label() + SelectableText() + Tabs() + LinkLabels() + TextFieldSimple() + TextFieldWithButton() + TooltipAreaSimple() + } } - - val adapter = rememberScrollbarAdapter(scrollState) - androidx.compose.foundation.VerticalScrollbar(adapter) } } } @@ -176,7 +181,7 @@ private fun Buttons() { .onFocusEvent { focused = it.isFocused } .background(if (focused) JBUI.CurrentTheme.Focus.focusColor().toComposeColor() else Color.Unspecified, RoundedCornerShape(4.dp)) ) { - Icon("expui/image/fitContent.svg", contentDescription = null, iconClass = AllIcons::class.java) + Icon(AllIconsKeys.General.FitContent, contentDescription = null, iconClass = AllIcons::class.java) } Text("← Click me #$state3") } @@ -219,7 +224,7 @@ private fun LinkLabels() { @Composable private fun TextFieldSimple() { - var textFieldState by remember { mutableStateOf("") } + val textFieldState = rememberTextFieldState() Row( verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.spacedBy(5.dp), @@ -227,9 +232,6 @@ private fun TextFieldSimple() { Text("Text field:") TextField( textFieldState, - onValueChange = { - textFieldState = it - }, modifier = Modifier.padding(5.dp) ) } @@ -238,14 +240,13 @@ private fun TextFieldSimple() { @OptIn(ExperimentalFoundationApi::class) @Composable private fun TextFieldWithButton() { - - var textFieldState by remember { mutableStateOf("") } + val textFieldState = rememberTextFieldState() var fileExists by remember { mutableStateOf(true) } LaunchedEffect(textFieldState) { delay(300) withContext(IO) { - fileExists = textFieldState.isEmpty() || File(textFieldState).exists() + fileExists = textFieldState.text.isEmpty() || File(textFieldState.text.toString()).exists() } } @@ -253,7 +254,7 @@ private fun TextFieldWithButton() { val descriptor = FileChooserDescriptorFactory.createSingleFileOrFolderDescriptor() descriptor.title = UIBundle.message("file.chooser.default.title") FileChooser.chooseFile(descriptor, null, null) { - textFieldState = it.path + textFieldState.edit { replace(0, textFieldState.text.length, it.path) } } } @@ -267,8 +268,7 @@ private fun TextFieldWithButton() { ) { Text("Choose file or folder:") TextField( - value = textFieldState, - onValueChange = { textFieldState = it }, + textFieldState, modifier = Modifier .padding(5.dp) .height(28.dp) @@ -289,7 +289,7 @@ private fun TextFieldWithButton() { ) { IconButton({ chooseFile() }, Modifier.size(18.dp).pointerHoverIcon(PointerIcon.Hand).focusProperties { canFocus = false }) { AllIcons.General.OpenDisk - Icon("expui/inline/browse.svg", openFileChooserHint, iconClass = AllIcons::class.java) + Icon(AllIconsKeys.General.OpenDisk, openFileChooserHint, iconClass = AllIcons::class.java) } } }, @@ -346,4 +346,4 @@ private fun TooltipSimple(modifier: Modifier = Modifier, content: @Composable () content() } } -} \ No newline at end of file +} diff --git a/platform/compose/src/com/intellij/platform/compose/showcase/ComposeShowcaseAction.kt b/platform/compose/src/com/intellij/platform/compose/showcase/ComposeShowcaseAction.kt index d19d7acbfae6..4e6b60dc09e5 100644 --- a/platform/compose/src/com/intellij/platform/compose/showcase/ComposeShowcaseAction.kt +++ b/platform/compose/src/com/intellij/platform/compose/showcase/ComposeShowcaseAction.kt @@ -6,13 +6,13 @@ import com.intellij.openapi.project.DumbAwareAction import com.intellij.openapi.project.Project import com.intellij.openapi.ui.DialogWrapper import com.intellij.openapi.util.NlsSafe -import com.intellij.platform.compose.JBComposePanel import com.intellij.ui.PaintingParent.Wrapper +import org.jetbrains.jewel.bridge.JewelComposePanel import java.awt.Dimension import javax.swing.JComponent private fun createComposeShowcaseComponent(): JComponent { - return JBComposePanel { + return JewelComposePanel { ComposeShowcase() } } diff --git a/platform/jewel/.github/workflows/check-ide-version.yml b/platform/jewel/.github/workflows/check-ide-version.yml deleted file mode 100644 index 850a52d58401..000000000000 --- a/platform/jewel/.github/workflows/check-ide-version.yml +++ /dev/null @@ -1,36 +0,0 @@ -name: IJ Platform version updates - -on: - workflow_dispatch: - schedule: - - cron: 0 8 * * * - -jobs: - check-ij-platform-updates: - name: Check for IJP updates - runs-on: ubuntu-latest - - strategy: - fail-fast: false - matrix: - branch-name: - - releases/241 - - releases/242 - - main - - steps: - - uses: actions/checkout@v4 - with: - ref: ${{ matrix.branch-name }} - - - uses: actions/setup-java@v4 - with: - distribution: zulu - java-version: 21 - cache: gradle - - - name: Setup Gradle - run: chmod +x gradlew - - - name: Run Gradle - run: ./gradlew checkLatestIntelliJPlatformBuild --no-daemon diff --git a/platform/jewel/.github/workflows/stale.yml b/platform/jewel/.github/workflows/stale.yml deleted file mode 100644 index 28868730b4d7..000000000000 --- a/platform/jewel/.github/workflows/stale.yml +++ /dev/null @@ -1,34 +0,0 @@ -# This workflow warns and then closes issues and PRs that have had no activity for a specified amount of time. -# -# You can adjust the behavior by modifying this file. -# For more information, see: -# https://github.com/actions/stale -name: Mark stale issues and pull requests - -on: - schedule: - - cron: '0 6 * * *' - -jobs: - stale: - - runs-on: ubuntu-latest - permissions: - issues: write - pull-requests: write - - steps: - - uses: actions/stale@v5 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - stale-issue-message: 'This issue has been inactive for a long time.' - stale-pr-message: 'Stale pull request message' - stale-issue-label: 'stale' - stale-pr-label: 'stale' - exempt-issue-labels: 'blocked-externally' - exempt-pr-labels: 'blocked-externally' - only-labels: 'needs-info' - days-before-stale: 7 - days-before-close: 3 - labels-to-remove-when-unstale: 'stale' - diff --git a/platform/jewel/.gitignore b/platform/jewel/.gitignore index 47a2a33308bf..119c0c2e2876 100644 --- a/platform/jewel/.gitignore +++ b/platform/jewel/.gitignore @@ -106,3 +106,5 @@ $RECYCLE.BIN/ # Ignore Kotlin compiler sessions /.kotlin /buildSrc/.kotlin +/foundation/bin/* +/samples/showcase/bin/* diff --git a/platform/jewel/.idea/runConfigurations/IDE_sample.xml b/platform/jewel/.idea/runConfigurations/IDE_sample.xml index 94d5bc5dd913..454f3f3087cb 100644 --- a/platform/jewel/.idea/runConfigurations/IDE_sample.xml +++ b/platform/jewel/.idea/runConfigurations/IDE_sample.xml @@ -1,6 +1,6 @@ - + - \ No newline at end of file + diff --git a/platform/jewel/.idea/runConfigurations/Run_checks.xml b/platform/jewel/.idea/runConfigurations/Run_checks.xml index f3ae0f42b5ff..3399aa92f34a 100644 --- a/platform/jewel/.idea/runConfigurations/Run_checks.xml +++ b/platform/jewel/.idea/runConfigurations/Run_checks.xml @@ -1,5 +1,6 @@ + - \ No newline at end of file + diff --git a/platform/jewel/FAST_PR_GUIDE.md b/platform/jewel/FAST_PR_GUIDE.md new file mode 100644 index 000000000000..6339ca838e1b --- /dev/null +++ b/platform/jewel/FAST_PR_GUIDE.md @@ -0,0 +1,21 @@ +# Fast PR Guide + +In order to get your pull requests merged with any futher complications (inside community repository) it is advised to follow these: + +1) Make sure your commits are prefixed with `[jewel] ` to ensure distinction of commits and ensure automation works. +2) Prefix the PR name with `[jewel]` and ideally with `jewel` label. +3) Avoid creating pull requests from chains of feature branches (branching from feature branches), this is possible, but can cause issues if combined with squashing/amending the commits. If you do this, ensure you properly rebase all of the branches. +4) Ideally squash the commits, this is not a requirement, but beware that your feature branch might became unsuable if we squash the commits as part of the cherry-pick process. + +## Adding modules +When adding modules, there is multiple tests ensuring quality of community project. These rules should be folowed in addition to rules above: +1) Ensure that .idea/modules.xml is sorted alphabetically +2) Source roots declared in the module .iml should match the folder structure. Do not add source roots that don't exist and vice versa. +3) In resource folder, file called `.xml` should be placed that contains the V2 Plugin configuration. For sake of Jewel/platform modules, it is essential to alteast declare module dependencies in this file. +4) Make sure that `.iml` files are not being modified after being changed by the IDE dialogs. + +## Adding dependencies +1) Library for new dependency has to be stated inside CommunityLibraryLicenses.kt. If you are adding part of library already added, you still need to add the alternative library name to this file. +2) Alternatively, library used by multiple modules might be added to community/libraries as a separate module containing only the dependency. +3) Try not to use "exported" flag in dependencies. +4) Make sure that dependencies already contained in the platform are not included as transitive dependencies. (same applies if the current module depends on module with this dependency already added.) diff --git a/platform/jewel/build.gradle.kts b/platform/jewel/build.gradle.kts index da4b8752eafe..6446c9017166 100644 --- a/platform/jewel/build.gradle.kts +++ b/platform/jewel/build.gradle.kts @@ -13,8 +13,10 @@ dependencies { sarif(projects.intUi.intUiDecoratedWindow) sarif(projects.intUi.intUiStandalone) sarif(projects.markdown.core) - sarif(projects.markdown.extension.autolink) - sarif(projects.markdown.extension.gfmAlerts) + sarif(projects.markdown.extensions.autolink) + sarif(projects.markdown.extensions.gfmAlerts) + sarif(projects.markdown.extensions.gfmStrikethrough) + sarif(projects.markdown.extensions.gfmTables) sarif(projects.markdown.ideLafBridgeStyling) sarif(projects.markdown.intUiStandaloneStyling) sarif(projects.samples.idePlugin) @@ -22,30 +24,18 @@ dependencies { sarif(projects.ui) } -// TODO remove this once the Skiko fix makes it into CMP 1.7.1 -allprojects { - configurations.all { - resolutionStrategy { - eachDependency { - if (requested.group == "org.jetbrains.skiko") { - useVersion("0.8.17") - because("Contains important memory usage fix") - } - } - } - } +// Faff needed to comply with Gradle's service injection. +// See https://docs.gradle.org/current/userguide/service_injection.html#execoperations +interface InjectedExecOps { + @get:Inject val execOps: ExecOperations + + fun exec(init: ExecSpec.() -> Unit): ExecResult = execOps.exec(init) } tasks { - // val mergeSarifReports by - // registering(MergeSarifTask::class) { - // source(configurations.outgoingSarif) - // include { it.file.extension == "sarif" } - // } - // - // register("check") { dependsOn(mergeSarifReports) } - register("tagRelease") { + val injected = project.objects.newInstance() + description = "Tags main branch and releases branches with provided tag name" group = "release" @@ -60,7 +50,8 @@ tasks { // Check we're on the main branch logger.info("Checking current branch is main...") - exec { + injected + .exec { commandLine = listOf("git", "rev-parse", "--abbrev-ref", "HEAD") standardOutput = stdOut } @@ -74,7 +65,8 @@ tasks { // Check tag doesn't already exist logger.info("Checking current branch is main...") stdOut.reset() - exec { + injected + .exec { commandLine = listOf("git", "tag") standardOutput = stdOut } @@ -87,7 +79,8 @@ tasks { // Check there are no uncommitted changes logger.info("Checking all changes have been committed...") stdOut.reset() - exec { + injected + .exec { commandLine = listOf("git", "status", "--porcelain") standardOutput = stdOut } @@ -100,7 +93,8 @@ tasks { // Get the current HEAD hash logger.info("Getting HEAD hash...") stdOut.reset() - exec { + injected + .exec { commandLine = listOf("git", "rev-parse", "HEAD") standardOutput = stdOut } @@ -111,7 +105,8 @@ tasks { // Enumerate the release branches logger.info("Enumerating release branches...") stdOut.reset() - exec { + injected + .exec { commandLine = listOf("git", "branch") standardOutput = stdOut } @@ -134,7 +129,8 @@ tasks { logger.info("Validating release branches...") for (branch in releaseBranches) { stdOut.reset() - exec { + injected + .exec { commandLine = listOf("git", "merge-base", "main", "releases/$branch") standardOutput = stdOut } @@ -148,7 +144,7 @@ tasks { // Tag main branch logger.lifecycle("Tagging head of main branch as $releaseName...") - exec { commandLine = listOf("git", "tag", releaseName) }.assertNormalExitValue() + injected.exec { commandLine = listOf("git", "tag", releaseName) }.assertNormalExitValue() // Tag release branches for (branch in releaseBranches) { @@ -157,7 +153,8 @@ tasks { stdOut.reset() logger.info("Getting branch head commit...") - exec { + injected + .exec { commandLine = listOf("git", "rev-parse", "releases/$branch") standardOutput = stdOut } @@ -168,7 +165,8 @@ tasks { logger.info("Tagging commit ${branchHead.take(7)} as $branchTagName") stdOut.reset() - exec { + injected + .exec { commandLine = listOf("git", "tag", branchTagName, branchHead) standardOutput = stdOut } @@ -182,4 +180,6 @@ tasks { register("cleanTestPublishArtifacts") { delete(rootProject.layout.buildDirectory.dir("maven-test")) } register("clean") { delete(rootProject.layout.buildDirectory) } + + wrapper { distributionType = Wrapper.DistributionType.ALL } } diff --git a/platform/jewel/buildSrc/src/main/kotlin/PublishConfiguration.kt b/platform/jewel/buildSrc/src/main/kotlin/PublishConfiguration.kt index 533fa57b26ae..6ceab17711f1 100644 --- a/platform/jewel/buildSrc/src/main/kotlin/PublishConfiguration.kt +++ b/platform/jewel/buildSrc/src/main/kotlin/PublishConfiguration.kt @@ -20,9 +20,6 @@ internal fun PublishingExtension.configureJewelRepositories(project: Project) { } } -/** - * Obsolete, please use https://github.com/JetBrains/intellij-community/blob/master/build/src/org/jetbrains/intellij/build/JewelMavenArtifacts.kt instead - */ internal fun MavenPom.configureJewelPom() { name = "Jewel" description = "A theme for Compose for Desktop that implements the IntelliJ Platform look and feel." @@ -30,7 +27,7 @@ internal fun MavenPom.configureJewelPom() { licenses { license { name = "Apache License 2.0" - url = "http://www.apache.org/licenses/LICENSE-2.0.txt" + url = "https://www.apache.org/licenses/LICENSE-2.0.txt" } } scm { diff --git a/platform/jewel/buildSrc/src/main/kotlin/icon-keys-generator.gradle.kts b/platform/jewel/buildSrc/src/main/kotlin/icon-keys-generator.gradle.kts index 5eb2a8f4af03..1f6011ae12f7 100644 --- a/platform/jewel/buildSrc/src/main/kotlin/icon-keys-generator.gradle.kts +++ b/platform/jewel/buildSrc/src/main/kotlin/icon-keys-generator.gradle.kts @@ -6,6 +6,8 @@ import com.squareup.kotlinpoet.PropertySpec import com.squareup.kotlinpoet.TypeSpec import io.gitlab.arturbosch.detekt.Detekt import org.jetbrains.dokka.gradle.DokkaTask +import org.jetbrains.dokka.gradle.tasks.DokkaGenerateModuleTask +import org.jetbrains.dokka.gradle.tasks.DokkaGeneratePublicationTask import org.jetbrains.kotlin.gradle.dsl.KotlinJvmProjectExtension import org.jetbrains.kotlin.gradle.tasks.BaseKotlinCompile import java.lang.reflect.Field @@ -47,6 +49,8 @@ extension.all item@{ withType { dependsOn(task) } withType { dependsOn(task) } withType { dependsOn(task) } + withType { dependsOn(task) } + withType { dependsOn(task) } withType { dependsOn(task) } } } diff --git a/platform/jewel/buildSrc/src/main/kotlin/intellij-theme-generator.gradle.kts b/platform/jewel/buildSrc/src/main/kotlin/intellij-theme-generator.gradle.kts index 88069aa30272..618ef390be5e 100644 --- a/platform/jewel/buildSrc/src/main/kotlin/intellij-theme-generator.gradle.kts +++ b/platform/jewel/buildSrc/src/main/kotlin/intellij-theme-generator.gradle.kts @@ -4,6 +4,8 @@ import com.squareup.kotlinpoet.ClassName import io.gitlab.arturbosch.detekt.Detekt import org.gradle.util.internal.GUtil import org.jetbrains.dokka.gradle.DokkaTask +import org.jetbrains.dokka.gradle.tasks.DokkaGenerateModuleTask +import org.jetbrains.dokka.gradle.tasks.DokkaGeneratePublicationTask import org.jetbrains.jewel.buildlogic.theme.IntelliJThemeGeneratorTask import org.jetbrains.jewel.buildlogic.theme.ThemeGeneration import org.jetbrains.jewel.buildlogic.theme.ThemeGeneratorContainer @@ -33,6 +35,8 @@ extension.all { withType { dependsOn(task) } withType { dependsOn(task) } withType { dependsOn(task) } + withType { dependsOn(task) } + withType { dependsOn(task) } withType { dependsOn(task) } } diff --git a/platform/jewel/buildSrc/src/main/kotlin/jewel-check-public-api.gradle.kts b/platform/jewel/buildSrc/src/main/kotlin/jewel-check-public-api.gradle.kts index fb5dfc64526c..59a577b8793c 100644 --- a/platform/jewel/buildSrc/src/main/kotlin/jewel-check-public-api.gradle.kts +++ b/platform/jewel/buildSrc/src/main/kotlin/jewel-check-public-api.gradle.kts @@ -15,7 +15,7 @@ apiValidation { nonPublicMarkers.add("org.jetbrains.jewel.InternalJewelApi") } -kotlin { explicitApi() } +kotlin { compilerOptions { freeCompilerArgs.add("-Xexplicit-api=strict") } } val extension = project.extensions.create("publicApiValidation", ApiValidationExtension::class.java) diff --git a/platform/jewel/buildSrc/src/main/kotlin/jewel-publish.gradle.kts b/platform/jewel/buildSrc/src/main/kotlin/jewel-publish.gradle.kts index cdbb8dd854a7..d9b4004b3766 100644 --- a/platform/jewel/buildSrc/src/main/kotlin/jewel-publish.gradle.kts +++ b/platform/jewel/buildSrc/src/main/kotlin/jewel-publish.gradle.kts @@ -4,9 +4,22 @@ plugins { kotlin("jvm") `maven-publish` id("org.jetbrains.dokka") + id("org.jetbrains.dokka-javadoc") signing } +dokka { + dokkaSourceSets { + named("main") { + sourceLink { + // Point to IJP sources + remoteUrl("https://github.com/JetBrains/intellij-community") + localDirectory.set(rootDir) + } + } + } +} + val sourcesJar by tasks.registering(Jar::class) { from(kotlin.sourceSets.main.map { it.kotlin }) @@ -17,7 +30,7 @@ val sourcesJar by val javadocJar by tasks.registering(Jar::class) { - from(tasks.dokkaHtml) + from(tasks.dokkaGenerateModuleJavadoc) archiveClassifier = "javadoc" destinationDirectory = layout.buildDirectory.dir("artifacts") duplicatesStrategy = DuplicatesStrategy.EXCLUDE diff --git a/platform/jewel/buildSrc/src/main/kotlin/jewel.gradle.kts b/platform/jewel/buildSrc/src/main/kotlin/jewel.gradle.kts index 38f4a7f32f80..f750fdc5a72e 100644 --- a/platform/jewel/buildSrc/src/main/kotlin/jewel.gradle.kts +++ b/platform/jewel/buildSrc/src/main/kotlin/jewel.gradle.kts @@ -40,19 +40,19 @@ val jdkLevel = project.property("jdk.level") as String kotlin { jvmToolchain { languageVersion = JavaLanguageVersion.of(jdkLevel) } - compilerOptions.jvmTarget.set(JvmTarget.fromTarget(jdkLevel)) + compilerOptions { + freeCompilerArgs.add("-Xcontext-receivers") + jvmTarget.set(JvmTarget.fromTarget(jdkLevel)) + } - target { - compilations.all { kotlinOptions { freeCompilerArgs += "-Xcontext-receivers" } } - sourceSets.all { - languageSettings { - optIn("androidx.compose.foundation.ExperimentalFoundationApi") - optIn("androidx.compose.ui.ExperimentalComposeUiApi") - optIn("kotlin.experimental.ExperimentalTypeInference") - optIn("kotlinx.coroutines.ExperimentalCoroutinesApi") - optIn("org.jetbrains.jewel.foundation.ExperimentalJewelApi") - optIn("org.jetbrains.jewel.foundation.InternalJewelApi") - } + sourceSets.all { + languageSettings { + optIn("androidx.compose.foundation.ExperimentalFoundationApi") + optIn("androidx.compose.ui.ExperimentalComposeUiApi") + optIn("kotlin.experimental.ExperimentalTypeInference") + optIn("kotlinx.coroutines.ExperimentalCoroutinesApi") + optIn("org.jetbrains.jewel.foundation.ExperimentalJewelApi") + optIn("org.jetbrains.jewel.foundation.InternalJewelApi") } } } diff --git a/platform/jewel/buildSrc/src/main/kotlin/org/jetbrains/jewel/buildlogic/demodata/AndroidStudioReleases.kt b/platform/jewel/buildSrc/src/main/kotlin/org/jetbrains/jewel/buildlogic/demodata/AndroidStudioReleases.kt index b71c878c9a54..bc6d7ee22284 100644 --- a/platform/jewel/buildSrc/src/main/kotlin/org/jetbrains/jewel/buildlogic/demodata/AndroidStudioReleases.kt +++ b/platform/jewel/buildSrc/src/main/kotlin/org/jetbrains/jewel/buildlogic/demodata/AndroidStudioReleases.kt @@ -1,14 +1,14 @@ package org.jetbrains.jewel.buildlogic.demodata import com.squareup.kotlinpoet.ClassName -import gradle.kotlin.dsl.accessors._6b77fac1fb1b8c5058558e9072dfa468.kotlin -import gradle.kotlin.dsl.accessors._6b77fac1fb1b8c5058558e9072dfa468.sourceSets import kotlinx.serialization.json.Json import kotlinx.serialization.json.decodeFromStream import org.gradle.api.DefaultTask import org.gradle.api.Project import org.gradle.api.file.DirectoryProperty import org.gradle.api.file.RegularFileProperty +import org.gradle.api.file.SourceDirectorySet +import org.gradle.api.plugins.JavaPluginExtension import org.gradle.api.provider.Property import org.gradle.api.provider.SetProperty import org.gradle.api.tasks.Input @@ -16,7 +16,6 @@ import org.gradle.api.tasks.OutputFile import org.gradle.api.tasks.SourceSetContainer import org.gradle.api.tasks.TaskAction import org.gradle.kotlin.dsl.get -import org.gradle.kotlin.dsl.getByType import org.gradle.kotlin.dsl.property import org.gradle.kotlin.dsl.setProperty import java.io.File @@ -27,7 +26,18 @@ open class StudioVersionsGenerationExtension(project: Project) { project.objects .directoryProperty() .convention( - project.layout.dir(project.provider { project.sourceSets.named("main").get().kotlin.srcDirs.first() }) + project.layout.dir( + project.provider { + if (project.plugins.hasPlugin("org.gradle.jvm-ecosystem")) { + val sourceSets = project.extensions.getByName("sourceSets") as SourceSetContainer + val mainSourceSet = sourceSets.named("main").get() + val kotlinSourceSet = mainSourceSet.extensions.getByName("kotlin") as SourceDirectorySet + kotlinSourceSet.srcDirs.first() + } else { + error("Gradle plugin 'org.gradle.jvm-ecosystem' is required") + } + } + ) ) val resourcesDirs: SetProperty = @@ -35,11 +45,11 @@ open class StudioVersionsGenerationExtension(project: Project) { .setProperty() .convention( project.provider { - when { - project.plugins.hasPlugin("org.gradle.jvm-ecosystem") -> - project.extensions.getByType()["main"].resources.srcDirs - - else -> emptySet() + if (project.plugins.hasPlugin("org.gradle.jvm-ecosystem")) { + val javaExtension = project.extensions.getByType(JavaPluginExtension::class.java) + javaExtension.sourceSets.named("main").get().resources.srcDirs + } else { + emptySet() } } ) diff --git a/platform/jewel/buildSrc/src/main/kotlin/org/jetbrains/jewel/buildlogic/demodata/AndroidStudioReleasesReader.kt b/platform/jewel/buildSrc/src/main/kotlin/org/jetbrains/jewel/buildlogic/demodata/AndroidStudioReleasesReader.kt index 1875586981dc..83795369e875 100644 --- a/platform/jewel/buildSrc/src/main/kotlin/org/jetbrains/jewel/buildlogic/demodata/AndroidStudioReleasesReader.kt +++ b/platform/jewel/buildSrc/src/main/kotlin/org/jetbrains/jewel/buildlogic/demodata/AndroidStudioReleasesReader.kt @@ -33,6 +33,7 @@ internal object AndroidStudioReleasesReader { private fun createBaseTypeSpec(className: ClassName, releases: ApiAndroidStudioReleases, resourceDirs: Set) = TypeSpec.objectBuilder(className) + .addModifiers(KModifier.INTERNAL) .superclass( ClassName.bestGuess("org.jetbrains.jewel.samples.ideplugin.releasessample.ContentSource") .parameterizedBy(ContentItemClassName) @@ -70,7 +71,7 @@ internal object AndroidStudioReleasesReader { add(" versionName = \"%L\",\n", release.version) add(" build = \"%L\",\n", release.build) add(" platformBuild = \"%L\",\n", release.platformBuild) - add(" platformVersion = \"%L\",\n", release.platformVersion) + add(" platformVersion = \"%L\",\n", release.platformVersion ?: "N/A") add(" channel = %L,\n", readChannel(release.channel)) add(" releaseDate = LocalDate(%L),\n", translateDate(release.date)) add(" key = \"%L\",\n", release.build) diff --git a/platform/jewel/buildSrc/src/main/kotlin/org/jetbrains/jewel/buildlogic/demodata/ApiAndroidStudioReleases.kt b/platform/jewel/buildSrc/src/main/kotlin/org/jetbrains/jewel/buildlogic/demodata/ApiAndroidStudioReleases.kt index 23e15f5cf843..dc75bee77690 100644 --- a/platform/jewel/buildSrc/src/main/kotlin/org/jetbrains/jewel/buildlogic/demodata/ApiAndroidStudioReleases.kt +++ b/platform/jewel/buildSrc/src/main/kotlin/org/jetbrains/jewel/buildlogic/demodata/ApiAndroidStudioReleases.kt @@ -20,7 +20,7 @@ internal data class ApiAndroidStudioReleases(@SerialName("content") val content: @SerialName("download") val download: List = listOf(), @SerialName("name") val name: String, @SerialName("platformBuild") val platformBuild: String, - @SerialName("platformVersion") val platformVersion: String, + @SerialName("platformVersion") val platformVersion: String?, @SerialName("version") val version: String, ) { diff --git a/platform/jewel/decorated-window/api/decorated-window.api b/platform/jewel/decorated-window/api/decorated-window.api index c0502f19e4c1..2b05525e552f 100644 --- a/platform/jewel/decorated-window/api/decorated-window.api +++ b/platform/jewel/decorated-window/api/decorated-window.api @@ -51,7 +51,6 @@ public abstract interface class com/jetbrains/WindowMove { public final class org/jetbrains/jewel/window/ComposableSingletons$TitleBarKt { public static final field INSTANCE Lorg/jetbrains/jewel/window/ComposableSingletons$TitleBarKt; - public static field lambda-1 Lkotlin/jvm/functions/Function2; public fun ()V public final fun getLambda-1$decorated_window ()Lkotlin/jvm/functions/Function2; } diff --git a/platform/jewel/detekt-plugin/build.gradle.kts b/platform/jewel/detekt-plugin/build.gradle.kts index 697b8a339009..db82ca668b96 100644 --- a/platform/jewel/detekt-plugin/build.gradle.kts +++ b/platform/jewel/detekt-plugin/build.gradle.kts @@ -1,8 +1,6 @@ // Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -plugins { - jewel -} +plugins { jewel } dependencies { compileOnly("io.gitlab.arturbosch.detekt:detekt-api:1.23.7") @@ -11,6 +9,4 @@ dependencies { testImplementation("org.assertj:assertj-core:3.26.3") } -tasks.test { - useJUnitPlatform() -} +tasks.test { useJUnitPlatform() } diff --git a/platform/jewel/foundation/api-dump-unreviewed.txt b/platform/jewel/foundation/api-dump-unreviewed.txt index de1b4d10ed7c..7c0245ad745b 100644 --- a/platform/jewel/foundation/api-dump-unreviewed.txt +++ b/platform/jewel/foundation/api-dump-unreviewed.txt @@ -266,7 +266,7 @@ org.jetbrains.jewel.foundation.lazy.SelectableColumnOnKeyEvent - onSelectNextItem(java.util.List,org.jetbrains.jewel.foundation.lazy.SelectableLazyListState):V - onSelectPreviousItem(java.util.List,org.jetbrains.jewel.foundation.lazy.SelectableLazyListState):V f:org.jetbrains.jewel.foundation.lazy.SelectableLazyColumnKt -- sf:SelectableLazyColumn(androidx.compose.ui.Modifier,org.jetbrains.jewel.foundation.lazy.SelectionMode,org.jetbrains.jewel.foundation.lazy.SelectableLazyListState,androidx.compose.foundation.layout.PaddingValues,Z,kotlin.jvm.functions.Function1,androidx.compose.foundation.layout.Arrangement$Vertical,androidx.compose.ui.Alignment$Horizontal,androidx.compose.foundation.gestures.FlingBehavior,org.jetbrains.jewel.foundation.lazy.tree.KeyActions,org.jetbrains.jewel.foundation.lazy.tree.PointerEventActions,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.jvm.functions.Function1,androidx.compose.runtime.Composer,I,I,I):V +- sf:SelectableLazyColumn(androidx.compose.ui.Modifier,org.jetbrains.jewel.foundation.lazy.SelectionMode,org.jetbrains.jewel.foundation.lazy.SelectableLazyListState,androidx.compose.foundation.layout.PaddingValues,Z,kotlin.jvm.functions.Function1,androidx.compose.foundation.layout.Arrangement$Vertical,androidx.compose.ui.Alignment$Horizontal,androidx.compose.foundation.gestures.FlingBehavior,org.jetbrains.jewel.foundation.lazy.tree.KeyActions,org.jetbrains.jewel.foundation.lazy.tree.PointerEventActions,kotlin.jvm.functions.Function1,androidx.compose.runtime.Composer,I,I,I):V org.jetbrains.jewel.foundation.lazy.SelectableLazyItemScope - androidx.compose.foundation.lazy.LazyItemScope - a:isActive():Z @@ -316,10 +316,12 @@ f:org.jetbrains.jewel.foundation.lazy.SelectableLazyListState - f:getLayoutInfo():androidx.compose.foundation.lazy.LazyListLayoutInfo - f:getLazyListState():androidx.compose.foundation.lazy.LazyListState - getSelectedKeys():java.util.Set +- f:isKeyboardNavigating():Z - isScrollInProgress():Z - scroll(androidx.compose.foundation.MutatePriority,kotlin.jvm.functions.Function2,kotlin.coroutines.Continuation):java.lang.Object - f:scrollToItem(I,Z,I,kotlin.coroutines.Continuation):java.lang.Object - bs:scrollToItem$default(org.jetbrains.jewel.foundation.lazy.SelectableLazyListState,I,Z,I,kotlin.coroutines.Continuation,I,java.lang.Object):java.lang.Object +- f:setKeyboardNavigating(Z):V - f:setLastActiveItemIndex(java.lang.Integer):V - setSelectedKeys(java.util.Set):V f:org.jetbrains.jewel.foundation.lazy.SelectableLazyListStateKt @@ -644,7 +646,6 @@ f:org.jetbrains.jewel.foundation.theme.JewelTheme$Companion - f:getGlobalColors(androidx.compose.runtime.Composer,I):org.jetbrains.jewel.foundation.GlobalColors - f:getGlobalMetrics(androidx.compose.runtime.Composer,I):org.jetbrains.jewel.foundation.GlobalMetrics - f:getName(androidx.compose.runtime.Composer,I):java.lang.String -- f:getTextStyle(androidx.compose.runtime.Composer,I):androidx.compose.ui.text.TextStyle - f:isDark(androidx.compose.runtime.Composer,I):Z - f:isSwingCompatMode(androidx.compose.runtime.Composer,I):Z f:org.jetbrains.jewel.foundation.theme.JewelThemeKt @@ -678,8 +679,6 @@ f:org.jetbrains.jewel.foundation.theme.ThemeColorPalette - f:grayOrNull-ijrfgN4(I):androidx.compose.ui.graphics.Color - f:green-vNxB06k(I):J - f:greenOrNull-ijrfgN4(I):androidx.compose.ui.graphics.Color -- f:grey-vNxB06k(I):J -- f:greyOrNull-ijrfgN4(I):androidx.compose.ui.graphics.Color - hashCode():I - f:lookup-ijrfgN4(java.lang.String):androidx.compose.ui.graphics.Color - f:orange-vNxB06k(I):J diff --git a/platform/jewel/foundation/api/foundation.api b/platform/jewel/foundation/api/foundation.api index 059fa5bf3765..2b6175708eea 100644 --- a/platform/jewel/foundation/api/foundation.api +++ b/platform/jewel/foundation/api/foundation.api @@ -377,7 +377,7 @@ public final class org/jetbrains/jewel/foundation/lazy/SelectableColumnOnKeyEven } public final class org/jetbrains/jewel/foundation/lazy/SelectableLazyColumnKt { - public static final fun SelectableLazyColumn (Landroidx/compose/ui/Modifier;Lorg/jetbrains/jewel/foundation/lazy/SelectionMode;Lorg/jetbrains/jewel/foundation/lazy/SelectableLazyListState;Landroidx/compose/foundation/layout/PaddingValues;ZLkotlin/jvm/functions/Function1;Landroidx/compose/foundation/layout/Arrangement$Vertical;Landroidx/compose/ui/Alignment$Horizontal;Landroidx/compose/foundation/gestures/FlingBehavior;Lorg/jetbrains/jewel/foundation/lazy/tree/KeyActions;Lorg/jetbrains/jewel/foundation/lazy/tree/PointerEventActions;Landroidx/compose/foundation/interaction/MutableInteractionSource;Lkotlin/jvm/functions/Function1;Landroidx/compose/runtime/Composer;III)V + public static final fun SelectableLazyColumn (Landroidx/compose/ui/Modifier;Lorg/jetbrains/jewel/foundation/lazy/SelectionMode;Lorg/jetbrains/jewel/foundation/lazy/SelectableLazyListState;Landroidx/compose/foundation/layout/PaddingValues;ZLkotlin/jvm/functions/Function1;Landroidx/compose/foundation/layout/Arrangement$Vertical;Landroidx/compose/ui/Alignment$Horizontal;Landroidx/compose/foundation/gestures/FlingBehavior;Lorg/jetbrains/jewel/foundation/lazy/tree/KeyActions;Lorg/jetbrains/jewel/foundation/lazy/tree/PointerEventActions;Lkotlin/jvm/functions/Function1;Landroidx/compose/runtime/Composer;III)V } public abstract interface class org/jetbrains/jewel/foundation/lazy/SelectableLazyItemScope : androidx/compose/foundation/lazy/LazyItemScope { @@ -439,10 +439,12 @@ public final class org/jetbrains/jewel/foundation/lazy/SelectableLazyListState : public final fun getLayoutInfo ()Landroidx/compose/foundation/lazy/LazyListLayoutInfo; public final fun getLazyListState ()Landroidx/compose/foundation/lazy/LazyListState; public fun getSelectedKeys ()Ljava/util/Set; + public final fun isKeyboardNavigating ()Z public fun isScrollInProgress ()Z public fun scroll (Landroidx/compose/foundation/MutatePriority;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public final fun scrollToItem (IZILkotlin/coroutines/Continuation;)Ljava/lang/Object; public static synthetic fun scrollToItem$default (Lorg/jetbrains/jewel/foundation/lazy/SelectableLazyListState;IZILkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public final fun setKeyboardNavigating (Z)V public final fun setLastActiveItemIndex (Ljava/lang/Integer;)V public fun setSelectedKeys (Ljava/util/Set;)V } @@ -905,7 +907,6 @@ public final class org/jetbrains/jewel/foundation/theme/JewelTheme$Companion { public final fun getGlobalColors (Landroidx/compose/runtime/Composer;I)Lorg/jetbrains/jewel/foundation/GlobalColors; public final fun getGlobalMetrics (Landroidx/compose/runtime/Composer;I)Lorg/jetbrains/jewel/foundation/GlobalMetrics; public final fun getName (Landroidx/compose/runtime/Composer;I)Ljava/lang/String; - public final fun getTextStyle (Landroidx/compose/runtime/Composer;I)Landroidx/compose/ui/text/TextStyle; public final fun isDark (Landroidx/compose/runtime/Composer;I)Z public final fun isSwingCompatMode (Landroidx/compose/runtime/Composer;I)Z } @@ -943,8 +944,6 @@ public final class org/jetbrains/jewel/foundation/theme/ThemeColorPalette { public final fun grayOrNull-ijrfgN4 (I)Landroidx/compose/ui/graphics/Color; public final fun green-vNxB06k (I)J public final fun greenOrNull-ijrfgN4 (I)Landroidx/compose/ui/graphics/Color; - public final fun grey-vNxB06k (I)J - public final fun greyOrNull-ijrfgN4 (I)Landroidx/compose/ui/graphics/Color; public fun hashCode ()I public final fun lookup-ijrfgN4 (Ljava/lang/String;)Landroidx/compose/ui/graphics/Color; public final fun orange-vNxB06k (I)J diff --git a/platform/jewel/foundation/intellij.platform.jewel.foundation.iml b/platform/jewel/foundation/intellij.platform.jewel.foundation.iml index 70c8dbb6939b..a2f8d3f6c211 100644 --- a/platform/jewel/foundation/intellij.platform.jewel.foundation.iml +++ b/platform/jewel/foundation/intellij.platform.jewel.foundation.iml @@ -36,314 +36,7 @@ - - - - - - c53f675b2af4696e6022598145a44a9e9feb35216a188163ae5bf99a18e76bdb - - - - - - - - - - - - - - - - - - f1e334b73d49ceab00afe776a4c393de77b4fc805e9ff488dac596a2663b1dc1 - - - - - - - - - - - - - - - - - - 66fdef91e9739348df7a096aa384a5685f4e875584cce89386a7a47251c4d8e9 - - - - - - - - - - - - - - - - - - a7dfdfd2b9d6668c646275948eba357aab6407f635f2dc09fe90258a2f202337 - - - - - - - - - - - - - - - - - - 34dfab5b4fa8b2913f00facdddc049e2fef4b176f8e7cde0ad306485674c3b5c - - - - - - - - - - - - - - - - - - 5c84c3bb1c1b636ae36030a0f98d4629afa29e192a9c78f57f22ce2c8ff6bc96 - - - - - - - - - - - - - - - - - - c106c0f705717889663555fe4cb7742612bd47b56a128bf7a9f589f24c64cb08 - - - - - - - - - - - - - - - - - - 8ff9a2b8c93b0287d8fa837d5b0917923168cb97dea1ada1a8d4aa7bb17c9f15 - - - - - - - - - - - - - - - - - - 41da5d61c56877b5b5d01e2a2bcb967cbfaf4d45c1a1aa124c0601c7a3de74e7 - - - - - - - - - - - - - - - - - - 7b0f19724082cbfcbc66e5abea2b9bc92cf08a1ea11e191933ed43801eb3cd05 - - - - - - - - - - - - - - - - - - bff3d1e895fd5abd54ee725dab59214acabf900e1a0784544d20cf20521bf9f3 - - - - - - - - - - - - - - - - - - 62c816073195cc0119dc1d66b178544bdb772ef8bee4879954528c6798b17ebe - - - - - - - - - - - - - - - - - - 5c84c3bb1c1b636ae36030a0f98d4629afa29e192a9c78f57f22ce2c8ff6bc96 - - - - - - - - - - - - - - - - - - c106c0f705717889663555fe4cb7742612bd47b56a128bf7a9f589f24c64cb08 - - - - - - - - - - - - - - - - - - 1b409141a9ee6ed38e76a8fb8f9cf280030bf45375ba7e07e60b2742039b573e - - - - - - - - - - - - - - - - - - c5cfad0b125e978d915f8b4c38630bc5d548e59fe8a0e838c0cc84283c605943 - - - - - - - - - - - - - - - - - - 5c84c3bb1c1b636ae36030a0f98d4629afa29e192a9c78f57f22ce2c8ff6bc96 - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/platform/jewel/foundation/src/main/kotlin/org/jetbrains/jewel/foundation/lazy/SelectableLazyColumn.kt b/platform/jewel/foundation/src/main/kotlin/org/jetbrains/jewel/foundation/lazy/SelectableLazyColumn.kt index e688dfada498..e90ca0fe3530 100644 --- a/platform/jewel/foundation/src/main/kotlin/org/jetbrains/jewel/foundation/lazy/SelectableLazyColumn.kt +++ b/platform/jewel/foundation/src/main/kotlin/org/jetbrains/jewel/foundation/lazy/SelectableLazyColumn.kt @@ -3,7 +3,6 @@ package org.jetbrains.jewel.foundation.lazy import androidx.compose.foundation.focusable import androidx.compose.foundation.gestures.FlingBehavior import androidx.compose.foundation.gestures.ScrollableDefaults -import androidx.compose.foundation.interaction.MutableInteractionSource import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.PaddingValues @@ -18,19 +17,19 @@ import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import androidx.compose.ui.focus.FocusDirection import androidx.compose.ui.focus.FocusRequester +import androidx.compose.ui.focus.focusProperties import androidx.compose.ui.focus.focusRequester import androidx.compose.ui.focus.onFocusChanged import androidx.compose.ui.input.key.Key -import androidx.compose.ui.input.key.KeyEventType -import androidx.compose.ui.input.key.isShiftPressed import androidx.compose.ui.input.key.key import androidx.compose.ui.input.key.onPreviewKeyEvent -import androidx.compose.ui.input.key.type import androidx.compose.ui.input.pointer.PointerEventType import androidx.compose.ui.input.pointer.pointerInput -import androidx.compose.ui.platform.LocalFocusManager +import androidx.compose.ui.semantics.focused +import androidx.compose.ui.semantics.selected +import androidx.compose.ui.semantics.semantics +import androidx.compose.ui.semantics.stateDescription import androidx.compose.ui.unit.dp import kotlinx.coroutines.launch import org.jetbrains.jewel.foundation.lazy.SelectableLazyListScopeContainer.Entry @@ -53,7 +52,6 @@ public fun SelectableLazyColumn( flingBehavior: FlingBehavior = ScrollableDefaults.flingBehavior(), keyActions: KeyActions = DefaultSelectableLazyColumnKeyActions, pointerEventActions: PointerEventActions = DefaultSelectableLazyColumnEventAction(), - interactionSource: MutableInteractionSource = remember { MutableInteractionSource() }, content: SelectableLazyListScope.() -> Unit, ) { val scope = rememberCoroutineScope() @@ -71,7 +69,6 @@ public fun SelectableLazyColumn( onSelectedIndexesChange(indices) } - val focusManager = LocalFocusManager.current val focusRequester = remember { FocusRequester() } LazyColumn( modifier = @@ -84,15 +81,14 @@ public fun SelectableLazyColumn( } } } + .focusProperties { canFocus = true } .focusRequester(focusRequester) - .focusable(interactionSource = interactionSource) + .focusable(enabled = true) .onPreviewKeyEvent { event -> - // Handle Tab key press to move focus to next item - if (event.type == KeyEventType.KeyDown && event.key == Key.Tab) { - val focusDirection = if (event.isShiftPressed) FocusDirection.Previous else FocusDirection.Next - focusManager.moveFocus(focusDirection) - return@onPreviewKeyEvent true + if (event.key == Key.Tab) { + return@onPreviewKeyEvent false } + if (state.lastActiveItemIndex != null) { val actionHandled = keyActions.handleOnKeyEvent(event, keys, state, selectionMode).invoke(event) if (actionHandled) { @@ -160,7 +156,6 @@ private fun LazyListScope.appendEntry( entry.content.invoke(itemScope) } } - is Entry.Items -> items(count = entry.count, key = { entry.key(it) }, contentType = { entry.contentType(it) }) { index -> val key = remember(entry, index) { entry.key(index) } @@ -184,7 +179,6 @@ private fun LazyListScope.appendEntry( entry.itemContent.invoke(itemScope, index) } } - is Entry.StickyHeader -> stickyHeader(entry.key, entry.contentType) { val itemScope = SelectableLazyItemScope(entry.key in state.selectedKeys, isFocused) @@ -221,23 +215,35 @@ private fun Modifier.selectable( allKeys: List, itemKey: Any, ) = - pointerInput(allKeys, itemKey) { - awaitPointerEventScope { - while (true) { - val event = awaitPointerEvent() - when (event.type) { - PointerEventType.Press -> { - requester?.requestFocus() - actionHandler.handlePointerEventPress( - pointerEvent = event, - keybindings = keybindings, - selectableLazyListState = selectableState, - selectionMode = selectionMode, - allKeys = allKeys, - key = itemKey, - ) + // Prevent this item from being individually focusable by Tab + focusProperties { + // Make items unfocusable by Tab focus traversal + canFocus = false + } + // Add semantics for accessibility + .semantics(mergeDescendants = true) { + selected = itemKey in selectableState.selectedKeys + focused = selectableState.lastActiveItemIndex == allKeys.indexOfFirst { it.key == itemKey } + stateDescription = "" + } + // Handle pointer input but ensure Tab keys aren't intercepted + .pointerInput(allKeys, itemKey) { + awaitPointerEventScope { + while (true) { + val event = awaitPointerEvent() + when (event.type) { + PointerEventType.Press -> { + requester?.requestFocus() + actionHandler.handlePointerEventPress( + pointerEvent = event, + keybindings = keybindings, + selectableLazyListState = selectableState, + selectionMode = selectionMode, + allKeys = allKeys, + key = itemKey, + ) + } } } } } - } diff --git a/platform/jewel/foundation/src/main/kotlin/org/jetbrains/jewel/foundation/lazy/SelectableLazyListState.kt b/platform/jewel/foundation/src/main/kotlin/org/jetbrains/jewel/foundation/lazy/SelectableLazyListState.kt index ae80b1574dc8..1b9be48a886b 100644 --- a/platform/jewel/foundation/src/main/kotlin/org/jetbrains/jewel/foundation/lazy/SelectableLazyListState.kt +++ b/platform/jewel/foundation/src/main/kotlin/org/jetbrains/jewel/foundation/lazy/SelectableLazyListState.kt @@ -32,6 +32,9 @@ public class SelectableLazyListState(public val lazyListState: LazyListState) : ScrollableState by lazyListState, SelectableScope { internal var lastKeyEventUsedMouse: Boolean = false + /** Flag indicating whether the user is currently navigating via keyboard */ + public var isKeyboardNavigating: Boolean by mutableStateOf(false) + override var selectedKeys: Set by mutableStateOf(emptySet()) public var lastActiveItemIndex: Int? = null diff --git a/platform/jewel/foundation/src/main/kotlin/org/jetbrains/jewel/foundation/lazy/tree/BasicLazyTree.kt b/platform/jewel/foundation/src/main/kotlin/org/jetbrains/jewel/foundation/lazy/tree/BasicLazyTree.kt index 4fed9c1cbe46..67653548293f 100644 --- a/platform/jewel/foundation/src/main/kotlin/org/jetbrains/jewel/foundation/lazy/tree/BasicLazyTree.kt +++ b/platform/jewel/foundation/src/main/kotlin/org/jetbrains/jewel/foundation/lazy/tree/BasicLazyTree.kt @@ -22,6 +22,11 @@ import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color +import androidx.compose.ui.semantics.contentDescription +import androidx.compose.ui.semantics.focused +import androidx.compose.ui.semantics.selected +import androidx.compose.ui.semantics.semantics +import androidx.compose.ui.semantics.stateDescription import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import kotlin.time.Duration @@ -111,14 +116,13 @@ public fun BasicLazyTree( SelectableLazyColumn( modifier = modifier, - state = treeState.delegate, selectionMode = selectionMode, - keyActions = keyActions, - pointerEventActions = pointerEventScopedActions, + state = treeState.delegate, onSelectedIndexesChange = { onSelectionChange(it.map { element -> flattenedTree[element] as Tree.Element }) }, - interactionSource = remember { MutableInteractionSource() }, + keyActions = keyActions, + pointerEventActions = pointerEventScopedActions, ) { itemsIndexed(items = flattenedTree, key = { _, item -> item.id }, contentType = { _, item -> item.data }) { index, @@ -158,9 +162,29 @@ public fun BasicLazyTree( ) .padding(elementContentPadding) .padding(start = (element.depth * indentSize.value).dp) + .semantics(mergeDescendants = true) { + // Only set expansion state in content description for nodes + if (element is Tree.Element.Node) { + contentDescription = if (element.id in treeState.openNodes) "expanded" else "collapsed" + } + + selected = element.id in treeState.delegate.selectedKeys + focused = treeState.delegate.lastActiveItemIndex == index + + stateDescription = + if ( + treeState.delegate.isKeyboardNavigating && + treeState.delegate.lastActiveItemIndex == index + ) { + "current item" + } else { + "" + } + } .clickable(interactionSource = remember { MutableInteractionSource() }, indication = null) { + val item = flattenedTree[index] as Tree.Element (pointerEventScopedActions as? DefaultTreeViewPointerEventAction)?.notifyItemClicked( - item = flattenedTree[index] as Tree.Element, + item = item, scope = scope, doubleClickTimeDelayMillis = platformDoubleClickDelay.inWholeMilliseconds, onElementClick = onElementClick, @@ -307,7 +331,6 @@ private fun Tree.Element<*>.flattenTree(state: TreeState): MutableList orderedChildren.addAll(child.flattenTree(state)) } } - is Tree.Element.Leaf<*> -> { orderedChildren.add(this) } diff --git a/platform/jewel/foundation/src/main/kotlin/org/jetbrains/jewel/foundation/lazy/tree/DefaultTreeViewOnKeyEvent.kt b/platform/jewel/foundation/src/main/kotlin/org/jetbrains/jewel/foundation/lazy/tree/DefaultTreeViewOnKeyEvent.kt index 2a9dd3b9f5f2..e926266b2aee 100644 --- a/platform/jewel/foundation/src/main/kotlin/org/jetbrains/jewel/foundation/lazy/tree/DefaultTreeViewOnKeyEvent.kt +++ b/platform/jewel/foundation/src/main/kotlin/org/jetbrains/jewel/foundation/lazy/tree/DefaultTreeViewOnKeyEvent.kt @@ -11,55 +11,14 @@ public open class DefaultTreeViewOnKeyEvent( val currentKey = keys[state.lastActiveItemIndex ?: 0].key val keyNodeList = treeState.allNodes.map { it.first } - if (currentKey !in keyNodeList) { - handleLeafCase(keys, currentKey, keyNodeList, state) - } else { - handleNodeCase(currentKey, keys, state) - } - } - - private fun handleNodeCase(currentKey: Any, keys: List, state: SelectableLazyListState) { - if (treeState.openNodes.contains(currentKey)) { + // If it's a node and it's expanded, collapse it + if (currentKey in keyNodeList && treeState.openNodes.contains(currentKey)) { treeState.toggleNode(currentKey) return } - treeState.allNodes - .first { it.first == currentKey } - .let { currentNode -> - treeState.allNodes - .subList(0, treeState.allNodes.indexOf(currentNode)) - .reversed() - .firstOrNull { it.second < currentNode.second } - ?.let { (parentNodeKey, _) -> - keys - .first { it.key == parentNodeKey } - .takeIf { it is SelectableLazyListKey.Selectable } - ?.let { - state.lastActiveItemIndex = - keys.indexOfFirst { selectableKey -> selectableKey.key == parentNodeKey } - state.selectedKeys = setOf(parentNodeKey) - } - } - } - } - private fun handleLeafCase( - keys: List, - currentKey: Any, - keyNodeList: List, - state: SelectableLazyListState, - ) { - val index = keys.indexOf(currentKey) - if (index < 0) return - for (i in index downTo 0) { - if (keys[i].key in keyNodeList) { - if (keys[i] is SelectableLazyListKey.Selectable) { - state.lastActiveItemIndex = i - state.selectedKeys = setOf(keys[i].key) - } - break - } - } + // For leaf nodes or collapsed nodes, move to the previous item + super.onSelectPreviousItem(keys, state) } override fun onSelectChild(keys: List, state: SelectableLazyListState) { diff --git a/platform/jewel/foundation/src/main/kotlin/org/jetbrains/jewel/foundation/lazy/tree/KeyActions.kt b/platform/jewel/foundation/src/main/kotlin/org/jetbrains/jewel/foundation/lazy/tree/KeyActions.kt index 5d8d011183d6..b70098588eca 100644 --- a/platform/jewel/foundation/src/main/kotlin/org/jetbrains/jewel/foundation/lazy/tree/KeyActions.kt +++ b/platform/jewel/foundation/src/main/kotlin/org/jetbrains/jewel/foundation/lazy/tree/KeyActions.kt @@ -1,7 +1,9 @@ package org.jetbrains.jewel.foundation.lazy.tree +import androidx.compose.ui.input.key.Key import androidx.compose.ui.input.key.KeyEvent import androidx.compose.ui.input.key.KeyEventType +import androidx.compose.ui.input.key.key import androidx.compose.ui.input.key.type import androidx.compose.ui.input.pointer.PointerEvent import androidx.compose.ui.input.pointer.isCtrlPressed @@ -152,6 +154,9 @@ public open class DefaultTreeViewPointerEventAction(private val treeState: TreeS allKeys: List, key: Any, ) { + // When mouse is used, we're no longer in keyboard navigation mode + selectableLazyListState.isKeyboardNavigating = false + with(keybindings) { when { pointerEvent.keyboardModifiers.isContiguousSelectionKeyPressed && @@ -223,17 +228,23 @@ public class DefaultTreeViewKeyActions( state: SelectableLazyListState, selectionMode: SelectionMode, ): KeyEvent.() -> Boolean = lambda@{ + // Explicitly don't handle Tab key events - let them pass through for focus traversal + if (key == Key.Tab) return@lambda false + if (type == KeyEventType.KeyUp) return@lambda false val keyEvent = this + + // Always mark keyboard navigation mode active for all keyboard interactions + state.lastKeyEventUsedMouse = false + state.isKeyboardNavigating = true + with(keybindings) { with(actions) { - if (selectionMode == SelectionMode.None) return@lambda false when { + selectionMode == SelectionMode.None -> return@lambda false isSelectParent -> onSelectParent(keys, state) isSelectChild -> onSelectChild(keys, state) - super.handleOnKeyEvent(event, keys, state, selectionMode).invoke(keyEvent) -> return@lambda true - - else -> return@lambda false + else -> return@lambda super.handleOnKeyEvent(event, keys, state, selectionMode).invoke(keyEvent) } } } @@ -259,22 +270,38 @@ public open class DefaultSelectableLazyColumnKeyActions( state: SelectableLazyListState, selectionMode: SelectionMode, ): KeyEvent.() -> Boolean = lambda@{ + // Explicitly don't handle Tab key events - let them pass through for focus traversal + if (key == Key.Tab) return@lambda false + if (type == KeyEventType.KeyUp || selectionMode == SelectionMode.None) return@lambda false - with(keybindings) { with(actions) { execute(keys, state, selectionMode) } } + + // More aggressively mark keyboard navigation for all key interactions + // This improves screen reader behavior + state.lastKeyEventUsedMouse = false + state.isKeyboardNavigating = true + + execute( + keys = keys, + state = state, + selectionMode = selectionMode, + keyEvent = actions, + keyBindings = keybindings, + ) } - context(SelectableColumnKeybindings, SelectableColumnOnKeyEvent) private fun KeyEvent.execute( keys: List, state: SelectableLazyListState, selectionMode: SelectionMode, + keyEvent: SelectableColumnOnKeyEvent, + keyBindings: SelectableColumnKeybindings, ): Boolean { - val singleSelectionEventHandled = handleSingleSelectionEvents(keys, state) + val singleSelectionEventHandled = handleSingleSelectionEvents(keys, state, keyEvent, keyBindings) if (singleSelectionEventHandled) { return true } if (selectionMode == SelectionMode.Multiple) { - val multipleSelectionEventHandled = handleMultipleSelectionEvents(keys, state) + val multipleSelectionEventHandled = handleMultipleSelectionEvents(keys, state, keyEvent, keyBindings) if (multipleSelectionEventHandled) { return true } @@ -282,39 +309,45 @@ public open class DefaultSelectableLazyColumnKeyActions( return false } - context(SelectableColumnKeybindings, SelectableColumnOnKeyEvent) private fun KeyEvent.handleSingleSelectionEvents( keys: List, state: SelectableLazyListState, + keyEvent: SelectableColumnOnKeyEvent, + keybindings: SelectableColumnKeybindings, ): Boolean { - when { - isSelectNextItem -> onSelectNextItem(keys, state) - isSelectPreviousItem -> onSelectPreviousItem(keys, state) - isSelectFirstItem -> onSelectFirstItem(keys, state) - isSelectLastItem -> onSelectLastItem(keys, state) - isEdit -> onEdit() - else -> return false + with(keybindings) { + when { + isSelectNextItem -> keyEvent.onSelectNextItem(keys, state) + isSelectPreviousItem -> keyEvent.onSelectPreviousItem(keys, state) + isSelectFirstItem -> keyEvent.onSelectFirstItem(keys, state) + isSelectLastItem -> keyEvent.onSelectLastItem(keys, state) + isEdit -> keyEvent.onEdit() + else -> return false + } + return true } - return true } - context(SelectableColumnKeybindings, SelectableColumnOnKeyEvent) private fun KeyEvent.handleMultipleSelectionEvents( keys: List, state: SelectableLazyListState, + keyEvent: SelectableColumnOnKeyEvent, + keyBindings: SelectableColumnKeybindings, ): Boolean { - when { - isExtendSelectionToFirstItem -> onExtendSelectionToFirst(keys, state) - isExtendSelectionToLastItem -> onExtendSelectionToLastItem(keys, state) - isExtendSelectionWithNextItem -> onExtendSelectionWithNextItem(keys, state) - isExtendSelectionWithPreviousItem -> onExtendSelectionWithPreviousItem(keys, state) - isScrollPageDownAndExtendSelection -> onScrollPageDownAndExtendSelection(keys, state) - isScrollPageDownAndSelectItem -> onScrollPageDownAndSelectItem(keys, state) - isScrollPageUpAndExtendSelection -> onScrollPageUpAndExtendSelection(keys, state) - isScrollPageUpAndSelectItem -> onScrollPageUpAndSelectItem(keys, state) - isSelectAll -> onSelectAll(keys, state) - else -> return false + with(keyBindings) { + when { + isExtendSelectionToFirstItem -> keyEvent.onExtendSelectionToFirst(keys, state) + isExtendSelectionToLastItem -> keyEvent.onExtendSelectionToLastItem(keys, state) + isExtendSelectionWithNextItem -> keyEvent.onExtendSelectionWithNextItem(keys, state) + isExtendSelectionWithPreviousItem -> keyEvent.onExtendSelectionWithPreviousItem(keys, state) + isScrollPageDownAndExtendSelection -> keyEvent.onScrollPageDownAndExtendSelection(keys, state) + isScrollPageDownAndSelectItem -> keyEvent.onScrollPageDownAndSelectItem(keys, state) + isScrollPageUpAndExtendSelection -> keyEvent.onScrollPageUpAndExtendSelection(keys, state) + isScrollPageUpAndSelectItem -> keyEvent.onScrollPageUpAndSelectItem(keys, state) + isSelectAll -> keyEvent.onSelectAll(keys, state) + else -> return false + } + return true } - return true } } diff --git a/platform/jewel/foundation/src/main/kotlin/org/jetbrains/jewel/foundation/theme/JewelTheme.kt b/platform/jewel/foundation/src/main/kotlin/org/jetbrains/jewel/foundation/theme/JewelTheme.kt index f129f994a0f6..4262ccc30527 100644 --- a/platform/jewel/foundation/src/main/kotlin/org/jetbrains/jewel/foundation/theme/JewelTheme.kt +++ b/platform/jewel/foundation/src/main/kotlin/org/jetbrains/jewel/foundation/theme/JewelTheme.kt @@ -23,10 +23,6 @@ public interface JewelTheme { public val globalMetrics: GlobalMetrics @Composable @ReadOnlyComposable get() = LocalGlobalMetrics.current - @Deprecated("Use defaultTextStyle instead", ReplaceWith("JewelTheme.defaultTextStyle"), DeprecationLevel.ERROR) - public val textStyle: TextStyle - @Composable @ReadOnlyComposable get() = defaultTextStyle - public val defaultTextStyle: TextStyle @Composable @ReadOnlyComposable get() = LocalTextStyle.current diff --git a/platform/jewel/foundation/src/main/kotlin/org/jetbrains/jewel/foundation/theme/ThemeColorPalette.kt b/platform/jewel/foundation/src/main/kotlin/org/jetbrains/jewel/foundation/theme/ThemeColorPalette.kt index 5a5092ab28a1..1a776efcf834 100644 --- a/platform/jewel/foundation/src/main/kotlin/org/jetbrains/jewel/foundation/theme/ThemeColorPalette.kt +++ b/platform/jewel/foundation/src/main/kotlin/org/jetbrains/jewel/foundation/theme/ThemeColorPalette.kt @@ -21,11 +21,6 @@ public class ThemeColorPalette( public val teal: List, public val rawMap: Map, ) { - @Deprecated("Use gray() instead", ReplaceWith("gray(index)")) public fun grey(index: Int): Color = gray(index) - - @Deprecated("Use grayOrNull() instead", ReplaceWith("grayOrNull(index)")) - public fun greyOrNull(index: Int): Color? = grayOrNull(index) - public fun gray(index: Int): Color = gray[index - 1] public fun grayOrNull(index: Int): Color? = gray.getOrNull(index - 1) diff --git a/platform/jewel/foundation/src/test/kotlin/org/jetbrains/jewel/foundation/lazy/SelectableLazyColumnTest.kt b/platform/jewel/foundation/src/test/kotlin/org/jetbrains/jewel/foundation/lazy/SelectableLazyColumnTest.kt index d48790a3929f..59c4175deb4a 100644 --- a/platform/jewel/foundation/src/test/kotlin/org/jetbrains/jewel/foundation/lazy/SelectableLazyColumnTest.kt +++ b/platform/jewel/foundation/src/test/kotlin/org/jetbrains/jewel/foundation/lazy/SelectableLazyColumnTest.kt @@ -47,9 +47,9 @@ internal class SelectableLazyColumnTest { } } composeRule.awaitIdle() - composeRule.onNodeWithTag("Item 20").assertDoesNotExist() + composeRule.onNodeWithTag("Item 20", useUnmergedTree = true).assertDoesNotExist() scrollState.scrollToItem(20) - composeRule.onNodeWithTag("Item 20").assertExists() + composeRule.onNodeWithTag("Item 20", useUnmergedTree = true).assertExists() } @OptIn(ExperimentalTestApi::class) @@ -59,7 +59,7 @@ internal class SelectableLazyColumnTest { val state = SelectableLazyListState(LazyListState()) composeRule.setContent { Box(modifier = Modifier.requiredHeight(300.dp)) { - SelectableLazyColumn(state = state, modifier = Modifier.testTag("list")) { + SelectableLazyColumn(modifier = Modifier.testTag("list"), state = state) { items(items.size, key = { items[it] }) { val itemText = "Item ${items[it]}" BasicText(itemText, modifier = Modifier.testTag(itemText)) @@ -69,8 +69,8 @@ internal class SelectableLazyColumnTest { } composeRule.awaitIdle() // select item 5 by click - composeRule.onNodeWithTag("Item 5").assertExists() - composeRule.onNodeWithTag("Item 5").performClick() + composeRule.onNodeWithTag("Item 5", useUnmergedTree = true).assertExists() + composeRule.onNodeWithTag("Item 5", useUnmergedTree = true).performClick() // check that 5th element is selected assertEquals(1, state.selectedKeys.size) @@ -115,7 +115,7 @@ internal class SelectableLazyColumnTest { val state = SelectableLazyListState(LazyListState()) composeRule.setContent { Box(modifier = Modifier.requiredHeight(300.dp)) { - SelectableLazyColumn(state = state, modifier = Modifier.testTag("list")) { + SelectableLazyColumn(modifier = Modifier.testTag("list"), state = state) { items(items.size, key = { items[it] }) { val itemText = "Item ${items[it]}" BasicText(itemText, modifier = Modifier.testTag(itemText)) @@ -125,8 +125,8 @@ internal class SelectableLazyColumnTest { } composeRule.awaitIdle() // select item 5 by click - composeRule.onNodeWithTag("Item 5").assertExists() - composeRule.onNodeWithTag("Item 5").performClick() + composeRule.onNodeWithTag("Item 5", useUnmergedTree = true).assertExists() + composeRule.onNodeWithTag("Item 5", useUnmergedTree = true).performClick() // check that 5th element is selected assertEquals(1, state.selectedKeys.size) @@ -147,8 +147,8 @@ internal class SelectableLazyColumnTest { } // select first item by click - composeRule.onNodeWithTag("Item 0").assertExists() - composeRule.onNodeWithTag("Item 0").performClick() + composeRule.onNodeWithTag("Item 0", useUnmergedTree = true).assertExists() + composeRule.onNodeWithTag("Item 0", useUnmergedTree = true).performClick() // check that first element is selected assertEquals(1, state.selectedKeys.size) @@ -179,7 +179,7 @@ internal class SelectableLazyColumnTest { val state = SelectableLazyListState(LazyListState()) composeRule.setContent { Box(modifier = Modifier.requiredHeight(300.dp)) { - SelectableLazyColumn(state = state, modifier = Modifier.testTag("list")) { + SelectableLazyColumn(modifier = Modifier.testTag("list"), state = state) { items(items.size, key = { items[it] }) { val itemText = "Item ${items[it]}" BasicText(itemText, modifier = Modifier.testTag(itemText)) @@ -189,8 +189,8 @@ internal class SelectableLazyColumnTest { } composeRule.awaitIdle() // select item 5 by click - composeRule.onNodeWithTag("Item 5").assertExists() - composeRule.onNodeWithTag("Item 5").performClick() + composeRule.onNodeWithTag("Item 5", useUnmergedTree = true).assertExists() + composeRule.onNodeWithTag("Item 5", useUnmergedTree = true).performClick() // check that 5th element is selected assertEquals(1, state.selectedKeys.size) @@ -203,8 +203,8 @@ internal class SelectableLazyColumnTest { assertEquals(expectedElementsAfterPageUp.toSet(), state.selectedKeys.toSet()) // select item 5 by click - composeRule.onNodeWithTag("Item 5").assertExists() - composeRule.onNodeWithTag("Item 5").performClick() + composeRule.onNodeWithTag("Item 5", useUnmergedTree = true).assertExists() + composeRule.onNodeWithTag("Item 5", useUnmergedTree = true).performClick() // check that 5th element is selected assertEquals(1, state.selectedKeys.size) @@ -226,7 +226,7 @@ internal class SelectableLazyColumnTest { composeRule.setContent { Box(modifier = Modifier.requiredHeight(300.dp)) { val items = currentItems.value - SelectableLazyColumn(state = state, modifier = Modifier.testTag("list")) { + SelectableLazyColumn(modifier = Modifier.testTag("list"), state = state) { items(items.size, key = { items[it] }) { val itemText = "Item ${items[it]}" BasicText(itemText, modifier = Modifier.testTag(itemText)) @@ -236,8 +236,8 @@ internal class SelectableLazyColumnTest { } composeRule.awaitIdle() // select item 5 by click - composeRule.onNodeWithTag("Item 5").assertExists() - composeRule.onNodeWithTag("Item 5").performClick() + composeRule.onNodeWithTag("Item 5", useUnmergedTree = true).assertExists() + composeRule.onNodeWithTag("Item 5", useUnmergedTree = true).performClick() // check that 5th element is selected assertEquals(1, state.selectedKeys.size) @@ -250,8 +250,8 @@ internal class SelectableLazyColumnTest { // https://github.com/JetBrains/jewel/issues/242 // assertEquals(0, state.selectedKeys.size) - composeRule.onNodeWithTag("Item 75").assertExists() - composeRule.onNodeWithTag("Item 75").performClick() + composeRule.onNodeWithTag("Item 75", useUnmergedTree = true).assertExists() + composeRule.onNodeWithTag("Item 75", useUnmergedTree = true).performClick() assertEquals(1, state.selectedKeys.size) assertEquals(currentItems.value[5], state.selectedKeys.single()) diff --git a/platform/jewel/gradle.properties b/platform/jewel/gradle.properties index 48b7c7d0be49..c4545b16af55 100644 --- a/platform/jewel/gradle.properties +++ b/platform/jewel/gradle.properties @@ -4,7 +4,9 @@ org.gradle.jvmargs=-Xmx2G kotlin.stdlib.default.dependency=false org.jetbrains.intellij.platform.buildFeature.useBinaryReleases=false +org.jetbrains.dokka.experimental.gradle.pluginMode=V2Enabled +org.jetbrains.dokka.experimental.gradle.pluginMode.noWarn=true -jdk.level=17 -ijp.target=243 -jewel.release.version=0.27.0 +jdk.level=21 +ijp.target=251 +jewel.release.version=0.28.0 diff --git a/platform/jewel/gradle/libs.versions.toml b/platform/jewel/gradle/libs.versions.toml index 15dbe9faf83a..ca6211168475 100644 --- a/platform/jewel/gradle/libs.versions.toml +++ b/platform/jewel/gradle/libs.versions.toml @@ -1,19 +1,20 @@ [versions] commonmark = "0.24.0" -composeDesktop = "1.7.1" +composeDesktop = "1.8.0-alpha04" detekt = "1.23.6" -dokka = "1.9.20" -idea = "2024.3.2.2" -intelliJPlatformBuild = "243.23654.189" -ideaPlugin = "2.1.0" -jna = "5.14.0" -kotlin = "2.0.21-RC" -kotlinSarif = "0.5.0" -kotlinpoet = "1.18.1" -kotlinterGradlePlugin = "4.4.1" -kotlinxSerialization = "1.7.3" -kotlinxBinaryCompat = "0.16.3" -ktfmtGradlePlugin = "0.20.1" +dokka = "2.0.0" +filepicker = "3.1.0" +idea = "251.23774.109" +intelliJPlatformBuild = "251.23774.109-EAP-SNAPSHOT" +ideaPlugin = "2.4.0" +jna = "5.17.0" +kotlin = "2.1.10" +kotlinSarif = "0.6.0" +kotlinpoet = "2.1.0" +kotlinterGradlePlugin = "5.0.1" +kotlinxSerialization = "1.8.0" +kotlinxBinaryCompat = "0.17.0" +ktfmtGradlePlugin = "0.22.0" [libraries] commonmark-core = { module = "org.commonmark:commonmark", version.ref = "commonmark" } @@ -21,7 +22,7 @@ commonmark-ext-autolink = { module = "org.commonmark:commonmark-ext-autolink", v commonmark-ext-gfm-strikethrough = { module = "org.commonmark:commonmark-ext-gfm-strikethrough", version.ref = "commonmark" } commonmark-ext-gfm-tables = { module = "org.commonmark:commonmark-ext-gfm-tables", version.ref = "commonmark" } -filePicker = { module = "com.darkrockstudios:mpfilepicker", version = "3.1.0" } +filePicker = { module = "com.darkrockstudios:mpfilepicker", version.ref = "filepicker" } kotlinSarif = { module = "io.github.detekt.sarif4k:sarif4k", version.ref = "kotlinSarif" } kotlin-reflect = { module = "org.jetbrains.kotlin:kotlin-reflect", version.ref = "kotlin" } diff --git a/platform/jewel/gradle/wrapper/gradle-wrapper.jar b/platform/jewel/gradle/wrapper/gradle-wrapper.jar index 7454180f2ae8848c63b8b4dea2cb829da983f2fa..9bbc975c742b298b441bfb90dbc124400a3751b9 100644 GIT binary patch literal 43705 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 DHx0+F literal 59536 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 QuEJmfE|#`Dqx|px0L@K;Y5)KL diff --git a/platform/jewel/gradle/wrapper/gradle-wrapper.properties b/platform/jewel/gradle/wrapper/gradle-wrapper.properties index 8357d84852e9..ed4c299adbd5 100644 --- a/platform/jewel/gradle/wrapper/gradle-wrapper.properties +++ b/platform/jewel/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-all.zip +networkTimeout=10000 +validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/platform/jewel/gradlew b/platform/jewel/gradlew index 4f906e0c811f..faf93008b77e 100755 --- a/platform/jewel/gradlew +++ b/platform/jewel/gradlew @@ -1,7 +1,7 @@ -#!/usr/bin/env sh +#!/bin/sh # -# Copyright 2015 the original author or authors. +# Copyright © 2015-2021 the original authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -15,69 +15,103 @@ # See the License for the specific language governing permissions and # limitations under the License. # +# SPDX-License-Identifier: Apache-2.0 +# ############################################################################## -## -## Gradle start up script for UN*X -## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# ############################################################################## # Attempt to set APP_HOME + # Resolve links: $0 may be a link -PRG="$0" -# Need this for relative symlinks. -while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >/dev/null -APP_HOME="`pwd -P`" -cd "$SAVED" >/dev/null -APP_NAME="Gradle" -APP_BASE_NAME=`basename "$0"` - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' +# This is normally unused +# shellcheck disable=SC2034 +APP_BASE_NAME=${0##*/} +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD="maximum" +MAX_FD=maximum warn () { echo "$*" -} +} >&2 die () { echo echo "$*" echo exit 1 -} +} >&2 # OS specific support (must be 'true' or 'false'). cygwin=false msys=false darwin=false nonstop=false -case "`uname`" in - CYGWIN* ) - cygwin=true - ;; - Darwin* ) - darwin=true - ;; - MINGW* ) - msys=true - ;; - NONSTOP* ) - nonstop=true - ;; +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; esac CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar @@ -87,9 +121,9 @@ CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" + JAVACMD=$JAVA_HOME/jre/sh/java else - JAVACMD="$JAVA_HOME/bin/java" + JAVACMD=$JAVA_HOME/bin/java fi if [ ! -x "$JAVACMD" ] ; then die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME @@ -98,88 +132,120 @@ Please set the JAVA_HOME variable in your environment to match the location of your Java installation." fi else - JAVACMD="java" - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + JAVACMD=java + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the location of your Java installation." + fi fi # Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then - MAX_FD_LIMIT=`ulimit -H -n` - if [ $? -eq 0 ] ; then - if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then - MAX_FD="$MAX_FD_LIMIT" - fi - ulimit -n $MAX_FD - if [ $? -ne 0 ] ; then - warn "Could not set maximum file descriptor limit: $MAX_FD" - fi - else - warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" - fi -fi - -# For Darwin, add options to specify how the application appears in the dock -if $darwin; then - GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" -fi - -# For Cygwin or MSYS, switch paths to Windows format before running java -if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then - APP_HOME=`cygpath --path --mixed "$APP_HOME"` - CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - - JAVACMD=`cygpath --unix "$JAVACMD"` - - # We build the pattern for arguments to be converted via cygpath - ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` - SEP="" - for dir in $ROOTDIRSRAW ; do - ROOTDIRS="$ROOTDIRS$SEP$dir" - SEP="|" - done - OURCYGPATTERN="(^($ROOTDIRS))" - # Add a user-defined pattern to the cygpath arguments - if [ "$GRADLE_CYGPATTERN" != "" ] ; then - OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" - fi - # Now convert the arguments - kludge to limit ourselves to /bin/sh - i=0 - for arg in "$@" ; do - CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` - CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option - - if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition - eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` - else - eval `echo args$i`="\"$arg\"" - fi - i=`expr $i + 1` - done - case $i in - 0) set -- ;; - 1) set -- "$args0" ;; - 2) set -- "$args0" "$args1" ;; - 3) set -- "$args0" "$args1" "$args2" ;; - 4) set -- "$args0" "$args1" "$args2" "$args3" ;; - 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" esac fi -# Escape application args -save () { - for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done - echo " " -} -APP_ARGS=`save "$@"` +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. -# Collect all arguments for the java command, following the shell quoting and substitution rules -eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + + # Now convert the arguments - kludge to limit ourselves to /bin/sh + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) + fi + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg + done +fi + + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' exec "$JAVACMD" "$@" diff --git a/platform/jewel/gradlew.bat b/platform/jewel/gradlew.bat index 107acd32c4e6..9d21a21834d5 100644 --- a/platform/jewel/gradlew.bat +++ b/platform/jewel/gradlew.bat @@ -13,8 +13,10 @@ @rem See the License for the specific language governing permissions and @rem limitations under the License. @rem +@rem SPDX-License-Identifier: Apache-2.0 +@rem -@if "%DEBUG%" == "" @echo off +@if "%DEBUG%"=="" @echo off @rem ########################################################################## @rem @rem Gradle startup script for Windows @@ -25,7 +27,8 @@ if "%OS%"=="Windows_NT" setlocal set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% @@ -40,13 +43,13 @@ if defined JAVA_HOME goto findJavaFromJavaHome set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto execute +if %ERRORLEVEL% equ 0 goto execute -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. +echo. 1>&2 +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 goto fail @@ -56,11 +59,11 @@ set JAVA_EXE=%JAVA_HOME%/bin/java.exe if exist "%JAVA_EXE%" goto execute -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. +echo. 1>&2 +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 goto fail @@ -75,13 +78,15 @@ set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar :end @rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd +if %ERRORLEVEL% equ 0 goto mainEnd :fail rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% :mainEnd if "%OS%"=="Windows_NT" endlocal diff --git a/platform/jewel/ide-laf-bridge/api-dump-unreviewed.txt b/platform/jewel/ide-laf-bridge/api-dump-unreviewed.txt index c2751ac0349a..aa3cda5ad768 100644 --- a/platform/jewel/ide-laf-bridge/api-dump-unreviewed.txt +++ b/platform/jewel/ide-laf-bridge/api-dump-unreviewed.txt @@ -28,6 +28,7 @@ f:org.jetbrains.jewel.bridge.BridgeUtilsKt - sf:retrieveIntAsDp-3F_vd3o(java.lang.String,androidx.compose.ui.unit.Dp):F - bs:retrieveIntAsDp-3F_vd3o$default(java.lang.String,androidx.compose.ui.unit.Dp,I,java.lang.Object):F - sf:retrieveIntAsDpOrUnspecified(java.lang.String):F +- sf:retrievePlatformTextStyle():androidx.compose.ui.text.PlatformTextStyle - sf:retrieveTextStyle-WdJyH8Q(java.lang.String,J,J,Z,I,J):androidx.compose.ui.text.TextStyle - bs:retrieveTextStyle-WdJyH8Q$default(java.lang.String,J,J,Z,I,J,I,java.lang.Object):androidx.compose.ui.text.TextStyle - sf:retrieveTextStyle-tD9LlGs(java.lang.String,java.lang.String,J,Z,I,J):androidx.compose.ui.text.TextStyle @@ -50,7 +51,7 @@ f:org.jetbrains.jewel.bridge.JewelBridgeException$KeysNotFoundException - org.jetbrains.jewel.bridge.JewelBridgeException - sf:$stable:I - (java.util.List,java.lang.String):V -f:org.jetbrains.jewel.bridge.JewelComposePanelKt +f:org.jetbrains.jewel.bridge.JewelComposePanelWrapperKt - sf:JewelComposeNoThemePanel(kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function2):javax.swing.JComponent - bs:JewelComposeNoThemePanel$default(kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function2,I,java.lang.Object):javax.swing.JComponent - sf:JewelComposePanel(kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function2):javax.swing.JComponent diff --git a/platform/jewel/ide-laf-bridge/api/ide-laf-bridge.api b/platform/jewel/ide-laf-bridge/api/ide-laf-bridge.api index d8cbf99f0e0b..7c42b40ab6b8 100644 --- a/platform/jewel/ide-laf-bridge/api/ide-laf-bridge.api +++ b/platform/jewel/ide-laf-bridge/api/ide-laf-bridge.api @@ -36,6 +36,7 @@ public final class org/jetbrains/jewel/bridge/BridgeUtilsKt { public static final fun retrieveIntAsDp-3F_vd3o (Ljava/lang/String;Landroidx/compose/ui/unit/Dp;)F public static synthetic fun retrieveIntAsDp-3F_vd3o$default (Ljava/lang/String;Landroidx/compose/ui/unit/Dp;ILjava/lang/Object;)F public static final fun retrieveIntAsDpOrUnspecified (Ljava/lang/String;)F + public static final fun retrievePlatformTextStyle ()Landroidx/compose/ui/text/PlatformTextStyle; public static final fun retrieveTextStyle-WdJyH8Q (Ljava/lang/String;JJZIJ)Landroidx/compose/ui/text/TextStyle; public static synthetic fun retrieveTextStyle-WdJyH8Q$default (Ljava/lang/String;JJZIJILjava/lang/Object;)Landroidx/compose/ui/text/TextStyle; public static final fun retrieveTextStyle-tD9LlGs (Ljava/lang/String;Ljava/lang/String;JZIJ)Landroidx/compose/ui/text/TextStyle; @@ -64,7 +65,7 @@ public final class org/jetbrains/jewel/bridge/JewelBridgeException$KeysNotFoundE public fun (Ljava/util/List;Ljava/lang/String;)V } -public final class org/jetbrains/jewel/bridge/JewelComposePanelKt { +public final class org/jetbrains/jewel/bridge/JewelComposePanelWrapperKt { public static final fun JewelComposeNoThemePanel (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function2;)Ljavax/swing/JComponent; public static synthetic fun JewelComposeNoThemePanel$default (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Ljavax/swing/JComponent; public static final fun JewelComposePanel (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function2;)Ljavax/swing/JComponent; diff --git a/platform/jewel/ide-laf-bridge/build.gradle.kts b/platform/jewel/ide-laf-bridge/build.gradle.kts index ec02afbf55a1..47eb13b86694 100644 --- a/platform/jewel/ide-laf-bridge/build.gradle.kts +++ b/platform/jewel/ide-laf-bridge/build.gradle.kts @@ -34,10 +34,7 @@ repositories { dependencies { api(projects.ui) { exclude(group = "org.jetbrains.kotlinx") } - intellijPlatform { - intellijIdeaCommunity(libs.versions.idea) - instrumentationTools() - } + intellijPlatform { intellijIdeaCommunity(libs.versions.idea) } testImplementation(compose.desktop.uiTestJUnit4) testImplementation(compose.desktop.currentOs) { exclude(group = "org.jetbrains.compose.material") } diff --git a/platform/jewel/ide-laf-bridge/ide-laf-bridge-tests/src/test/kotlin/org/jetbrains/jewel/bridge/actionSystem/TestDataSink.kt b/platform/jewel/ide-laf-bridge/ide-laf-bridge-tests/src/test/kotlin/org/jetbrains/jewel/bridge/actionSystem/TestDataSink.kt index 08cbfd3b94c6..6d6676f8c6ae 100644 --- a/platform/jewel/ide-laf-bridge/ide-laf-bridge-tests/src/test/kotlin/org/jetbrains/jewel/bridge/actionSystem/TestDataSink.kt +++ b/platform/jewel/ide-laf-bridge/ide-laf-bridge-tests/src/test/kotlin/org/jetbrains/jewel/bridge/actionSystem/TestDataSink.kt @@ -1,10 +1,6 @@ package org.jetbrains.jewel.bridge.actionSystem -import com.intellij.openapi.actionSystem.DataKey -import com.intellij.openapi.actionSystem.DataProvider -import com.intellij.openapi.actionSystem.DataSink -import com.intellij.openapi.actionSystem.DataSnapshotProvider -import com.intellij.openapi.actionSystem.UiDataProvider +import com.intellij.openapi.actionSystem.* internal class TestDataSink : DataSink { val allData = mutableMapOf() diff --git a/platform/jewel/ide-laf-bridge/intellij.platform.jewel.ideLafBridge.iml b/platform/jewel/ide-laf-bridge/intellij.platform.jewel.ideLafBridge.iml index 730255a1cd7f..c48bdba6a196 100644 --- a/platform/jewel/ide-laf-bridge/intellij.platform.jewel.ideLafBridge.iml +++ b/platform/jewel/ide-laf-bridge/intellij.platform.jewel.ideLafBridge.iml @@ -44,314 +44,8 @@ - - - - - - c53f675b2af4696e6022598145a44a9e9feb35216a188163ae5bf99a18e76bdb - - - - - - - - - - - - - - - - - - f1e334b73d49ceab00afe776a4c393de77b4fc805e9ff488dac596a2663b1dc1 - - - - - - - - - - - - - - - - - - 66fdef91e9739348df7a096aa384a5685f4e875584cce89386a7a47251c4d8e9 - - - - - - - - - - - - - - - - - - a7dfdfd2b9d6668c646275948eba357aab6407f635f2dc09fe90258a2f202337 - - - - - - - - - - - - - - - - - - 34dfab5b4fa8b2913f00facdddc049e2fef4b176f8e7cde0ad306485674c3b5c - - - - - - - - - - - - - - - - - - 5c84c3bb1c1b636ae36030a0f98d4629afa29e192a9c78f57f22ce2c8ff6bc96 - - - - - - - - - - - - - - - - - - c106c0f705717889663555fe4cb7742612bd47b56a128bf7a9f589f24c64cb08 - - - - - - - - - - - - - - - - - - 8ff9a2b8c93b0287d8fa837d5b0917923168cb97dea1ada1a8d4aa7bb17c9f15 - - - - - - - - - - - - - - - - - - 41da5d61c56877b5b5d01e2a2bcb967cbfaf4d45c1a1aa124c0601c7a3de74e7 - - - - - - - - - - - - - - - - - - 7b0f19724082cbfcbc66e5abea2b9bc92cf08a1ea11e191933ed43801eb3cd05 - - - - - - - - - - - - - - - - - - bff3d1e895fd5abd54ee725dab59214acabf900e1a0784544d20cf20521bf9f3 - - - - - - - - - - - - - - - - - - 62c816073195cc0119dc1d66b178544bdb772ef8bee4879954528c6798b17ebe - - - - - - - - - - - - - - - - - - 5c84c3bb1c1b636ae36030a0f98d4629afa29e192a9c78f57f22ce2c8ff6bc96 - - - - - - - - - - - - - - - - - - c106c0f705717889663555fe4cb7742612bd47b56a128bf7a9f589f24c64cb08 - - - - - - - - - - - - - - - - - - 1b409141a9ee6ed38e76a8fb8f9cf280030bf45375ba7e07e60b2742039b573e - - - - - - - - - - - - - - - - - - c5cfad0b125e978d915f8b4c38630bc5d548e59fe8a0e838c0cc84283c605943 - - - - - - - - - - - - - - - - - - 5c84c3bb1c1b636ae36030a0f98d4629afa29e192a9c78f57f22ce2c8ff6bc96 - - - - - - - - - - - - - - + + \ No newline at end of file diff --git a/platform/jewel/ide-laf-bridge/src/main/kotlin/org/jetbrains/jewel/bridge/BridgeUtils.kt b/platform/jewel/ide-laf-bridge/src/main/kotlin/org/jetbrains/jewel/bridge/BridgeUtils.kt index dad95e04a33b..58359c57af41 100644 --- a/platform/jewel/ide-laf-bridge/src/main/kotlin/org/jetbrains/jewel/bridge/BridgeUtils.kt +++ b/platform/jewel/ide-laf-bridge/src/main/kotlin/org/jetbrains/jewel/bridge/BridgeUtils.kt @@ -7,6 +7,10 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.SolidColor import androidx.compose.ui.graphics.TileMode import androidx.compose.ui.text.ExperimentalTextApi +import androidx.compose.ui.text.FontRasterizationSettings +import androidx.compose.ui.text.FontSmoothing +import androidx.compose.ui.text.PlatformParagraphStyle +import androidx.compose.ui.text.PlatformTextStyle import androidx.compose.ui.text.TextStyle import androidx.compose.ui.text.font.FontStyle import androidx.compose.ui.text.font.FontWeight @@ -19,7 +23,9 @@ import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.isUnspecified import androidx.compose.ui.unit.sp import androidx.compose.ui.unit.takeOrElse +import com.intellij.ide.ui.AntialiasingType import com.intellij.ide.ui.LafManager +import com.intellij.ide.ui.UISettings import com.intellij.ide.ui.UISettingsUtils import com.intellij.openapi.diagnostic.Logger import com.intellij.openapi.editor.colors.EditorColorsManager @@ -189,9 +195,39 @@ public fun retrieveTextStyle( fontFamily = derivedFont.asComposeFontFamily(), // TODO textDecoration might be defined in the AWT theme lineHeight = lineHeight, + platformStyle = retrievePlatformTextStyle(), ) } +@OptIn(ExperimentalTextApi::class) +public fun retrievePlatformTextStyle(): PlatformTextStyle { + val uiSettings = UISettings.instanceOrNull + val aa = uiSettings?.ideAAType ?: AntialiasingType.GREYSCALE + val platformDefaultFontRasterization = FontRasterizationSettings.PlatformDefault + + return PlatformTextStyle( + null, + paragraphStyle = + PlatformParagraphStyle( + fontRasterizationSettings = + FontRasterizationSettings( + smoothing = aa.asComposeFontSmoothing(), + hinting = platformDefaultFontRasterization.hinting, + subpixelPositioning = platformDefaultFontRasterization.subpixelPositioning, + platformDefaultFontRasterization.autoHintingForced, + ) + ), + ) +} + +@OptIn(ExperimentalTextApi::class) +private fun AntialiasingType.asComposeFontSmoothing(): FontSmoothing = + when (this) { + AntialiasingType.GREYSCALE -> FontSmoothing.AntiAlias + AntialiasingType.SUBPIXEL -> FontSmoothing.SubpixelAntiAlias + AntialiasingType.OFF -> FontSmoothing.None + } + public val JBValue.dp: Dp get() = unscaled.dp diff --git a/platform/jewel/ide-laf-bridge/src/main/kotlin/org/jetbrains/jewel/bridge/JewelComposePanel.kt b/platform/jewel/ide-laf-bridge/src/main/kotlin/org/jetbrains/jewel/bridge/JewelComposePanelWrapper.kt similarity index 89% rename from platform/jewel/ide-laf-bridge/src/main/kotlin/org/jetbrains/jewel/bridge/JewelComposePanel.kt rename to platform/jewel/ide-laf-bridge/src/main/kotlin/org/jetbrains/jewel/bridge/JewelComposePanelWrapper.kt index 82e31e993507..7b1b42773683 100644 --- a/platform/jewel/ide-laf-bridge/src/main/kotlin/org/jetbrains/jewel/bridge/JewelComposePanel.kt +++ b/platform/jewel/ide-laf-bridge/src/main/kotlin/org/jetbrains/jewel/bridge/JewelComposePanelWrapper.kt @@ -13,6 +13,9 @@ import androidx.compose.ui.platform.LocalWindowInfo import androidx.compose.ui.unit.toSize import com.intellij.openapi.actionSystem.DataSink import com.intellij.openapi.actionSystem.UiDataProvider +import com.intellij.openapi.application.ApplicationManager +import com.intellij.openapi.application.PathManager +import com.intellij.openapi.util.registry.Registry import java.awt.BorderLayout import javax.swing.JComponent import javax.swing.JPanel @@ -80,8 +83,11 @@ public fun JewelToolWindowNoThemeComposePanel( } } -private fun createJewelComposePanel(config: ComposePanel.(JewelComposePanel) -> Unit): JewelComposePanel { - val jewelPanel = JewelComposePanel() +private fun createJewelComposePanel(config: ComposePanel.(JewelComposePanelWrapper) -> Unit): JewelComposePanelWrapper { + if (ApplicationManager.getApplication().isInternal) { + System.setProperty("compose.swing.render.on.graphics", Registry.stringValue("compose.swing.render.on.graphics")) + } + val jewelPanel = JewelComposePanelWrapper() jewelPanel.layout = BorderLayout() val composePanel = ComposePanel() jewelPanel.add(composePanel, BorderLayout.CENTER) @@ -89,7 +95,7 @@ private fun createJewelComposePanel(config: ComposePanel.(JewelComposePanel) -> return jewelPanel } -internal class JewelComposePanel : JPanel(), UiDataProvider { +internal class JewelComposePanelWrapper : JPanel(), UiDataProvider { internal var targetProvider: UiDataProvider? = null override fun uiDataSnapshot(sink: DataSink) { diff --git a/platform/jewel/ide-laf-bridge/src/main/kotlin/org/jetbrains/jewel/bridge/actionSystem/ComponentDataProviderBridge.kt b/platform/jewel/ide-laf-bridge/src/main/kotlin/org/jetbrains/jewel/bridge/actionSystem/ComponentDataProviderBridge.kt index fba27e96578f..b1334352c841 100644 --- a/platform/jewel/ide-laf-bridge/src/main/kotlin/org/jetbrains/jewel/bridge/actionSystem/ComponentDataProviderBridge.kt +++ b/platform/jewel/ide-laf-bridge/src/main/kotlin/org/jetbrains/jewel/bridge/actionSystem/ComponentDataProviderBridge.kt @@ -5,12 +5,12 @@ import androidx.compose.runtime.Composable import androidx.compose.runtime.DisposableEffect import androidx.compose.runtime.remember import androidx.compose.ui.Modifier -import org.jetbrains.jewel.bridge.JewelComposePanel +import org.jetbrains.jewel.bridge.JewelComposePanelWrapper @Suppress("FunctionName") @Composable internal fun ComponentDataProviderBridge( - component: JewelComposePanel, + component: JewelComposePanelWrapper, modifier: Modifier = Modifier, content: @Composable () -> Unit, ) { diff --git a/platform/jewel/ide-laf-bridge/src/main/kotlin/org/jetbrains/jewel/bridge/theme/IntUiBridgeTooltip.kt b/platform/jewel/ide-laf-bridge/src/main/kotlin/org/jetbrains/jewel/bridge/theme/IntUiBridgeTooltip.kt index 7fe6f9aef159..9dc14c9114a6 100644 --- a/platform/jewel/ide-laf-bridge/src/main/kotlin/org/jetbrains/jewel/bridge/theme/IntUiBridgeTooltip.kt +++ b/platform/jewel/ide-laf-bridge/src/main/kotlin/org/jetbrains/jewel/bridge/theme/IntUiBridgeTooltip.kt @@ -17,7 +17,7 @@ internal fun readTooltipStyle(): TooltipStyle { metrics = TooltipMetrics.defaults( contentPadding = JBUI.CurrentTheme.HelpTooltip.smallTextBorderInsets().toPaddingValues(), - showDelay = Registry.intValue("ide.tooltip.initialDelay").milliseconds, + showDelay = Registry.intValue("ide.tooltip.initialReshowDelay").milliseconds, cornerSize = CornerSize(JBUI.CurrentTheme.Tooltip.CORNER_RADIUS.dp), ), colors = diff --git a/platform/jewel/int-ui/int-ui-standalone/api-dump-unreviewed.txt b/platform/jewel/int-ui/int-ui-standalone/api-dump-unreviewed.txt index e81fde548ee1..bf8d5ecfd2c0 100644 --- a/platform/jewel/int-ui/int-ui-standalone/api-dump-unreviewed.txt +++ b/platform/jewel/int-ui/int-ui-standalone/api-dump-unreviewed.txt @@ -54,21 +54,31 @@ f:org.jetbrains.jewel.intui.standalone.styling.IntUiButtonStylingKt - sf:outlined-Kzyhx1A(org.jetbrains.jewel.ui.component.styling.ButtonMetrics$Companion,androidx.compose.foundation.shape.CornerSize,androidx.compose.foundation.layout.PaddingValues,J,F,F):org.jetbrains.jewel.ui.component.styling.ButtonMetrics - bs:outlined-Kzyhx1A$default(org.jetbrains.jewel.ui.component.styling.ButtonMetrics$Companion,androidx.compose.foundation.shape.CornerSize,androidx.compose.foundation.layout.PaddingValues,J,F,F,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.ButtonMetrics f:org.jetbrains.jewel.intui.standalone.styling.IntUiCheckboxStylingKt -- sf:dark(org.jetbrains.jewel.ui.component.styling.CheckboxIcons$Companion,org.jetbrains.jewel.ui.icon.IconKey,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.CheckboxIcons -- sf:dark(org.jetbrains.jewel.ui.component.styling.CheckboxStyle$Companion,org.jetbrains.jewel.ui.component.styling.CheckboxColors,org.jetbrains.jewel.ui.component.styling.CheckboxMetrics,org.jetbrains.jewel.ui.component.styling.CheckboxIcons,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.CheckboxStyle -- sf:dark-GyCwops(org.jetbrains.jewel.ui.component.styling.CheckboxColors$Companion,J,J,J,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.CheckboxColors +- sf:dark(org.jetbrains.jewel.ui.component.styling.CheckboxIcons$Companion,org.jetbrains.jewel.ui.icon.IconKey):org.jetbrains.jewel.ui.component.styling.CheckboxIcons +- sf:dark(org.jetbrains.jewel.ui.component.styling.CheckboxStyle$Companion,org.jetbrains.jewel.ui.component.styling.CheckboxColors,org.jetbrains.jewel.ui.component.styling.CheckboxMetrics,org.jetbrains.jewel.ui.component.styling.CheckboxIcons):org.jetbrains.jewel.ui.component.styling.CheckboxStyle +- bs:dark$default(org.jetbrains.jewel.ui.component.styling.CheckboxIcons$Companion,org.jetbrains.jewel.ui.icon.IconKey,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.CheckboxIcons +- bs:dark$default(org.jetbrains.jewel.ui.component.styling.CheckboxStyle$Companion,org.jetbrains.jewel.ui.component.styling.CheckboxColors,org.jetbrains.jewel.ui.component.styling.CheckboxMetrics,org.jetbrains.jewel.ui.component.styling.CheckboxIcons,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.CheckboxStyle +- sf:dark-zSO0fhY(org.jetbrains.jewel.ui.component.styling.CheckboxColors$Companion,J,J,J):org.jetbrains.jewel.ui.component.styling.CheckboxColors +- bs:dark-zSO0fhY$default(org.jetbrains.jewel.ui.component.styling.CheckboxColors$Companion,J,J,J,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.CheckboxColors - sf:defaults-xtx8w0A(org.jetbrains.jewel.ui.component.styling.CheckboxMetrics$Companion,J,androidx.compose.foundation.shape.CornerSize,androidx.compose.foundation.shape.CornerSize,androidx.compose.foundation.shape.CornerSize,androidx.compose.foundation.shape.CornerSize,J,J,J,J,F):org.jetbrains.jewel.ui.component.styling.CheckboxMetrics - bs:defaults-xtx8w0A$default(org.jetbrains.jewel.ui.component.styling.CheckboxMetrics$Companion,J,androidx.compose.foundation.shape.CornerSize,androidx.compose.foundation.shape.CornerSize,androidx.compose.foundation.shape.CornerSize,androidx.compose.foundation.shape.CornerSize,J,J,J,J,F,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.CheckboxMetrics -- sf:light(org.jetbrains.jewel.ui.component.styling.CheckboxIcons$Companion,org.jetbrains.jewel.ui.icon.IconKey,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.CheckboxIcons -- sf:light(org.jetbrains.jewel.ui.component.styling.CheckboxStyle$Companion,org.jetbrains.jewel.ui.component.styling.CheckboxColors,org.jetbrains.jewel.ui.component.styling.CheckboxMetrics,org.jetbrains.jewel.ui.component.styling.CheckboxIcons,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.CheckboxStyle -- sf:light-GyCwops(org.jetbrains.jewel.ui.component.styling.CheckboxColors$Companion,J,J,J,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.CheckboxColors +- sf:light(org.jetbrains.jewel.ui.component.styling.CheckboxIcons$Companion,org.jetbrains.jewel.ui.icon.IconKey):org.jetbrains.jewel.ui.component.styling.CheckboxIcons +- sf:light(org.jetbrains.jewel.ui.component.styling.CheckboxStyle$Companion,org.jetbrains.jewel.ui.component.styling.CheckboxColors,org.jetbrains.jewel.ui.component.styling.CheckboxMetrics,org.jetbrains.jewel.ui.component.styling.CheckboxIcons):org.jetbrains.jewel.ui.component.styling.CheckboxStyle +- bs:light$default(org.jetbrains.jewel.ui.component.styling.CheckboxIcons$Companion,org.jetbrains.jewel.ui.icon.IconKey,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.CheckboxIcons +- bs:light$default(org.jetbrains.jewel.ui.component.styling.CheckboxStyle$Companion,org.jetbrains.jewel.ui.component.styling.CheckboxColors,org.jetbrains.jewel.ui.component.styling.CheckboxMetrics,org.jetbrains.jewel.ui.component.styling.CheckboxIcons,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.CheckboxStyle +- sf:light-zSO0fhY(org.jetbrains.jewel.ui.component.styling.CheckboxColors$Companion,J,J,J):org.jetbrains.jewel.ui.component.styling.CheckboxColors +- bs:light-zSO0fhY$default(org.jetbrains.jewel.ui.component.styling.CheckboxColors$Companion,J,J,J,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.CheckboxColors f:org.jetbrains.jewel.intui.standalone.styling.IntUiChipStylingKt -- sf:dark(org.jetbrains.jewel.ui.component.styling.ChipStyle$Companion,org.jetbrains.jewel.ui.component.styling.ChipColors,org.jetbrains.jewel.ui.component.styling.ChipMetrics,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.ChipStyle -- sf:dark-Sy8uPd4(org.jetbrains.jewel.ui.component.styling.ChipColors$Companion,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,androidx.compose.runtime.Composer,I,I,I,I,I):org.jetbrains.jewel.ui.component.styling.ChipColors +- sf:dark(org.jetbrains.jewel.ui.component.styling.ChipStyle$Companion,org.jetbrains.jewel.ui.component.styling.ChipColors,org.jetbrains.jewel.ui.component.styling.ChipMetrics):org.jetbrains.jewel.ui.component.styling.ChipStyle +- bs:dark$default(org.jetbrains.jewel.ui.component.styling.ChipStyle$Companion,org.jetbrains.jewel.ui.component.styling.ChipColors,org.jetbrains.jewel.ui.component.styling.ChipMetrics,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.ChipStyle +- sf:dark-Chrb4KI(org.jetbrains.jewel.ui.component.styling.ChipColors$Companion,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J):org.jetbrains.jewel.ui.component.styling.ChipColors +- bs:dark-Chrb4KI$default(org.jetbrains.jewel.ui.component.styling.ChipColors$Companion,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.ChipColors - sf:defaults-oZzcvok(org.jetbrains.jewel.ui.component.styling.ChipMetrics$Companion,androidx.compose.foundation.shape.CornerSize,androidx.compose.foundation.layout.PaddingValues,F,F):org.jetbrains.jewel.ui.component.styling.ChipMetrics - bs:defaults-oZzcvok$default(org.jetbrains.jewel.ui.component.styling.ChipMetrics$Companion,androidx.compose.foundation.shape.CornerSize,androidx.compose.foundation.layout.PaddingValues,F,F,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.ChipMetrics -- sf:light(org.jetbrains.jewel.ui.component.styling.ChipStyle$Companion,org.jetbrains.jewel.ui.component.styling.ChipColors,org.jetbrains.jewel.ui.component.styling.ChipMetrics,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.ChipStyle -- sf:light-Sy8uPd4(org.jetbrains.jewel.ui.component.styling.ChipColors$Companion,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,androidx.compose.runtime.Composer,I,I,I,I,I):org.jetbrains.jewel.ui.component.styling.ChipColors +- sf:light(org.jetbrains.jewel.ui.component.styling.ChipStyle$Companion,org.jetbrains.jewel.ui.component.styling.ChipColors,org.jetbrains.jewel.ui.component.styling.ChipMetrics):org.jetbrains.jewel.ui.component.styling.ChipStyle +- bs:light$default(org.jetbrains.jewel.ui.component.styling.ChipStyle$Companion,org.jetbrains.jewel.ui.component.styling.ChipColors,org.jetbrains.jewel.ui.component.styling.ChipMetrics,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.ChipStyle +- sf:light-Chrb4KI(org.jetbrains.jewel.ui.component.styling.ChipColors$Companion,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J):org.jetbrains.jewel.ui.component.styling.ChipColors +- bs:light-Chrb4KI$default(org.jetbrains.jewel.ui.component.styling.ChipColors$Companion,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.ChipColors f:org.jetbrains.jewel.intui.standalone.styling.IntUiCircularProgressStylingKt - sf:dark-O7O2-qc(org.jetbrains.jewel.ui.component.styling.CircularProgressStyle$Companion,J,J):org.jetbrains.jewel.ui.component.styling.CircularProgressStyle - bs:dark-O7O2-qc$default(org.jetbrains.jewel.ui.component.styling.CircularProgressStyle$Companion,J,J,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.CircularProgressStyle @@ -88,63 +98,87 @@ f:org.jetbrains.jewel.intui.standalone.styling.IntUiComboBoxStylingKt f:org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultBannerStylesFactory - sf:$stable:I - sf:INSTANCE:org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultBannerStylesFactory -- f:dark(org.jetbrains.jewel.ui.component.styling.DefaultBannerStyle,org.jetbrains.jewel.ui.component.styling.DefaultBannerStyle,org.jetbrains.jewel.ui.component.styling.DefaultBannerStyle,org.jetbrains.jewel.ui.component.styling.DefaultBannerStyle,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.DefaultBannerStyles -- f:light(org.jetbrains.jewel.ui.component.styling.DefaultBannerStyle,org.jetbrains.jewel.ui.component.styling.DefaultBannerStyle,org.jetbrains.jewel.ui.component.styling.DefaultBannerStyle,org.jetbrains.jewel.ui.component.styling.DefaultBannerStyle,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.DefaultBannerStyles +- f:dark(org.jetbrains.jewel.ui.component.styling.DefaultBannerStyle,org.jetbrains.jewel.ui.component.styling.DefaultBannerStyle,org.jetbrains.jewel.ui.component.styling.DefaultBannerStyle,org.jetbrains.jewel.ui.component.styling.DefaultBannerStyle):org.jetbrains.jewel.ui.component.styling.DefaultBannerStyles +- bs:dark$default(org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultBannerStylesFactory,org.jetbrains.jewel.ui.component.styling.DefaultBannerStyle,org.jetbrains.jewel.ui.component.styling.DefaultBannerStyle,org.jetbrains.jewel.ui.component.styling.DefaultBannerStyle,org.jetbrains.jewel.ui.component.styling.DefaultBannerStyle,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.DefaultBannerStyles +- f:light(org.jetbrains.jewel.ui.component.styling.DefaultBannerStyle,org.jetbrains.jewel.ui.component.styling.DefaultBannerStyle,org.jetbrains.jewel.ui.component.styling.DefaultBannerStyle,org.jetbrains.jewel.ui.component.styling.DefaultBannerStyle):org.jetbrains.jewel.ui.component.styling.DefaultBannerStyles +- bs:light$default(org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultBannerStylesFactory,org.jetbrains.jewel.ui.component.styling.DefaultBannerStyle,org.jetbrains.jewel.ui.component.styling.DefaultBannerStyle,org.jetbrains.jewel.ui.component.styling.DefaultBannerStyle,org.jetbrains.jewel.ui.component.styling.DefaultBannerStyle,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.DefaultBannerStyles f:org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultButtonColorFactory - sf:$stable:I - sf:INSTANCE:org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultButtonColorFactory -- f:dark-AckW74Y(androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,J,J,J,J,J,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.runtime.Composer,I,I,I):org.jetbrains.jewel.ui.component.styling.ButtonColors -- f:light-AckW74Y(androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,J,J,J,J,J,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.runtime.Composer,I,I,I):org.jetbrains.jewel.ui.component.styling.ButtonColors +- f:dark-jhmft08(androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,J,J,J,J,J,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush):org.jetbrains.jewel.ui.component.styling.ButtonColors +- bs:dark-jhmft08$default(org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultButtonColorFactory,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,J,J,J,J,J,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.ButtonColors +- f:light-jhmft08(androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,J,J,J,J,J,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush):org.jetbrains.jewel.ui.component.styling.ButtonColors +- bs:light-jhmft08$default(org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultButtonColorFactory,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,J,J,J,J,J,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.ButtonColors f:org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultButtonStyleFactory - sf:$stable:I - sf:INSTANCE:org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultButtonStyleFactory -- f:dark(org.jetbrains.jewel.ui.component.styling.ButtonColors,org.jetbrains.jewel.ui.component.styling.ButtonMetrics,org.jetbrains.jewel.foundation.Stroke$Alignment,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.ButtonStyle -- f:light(org.jetbrains.jewel.ui.component.styling.ButtonColors,org.jetbrains.jewel.ui.component.styling.ButtonMetrics,org.jetbrains.jewel.foundation.Stroke$Alignment,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.ButtonStyle +- f:dark(org.jetbrains.jewel.ui.component.styling.ButtonColors,org.jetbrains.jewel.ui.component.styling.ButtonMetrics,org.jetbrains.jewel.foundation.Stroke$Alignment):org.jetbrains.jewel.ui.component.styling.ButtonStyle +- bs:dark$default(org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultButtonStyleFactory,org.jetbrains.jewel.ui.component.styling.ButtonColors,org.jetbrains.jewel.ui.component.styling.ButtonMetrics,org.jetbrains.jewel.foundation.Stroke$Alignment,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.ButtonStyle +- f:light(org.jetbrains.jewel.ui.component.styling.ButtonColors,org.jetbrains.jewel.ui.component.styling.ButtonMetrics,org.jetbrains.jewel.foundation.Stroke$Alignment):org.jetbrains.jewel.ui.component.styling.ButtonStyle +- bs:light$default(org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultButtonStyleFactory,org.jetbrains.jewel.ui.component.styling.ButtonColors,org.jetbrains.jewel.ui.component.styling.ButtonMetrics,org.jetbrains.jewel.foundation.Stroke$Alignment,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.ButtonStyle f:org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultComboBoxColorsFactory - sf:$stable:I - sf:INSTANCE:org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultComboBoxColorsFactory -- f:dark-V1nXRL4(J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,androidx.compose.runtime.Composer,I,I,I):org.jetbrains.jewel.ui.component.styling.ComboBoxColors -- f:light-V1nXRL4(J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,androidx.compose.runtime.Composer,I,I,I):org.jetbrains.jewel.ui.component.styling.ComboBoxColors +- f:dark-Q_H9qLU(J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J):org.jetbrains.jewel.ui.component.styling.ComboBoxColors +- bs:dark-Q_H9qLU$default(org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultComboBoxColorsFactory,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.ComboBoxColors +- f:light-Q_H9qLU(J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J):org.jetbrains.jewel.ui.component.styling.ComboBoxColors +- bs:light-Q_H9qLU$default(org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultComboBoxColorsFactory,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.ComboBoxColors f:org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultComboBoxStyleFactory - sf:$stable:I - sf:INSTANCE:org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultComboBoxStyleFactory -- f:dark(org.jetbrains.jewel.ui.component.styling.ComboBoxColors,org.jetbrains.jewel.ui.component.styling.ComboBoxMetrics,org.jetbrains.jewel.ui.component.styling.ComboBoxIcons,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.ComboBoxStyle -- f:light(org.jetbrains.jewel.ui.component.styling.ComboBoxColors,org.jetbrains.jewel.ui.component.styling.ComboBoxMetrics,org.jetbrains.jewel.ui.component.styling.ComboBoxIcons,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.ComboBoxStyle +- f:dark(org.jetbrains.jewel.ui.component.styling.ComboBoxColors,org.jetbrains.jewel.ui.component.styling.ComboBoxMetrics,org.jetbrains.jewel.ui.component.styling.ComboBoxIcons):org.jetbrains.jewel.ui.component.styling.ComboBoxStyle +- bs:dark$default(org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultComboBoxStyleFactory,org.jetbrains.jewel.ui.component.styling.ComboBoxColors,org.jetbrains.jewel.ui.component.styling.ComboBoxMetrics,org.jetbrains.jewel.ui.component.styling.ComboBoxIcons,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.ComboBoxStyle +- f:light(org.jetbrains.jewel.ui.component.styling.ComboBoxColors,org.jetbrains.jewel.ui.component.styling.ComboBoxMetrics,org.jetbrains.jewel.ui.component.styling.ComboBoxIcons):org.jetbrains.jewel.ui.component.styling.ComboBoxStyle +- bs:light$default(org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultComboBoxStyleFactory,org.jetbrains.jewel.ui.component.styling.ComboBoxColors,org.jetbrains.jewel.ui.component.styling.ComboBoxMetrics,org.jetbrains.jewel.ui.component.styling.ComboBoxIcons,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.ComboBoxStyle f:org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultDropdownColorsFactory - sf:$stable:I - sf:INSTANCE:org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultDropdownColorsFactory -- f:dark-Xf8s2Ik(J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,androidx.compose.runtime.Composer,I,I,I,I):org.jetbrains.jewel.ui.component.styling.DropdownColors -- f:light-Xf8s2Ik(J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,androidx.compose.runtime.Composer,I,I,I,I):org.jetbrains.jewel.ui.component.styling.DropdownColors +- f:dark-Cmkg8xs(J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J):org.jetbrains.jewel.ui.component.styling.DropdownColors +- bs:dark-Cmkg8xs$default(org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultDropdownColorsFactory,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.DropdownColors +- f:light-Cmkg8xs(J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J):org.jetbrains.jewel.ui.component.styling.DropdownColors +- bs:light-Cmkg8xs$default(org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultDropdownColorsFactory,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.DropdownColors f:org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultDropdownStyleFactory - sf:$stable:I - sf:INSTANCE:org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultDropdownStyleFactory -- f:dark(org.jetbrains.jewel.ui.component.styling.DropdownColors,org.jetbrains.jewel.ui.component.styling.DropdownMetrics,org.jetbrains.jewel.ui.component.styling.DropdownIcons,org.jetbrains.jewel.ui.component.styling.MenuStyle,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.DropdownStyle -- f:light(org.jetbrains.jewel.ui.component.styling.DropdownColors,org.jetbrains.jewel.ui.component.styling.DropdownMetrics,org.jetbrains.jewel.ui.component.styling.DropdownIcons,org.jetbrains.jewel.ui.component.styling.MenuStyle,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.DropdownStyle +- f:dark(org.jetbrains.jewel.ui.component.styling.DropdownColors,org.jetbrains.jewel.ui.component.styling.DropdownMetrics,org.jetbrains.jewel.ui.component.styling.DropdownIcons,org.jetbrains.jewel.ui.component.styling.MenuStyle):org.jetbrains.jewel.ui.component.styling.DropdownStyle +- bs:dark$default(org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultDropdownStyleFactory,org.jetbrains.jewel.ui.component.styling.DropdownColors,org.jetbrains.jewel.ui.component.styling.DropdownMetrics,org.jetbrains.jewel.ui.component.styling.DropdownIcons,org.jetbrains.jewel.ui.component.styling.MenuStyle,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.DropdownStyle +- f:light(org.jetbrains.jewel.ui.component.styling.DropdownColors,org.jetbrains.jewel.ui.component.styling.DropdownMetrics,org.jetbrains.jewel.ui.component.styling.DropdownIcons,org.jetbrains.jewel.ui.component.styling.MenuStyle):org.jetbrains.jewel.ui.component.styling.DropdownStyle +- bs:light$default(org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultDropdownStyleFactory,org.jetbrains.jewel.ui.component.styling.DropdownColors,org.jetbrains.jewel.ui.component.styling.DropdownMetrics,org.jetbrains.jewel.ui.component.styling.DropdownIcons,org.jetbrains.jewel.ui.component.styling.MenuStyle,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.DropdownStyle f:org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultErrorBannerStyleFactory - sf:$stable:I - sf:INSTANCE:org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultErrorBannerStyleFactory -- f:dark(org.jetbrains.jewel.ui.component.styling.BannerColors,org.jetbrains.jewel.ui.component.styling.BannerMetrics,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.DefaultBannerStyle -- f:light(org.jetbrains.jewel.ui.component.styling.BannerColors,org.jetbrains.jewel.ui.component.styling.BannerMetrics,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.DefaultBannerStyle +- f:dark(org.jetbrains.jewel.ui.component.styling.BannerColors,org.jetbrains.jewel.ui.component.styling.BannerMetrics):org.jetbrains.jewel.ui.component.styling.DefaultBannerStyle +- bs:dark$default(org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultErrorBannerStyleFactory,org.jetbrains.jewel.ui.component.styling.BannerColors,org.jetbrains.jewel.ui.component.styling.BannerMetrics,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.DefaultBannerStyle +- f:light(org.jetbrains.jewel.ui.component.styling.BannerColors,org.jetbrains.jewel.ui.component.styling.BannerMetrics):org.jetbrains.jewel.ui.component.styling.DefaultBannerStyle +- bs:light$default(org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultErrorBannerStyleFactory,org.jetbrains.jewel.ui.component.styling.BannerColors,org.jetbrains.jewel.ui.component.styling.BannerMetrics,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.DefaultBannerStyle f:org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultInformationBannerStyleFactory - sf:$stable:I - sf:INSTANCE:org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultInformationBannerStyleFactory -- f:dark(org.jetbrains.jewel.ui.component.styling.BannerColors,org.jetbrains.jewel.ui.component.styling.BannerMetrics,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.DefaultBannerStyle -- f:light(org.jetbrains.jewel.ui.component.styling.BannerColors,org.jetbrains.jewel.ui.component.styling.BannerMetrics,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.DefaultBannerStyle +- f:dark(org.jetbrains.jewel.ui.component.styling.BannerColors,org.jetbrains.jewel.ui.component.styling.BannerMetrics):org.jetbrains.jewel.ui.component.styling.DefaultBannerStyle +- bs:dark$default(org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultInformationBannerStyleFactory,org.jetbrains.jewel.ui.component.styling.BannerColors,org.jetbrains.jewel.ui.component.styling.BannerMetrics,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.DefaultBannerStyle +- f:light(org.jetbrains.jewel.ui.component.styling.BannerColors,org.jetbrains.jewel.ui.component.styling.BannerMetrics):org.jetbrains.jewel.ui.component.styling.DefaultBannerStyle +- bs:light$default(org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultInformationBannerStyleFactory,org.jetbrains.jewel.ui.component.styling.BannerColors,org.jetbrains.jewel.ui.component.styling.BannerMetrics,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.DefaultBannerStyle f:org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultSimpleListItemLazyTreeStyleFactory - sf:$stable:I - sf:INSTANCE:org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultSimpleListItemLazyTreeStyleFactory -- f:dark-oq7We08(J,J,J,J,J,J,J,J,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.SimpleListItemColors -- f:light-oq7We08(J,J,J,J,J,J,J,J,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.SimpleListItemColors +- f:dark-FD3wquc(J,J,J,J,J,J,J,J):org.jetbrains.jewel.ui.component.styling.SimpleListItemColors +- bs:dark-FD3wquc$default(org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultSimpleListItemLazyTreeStyleFactory,J,J,J,J,J,J,J,J,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.SimpleListItemColors +- f:light-FD3wquc(J,J,J,J,J,J,J,J):org.jetbrains.jewel.ui.component.styling.SimpleListItemColors +- bs:light-FD3wquc$default(org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultSimpleListItemLazyTreeStyleFactory,J,J,J,J,J,J,J,J,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.SimpleListItemColors f:org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultSplitButtonStyleFactory - sf:$stable:I - sf:INSTANCE:org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultSplitButtonStyleFactory -- f:dark-lHvuNTo(org.jetbrains.jewel.ui.component.styling.ButtonStyle,org.jetbrains.jewel.ui.component.styling.DividerMetrics,J,J,F,J,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.SplitButtonStyle -- f:light-lHvuNTo(org.jetbrains.jewel.ui.component.styling.ButtonStyle,org.jetbrains.jewel.ui.component.styling.DividerMetrics,J,J,F,J,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.SplitButtonStyle +- f:dark-NqQqPsg(org.jetbrains.jewel.ui.component.styling.ButtonStyle,org.jetbrains.jewel.ui.component.styling.DividerMetrics,J,J,F,J):org.jetbrains.jewel.ui.component.styling.SplitButtonStyle +- bs:dark-NqQqPsg$default(org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultSplitButtonStyleFactory,org.jetbrains.jewel.ui.component.styling.ButtonStyle,org.jetbrains.jewel.ui.component.styling.DividerMetrics,J,J,F,J,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.SplitButtonStyle +- f:light-NqQqPsg(org.jetbrains.jewel.ui.component.styling.ButtonStyle,org.jetbrains.jewel.ui.component.styling.DividerMetrics,J,J,F,J):org.jetbrains.jewel.ui.component.styling.SplitButtonStyle +- bs:light-NqQqPsg$default(org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultSplitButtonStyleFactory,org.jetbrains.jewel.ui.component.styling.ButtonStyle,org.jetbrains.jewel.ui.component.styling.DividerMetrics,J,J,F,J,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.SplitButtonStyle f:org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultSuccessBannerStyleFactory - sf:$stable:I - sf:INSTANCE:org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultSuccessBannerStyleFactory -- f:dark(org.jetbrains.jewel.ui.component.styling.BannerColors,org.jetbrains.jewel.ui.component.styling.BannerMetrics,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.DefaultBannerStyle -- f:light(org.jetbrains.jewel.ui.component.styling.BannerColors,org.jetbrains.jewel.ui.component.styling.BannerMetrics,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.DefaultBannerStyle +- f:dark(org.jetbrains.jewel.ui.component.styling.BannerColors,org.jetbrains.jewel.ui.component.styling.BannerMetrics):org.jetbrains.jewel.ui.component.styling.DefaultBannerStyle +- bs:dark$default(org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultSuccessBannerStyleFactory,org.jetbrains.jewel.ui.component.styling.BannerColors,org.jetbrains.jewel.ui.component.styling.BannerMetrics,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.DefaultBannerStyle +- f:light(org.jetbrains.jewel.ui.component.styling.BannerColors,org.jetbrains.jewel.ui.component.styling.BannerMetrics):org.jetbrains.jewel.ui.component.styling.DefaultBannerStyle +- bs:light$default(org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultSuccessBannerStyleFactory,org.jetbrains.jewel.ui.component.styling.BannerColors,org.jetbrains.jewel.ui.component.styling.BannerMetrics,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.DefaultBannerStyle f:org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultTabColorsFactory - sf:$stable:I - sf:INSTANCE:org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultTabColorsFactory @@ -155,17 +189,22 @@ f:org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultTabColorsFactory f:org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultTabStyleFactory - sf:$stable:I - sf:INSTANCE:org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultTabStyleFactory -- f:dark(org.jetbrains.jewel.ui.component.styling.TabColors,org.jetbrains.jewel.ui.component.styling.TabMetrics,org.jetbrains.jewel.ui.component.styling.TabIcons,org.jetbrains.jewel.ui.component.styling.TabContentAlpha,org.jetbrains.jewel.ui.component.styling.ScrollbarStyle,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.TabStyle +- f:dark(org.jetbrains.jewel.ui.component.styling.TabColors,org.jetbrains.jewel.ui.component.styling.TabMetrics,org.jetbrains.jewel.ui.component.styling.TabIcons,org.jetbrains.jewel.ui.component.styling.TabContentAlpha,org.jetbrains.jewel.ui.component.styling.ScrollbarStyle):org.jetbrains.jewel.ui.component.styling.TabStyle +- bs:dark$default(org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultTabStyleFactory,org.jetbrains.jewel.ui.component.styling.TabColors,org.jetbrains.jewel.ui.component.styling.TabMetrics,org.jetbrains.jewel.ui.component.styling.TabIcons,org.jetbrains.jewel.ui.component.styling.TabContentAlpha,org.jetbrains.jewel.ui.component.styling.ScrollbarStyle,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.TabStyle - f:light(org.jetbrains.jewel.ui.component.styling.TabColors,org.jetbrains.jewel.ui.component.styling.TabMetrics,org.jetbrains.jewel.ui.component.styling.TabIcons,org.jetbrains.jewel.ui.component.styling.TabContentAlpha,org.jetbrains.jewel.ui.component.styling.ScrollbarStyle):org.jetbrains.jewel.ui.component.styling.TabStyle - bs:light$default(org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultTabStyleFactory,org.jetbrains.jewel.ui.component.styling.TabColors,org.jetbrains.jewel.ui.component.styling.TabMetrics,org.jetbrains.jewel.ui.component.styling.TabIcons,org.jetbrains.jewel.ui.component.styling.TabContentAlpha,org.jetbrains.jewel.ui.component.styling.ScrollbarStyle,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.TabStyle f:org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultWarningBannerStyleFactory - sf:$stable:I - sf:INSTANCE:org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultWarningBannerStyleFactory -- f:dark(org.jetbrains.jewel.ui.component.styling.BannerColors,org.jetbrains.jewel.ui.component.styling.BannerMetrics,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.DefaultBannerStyle -- f:light(org.jetbrains.jewel.ui.component.styling.BannerColors,org.jetbrains.jewel.ui.component.styling.BannerMetrics,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.DefaultBannerStyle +- f:dark(org.jetbrains.jewel.ui.component.styling.BannerColors,org.jetbrains.jewel.ui.component.styling.BannerMetrics):org.jetbrains.jewel.ui.component.styling.DefaultBannerStyle +- bs:dark$default(org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultWarningBannerStyleFactory,org.jetbrains.jewel.ui.component.styling.BannerColors,org.jetbrains.jewel.ui.component.styling.BannerMetrics,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.DefaultBannerStyle +- f:light(org.jetbrains.jewel.ui.component.styling.BannerColors,org.jetbrains.jewel.ui.component.styling.BannerMetrics):org.jetbrains.jewel.ui.component.styling.DefaultBannerStyle +- bs:light$default(org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultWarningBannerStyleFactory,org.jetbrains.jewel.ui.component.styling.BannerColors,org.jetbrains.jewel.ui.component.styling.BannerMetrics,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.DefaultBannerStyle f:org.jetbrains.jewel.intui.standalone.styling.IntUiDividerStyleKt -- sf:dark-3IgeMak(org.jetbrains.jewel.ui.component.styling.DividerStyle$Companion,J,org.jetbrains.jewel.ui.component.styling.DividerMetrics,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.DividerStyle -- sf:light-3IgeMak(org.jetbrains.jewel.ui.component.styling.DividerStyle$Companion,J,org.jetbrains.jewel.ui.component.styling.DividerMetrics,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.DividerStyle +- sf:dark-bw27NRU(org.jetbrains.jewel.ui.component.styling.DividerStyle$Companion,J,org.jetbrains.jewel.ui.component.styling.DividerMetrics):org.jetbrains.jewel.ui.component.styling.DividerStyle +- bs:dark-bw27NRU$default(org.jetbrains.jewel.ui.component.styling.DividerStyle$Companion,J,org.jetbrains.jewel.ui.component.styling.DividerMetrics,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.DividerStyle +- sf:light-bw27NRU(org.jetbrains.jewel.ui.component.styling.DividerStyle$Companion,J,org.jetbrains.jewel.ui.component.styling.DividerMetrics):org.jetbrains.jewel.ui.component.styling.DividerStyle +- bs:light-bw27NRU$default(org.jetbrains.jewel.ui.component.styling.DividerStyle$Companion,J,org.jetbrains.jewel.ui.component.styling.DividerMetrics,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.DividerStyle f:org.jetbrains.jewel.intui.standalone.styling.IntUiDropdownStylingKt - sf:default-Sq-BF7M(org.jetbrains.jewel.ui.component.styling.DropdownMetrics$Companion,J,J,androidx.compose.foundation.shape.CornerSize,androidx.compose.foundation.layout.PaddingValues,F):org.jetbrains.jewel.ui.component.styling.DropdownMetrics - bs:default-Sq-BF7M$default(org.jetbrains.jewel.ui.component.styling.DropdownMetrics$Companion,J,J,androidx.compose.foundation.shape.CornerSize,androidx.compose.foundation.layout.PaddingValues,F,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.DropdownMetrics @@ -187,73 +226,101 @@ f:org.jetbrains.jewel.intui.standalone.styling.IntUiEditorTabColorsFactory f:org.jetbrains.jewel.intui.standalone.styling.IntUiEditorTabStyleFactory - sf:$stable:I - sf:INSTANCE:org.jetbrains.jewel.intui.standalone.styling.IntUiEditorTabStyleFactory -- f:dark(org.jetbrains.jewel.ui.component.styling.TabColors,org.jetbrains.jewel.ui.component.styling.TabMetrics,org.jetbrains.jewel.ui.component.styling.TabIcons,org.jetbrains.jewel.ui.component.styling.TabContentAlpha,org.jetbrains.jewel.ui.component.styling.ScrollbarStyle,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.TabStyle -- f:light(org.jetbrains.jewel.ui.component.styling.TabColors,org.jetbrains.jewel.ui.component.styling.TabMetrics,org.jetbrains.jewel.ui.component.styling.TabIcons,org.jetbrains.jewel.ui.component.styling.TabContentAlpha,org.jetbrains.jewel.ui.component.styling.ScrollbarStyle,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.TabStyle +- f:dark(org.jetbrains.jewel.ui.component.styling.TabColors,org.jetbrains.jewel.ui.component.styling.TabMetrics,org.jetbrains.jewel.ui.component.styling.TabIcons,org.jetbrains.jewel.ui.component.styling.TabContentAlpha,org.jetbrains.jewel.ui.component.styling.ScrollbarStyle):org.jetbrains.jewel.ui.component.styling.TabStyle +- bs:dark$default(org.jetbrains.jewel.intui.standalone.styling.IntUiEditorTabStyleFactory,org.jetbrains.jewel.ui.component.styling.TabColors,org.jetbrains.jewel.ui.component.styling.TabMetrics,org.jetbrains.jewel.ui.component.styling.TabIcons,org.jetbrains.jewel.ui.component.styling.TabContentAlpha,org.jetbrains.jewel.ui.component.styling.ScrollbarStyle,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.TabStyle +- f:light(org.jetbrains.jewel.ui.component.styling.TabColors,org.jetbrains.jewel.ui.component.styling.TabMetrics,org.jetbrains.jewel.ui.component.styling.TabIcons,org.jetbrains.jewel.ui.component.styling.TabContentAlpha,org.jetbrains.jewel.ui.component.styling.ScrollbarStyle):org.jetbrains.jewel.ui.component.styling.TabStyle +- bs:light$default(org.jetbrains.jewel.intui.standalone.styling.IntUiEditorTabStyleFactory,org.jetbrains.jewel.ui.component.styling.TabColors,org.jetbrains.jewel.ui.component.styling.TabMetrics,org.jetbrains.jewel.ui.component.styling.TabIcons,org.jetbrains.jewel.ui.component.styling.TabContentAlpha,org.jetbrains.jewel.ui.component.styling.ScrollbarStyle,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.TabStyle f:org.jetbrains.jewel.intui.standalone.styling.IntUiErrorBannerColorFactory - sf:$stable:I - sf:INSTANCE:org.jetbrains.jewel.intui.standalone.styling.IntUiErrorBannerColorFactory -- f:dark-dgg9oW8(J,J,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.BannerColors -- f:light-dgg9oW8(J,J,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.BannerColors +- f:dark--OWjLjI(J,J):org.jetbrains.jewel.ui.component.styling.BannerColors +- bs:dark--OWjLjI$default(org.jetbrains.jewel.intui.standalone.styling.IntUiErrorBannerColorFactory,J,J,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.BannerColors +- f:light--OWjLjI(J,J):org.jetbrains.jewel.ui.component.styling.BannerColors +- bs:light--OWjLjI$default(org.jetbrains.jewel.intui.standalone.styling.IntUiErrorBannerColorFactory,J,J,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.BannerColors f:org.jetbrains.jewel.intui.standalone.styling.IntUiGroupHeaderStylingKt -- sf:dark(org.jetbrains.jewel.ui.component.styling.GroupHeaderStyle$Companion,org.jetbrains.jewel.ui.component.styling.GroupHeaderColors,org.jetbrains.jewel.ui.component.styling.GroupHeaderMetrics,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.GroupHeaderStyle -- sf:dark-iJQMabo(org.jetbrains.jewel.ui.component.styling.GroupHeaderColors$Companion,J,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.GroupHeaderColors +- sf:dark(org.jetbrains.jewel.ui.component.styling.GroupHeaderStyle$Companion,org.jetbrains.jewel.ui.component.styling.GroupHeaderColors,org.jetbrains.jewel.ui.component.styling.GroupHeaderMetrics):org.jetbrains.jewel.ui.component.styling.GroupHeaderStyle +- bs:dark$default(org.jetbrains.jewel.ui.component.styling.GroupHeaderStyle$Companion,org.jetbrains.jewel.ui.component.styling.GroupHeaderColors,org.jetbrains.jewel.ui.component.styling.GroupHeaderMetrics,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.GroupHeaderStyle +- sf:dark-4WTKRHQ(org.jetbrains.jewel.ui.component.styling.GroupHeaderColors$Companion,J):org.jetbrains.jewel.ui.component.styling.GroupHeaderColors +- bs:dark-4WTKRHQ$default(org.jetbrains.jewel.ui.component.styling.GroupHeaderColors$Companion,J,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.GroupHeaderColors - sf:defaults-VpY3zN4(org.jetbrains.jewel.ui.component.styling.GroupHeaderMetrics$Companion,F,F):org.jetbrains.jewel.ui.component.styling.GroupHeaderMetrics - bs:defaults-VpY3zN4$default(org.jetbrains.jewel.ui.component.styling.GroupHeaderMetrics$Companion,F,F,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.GroupHeaderMetrics -- sf:light(org.jetbrains.jewel.ui.component.styling.GroupHeaderStyle$Companion,org.jetbrains.jewel.ui.component.styling.GroupHeaderColors,org.jetbrains.jewel.ui.component.styling.GroupHeaderMetrics,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.GroupHeaderStyle -- sf:light-iJQMabo(org.jetbrains.jewel.ui.component.styling.GroupHeaderColors$Companion,J,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.GroupHeaderColors +- sf:light(org.jetbrains.jewel.ui.component.styling.GroupHeaderStyle$Companion,org.jetbrains.jewel.ui.component.styling.GroupHeaderColors,org.jetbrains.jewel.ui.component.styling.GroupHeaderMetrics):org.jetbrains.jewel.ui.component.styling.GroupHeaderStyle +- bs:light$default(org.jetbrains.jewel.ui.component.styling.GroupHeaderStyle$Companion,org.jetbrains.jewel.ui.component.styling.GroupHeaderColors,org.jetbrains.jewel.ui.component.styling.GroupHeaderMetrics,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.GroupHeaderStyle +- sf:light-4WTKRHQ(org.jetbrains.jewel.ui.component.styling.GroupHeaderColors$Companion,J):org.jetbrains.jewel.ui.component.styling.GroupHeaderColors +- bs:light-4WTKRHQ$default(org.jetbrains.jewel.ui.component.styling.GroupHeaderColors$Companion,J,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.GroupHeaderColors f:org.jetbrains.jewel.intui.standalone.styling.IntUiHorizontalProgressBarStylingKt -- sf:dark-45ZY6uE(org.jetbrains.jewel.ui.component.styling.HorizontalProgressBarStyle$Companion,org.jetbrains.jewel.ui.component.styling.HorizontalProgressBarColors,org.jetbrains.jewel.ui.component.styling.HorizontalProgressBarMetrics,J,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.HorizontalProgressBarStyle -- sf:dark-zf8z9n0(org.jetbrains.jewel.ui.component.styling.HorizontalProgressBarColors$Companion,J,J,J,J,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.HorizontalProgressBarColors +- sf:dark--hDc7uY(org.jetbrains.jewel.ui.component.styling.HorizontalProgressBarColors$Companion,J,J,J,J):org.jetbrains.jewel.ui.component.styling.HorizontalProgressBarColors +- bs:dark--hDc7uY$default(org.jetbrains.jewel.ui.component.styling.HorizontalProgressBarColors$Companion,J,J,J,J,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.HorizontalProgressBarColors +- sf:dark-Wn2Vu4Y(org.jetbrains.jewel.ui.component.styling.HorizontalProgressBarStyle$Companion,org.jetbrains.jewel.ui.component.styling.HorizontalProgressBarColors,org.jetbrains.jewel.ui.component.styling.HorizontalProgressBarMetrics,J):org.jetbrains.jewel.ui.component.styling.HorizontalProgressBarStyle +- bs:dark-Wn2Vu4Y$default(org.jetbrains.jewel.ui.component.styling.HorizontalProgressBarStyle$Companion,org.jetbrains.jewel.ui.component.styling.HorizontalProgressBarColors,org.jetbrains.jewel.ui.component.styling.HorizontalProgressBarMetrics,J,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.HorizontalProgressBarStyle - sf:defaults-4j6BHR0(org.jetbrains.jewel.ui.component.styling.HorizontalProgressBarMetrics$Companion,androidx.compose.foundation.shape.CornerSize,F,F):org.jetbrains.jewel.ui.component.styling.HorizontalProgressBarMetrics - bs:defaults-4j6BHR0$default(org.jetbrains.jewel.ui.component.styling.HorizontalProgressBarMetrics$Companion,androidx.compose.foundation.shape.CornerSize,F,F,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.HorizontalProgressBarMetrics -- sf:light-45ZY6uE(org.jetbrains.jewel.ui.component.styling.HorizontalProgressBarStyle$Companion,org.jetbrains.jewel.ui.component.styling.HorizontalProgressBarColors,org.jetbrains.jewel.ui.component.styling.HorizontalProgressBarMetrics,J,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.HorizontalProgressBarStyle -- sf:light-zf8z9n0(org.jetbrains.jewel.ui.component.styling.HorizontalProgressBarColors$Companion,J,J,J,J,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.HorizontalProgressBarColors +- sf:light--hDc7uY(org.jetbrains.jewel.ui.component.styling.HorizontalProgressBarColors$Companion,J,J,J,J):org.jetbrains.jewel.ui.component.styling.HorizontalProgressBarColors +- bs:light--hDc7uY$default(org.jetbrains.jewel.ui.component.styling.HorizontalProgressBarColors$Companion,J,J,J,J,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.HorizontalProgressBarColors +- sf:light-Wn2Vu4Y(org.jetbrains.jewel.ui.component.styling.HorizontalProgressBarStyle$Companion,org.jetbrains.jewel.ui.component.styling.HorizontalProgressBarColors,org.jetbrains.jewel.ui.component.styling.HorizontalProgressBarMetrics,J):org.jetbrains.jewel.ui.component.styling.HorizontalProgressBarStyle +- bs:light-Wn2Vu4Y$default(org.jetbrains.jewel.ui.component.styling.HorizontalProgressBarStyle$Companion,org.jetbrains.jewel.ui.component.styling.HorizontalProgressBarColors,org.jetbrains.jewel.ui.component.styling.HorizontalProgressBarMetrics,J,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.HorizontalProgressBarStyle f:org.jetbrains.jewel.intui.standalone.styling.IntUiIconButtonStylingKt -- sf:dark(org.jetbrains.jewel.ui.component.styling.IconButtonStyle$Companion,org.jetbrains.jewel.ui.component.styling.IconButtonColors,org.jetbrains.jewel.ui.component.styling.IconButtonMetrics,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.IconButtonStyle +- sf:dark(org.jetbrains.jewel.ui.component.styling.IconButtonStyle$Companion,org.jetbrains.jewel.ui.component.styling.IconButtonColors,org.jetbrains.jewel.ui.component.styling.IconButtonMetrics):org.jetbrains.jewel.ui.component.styling.IconButtonStyle +- bs:dark$default(org.jetbrains.jewel.ui.component.styling.IconButtonStyle$Companion,org.jetbrains.jewel.ui.component.styling.IconButtonColors,org.jetbrains.jewel.ui.component.styling.IconButtonMetrics,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.IconButtonStyle - sf:dark-7HESe_I(org.jetbrains.jewel.ui.component.styling.IconButtonColors$Companion,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J):org.jetbrains.jewel.ui.component.styling.IconButtonColors - bs:dark-7HESe_I$default(org.jetbrains.jewel.ui.component.styling.IconButtonColors$Companion,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.IconButtonColors - sf:defaults-ij7-PLE(org.jetbrains.jewel.ui.component.styling.IconButtonMetrics$Companion,androidx.compose.foundation.shape.CornerSize,F,androidx.compose.foundation.layout.PaddingValues,J):org.jetbrains.jewel.ui.component.styling.IconButtonMetrics - bs:defaults-ij7-PLE$default(org.jetbrains.jewel.ui.component.styling.IconButtonMetrics$Companion,androidx.compose.foundation.shape.CornerSize,F,androidx.compose.foundation.layout.PaddingValues,J,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.IconButtonMetrics -- sf:light(org.jetbrains.jewel.ui.component.styling.IconButtonStyle$Companion,org.jetbrains.jewel.ui.component.styling.IconButtonColors,org.jetbrains.jewel.ui.component.styling.IconButtonMetrics,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.IconButtonStyle +- sf:light(org.jetbrains.jewel.ui.component.styling.IconButtonStyle$Companion,org.jetbrains.jewel.ui.component.styling.IconButtonColors,org.jetbrains.jewel.ui.component.styling.IconButtonMetrics):org.jetbrains.jewel.ui.component.styling.IconButtonStyle +- bs:light$default(org.jetbrains.jewel.ui.component.styling.IconButtonStyle$Companion,org.jetbrains.jewel.ui.component.styling.IconButtonColors,org.jetbrains.jewel.ui.component.styling.IconButtonMetrics,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.IconButtonStyle - sf:light-7HESe_I(org.jetbrains.jewel.ui.component.styling.IconButtonColors$Companion,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J):org.jetbrains.jewel.ui.component.styling.IconButtonColors - bs:light-7HESe_I$default(org.jetbrains.jewel.ui.component.styling.IconButtonColors$Companion,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.IconButtonColors f:org.jetbrains.jewel.intui.standalone.styling.IntUiInformationBannerColorFactory - sf:$stable:I - sf:INSTANCE:org.jetbrains.jewel.intui.standalone.styling.IntUiInformationBannerColorFactory -- f:dark-dgg9oW8(J,J,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.BannerColors -- f:light-dgg9oW8(J,J,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.BannerColors +- f:dark--OWjLjI(J,J):org.jetbrains.jewel.ui.component.styling.BannerColors +- bs:dark--OWjLjI$default(org.jetbrains.jewel.intui.standalone.styling.IntUiInformationBannerColorFactory,J,J,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.BannerColors +- f:light--OWjLjI(J,J):org.jetbrains.jewel.ui.component.styling.BannerColors +- bs:light--OWjLjI$default(org.jetbrains.jewel.intui.standalone.styling.IntUiInformationBannerColorFactory,J,J,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.BannerColors f:org.jetbrains.jewel.intui.standalone.styling.IntUiInlineBannerStylesFactory - sf:$stable:I - sf:INSTANCE:org.jetbrains.jewel.intui.standalone.styling.IntUiInlineBannerStylesFactory -- f:dark(org.jetbrains.jewel.ui.component.styling.InlineBannerStyle,org.jetbrains.jewel.ui.component.styling.InlineBannerStyle,org.jetbrains.jewel.ui.component.styling.InlineBannerStyle,org.jetbrains.jewel.ui.component.styling.InlineBannerStyle,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.InlineBannerStyles -- f:light(org.jetbrains.jewel.ui.component.styling.InlineBannerStyle,org.jetbrains.jewel.ui.component.styling.InlineBannerStyle,org.jetbrains.jewel.ui.component.styling.InlineBannerStyle,org.jetbrains.jewel.ui.component.styling.InlineBannerStyle,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.InlineBannerStyles +- f:dark(org.jetbrains.jewel.ui.component.styling.InlineBannerStyle,org.jetbrains.jewel.ui.component.styling.InlineBannerStyle,org.jetbrains.jewel.ui.component.styling.InlineBannerStyle,org.jetbrains.jewel.ui.component.styling.InlineBannerStyle):org.jetbrains.jewel.ui.component.styling.InlineBannerStyles +- bs:dark$default(org.jetbrains.jewel.intui.standalone.styling.IntUiInlineBannerStylesFactory,org.jetbrains.jewel.ui.component.styling.InlineBannerStyle,org.jetbrains.jewel.ui.component.styling.InlineBannerStyle,org.jetbrains.jewel.ui.component.styling.InlineBannerStyle,org.jetbrains.jewel.ui.component.styling.InlineBannerStyle,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.InlineBannerStyles +- f:light(org.jetbrains.jewel.ui.component.styling.InlineBannerStyle,org.jetbrains.jewel.ui.component.styling.InlineBannerStyle,org.jetbrains.jewel.ui.component.styling.InlineBannerStyle,org.jetbrains.jewel.ui.component.styling.InlineBannerStyle):org.jetbrains.jewel.ui.component.styling.InlineBannerStyles +- bs:light$default(org.jetbrains.jewel.intui.standalone.styling.IntUiInlineBannerStylesFactory,org.jetbrains.jewel.ui.component.styling.InlineBannerStyle,org.jetbrains.jewel.ui.component.styling.InlineBannerStyle,org.jetbrains.jewel.ui.component.styling.InlineBannerStyle,org.jetbrains.jewel.ui.component.styling.InlineBannerStyle,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.InlineBannerStyles f:org.jetbrains.jewel.intui.standalone.styling.IntUiInlineErrorBannerStyleFactory - sf:$stable:I - sf:INSTANCE:org.jetbrains.jewel.intui.standalone.styling.IntUiInlineErrorBannerStyleFactory -- f:dark(org.jetbrains.jewel.ui.component.styling.BannerColors,org.jetbrains.jewel.ui.component.styling.BannerMetrics,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.InlineBannerStyle -- f:light(org.jetbrains.jewel.ui.component.styling.BannerColors,org.jetbrains.jewel.ui.component.styling.BannerMetrics,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.InlineBannerStyle +- f:dark(org.jetbrains.jewel.ui.component.styling.BannerColors,org.jetbrains.jewel.ui.component.styling.BannerMetrics):org.jetbrains.jewel.ui.component.styling.InlineBannerStyle +- bs:dark$default(org.jetbrains.jewel.intui.standalone.styling.IntUiInlineErrorBannerStyleFactory,org.jetbrains.jewel.ui.component.styling.BannerColors,org.jetbrains.jewel.ui.component.styling.BannerMetrics,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.InlineBannerStyle +- f:light(org.jetbrains.jewel.ui.component.styling.BannerColors,org.jetbrains.jewel.ui.component.styling.BannerMetrics):org.jetbrains.jewel.ui.component.styling.InlineBannerStyle +- bs:light$default(org.jetbrains.jewel.intui.standalone.styling.IntUiInlineErrorBannerStyleFactory,org.jetbrains.jewel.ui.component.styling.BannerColors,org.jetbrains.jewel.ui.component.styling.BannerMetrics,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.InlineBannerStyle f:org.jetbrains.jewel.intui.standalone.styling.IntUiInlineInformationBannerStyleFactory - sf:$stable:I - sf:INSTANCE:org.jetbrains.jewel.intui.standalone.styling.IntUiInlineInformationBannerStyleFactory -- f:dark(org.jetbrains.jewel.ui.component.styling.BannerColors,org.jetbrains.jewel.ui.component.styling.BannerMetrics,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.InlineBannerStyle -- f:light(org.jetbrains.jewel.ui.component.styling.BannerColors,org.jetbrains.jewel.ui.component.styling.BannerMetrics,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.InlineBannerStyle +- f:dark(org.jetbrains.jewel.ui.component.styling.BannerColors,org.jetbrains.jewel.ui.component.styling.BannerMetrics):org.jetbrains.jewel.ui.component.styling.InlineBannerStyle +- bs:dark$default(org.jetbrains.jewel.intui.standalone.styling.IntUiInlineInformationBannerStyleFactory,org.jetbrains.jewel.ui.component.styling.BannerColors,org.jetbrains.jewel.ui.component.styling.BannerMetrics,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.InlineBannerStyle +- f:light(org.jetbrains.jewel.ui.component.styling.BannerColors,org.jetbrains.jewel.ui.component.styling.BannerMetrics):org.jetbrains.jewel.ui.component.styling.InlineBannerStyle +- bs:light$default(org.jetbrains.jewel.intui.standalone.styling.IntUiInlineInformationBannerStyleFactory,org.jetbrains.jewel.ui.component.styling.BannerColors,org.jetbrains.jewel.ui.component.styling.BannerMetrics,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.InlineBannerStyle f:org.jetbrains.jewel.intui.standalone.styling.IntUiInlineSuccessBannerStyleFactory - sf:$stable:I - sf:INSTANCE:org.jetbrains.jewel.intui.standalone.styling.IntUiInlineSuccessBannerStyleFactory -- f:dark(org.jetbrains.jewel.ui.component.styling.BannerColors,org.jetbrains.jewel.ui.component.styling.BannerMetrics,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.InlineBannerStyle -- f:light(org.jetbrains.jewel.ui.component.styling.BannerColors,org.jetbrains.jewel.ui.component.styling.BannerMetrics,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.InlineBannerStyle +- f:dark(org.jetbrains.jewel.ui.component.styling.BannerColors,org.jetbrains.jewel.ui.component.styling.BannerMetrics):org.jetbrains.jewel.ui.component.styling.InlineBannerStyle +- bs:dark$default(org.jetbrains.jewel.intui.standalone.styling.IntUiInlineSuccessBannerStyleFactory,org.jetbrains.jewel.ui.component.styling.BannerColors,org.jetbrains.jewel.ui.component.styling.BannerMetrics,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.InlineBannerStyle +- f:light(org.jetbrains.jewel.ui.component.styling.BannerColors,org.jetbrains.jewel.ui.component.styling.BannerMetrics):org.jetbrains.jewel.ui.component.styling.InlineBannerStyle +- bs:light$default(org.jetbrains.jewel.intui.standalone.styling.IntUiInlineSuccessBannerStyleFactory,org.jetbrains.jewel.ui.component.styling.BannerColors,org.jetbrains.jewel.ui.component.styling.BannerMetrics,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.InlineBannerStyle f:org.jetbrains.jewel.intui.standalone.styling.IntUiInlineWarningBannerStyleFactory - sf:$stable:I - sf:INSTANCE:org.jetbrains.jewel.intui.standalone.styling.IntUiInlineWarningBannerStyleFactory -- f:dark(org.jetbrains.jewel.ui.component.styling.BannerColors,org.jetbrains.jewel.ui.component.styling.BannerMetrics,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.InlineBannerStyle -- f:light(org.jetbrains.jewel.ui.component.styling.BannerColors,org.jetbrains.jewel.ui.component.styling.BannerMetrics,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.InlineBannerStyle +- f:dark(org.jetbrains.jewel.ui.component.styling.BannerColors,org.jetbrains.jewel.ui.component.styling.BannerMetrics):org.jetbrains.jewel.ui.component.styling.InlineBannerStyle +- bs:dark$default(org.jetbrains.jewel.intui.standalone.styling.IntUiInlineWarningBannerStyleFactory,org.jetbrains.jewel.ui.component.styling.BannerColors,org.jetbrains.jewel.ui.component.styling.BannerMetrics,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.InlineBannerStyle +- f:light(org.jetbrains.jewel.ui.component.styling.BannerColors,org.jetbrains.jewel.ui.component.styling.BannerMetrics):org.jetbrains.jewel.ui.component.styling.InlineBannerStyle +- bs:light$default(org.jetbrains.jewel.intui.standalone.styling.IntUiInlineWarningBannerStyleFactory,org.jetbrains.jewel.ui.component.styling.BannerColors,org.jetbrains.jewel.ui.component.styling.BannerMetrics,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.InlineBannerStyle f:org.jetbrains.jewel.intui.standalone.styling.IntUiLazyTreeStylingKt -- sf:dark(org.jetbrains.jewel.ui.component.styling.LazyTreeStyle$Companion,org.jetbrains.jewel.ui.component.styling.SimpleListItemColors,org.jetbrains.jewel.ui.component.styling.LazyTreeMetrics,org.jetbrains.jewel.ui.component.styling.LazyTreeIcons,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.LazyTreeStyle +- sf:dark(org.jetbrains.jewel.ui.component.styling.LazyTreeStyle$Companion,org.jetbrains.jewel.ui.component.styling.SimpleListItemColors,org.jetbrains.jewel.ui.component.styling.LazyTreeMetrics,org.jetbrains.jewel.ui.component.styling.LazyTreeIcons):org.jetbrains.jewel.ui.component.styling.LazyTreeStyle +- bs:dark$default(org.jetbrains.jewel.ui.component.styling.LazyTreeStyle$Companion,org.jetbrains.jewel.ui.component.styling.SimpleListItemColors,org.jetbrains.jewel.ui.component.styling.LazyTreeMetrics,org.jetbrains.jewel.ui.component.styling.LazyTreeIcons,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.LazyTreeStyle - sf:defaults(org.jetbrains.jewel.ui.component.styling.LazyTreeIcons$Companion,org.jetbrains.jewel.ui.icon.IconKey,org.jetbrains.jewel.ui.icon.IconKey,org.jetbrains.jewel.ui.icon.IconKey,org.jetbrains.jewel.ui.icon.IconKey):org.jetbrains.jewel.ui.component.styling.LazyTreeIcons - bs:defaults$default(org.jetbrains.jewel.ui.component.styling.LazyTreeIcons$Companion,org.jetbrains.jewel.ui.icon.IconKey,org.jetbrains.jewel.ui.icon.IconKey,org.jetbrains.jewel.ui.icon.IconKey,org.jetbrains.jewel.ui.icon.IconKey,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.LazyTreeIcons - sf:defaults-FqMU-wI(org.jetbrains.jewel.ui.component.styling.LazyTreeMetrics$Companion,F,androidx.compose.foundation.shape.CornerSize,androidx.compose.foundation.layout.PaddingValues,androidx.compose.foundation.layout.PaddingValues,F,F,F):org.jetbrains.jewel.ui.component.styling.LazyTreeMetrics - bs:defaults-FqMU-wI$default(org.jetbrains.jewel.ui.component.styling.LazyTreeMetrics$Companion,F,androidx.compose.foundation.shape.CornerSize,androidx.compose.foundation.layout.PaddingValues,androidx.compose.foundation.layout.PaddingValues,F,F,F,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.LazyTreeMetrics -- sf:light(org.jetbrains.jewel.ui.component.styling.LazyTreeStyle$Companion,org.jetbrains.jewel.ui.component.styling.SimpleListItemColors,org.jetbrains.jewel.ui.component.styling.LazyTreeMetrics,org.jetbrains.jewel.ui.component.styling.LazyTreeIcons,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.LazyTreeStyle +- sf:light(org.jetbrains.jewel.ui.component.styling.LazyTreeStyle$Companion,org.jetbrains.jewel.ui.component.styling.SimpleListItemColors,org.jetbrains.jewel.ui.component.styling.LazyTreeMetrics,org.jetbrains.jewel.ui.component.styling.LazyTreeIcons):org.jetbrains.jewel.ui.component.styling.LazyTreeStyle +- bs:light$default(org.jetbrains.jewel.ui.component.styling.LazyTreeStyle$Companion,org.jetbrains.jewel.ui.component.styling.SimpleListItemColors,org.jetbrains.jewel.ui.component.styling.LazyTreeMetrics,org.jetbrains.jewel.ui.component.styling.LazyTreeIcons,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.LazyTreeStyle f:org.jetbrains.jewel.intui.standalone.styling.IntUiLinkStylingKt - sf:dark(org.jetbrains.jewel.ui.component.styling.LinkStyle$Companion,org.jetbrains.jewel.ui.component.styling.LinkColors,org.jetbrains.jewel.ui.component.styling.LinkMetrics,org.jetbrains.jewel.ui.component.styling.LinkIcons,org.jetbrains.jewel.ui.component.styling.LinkUnderlineBehavior):org.jetbrains.jewel.ui.component.styling.LinkStyle - bs:dark$default(org.jetbrains.jewel.ui.component.styling.LinkStyle$Companion,org.jetbrains.jewel.ui.component.styling.LinkColors,org.jetbrains.jewel.ui.component.styling.LinkMetrics,org.jetbrains.jewel.ui.component.styling.LinkIcons,org.jetbrains.jewel.ui.component.styling.LinkUnderlineBehavior,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.LinkStyle @@ -268,9 +335,12 @@ f:org.jetbrains.jewel.intui.standalone.styling.IntUiLinkStylingKt - sf:light-40kPL-U(org.jetbrains.jewel.ui.component.styling.LinkColors$Companion,J,J,J,J,J,J):org.jetbrains.jewel.ui.component.styling.LinkColors - bs:light-40kPL-U$default(org.jetbrains.jewel.ui.component.styling.LinkColors$Companion,J,J,J,J,J,J,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.LinkColors f:org.jetbrains.jewel.intui.standalone.styling.IntUiMenuStylingKt -- sf:dark(org.jetbrains.jewel.ui.component.styling.MenuStyle$Companion,org.jetbrains.jewel.ui.component.styling.MenuColors,org.jetbrains.jewel.ui.component.styling.MenuMetrics,org.jetbrains.jewel.ui.component.styling.MenuIcons,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.MenuStyle -- sf:dark-Jy8F4Js(org.jetbrains.jewel.ui.component.styling.MenuColors$Companion,J,J,J,org.jetbrains.jewel.ui.component.styling.MenuItemColors,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.MenuColors -- sf:dark-a3tHFA8(org.jetbrains.jewel.ui.component.styling.MenuItemColors$Companion,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,androidx.compose.runtime.Composer,I,I,I,I):org.jetbrains.jewel.ui.component.styling.MenuItemColors +- sf:dark(org.jetbrains.jewel.ui.component.styling.MenuStyle$Companion,org.jetbrains.jewel.ui.component.styling.MenuColors,org.jetbrains.jewel.ui.component.styling.MenuMetrics,org.jetbrains.jewel.ui.component.styling.MenuIcons):org.jetbrains.jewel.ui.component.styling.MenuStyle +- bs:dark$default(org.jetbrains.jewel.ui.component.styling.MenuStyle$Companion,org.jetbrains.jewel.ui.component.styling.MenuColors,org.jetbrains.jewel.ui.component.styling.MenuMetrics,org.jetbrains.jewel.ui.component.styling.MenuIcons,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.MenuStyle +- sf:dark-1LmPkY4(org.jetbrains.jewel.ui.component.styling.MenuItemColors$Companion,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J):org.jetbrains.jewel.ui.component.styling.MenuItemColors +- bs:dark-1LmPkY4$default(org.jetbrains.jewel.ui.component.styling.MenuItemColors$Companion,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.MenuItemColors +- sf:dark-f1JAnFk(org.jetbrains.jewel.ui.component.styling.MenuColors$Companion,J,J,J,org.jetbrains.jewel.ui.component.styling.MenuItemColors):org.jetbrains.jewel.ui.component.styling.MenuColors +- bs:dark-f1JAnFk$default(org.jetbrains.jewel.ui.component.styling.MenuColors$Companion,J,J,J,org.jetbrains.jewel.ui.component.styling.MenuItemColors,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.MenuColors - sf:defaults(org.jetbrains.jewel.ui.component.styling.MenuIcons$Companion,org.jetbrains.jewel.ui.icon.IconKey):org.jetbrains.jewel.ui.component.styling.MenuIcons - bs:defaults$default(org.jetbrains.jewel.ui.component.styling.MenuIcons$Companion,org.jetbrains.jewel.ui.icon.IconKey,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.MenuIcons - sf:defaults-BkVx2pU(org.jetbrains.jewel.ui.component.styling.SubmenuMetrics$Companion,J):org.jetbrains.jewel.ui.component.styling.SubmenuMetrics @@ -279,42 +349,59 @@ f:org.jetbrains.jewel.intui.standalone.styling.IntUiMenuStylingKt - bs:defaults-ORMxH6s$default(org.jetbrains.jewel.ui.component.styling.MenuMetrics$Companion,androidx.compose.foundation.shape.CornerSize,androidx.compose.foundation.layout.PaddingValues,androidx.compose.foundation.layout.PaddingValues,J,F,F,org.jetbrains.jewel.ui.component.styling.MenuItemMetrics,org.jetbrains.jewel.ui.component.styling.SubmenuMetrics,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.MenuMetrics - sf:defaults-r9IS1ZE(org.jetbrains.jewel.ui.component.styling.MenuItemMetrics$Companion,androidx.compose.foundation.shape.CornerSize,androidx.compose.foundation.layout.PaddingValues,androidx.compose.foundation.layout.PaddingValues,androidx.compose.foundation.layout.PaddingValues,androidx.compose.foundation.layout.PaddingValues,F,F,F,F):org.jetbrains.jewel.ui.component.styling.MenuItemMetrics - bs:defaults-r9IS1ZE$default(org.jetbrains.jewel.ui.component.styling.MenuItemMetrics$Companion,androidx.compose.foundation.shape.CornerSize,androidx.compose.foundation.layout.PaddingValues,androidx.compose.foundation.layout.PaddingValues,androidx.compose.foundation.layout.PaddingValues,androidx.compose.foundation.layout.PaddingValues,F,F,F,F,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.MenuItemMetrics -- sf:light(org.jetbrains.jewel.ui.component.styling.MenuStyle$Companion,org.jetbrains.jewel.ui.component.styling.MenuColors,org.jetbrains.jewel.ui.component.styling.MenuMetrics,org.jetbrains.jewel.ui.component.styling.MenuIcons,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.MenuStyle -- sf:light-Jy8F4Js(org.jetbrains.jewel.ui.component.styling.MenuColors$Companion,J,J,J,org.jetbrains.jewel.ui.component.styling.MenuItemColors,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.MenuColors -- sf:light-a3tHFA8(org.jetbrains.jewel.ui.component.styling.MenuItemColors$Companion,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,androidx.compose.runtime.Composer,I,I,I,I):org.jetbrains.jewel.ui.component.styling.MenuItemColors +- sf:light(org.jetbrains.jewel.ui.component.styling.MenuStyle$Companion,org.jetbrains.jewel.ui.component.styling.MenuColors,org.jetbrains.jewel.ui.component.styling.MenuMetrics,org.jetbrains.jewel.ui.component.styling.MenuIcons):org.jetbrains.jewel.ui.component.styling.MenuStyle +- bs:light$default(org.jetbrains.jewel.ui.component.styling.MenuStyle$Companion,org.jetbrains.jewel.ui.component.styling.MenuColors,org.jetbrains.jewel.ui.component.styling.MenuMetrics,org.jetbrains.jewel.ui.component.styling.MenuIcons,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.MenuStyle +- sf:light-1LmPkY4(org.jetbrains.jewel.ui.component.styling.MenuItemColors$Companion,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J):org.jetbrains.jewel.ui.component.styling.MenuItemColors +- bs:light-1LmPkY4$default(org.jetbrains.jewel.ui.component.styling.MenuItemColors$Companion,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.MenuItemColors +- sf:light-f1JAnFk(org.jetbrains.jewel.ui.component.styling.MenuColors$Companion,J,J,J,org.jetbrains.jewel.ui.component.styling.MenuItemColors):org.jetbrains.jewel.ui.component.styling.MenuColors +- bs:light-f1JAnFk$default(org.jetbrains.jewel.ui.component.styling.MenuColors$Companion,J,J,J,org.jetbrains.jewel.ui.component.styling.MenuItemColors,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.MenuColors f:org.jetbrains.jewel.intui.standalone.styling.IntUiOutlinedButtonColorFactory - sf:$stable:I - sf:INSTANCE:org.jetbrains.jewel.intui.standalone.styling.IntUiOutlinedButtonColorFactory -- f:dark-AckW74Y(androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,J,J,J,J,J,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.runtime.Composer,I,I,I):org.jetbrains.jewel.ui.component.styling.ButtonColors -- f:light-AckW74Y(androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,J,J,J,J,J,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.runtime.Composer,I,I,I):org.jetbrains.jewel.ui.component.styling.ButtonColors +- f:dark-jhmft08(androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,J,J,J,J,J,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush):org.jetbrains.jewel.ui.component.styling.ButtonColors +- bs:dark-jhmft08$default(org.jetbrains.jewel.intui.standalone.styling.IntUiOutlinedButtonColorFactory,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,J,J,J,J,J,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.ButtonColors +- f:light-jhmft08(androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,J,J,J,J,J,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush):org.jetbrains.jewel.ui.component.styling.ButtonColors +- bs:light-jhmft08$default(org.jetbrains.jewel.intui.standalone.styling.IntUiOutlinedButtonColorFactory,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,J,J,J,J,J,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.ButtonColors f:org.jetbrains.jewel.intui.standalone.styling.IntUiOutlinedButtonStyleFactory - sf:$stable:I - sf:INSTANCE:org.jetbrains.jewel.intui.standalone.styling.IntUiOutlinedButtonStyleFactory -- f:dark(org.jetbrains.jewel.ui.component.styling.ButtonColors,org.jetbrains.jewel.ui.component.styling.ButtonMetrics,org.jetbrains.jewel.foundation.Stroke$Alignment,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.ButtonStyle -- f:light(org.jetbrains.jewel.ui.component.styling.ButtonColors,org.jetbrains.jewel.ui.component.styling.ButtonMetrics,org.jetbrains.jewel.foundation.Stroke$Alignment,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.ButtonStyle +- f:dark(org.jetbrains.jewel.ui.component.styling.ButtonColors,org.jetbrains.jewel.ui.component.styling.ButtonMetrics,org.jetbrains.jewel.foundation.Stroke$Alignment):org.jetbrains.jewel.ui.component.styling.ButtonStyle +- bs:dark$default(org.jetbrains.jewel.intui.standalone.styling.IntUiOutlinedButtonStyleFactory,org.jetbrains.jewel.ui.component.styling.ButtonColors,org.jetbrains.jewel.ui.component.styling.ButtonMetrics,org.jetbrains.jewel.foundation.Stroke$Alignment,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.ButtonStyle +- f:light(org.jetbrains.jewel.ui.component.styling.ButtonColors,org.jetbrains.jewel.ui.component.styling.ButtonMetrics,org.jetbrains.jewel.foundation.Stroke$Alignment):org.jetbrains.jewel.ui.component.styling.ButtonStyle +- bs:light$default(org.jetbrains.jewel.intui.standalone.styling.IntUiOutlinedButtonStyleFactory,org.jetbrains.jewel.ui.component.styling.ButtonColors,org.jetbrains.jewel.ui.component.styling.ButtonMetrics,org.jetbrains.jewel.foundation.Stroke$Alignment,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.ButtonStyle f:org.jetbrains.jewel.intui.standalone.styling.IntUiOutlinedSplitButtonStyleFactory - sf:$stable:I - sf:INSTANCE:org.jetbrains.jewel.intui.standalone.styling.IntUiOutlinedSplitButtonStyleFactory -- f:dark-lHvuNTo(org.jetbrains.jewel.ui.component.styling.ButtonStyle,org.jetbrains.jewel.ui.component.styling.DividerMetrics,J,J,F,J,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.SplitButtonStyle -- f:light-lHvuNTo(org.jetbrains.jewel.ui.component.styling.ButtonStyle,org.jetbrains.jewel.ui.component.styling.DividerMetrics,J,J,F,J,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.SplitButtonStyle +- f:dark-NqQqPsg(org.jetbrains.jewel.ui.component.styling.ButtonStyle,org.jetbrains.jewel.ui.component.styling.DividerMetrics,J,J,F,J):org.jetbrains.jewel.ui.component.styling.SplitButtonStyle +- bs:dark-NqQqPsg$default(org.jetbrains.jewel.intui.standalone.styling.IntUiOutlinedSplitButtonStyleFactory,org.jetbrains.jewel.ui.component.styling.ButtonStyle,org.jetbrains.jewel.ui.component.styling.DividerMetrics,J,J,F,J,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.SplitButtonStyle +- f:light-NqQqPsg(org.jetbrains.jewel.ui.component.styling.ButtonStyle,org.jetbrains.jewel.ui.component.styling.DividerMetrics,J,J,F,J):org.jetbrains.jewel.ui.component.styling.SplitButtonStyle +- bs:light-NqQqPsg$default(org.jetbrains.jewel.intui.standalone.styling.IntUiOutlinedSplitButtonStyleFactory,org.jetbrains.jewel.ui.component.styling.ButtonStyle,org.jetbrains.jewel.ui.component.styling.DividerMetrics,J,J,F,J,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.SplitButtonStyle f:org.jetbrains.jewel.intui.standalone.styling.IntUiPopupContainerStylingKt -- sf:dark(org.jetbrains.jewel.ui.component.styling.PopupContainerStyle$Companion,org.jetbrains.jewel.ui.component.styling.PopupContainerColors,org.jetbrains.jewel.ui.component.styling.PopupContainerMetrics,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.PopupContainerStyle -- sf:dark-GyCwops(org.jetbrains.jewel.ui.component.styling.PopupContainerColors$Companion,J,J,J,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.PopupContainerColors +- sf:dark(org.jetbrains.jewel.ui.component.styling.PopupContainerStyle$Companion,org.jetbrains.jewel.ui.component.styling.PopupContainerColors,org.jetbrains.jewel.ui.component.styling.PopupContainerMetrics):org.jetbrains.jewel.ui.component.styling.PopupContainerStyle +- bs:dark$default(org.jetbrains.jewel.ui.component.styling.PopupContainerStyle$Companion,org.jetbrains.jewel.ui.component.styling.PopupContainerColors,org.jetbrains.jewel.ui.component.styling.PopupContainerMetrics,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.PopupContainerStyle +- sf:dark-zSO0fhY(org.jetbrains.jewel.ui.component.styling.PopupContainerColors$Companion,J,J,J):org.jetbrains.jewel.ui.component.styling.PopupContainerColors +- bs:dark-zSO0fhY$default(org.jetbrains.jewel.ui.component.styling.PopupContainerColors$Companion,J,J,J,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.PopupContainerColors - sf:defaults-Dd3ibrk(org.jetbrains.jewel.ui.component.styling.PopupContainerMetrics$Companion,androidx.compose.foundation.shape.CornerSize,androidx.compose.foundation.layout.PaddingValues,androidx.compose.foundation.layout.PaddingValues,J,F,F):org.jetbrains.jewel.ui.component.styling.PopupContainerMetrics - bs:defaults-Dd3ibrk$default(org.jetbrains.jewel.ui.component.styling.PopupContainerMetrics$Companion,androidx.compose.foundation.shape.CornerSize,androidx.compose.foundation.layout.PaddingValues,androidx.compose.foundation.layout.PaddingValues,J,F,F,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.PopupContainerMetrics -- sf:light(org.jetbrains.jewel.ui.component.styling.PopupContainerStyle$Companion,org.jetbrains.jewel.ui.component.styling.PopupContainerColors,org.jetbrains.jewel.ui.component.styling.PopupContainerMetrics,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.PopupContainerStyle -- sf:light-GyCwops(org.jetbrains.jewel.ui.component.styling.PopupContainerColors$Companion,J,J,J,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.PopupContainerColors +- sf:light(org.jetbrains.jewel.ui.component.styling.PopupContainerStyle$Companion,org.jetbrains.jewel.ui.component.styling.PopupContainerColors,org.jetbrains.jewel.ui.component.styling.PopupContainerMetrics):org.jetbrains.jewel.ui.component.styling.PopupContainerStyle +- bs:light$default(org.jetbrains.jewel.ui.component.styling.PopupContainerStyle$Companion,org.jetbrains.jewel.ui.component.styling.PopupContainerColors,org.jetbrains.jewel.ui.component.styling.PopupContainerMetrics,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.PopupContainerStyle +- sf:light-zSO0fhY(org.jetbrains.jewel.ui.component.styling.PopupContainerColors$Companion,J,J,J):org.jetbrains.jewel.ui.component.styling.PopupContainerColors +- bs:light-zSO0fhY$default(org.jetbrains.jewel.ui.component.styling.PopupContainerColors$Companion,J,J,J,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.PopupContainerColors f:org.jetbrains.jewel.intui.standalone.styling.IntUiRadioButtonStylingKt - sf:dark(org.jetbrains.jewel.ui.component.styling.RadioButtonIcons$Companion,org.jetbrains.jewel.ui.icon.IconKey):org.jetbrains.jewel.ui.component.styling.RadioButtonIcons -- sf:dark(org.jetbrains.jewel.ui.component.styling.RadioButtonStyle$Companion,org.jetbrains.jewel.ui.component.styling.RadioButtonColors,org.jetbrains.jewel.ui.component.styling.RadioButtonMetrics,org.jetbrains.jewel.ui.component.styling.RadioButtonIcons,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.RadioButtonStyle +- sf:dark(org.jetbrains.jewel.ui.component.styling.RadioButtonStyle$Companion,org.jetbrains.jewel.ui.component.styling.RadioButtonColors,org.jetbrains.jewel.ui.component.styling.RadioButtonMetrics,org.jetbrains.jewel.ui.component.styling.RadioButtonIcons):org.jetbrains.jewel.ui.component.styling.RadioButtonStyle - bs:dark$default(org.jetbrains.jewel.ui.component.styling.RadioButtonIcons$Companion,org.jetbrains.jewel.ui.icon.IconKey,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.RadioButtonIcons -- sf:dark-dPtIKUs(org.jetbrains.jewel.ui.component.styling.RadioButtonColors$Companion,J,J,J,J,J,J,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.RadioButtonColors +- bs:dark$default(org.jetbrains.jewel.ui.component.styling.RadioButtonStyle$Companion,org.jetbrains.jewel.ui.component.styling.RadioButtonColors,org.jetbrains.jewel.ui.component.styling.RadioButtonMetrics,org.jetbrains.jewel.ui.component.styling.RadioButtonIcons,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.RadioButtonStyle +- sf:dark-40kPL-U(org.jetbrains.jewel.ui.component.styling.RadioButtonColors$Companion,J,J,J,J,J,J):org.jetbrains.jewel.ui.component.styling.RadioButtonColors +- bs:dark-40kPL-U$default(org.jetbrains.jewel.ui.component.styling.RadioButtonColors$Companion,J,J,J,J,J,J,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.RadioButtonColors - sf:defaults-Wf7Cy8o(org.jetbrains.jewel.ui.component.styling.RadioButtonMetrics$Companion,J,J,J,J,J,F):org.jetbrains.jewel.ui.component.styling.RadioButtonMetrics - bs:defaults-Wf7Cy8o$default(org.jetbrains.jewel.ui.component.styling.RadioButtonMetrics$Companion,J,J,J,J,J,F,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.RadioButtonMetrics - sf:light(org.jetbrains.jewel.ui.component.styling.RadioButtonIcons$Companion,org.jetbrains.jewel.ui.icon.IconKey):org.jetbrains.jewel.ui.component.styling.RadioButtonIcons -- sf:light(org.jetbrains.jewel.ui.component.styling.RadioButtonStyle$Companion,org.jetbrains.jewel.ui.component.styling.RadioButtonColors,org.jetbrains.jewel.ui.component.styling.RadioButtonMetrics,org.jetbrains.jewel.ui.component.styling.RadioButtonIcons,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.RadioButtonStyle +- sf:light(org.jetbrains.jewel.ui.component.styling.RadioButtonStyle$Companion,org.jetbrains.jewel.ui.component.styling.RadioButtonColors,org.jetbrains.jewel.ui.component.styling.RadioButtonMetrics,org.jetbrains.jewel.ui.component.styling.RadioButtonIcons):org.jetbrains.jewel.ui.component.styling.RadioButtonStyle - bs:light$default(org.jetbrains.jewel.ui.component.styling.RadioButtonIcons$Companion,org.jetbrains.jewel.ui.icon.IconKey,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.RadioButtonIcons -- sf:light-dPtIKUs(org.jetbrains.jewel.ui.component.styling.RadioButtonColors$Companion,J,J,J,J,J,J,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.RadioButtonColors +- bs:light$default(org.jetbrains.jewel.ui.component.styling.RadioButtonStyle$Companion,org.jetbrains.jewel.ui.component.styling.RadioButtonColors,org.jetbrains.jewel.ui.component.styling.RadioButtonMetrics,org.jetbrains.jewel.ui.component.styling.RadioButtonIcons,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.RadioButtonStyle +- sf:light-40kPL-U(org.jetbrains.jewel.ui.component.styling.RadioButtonColors$Companion,J,J,J,J,J,J):org.jetbrains.jewel.ui.component.styling.RadioButtonColors +- bs:light-40kPL-U$default(org.jetbrains.jewel.ui.component.styling.RadioButtonColors$Companion,J,J,J,J,J,J,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.RadioButtonColors f:org.jetbrains.jewel.intui.standalone.styling.IntUiScrollbarStylingKt - sf:dark(org.jetbrains.jewel.ui.component.styling.ScrollbarStyle$Companion):org.jetbrains.jewel.ui.component.styling.ScrollbarStyle - sf:default(org.jetbrains.jewel.ui.component.styling.ScrollbarVisibility$AlwaysVisible$Companion):org.jetbrains.jewel.ui.component.styling.ScrollbarVisibility$AlwaysVisible @@ -346,22 +433,32 @@ f:org.jetbrains.jewel.intui.standalone.styling.IntUiScrollbarStylingKt - sf:windowsAndLinuxLight-zwkVjRg(org.jetbrains.jewel.ui.component.styling.ScrollbarColors$Companion,J,J,J,J,J,J,J,J,J,J,J,J):org.jetbrains.jewel.ui.component.styling.ScrollbarColors - bs:windowsAndLinuxLight-zwkVjRg$default(org.jetbrains.jewel.ui.component.styling.ScrollbarColors$Companion,J,J,J,J,J,J,J,J,J,J,J,J,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.ScrollbarColors f:org.jetbrains.jewel.intui.standalone.styling.IntUiSegmentedControlButtonStylingKt -- sf:dark(org.jetbrains.jewel.ui.component.styling.SegmentedControlButtonStyle$Companion,org.jetbrains.jewel.ui.component.styling.SegmentedControlButtonColors,org.jetbrains.jewel.ui.component.styling.SegmentedControlButtonMetrics,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.SegmentedControlButtonStyle -- sf:dark-KkMT8bM(org.jetbrains.jewel.ui.component.styling.SegmentedControlButtonColors$Companion,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,J,J,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.runtime.Composer,I,I,I):org.jetbrains.jewel.ui.component.styling.SegmentedControlButtonColors +- sf:dark(org.jetbrains.jewel.ui.component.styling.SegmentedControlButtonStyle$Companion,org.jetbrains.jewel.ui.component.styling.SegmentedControlButtonColors,org.jetbrains.jewel.ui.component.styling.SegmentedControlButtonMetrics):org.jetbrains.jewel.ui.component.styling.SegmentedControlButtonStyle +- bs:dark$default(org.jetbrains.jewel.ui.component.styling.SegmentedControlButtonStyle$Companion,org.jetbrains.jewel.ui.component.styling.SegmentedControlButtonColors,org.jetbrains.jewel.ui.component.styling.SegmentedControlButtonMetrics,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.SegmentedControlButtonStyle +- sf:dark-wqdebIU(org.jetbrains.jewel.ui.component.styling.SegmentedControlButtonColors$Companion,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,J,J,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush):org.jetbrains.jewel.ui.component.styling.SegmentedControlButtonColors +- bs:dark-wqdebIU$default(org.jetbrains.jewel.ui.component.styling.SegmentedControlButtonColors$Companion,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,J,J,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.SegmentedControlButtonColors - sf:defaults-H1KY9o8(org.jetbrains.jewel.ui.component.styling.SegmentedControlButtonMetrics$Companion,androidx.compose.foundation.shape.CornerSize,androidx.compose.foundation.layout.PaddingValues,J,F):org.jetbrains.jewel.ui.component.styling.SegmentedControlButtonMetrics - bs:defaults-H1KY9o8$default(org.jetbrains.jewel.ui.component.styling.SegmentedControlButtonMetrics$Companion,androidx.compose.foundation.shape.CornerSize,androidx.compose.foundation.layout.PaddingValues,J,F,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.SegmentedControlButtonMetrics -- sf:light(org.jetbrains.jewel.ui.component.styling.SegmentedControlButtonStyle$Companion,org.jetbrains.jewel.ui.component.styling.SegmentedControlButtonColors,org.jetbrains.jewel.ui.component.styling.SegmentedControlButtonMetrics,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.SegmentedControlButtonStyle -- sf:light-KkMT8bM(org.jetbrains.jewel.ui.component.styling.SegmentedControlButtonColors$Companion,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,J,J,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.runtime.Composer,I,I,I):org.jetbrains.jewel.ui.component.styling.SegmentedControlButtonColors +- sf:light(org.jetbrains.jewel.ui.component.styling.SegmentedControlButtonStyle$Companion,org.jetbrains.jewel.ui.component.styling.SegmentedControlButtonColors,org.jetbrains.jewel.ui.component.styling.SegmentedControlButtonMetrics):org.jetbrains.jewel.ui.component.styling.SegmentedControlButtonStyle +- bs:light$default(org.jetbrains.jewel.ui.component.styling.SegmentedControlButtonStyle$Companion,org.jetbrains.jewel.ui.component.styling.SegmentedControlButtonColors,org.jetbrains.jewel.ui.component.styling.SegmentedControlButtonMetrics,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.SegmentedControlButtonStyle +- sf:light-wqdebIU(org.jetbrains.jewel.ui.component.styling.SegmentedControlButtonColors$Companion,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,J,J,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush):org.jetbrains.jewel.ui.component.styling.SegmentedControlButtonColors +- bs:light-wqdebIU$default(org.jetbrains.jewel.ui.component.styling.SegmentedControlButtonColors$Companion,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,J,J,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.SegmentedControlButtonColors f:org.jetbrains.jewel.intui.standalone.styling.IntUiSegmentedControlStylingKt -- sf:dark(org.jetbrains.jewel.ui.component.styling.SegmentedControlColors$Companion,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.SegmentedControlColors -- sf:dark(org.jetbrains.jewel.ui.component.styling.SegmentedControlStyle$Companion,org.jetbrains.jewel.ui.component.styling.SegmentedControlColors,org.jetbrains.jewel.ui.component.styling.SegmentedControlMetrics,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.SegmentedControlStyle +- sf:dark(org.jetbrains.jewel.ui.component.styling.SegmentedControlColors$Companion,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush):org.jetbrains.jewel.ui.component.styling.SegmentedControlColors +- sf:dark(org.jetbrains.jewel.ui.component.styling.SegmentedControlStyle$Companion,org.jetbrains.jewel.ui.component.styling.SegmentedControlColors,org.jetbrains.jewel.ui.component.styling.SegmentedControlMetrics):org.jetbrains.jewel.ui.component.styling.SegmentedControlStyle +- bs:dark$default(org.jetbrains.jewel.ui.component.styling.SegmentedControlColors$Companion,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.SegmentedControlColors +- bs:dark$default(org.jetbrains.jewel.ui.component.styling.SegmentedControlStyle$Companion,org.jetbrains.jewel.ui.component.styling.SegmentedControlColors,org.jetbrains.jewel.ui.component.styling.SegmentedControlMetrics,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.SegmentedControlStyle - sf:defaults-wH6b6FI(org.jetbrains.jewel.ui.component.styling.SegmentedControlMetrics$Companion,androidx.compose.foundation.shape.CornerSize,F):org.jetbrains.jewel.ui.component.styling.SegmentedControlMetrics - bs:defaults-wH6b6FI$default(org.jetbrains.jewel.ui.component.styling.SegmentedControlMetrics$Companion,androidx.compose.foundation.shape.CornerSize,F,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.SegmentedControlMetrics -- sf:light(org.jetbrains.jewel.ui.component.styling.SegmentedControlColors$Companion,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.SegmentedControlColors -- sf:light(org.jetbrains.jewel.ui.component.styling.SegmentedControlStyle$Companion,org.jetbrains.jewel.ui.component.styling.SegmentedControlColors,org.jetbrains.jewel.ui.component.styling.SegmentedControlMetrics,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.SegmentedControlStyle +- sf:light(org.jetbrains.jewel.ui.component.styling.SegmentedControlColors$Companion,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush):org.jetbrains.jewel.ui.component.styling.SegmentedControlColors +- sf:light(org.jetbrains.jewel.ui.component.styling.SegmentedControlStyle$Companion,org.jetbrains.jewel.ui.component.styling.SegmentedControlColors,org.jetbrains.jewel.ui.component.styling.SegmentedControlMetrics):org.jetbrains.jewel.ui.component.styling.SegmentedControlStyle +- bs:light$default(org.jetbrains.jewel.ui.component.styling.SegmentedControlColors$Companion,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,androidx.compose.ui.graphics.Brush,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.SegmentedControlColors +- bs:light$default(org.jetbrains.jewel.ui.component.styling.SegmentedControlStyle$Companion,org.jetbrains.jewel.ui.component.styling.SegmentedControlColors,org.jetbrains.jewel.ui.component.styling.SegmentedControlMetrics,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.SegmentedControlStyle f:org.jetbrains.jewel.intui.standalone.styling.IntUiSelectableLazyColumnStylingKt -- sf:dark-DzVHIIc(org.jetbrains.jewel.ui.component.styling.SelectableLazyColumnStyle$Companion,F,org.jetbrains.jewel.ui.component.styling.SimpleListItemColors,org.jetbrains.jewel.ui.component.styling.SimpleListItemMetrics,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.SelectableLazyColumnStyle -- sf:light-DzVHIIc(org.jetbrains.jewel.ui.component.styling.SelectableLazyColumnStyle$Companion,F,org.jetbrains.jewel.ui.component.styling.SimpleListItemColors,org.jetbrains.jewel.ui.component.styling.SimpleListItemMetrics,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.SelectableLazyColumnStyle +- sf:dark-ziNgDLE(org.jetbrains.jewel.ui.component.styling.SelectableLazyColumnStyle$Companion,F,org.jetbrains.jewel.ui.component.styling.SimpleListItemColors,org.jetbrains.jewel.ui.component.styling.SimpleListItemMetrics):org.jetbrains.jewel.ui.component.styling.SelectableLazyColumnStyle +- bs:dark-ziNgDLE$default(org.jetbrains.jewel.ui.component.styling.SelectableLazyColumnStyle$Companion,F,org.jetbrains.jewel.ui.component.styling.SimpleListItemColors,org.jetbrains.jewel.ui.component.styling.SimpleListItemMetrics,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.SelectableLazyColumnStyle +- sf:light-ziNgDLE(org.jetbrains.jewel.ui.component.styling.SelectableLazyColumnStyle$Companion,F,org.jetbrains.jewel.ui.component.styling.SimpleListItemColors,org.jetbrains.jewel.ui.component.styling.SimpleListItemMetrics):org.jetbrains.jewel.ui.component.styling.SelectableLazyColumnStyle +- bs:light-ziNgDLE$default(org.jetbrains.jewel.ui.component.styling.SelectableLazyColumnStyle$Companion,F,org.jetbrains.jewel.ui.component.styling.SimpleListItemColors,org.jetbrains.jewel.ui.component.styling.SimpleListItemMetrics,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.SelectableLazyColumnStyle f:org.jetbrains.jewel.intui.standalone.styling.IntUiSimpleListItemStylingKt - sf:dark(org.jetbrains.jewel.ui.component.styling.SimpleListItemStyle$Companion,org.jetbrains.jewel.ui.component.styling.SimpleListItemColors,org.jetbrains.jewel.ui.component.styling.SimpleListItemMetrics):org.jetbrains.jewel.ui.component.styling.SimpleListItemStyle - bs:dark$default(org.jetbrains.jewel.ui.component.styling.SimpleListItemStyle$Companion,org.jetbrains.jewel.ui.component.styling.SimpleListItemColors,org.jetbrains.jewel.ui.component.styling.SimpleListItemMetrics,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.SimpleListItemStyle @@ -382,19 +479,26 @@ f:org.jetbrains.jewel.intui.standalone.styling.IntUiSimpleListItemStylingKt - sf:lightFullWidth(org.jetbrains.jewel.ui.component.styling.SimpleListItemStyle$Companion,org.jetbrains.jewel.ui.component.styling.SimpleListItemColors,org.jetbrains.jewel.ui.component.styling.SimpleListItemMetrics):org.jetbrains.jewel.ui.component.styling.SimpleListItemStyle - bs:lightFullWidth$default(org.jetbrains.jewel.ui.component.styling.SimpleListItemStyle$Companion,org.jetbrains.jewel.ui.component.styling.SimpleListItemColors,org.jetbrains.jewel.ui.component.styling.SimpleListItemMetrics,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.SimpleListItemStyle f:org.jetbrains.jewel.intui.standalone.styling.IntUiSliderStylingKt -- sf:dark(org.jetbrains.jewel.ui.component.styling.SliderStyle$Companion,org.jetbrains.jewel.ui.component.styling.SliderColors,org.jetbrains.jewel.ui.component.styling.SliderMetrics,androidx.compose.ui.graphics.Shape,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.SliderStyle -- sf:dark-8v1krLo(org.jetbrains.jewel.ui.component.styling.SliderColors$Companion,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,androidx.compose.runtime.Composer,I,I,I):org.jetbrains.jewel.ui.component.styling.SliderColors -- sf:defaults-nDjVmYc(org.jetbrains.jewel.ui.component.styling.SliderMetrics$Companion,F,J,F,F,F,F,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.SliderMetrics -- sf:light(org.jetbrains.jewel.ui.component.styling.SliderStyle$Companion,org.jetbrains.jewel.ui.component.styling.SliderColors,org.jetbrains.jewel.ui.component.styling.SliderMetrics,androidx.compose.ui.graphics.Shape,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.SliderStyle -- sf:light-8v1krLo(org.jetbrains.jewel.ui.component.styling.SliderColors$Companion,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,androidx.compose.runtime.Composer,I,I,I):org.jetbrains.jewel.ui.component.styling.SliderColors +- sf:dark(org.jetbrains.jewel.ui.component.styling.SliderStyle$Companion,org.jetbrains.jewel.ui.component.styling.SliderColors,org.jetbrains.jewel.ui.component.styling.SliderMetrics,androidx.compose.ui.graphics.Shape):org.jetbrains.jewel.ui.component.styling.SliderStyle +- bs:dark$default(org.jetbrains.jewel.ui.component.styling.SliderStyle$Companion,org.jetbrains.jewel.ui.component.styling.SliderColors,org.jetbrains.jewel.ui.component.styling.SliderMetrics,androidx.compose.ui.graphics.Shape,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.SliderStyle +- sf:dark-7HESe_I(org.jetbrains.jewel.ui.component.styling.SliderColors$Companion,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J):org.jetbrains.jewel.ui.component.styling.SliderColors +- bs:dark-7HESe_I$default(org.jetbrains.jewel.ui.component.styling.SliderColors$Companion,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.SliderColors +- sf:defaults-IDSuZpE(org.jetbrains.jewel.ui.component.styling.SliderMetrics$Companion,F,J,F,F,F,F):org.jetbrains.jewel.ui.component.styling.SliderMetrics +- bs:defaults-IDSuZpE$default(org.jetbrains.jewel.ui.component.styling.SliderMetrics$Companion,F,J,F,F,F,F,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.SliderMetrics +- sf:light(org.jetbrains.jewel.ui.component.styling.SliderStyle$Companion,org.jetbrains.jewel.ui.component.styling.SliderColors,org.jetbrains.jewel.ui.component.styling.SliderMetrics,androidx.compose.ui.graphics.Shape):org.jetbrains.jewel.ui.component.styling.SliderStyle +- bs:light$default(org.jetbrains.jewel.ui.component.styling.SliderStyle$Companion,org.jetbrains.jewel.ui.component.styling.SliderColors,org.jetbrains.jewel.ui.component.styling.SliderMetrics,androidx.compose.ui.graphics.Shape,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.SliderStyle +- sf:light-7HESe_I(org.jetbrains.jewel.ui.component.styling.SliderColors$Companion,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J):org.jetbrains.jewel.ui.component.styling.SliderColors +- bs:light-7HESe_I$default(org.jetbrains.jewel.ui.component.styling.SliderColors$Companion,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.SliderColors f:org.jetbrains.jewel.intui.standalone.styling.IntUiSplitButtonStylingKt - sf:getDefault(org.jetbrains.jewel.ui.component.styling.SplitButtonStyle$Companion):org.jetbrains.jewel.intui.standalone.styling.IntUiDefaultSplitButtonStyleFactory - sf:getOutlined(org.jetbrains.jewel.ui.component.styling.SplitButtonStyle$Companion):org.jetbrains.jewel.intui.standalone.styling.IntUiOutlinedSplitButtonStyleFactory f:org.jetbrains.jewel.intui.standalone.styling.IntUiSuccessBannerColorFactory - sf:$stable:I - sf:INSTANCE:org.jetbrains.jewel.intui.standalone.styling.IntUiSuccessBannerColorFactory -- f:dark-dgg9oW8(J,J,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.BannerColors -- f:light-dgg9oW8(J,J,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.BannerColors +- f:dark--OWjLjI(J,J):org.jetbrains.jewel.ui.component.styling.BannerColors +- bs:dark--OWjLjI$default(org.jetbrains.jewel.intui.standalone.styling.IntUiSuccessBannerColorFactory,J,J,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.BannerColors +- f:light--OWjLjI(J,J):org.jetbrains.jewel.ui.component.styling.BannerColors +- bs:light--OWjLjI$default(org.jetbrains.jewel.intui.standalone.styling.IntUiSuccessBannerColorFactory,J,J,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.BannerColors f:org.jetbrains.jewel.intui.standalone.styling.IntUiTabStripScrollbarStylingKt - sf:tabStrip-ziNgDLE(org.jetbrains.jewel.ui.component.styling.ScrollbarVisibility$AlwaysVisible$Companion,F,androidx.compose.foundation.layout.PaddingValues,androidx.compose.foundation.layout.PaddingValues):org.jetbrains.jewel.ui.component.styling.ScrollbarVisibility$AlwaysVisible - bs:tabStrip-ziNgDLE$default(org.jetbrains.jewel.ui.component.styling.ScrollbarVisibility$AlwaysVisible$Companion,F,androidx.compose.foundation.layout.PaddingValues,androidx.compose.foundation.layout.PaddingValues,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.ScrollbarVisibility$AlwaysVisible @@ -426,49 +530,71 @@ f:org.jetbrains.jewel.intui.standalone.styling.IntUiTabStylingKt - sf:getEditor(org.jetbrains.jewel.ui.component.styling.TabColors$Companion):org.jetbrains.jewel.intui.standalone.styling.IntUiEditorTabColorsFactory - sf:getEditor(org.jetbrains.jewel.ui.component.styling.TabStyle$Companion):org.jetbrains.jewel.intui.standalone.styling.IntUiEditorTabStyleFactory f:org.jetbrains.jewel.intui.standalone.styling.IntUiTextAreaStylingKt -- sf:dark(org.jetbrains.jewel.ui.component.styling.TextAreaStyle$Companion,org.jetbrains.jewel.ui.component.styling.TextAreaColors,org.jetbrains.jewel.ui.component.styling.TextAreaMetrics,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.TextAreaStyle -- sf:dark-a3tHFA8(org.jetbrains.jewel.ui.component.styling.TextAreaColors$Companion,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,androidx.compose.runtime.Composer,I,I,I,I):org.jetbrains.jewel.ui.component.styling.TextAreaColors +- sf:dark(org.jetbrains.jewel.ui.component.styling.TextAreaStyle$Companion,org.jetbrains.jewel.ui.component.styling.TextAreaColors,org.jetbrains.jewel.ui.component.styling.TextAreaMetrics):org.jetbrains.jewel.ui.component.styling.TextAreaStyle +- bs:dark$default(org.jetbrains.jewel.ui.component.styling.TextAreaStyle$Companion,org.jetbrains.jewel.ui.component.styling.TextAreaColors,org.jetbrains.jewel.ui.component.styling.TextAreaMetrics,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.TextAreaStyle +- sf:dark-1LmPkY4(org.jetbrains.jewel.ui.component.styling.TextAreaColors$Companion,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J):org.jetbrains.jewel.ui.component.styling.TextAreaColors +- bs:dark-1LmPkY4$default(org.jetbrains.jewel.ui.component.styling.TextAreaColors$Companion,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.TextAreaColors - sf:defaults-H1KY9o8(org.jetbrains.jewel.ui.component.styling.TextAreaMetrics$Companion,androidx.compose.foundation.shape.CornerSize,androidx.compose.foundation.layout.PaddingValues,J,F):org.jetbrains.jewel.ui.component.styling.TextAreaMetrics - bs:defaults-H1KY9o8$default(org.jetbrains.jewel.ui.component.styling.TextAreaMetrics$Companion,androidx.compose.foundation.shape.CornerSize,androidx.compose.foundation.layout.PaddingValues,J,F,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.TextAreaMetrics -- sf:light(org.jetbrains.jewel.ui.component.styling.TextAreaStyle$Companion,org.jetbrains.jewel.ui.component.styling.TextAreaColors,org.jetbrains.jewel.ui.component.styling.TextAreaMetrics,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.TextAreaStyle -- sf:light-a3tHFA8(org.jetbrains.jewel.ui.component.styling.TextAreaColors$Companion,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,androidx.compose.runtime.Composer,I,I,I,I):org.jetbrains.jewel.ui.component.styling.TextAreaColors +- sf:light(org.jetbrains.jewel.ui.component.styling.TextAreaStyle$Companion,org.jetbrains.jewel.ui.component.styling.TextAreaColors,org.jetbrains.jewel.ui.component.styling.TextAreaMetrics):org.jetbrains.jewel.ui.component.styling.TextAreaStyle +- bs:light$default(org.jetbrains.jewel.ui.component.styling.TextAreaStyle$Companion,org.jetbrains.jewel.ui.component.styling.TextAreaColors,org.jetbrains.jewel.ui.component.styling.TextAreaMetrics,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.TextAreaStyle +- sf:light-1LmPkY4(org.jetbrains.jewel.ui.component.styling.TextAreaColors$Companion,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J):org.jetbrains.jewel.ui.component.styling.TextAreaColors +- bs:light-1LmPkY4$default(org.jetbrains.jewel.ui.component.styling.TextAreaColors$Companion,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.TextAreaColors f:org.jetbrains.jewel.intui.standalone.styling.IntUiTextFieldStylingKt -- sf:dark(org.jetbrains.jewel.ui.component.styling.TextFieldStyle$Companion,org.jetbrains.jewel.ui.component.styling.TextFieldColors,org.jetbrains.jewel.ui.component.styling.TextFieldMetrics,org.jetbrains.jewel.ui.component.styling.IconButtonStyle,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.TextFieldStyle -- sf:dark-a3tHFA8(org.jetbrains.jewel.ui.component.styling.TextFieldColors$Companion,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,androidx.compose.runtime.Composer,I,I,I,I):org.jetbrains.jewel.ui.component.styling.TextFieldColors +- sf:dark(org.jetbrains.jewel.ui.component.styling.TextFieldStyle$Companion,org.jetbrains.jewel.ui.component.styling.TextFieldColors,org.jetbrains.jewel.ui.component.styling.TextFieldMetrics,org.jetbrains.jewel.ui.component.styling.IconButtonStyle):org.jetbrains.jewel.ui.component.styling.TextFieldStyle +- bs:dark$default(org.jetbrains.jewel.ui.component.styling.TextFieldStyle$Companion,org.jetbrains.jewel.ui.component.styling.TextFieldColors,org.jetbrains.jewel.ui.component.styling.TextFieldMetrics,org.jetbrains.jewel.ui.component.styling.IconButtonStyle,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.TextFieldStyle +- sf:dark-1LmPkY4(org.jetbrains.jewel.ui.component.styling.TextFieldColors$Companion,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J):org.jetbrains.jewel.ui.component.styling.TextFieldColors +- bs:dark-1LmPkY4$default(org.jetbrains.jewel.ui.component.styling.TextFieldColors$Companion,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.TextFieldColors - sf:defaults-H1KY9o8(org.jetbrains.jewel.ui.component.styling.TextFieldMetrics$Companion,androidx.compose.foundation.shape.CornerSize,androidx.compose.foundation.layout.PaddingValues,J,F):org.jetbrains.jewel.ui.component.styling.TextFieldMetrics - bs:defaults-H1KY9o8$default(org.jetbrains.jewel.ui.component.styling.TextFieldMetrics$Companion,androidx.compose.foundation.shape.CornerSize,androidx.compose.foundation.layout.PaddingValues,J,F,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.TextFieldMetrics -- sf:light(org.jetbrains.jewel.ui.component.styling.TextFieldStyle$Companion,org.jetbrains.jewel.ui.component.styling.TextFieldColors,org.jetbrains.jewel.ui.component.styling.TextFieldMetrics,org.jetbrains.jewel.ui.component.styling.IconButtonStyle,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.TextFieldStyle -- sf:light-a3tHFA8(org.jetbrains.jewel.ui.component.styling.TextFieldColors$Companion,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,androidx.compose.runtime.Composer,I,I,I,I):org.jetbrains.jewel.ui.component.styling.TextFieldColors +- sf:light(org.jetbrains.jewel.ui.component.styling.TextFieldStyle$Companion,org.jetbrains.jewel.ui.component.styling.TextFieldColors,org.jetbrains.jewel.ui.component.styling.TextFieldMetrics,org.jetbrains.jewel.ui.component.styling.IconButtonStyle):org.jetbrains.jewel.ui.component.styling.TextFieldStyle +- bs:light$default(org.jetbrains.jewel.ui.component.styling.TextFieldStyle$Companion,org.jetbrains.jewel.ui.component.styling.TextFieldColors,org.jetbrains.jewel.ui.component.styling.TextFieldMetrics,org.jetbrains.jewel.ui.component.styling.IconButtonStyle,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.TextFieldStyle +- sf:light-1LmPkY4(org.jetbrains.jewel.ui.component.styling.TextFieldColors$Companion,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J):org.jetbrains.jewel.ui.component.styling.TextFieldColors +- bs:light-1LmPkY4$default(org.jetbrains.jewel.ui.component.styling.TextFieldColors$Companion,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.TextFieldColors f:org.jetbrains.jewel.intui.standalone.styling.IntUiTooltipStylingKt -- sf:dark(org.jetbrains.jewel.ui.component.styling.TooltipStyle$Companion,org.jetbrains.jewel.ui.component.styling.TooltipColors,org.jetbrains.jewel.ui.component.styling.TooltipMetrics,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.TooltipStyle -- sf:dark-zf8z9n0(org.jetbrains.jewel.ui.component.styling.TooltipColors$Companion,J,J,J,J,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.TooltipColors -- sf:light(org.jetbrains.jewel.ui.component.styling.TooltipStyle$Companion,org.jetbrains.jewel.ui.component.styling.TooltipColors,org.jetbrains.jewel.ui.component.styling.TooltipMetrics,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.TooltipStyle -- sf:light-zf8z9n0(org.jetbrains.jewel.ui.component.styling.TooltipColors$Companion,J,J,J,J,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.TooltipColors +- sf:dark(org.jetbrains.jewel.ui.component.styling.TooltipStyle$Companion,org.jetbrains.jewel.ui.component.styling.TooltipColors,org.jetbrains.jewel.ui.component.styling.TooltipMetrics):org.jetbrains.jewel.ui.component.styling.TooltipStyle +- bs:dark$default(org.jetbrains.jewel.ui.component.styling.TooltipStyle$Companion,org.jetbrains.jewel.ui.component.styling.TooltipColors,org.jetbrains.jewel.ui.component.styling.TooltipMetrics,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.TooltipStyle +- sf:dark--hDc7uY(org.jetbrains.jewel.ui.component.styling.TooltipColors$Companion,J,J,J,J):org.jetbrains.jewel.ui.component.styling.TooltipColors +- bs:dark--hDc7uY$default(org.jetbrains.jewel.ui.component.styling.TooltipColors$Companion,J,J,J,J,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.TooltipColors +- sf:light(org.jetbrains.jewel.ui.component.styling.TooltipStyle$Companion,org.jetbrains.jewel.ui.component.styling.TooltipColors,org.jetbrains.jewel.ui.component.styling.TooltipMetrics):org.jetbrains.jewel.ui.component.styling.TooltipStyle +- bs:light$default(org.jetbrains.jewel.ui.component.styling.TooltipStyle$Companion,org.jetbrains.jewel.ui.component.styling.TooltipColors,org.jetbrains.jewel.ui.component.styling.TooltipMetrics,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.TooltipStyle +- sf:light--hDc7uY(org.jetbrains.jewel.ui.component.styling.TooltipColors$Companion,J,J,J,J):org.jetbrains.jewel.ui.component.styling.TooltipColors +- bs:light--hDc7uY$default(org.jetbrains.jewel.ui.component.styling.TooltipColors$Companion,J,J,J,J,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.TooltipColors f:org.jetbrains.jewel.intui.standalone.styling.IntUiUndecoratedComboBoxColorsFactory - sf:$stable:I - sf:INSTANCE:org.jetbrains.jewel.intui.standalone.styling.IntUiUndecoratedComboBoxColorsFactory -- f:dark-HlaysQ4(J,J,J,J,J,J,J,J,J,J,J,androidx.compose.runtime.Composer,I,I,I):org.jetbrains.jewel.ui.component.styling.ComboBoxColors -- f:light-HlaysQ4(J,J,J,J,J,J,J,J,J,J,J,androidx.compose.runtime.Composer,I,I,I):org.jetbrains.jewel.ui.component.styling.ComboBoxColors +- f:dark-KpyCeHw(J,J,J,J,J,J,J,J,J,J,J):org.jetbrains.jewel.ui.component.styling.ComboBoxColors +- bs:dark-KpyCeHw$default(org.jetbrains.jewel.intui.standalone.styling.IntUiUndecoratedComboBoxColorsFactory,J,J,J,J,J,J,J,J,J,J,J,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.ComboBoxColors +- f:light-KpyCeHw(J,J,J,J,J,J,J,J,J,J,J):org.jetbrains.jewel.ui.component.styling.ComboBoxColors +- bs:light-KpyCeHw$default(org.jetbrains.jewel.intui.standalone.styling.IntUiUndecoratedComboBoxColorsFactory,J,J,J,J,J,J,J,J,J,J,J,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.ComboBoxColors f:org.jetbrains.jewel.intui.standalone.styling.IntUiUndecoratedComboBoxStyleFactory - sf:$stable:I - sf:INSTANCE:org.jetbrains.jewel.intui.standalone.styling.IntUiUndecoratedComboBoxStyleFactory -- f:dark(org.jetbrains.jewel.ui.component.styling.ComboBoxColors,org.jetbrains.jewel.ui.component.styling.ComboBoxMetrics,org.jetbrains.jewel.ui.component.styling.ComboBoxIcons,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.ComboBoxStyle -- f:light(org.jetbrains.jewel.ui.component.styling.ComboBoxColors,org.jetbrains.jewel.ui.component.styling.ComboBoxMetrics,org.jetbrains.jewel.ui.component.styling.ComboBoxIcons,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.ComboBoxStyle +- f:dark(org.jetbrains.jewel.ui.component.styling.ComboBoxColors,org.jetbrains.jewel.ui.component.styling.ComboBoxMetrics,org.jetbrains.jewel.ui.component.styling.ComboBoxIcons):org.jetbrains.jewel.ui.component.styling.ComboBoxStyle +- bs:dark$default(org.jetbrains.jewel.intui.standalone.styling.IntUiUndecoratedComboBoxStyleFactory,org.jetbrains.jewel.ui.component.styling.ComboBoxColors,org.jetbrains.jewel.ui.component.styling.ComboBoxMetrics,org.jetbrains.jewel.ui.component.styling.ComboBoxIcons,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.ComboBoxStyle +- f:light(org.jetbrains.jewel.ui.component.styling.ComboBoxColors,org.jetbrains.jewel.ui.component.styling.ComboBoxMetrics,org.jetbrains.jewel.ui.component.styling.ComboBoxIcons):org.jetbrains.jewel.ui.component.styling.ComboBoxStyle +- bs:light$default(org.jetbrains.jewel.intui.standalone.styling.IntUiUndecoratedComboBoxStyleFactory,org.jetbrains.jewel.ui.component.styling.ComboBoxColors,org.jetbrains.jewel.ui.component.styling.ComboBoxMetrics,org.jetbrains.jewel.ui.component.styling.ComboBoxIcons,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.ComboBoxStyle f:org.jetbrains.jewel.intui.standalone.styling.IntUiUndecoratedDropdownColorsFactory - sf:$stable:I - sf:INSTANCE:org.jetbrains.jewel.intui.standalone.styling.IntUiUndecoratedDropdownColorsFactory -- f:dark-0ik9mME(J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,androidx.compose.runtime.Composer,I,I,I):org.jetbrains.jewel.ui.component.styling.DropdownColors -- f:light-0ik9mME(J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,androidx.compose.runtime.Composer,I,I,I):org.jetbrains.jewel.ui.component.styling.DropdownColors +- f:dark-sQnm1Ko(J,J,J,J,J,J,J,J,J,J,J,J,J,J,J):org.jetbrains.jewel.ui.component.styling.DropdownColors +- bs:dark-sQnm1Ko$default(org.jetbrains.jewel.intui.standalone.styling.IntUiUndecoratedDropdownColorsFactory,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.DropdownColors +- f:light-sQnm1Ko(J,J,J,J,J,J,J,J,J,J,J,J,J,J,J):org.jetbrains.jewel.ui.component.styling.DropdownColors +- bs:light-sQnm1Ko$default(org.jetbrains.jewel.intui.standalone.styling.IntUiUndecoratedDropdownColorsFactory,J,J,J,J,J,J,J,J,J,J,J,J,J,J,J,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.DropdownColors f:org.jetbrains.jewel.intui.standalone.styling.IntUiUndecoratedDropdownStyleFactory - sf:$stable:I - sf:INSTANCE:org.jetbrains.jewel.intui.standalone.styling.IntUiUndecoratedDropdownStyleFactory -- f:dark(org.jetbrains.jewel.ui.component.styling.DropdownColors,org.jetbrains.jewel.ui.component.styling.DropdownMetrics,org.jetbrains.jewel.ui.component.styling.DropdownIcons,org.jetbrains.jewel.ui.component.styling.MenuStyle,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.DropdownStyle -- f:light(org.jetbrains.jewel.ui.component.styling.DropdownColors,org.jetbrains.jewel.ui.component.styling.DropdownMetrics,org.jetbrains.jewel.ui.component.styling.DropdownIcons,org.jetbrains.jewel.ui.component.styling.MenuStyle,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.DropdownStyle +- f:dark(org.jetbrains.jewel.ui.component.styling.DropdownColors,org.jetbrains.jewel.ui.component.styling.DropdownMetrics,org.jetbrains.jewel.ui.component.styling.DropdownIcons,org.jetbrains.jewel.ui.component.styling.MenuStyle):org.jetbrains.jewel.ui.component.styling.DropdownStyle +- bs:dark$default(org.jetbrains.jewel.intui.standalone.styling.IntUiUndecoratedDropdownStyleFactory,org.jetbrains.jewel.ui.component.styling.DropdownColors,org.jetbrains.jewel.ui.component.styling.DropdownMetrics,org.jetbrains.jewel.ui.component.styling.DropdownIcons,org.jetbrains.jewel.ui.component.styling.MenuStyle,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.DropdownStyle +- f:light(org.jetbrains.jewel.ui.component.styling.DropdownColors,org.jetbrains.jewel.ui.component.styling.DropdownMetrics,org.jetbrains.jewel.ui.component.styling.DropdownIcons,org.jetbrains.jewel.ui.component.styling.MenuStyle):org.jetbrains.jewel.ui.component.styling.DropdownStyle +- bs:light$default(org.jetbrains.jewel.intui.standalone.styling.IntUiUndecoratedDropdownStyleFactory,org.jetbrains.jewel.ui.component.styling.DropdownColors,org.jetbrains.jewel.ui.component.styling.DropdownMetrics,org.jetbrains.jewel.ui.component.styling.DropdownIcons,org.jetbrains.jewel.ui.component.styling.MenuStyle,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.DropdownStyle f:org.jetbrains.jewel.intui.standalone.styling.IntUiWarningBannerColorFactory - sf:$stable:I - sf:INSTANCE:org.jetbrains.jewel.intui.standalone.styling.IntUiWarningBannerColorFactory -- f:dark-dgg9oW8(J,J,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.BannerColors -- f:light-dgg9oW8(J,J,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.ui.component.styling.BannerColors +- f:dark--OWjLjI(J,J):org.jetbrains.jewel.ui.component.styling.BannerColors +- bs:dark--OWjLjI$default(org.jetbrains.jewel.intui.standalone.styling.IntUiWarningBannerColorFactory,J,J,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.BannerColors +- f:light--OWjLjI(J,J):org.jetbrains.jewel.ui.component.styling.BannerColors +- bs:light--OWjLjI$default(org.jetbrains.jewel.intui.standalone.styling.IntUiWarningBannerColorFactory,J,J,I,java.lang.Object):org.jetbrains.jewel.ui.component.styling.BannerColors f:org.jetbrains.jewel.intui.standalone.theme.IntUiGlobalColorsKt - sf:dark-jdqzblg(org.jetbrains.jewel.foundation.OutlineColors$Companion,J,J,J,J,J):org.jetbrains.jewel.foundation.OutlineColors - sf:dark-jdqzblg(org.jetbrains.jewel.foundation.TextColors$Companion,J,J,J,J,J):org.jetbrains.jewel.foundation.TextColors @@ -492,11 +618,15 @@ f:org.jetbrains.jewel.intui.standalone.theme.IntUiGlobalMetricsKt f:org.jetbrains.jewel.intui.standalone.theme.IntUiThemeKt - sf:IntUiTheme(org.jetbrains.jewel.foundation.theme.ThemeDefinition,org.jetbrains.jewel.ui.ComponentStyling,Z,kotlin.jvm.functions.Function2,androidx.compose.runtime.Composer,I,I):V - sf:IntUiTheme(Z,Z,kotlin.jvm.functions.Function2,androidx.compose.runtime.Composer,I,I):V -- sf:dark(org.jetbrains.jewel.ui.ComponentStyling,org.jetbrains.jewel.ui.component.styling.CheckboxStyle,org.jetbrains.jewel.ui.component.styling.ChipStyle,org.jetbrains.jewel.ui.component.styling.CircularProgressStyle,org.jetbrains.jewel.ui.component.styling.DefaultBannerStyles,org.jetbrains.jewel.ui.component.styling.ComboBoxStyle,org.jetbrains.jewel.ui.component.styling.ButtonStyle,org.jetbrains.jewel.ui.component.styling.SplitButtonStyle,org.jetbrains.jewel.ui.component.styling.TabStyle,org.jetbrains.jewel.ui.component.styling.DividerStyle,org.jetbrains.jewel.ui.component.styling.DropdownStyle,org.jetbrains.jewel.ui.component.styling.TabStyle,org.jetbrains.jewel.ui.component.styling.GroupHeaderStyle,org.jetbrains.jewel.ui.component.styling.HorizontalProgressBarStyle,org.jetbrains.jewel.ui.component.styling.IconButtonStyle,org.jetbrains.jewel.ui.component.styling.InlineBannerStyles,org.jetbrains.jewel.ui.component.styling.LazyTreeStyle,org.jetbrains.jewel.ui.component.styling.LinkStyle,org.jetbrains.jewel.ui.component.styling.MenuStyle,org.jetbrains.jewel.ui.component.styling.ButtonStyle,org.jetbrains.jewel.ui.component.styling.PopupContainerStyle,org.jetbrains.jewel.ui.component.styling.SplitButtonStyle,org.jetbrains.jewel.ui.component.styling.RadioButtonStyle,org.jetbrains.jewel.ui.component.styling.ScrollbarStyle,org.jetbrains.jewel.ui.component.styling.SegmentedControlButtonStyle,org.jetbrains.jewel.ui.component.styling.SegmentedControlStyle,org.jetbrains.jewel.ui.component.styling.SelectableLazyColumnStyle,org.jetbrains.jewel.ui.component.styling.SliderStyle,org.jetbrains.jewel.ui.component.styling.SimpleListItemStyle,org.jetbrains.jewel.ui.component.styling.TextAreaStyle,org.jetbrains.jewel.ui.component.styling.TextFieldStyle,org.jetbrains.jewel.ui.component.styling.TooltipStyle,org.jetbrains.jewel.ui.component.styling.DropdownStyle,androidx.compose.runtime.Composer,I,I,I,I,I,I):org.jetbrains.jewel.ui.ComponentStyling -- sf:darkThemeDefinition-VRxQTpk(org.jetbrains.jewel.foundation.theme.JewelTheme$Companion,org.jetbrains.jewel.foundation.GlobalColors,org.jetbrains.jewel.foundation.GlobalMetrics,org.jetbrains.jewel.foundation.theme.ThemeColorPalette,org.jetbrains.jewel.foundation.theme.ThemeIconData,androidx.compose.ui.text.TextStyle,androidx.compose.ui.text.TextStyle,androidx.compose.ui.text.TextStyle,J,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.foundation.theme.ThemeDefinition +- sf:dark(org.jetbrains.jewel.ui.ComponentStyling,org.jetbrains.jewel.ui.component.styling.CheckboxStyle,org.jetbrains.jewel.ui.component.styling.ChipStyle,org.jetbrains.jewel.ui.component.styling.CircularProgressStyle,org.jetbrains.jewel.ui.component.styling.DefaultBannerStyles,org.jetbrains.jewel.ui.component.styling.ComboBoxStyle,org.jetbrains.jewel.ui.component.styling.ButtonStyle,org.jetbrains.jewel.ui.component.styling.SplitButtonStyle,org.jetbrains.jewel.ui.component.styling.TabStyle,org.jetbrains.jewel.ui.component.styling.DividerStyle,org.jetbrains.jewel.ui.component.styling.DropdownStyle,org.jetbrains.jewel.ui.component.styling.TabStyle,org.jetbrains.jewel.ui.component.styling.GroupHeaderStyle,org.jetbrains.jewel.ui.component.styling.HorizontalProgressBarStyle,org.jetbrains.jewel.ui.component.styling.IconButtonStyle,org.jetbrains.jewel.ui.component.styling.InlineBannerStyles,org.jetbrains.jewel.ui.component.styling.LazyTreeStyle,org.jetbrains.jewel.ui.component.styling.LinkStyle,org.jetbrains.jewel.ui.component.styling.MenuStyle,org.jetbrains.jewel.ui.component.styling.ButtonStyle,org.jetbrains.jewel.ui.component.styling.PopupContainerStyle,org.jetbrains.jewel.ui.component.styling.SplitButtonStyle,org.jetbrains.jewel.ui.component.styling.RadioButtonStyle,org.jetbrains.jewel.ui.component.styling.ScrollbarStyle,org.jetbrains.jewel.ui.component.styling.SegmentedControlButtonStyle,org.jetbrains.jewel.ui.component.styling.SegmentedControlStyle,org.jetbrains.jewel.ui.component.styling.SelectableLazyColumnStyle,org.jetbrains.jewel.ui.component.styling.SliderStyle,org.jetbrains.jewel.ui.component.styling.SimpleListItemStyle,org.jetbrains.jewel.ui.component.styling.TextAreaStyle,org.jetbrains.jewel.ui.component.styling.TextFieldStyle,org.jetbrains.jewel.ui.component.styling.TooltipStyle,org.jetbrains.jewel.ui.component.styling.DropdownStyle):org.jetbrains.jewel.ui.ComponentStyling +- bs:dark$default(org.jetbrains.jewel.ui.ComponentStyling,org.jetbrains.jewel.ui.component.styling.CheckboxStyle,org.jetbrains.jewel.ui.component.styling.ChipStyle,org.jetbrains.jewel.ui.component.styling.CircularProgressStyle,org.jetbrains.jewel.ui.component.styling.DefaultBannerStyles,org.jetbrains.jewel.ui.component.styling.ComboBoxStyle,org.jetbrains.jewel.ui.component.styling.ButtonStyle,org.jetbrains.jewel.ui.component.styling.SplitButtonStyle,org.jetbrains.jewel.ui.component.styling.TabStyle,org.jetbrains.jewel.ui.component.styling.DividerStyle,org.jetbrains.jewel.ui.component.styling.DropdownStyle,org.jetbrains.jewel.ui.component.styling.TabStyle,org.jetbrains.jewel.ui.component.styling.GroupHeaderStyle,org.jetbrains.jewel.ui.component.styling.HorizontalProgressBarStyle,org.jetbrains.jewel.ui.component.styling.IconButtonStyle,org.jetbrains.jewel.ui.component.styling.InlineBannerStyles,org.jetbrains.jewel.ui.component.styling.LazyTreeStyle,org.jetbrains.jewel.ui.component.styling.LinkStyle,org.jetbrains.jewel.ui.component.styling.MenuStyle,org.jetbrains.jewel.ui.component.styling.ButtonStyle,org.jetbrains.jewel.ui.component.styling.PopupContainerStyle,org.jetbrains.jewel.ui.component.styling.SplitButtonStyle,org.jetbrains.jewel.ui.component.styling.RadioButtonStyle,org.jetbrains.jewel.ui.component.styling.ScrollbarStyle,org.jetbrains.jewel.ui.component.styling.SegmentedControlButtonStyle,org.jetbrains.jewel.ui.component.styling.SegmentedControlStyle,org.jetbrains.jewel.ui.component.styling.SelectableLazyColumnStyle,org.jetbrains.jewel.ui.component.styling.SliderStyle,org.jetbrains.jewel.ui.component.styling.SimpleListItemStyle,org.jetbrains.jewel.ui.component.styling.TextAreaStyle,org.jetbrains.jewel.ui.component.styling.TextFieldStyle,org.jetbrains.jewel.ui.component.styling.TooltipStyle,org.jetbrains.jewel.ui.component.styling.DropdownStyle,I,java.lang.Object):org.jetbrains.jewel.ui.ComponentStyling +- sf:darkThemeDefinition-aKPr-nQ(org.jetbrains.jewel.foundation.theme.JewelTheme$Companion,org.jetbrains.jewel.foundation.GlobalColors,org.jetbrains.jewel.foundation.GlobalMetrics,org.jetbrains.jewel.foundation.theme.ThemeColorPalette,org.jetbrains.jewel.foundation.theme.ThemeIconData,androidx.compose.ui.text.TextStyle,androidx.compose.ui.text.TextStyle,androidx.compose.ui.text.TextStyle,J):org.jetbrains.jewel.foundation.theme.ThemeDefinition +- bs:darkThemeDefinition-aKPr-nQ$default(org.jetbrains.jewel.foundation.theme.JewelTheme$Companion,org.jetbrains.jewel.foundation.GlobalColors,org.jetbrains.jewel.foundation.GlobalMetrics,org.jetbrains.jewel.foundation.theme.ThemeColorPalette,org.jetbrains.jewel.foundation.theme.ThemeIconData,androidx.compose.ui.text.TextStyle,androidx.compose.ui.text.TextStyle,androidx.compose.ui.text.TextStyle,J,I,java.lang.Object):org.jetbrains.jewel.foundation.theme.ThemeDefinition - sf:default(org.jetbrains.jewel.ui.ComponentStyling,androidx.compose.runtime.Composer,I):org.jetbrains.jewel.ui.ComponentStyling -- sf:light(org.jetbrains.jewel.ui.ComponentStyling,org.jetbrains.jewel.ui.component.styling.CheckboxStyle,org.jetbrains.jewel.ui.component.styling.ChipStyle,org.jetbrains.jewel.ui.component.styling.CircularProgressStyle,org.jetbrains.jewel.ui.component.styling.DefaultBannerStyles,org.jetbrains.jewel.ui.component.styling.ComboBoxStyle,org.jetbrains.jewel.ui.component.styling.ButtonStyle,org.jetbrains.jewel.ui.component.styling.SplitButtonStyle,org.jetbrains.jewel.ui.component.styling.TabStyle,org.jetbrains.jewel.ui.component.styling.DividerStyle,org.jetbrains.jewel.ui.component.styling.DropdownStyle,org.jetbrains.jewel.ui.component.styling.TabStyle,org.jetbrains.jewel.ui.component.styling.GroupHeaderStyle,org.jetbrains.jewel.ui.component.styling.HorizontalProgressBarStyle,org.jetbrains.jewel.ui.component.styling.IconButtonStyle,org.jetbrains.jewel.ui.component.styling.InlineBannerStyles,org.jetbrains.jewel.ui.component.styling.LazyTreeStyle,org.jetbrains.jewel.ui.component.styling.LinkStyle,org.jetbrains.jewel.ui.component.styling.MenuStyle,org.jetbrains.jewel.ui.component.styling.PopupContainerStyle,org.jetbrains.jewel.ui.component.styling.ButtonStyle,org.jetbrains.jewel.ui.component.styling.SplitButtonStyle,org.jetbrains.jewel.ui.component.styling.RadioButtonStyle,org.jetbrains.jewel.ui.component.styling.ScrollbarStyle,org.jetbrains.jewel.ui.component.styling.SegmentedControlButtonStyle,org.jetbrains.jewel.ui.component.styling.SegmentedControlStyle,org.jetbrains.jewel.ui.component.styling.SliderStyle,org.jetbrains.jewel.ui.component.styling.SelectableLazyColumnStyle,org.jetbrains.jewel.ui.component.styling.SimpleListItemStyle,org.jetbrains.jewel.ui.component.styling.TextAreaStyle,org.jetbrains.jewel.ui.component.styling.TextFieldStyle,org.jetbrains.jewel.ui.component.styling.TooltipStyle,org.jetbrains.jewel.ui.component.styling.DropdownStyle,androidx.compose.runtime.Composer,I,I,I,I,I,I):org.jetbrains.jewel.ui.ComponentStyling -- sf:lightThemeDefinition-VRxQTpk(org.jetbrains.jewel.foundation.theme.JewelTheme$Companion,org.jetbrains.jewel.foundation.GlobalColors,org.jetbrains.jewel.foundation.GlobalMetrics,org.jetbrains.jewel.foundation.theme.ThemeColorPalette,org.jetbrains.jewel.foundation.theme.ThemeIconData,androidx.compose.ui.text.TextStyle,androidx.compose.ui.text.TextStyle,androidx.compose.ui.text.TextStyle,J,androidx.compose.runtime.Composer,I,I):org.jetbrains.jewel.foundation.theme.ThemeDefinition +- sf:light(org.jetbrains.jewel.ui.ComponentStyling,org.jetbrains.jewel.ui.component.styling.CheckboxStyle,org.jetbrains.jewel.ui.component.styling.ChipStyle,org.jetbrains.jewel.ui.component.styling.CircularProgressStyle,org.jetbrains.jewel.ui.component.styling.DefaultBannerStyles,org.jetbrains.jewel.ui.component.styling.ComboBoxStyle,org.jetbrains.jewel.ui.component.styling.ButtonStyle,org.jetbrains.jewel.ui.component.styling.SplitButtonStyle,org.jetbrains.jewel.ui.component.styling.TabStyle,org.jetbrains.jewel.ui.component.styling.DividerStyle,org.jetbrains.jewel.ui.component.styling.DropdownStyle,org.jetbrains.jewel.ui.component.styling.TabStyle,org.jetbrains.jewel.ui.component.styling.GroupHeaderStyle,org.jetbrains.jewel.ui.component.styling.HorizontalProgressBarStyle,org.jetbrains.jewel.ui.component.styling.IconButtonStyle,org.jetbrains.jewel.ui.component.styling.InlineBannerStyles,org.jetbrains.jewel.ui.component.styling.LazyTreeStyle,org.jetbrains.jewel.ui.component.styling.LinkStyle,org.jetbrains.jewel.ui.component.styling.MenuStyle,org.jetbrains.jewel.ui.component.styling.PopupContainerStyle,org.jetbrains.jewel.ui.component.styling.ButtonStyle,org.jetbrains.jewel.ui.component.styling.SplitButtonStyle,org.jetbrains.jewel.ui.component.styling.RadioButtonStyle,org.jetbrains.jewel.ui.component.styling.ScrollbarStyle,org.jetbrains.jewel.ui.component.styling.SegmentedControlButtonStyle,org.jetbrains.jewel.ui.component.styling.SegmentedControlStyle,org.jetbrains.jewel.ui.component.styling.SliderStyle,org.jetbrains.jewel.ui.component.styling.SelectableLazyColumnStyle,org.jetbrains.jewel.ui.component.styling.SimpleListItemStyle,org.jetbrains.jewel.ui.component.styling.TextAreaStyle,org.jetbrains.jewel.ui.component.styling.TextFieldStyle,org.jetbrains.jewel.ui.component.styling.TooltipStyle,org.jetbrains.jewel.ui.component.styling.DropdownStyle):org.jetbrains.jewel.ui.ComponentStyling +- bs:light$default(org.jetbrains.jewel.ui.ComponentStyling,org.jetbrains.jewel.ui.component.styling.CheckboxStyle,org.jetbrains.jewel.ui.component.styling.ChipStyle,org.jetbrains.jewel.ui.component.styling.CircularProgressStyle,org.jetbrains.jewel.ui.component.styling.DefaultBannerStyles,org.jetbrains.jewel.ui.component.styling.ComboBoxStyle,org.jetbrains.jewel.ui.component.styling.ButtonStyle,org.jetbrains.jewel.ui.component.styling.SplitButtonStyle,org.jetbrains.jewel.ui.component.styling.TabStyle,org.jetbrains.jewel.ui.component.styling.DividerStyle,org.jetbrains.jewel.ui.component.styling.DropdownStyle,org.jetbrains.jewel.ui.component.styling.TabStyle,org.jetbrains.jewel.ui.component.styling.GroupHeaderStyle,org.jetbrains.jewel.ui.component.styling.HorizontalProgressBarStyle,org.jetbrains.jewel.ui.component.styling.IconButtonStyle,org.jetbrains.jewel.ui.component.styling.InlineBannerStyles,org.jetbrains.jewel.ui.component.styling.LazyTreeStyle,org.jetbrains.jewel.ui.component.styling.LinkStyle,org.jetbrains.jewel.ui.component.styling.MenuStyle,org.jetbrains.jewel.ui.component.styling.PopupContainerStyle,org.jetbrains.jewel.ui.component.styling.ButtonStyle,org.jetbrains.jewel.ui.component.styling.SplitButtonStyle,org.jetbrains.jewel.ui.component.styling.RadioButtonStyle,org.jetbrains.jewel.ui.component.styling.ScrollbarStyle,org.jetbrains.jewel.ui.component.styling.SegmentedControlButtonStyle,org.jetbrains.jewel.ui.component.styling.SegmentedControlStyle,org.jetbrains.jewel.ui.component.styling.SliderStyle,org.jetbrains.jewel.ui.component.styling.SelectableLazyColumnStyle,org.jetbrains.jewel.ui.component.styling.SimpleListItemStyle,org.jetbrains.jewel.ui.component.styling.TextAreaStyle,org.jetbrains.jewel.ui.component.styling.TextFieldStyle,org.jetbrains.jewel.ui.component.styling.TooltipStyle,org.jetbrains.jewel.ui.component.styling.DropdownStyle,I,java.lang.Object):org.jetbrains.jewel.ui.ComponentStyling +- sf:lightThemeDefinition-aKPr-nQ(org.jetbrains.jewel.foundation.theme.JewelTheme$Companion,org.jetbrains.jewel.foundation.GlobalColors,org.jetbrains.jewel.foundation.GlobalMetrics,org.jetbrains.jewel.foundation.theme.ThemeColorPalette,org.jetbrains.jewel.foundation.theme.ThemeIconData,androidx.compose.ui.text.TextStyle,androidx.compose.ui.text.TextStyle,androidx.compose.ui.text.TextStyle,J):org.jetbrains.jewel.foundation.theme.ThemeDefinition +- bs:lightThemeDefinition-aKPr-nQ$default(org.jetbrains.jewel.foundation.theme.JewelTheme$Companion,org.jetbrains.jewel.foundation.GlobalColors,org.jetbrains.jewel.foundation.GlobalMetrics,org.jetbrains.jewel.foundation.theme.ThemeColorPalette,org.jetbrains.jewel.foundation.theme.ThemeIconData,androidx.compose.ui.text.TextStyle,androidx.compose.ui.text.TextStyle,androidx.compose.ui.text.TextStyle,J,I,java.lang.Object):org.jetbrains.jewel.foundation.theme.ThemeDefinition f:org.jetbrains.jewel.intui.standalone.theme.TextStylesKt - sf:createDefaultTextStyle-8YS_zAE(org.jetbrains.jewel.foundation.theme.JewelTheme$Companion,androidx.compose.ui.graphics.Brush,F,J,androidx.compose.ui.text.font.FontWeight,androidx.compose.ui.text.font.FontStyle,androidx.compose.ui.text.font.FontSynthesis,androidx.compose.ui.text.font.FontFamily,java.lang.String,J,androidx.compose.ui.text.style.BaselineShift,androidx.compose.ui.text.style.TextGeometricTransform,androidx.compose.ui.text.intl.LocaleList,J,androidx.compose.ui.text.style.TextDecoration,androidx.compose.ui.graphics.Shadow,androidx.compose.ui.graphics.drawscope.DrawStyle,I,I,J,androidx.compose.ui.text.style.TextIndent,androidx.compose.ui.text.PlatformTextStyle,androidx.compose.ui.text.style.LineHeightStyle,I,I,androidx.compose.ui.text.style.TextMotion):androidx.compose.ui.text.TextStyle - bs:createDefaultTextStyle-8YS_zAE$default(org.jetbrains.jewel.foundation.theme.JewelTheme$Companion,androidx.compose.ui.graphics.Brush,F,J,androidx.compose.ui.text.font.FontWeight,androidx.compose.ui.text.font.FontStyle,androidx.compose.ui.text.font.FontSynthesis,androidx.compose.ui.text.font.FontFamily,java.lang.String,J,androidx.compose.ui.text.style.BaselineShift,androidx.compose.ui.text.style.TextGeometricTransform,androidx.compose.ui.text.intl.LocaleList,J,androidx.compose.ui.text.style.TextDecoration,androidx.compose.ui.graphics.Shadow,androidx.compose.ui.graphics.drawscope.DrawStyle,I,I,J,androidx.compose.ui.text.style.TextIndent,androidx.compose.ui.text.PlatformTextStyle,androidx.compose.ui.text.style.LineHeightStyle,I,I,androidx.compose.ui.text.style.TextMotion,I,java.lang.Object):androidx.compose.ui.text.TextStyle diff --git a/platform/jewel/int-ui/int-ui-standalone/api/int-ui-standalone.api b/platform/jewel/int-ui/int-ui-standalone/api/int-ui-standalone.api index 633afb064436..f31ca81a1c08 100644 --- a/platform/jewel/int-ui/int-ui-standalone/api/int-ui-standalone.api +++ b/platform/jewel/int-ui/int-ui-standalone/api/int-ui-standalone.api @@ -69,23 +69,33 @@ public final class org/jetbrains/jewel/intui/standalone/styling/IntUiButtonStyli } public final class org/jetbrains/jewel/intui/standalone/styling/IntUiCheckboxStylingKt { - public static final fun dark (Lorg/jetbrains/jewel/ui/component/styling/CheckboxIcons$Companion;Lorg/jetbrains/jewel/ui/icon/IconKey;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/CheckboxIcons; - public static final fun dark (Lorg/jetbrains/jewel/ui/component/styling/CheckboxStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/CheckboxColors;Lorg/jetbrains/jewel/ui/component/styling/CheckboxMetrics;Lorg/jetbrains/jewel/ui/component/styling/CheckboxIcons;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/CheckboxStyle; - public static final fun dark-GyCwops (Lorg/jetbrains/jewel/ui/component/styling/CheckboxColors$Companion;JJJLandroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/CheckboxColors; + public static final fun dark (Lorg/jetbrains/jewel/ui/component/styling/CheckboxIcons$Companion;Lorg/jetbrains/jewel/ui/icon/IconKey;)Lorg/jetbrains/jewel/ui/component/styling/CheckboxIcons; + public static final fun dark (Lorg/jetbrains/jewel/ui/component/styling/CheckboxStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/CheckboxColors;Lorg/jetbrains/jewel/ui/component/styling/CheckboxMetrics;Lorg/jetbrains/jewel/ui/component/styling/CheckboxIcons;)Lorg/jetbrains/jewel/ui/component/styling/CheckboxStyle; + public static synthetic fun dark$default (Lorg/jetbrains/jewel/ui/component/styling/CheckboxIcons$Companion;Lorg/jetbrains/jewel/ui/icon/IconKey;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/CheckboxIcons; + public static synthetic fun dark$default (Lorg/jetbrains/jewel/ui/component/styling/CheckboxStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/CheckboxColors;Lorg/jetbrains/jewel/ui/component/styling/CheckboxMetrics;Lorg/jetbrains/jewel/ui/component/styling/CheckboxIcons;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/CheckboxStyle; + public static final fun dark-zSO0fhY (Lorg/jetbrains/jewel/ui/component/styling/CheckboxColors$Companion;JJJ)Lorg/jetbrains/jewel/ui/component/styling/CheckboxColors; + public static synthetic fun dark-zSO0fhY$default (Lorg/jetbrains/jewel/ui/component/styling/CheckboxColors$Companion;JJJILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/CheckboxColors; public static final fun defaults-xtx8w0A (Lorg/jetbrains/jewel/ui/component/styling/CheckboxMetrics$Companion;JLandroidx/compose/foundation/shape/CornerSize;Landroidx/compose/foundation/shape/CornerSize;Landroidx/compose/foundation/shape/CornerSize;Landroidx/compose/foundation/shape/CornerSize;JJJJF)Lorg/jetbrains/jewel/ui/component/styling/CheckboxMetrics; public static synthetic fun defaults-xtx8w0A$default (Lorg/jetbrains/jewel/ui/component/styling/CheckboxMetrics$Companion;JLandroidx/compose/foundation/shape/CornerSize;Landroidx/compose/foundation/shape/CornerSize;Landroidx/compose/foundation/shape/CornerSize;Landroidx/compose/foundation/shape/CornerSize;JJJJFILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/CheckboxMetrics; - public static final fun light (Lorg/jetbrains/jewel/ui/component/styling/CheckboxIcons$Companion;Lorg/jetbrains/jewel/ui/icon/IconKey;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/CheckboxIcons; - public static final fun light (Lorg/jetbrains/jewel/ui/component/styling/CheckboxStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/CheckboxColors;Lorg/jetbrains/jewel/ui/component/styling/CheckboxMetrics;Lorg/jetbrains/jewel/ui/component/styling/CheckboxIcons;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/CheckboxStyle; - public static final fun light-GyCwops (Lorg/jetbrains/jewel/ui/component/styling/CheckboxColors$Companion;JJJLandroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/CheckboxColors; + public static final fun light (Lorg/jetbrains/jewel/ui/component/styling/CheckboxIcons$Companion;Lorg/jetbrains/jewel/ui/icon/IconKey;)Lorg/jetbrains/jewel/ui/component/styling/CheckboxIcons; + public static final fun light (Lorg/jetbrains/jewel/ui/component/styling/CheckboxStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/CheckboxColors;Lorg/jetbrains/jewel/ui/component/styling/CheckboxMetrics;Lorg/jetbrains/jewel/ui/component/styling/CheckboxIcons;)Lorg/jetbrains/jewel/ui/component/styling/CheckboxStyle; + public static synthetic fun light$default (Lorg/jetbrains/jewel/ui/component/styling/CheckboxIcons$Companion;Lorg/jetbrains/jewel/ui/icon/IconKey;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/CheckboxIcons; + public static synthetic fun light$default (Lorg/jetbrains/jewel/ui/component/styling/CheckboxStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/CheckboxColors;Lorg/jetbrains/jewel/ui/component/styling/CheckboxMetrics;Lorg/jetbrains/jewel/ui/component/styling/CheckboxIcons;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/CheckboxStyle; + public static final fun light-zSO0fhY (Lorg/jetbrains/jewel/ui/component/styling/CheckboxColors$Companion;JJJ)Lorg/jetbrains/jewel/ui/component/styling/CheckboxColors; + public static synthetic fun light-zSO0fhY$default (Lorg/jetbrains/jewel/ui/component/styling/CheckboxColors$Companion;JJJILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/CheckboxColors; } public final class org/jetbrains/jewel/intui/standalone/styling/IntUiChipStylingKt { - public static final fun dark (Lorg/jetbrains/jewel/ui/component/styling/ChipStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/ChipColors;Lorg/jetbrains/jewel/ui/component/styling/ChipMetrics;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/ChipStyle; - public static final fun dark-Sy8uPd4 (Lorg/jetbrains/jewel/ui/component/styling/ChipColors$Companion;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;JJJJJJJJJJJJJJJJJJJJLandroidx/compose/runtime/Composer;IIIII)Lorg/jetbrains/jewel/ui/component/styling/ChipColors; + public static final fun dark (Lorg/jetbrains/jewel/ui/component/styling/ChipStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/ChipColors;Lorg/jetbrains/jewel/ui/component/styling/ChipMetrics;)Lorg/jetbrains/jewel/ui/component/styling/ChipStyle; + public static synthetic fun dark$default (Lorg/jetbrains/jewel/ui/component/styling/ChipStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/ChipColors;Lorg/jetbrains/jewel/ui/component/styling/ChipMetrics;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/ChipStyle; + public static final fun dark-Chrb4KI (Lorg/jetbrains/jewel/ui/component/styling/ChipColors$Companion;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;JJJJJJJJJJJJJJJJJJJJ)Lorg/jetbrains/jewel/ui/component/styling/ChipColors; + public static synthetic fun dark-Chrb4KI$default (Lorg/jetbrains/jewel/ui/component/styling/ChipColors$Companion;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;JJJJJJJJJJJJJJJJJJJJILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/ChipColors; public static final fun defaults-oZzcvok (Lorg/jetbrains/jewel/ui/component/styling/ChipMetrics$Companion;Landroidx/compose/foundation/shape/CornerSize;Landroidx/compose/foundation/layout/PaddingValues;FF)Lorg/jetbrains/jewel/ui/component/styling/ChipMetrics; public static synthetic fun defaults-oZzcvok$default (Lorg/jetbrains/jewel/ui/component/styling/ChipMetrics$Companion;Landroidx/compose/foundation/shape/CornerSize;Landroidx/compose/foundation/layout/PaddingValues;FFILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/ChipMetrics; - public static final fun light (Lorg/jetbrains/jewel/ui/component/styling/ChipStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/ChipColors;Lorg/jetbrains/jewel/ui/component/styling/ChipMetrics;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/ChipStyle; - public static final fun light-Sy8uPd4 (Lorg/jetbrains/jewel/ui/component/styling/ChipColors$Companion;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;JJJJJJJJJJJJJJJJJJJJLandroidx/compose/runtime/Composer;IIIII)Lorg/jetbrains/jewel/ui/component/styling/ChipColors; + public static final fun light (Lorg/jetbrains/jewel/ui/component/styling/ChipStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/ChipColors;Lorg/jetbrains/jewel/ui/component/styling/ChipMetrics;)Lorg/jetbrains/jewel/ui/component/styling/ChipStyle; + public static synthetic fun light$default (Lorg/jetbrains/jewel/ui/component/styling/ChipStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/ChipColors;Lorg/jetbrains/jewel/ui/component/styling/ChipMetrics;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/ChipStyle; + public static final fun light-Chrb4KI (Lorg/jetbrains/jewel/ui/component/styling/ChipColors$Companion;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;JJJJJJJJJJJJJJJJJJJJ)Lorg/jetbrains/jewel/ui/component/styling/ChipColors; + public static synthetic fun light-Chrb4KI$default (Lorg/jetbrains/jewel/ui/component/styling/ChipColors$Companion;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;JJJJJJJJJJJJJJJJJJJJILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/ChipColors; } public final class org/jetbrains/jewel/intui/standalone/styling/IntUiCircularProgressStylingKt { @@ -111,85 +121,109 @@ public final class org/jetbrains/jewel/intui/standalone/styling/IntUiComboBoxSty public final class org/jetbrains/jewel/intui/standalone/styling/IntUiDefaultBannerStylesFactory { public static final field $stable I public static final field INSTANCE Lorg/jetbrains/jewel/intui/standalone/styling/IntUiDefaultBannerStylesFactory; - public final fun dark (Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyle;Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyle;Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyle;Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyle;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyles; - public final fun light (Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyle;Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyle;Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyle;Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyle;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyles; + public final fun dark (Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyle;Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyle;Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyle;Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyle;)Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyles; + public static synthetic fun dark$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiDefaultBannerStylesFactory;Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyle;Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyle;Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyle;Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyle;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyles; + public final fun light (Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyle;Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyle;Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyle;Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyle;)Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyles; + public static synthetic fun light$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiDefaultBannerStylesFactory;Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyle;Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyle;Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyle;Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyle;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyles; } public final class org/jetbrains/jewel/intui/standalone/styling/IntUiDefaultButtonColorFactory { public static final field $stable I public static final field INSTANCE Lorg/jetbrains/jewel/intui/standalone/styling/IntUiDefaultButtonColorFactory; - public final fun dark-AckW74Y (Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;JJJJJLandroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/runtime/Composer;III)Lorg/jetbrains/jewel/ui/component/styling/ButtonColors; - public final fun light-AckW74Y (Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;JJJJJLandroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/runtime/Composer;III)Lorg/jetbrains/jewel/ui/component/styling/ButtonColors; + public final fun dark-jhmft08 (Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;JJJJJLandroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;)Lorg/jetbrains/jewel/ui/component/styling/ButtonColors; + public static synthetic fun dark-jhmft08$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiDefaultButtonColorFactory;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;JJJJJLandroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/ButtonColors; + public final fun light-jhmft08 (Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;JJJJJLandroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;)Lorg/jetbrains/jewel/ui/component/styling/ButtonColors; + public static synthetic fun light-jhmft08$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiDefaultButtonColorFactory;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;JJJJJLandroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/ButtonColors; } public final class org/jetbrains/jewel/intui/standalone/styling/IntUiDefaultButtonStyleFactory { public static final field $stable I public static final field INSTANCE Lorg/jetbrains/jewel/intui/standalone/styling/IntUiDefaultButtonStyleFactory; - public final fun dark (Lorg/jetbrains/jewel/ui/component/styling/ButtonColors;Lorg/jetbrains/jewel/ui/component/styling/ButtonMetrics;Lorg/jetbrains/jewel/foundation/Stroke$Alignment;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/ButtonStyle; - public final fun light (Lorg/jetbrains/jewel/ui/component/styling/ButtonColors;Lorg/jetbrains/jewel/ui/component/styling/ButtonMetrics;Lorg/jetbrains/jewel/foundation/Stroke$Alignment;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/ButtonStyle; + public final fun dark (Lorg/jetbrains/jewel/ui/component/styling/ButtonColors;Lorg/jetbrains/jewel/ui/component/styling/ButtonMetrics;Lorg/jetbrains/jewel/foundation/Stroke$Alignment;)Lorg/jetbrains/jewel/ui/component/styling/ButtonStyle; + public static synthetic fun dark$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiDefaultButtonStyleFactory;Lorg/jetbrains/jewel/ui/component/styling/ButtonColors;Lorg/jetbrains/jewel/ui/component/styling/ButtonMetrics;Lorg/jetbrains/jewel/foundation/Stroke$Alignment;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/ButtonStyle; + public final fun light (Lorg/jetbrains/jewel/ui/component/styling/ButtonColors;Lorg/jetbrains/jewel/ui/component/styling/ButtonMetrics;Lorg/jetbrains/jewel/foundation/Stroke$Alignment;)Lorg/jetbrains/jewel/ui/component/styling/ButtonStyle; + public static synthetic fun light$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiDefaultButtonStyleFactory;Lorg/jetbrains/jewel/ui/component/styling/ButtonColors;Lorg/jetbrains/jewel/ui/component/styling/ButtonMetrics;Lorg/jetbrains/jewel/foundation/Stroke$Alignment;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/ButtonStyle; } public final class org/jetbrains/jewel/intui/standalone/styling/IntUiDefaultComboBoxColorsFactory { public static final field $stable I public static final field INSTANCE Lorg/jetbrains/jewel/intui/standalone/styling/IntUiDefaultComboBoxColorsFactory; - public final fun dark-V1nXRL4 (JJJJJJJJJJJJJJJJLandroidx/compose/runtime/Composer;III)Lorg/jetbrains/jewel/ui/component/styling/ComboBoxColors; - public final fun light-V1nXRL4 (JJJJJJJJJJJJJJJJLandroidx/compose/runtime/Composer;III)Lorg/jetbrains/jewel/ui/component/styling/ComboBoxColors; + public final fun dark-Q_H9qLU (JJJJJJJJJJJJJJJJ)Lorg/jetbrains/jewel/ui/component/styling/ComboBoxColors; + public static synthetic fun dark-Q_H9qLU$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiDefaultComboBoxColorsFactory;JJJJJJJJJJJJJJJJILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/ComboBoxColors; + public final fun light-Q_H9qLU (JJJJJJJJJJJJJJJJ)Lorg/jetbrains/jewel/ui/component/styling/ComboBoxColors; + public static synthetic fun light-Q_H9qLU$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiDefaultComboBoxColorsFactory;JJJJJJJJJJJJJJJJILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/ComboBoxColors; } public final class org/jetbrains/jewel/intui/standalone/styling/IntUiDefaultComboBoxStyleFactory { public static final field $stable I public static final field INSTANCE Lorg/jetbrains/jewel/intui/standalone/styling/IntUiDefaultComboBoxStyleFactory; - public final fun dark (Lorg/jetbrains/jewel/ui/component/styling/ComboBoxColors;Lorg/jetbrains/jewel/ui/component/styling/ComboBoxMetrics;Lorg/jetbrains/jewel/ui/component/styling/ComboBoxIcons;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/ComboBoxStyle; - public final fun light (Lorg/jetbrains/jewel/ui/component/styling/ComboBoxColors;Lorg/jetbrains/jewel/ui/component/styling/ComboBoxMetrics;Lorg/jetbrains/jewel/ui/component/styling/ComboBoxIcons;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/ComboBoxStyle; + public final fun dark (Lorg/jetbrains/jewel/ui/component/styling/ComboBoxColors;Lorg/jetbrains/jewel/ui/component/styling/ComboBoxMetrics;Lorg/jetbrains/jewel/ui/component/styling/ComboBoxIcons;)Lorg/jetbrains/jewel/ui/component/styling/ComboBoxStyle; + public static synthetic fun dark$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiDefaultComboBoxStyleFactory;Lorg/jetbrains/jewel/ui/component/styling/ComboBoxColors;Lorg/jetbrains/jewel/ui/component/styling/ComboBoxMetrics;Lorg/jetbrains/jewel/ui/component/styling/ComboBoxIcons;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/ComboBoxStyle; + public final fun light (Lorg/jetbrains/jewel/ui/component/styling/ComboBoxColors;Lorg/jetbrains/jewel/ui/component/styling/ComboBoxMetrics;Lorg/jetbrains/jewel/ui/component/styling/ComboBoxIcons;)Lorg/jetbrains/jewel/ui/component/styling/ComboBoxStyle; + public static synthetic fun light$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiDefaultComboBoxStyleFactory;Lorg/jetbrains/jewel/ui/component/styling/ComboBoxColors;Lorg/jetbrains/jewel/ui/component/styling/ComboBoxMetrics;Lorg/jetbrains/jewel/ui/component/styling/ComboBoxIcons;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/ComboBoxStyle; } public final class org/jetbrains/jewel/intui/standalone/styling/IntUiDefaultDropdownColorsFactory { public static final field $stable I public static final field INSTANCE Lorg/jetbrains/jewel/intui/standalone/styling/IntUiDefaultDropdownColorsFactory; - public final fun dark-Xf8s2Ik (JJJJJJJJJJJJJJJJJJJJLandroidx/compose/runtime/Composer;IIII)Lorg/jetbrains/jewel/ui/component/styling/DropdownColors; - public final fun light-Xf8s2Ik (JJJJJJJJJJJJJJJJJJJJLandroidx/compose/runtime/Composer;IIII)Lorg/jetbrains/jewel/ui/component/styling/DropdownColors; + public final fun dark-Cmkg8xs (JJJJJJJJJJJJJJJJJJJJ)Lorg/jetbrains/jewel/ui/component/styling/DropdownColors; + public static synthetic fun dark-Cmkg8xs$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiDefaultDropdownColorsFactory;JJJJJJJJJJJJJJJJJJJJILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/DropdownColors; + public final fun light-Cmkg8xs (JJJJJJJJJJJJJJJJJJJJ)Lorg/jetbrains/jewel/ui/component/styling/DropdownColors; + public static synthetic fun light-Cmkg8xs$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiDefaultDropdownColorsFactory;JJJJJJJJJJJJJJJJJJJJILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/DropdownColors; } public final class org/jetbrains/jewel/intui/standalone/styling/IntUiDefaultDropdownStyleFactory { public static final field $stable I public static final field INSTANCE Lorg/jetbrains/jewel/intui/standalone/styling/IntUiDefaultDropdownStyleFactory; - public final fun dark (Lorg/jetbrains/jewel/ui/component/styling/DropdownColors;Lorg/jetbrains/jewel/ui/component/styling/DropdownMetrics;Lorg/jetbrains/jewel/ui/component/styling/DropdownIcons;Lorg/jetbrains/jewel/ui/component/styling/MenuStyle;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/DropdownStyle; - public final fun light (Lorg/jetbrains/jewel/ui/component/styling/DropdownColors;Lorg/jetbrains/jewel/ui/component/styling/DropdownMetrics;Lorg/jetbrains/jewel/ui/component/styling/DropdownIcons;Lorg/jetbrains/jewel/ui/component/styling/MenuStyle;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/DropdownStyle; + public final fun dark (Lorg/jetbrains/jewel/ui/component/styling/DropdownColors;Lorg/jetbrains/jewel/ui/component/styling/DropdownMetrics;Lorg/jetbrains/jewel/ui/component/styling/DropdownIcons;Lorg/jetbrains/jewel/ui/component/styling/MenuStyle;)Lorg/jetbrains/jewel/ui/component/styling/DropdownStyle; + public static synthetic fun dark$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiDefaultDropdownStyleFactory;Lorg/jetbrains/jewel/ui/component/styling/DropdownColors;Lorg/jetbrains/jewel/ui/component/styling/DropdownMetrics;Lorg/jetbrains/jewel/ui/component/styling/DropdownIcons;Lorg/jetbrains/jewel/ui/component/styling/MenuStyle;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/DropdownStyle; + public final fun light (Lorg/jetbrains/jewel/ui/component/styling/DropdownColors;Lorg/jetbrains/jewel/ui/component/styling/DropdownMetrics;Lorg/jetbrains/jewel/ui/component/styling/DropdownIcons;Lorg/jetbrains/jewel/ui/component/styling/MenuStyle;)Lorg/jetbrains/jewel/ui/component/styling/DropdownStyle; + public static synthetic fun light$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiDefaultDropdownStyleFactory;Lorg/jetbrains/jewel/ui/component/styling/DropdownColors;Lorg/jetbrains/jewel/ui/component/styling/DropdownMetrics;Lorg/jetbrains/jewel/ui/component/styling/DropdownIcons;Lorg/jetbrains/jewel/ui/component/styling/MenuStyle;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/DropdownStyle; } public final class org/jetbrains/jewel/intui/standalone/styling/IntUiDefaultErrorBannerStyleFactory { public static final field $stable I public static final field INSTANCE Lorg/jetbrains/jewel/intui/standalone/styling/IntUiDefaultErrorBannerStyleFactory; - public final fun dark (Lorg/jetbrains/jewel/ui/component/styling/BannerColors;Lorg/jetbrains/jewel/ui/component/styling/BannerMetrics;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyle; - public final fun light (Lorg/jetbrains/jewel/ui/component/styling/BannerColors;Lorg/jetbrains/jewel/ui/component/styling/BannerMetrics;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyle; + public final fun dark (Lorg/jetbrains/jewel/ui/component/styling/BannerColors;Lorg/jetbrains/jewel/ui/component/styling/BannerMetrics;)Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyle; + public static synthetic fun dark$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiDefaultErrorBannerStyleFactory;Lorg/jetbrains/jewel/ui/component/styling/BannerColors;Lorg/jetbrains/jewel/ui/component/styling/BannerMetrics;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyle; + public final fun light (Lorg/jetbrains/jewel/ui/component/styling/BannerColors;Lorg/jetbrains/jewel/ui/component/styling/BannerMetrics;)Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyle; + public static synthetic fun light$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiDefaultErrorBannerStyleFactory;Lorg/jetbrains/jewel/ui/component/styling/BannerColors;Lorg/jetbrains/jewel/ui/component/styling/BannerMetrics;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyle; } public final class org/jetbrains/jewel/intui/standalone/styling/IntUiDefaultInformationBannerStyleFactory { public static final field $stable I public static final field INSTANCE Lorg/jetbrains/jewel/intui/standalone/styling/IntUiDefaultInformationBannerStyleFactory; - public final fun dark (Lorg/jetbrains/jewel/ui/component/styling/BannerColors;Lorg/jetbrains/jewel/ui/component/styling/BannerMetrics;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyle; - public final fun light (Lorg/jetbrains/jewel/ui/component/styling/BannerColors;Lorg/jetbrains/jewel/ui/component/styling/BannerMetrics;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyle; + public final fun dark (Lorg/jetbrains/jewel/ui/component/styling/BannerColors;Lorg/jetbrains/jewel/ui/component/styling/BannerMetrics;)Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyle; + public static synthetic fun dark$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiDefaultInformationBannerStyleFactory;Lorg/jetbrains/jewel/ui/component/styling/BannerColors;Lorg/jetbrains/jewel/ui/component/styling/BannerMetrics;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyle; + public final fun light (Lorg/jetbrains/jewel/ui/component/styling/BannerColors;Lorg/jetbrains/jewel/ui/component/styling/BannerMetrics;)Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyle; + public static synthetic fun light$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiDefaultInformationBannerStyleFactory;Lorg/jetbrains/jewel/ui/component/styling/BannerColors;Lorg/jetbrains/jewel/ui/component/styling/BannerMetrics;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyle; } public final class org/jetbrains/jewel/intui/standalone/styling/IntUiDefaultSimpleListItemLazyTreeStyleFactory { public static final field $stable I public static final field INSTANCE Lorg/jetbrains/jewel/intui/standalone/styling/IntUiDefaultSimpleListItemLazyTreeStyleFactory; - public final fun dark-oq7We08 (JJJJJJJJLandroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/SimpleListItemColors; - public final fun light-oq7We08 (JJJJJJJJLandroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/SimpleListItemColors; + public final fun dark-FD3wquc (JJJJJJJJ)Lorg/jetbrains/jewel/ui/component/styling/SimpleListItemColors; + public static synthetic fun dark-FD3wquc$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiDefaultSimpleListItemLazyTreeStyleFactory;JJJJJJJJILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/SimpleListItemColors; + public final fun light-FD3wquc (JJJJJJJJ)Lorg/jetbrains/jewel/ui/component/styling/SimpleListItemColors; + public static synthetic fun light-FD3wquc$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiDefaultSimpleListItemLazyTreeStyleFactory;JJJJJJJJILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/SimpleListItemColors; } public final class org/jetbrains/jewel/intui/standalone/styling/IntUiDefaultSplitButtonStyleFactory { public static final field $stable I public static final field INSTANCE Lorg/jetbrains/jewel/intui/standalone/styling/IntUiDefaultSplitButtonStyleFactory; - public final fun dark-lHvuNTo (Lorg/jetbrains/jewel/ui/component/styling/ButtonStyle;Lorg/jetbrains/jewel/ui/component/styling/DividerMetrics;JJFJLandroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/SplitButtonStyle; - public final fun light-lHvuNTo (Lorg/jetbrains/jewel/ui/component/styling/ButtonStyle;Lorg/jetbrains/jewel/ui/component/styling/DividerMetrics;JJFJLandroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/SplitButtonStyle; + public final fun dark-NqQqPsg (Lorg/jetbrains/jewel/ui/component/styling/ButtonStyle;Lorg/jetbrains/jewel/ui/component/styling/DividerMetrics;JJFJ)Lorg/jetbrains/jewel/ui/component/styling/SplitButtonStyle; + public static synthetic fun dark-NqQqPsg$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiDefaultSplitButtonStyleFactory;Lorg/jetbrains/jewel/ui/component/styling/ButtonStyle;Lorg/jetbrains/jewel/ui/component/styling/DividerMetrics;JJFJILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/SplitButtonStyle; + public final fun light-NqQqPsg (Lorg/jetbrains/jewel/ui/component/styling/ButtonStyle;Lorg/jetbrains/jewel/ui/component/styling/DividerMetrics;JJFJ)Lorg/jetbrains/jewel/ui/component/styling/SplitButtonStyle; + public static synthetic fun light-NqQqPsg$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiDefaultSplitButtonStyleFactory;Lorg/jetbrains/jewel/ui/component/styling/ButtonStyle;Lorg/jetbrains/jewel/ui/component/styling/DividerMetrics;JJFJILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/SplitButtonStyle; } public final class org/jetbrains/jewel/intui/standalone/styling/IntUiDefaultSuccessBannerStyleFactory { public static final field $stable I public static final field INSTANCE Lorg/jetbrains/jewel/intui/standalone/styling/IntUiDefaultSuccessBannerStyleFactory; - public final fun dark (Lorg/jetbrains/jewel/ui/component/styling/BannerColors;Lorg/jetbrains/jewel/ui/component/styling/BannerMetrics;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyle; - public final fun light (Lorg/jetbrains/jewel/ui/component/styling/BannerColors;Lorg/jetbrains/jewel/ui/component/styling/BannerMetrics;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyle; + public final fun dark (Lorg/jetbrains/jewel/ui/component/styling/BannerColors;Lorg/jetbrains/jewel/ui/component/styling/BannerMetrics;)Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyle; + public static synthetic fun dark$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiDefaultSuccessBannerStyleFactory;Lorg/jetbrains/jewel/ui/component/styling/BannerColors;Lorg/jetbrains/jewel/ui/component/styling/BannerMetrics;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyle; + public final fun light (Lorg/jetbrains/jewel/ui/component/styling/BannerColors;Lorg/jetbrains/jewel/ui/component/styling/BannerMetrics;)Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyle; + public static synthetic fun light$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiDefaultSuccessBannerStyleFactory;Lorg/jetbrains/jewel/ui/component/styling/BannerColors;Lorg/jetbrains/jewel/ui/component/styling/BannerMetrics;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyle; } public final class org/jetbrains/jewel/intui/standalone/styling/IntUiDefaultTabColorsFactory { @@ -204,7 +238,8 @@ public final class org/jetbrains/jewel/intui/standalone/styling/IntUiDefaultTabC public final class org/jetbrains/jewel/intui/standalone/styling/IntUiDefaultTabStyleFactory { public static final field $stable I public static final field INSTANCE Lorg/jetbrains/jewel/intui/standalone/styling/IntUiDefaultTabStyleFactory; - public final fun dark (Lorg/jetbrains/jewel/ui/component/styling/TabColors;Lorg/jetbrains/jewel/ui/component/styling/TabMetrics;Lorg/jetbrains/jewel/ui/component/styling/TabIcons;Lorg/jetbrains/jewel/ui/component/styling/TabContentAlpha;Lorg/jetbrains/jewel/ui/component/styling/ScrollbarStyle;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/TabStyle; + public final fun dark (Lorg/jetbrains/jewel/ui/component/styling/TabColors;Lorg/jetbrains/jewel/ui/component/styling/TabMetrics;Lorg/jetbrains/jewel/ui/component/styling/TabIcons;Lorg/jetbrains/jewel/ui/component/styling/TabContentAlpha;Lorg/jetbrains/jewel/ui/component/styling/ScrollbarStyle;)Lorg/jetbrains/jewel/ui/component/styling/TabStyle; + public static synthetic fun dark$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiDefaultTabStyleFactory;Lorg/jetbrains/jewel/ui/component/styling/TabColors;Lorg/jetbrains/jewel/ui/component/styling/TabMetrics;Lorg/jetbrains/jewel/ui/component/styling/TabIcons;Lorg/jetbrains/jewel/ui/component/styling/TabContentAlpha;Lorg/jetbrains/jewel/ui/component/styling/ScrollbarStyle;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/TabStyle; public final fun light (Lorg/jetbrains/jewel/ui/component/styling/TabColors;Lorg/jetbrains/jewel/ui/component/styling/TabMetrics;Lorg/jetbrains/jewel/ui/component/styling/TabIcons;Lorg/jetbrains/jewel/ui/component/styling/TabContentAlpha;Lorg/jetbrains/jewel/ui/component/styling/ScrollbarStyle;)Lorg/jetbrains/jewel/ui/component/styling/TabStyle; public static synthetic fun light$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiDefaultTabStyleFactory;Lorg/jetbrains/jewel/ui/component/styling/TabColors;Lorg/jetbrains/jewel/ui/component/styling/TabMetrics;Lorg/jetbrains/jewel/ui/component/styling/TabIcons;Lorg/jetbrains/jewel/ui/component/styling/TabContentAlpha;Lorg/jetbrains/jewel/ui/component/styling/ScrollbarStyle;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/TabStyle; } @@ -212,13 +247,17 @@ public final class org/jetbrains/jewel/intui/standalone/styling/IntUiDefaultTabS public final class org/jetbrains/jewel/intui/standalone/styling/IntUiDefaultWarningBannerStyleFactory { public static final field $stable I public static final field INSTANCE Lorg/jetbrains/jewel/intui/standalone/styling/IntUiDefaultWarningBannerStyleFactory; - public final fun dark (Lorg/jetbrains/jewel/ui/component/styling/BannerColors;Lorg/jetbrains/jewel/ui/component/styling/BannerMetrics;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyle; - public final fun light (Lorg/jetbrains/jewel/ui/component/styling/BannerColors;Lorg/jetbrains/jewel/ui/component/styling/BannerMetrics;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyle; + public final fun dark (Lorg/jetbrains/jewel/ui/component/styling/BannerColors;Lorg/jetbrains/jewel/ui/component/styling/BannerMetrics;)Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyle; + public static synthetic fun dark$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiDefaultWarningBannerStyleFactory;Lorg/jetbrains/jewel/ui/component/styling/BannerColors;Lorg/jetbrains/jewel/ui/component/styling/BannerMetrics;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyle; + public final fun light (Lorg/jetbrains/jewel/ui/component/styling/BannerColors;Lorg/jetbrains/jewel/ui/component/styling/BannerMetrics;)Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyle; + public static synthetic fun light$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiDefaultWarningBannerStyleFactory;Lorg/jetbrains/jewel/ui/component/styling/BannerColors;Lorg/jetbrains/jewel/ui/component/styling/BannerMetrics;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyle; } public final class org/jetbrains/jewel/intui/standalone/styling/IntUiDividerStyleKt { - public static final fun dark-3IgeMak (Lorg/jetbrains/jewel/ui/component/styling/DividerStyle$Companion;JLorg/jetbrains/jewel/ui/component/styling/DividerMetrics;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/DividerStyle; - public static final fun light-3IgeMak (Lorg/jetbrains/jewel/ui/component/styling/DividerStyle$Companion;JLorg/jetbrains/jewel/ui/component/styling/DividerMetrics;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/DividerStyle; + public static final fun dark-bw27NRU (Lorg/jetbrains/jewel/ui/component/styling/DividerStyle$Companion;JLorg/jetbrains/jewel/ui/component/styling/DividerMetrics;)Lorg/jetbrains/jewel/ui/component/styling/DividerStyle; + public static synthetic fun dark-bw27NRU$default (Lorg/jetbrains/jewel/ui/component/styling/DividerStyle$Companion;JLorg/jetbrains/jewel/ui/component/styling/DividerMetrics;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/DividerStyle; + public static final fun light-bw27NRU (Lorg/jetbrains/jewel/ui/component/styling/DividerStyle$Companion;JLorg/jetbrains/jewel/ui/component/styling/DividerMetrics;)Lorg/jetbrains/jewel/ui/component/styling/DividerStyle; + public static synthetic fun light-bw27NRU$default (Lorg/jetbrains/jewel/ui/component/styling/DividerStyle$Companion;JLorg/jetbrains/jewel/ui/component/styling/DividerMetrics;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/DividerStyle; } public final class org/jetbrains/jewel/intui/standalone/styling/IntUiDropdownStylingKt { @@ -246,42 +285,56 @@ public final class org/jetbrains/jewel/intui/standalone/styling/IntUiEditorTabCo public final class org/jetbrains/jewel/intui/standalone/styling/IntUiEditorTabStyleFactory { public static final field $stable I public static final field INSTANCE Lorg/jetbrains/jewel/intui/standalone/styling/IntUiEditorTabStyleFactory; - public final fun dark (Lorg/jetbrains/jewel/ui/component/styling/TabColors;Lorg/jetbrains/jewel/ui/component/styling/TabMetrics;Lorg/jetbrains/jewel/ui/component/styling/TabIcons;Lorg/jetbrains/jewel/ui/component/styling/TabContentAlpha;Lorg/jetbrains/jewel/ui/component/styling/ScrollbarStyle;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/TabStyle; - public final fun light (Lorg/jetbrains/jewel/ui/component/styling/TabColors;Lorg/jetbrains/jewel/ui/component/styling/TabMetrics;Lorg/jetbrains/jewel/ui/component/styling/TabIcons;Lorg/jetbrains/jewel/ui/component/styling/TabContentAlpha;Lorg/jetbrains/jewel/ui/component/styling/ScrollbarStyle;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/TabStyle; + public final fun dark (Lorg/jetbrains/jewel/ui/component/styling/TabColors;Lorg/jetbrains/jewel/ui/component/styling/TabMetrics;Lorg/jetbrains/jewel/ui/component/styling/TabIcons;Lorg/jetbrains/jewel/ui/component/styling/TabContentAlpha;Lorg/jetbrains/jewel/ui/component/styling/ScrollbarStyle;)Lorg/jetbrains/jewel/ui/component/styling/TabStyle; + public static synthetic fun dark$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiEditorTabStyleFactory;Lorg/jetbrains/jewel/ui/component/styling/TabColors;Lorg/jetbrains/jewel/ui/component/styling/TabMetrics;Lorg/jetbrains/jewel/ui/component/styling/TabIcons;Lorg/jetbrains/jewel/ui/component/styling/TabContentAlpha;Lorg/jetbrains/jewel/ui/component/styling/ScrollbarStyle;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/TabStyle; + public final fun light (Lorg/jetbrains/jewel/ui/component/styling/TabColors;Lorg/jetbrains/jewel/ui/component/styling/TabMetrics;Lorg/jetbrains/jewel/ui/component/styling/TabIcons;Lorg/jetbrains/jewel/ui/component/styling/TabContentAlpha;Lorg/jetbrains/jewel/ui/component/styling/ScrollbarStyle;)Lorg/jetbrains/jewel/ui/component/styling/TabStyle; + public static synthetic fun light$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiEditorTabStyleFactory;Lorg/jetbrains/jewel/ui/component/styling/TabColors;Lorg/jetbrains/jewel/ui/component/styling/TabMetrics;Lorg/jetbrains/jewel/ui/component/styling/TabIcons;Lorg/jetbrains/jewel/ui/component/styling/TabContentAlpha;Lorg/jetbrains/jewel/ui/component/styling/ScrollbarStyle;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/TabStyle; } public final class org/jetbrains/jewel/intui/standalone/styling/IntUiErrorBannerColorFactory { public static final field $stable I public static final field INSTANCE Lorg/jetbrains/jewel/intui/standalone/styling/IntUiErrorBannerColorFactory; - public final fun dark-dgg9oW8 (JJLandroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/BannerColors; - public final fun light-dgg9oW8 (JJLandroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/BannerColors; + public final fun dark--OWjLjI (JJ)Lorg/jetbrains/jewel/ui/component/styling/BannerColors; + public static synthetic fun dark--OWjLjI$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiErrorBannerColorFactory;JJILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/BannerColors; + public final fun light--OWjLjI (JJ)Lorg/jetbrains/jewel/ui/component/styling/BannerColors; + public static synthetic fun light--OWjLjI$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiErrorBannerColorFactory;JJILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/BannerColors; } public final class org/jetbrains/jewel/intui/standalone/styling/IntUiGroupHeaderStylingKt { - public static final fun dark (Lorg/jetbrains/jewel/ui/component/styling/GroupHeaderStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/GroupHeaderColors;Lorg/jetbrains/jewel/ui/component/styling/GroupHeaderMetrics;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/GroupHeaderStyle; - public static final fun dark-iJQMabo (Lorg/jetbrains/jewel/ui/component/styling/GroupHeaderColors$Companion;JLandroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/GroupHeaderColors; + public static final fun dark (Lorg/jetbrains/jewel/ui/component/styling/GroupHeaderStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/GroupHeaderColors;Lorg/jetbrains/jewel/ui/component/styling/GroupHeaderMetrics;)Lorg/jetbrains/jewel/ui/component/styling/GroupHeaderStyle; + public static synthetic fun dark$default (Lorg/jetbrains/jewel/ui/component/styling/GroupHeaderStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/GroupHeaderColors;Lorg/jetbrains/jewel/ui/component/styling/GroupHeaderMetrics;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/GroupHeaderStyle; + public static final fun dark-4WTKRHQ (Lorg/jetbrains/jewel/ui/component/styling/GroupHeaderColors$Companion;J)Lorg/jetbrains/jewel/ui/component/styling/GroupHeaderColors; + public static synthetic fun dark-4WTKRHQ$default (Lorg/jetbrains/jewel/ui/component/styling/GroupHeaderColors$Companion;JILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/GroupHeaderColors; public static final fun defaults-VpY3zN4 (Lorg/jetbrains/jewel/ui/component/styling/GroupHeaderMetrics$Companion;FF)Lorg/jetbrains/jewel/ui/component/styling/GroupHeaderMetrics; public static synthetic fun defaults-VpY3zN4$default (Lorg/jetbrains/jewel/ui/component/styling/GroupHeaderMetrics$Companion;FFILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/GroupHeaderMetrics; - public static final fun light (Lorg/jetbrains/jewel/ui/component/styling/GroupHeaderStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/GroupHeaderColors;Lorg/jetbrains/jewel/ui/component/styling/GroupHeaderMetrics;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/GroupHeaderStyle; - public static final fun light-iJQMabo (Lorg/jetbrains/jewel/ui/component/styling/GroupHeaderColors$Companion;JLandroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/GroupHeaderColors; + public static final fun light (Lorg/jetbrains/jewel/ui/component/styling/GroupHeaderStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/GroupHeaderColors;Lorg/jetbrains/jewel/ui/component/styling/GroupHeaderMetrics;)Lorg/jetbrains/jewel/ui/component/styling/GroupHeaderStyle; + public static synthetic fun light$default (Lorg/jetbrains/jewel/ui/component/styling/GroupHeaderStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/GroupHeaderColors;Lorg/jetbrains/jewel/ui/component/styling/GroupHeaderMetrics;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/GroupHeaderStyle; + public static final fun light-4WTKRHQ (Lorg/jetbrains/jewel/ui/component/styling/GroupHeaderColors$Companion;J)Lorg/jetbrains/jewel/ui/component/styling/GroupHeaderColors; + public static synthetic fun light-4WTKRHQ$default (Lorg/jetbrains/jewel/ui/component/styling/GroupHeaderColors$Companion;JILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/GroupHeaderColors; } public final class org/jetbrains/jewel/intui/standalone/styling/IntUiHorizontalProgressBarStylingKt { - public static final fun dark-45ZY6uE (Lorg/jetbrains/jewel/ui/component/styling/HorizontalProgressBarStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/HorizontalProgressBarColors;Lorg/jetbrains/jewel/ui/component/styling/HorizontalProgressBarMetrics;JLandroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/HorizontalProgressBarStyle; - public static final fun dark-zf8z9n0 (Lorg/jetbrains/jewel/ui/component/styling/HorizontalProgressBarColors$Companion;JJJJLandroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/HorizontalProgressBarColors; + public static final fun dark--hDc7uY (Lorg/jetbrains/jewel/ui/component/styling/HorizontalProgressBarColors$Companion;JJJJ)Lorg/jetbrains/jewel/ui/component/styling/HorizontalProgressBarColors; + public static synthetic fun dark--hDc7uY$default (Lorg/jetbrains/jewel/ui/component/styling/HorizontalProgressBarColors$Companion;JJJJILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/HorizontalProgressBarColors; + public static final fun dark-Wn2Vu4Y (Lorg/jetbrains/jewel/ui/component/styling/HorizontalProgressBarStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/HorizontalProgressBarColors;Lorg/jetbrains/jewel/ui/component/styling/HorizontalProgressBarMetrics;J)Lorg/jetbrains/jewel/ui/component/styling/HorizontalProgressBarStyle; + public static synthetic fun dark-Wn2Vu4Y$default (Lorg/jetbrains/jewel/ui/component/styling/HorizontalProgressBarStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/HorizontalProgressBarColors;Lorg/jetbrains/jewel/ui/component/styling/HorizontalProgressBarMetrics;JILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/HorizontalProgressBarStyle; public static final fun defaults-4j6BHR0 (Lorg/jetbrains/jewel/ui/component/styling/HorizontalProgressBarMetrics$Companion;Landroidx/compose/foundation/shape/CornerSize;FF)Lorg/jetbrains/jewel/ui/component/styling/HorizontalProgressBarMetrics; public static synthetic fun defaults-4j6BHR0$default (Lorg/jetbrains/jewel/ui/component/styling/HorizontalProgressBarMetrics$Companion;Landroidx/compose/foundation/shape/CornerSize;FFILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/HorizontalProgressBarMetrics; - public static final fun light-45ZY6uE (Lorg/jetbrains/jewel/ui/component/styling/HorizontalProgressBarStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/HorizontalProgressBarColors;Lorg/jetbrains/jewel/ui/component/styling/HorizontalProgressBarMetrics;JLandroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/HorizontalProgressBarStyle; - public static final fun light-zf8z9n0 (Lorg/jetbrains/jewel/ui/component/styling/HorizontalProgressBarColors$Companion;JJJJLandroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/HorizontalProgressBarColors; + public static final fun light--hDc7uY (Lorg/jetbrains/jewel/ui/component/styling/HorizontalProgressBarColors$Companion;JJJJ)Lorg/jetbrains/jewel/ui/component/styling/HorizontalProgressBarColors; + public static synthetic fun light--hDc7uY$default (Lorg/jetbrains/jewel/ui/component/styling/HorizontalProgressBarColors$Companion;JJJJILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/HorizontalProgressBarColors; + public static final fun light-Wn2Vu4Y (Lorg/jetbrains/jewel/ui/component/styling/HorizontalProgressBarStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/HorizontalProgressBarColors;Lorg/jetbrains/jewel/ui/component/styling/HorizontalProgressBarMetrics;J)Lorg/jetbrains/jewel/ui/component/styling/HorizontalProgressBarStyle; + public static synthetic fun light-Wn2Vu4Y$default (Lorg/jetbrains/jewel/ui/component/styling/HorizontalProgressBarStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/HorizontalProgressBarColors;Lorg/jetbrains/jewel/ui/component/styling/HorizontalProgressBarMetrics;JILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/HorizontalProgressBarStyle; } public final class org/jetbrains/jewel/intui/standalone/styling/IntUiIconButtonStylingKt { - public static final fun dark (Lorg/jetbrains/jewel/ui/component/styling/IconButtonStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/IconButtonColors;Lorg/jetbrains/jewel/ui/component/styling/IconButtonMetrics;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/IconButtonStyle; + public static final fun dark (Lorg/jetbrains/jewel/ui/component/styling/IconButtonStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/IconButtonColors;Lorg/jetbrains/jewel/ui/component/styling/IconButtonMetrics;)Lorg/jetbrains/jewel/ui/component/styling/IconButtonStyle; + public static synthetic fun dark$default (Lorg/jetbrains/jewel/ui/component/styling/IconButtonStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/IconButtonColors;Lorg/jetbrains/jewel/ui/component/styling/IconButtonMetrics;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/IconButtonStyle; public static final fun dark-7HESe_I (Lorg/jetbrains/jewel/ui/component/styling/IconButtonColors$Companion;JJJJJJJJJJJJJJJ)Lorg/jetbrains/jewel/ui/component/styling/IconButtonColors; public static synthetic fun dark-7HESe_I$default (Lorg/jetbrains/jewel/ui/component/styling/IconButtonColors$Companion;JJJJJJJJJJJJJJJILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/IconButtonColors; public static final fun defaults-ij7-PLE (Lorg/jetbrains/jewel/ui/component/styling/IconButtonMetrics$Companion;Landroidx/compose/foundation/shape/CornerSize;FLandroidx/compose/foundation/layout/PaddingValues;J)Lorg/jetbrains/jewel/ui/component/styling/IconButtonMetrics; public static synthetic fun defaults-ij7-PLE$default (Lorg/jetbrains/jewel/ui/component/styling/IconButtonMetrics$Companion;Landroidx/compose/foundation/shape/CornerSize;FLandroidx/compose/foundation/layout/PaddingValues;JILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/IconButtonMetrics; - public static final fun light (Lorg/jetbrains/jewel/ui/component/styling/IconButtonStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/IconButtonColors;Lorg/jetbrains/jewel/ui/component/styling/IconButtonMetrics;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/IconButtonStyle; + public static final fun light (Lorg/jetbrains/jewel/ui/component/styling/IconButtonStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/IconButtonColors;Lorg/jetbrains/jewel/ui/component/styling/IconButtonMetrics;)Lorg/jetbrains/jewel/ui/component/styling/IconButtonStyle; + public static synthetic fun light$default (Lorg/jetbrains/jewel/ui/component/styling/IconButtonStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/IconButtonColors;Lorg/jetbrains/jewel/ui/component/styling/IconButtonMetrics;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/IconButtonStyle; public static final fun light-7HESe_I (Lorg/jetbrains/jewel/ui/component/styling/IconButtonColors$Companion;JJJJJJJJJJJJJJJ)Lorg/jetbrains/jewel/ui/component/styling/IconButtonColors; public static synthetic fun light-7HESe_I$default (Lorg/jetbrains/jewel/ui/component/styling/IconButtonColors$Companion;JJJJJJJJJJJJJJJILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/IconButtonColors; } @@ -289,52 +342,66 @@ public final class org/jetbrains/jewel/intui/standalone/styling/IntUiIconButtonS public final class org/jetbrains/jewel/intui/standalone/styling/IntUiInformationBannerColorFactory { public static final field $stable I public static final field INSTANCE Lorg/jetbrains/jewel/intui/standalone/styling/IntUiInformationBannerColorFactory; - public final fun dark-dgg9oW8 (JJLandroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/BannerColors; - public final fun light-dgg9oW8 (JJLandroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/BannerColors; + public final fun dark--OWjLjI (JJ)Lorg/jetbrains/jewel/ui/component/styling/BannerColors; + public static synthetic fun dark--OWjLjI$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiInformationBannerColorFactory;JJILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/BannerColors; + public final fun light--OWjLjI (JJ)Lorg/jetbrains/jewel/ui/component/styling/BannerColors; + public static synthetic fun light--OWjLjI$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiInformationBannerColorFactory;JJILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/BannerColors; } public final class org/jetbrains/jewel/intui/standalone/styling/IntUiInlineBannerStylesFactory { public static final field $stable I public static final field INSTANCE Lorg/jetbrains/jewel/intui/standalone/styling/IntUiInlineBannerStylesFactory; - public final fun dark (Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle;Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle;Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle;Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyles; - public final fun light (Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle;Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle;Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle;Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyles; + public final fun dark (Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle;Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle;Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle;Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle;)Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyles; + public static synthetic fun dark$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiInlineBannerStylesFactory;Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle;Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle;Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle;Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyles; + public final fun light (Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle;Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle;Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle;Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle;)Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyles; + public static synthetic fun light$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiInlineBannerStylesFactory;Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle;Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle;Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle;Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyles; } public final class org/jetbrains/jewel/intui/standalone/styling/IntUiInlineErrorBannerStyleFactory { public static final field $stable I public static final field INSTANCE Lorg/jetbrains/jewel/intui/standalone/styling/IntUiInlineErrorBannerStyleFactory; - public final fun dark (Lorg/jetbrains/jewel/ui/component/styling/BannerColors;Lorg/jetbrains/jewel/ui/component/styling/BannerMetrics;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle; - public final fun light (Lorg/jetbrains/jewel/ui/component/styling/BannerColors;Lorg/jetbrains/jewel/ui/component/styling/BannerMetrics;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle; + public final fun dark (Lorg/jetbrains/jewel/ui/component/styling/BannerColors;Lorg/jetbrains/jewel/ui/component/styling/BannerMetrics;)Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle; + public static synthetic fun dark$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiInlineErrorBannerStyleFactory;Lorg/jetbrains/jewel/ui/component/styling/BannerColors;Lorg/jetbrains/jewel/ui/component/styling/BannerMetrics;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle; + public final fun light (Lorg/jetbrains/jewel/ui/component/styling/BannerColors;Lorg/jetbrains/jewel/ui/component/styling/BannerMetrics;)Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle; + public static synthetic fun light$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiInlineErrorBannerStyleFactory;Lorg/jetbrains/jewel/ui/component/styling/BannerColors;Lorg/jetbrains/jewel/ui/component/styling/BannerMetrics;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle; } public final class org/jetbrains/jewel/intui/standalone/styling/IntUiInlineInformationBannerStyleFactory { public static final field $stable I public static final field INSTANCE Lorg/jetbrains/jewel/intui/standalone/styling/IntUiInlineInformationBannerStyleFactory; - public final fun dark (Lorg/jetbrains/jewel/ui/component/styling/BannerColors;Lorg/jetbrains/jewel/ui/component/styling/BannerMetrics;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle; - public final fun light (Lorg/jetbrains/jewel/ui/component/styling/BannerColors;Lorg/jetbrains/jewel/ui/component/styling/BannerMetrics;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle; + public final fun dark (Lorg/jetbrains/jewel/ui/component/styling/BannerColors;Lorg/jetbrains/jewel/ui/component/styling/BannerMetrics;)Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle; + public static synthetic fun dark$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiInlineInformationBannerStyleFactory;Lorg/jetbrains/jewel/ui/component/styling/BannerColors;Lorg/jetbrains/jewel/ui/component/styling/BannerMetrics;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle; + public final fun light (Lorg/jetbrains/jewel/ui/component/styling/BannerColors;Lorg/jetbrains/jewel/ui/component/styling/BannerMetrics;)Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle; + public static synthetic fun light$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiInlineInformationBannerStyleFactory;Lorg/jetbrains/jewel/ui/component/styling/BannerColors;Lorg/jetbrains/jewel/ui/component/styling/BannerMetrics;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle; } public final class org/jetbrains/jewel/intui/standalone/styling/IntUiInlineSuccessBannerStyleFactory { public static final field $stable I public static final field INSTANCE Lorg/jetbrains/jewel/intui/standalone/styling/IntUiInlineSuccessBannerStyleFactory; - public final fun dark (Lorg/jetbrains/jewel/ui/component/styling/BannerColors;Lorg/jetbrains/jewel/ui/component/styling/BannerMetrics;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle; - public final fun light (Lorg/jetbrains/jewel/ui/component/styling/BannerColors;Lorg/jetbrains/jewel/ui/component/styling/BannerMetrics;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle; + public final fun dark (Lorg/jetbrains/jewel/ui/component/styling/BannerColors;Lorg/jetbrains/jewel/ui/component/styling/BannerMetrics;)Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle; + public static synthetic fun dark$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiInlineSuccessBannerStyleFactory;Lorg/jetbrains/jewel/ui/component/styling/BannerColors;Lorg/jetbrains/jewel/ui/component/styling/BannerMetrics;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle; + public final fun light (Lorg/jetbrains/jewel/ui/component/styling/BannerColors;Lorg/jetbrains/jewel/ui/component/styling/BannerMetrics;)Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle; + public static synthetic fun light$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiInlineSuccessBannerStyleFactory;Lorg/jetbrains/jewel/ui/component/styling/BannerColors;Lorg/jetbrains/jewel/ui/component/styling/BannerMetrics;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle; } public final class org/jetbrains/jewel/intui/standalone/styling/IntUiInlineWarningBannerStyleFactory { public static final field $stable I public static final field INSTANCE Lorg/jetbrains/jewel/intui/standalone/styling/IntUiInlineWarningBannerStyleFactory; - public final fun dark (Lorg/jetbrains/jewel/ui/component/styling/BannerColors;Lorg/jetbrains/jewel/ui/component/styling/BannerMetrics;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle; - public final fun light (Lorg/jetbrains/jewel/ui/component/styling/BannerColors;Lorg/jetbrains/jewel/ui/component/styling/BannerMetrics;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle; + public final fun dark (Lorg/jetbrains/jewel/ui/component/styling/BannerColors;Lorg/jetbrains/jewel/ui/component/styling/BannerMetrics;)Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle; + public static synthetic fun dark$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiInlineWarningBannerStyleFactory;Lorg/jetbrains/jewel/ui/component/styling/BannerColors;Lorg/jetbrains/jewel/ui/component/styling/BannerMetrics;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle; + public final fun light (Lorg/jetbrains/jewel/ui/component/styling/BannerColors;Lorg/jetbrains/jewel/ui/component/styling/BannerMetrics;)Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle; + public static synthetic fun light$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiInlineWarningBannerStyleFactory;Lorg/jetbrains/jewel/ui/component/styling/BannerColors;Lorg/jetbrains/jewel/ui/component/styling/BannerMetrics;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle; } public final class org/jetbrains/jewel/intui/standalone/styling/IntUiLazyTreeStylingKt { - public static final fun dark (Lorg/jetbrains/jewel/ui/component/styling/LazyTreeStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/SimpleListItemColors;Lorg/jetbrains/jewel/ui/component/styling/LazyTreeMetrics;Lorg/jetbrains/jewel/ui/component/styling/LazyTreeIcons;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/LazyTreeStyle; + public static final fun dark (Lorg/jetbrains/jewel/ui/component/styling/LazyTreeStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/SimpleListItemColors;Lorg/jetbrains/jewel/ui/component/styling/LazyTreeMetrics;Lorg/jetbrains/jewel/ui/component/styling/LazyTreeIcons;)Lorg/jetbrains/jewel/ui/component/styling/LazyTreeStyle; + public static synthetic fun dark$default (Lorg/jetbrains/jewel/ui/component/styling/LazyTreeStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/SimpleListItemColors;Lorg/jetbrains/jewel/ui/component/styling/LazyTreeMetrics;Lorg/jetbrains/jewel/ui/component/styling/LazyTreeIcons;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/LazyTreeStyle; public static final fun defaults (Lorg/jetbrains/jewel/ui/component/styling/LazyTreeIcons$Companion;Lorg/jetbrains/jewel/ui/icon/IconKey;Lorg/jetbrains/jewel/ui/icon/IconKey;Lorg/jetbrains/jewel/ui/icon/IconKey;Lorg/jetbrains/jewel/ui/icon/IconKey;)Lorg/jetbrains/jewel/ui/component/styling/LazyTreeIcons; public static synthetic fun defaults$default (Lorg/jetbrains/jewel/ui/component/styling/LazyTreeIcons$Companion;Lorg/jetbrains/jewel/ui/icon/IconKey;Lorg/jetbrains/jewel/ui/icon/IconKey;Lorg/jetbrains/jewel/ui/icon/IconKey;Lorg/jetbrains/jewel/ui/icon/IconKey;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/LazyTreeIcons; public static final fun defaults-FqMU-wI (Lorg/jetbrains/jewel/ui/component/styling/LazyTreeMetrics$Companion;FLandroidx/compose/foundation/shape/CornerSize;Landroidx/compose/foundation/layout/PaddingValues;Landroidx/compose/foundation/layout/PaddingValues;FFF)Lorg/jetbrains/jewel/ui/component/styling/LazyTreeMetrics; public static synthetic fun defaults-FqMU-wI$default (Lorg/jetbrains/jewel/ui/component/styling/LazyTreeMetrics$Companion;FLandroidx/compose/foundation/shape/CornerSize;Landroidx/compose/foundation/layout/PaddingValues;Landroidx/compose/foundation/layout/PaddingValues;FFFILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/LazyTreeMetrics; - public static final fun light (Lorg/jetbrains/jewel/ui/component/styling/LazyTreeStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/SimpleListItemColors;Lorg/jetbrains/jewel/ui/component/styling/LazyTreeMetrics;Lorg/jetbrains/jewel/ui/component/styling/LazyTreeIcons;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/LazyTreeStyle; + public static final fun light (Lorg/jetbrains/jewel/ui/component/styling/LazyTreeStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/SimpleListItemColors;Lorg/jetbrains/jewel/ui/component/styling/LazyTreeMetrics;Lorg/jetbrains/jewel/ui/component/styling/LazyTreeIcons;)Lorg/jetbrains/jewel/ui/component/styling/LazyTreeStyle; + public static synthetic fun light$default (Lorg/jetbrains/jewel/ui/component/styling/LazyTreeStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/SimpleListItemColors;Lorg/jetbrains/jewel/ui/component/styling/LazyTreeMetrics;Lorg/jetbrains/jewel/ui/component/styling/LazyTreeIcons;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/LazyTreeStyle; } public final class org/jetbrains/jewel/intui/standalone/styling/IntUiLinkStylingKt { @@ -353,9 +420,12 @@ public final class org/jetbrains/jewel/intui/standalone/styling/IntUiLinkStyling } public final class org/jetbrains/jewel/intui/standalone/styling/IntUiMenuStylingKt { - public static final fun dark (Lorg/jetbrains/jewel/ui/component/styling/MenuStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/MenuColors;Lorg/jetbrains/jewel/ui/component/styling/MenuMetrics;Lorg/jetbrains/jewel/ui/component/styling/MenuIcons;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/MenuStyle; - public static final fun dark-Jy8F4Js (Lorg/jetbrains/jewel/ui/component/styling/MenuColors$Companion;JJJLorg/jetbrains/jewel/ui/component/styling/MenuItemColors;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/MenuColors; - public static final fun dark-a3tHFA8 (Lorg/jetbrains/jewel/ui/component/styling/MenuItemColors$Companion;JJJJJJJJJJJJJJJJJJJJJLandroidx/compose/runtime/Composer;IIII)Lorg/jetbrains/jewel/ui/component/styling/MenuItemColors; + public static final fun dark (Lorg/jetbrains/jewel/ui/component/styling/MenuStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/MenuColors;Lorg/jetbrains/jewel/ui/component/styling/MenuMetrics;Lorg/jetbrains/jewel/ui/component/styling/MenuIcons;)Lorg/jetbrains/jewel/ui/component/styling/MenuStyle; + public static synthetic fun dark$default (Lorg/jetbrains/jewel/ui/component/styling/MenuStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/MenuColors;Lorg/jetbrains/jewel/ui/component/styling/MenuMetrics;Lorg/jetbrains/jewel/ui/component/styling/MenuIcons;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/MenuStyle; + public static final fun dark-1LmPkY4 (Lorg/jetbrains/jewel/ui/component/styling/MenuItemColors$Companion;JJJJJJJJJJJJJJJJJJJJJ)Lorg/jetbrains/jewel/ui/component/styling/MenuItemColors; + public static synthetic fun dark-1LmPkY4$default (Lorg/jetbrains/jewel/ui/component/styling/MenuItemColors$Companion;JJJJJJJJJJJJJJJJJJJJJILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/MenuItemColors; + public static final fun dark-f1JAnFk (Lorg/jetbrains/jewel/ui/component/styling/MenuColors$Companion;JJJLorg/jetbrains/jewel/ui/component/styling/MenuItemColors;)Lorg/jetbrains/jewel/ui/component/styling/MenuColors; + public static synthetic fun dark-f1JAnFk$default (Lorg/jetbrains/jewel/ui/component/styling/MenuColors$Companion;JJJLorg/jetbrains/jewel/ui/component/styling/MenuItemColors;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/MenuColors; public static final fun defaults (Lorg/jetbrains/jewel/ui/component/styling/MenuIcons$Companion;Lorg/jetbrains/jewel/ui/icon/IconKey;)Lorg/jetbrains/jewel/ui/component/styling/MenuIcons; public static synthetic fun defaults$default (Lorg/jetbrains/jewel/ui/component/styling/MenuIcons$Companion;Lorg/jetbrains/jewel/ui/icon/IconKey;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/MenuIcons; public static final fun defaults-BkVx2pU (Lorg/jetbrains/jewel/ui/component/styling/SubmenuMetrics$Companion;J)Lorg/jetbrains/jewel/ui/component/styling/SubmenuMetrics; @@ -364,52 +434,69 @@ public final class org/jetbrains/jewel/intui/standalone/styling/IntUiMenuStyling public static synthetic fun defaults-ORMxH6s$default (Lorg/jetbrains/jewel/ui/component/styling/MenuMetrics$Companion;Landroidx/compose/foundation/shape/CornerSize;Landroidx/compose/foundation/layout/PaddingValues;Landroidx/compose/foundation/layout/PaddingValues;JFFLorg/jetbrains/jewel/ui/component/styling/MenuItemMetrics;Lorg/jetbrains/jewel/ui/component/styling/SubmenuMetrics;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/MenuMetrics; public static final fun defaults-r9IS1ZE (Lorg/jetbrains/jewel/ui/component/styling/MenuItemMetrics$Companion;Landroidx/compose/foundation/shape/CornerSize;Landroidx/compose/foundation/layout/PaddingValues;Landroidx/compose/foundation/layout/PaddingValues;Landroidx/compose/foundation/layout/PaddingValues;Landroidx/compose/foundation/layout/PaddingValues;FFFF)Lorg/jetbrains/jewel/ui/component/styling/MenuItemMetrics; public static synthetic fun defaults-r9IS1ZE$default (Lorg/jetbrains/jewel/ui/component/styling/MenuItemMetrics$Companion;Landroidx/compose/foundation/shape/CornerSize;Landroidx/compose/foundation/layout/PaddingValues;Landroidx/compose/foundation/layout/PaddingValues;Landroidx/compose/foundation/layout/PaddingValues;Landroidx/compose/foundation/layout/PaddingValues;FFFFILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/MenuItemMetrics; - public static final fun light (Lorg/jetbrains/jewel/ui/component/styling/MenuStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/MenuColors;Lorg/jetbrains/jewel/ui/component/styling/MenuMetrics;Lorg/jetbrains/jewel/ui/component/styling/MenuIcons;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/MenuStyle; - public static final fun light-Jy8F4Js (Lorg/jetbrains/jewel/ui/component/styling/MenuColors$Companion;JJJLorg/jetbrains/jewel/ui/component/styling/MenuItemColors;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/MenuColors; - public static final fun light-a3tHFA8 (Lorg/jetbrains/jewel/ui/component/styling/MenuItemColors$Companion;JJJJJJJJJJJJJJJJJJJJJLandroidx/compose/runtime/Composer;IIII)Lorg/jetbrains/jewel/ui/component/styling/MenuItemColors; + public static final fun light (Lorg/jetbrains/jewel/ui/component/styling/MenuStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/MenuColors;Lorg/jetbrains/jewel/ui/component/styling/MenuMetrics;Lorg/jetbrains/jewel/ui/component/styling/MenuIcons;)Lorg/jetbrains/jewel/ui/component/styling/MenuStyle; + public static synthetic fun light$default (Lorg/jetbrains/jewel/ui/component/styling/MenuStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/MenuColors;Lorg/jetbrains/jewel/ui/component/styling/MenuMetrics;Lorg/jetbrains/jewel/ui/component/styling/MenuIcons;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/MenuStyle; + public static final fun light-1LmPkY4 (Lorg/jetbrains/jewel/ui/component/styling/MenuItemColors$Companion;JJJJJJJJJJJJJJJJJJJJJ)Lorg/jetbrains/jewel/ui/component/styling/MenuItemColors; + public static synthetic fun light-1LmPkY4$default (Lorg/jetbrains/jewel/ui/component/styling/MenuItemColors$Companion;JJJJJJJJJJJJJJJJJJJJJILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/MenuItemColors; + public static final fun light-f1JAnFk (Lorg/jetbrains/jewel/ui/component/styling/MenuColors$Companion;JJJLorg/jetbrains/jewel/ui/component/styling/MenuItemColors;)Lorg/jetbrains/jewel/ui/component/styling/MenuColors; + public static synthetic fun light-f1JAnFk$default (Lorg/jetbrains/jewel/ui/component/styling/MenuColors$Companion;JJJLorg/jetbrains/jewel/ui/component/styling/MenuItemColors;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/MenuColors; } public final class org/jetbrains/jewel/intui/standalone/styling/IntUiOutlinedButtonColorFactory { public static final field $stable I public static final field INSTANCE Lorg/jetbrains/jewel/intui/standalone/styling/IntUiOutlinedButtonColorFactory; - public final fun dark-AckW74Y (Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;JJJJJLandroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/runtime/Composer;III)Lorg/jetbrains/jewel/ui/component/styling/ButtonColors; - public final fun light-AckW74Y (Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;JJJJJLandroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/runtime/Composer;III)Lorg/jetbrains/jewel/ui/component/styling/ButtonColors; + public final fun dark-jhmft08 (Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;JJJJJLandroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;)Lorg/jetbrains/jewel/ui/component/styling/ButtonColors; + public static synthetic fun dark-jhmft08$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiOutlinedButtonColorFactory;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;JJJJJLandroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/ButtonColors; + public final fun light-jhmft08 (Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;JJJJJLandroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;)Lorg/jetbrains/jewel/ui/component/styling/ButtonColors; + public static synthetic fun light-jhmft08$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiOutlinedButtonColorFactory;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;JJJJJLandroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/ButtonColors; } public final class org/jetbrains/jewel/intui/standalone/styling/IntUiOutlinedButtonStyleFactory { public static final field $stable I public static final field INSTANCE Lorg/jetbrains/jewel/intui/standalone/styling/IntUiOutlinedButtonStyleFactory; - public final fun dark (Lorg/jetbrains/jewel/ui/component/styling/ButtonColors;Lorg/jetbrains/jewel/ui/component/styling/ButtonMetrics;Lorg/jetbrains/jewel/foundation/Stroke$Alignment;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/ButtonStyle; - public final fun light (Lorg/jetbrains/jewel/ui/component/styling/ButtonColors;Lorg/jetbrains/jewel/ui/component/styling/ButtonMetrics;Lorg/jetbrains/jewel/foundation/Stroke$Alignment;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/ButtonStyle; + public final fun dark (Lorg/jetbrains/jewel/ui/component/styling/ButtonColors;Lorg/jetbrains/jewel/ui/component/styling/ButtonMetrics;Lorg/jetbrains/jewel/foundation/Stroke$Alignment;)Lorg/jetbrains/jewel/ui/component/styling/ButtonStyle; + public static synthetic fun dark$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiOutlinedButtonStyleFactory;Lorg/jetbrains/jewel/ui/component/styling/ButtonColors;Lorg/jetbrains/jewel/ui/component/styling/ButtonMetrics;Lorg/jetbrains/jewel/foundation/Stroke$Alignment;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/ButtonStyle; + public final fun light (Lorg/jetbrains/jewel/ui/component/styling/ButtonColors;Lorg/jetbrains/jewel/ui/component/styling/ButtonMetrics;Lorg/jetbrains/jewel/foundation/Stroke$Alignment;)Lorg/jetbrains/jewel/ui/component/styling/ButtonStyle; + public static synthetic fun light$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiOutlinedButtonStyleFactory;Lorg/jetbrains/jewel/ui/component/styling/ButtonColors;Lorg/jetbrains/jewel/ui/component/styling/ButtonMetrics;Lorg/jetbrains/jewel/foundation/Stroke$Alignment;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/ButtonStyle; } public final class org/jetbrains/jewel/intui/standalone/styling/IntUiOutlinedSplitButtonStyleFactory { public static final field $stable I public static final field INSTANCE Lorg/jetbrains/jewel/intui/standalone/styling/IntUiOutlinedSplitButtonStyleFactory; - public final fun dark-lHvuNTo (Lorg/jetbrains/jewel/ui/component/styling/ButtonStyle;Lorg/jetbrains/jewel/ui/component/styling/DividerMetrics;JJFJLandroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/SplitButtonStyle; - public final fun light-lHvuNTo (Lorg/jetbrains/jewel/ui/component/styling/ButtonStyle;Lorg/jetbrains/jewel/ui/component/styling/DividerMetrics;JJFJLandroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/SplitButtonStyle; + public final fun dark-NqQqPsg (Lorg/jetbrains/jewel/ui/component/styling/ButtonStyle;Lorg/jetbrains/jewel/ui/component/styling/DividerMetrics;JJFJ)Lorg/jetbrains/jewel/ui/component/styling/SplitButtonStyle; + public static synthetic fun dark-NqQqPsg$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiOutlinedSplitButtonStyleFactory;Lorg/jetbrains/jewel/ui/component/styling/ButtonStyle;Lorg/jetbrains/jewel/ui/component/styling/DividerMetrics;JJFJILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/SplitButtonStyle; + public final fun light-NqQqPsg (Lorg/jetbrains/jewel/ui/component/styling/ButtonStyle;Lorg/jetbrains/jewel/ui/component/styling/DividerMetrics;JJFJ)Lorg/jetbrains/jewel/ui/component/styling/SplitButtonStyle; + public static synthetic fun light-NqQqPsg$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiOutlinedSplitButtonStyleFactory;Lorg/jetbrains/jewel/ui/component/styling/ButtonStyle;Lorg/jetbrains/jewel/ui/component/styling/DividerMetrics;JJFJILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/SplitButtonStyle; } public final class org/jetbrains/jewel/intui/standalone/styling/IntUiPopupContainerStylingKt { - public static final fun dark (Lorg/jetbrains/jewel/ui/component/styling/PopupContainerStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/PopupContainerColors;Lorg/jetbrains/jewel/ui/component/styling/PopupContainerMetrics;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/PopupContainerStyle; - public static final fun dark-GyCwops (Lorg/jetbrains/jewel/ui/component/styling/PopupContainerColors$Companion;JJJLandroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/PopupContainerColors; + public static final fun dark (Lorg/jetbrains/jewel/ui/component/styling/PopupContainerStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/PopupContainerColors;Lorg/jetbrains/jewel/ui/component/styling/PopupContainerMetrics;)Lorg/jetbrains/jewel/ui/component/styling/PopupContainerStyle; + public static synthetic fun dark$default (Lorg/jetbrains/jewel/ui/component/styling/PopupContainerStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/PopupContainerColors;Lorg/jetbrains/jewel/ui/component/styling/PopupContainerMetrics;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/PopupContainerStyle; + public static final fun dark-zSO0fhY (Lorg/jetbrains/jewel/ui/component/styling/PopupContainerColors$Companion;JJJ)Lorg/jetbrains/jewel/ui/component/styling/PopupContainerColors; + public static synthetic fun dark-zSO0fhY$default (Lorg/jetbrains/jewel/ui/component/styling/PopupContainerColors$Companion;JJJILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/PopupContainerColors; public static final fun defaults-Dd3ibrk (Lorg/jetbrains/jewel/ui/component/styling/PopupContainerMetrics$Companion;Landroidx/compose/foundation/shape/CornerSize;Landroidx/compose/foundation/layout/PaddingValues;Landroidx/compose/foundation/layout/PaddingValues;JFF)Lorg/jetbrains/jewel/ui/component/styling/PopupContainerMetrics; public static synthetic fun defaults-Dd3ibrk$default (Lorg/jetbrains/jewel/ui/component/styling/PopupContainerMetrics$Companion;Landroidx/compose/foundation/shape/CornerSize;Landroidx/compose/foundation/layout/PaddingValues;Landroidx/compose/foundation/layout/PaddingValues;JFFILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/PopupContainerMetrics; - public static final fun light (Lorg/jetbrains/jewel/ui/component/styling/PopupContainerStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/PopupContainerColors;Lorg/jetbrains/jewel/ui/component/styling/PopupContainerMetrics;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/PopupContainerStyle; - public static final fun light-GyCwops (Lorg/jetbrains/jewel/ui/component/styling/PopupContainerColors$Companion;JJJLandroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/PopupContainerColors; + public static final fun light (Lorg/jetbrains/jewel/ui/component/styling/PopupContainerStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/PopupContainerColors;Lorg/jetbrains/jewel/ui/component/styling/PopupContainerMetrics;)Lorg/jetbrains/jewel/ui/component/styling/PopupContainerStyle; + public static synthetic fun light$default (Lorg/jetbrains/jewel/ui/component/styling/PopupContainerStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/PopupContainerColors;Lorg/jetbrains/jewel/ui/component/styling/PopupContainerMetrics;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/PopupContainerStyle; + public static final fun light-zSO0fhY (Lorg/jetbrains/jewel/ui/component/styling/PopupContainerColors$Companion;JJJ)Lorg/jetbrains/jewel/ui/component/styling/PopupContainerColors; + public static synthetic fun light-zSO0fhY$default (Lorg/jetbrains/jewel/ui/component/styling/PopupContainerColors$Companion;JJJILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/PopupContainerColors; } public final class org/jetbrains/jewel/intui/standalone/styling/IntUiRadioButtonStylingKt { public static final fun dark (Lorg/jetbrains/jewel/ui/component/styling/RadioButtonIcons$Companion;Lorg/jetbrains/jewel/ui/icon/IconKey;)Lorg/jetbrains/jewel/ui/component/styling/RadioButtonIcons; - public static final fun dark (Lorg/jetbrains/jewel/ui/component/styling/RadioButtonStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/RadioButtonColors;Lorg/jetbrains/jewel/ui/component/styling/RadioButtonMetrics;Lorg/jetbrains/jewel/ui/component/styling/RadioButtonIcons;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/RadioButtonStyle; + public static final fun dark (Lorg/jetbrains/jewel/ui/component/styling/RadioButtonStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/RadioButtonColors;Lorg/jetbrains/jewel/ui/component/styling/RadioButtonMetrics;Lorg/jetbrains/jewel/ui/component/styling/RadioButtonIcons;)Lorg/jetbrains/jewel/ui/component/styling/RadioButtonStyle; public static synthetic fun dark$default (Lorg/jetbrains/jewel/ui/component/styling/RadioButtonIcons$Companion;Lorg/jetbrains/jewel/ui/icon/IconKey;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/RadioButtonIcons; - public static final fun dark-dPtIKUs (Lorg/jetbrains/jewel/ui/component/styling/RadioButtonColors$Companion;JJJJJJLandroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/RadioButtonColors; + public static synthetic fun dark$default (Lorg/jetbrains/jewel/ui/component/styling/RadioButtonStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/RadioButtonColors;Lorg/jetbrains/jewel/ui/component/styling/RadioButtonMetrics;Lorg/jetbrains/jewel/ui/component/styling/RadioButtonIcons;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/RadioButtonStyle; + public static final fun dark-40kPL-U (Lorg/jetbrains/jewel/ui/component/styling/RadioButtonColors$Companion;JJJJJJ)Lorg/jetbrains/jewel/ui/component/styling/RadioButtonColors; + public static synthetic fun dark-40kPL-U$default (Lorg/jetbrains/jewel/ui/component/styling/RadioButtonColors$Companion;JJJJJJILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/RadioButtonColors; public static final fun defaults-Wf7Cy8o (Lorg/jetbrains/jewel/ui/component/styling/RadioButtonMetrics$Companion;JJJJJF)Lorg/jetbrains/jewel/ui/component/styling/RadioButtonMetrics; public static synthetic fun defaults-Wf7Cy8o$default (Lorg/jetbrains/jewel/ui/component/styling/RadioButtonMetrics$Companion;JJJJJFILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/RadioButtonMetrics; public static final fun light (Lorg/jetbrains/jewel/ui/component/styling/RadioButtonIcons$Companion;Lorg/jetbrains/jewel/ui/icon/IconKey;)Lorg/jetbrains/jewel/ui/component/styling/RadioButtonIcons; - public static final fun light (Lorg/jetbrains/jewel/ui/component/styling/RadioButtonStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/RadioButtonColors;Lorg/jetbrains/jewel/ui/component/styling/RadioButtonMetrics;Lorg/jetbrains/jewel/ui/component/styling/RadioButtonIcons;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/RadioButtonStyle; + public static final fun light (Lorg/jetbrains/jewel/ui/component/styling/RadioButtonStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/RadioButtonColors;Lorg/jetbrains/jewel/ui/component/styling/RadioButtonMetrics;Lorg/jetbrains/jewel/ui/component/styling/RadioButtonIcons;)Lorg/jetbrains/jewel/ui/component/styling/RadioButtonStyle; public static synthetic fun light$default (Lorg/jetbrains/jewel/ui/component/styling/RadioButtonIcons$Companion;Lorg/jetbrains/jewel/ui/icon/IconKey;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/RadioButtonIcons; - public static final fun light-dPtIKUs (Lorg/jetbrains/jewel/ui/component/styling/RadioButtonColors$Companion;JJJJJJLandroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/RadioButtonColors; + public static synthetic fun light$default (Lorg/jetbrains/jewel/ui/component/styling/RadioButtonStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/RadioButtonColors;Lorg/jetbrains/jewel/ui/component/styling/RadioButtonMetrics;Lorg/jetbrains/jewel/ui/component/styling/RadioButtonIcons;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/RadioButtonStyle; + public static final fun light-40kPL-U (Lorg/jetbrains/jewel/ui/component/styling/RadioButtonColors$Companion;JJJJJJ)Lorg/jetbrains/jewel/ui/component/styling/RadioButtonColors; + public static synthetic fun light-40kPL-U$default (Lorg/jetbrains/jewel/ui/component/styling/RadioButtonColors$Companion;JJJJJJILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/RadioButtonColors; } public final class org/jetbrains/jewel/intui/standalone/styling/IntUiScrollbarStylingKt { @@ -445,26 +532,36 @@ public final class org/jetbrains/jewel/intui/standalone/styling/IntUiScrollbarSt } public final class org/jetbrains/jewel/intui/standalone/styling/IntUiSegmentedControlButtonStylingKt { - public static final fun dark (Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlButtonStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlButtonColors;Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlButtonMetrics;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlButtonStyle; - public static final fun dark-KkMT8bM (Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlButtonColors$Companion;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;JJLandroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/runtime/Composer;III)Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlButtonColors; + public static final fun dark (Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlButtonStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlButtonColors;Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlButtonMetrics;)Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlButtonStyle; + public static synthetic fun dark$default (Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlButtonStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlButtonColors;Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlButtonMetrics;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlButtonStyle; + public static final fun dark-wqdebIU (Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlButtonColors$Companion;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;JJLandroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;)Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlButtonColors; + public static synthetic fun dark-wqdebIU$default (Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlButtonColors$Companion;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;JJLandroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlButtonColors; public static final fun defaults-H1KY9o8 (Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlButtonMetrics$Companion;Landroidx/compose/foundation/shape/CornerSize;Landroidx/compose/foundation/layout/PaddingValues;JF)Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlButtonMetrics; public static synthetic fun defaults-H1KY9o8$default (Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlButtonMetrics$Companion;Landroidx/compose/foundation/shape/CornerSize;Landroidx/compose/foundation/layout/PaddingValues;JFILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlButtonMetrics; - public static final fun light (Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlButtonStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlButtonColors;Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlButtonMetrics;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlButtonStyle; - public static final fun light-KkMT8bM (Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlButtonColors$Companion;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;JJLandroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/runtime/Composer;III)Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlButtonColors; + public static final fun light (Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlButtonStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlButtonColors;Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlButtonMetrics;)Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlButtonStyle; + public static synthetic fun light$default (Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlButtonStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlButtonColors;Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlButtonMetrics;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlButtonStyle; + public static final fun light-wqdebIU (Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlButtonColors$Companion;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;JJLandroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;)Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlButtonColors; + public static synthetic fun light-wqdebIU$default (Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlButtonColors$Companion;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;JJLandroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlButtonColors; } public final class org/jetbrains/jewel/intui/standalone/styling/IntUiSegmentedControlStylingKt { - public static final fun dark (Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlColors$Companion;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlColors; - public static final fun dark (Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlColors;Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlMetrics;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlStyle; + public static final fun dark (Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlColors$Companion;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;)Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlColors; + public static final fun dark (Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlColors;Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlMetrics;)Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlStyle; + public static synthetic fun dark$default (Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlColors$Companion;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlColors; + public static synthetic fun dark$default (Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlColors;Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlMetrics;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlStyle; public static final fun defaults-wH6b6FI (Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlMetrics$Companion;Landroidx/compose/foundation/shape/CornerSize;F)Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlMetrics; public static synthetic fun defaults-wH6b6FI$default (Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlMetrics$Companion;Landroidx/compose/foundation/shape/CornerSize;FILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlMetrics; - public static final fun light (Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlColors$Companion;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlColors; - public static final fun light (Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlColors;Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlMetrics;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlStyle; + public static final fun light (Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlColors$Companion;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;)Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlColors; + public static final fun light (Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlColors;Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlMetrics;)Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlStyle; + public static synthetic fun light$default (Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlColors$Companion;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;Landroidx/compose/ui/graphics/Brush;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlColors; + public static synthetic fun light$default (Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlColors;Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlMetrics;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlStyle; } public final class org/jetbrains/jewel/intui/standalone/styling/IntUiSelectableLazyColumnStylingKt { - public static final fun dark-DzVHIIc (Lorg/jetbrains/jewel/ui/component/styling/SelectableLazyColumnStyle$Companion;FLorg/jetbrains/jewel/ui/component/styling/SimpleListItemColors;Lorg/jetbrains/jewel/ui/component/styling/SimpleListItemMetrics;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/SelectableLazyColumnStyle; - public static final fun light-DzVHIIc (Lorg/jetbrains/jewel/ui/component/styling/SelectableLazyColumnStyle$Companion;FLorg/jetbrains/jewel/ui/component/styling/SimpleListItemColors;Lorg/jetbrains/jewel/ui/component/styling/SimpleListItemMetrics;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/SelectableLazyColumnStyle; + public static final fun dark-ziNgDLE (Lorg/jetbrains/jewel/ui/component/styling/SelectableLazyColumnStyle$Companion;FLorg/jetbrains/jewel/ui/component/styling/SimpleListItemColors;Lorg/jetbrains/jewel/ui/component/styling/SimpleListItemMetrics;)Lorg/jetbrains/jewel/ui/component/styling/SelectableLazyColumnStyle; + public static synthetic fun dark-ziNgDLE$default (Lorg/jetbrains/jewel/ui/component/styling/SelectableLazyColumnStyle$Companion;FLorg/jetbrains/jewel/ui/component/styling/SimpleListItemColors;Lorg/jetbrains/jewel/ui/component/styling/SimpleListItemMetrics;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/SelectableLazyColumnStyle; + public static final fun light-ziNgDLE (Lorg/jetbrains/jewel/ui/component/styling/SelectableLazyColumnStyle$Companion;FLorg/jetbrains/jewel/ui/component/styling/SimpleListItemColors;Lorg/jetbrains/jewel/ui/component/styling/SimpleListItemMetrics;)Lorg/jetbrains/jewel/ui/component/styling/SelectableLazyColumnStyle; + public static synthetic fun light-ziNgDLE$default (Lorg/jetbrains/jewel/ui/component/styling/SelectableLazyColumnStyle$Companion;FLorg/jetbrains/jewel/ui/component/styling/SimpleListItemColors;Lorg/jetbrains/jewel/ui/component/styling/SimpleListItemMetrics;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/SelectableLazyColumnStyle; } public final class org/jetbrains/jewel/intui/standalone/styling/IntUiSimpleListItemStylingKt { @@ -489,11 +586,16 @@ public final class org/jetbrains/jewel/intui/standalone/styling/IntUiSimpleListI } public final class org/jetbrains/jewel/intui/standalone/styling/IntUiSliderStylingKt { - public static final fun dark (Lorg/jetbrains/jewel/ui/component/styling/SliderStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/SliderColors;Lorg/jetbrains/jewel/ui/component/styling/SliderMetrics;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/SliderStyle; - public static final fun dark-8v1krLo (Lorg/jetbrains/jewel/ui/component/styling/SliderColors$Companion;JJJJJJJJJJJJJJJLandroidx/compose/runtime/Composer;III)Lorg/jetbrains/jewel/ui/component/styling/SliderColors; - public static final fun defaults-nDjVmYc (Lorg/jetbrains/jewel/ui/component/styling/SliderMetrics$Companion;FJFFFFLandroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/SliderMetrics; - public static final fun light (Lorg/jetbrains/jewel/ui/component/styling/SliderStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/SliderColors;Lorg/jetbrains/jewel/ui/component/styling/SliderMetrics;Landroidx/compose/ui/graphics/Shape;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/SliderStyle; - public static final fun light-8v1krLo (Lorg/jetbrains/jewel/ui/component/styling/SliderColors$Companion;JJJJJJJJJJJJJJJLandroidx/compose/runtime/Composer;III)Lorg/jetbrains/jewel/ui/component/styling/SliderColors; + public static final fun dark (Lorg/jetbrains/jewel/ui/component/styling/SliderStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/SliderColors;Lorg/jetbrains/jewel/ui/component/styling/SliderMetrics;Landroidx/compose/ui/graphics/Shape;)Lorg/jetbrains/jewel/ui/component/styling/SliderStyle; + public static synthetic fun dark$default (Lorg/jetbrains/jewel/ui/component/styling/SliderStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/SliderColors;Lorg/jetbrains/jewel/ui/component/styling/SliderMetrics;Landroidx/compose/ui/graphics/Shape;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/SliderStyle; + public static final fun dark-7HESe_I (Lorg/jetbrains/jewel/ui/component/styling/SliderColors$Companion;JJJJJJJJJJJJJJJ)Lorg/jetbrains/jewel/ui/component/styling/SliderColors; + public static synthetic fun dark-7HESe_I$default (Lorg/jetbrains/jewel/ui/component/styling/SliderColors$Companion;JJJJJJJJJJJJJJJILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/SliderColors; + public static final fun defaults-IDSuZpE (Lorg/jetbrains/jewel/ui/component/styling/SliderMetrics$Companion;FJFFFF)Lorg/jetbrains/jewel/ui/component/styling/SliderMetrics; + public static synthetic fun defaults-IDSuZpE$default (Lorg/jetbrains/jewel/ui/component/styling/SliderMetrics$Companion;FJFFFFILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/SliderMetrics; + public static final fun light (Lorg/jetbrains/jewel/ui/component/styling/SliderStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/SliderColors;Lorg/jetbrains/jewel/ui/component/styling/SliderMetrics;Landroidx/compose/ui/graphics/Shape;)Lorg/jetbrains/jewel/ui/component/styling/SliderStyle; + public static synthetic fun light$default (Lorg/jetbrains/jewel/ui/component/styling/SliderStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/SliderColors;Lorg/jetbrains/jewel/ui/component/styling/SliderMetrics;Landroidx/compose/ui/graphics/Shape;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/SliderStyle; + public static final fun light-7HESe_I (Lorg/jetbrains/jewel/ui/component/styling/SliderColors$Companion;JJJJJJJJJJJJJJJ)Lorg/jetbrains/jewel/ui/component/styling/SliderColors; + public static synthetic fun light-7HESe_I$default (Lorg/jetbrains/jewel/ui/component/styling/SliderColors$Companion;JJJJJJJJJJJJJJJILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/SliderColors; } public final class org/jetbrains/jewel/intui/standalone/styling/IntUiSplitButtonStylingKt { @@ -504,8 +606,10 @@ public final class org/jetbrains/jewel/intui/standalone/styling/IntUiSplitButton public final class org/jetbrains/jewel/intui/standalone/styling/IntUiSuccessBannerColorFactory { public static final field $stable I public static final field INSTANCE Lorg/jetbrains/jewel/intui/standalone/styling/IntUiSuccessBannerColorFactory; - public final fun dark-dgg9oW8 (JJLandroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/BannerColors; - public final fun light-dgg9oW8 (JJLandroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/BannerColors; + public final fun dark--OWjLjI (JJ)Lorg/jetbrains/jewel/ui/component/styling/BannerColors; + public static synthetic fun dark--OWjLjI$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiSuccessBannerColorFactory;JJILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/BannerColors; + public final fun light--OWjLjI (JJ)Lorg/jetbrains/jewel/ui/component/styling/BannerColors; + public static synthetic fun light--OWjLjI$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiSuccessBannerColorFactory;JJILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/BannerColors; } public final class org/jetbrains/jewel/intui/standalone/styling/IntUiTabStripScrollbarStylingKt { @@ -543,63 +647,85 @@ public final class org/jetbrains/jewel/intui/standalone/styling/IntUiTabStylingK } public final class org/jetbrains/jewel/intui/standalone/styling/IntUiTextAreaStylingKt { - public static final fun dark (Lorg/jetbrains/jewel/ui/component/styling/TextAreaStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/TextAreaColors;Lorg/jetbrains/jewel/ui/component/styling/TextAreaMetrics;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/TextAreaStyle; - public static final fun dark-a3tHFA8 (Lorg/jetbrains/jewel/ui/component/styling/TextAreaColors$Companion;JJJJJJJJJJJJJJJJJJJJJLandroidx/compose/runtime/Composer;IIII)Lorg/jetbrains/jewel/ui/component/styling/TextAreaColors; + public static final fun dark (Lorg/jetbrains/jewel/ui/component/styling/TextAreaStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/TextAreaColors;Lorg/jetbrains/jewel/ui/component/styling/TextAreaMetrics;)Lorg/jetbrains/jewel/ui/component/styling/TextAreaStyle; + public static synthetic fun dark$default (Lorg/jetbrains/jewel/ui/component/styling/TextAreaStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/TextAreaColors;Lorg/jetbrains/jewel/ui/component/styling/TextAreaMetrics;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/TextAreaStyle; + public static final fun dark-1LmPkY4 (Lorg/jetbrains/jewel/ui/component/styling/TextAreaColors$Companion;JJJJJJJJJJJJJJJJJJJJJ)Lorg/jetbrains/jewel/ui/component/styling/TextAreaColors; + public static synthetic fun dark-1LmPkY4$default (Lorg/jetbrains/jewel/ui/component/styling/TextAreaColors$Companion;JJJJJJJJJJJJJJJJJJJJJILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/TextAreaColors; public static final fun defaults-H1KY9o8 (Lorg/jetbrains/jewel/ui/component/styling/TextAreaMetrics$Companion;Landroidx/compose/foundation/shape/CornerSize;Landroidx/compose/foundation/layout/PaddingValues;JF)Lorg/jetbrains/jewel/ui/component/styling/TextAreaMetrics; public static synthetic fun defaults-H1KY9o8$default (Lorg/jetbrains/jewel/ui/component/styling/TextAreaMetrics$Companion;Landroidx/compose/foundation/shape/CornerSize;Landroidx/compose/foundation/layout/PaddingValues;JFILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/TextAreaMetrics; - public static final fun light (Lorg/jetbrains/jewel/ui/component/styling/TextAreaStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/TextAreaColors;Lorg/jetbrains/jewel/ui/component/styling/TextAreaMetrics;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/TextAreaStyle; - public static final fun light-a3tHFA8 (Lorg/jetbrains/jewel/ui/component/styling/TextAreaColors$Companion;JJJJJJJJJJJJJJJJJJJJJLandroidx/compose/runtime/Composer;IIII)Lorg/jetbrains/jewel/ui/component/styling/TextAreaColors; + public static final fun light (Lorg/jetbrains/jewel/ui/component/styling/TextAreaStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/TextAreaColors;Lorg/jetbrains/jewel/ui/component/styling/TextAreaMetrics;)Lorg/jetbrains/jewel/ui/component/styling/TextAreaStyle; + public static synthetic fun light$default (Lorg/jetbrains/jewel/ui/component/styling/TextAreaStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/TextAreaColors;Lorg/jetbrains/jewel/ui/component/styling/TextAreaMetrics;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/TextAreaStyle; + public static final fun light-1LmPkY4 (Lorg/jetbrains/jewel/ui/component/styling/TextAreaColors$Companion;JJJJJJJJJJJJJJJJJJJJJ)Lorg/jetbrains/jewel/ui/component/styling/TextAreaColors; + public static synthetic fun light-1LmPkY4$default (Lorg/jetbrains/jewel/ui/component/styling/TextAreaColors$Companion;JJJJJJJJJJJJJJJJJJJJJILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/TextAreaColors; } public final class org/jetbrains/jewel/intui/standalone/styling/IntUiTextFieldStylingKt { - public static final fun dark (Lorg/jetbrains/jewel/ui/component/styling/TextFieldStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/TextFieldColors;Lorg/jetbrains/jewel/ui/component/styling/TextFieldMetrics;Lorg/jetbrains/jewel/ui/component/styling/IconButtonStyle;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/TextFieldStyle; - public static final fun dark-a3tHFA8 (Lorg/jetbrains/jewel/ui/component/styling/TextFieldColors$Companion;JJJJJJJJJJJJJJJJJJJJJLandroidx/compose/runtime/Composer;IIII)Lorg/jetbrains/jewel/ui/component/styling/TextFieldColors; + public static final fun dark (Lorg/jetbrains/jewel/ui/component/styling/TextFieldStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/TextFieldColors;Lorg/jetbrains/jewel/ui/component/styling/TextFieldMetrics;Lorg/jetbrains/jewel/ui/component/styling/IconButtonStyle;)Lorg/jetbrains/jewel/ui/component/styling/TextFieldStyle; + public static synthetic fun dark$default (Lorg/jetbrains/jewel/ui/component/styling/TextFieldStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/TextFieldColors;Lorg/jetbrains/jewel/ui/component/styling/TextFieldMetrics;Lorg/jetbrains/jewel/ui/component/styling/IconButtonStyle;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/TextFieldStyle; + public static final fun dark-1LmPkY4 (Lorg/jetbrains/jewel/ui/component/styling/TextFieldColors$Companion;JJJJJJJJJJJJJJJJJJJJJ)Lorg/jetbrains/jewel/ui/component/styling/TextFieldColors; + public static synthetic fun dark-1LmPkY4$default (Lorg/jetbrains/jewel/ui/component/styling/TextFieldColors$Companion;JJJJJJJJJJJJJJJJJJJJJILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/TextFieldColors; public static final fun defaults-H1KY9o8 (Lorg/jetbrains/jewel/ui/component/styling/TextFieldMetrics$Companion;Landroidx/compose/foundation/shape/CornerSize;Landroidx/compose/foundation/layout/PaddingValues;JF)Lorg/jetbrains/jewel/ui/component/styling/TextFieldMetrics; public static synthetic fun defaults-H1KY9o8$default (Lorg/jetbrains/jewel/ui/component/styling/TextFieldMetrics$Companion;Landroidx/compose/foundation/shape/CornerSize;Landroidx/compose/foundation/layout/PaddingValues;JFILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/TextFieldMetrics; - public static final fun light (Lorg/jetbrains/jewel/ui/component/styling/TextFieldStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/TextFieldColors;Lorg/jetbrains/jewel/ui/component/styling/TextFieldMetrics;Lorg/jetbrains/jewel/ui/component/styling/IconButtonStyle;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/TextFieldStyle; - public static final fun light-a3tHFA8 (Lorg/jetbrains/jewel/ui/component/styling/TextFieldColors$Companion;JJJJJJJJJJJJJJJJJJJJJLandroidx/compose/runtime/Composer;IIII)Lorg/jetbrains/jewel/ui/component/styling/TextFieldColors; + public static final fun light (Lorg/jetbrains/jewel/ui/component/styling/TextFieldStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/TextFieldColors;Lorg/jetbrains/jewel/ui/component/styling/TextFieldMetrics;Lorg/jetbrains/jewel/ui/component/styling/IconButtonStyle;)Lorg/jetbrains/jewel/ui/component/styling/TextFieldStyle; + public static synthetic fun light$default (Lorg/jetbrains/jewel/ui/component/styling/TextFieldStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/TextFieldColors;Lorg/jetbrains/jewel/ui/component/styling/TextFieldMetrics;Lorg/jetbrains/jewel/ui/component/styling/IconButtonStyle;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/TextFieldStyle; + public static final fun light-1LmPkY4 (Lorg/jetbrains/jewel/ui/component/styling/TextFieldColors$Companion;JJJJJJJJJJJJJJJJJJJJJ)Lorg/jetbrains/jewel/ui/component/styling/TextFieldColors; + public static synthetic fun light-1LmPkY4$default (Lorg/jetbrains/jewel/ui/component/styling/TextFieldColors$Companion;JJJJJJJJJJJJJJJJJJJJJILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/TextFieldColors; } public final class org/jetbrains/jewel/intui/standalone/styling/IntUiTooltipStylingKt { - public static final fun dark (Lorg/jetbrains/jewel/ui/component/styling/TooltipStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/TooltipColors;Lorg/jetbrains/jewel/ui/component/styling/TooltipMetrics;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/TooltipStyle; - public static final fun dark-zf8z9n0 (Lorg/jetbrains/jewel/ui/component/styling/TooltipColors$Companion;JJJJLandroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/TooltipColors; - public static final fun light (Lorg/jetbrains/jewel/ui/component/styling/TooltipStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/TooltipColors;Lorg/jetbrains/jewel/ui/component/styling/TooltipMetrics;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/TooltipStyle; - public static final fun light-zf8z9n0 (Lorg/jetbrains/jewel/ui/component/styling/TooltipColors$Companion;JJJJLandroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/TooltipColors; + public static final fun dark (Lorg/jetbrains/jewel/ui/component/styling/TooltipStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/TooltipColors;Lorg/jetbrains/jewel/ui/component/styling/TooltipMetrics;)Lorg/jetbrains/jewel/ui/component/styling/TooltipStyle; + public static synthetic fun dark$default (Lorg/jetbrains/jewel/ui/component/styling/TooltipStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/TooltipColors;Lorg/jetbrains/jewel/ui/component/styling/TooltipMetrics;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/TooltipStyle; + public static final fun dark--hDc7uY (Lorg/jetbrains/jewel/ui/component/styling/TooltipColors$Companion;JJJJ)Lorg/jetbrains/jewel/ui/component/styling/TooltipColors; + public static synthetic fun dark--hDc7uY$default (Lorg/jetbrains/jewel/ui/component/styling/TooltipColors$Companion;JJJJILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/TooltipColors; + public static final fun light (Lorg/jetbrains/jewel/ui/component/styling/TooltipStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/TooltipColors;Lorg/jetbrains/jewel/ui/component/styling/TooltipMetrics;)Lorg/jetbrains/jewel/ui/component/styling/TooltipStyle; + public static synthetic fun light$default (Lorg/jetbrains/jewel/ui/component/styling/TooltipStyle$Companion;Lorg/jetbrains/jewel/ui/component/styling/TooltipColors;Lorg/jetbrains/jewel/ui/component/styling/TooltipMetrics;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/TooltipStyle; + public static final fun light--hDc7uY (Lorg/jetbrains/jewel/ui/component/styling/TooltipColors$Companion;JJJJ)Lorg/jetbrains/jewel/ui/component/styling/TooltipColors; + public static synthetic fun light--hDc7uY$default (Lorg/jetbrains/jewel/ui/component/styling/TooltipColors$Companion;JJJJILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/TooltipColors; } public final class org/jetbrains/jewel/intui/standalone/styling/IntUiUndecoratedComboBoxColorsFactory { public static final field $stable I public static final field INSTANCE Lorg/jetbrains/jewel/intui/standalone/styling/IntUiUndecoratedComboBoxColorsFactory; - public final fun dark-HlaysQ4 (JJJJJJJJJJJLandroidx/compose/runtime/Composer;III)Lorg/jetbrains/jewel/ui/component/styling/ComboBoxColors; - public final fun light-HlaysQ4 (JJJJJJJJJJJLandroidx/compose/runtime/Composer;III)Lorg/jetbrains/jewel/ui/component/styling/ComboBoxColors; + public final fun dark-KpyCeHw (JJJJJJJJJJJ)Lorg/jetbrains/jewel/ui/component/styling/ComboBoxColors; + public static synthetic fun dark-KpyCeHw$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiUndecoratedComboBoxColorsFactory;JJJJJJJJJJJILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/ComboBoxColors; + public final fun light-KpyCeHw (JJJJJJJJJJJ)Lorg/jetbrains/jewel/ui/component/styling/ComboBoxColors; + public static synthetic fun light-KpyCeHw$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiUndecoratedComboBoxColorsFactory;JJJJJJJJJJJILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/ComboBoxColors; } public final class org/jetbrains/jewel/intui/standalone/styling/IntUiUndecoratedComboBoxStyleFactory { public static final field $stable I public static final field INSTANCE Lorg/jetbrains/jewel/intui/standalone/styling/IntUiUndecoratedComboBoxStyleFactory; - public final fun dark (Lorg/jetbrains/jewel/ui/component/styling/ComboBoxColors;Lorg/jetbrains/jewel/ui/component/styling/ComboBoxMetrics;Lorg/jetbrains/jewel/ui/component/styling/ComboBoxIcons;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/ComboBoxStyle; - public final fun light (Lorg/jetbrains/jewel/ui/component/styling/ComboBoxColors;Lorg/jetbrains/jewel/ui/component/styling/ComboBoxMetrics;Lorg/jetbrains/jewel/ui/component/styling/ComboBoxIcons;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/ComboBoxStyle; + public final fun dark (Lorg/jetbrains/jewel/ui/component/styling/ComboBoxColors;Lorg/jetbrains/jewel/ui/component/styling/ComboBoxMetrics;Lorg/jetbrains/jewel/ui/component/styling/ComboBoxIcons;)Lorg/jetbrains/jewel/ui/component/styling/ComboBoxStyle; + public static synthetic fun dark$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiUndecoratedComboBoxStyleFactory;Lorg/jetbrains/jewel/ui/component/styling/ComboBoxColors;Lorg/jetbrains/jewel/ui/component/styling/ComboBoxMetrics;Lorg/jetbrains/jewel/ui/component/styling/ComboBoxIcons;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/ComboBoxStyle; + public final fun light (Lorg/jetbrains/jewel/ui/component/styling/ComboBoxColors;Lorg/jetbrains/jewel/ui/component/styling/ComboBoxMetrics;Lorg/jetbrains/jewel/ui/component/styling/ComboBoxIcons;)Lorg/jetbrains/jewel/ui/component/styling/ComboBoxStyle; + public static synthetic fun light$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiUndecoratedComboBoxStyleFactory;Lorg/jetbrains/jewel/ui/component/styling/ComboBoxColors;Lorg/jetbrains/jewel/ui/component/styling/ComboBoxMetrics;Lorg/jetbrains/jewel/ui/component/styling/ComboBoxIcons;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/ComboBoxStyle; } public final class org/jetbrains/jewel/intui/standalone/styling/IntUiUndecoratedDropdownColorsFactory { public static final field $stable I public static final field INSTANCE Lorg/jetbrains/jewel/intui/standalone/styling/IntUiUndecoratedDropdownColorsFactory; - public final fun dark-0ik9mME (JJJJJJJJJJJJJJJLandroidx/compose/runtime/Composer;III)Lorg/jetbrains/jewel/ui/component/styling/DropdownColors; - public final fun light-0ik9mME (JJJJJJJJJJJJJJJLandroidx/compose/runtime/Composer;III)Lorg/jetbrains/jewel/ui/component/styling/DropdownColors; + public final fun dark-sQnm1Ko (JJJJJJJJJJJJJJJ)Lorg/jetbrains/jewel/ui/component/styling/DropdownColors; + public static synthetic fun dark-sQnm1Ko$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiUndecoratedDropdownColorsFactory;JJJJJJJJJJJJJJJILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/DropdownColors; + public final fun light-sQnm1Ko (JJJJJJJJJJJJJJJ)Lorg/jetbrains/jewel/ui/component/styling/DropdownColors; + public static synthetic fun light-sQnm1Ko$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiUndecoratedDropdownColorsFactory;JJJJJJJJJJJJJJJILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/DropdownColors; } public final class org/jetbrains/jewel/intui/standalone/styling/IntUiUndecoratedDropdownStyleFactory { public static final field $stable I public static final field INSTANCE Lorg/jetbrains/jewel/intui/standalone/styling/IntUiUndecoratedDropdownStyleFactory; - public final fun dark (Lorg/jetbrains/jewel/ui/component/styling/DropdownColors;Lorg/jetbrains/jewel/ui/component/styling/DropdownMetrics;Lorg/jetbrains/jewel/ui/component/styling/DropdownIcons;Lorg/jetbrains/jewel/ui/component/styling/MenuStyle;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/DropdownStyle; - public final fun light (Lorg/jetbrains/jewel/ui/component/styling/DropdownColors;Lorg/jetbrains/jewel/ui/component/styling/DropdownMetrics;Lorg/jetbrains/jewel/ui/component/styling/DropdownIcons;Lorg/jetbrains/jewel/ui/component/styling/MenuStyle;Landroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/DropdownStyle; + public final fun dark (Lorg/jetbrains/jewel/ui/component/styling/DropdownColors;Lorg/jetbrains/jewel/ui/component/styling/DropdownMetrics;Lorg/jetbrains/jewel/ui/component/styling/DropdownIcons;Lorg/jetbrains/jewel/ui/component/styling/MenuStyle;)Lorg/jetbrains/jewel/ui/component/styling/DropdownStyle; + public static synthetic fun dark$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiUndecoratedDropdownStyleFactory;Lorg/jetbrains/jewel/ui/component/styling/DropdownColors;Lorg/jetbrains/jewel/ui/component/styling/DropdownMetrics;Lorg/jetbrains/jewel/ui/component/styling/DropdownIcons;Lorg/jetbrains/jewel/ui/component/styling/MenuStyle;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/DropdownStyle; + public final fun light (Lorg/jetbrains/jewel/ui/component/styling/DropdownColors;Lorg/jetbrains/jewel/ui/component/styling/DropdownMetrics;Lorg/jetbrains/jewel/ui/component/styling/DropdownIcons;Lorg/jetbrains/jewel/ui/component/styling/MenuStyle;)Lorg/jetbrains/jewel/ui/component/styling/DropdownStyle; + public static synthetic fun light$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiUndecoratedDropdownStyleFactory;Lorg/jetbrains/jewel/ui/component/styling/DropdownColors;Lorg/jetbrains/jewel/ui/component/styling/DropdownMetrics;Lorg/jetbrains/jewel/ui/component/styling/DropdownIcons;Lorg/jetbrains/jewel/ui/component/styling/MenuStyle;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/DropdownStyle; } public final class org/jetbrains/jewel/intui/standalone/styling/IntUiWarningBannerColorFactory { public static final field $stable I public static final field INSTANCE Lorg/jetbrains/jewel/intui/standalone/styling/IntUiWarningBannerColorFactory; - public final fun dark-dgg9oW8 (JJLandroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/BannerColors; - public final fun light-dgg9oW8 (JJLandroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/ui/component/styling/BannerColors; + public final fun dark--OWjLjI (JJ)Lorg/jetbrains/jewel/ui/component/styling/BannerColors; + public static synthetic fun dark--OWjLjI$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiWarningBannerColorFactory;JJILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/BannerColors; + public final fun light--OWjLjI (JJ)Lorg/jetbrains/jewel/ui/component/styling/BannerColors; + public static synthetic fun light--OWjLjI$default (Lorg/jetbrains/jewel/intui/standalone/styling/IntUiWarningBannerColorFactory;JJILjava/lang/Object;)Lorg/jetbrains/jewel/ui/component/styling/BannerColors; } public final class org/jetbrains/jewel/intui/standalone/theme/IntUiGlobalColorsKt { @@ -629,11 +755,15 @@ public final class org/jetbrains/jewel/intui/standalone/theme/IntUiGlobalMetrics public final class org/jetbrains/jewel/intui/standalone/theme/IntUiThemeKt { public static final fun IntUiTheme (Lorg/jetbrains/jewel/foundation/theme/ThemeDefinition;Lorg/jetbrains/jewel/ui/ComponentStyling;ZLkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;II)V public static final fun IntUiTheme (ZZLkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;II)V - public static final fun dark (Lorg/jetbrains/jewel/ui/ComponentStyling;Lorg/jetbrains/jewel/ui/component/styling/CheckboxStyle;Lorg/jetbrains/jewel/ui/component/styling/ChipStyle;Lorg/jetbrains/jewel/ui/component/styling/CircularProgressStyle;Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyles;Lorg/jetbrains/jewel/ui/component/styling/ComboBoxStyle;Lorg/jetbrains/jewel/ui/component/styling/ButtonStyle;Lorg/jetbrains/jewel/ui/component/styling/SplitButtonStyle;Lorg/jetbrains/jewel/ui/component/styling/TabStyle;Lorg/jetbrains/jewel/ui/component/styling/DividerStyle;Lorg/jetbrains/jewel/ui/component/styling/DropdownStyle;Lorg/jetbrains/jewel/ui/component/styling/TabStyle;Lorg/jetbrains/jewel/ui/component/styling/GroupHeaderStyle;Lorg/jetbrains/jewel/ui/component/styling/HorizontalProgressBarStyle;Lorg/jetbrains/jewel/ui/component/styling/IconButtonStyle;Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyles;Lorg/jetbrains/jewel/ui/component/styling/LazyTreeStyle;Lorg/jetbrains/jewel/ui/component/styling/LinkStyle;Lorg/jetbrains/jewel/ui/component/styling/MenuStyle;Lorg/jetbrains/jewel/ui/component/styling/ButtonStyle;Lorg/jetbrains/jewel/ui/component/styling/PopupContainerStyle;Lorg/jetbrains/jewel/ui/component/styling/SplitButtonStyle;Lorg/jetbrains/jewel/ui/component/styling/RadioButtonStyle;Lorg/jetbrains/jewel/ui/component/styling/ScrollbarStyle;Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlButtonStyle;Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlStyle;Lorg/jetbrains/jewel/ui/component/styling/SelectableLazyColumnStyle;Lorg/jetbrains/jewel/ui/component/styling/SliderStyle;Lorg/jetbrains/jewel/ui/component/styling/SimpleListItemStyle;Lorg/jetbrains/jewel/ui/component/styling/TextAreaStyle;Lorg/jetbrains/jewel/ui/component/styling/TextFieldStyle;Lorg/jetbrains/jewel/ui/component/styling/TooltipStyle;Lorg/jetbrains/jewel/ui/component/styling/DropdownStyle;Landroidx/compose/runtime/Composer;IIIIII)Lorg/jetbrains/jewel/ui/ComponentStyling; - public static final fun darkThemeDefinition-VRxQTpk (Lorg/jetbrains/jewel/foundation/theme/JewelTheme$Companion;Lorg/jetbrains/jewel/foundation/GlobalColors;Lorg/jetbrains/jewel/foundation/GlobalMetrics;Lorg/jetbrains/jewel/foundation/theme/ThemeColorPalette;Lorg/jetbrains/jewel/foundation/theme/ThemeIconData;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;JLandroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/foundation/theme/ThemeDefinition; + public static final fun dark (Lorg/jetbrains/jewel/ui/ComponentStyling;Lorg/jetbrains/jewel/ui/component/styling/CheckboxStyle;Lorg/jetbrains/jewel/ui/component/styling/ChipStyle;Lorg/jetbrains/jewel/ui/component/styling/CircularProgressStyle;Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyles;Lorg/jetbrains/jewel/ui/component/styling/ComboBoxStyle;Lorg/jetbrains/jewel/ui/component/styling/ButtonStyle;Lorg/jetbrains/jewel/ui/component/styling/SplitButtonStyle;Lorg/jetbrains/jewel/ui/component/styling/TabStyle;Lorg/jetbrains/jewel/ui/component/styling/DividerStyle;Lorg/jetbrains/jewel/ui/component/styling/DropdownStyle;Lorg/jetbrains/jewel/ui/component/styling/TabStyle;Lorg/jetbrains/jewel/ui/component/styling/GroupHeaderStyle;Lorg/jetbrains/jewel/ui/component/styling/HorizontalProgressBarStyle;Lorg/jetbrains/jewel/ui/component/styling/IconButtonStyle;Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyles;Lorg/jetbrains/jewel/ui/component/styling/LazyTreeStyle;Lorg/jetbrains/jewel/ui/component/styling/LinkStyle;Lorg/jetbrains/jewel/ui/component/styling/MenuStyle;Lorg/jetbrains/jewel/ui/component/styling/ButtonStyle;Lorg/jetbrains/jewel/ui/component/styling/PopupContainerStyle;Lorg/jetbrains/jewel/ui/component/styling/SplitButtonStyle;Lorg/jetbrains/jewel/ui/component/styling/RadioButtonStyle;Lorg/jetbrains/jewel/ui/component/styling/ScrollbarStyle;Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlButtonStyle;Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlStyle;Lorg/jetbrains/jewel/ui/component/styling/SelectableLazyColumnStyle;Lorg/jetbrains/jewel/ui/component/styling/SliderStyle;Lorg/jetbrains/jewel/ui/component/styling/SimpleListItemStyle;Lorg/jetbrains/jewel/ui/component/styling/TextAreaStyle;Lorg/jetbrains/jewel/ui/component/styling/TextFieldStyle;Lorg/jetbrains/jewel/ui/component/styling/TooltipStyle;Lorg/jetbrains/jewel/ui/component/styling/DropdownStyle;)Lorg/jetbrains/jewel/ui/ComponentStyling; + public static synthetic fun dark$default (Lorg/jetbrains/jewel/ui/ComponentStyling;Lorg/jetbrains/jewel/ui/component/styling/CheckboxStyle;Lorg/jetbrains/jewel/ui/component/styling/ChipStyle;Lorg/jetbrains/jewel/ui/component/styling/CircularProgressStyle;Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyles;Lorg/jetbrains/jewel/ui/component/styling/ComboBoxStyle;Lorg/jetbrains/jewel/ui/component/styling/ButtonStyle;Lorg/jetbrains/jewel/ui/component/styling/SplitButtonStyle;Lorg/jetbrains/jewel/ui/component/styling/TabStyle;Lorg/jetbrains/jewel/ui/component/styling/DividerStyle;Lorg/jetbrains/jewel/ui/component/styling/DropdownStyle;Lorg/jetbrains/jewel/ui/component/styling/TabStyle;Lorg/jetbrains/jewel/ui/component/styling/GroupHeaderStyle;Lorg/jetbrains/jewel/ui/component/styling/HorizontalProgressBarStyle;Lorg/jetbrains/jewel/ui/component/styling/IconButtonStyle;Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyles;Lorg/jetbrains/jewel/ui/component/styling/LazyTreeStyle;Lorg/jetbrains/jewel/ui/component/styling/LinkStyle;Lorg/jetbrains/jewel/ui/component/styling/MenuStyle;Lorg/jetbrains/jewel/ui/component/styling/ButtonStyle;Lorg/jetbrains/jewel/ui/component/styling/PopupContainerStyle;Lorg/jetbrains/jewel/ui/component/styling/SplitButtonStyle;Lorg/jetbrains/jewel/ui/component/styling/RadioButtonStyle;Lorg/jetbrains/jewel/ui/component/styling/ScrollbarStyle;Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlButtonStyle;Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlStyle;Lorg/jetbrains/jewel/ui/component/styling/SelectableLazyColumnStyle;Lorg/jetbrains/jewel/ui/component/styling/SliderStyle;Lorg/jetbrains/jewel/ui/component/styling/SimpleListItemStyle;Lorg/jetbrains/jewel/ui/component/styling/TextAreaStyle;Lorg/jetbrains/jewel/ui/component/styling/TextFieldStyle;Lorg/jetbrains/jewel/ui/component/styling/TooltipStyle;Lorg/jetbrains/jewel/ui/component/styling/DropdownStyle;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/ComponentStyling; + public static final fun darkThemeDefinition-aKPr-nQ (Lorg/jetbrains/jewel/foundation/theme/JewelTheme$Companion;Lorg/jetbrains/jewel/foundation/GlobalColors;Lorg/jetbrains/jewel/foundation/GlobalMetrics;Lorg/jetbrains/jewel/foundation/theme/ThemeColorPalette;Lorg/jetbrains/jewel/foundation/theme/ThemeIconData;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;J)Lorg/jetbrains/jewel/foundation/theme/ThemeDefinition; + public static synthetic fun darkThemeDefinition-aKPr-nQ$default (Lorg/jetbrains/jewel/foundation/theme/JewelTheme$Companion;Lorg/jetbrains/jewel/foundation/GlobalColors;Lorg/jetbrains/jewel/foundation/GlobalMetrics;Lorg/jetbrains/jewel/foundation/theme/ThemeColorPalette;Lorg/jetbrains/jewel/foundation/theme/ThemeIconData;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;JILjava/lang/Object;)Lorg/jetbrains/jewel/foundation/theme/ThemeDefinition; public static final fun default (Lorg/jetbrains/jewel/ui/ComponentStyling;Landroidx/compose/runtime/Composer;I)Lorg/jetbrains/jewel/ui/ComponentStyling; - public static final fun light (Lorg/jetbrains/jewel/ui/ComponentStyling;Lorg/jetbrains/jewel/ui/component/styling/CheckboxStyle;Lorg/jetbrains/jewel/ui/component/styling/ChipStyle;Lorg/jetbrains/jewel/ui/component/styling/CircularProgressStyle;Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyles;Lorg/jetbrains/jewel/ui/component/styling/ComboBoxStyle;Lorg/jetbrains/jewel/ui/component/styling/ButtonStyle;Lorg/jetbrains/jewel/ui/component/styling/SplitButtonStyle;Lorg/jetbrains/jewel/ui/component/styling/TabStyle;Lorg/jetbrains/jewel/ui/component/styling/DividerStyle;Lorg/jetbrains/jewel/ui/component/styling/DropdownStyle;Lorg/jetbrains/jewel/ui/component/styling/TabStyle;Lorg/jetbrains/jewel/ui/component/styling/GroupHeaderStyle;Lorg/jetbrains/jewel/ui/component/styling/HorizontalProgressBarStyle;Lorg/jetbrains/jewel/ui/component/styling/IconButtonStyle;Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyles;Lorg/jetbrains/jewel/ui/component/styling/LazyTreeStyle;Lorg/jetbrains/jewel/ui/component/styling/LinkStyle;Lorg/jetbrains/jewel/ui/component/styling/MenuStyle;Lorg/jetbrains/jewel/ui/component/styling/PopupContainerStyle;Lorg/jetbrains/jewel/ui/component/styling/ButtonStyle;Lorg/jetbrains/jewel/ui/component/styling/SplitButtonStyle;Lorg/jetbrains/jewel/ui/component/styling/RadioButtonStyle;Lorg/jetbrains/jewel/ui/component/styling/ScrollbarStyle;Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlButtonStyle;Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlStyle;Lorg/jetbrains/jewel/ui/component/styling/SliderStyle;Lorg/jetbrains/jewel/ui/component/styling/SelectableLazyColumnStyle;Lorg/jetbrains/jewel/ui/component/styling/SimpleListItemStyle;Lorg/jetbrains/jewel/ui/component/styling/TextAreaStyle;Lorg/jetbrains/jewel/ui/component/styling/TextFieldStyle;Lorg/jetbrains/jewel/ui/component/styling/TooltipStyle;Lorg/jetbrains/jewel/ui/component/styling/DropdownStyle;Landroidx/compose/runtime/Composer;IIIIII)Lorg/jetbrains/jewel/ui/ComponentStyling; - public static final fun lightThemeDefinition-VRxQTpk (Lorg/jetbrains/jewel/foundation/theme/JewelTheme$Companion;Lorg/jetbrains/jewel/foundation/GlobalColors;Lorg/jetbrains/jewel/foundation/GlobalMetrics;Lorg/jetbrains/jewel/foundation/theme/ThemeColorPalette;Lorg/jetbrains/jewel/foundation/theme/ThemeIconData;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;JLandroidx/compose/runtime/Composer;II)Lorg/jetbrains/jewel/foundation/theme/ThemeDefinition; + public static final fun light (Lorg/jetbrains/jewel/ui/ComponentStyling;Lorg/jetbrains/jewel/ui/component/styling/CheckboxStyle;Lorg/jetbrains/jewel/ui/component/styling/ChipStyle;Lorg/jetbrains/jewel/ui/component/styling/CircularProgressStyle;Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyles;Lorg/jetbrains/jewel/ui/component/styling/ComboBoxStyle;Lorg/jetbrains/jewel/ui/component/styling/ButtonStyle;Lorg/jetbrains/jewel/ui/component/styling/SplitButtonStyle;Lorg/jetbrains/jewel/ui/component/styling/TabStyle;Lorg/jetbrains/jewel/ui/component/styling/DividerStyle;Lorg/jetbrains/jewel/ui/component/styling/DropdownStyle;Lorg/jetbrains/jewel/ui/component/styling/TabStyle;Lorg/jetbrains/jewel/ui/component/styling/GroupHeaderStyle;Lorg/jetbrains/jewel/ui/component/styling/HorizontalProgressBarStyle;Lorg/jetbrains/jewel/ui/component/styling/IconButtonStyle;Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyles;Lorg/jetbrains/jewel/ui/component/styling/LazyTreeStyle;Lorg/jetbrains/jewel/ui/component/styling/LinkStyle;Lorg/jetbrains/jewel/ui/component/styling/MenuStyle;Lorg/jetbrains/jewel/ui/component/styling/PopupContainerStyle;Lorg/jetbrains/jewel/ui/component/styling/ButtonStyle;Lorg/jetbrains/jewel/ui/component/styling/SplitButtonStyle;Lorg/jetbrains/jewel/ui/component/styling/RadioButtonStyle;Lorg/jetbrains/jewel/ui/component/styling/ScrollbarStyle;Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlButtonStyle;Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlStyle;Lorg/jetbrains/jewel/ui/component/styling/SliderStyle;Lorg/jetbrains/jewel/ui/component/styling/SelectableLazyColumnStyle;Lorg/jetbrains/jewel/ui/component/styling/SimpleListItemStyle;Lorg/jetbrains/jewel/ui/component/styling/TextAreaStyle;Lorg/jetbrains/jewel/ui/component/styling/TextFieldStyle;Lorg/jetbrains/jewel/ui/component/styling/TooltipStyle;Lorg/jetbrains/jewel/ui/component/styling/DropdownStyle;)Lorg/jetbrains/jewel/ui/ComponentStyling; + public static synthetic fun light$default (Lorg/jetbrains/jewel/ui/ComponentStyling;Lorg/jetbrains/jewel/ui/component/styling/CheckboxStyle;Lorg/jetbrains/jewel/ui/component/styling/ChipStyle;Lorg/jetbrains/jewel/ui/component/styling/CircularProgressStyle;Lorg/jetbrains/jewel/ui/component/styling/DefaultBannerStyles;Lorg/jetbrains/jewel/ui/component/styling/ComboBoxStyle;Lorg/jetbrains/jewel/ui/component/styling/ButtonStyle;Lorg/jetbrains/jewel/ui/component/styling/SplitButtonStyle;Lorg/jetbrains/jewel/ui/component/styling/TabStyle;Lorg/jetbrains/jewel/ui/component/styling/DividerStyle;Lorg/jetbrains/jewel/ui/component/styling/DropdownStyle;Lorg/jetbrains/jewel/ui/component/styling/TabStyle;Lorg/jetbrains/jewel/ui/component/styling/GroupHeaderStyle;Lorg/jetbrains/jewel/ui/component/styling/HorizontalProgressBarStyle;Lorg/jetbrains/jewel/ui/component/styling/IconButtonStyle;Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyles;Lorg/jetbrains/jewel/ui/component/styling/LazyTreeStyle;Lorg/jetbrains/jewel/ui/component/styling/LinkStyle;Lorg/jetbrains/jewel/ui/component/styling/MenuStyle;Lorg/jetbrains/jewel/ui/component/styling/PopupContainerStyle;Lorg/jetbrains/jewel/ui/component/styling/ButtonStyle;Lorg/jetbrains/jewel/ui/component/styling/SplitButtonStyle;Lorg/jetbrains/jewel/ui/component/styling/RadioButtonStyle;Lorg/jetbrains/jewel/ui/component/styling/ScrollbarStyle;Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlButtonStyle;Lorg/jetbrains/jewel/ui/component/styling/SegmentedControlStyle;Lorg/jetbrains/jewel/ui/component/styling/SliderStyle;Lorg/jetbrains/jewel/ui/component/styling/SelectableLazyColumnStyle;Lorg/jetbrains/jewel/ui/component/styling/SimpleListItemStyle;Lorg/jetbrains/jewel/ui/component/styling/TextAreaStyle;Lorg/jetbrains/jewel/ui/component/styling/TextFieldStyle;Lorg/jetbrains/jewel/ui/component/styling/TooltipStyle;Lorg/jetbrains/jewel/ui/component/styling/DropdownStyle;ILjava/lang/Object;)Lorg/jetbrains/jewel/ui/ComponentStyling; + public static final fun lightThemeDefinition-aKPr-nQ (Lorg/jetbrains/jewel/foundation/theme/JewelTheme$Companion;Lorg/jetbrains/jewel/foundation/GlobalColors;Lorg/jetbrains/jewel/foundation/GlobalMetrics;Lorg/jetbrains/jewel/foundation/theme/ThemeColorPalette;Lorg/jetbrains/jewel/foundation/theme/ThemeIconData;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;J)Lorg/jetbrains/jewel/foundation/theme/ThemeDefinition; + public static synthetic fun lightThemeDefinition-aKPr-nQ$default (Lorg/jetbrains/jewel/foundation/theme/JewelTheme$Companion;Lorg/jetbrains/jewel/foundation/GlobalColors;Lorg/jetbrains/jewel/foundation/GlobalMetrics;Lorg/jetbrains/jewel/foundation/theme/ThemeColorPalette;Lorg/jetbrains/jewel/foundation/theme/ThemeIconData;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;JILjava/lang/Object;)Lorg/jetbrains/jewel/foundation/theme/ThemeDefinition; } public final class org/jetbrains/jewel/intui/standalone/theme/TextStylesKt { diff --git a/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUIBannerStyling.kt b/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUIBannerStyling.kt index 84450e4e76d6..69f68695487e 100644 --- a/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUIBannerStyling.kt +++ b/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUIBannerStyling.kt @@ -1,6 +1,5 @@ package org.jetbrains.jewel.intui.standalone.styling -import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp @@ -17,7 +16,6 @@ public val DefaultBannerStyles.Companion.Default: IntUiDefaultBannerStylesFactor get() = IntUiDefaultBannerStylesFactory public object IntUiDefaultBannerStylesFactory { - @Composable public fun light( information: DefaultBannerStyle = DefaultBannerStyle.Information.light(), success: DefaultBannerStyle = DefaultBannerStyle.Success.light(), @@ -26,7 +24,6 @@ public object IntUiDefaultBannerStylesFactory { ): DefaultBannerStyles = DefaultBannerStyles(information = information, success = success, warning = warning, error = error) - @Composable public fun dark( information: DefaultBannerStyle = DefaultBannerStyle.Information.dark(), success: DefaultBannerStyle = DefaultBannerStyle.Success.dark(), @@ -41,13 +38,11 @@ public val DefaultBannerStyle.Companion.Information: IntUiDefaultInformationBann get() = IntUiDefaultInformationBannerStyleFactory public object IntUiDefaultInformationBannerStyleFactory { - @Composable public fun light( colors: BannerColors = BannerColors.Information.light(), metrics: BannerMetrics = BannerMetrics.default(), ): DefaultBannerStyle = DefaultBannerStyle(colors = colors, metrics = metrics) - @Composable public fun dark( colors: BannerColors = BannerColors.Information.dark(), metrics: BannerMetrics = BannerMetrics.default(), @@ -58,13 +53,11 @@ public val BannerColors.Companion.Information: IntUiInformationBannerColorFactor get() = IntUiInformationBannerColorFactory public object IntUiInformationBannerColorFactory { - @Composable public fun light( background: Color = IntUiLightTheme.colors.blue(13), border: Color = IntUiLightTheme.colors.blue(10), ): BannerColors = BannerColors(background = background, border = border) - @Composable public fun dark( background: Color = IntUiDarkTheme.colors.blue(1), border: Color = IntUiDarkTheme.colors.blue(3), @@ -78,13 +71,11 @@ public val DefaultBannerStyle.Companion.Success: IntUiDefaultSuccessBannerStyleF get() = IntUiDefaultSuccessBannerStyleFactory public object IntUiDefaultSuccessBannerStyleFactory { - @Composable public fun light( colors: BannerColors = BannerColors.Success.light(), metrics: BannerMetrics = BannerMetrics.default(), ): DefaultBannerStyle = DefaultBannerStyle(colors = colors, metrics = metrics) - @Composable public fun dark( colors: BannerColors = BannerColors.Success.dark(), metrics: BannerMetrics = BannerMetrics.default(), @@ -92,13 +83,11 @@ public object IntUiDefaultSuccessBannerStyleFactory { } public object IntUiSuccessBannerColorFactory { - @Composable public fun light( background: Color = IntUiLightTheme.colors.green(11), border: Color = IntUiLightTheme.colors.green(9), ): BannerColors = BannerColors(background = background, border = border) - @Composable public fun dark( background: Color = IntUiDarkTheme.colors.green(1), border: Color = IntUiDarkTheme.colors.green(3), @@ -112,13 +101,11 @@ public val DefaultBannerStyle.Companion.Warning: IntUiDefaultWarningBannerStyleF get() = IntUiDefaultWarningBannerStyleFactory public object IntUiDefaultWarningBannerStyleFactory { - @Composable public fun light( colors: BannerColors = BannerColors.Warning.light(), metrics: BannerMetrics = BannerMetrics.default(), ): DefaultBannerStyle = DefaultBannerStyle(colors = colors, metrics = metrics) - @Composable public fun dark( colors: BannerColors = BannerColors.Warning.dark(), metrics: BannerMetrics = BannerMetrics.default(), @@ -129,13 +116,11 @@ public val BannerColors.Companion.Warning: IntUiWarningBannerColorFactory get() = IntUiWarningBannerColorFactory public object IntUiWarningBannerColorFactory { - @Composable public fun light( background: Color = IntUiLightTheme.colors.yellow(10), border: Color = IntUiLightTheme.colors.yellow(6), ): BannerColors = BannerColors(background = background, border = border) - @Composable public fun dark( background: Color = IntUiDarkTheme.colors.yellow(1), border: Color = IntUiDarkTheme.colors.yellow(2), @@ -149,13 +134,11 @@ public val DefaultBannerStyle.Companion.Error: IntUiDefaultErrorBannerStyleFacto get() = IntUiDefaultErrorBannerStyleFactory public object IntUiDefaultErrorBannerStyleFactory { - @Composable public fun light( colors: BannerColors = BannerColors.Error.light(), metrics: BannerMetrics = BannerMetrics.default(), ): DefaultBannerStyle = DefaultBannerStyle(colors = colors, metrics = metrics) - @Composable public fun dark( colors: BannerColors = BannerColors.Error.dark(), metrics: BannerMetrics = BannerMetrics.default(), @@ -166,13 +149,11 @@ public val BannerColors.Companion.Error: IntUiErrorBannerColorFactory get() = IntUiErrorBannerColorFactory public object IntUiErrorBannerColorFactory { - @Composable public fun light( background: Color = IntUiLightTheme.colors.red(12), border: Color = IntUiLightTheme.colors.red(9), ): BannerColors = BannerColors(background = background, border = border) - @Composable public fun dark( background: Color = IntUiDarkTheme.colors.red(1), border: Color = IntUiDarkTheme.colors.red(3), @@ -185,7 +166,6 @@ public val InlineBannerStyles.Companion.Default: IntUiInlineBannerStylesFactory get() = IntUiInlineBannerStylesFactory public object IntUiInlineBannerStylesFactory { - @Composable public fun light( information: InlineBannerStyle = InlineBannerStyle.Information.light(), success: InlineBannerStyle = InlineBannerStyle.Success.light(), @@ -194,7 +174,6 @@ public object IntUiInlineBannerStylesFactory { ): InlineBannerStyles = InlineBannerStyles(information = information, success = success, warning = warning, error = error) - @Composable public fun dark( information: InlineBannerStyle = InlineBannerStyle.Information.dark(), success: InlineBannerStyle = InlineBannerStyle.Success.dark(), @@ -211,13 +190,11 @@ public val InlineBannerStyle.Companion.Information: IntUiInlineInformationBanner get() = IntUiInlineInformationBannerStyleFactory public object IntUiInlineInformationBannerStyleFactory { - @Composable public fun light( colors: BannerColors = BannerColors.Information.light(), metrics: BannerMetrics = BannerMetrics.default(), ): InlineBannerStyle = InlineBannerStyle(colors = colors, metrics = metrics) - @Composable public fun dark( colors: BannerColors = BannerColors.Information.dark(), metrics: BannerMetrics = BannerMetrics.default(), @@ -231,13 +208,11 @@ public val InlineBannerStyle.Companion.Success: IntUiInlineSuccessBannerStyleFac get() = IntUiInlineSuccessBannerStyleFactory public object IntUiInlineSuccessBannerStyleFactory { - @Composable public fun light( colors: BannerColors = BannerColors.Success.light(), metrics: BannerMetrics = BannerMetrics.default(), ): InlineBannerStyle = InlineBannerStyle(colors = colors, metrics = metrics) - @Composable public fun dark( colors: BannerColors = BannerColors.Success.dark(), metrics: BannerMetrics = BannerMetrics.default(), @@ -254,13 +229,11 @@ public val InlineBannerStyle.Companion.Warning: IntUiInlineWarningBannerStyleFac get() = IntUiInlineWarningBannerStyleFactory public object IntUiInlineWarningBannerStyleFactory { - @Composable public fun light( colors: BannerColors = BannerColors.Warning.light(), metrics: BannerMetrics = BannerMetrics.default(), ): InlineBannerStyle = InlineBannerStyle(colors = colors, metrics = metrics) - @Composable public fun dark( colors: BannerColors = BannerColors.Warning.dark(), metrics: BannerMetrics = BannerMetrics.default(), @@ -274,13 +247,11 @@ public val InlineBannerStyle.Companion.Error: IntUiInlineErrorBannerStyleFactory get() = IntUiInlineErrorBannerStyleFactory public object IntUiInlineErrorBannerStyleFactory { - @Composable public fun light( colors: BannerColors = BannerColors.Error.light(), metrics: BannerMetrics = BannerMetrics.default(), ): InlineBannerStyle = InlineBannerStyle(colors = colors, metrics = metrics) - @Composable public fun dark( colors: BannerColors = BannerColors.Error.dark(), metrics: BannerMetrics = BannerMetrics.default(), diff --git a/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiButtonStyling.kt b/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiButtonStyling.kt index 22b0784c6091..4dd817df7d13 100644 --- a/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiButtonStyling.kt +++ b/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiButtonStyling.kt @@ -2,7 +2,6 @@ package org.jetbrains.jewel.intui.standalone.styling import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.shape.CornerSize -import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Brush import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.SolidColor @@ -20,14 +19,12 @@ public val ButtonStyle.Companion.Default: IntUiDefaultButtonStyleFactory get() = IntUiDefaultButtonStyleFactory public object IntUiDefaultButtonStyleFactory { - @Composable public fun light( colors: ButtonColors = ButtonColors.Default.light(), metrics: ButtonMetrics = ButtonMetrics.default(), focusOutlineAlignment: Stroke.Alignment = Stroke.Alignment.Center, ): ButtonStyle = ButtonStyle(colors, metrics, focusOutlineAlignment) - @Composable public fun dark( colors: ButtonColors = ButtonColors.Default.dark(), metrics: ButtonMetrics = ButtonMetrics.default(), @@ -39,14 +36,12 @@ public val ButtonStyle.Companion.Outlined: IntUiOutlinedButtonStyleFactory get() = IntUiOutlinedButtonStyleFactory public object IntUiOutlinedButtonStyleFactory { - @Composable public fun light( colors: ButtonColors = ButtonColors.Outlined.light(), metrics: ButtonMetrics = ButtonMetrics.outlined(), focusOutlineAlignment: Stroke.Alignment = Stroke.Alignment.Center, ): ButtonStyle = ButtonStyle(colors, metrics, focusOutlineAlignment) - @Composable public fun dark( colors: ButtonColors = ButtonColors.Outlined.dark(), metrics: ButtonMetrics = ButtonMetrics.outlined(), @@ -58,7 +53,6 @@ public val ButtonColors.Companion.Default: IntUiDefaultButtonColorFactory get() = IntUiDefaultButtonColorFactory public object IntUiDefaultButtonColorFactory { - @Composable public fun light( background: Brush = SolidColor(IntUiLightTheme.colors.blue(4)), backgroundDisabled: Brush = SolidColor(IntUiLightTheme.colors.gray(12)), @@ -94,7 +88,6 @@ public object IntUiDefaultButtonColorFactory { borderHovered = borderHovered, ) - @Composable public fun dark( background: Brush = SolidColor(IntUiDarkTheme.colors.blue(6)), backgroundDisabled: Brush = SolidColor(IntUiDarkTheme.colors.gray(5)), @@ -135,7 +128,6 @@ public val ButtonColors.Companion.Outlined: IntUiOutlinedButtonColorFactory get() = IntUiOutlinedButtonColorFactory public object IntUiOutlinedButtonColorFactory { - @Composable public fun light( background: Brush = SolidColor(IntUiLightTheme.colors.gray(14)), backgroundDisabled: Brush = SolidColor(IntUiLightTheme.colors.gray(12)), @@ -171,7 +163,6 @@ public object IntUiOutlinedButtonColorFactory { borderHovered = borderHovered, ) - @Composable public fun dark( background: Brush = SolidColor(Color.Transparent), backgroundDisabled: Brush = SolidColor(IntUiDarkTheme.colors.gray(5)), diff --git a/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiCheckboxStyling.kt b/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiCheckboxStyling.kt index 8bec40a28602..ea823c522b91 100644 --- a/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiCheckboxStyling.kt +++ b/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiCheckboxStyling.kt @@ -1,7 +1,6 @@ package org.jetbrains.jewel.intui.standalone.styling import androidx.compose.foundation.shape.CornerSize -import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.DpSize @@ -15,28 +14,24 @@ import org.jetbrains.jewel.ui.component.styling.CheckboxStyle import org.jetbrains.jewel.ui.icon.IconKey import org.jetbrains.jewel.ui.icon.PathIconKey -@Composable public fun CheckboxStyle.Companion.light( colors: CheckboxColors = CheckboxColors.light(), metrics: CheckboxMetrics = CheckboxMetrics.defaults(), icons: CheckboxIcons = CheckboxIcons.light(), ): CheckboxStyle = CheckboxStyle(colors, metrics, icons) -@Composable public fun CheckboxStyle.Companion.dark( colors: CheckboxColors = CheckboxColors.dark(), metrics: CheckboxMetrics = CheckboxMetrics.defaults(), icons: CheckboxIcons = CheckboxIcons.dark(), ): CheckboxStyle = CheckboxStyle(colors, metrics, icons) -@Composable public fun CheckboxColors.Companion.light( content: Color = Color.Unspecified, contentDisabled: Color = IntUiLightTheme.colors.gray(8), contentSelected: Color = content, ): CheckboxColors = CheckboxColors(content, contentDisabled, contentSelected) -@Composable public fun CheckboxColors.Companion.dark( content: Color = Color.Unspecified, contentDisabled: Color = IntUiDarkTheme.colors.gray(7), @@ -68,13 +63,11 @@ public fun CheckboxMetrics.Companion.defaults( iconContentGap = iconContentGap, ) -@Composable public fun CheckboxIcons.Companion.light( checkbox: IconKey = PathIconKey(path = "com/intellij/ide/ui/laf/icons/intellij/checkBox.svg", iconClass = CheckboxIcons::class.java) ): CheckboxIcons = CheckboxIcons(checkbox) -@Composable public fun CheckboxIcons.Companion.dark( checkbox: IconKey = PathIconKey(path = "com/intellij/ide/ui/laf/icons/darcula/checkBox.svg", iconClass = CheckboxIcons::class.java) diff --git a/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiChipStyling.kt b/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiChipStyling.kt index 85cf07503348..dcd73b5bc4ac 100644 --- a/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiChipStyling.kt +++ b/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiChipStyling.kt @@ -2,7 +2,6 @@ package org.jetbrains.jewel.intui.standalone.styling import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.shape.CornerSize -import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Brush import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.SolidColor @@ -14,19 +13,16 @@ import org.jetbrains.jewel.ui.component.styling.ChipColors import org.jetbrains.jewel.ui.component.styling.ChipMetrics import org.jetbrains.jewel.ui.component.styling.ChipStyle -@Composable public fun ChipStyle.Companion.light( colors: ChipColors = ChipColors.light(), metrics: ChipMetrics = ChipMetrics.defaults(), ): ChipStyle = ChipStyle(colors, metrics) -@Composable public fun ChipStyle.Companion.dark( colors: ChipColors = ChipColors.dark(), metrics: ChipMetrics = ChipMetrics.defaults(), ): ChipStyle = ChipStyle(colors, metrics) -@Composable public fun ChipColors.Companion.light( background: Brush = SolidColor(IntUiLightTheme.colors.gray(14)), backgroundDisabled: Brush = SolidColor(IntUiLightTheme.colors.gray(12)), @@ -92,7 +88,6 @@ public fun ChipColors.Companion.light( borderSelectedHovered = borderSelectedHovered, ) -@Composable public fun ChipColors.Companion.dark( background: Brush = SolidColor(IntUiDarkTheme.colors.gray(2)), backgroundDisabled: Brush = SolidColor(IntUiDarkTheme.colors.gray(4)), diff --git a/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiComboBoxStyling.kt b/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiComboBoxStyling.kt index c378d8bab1bb..aac01ccaf2a5 100644 --- a/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiComboBoxStyling.kt +++ b/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiComboBoxStyling.kt @@ -2,7 +2,6 @@ package org.jetbrains.jewel.intui.standalone.styling import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.shape.CornerSize -import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Color.Companion.White import androidx.compose.ui.unit.Dp @@ -21,14 +20,12 @@ public val ComboBoxStyle.Companion.Default: IntUiDefaultComboBoxStyleFactory get() = IntUiDefaultComboBoxStyleFactory public object IntUiDefaultComboBoxStyleFactory { - @Composable public fun light( colors: ComboBoxColors = ComboBoxColors.Default.light(), metrics: ComboBoxMetrics = ComboBoxMetrics.default(), icons: ComboBoxIcons = ComboBoxIcons.defaults(), ): ComboBoxStyle = ComboBoxStyle(colors, metrics, icons) - @Composable public fun dark( colors: ComboBoxColors = ComboBoxColors.Default.dark(), metrics: ComboBoxMetrics = ComboBoxMetrics.default(), @@ -40,14 +37,12 @@ public val ComboBoxStyle.Companion.Undecorated: IntUiUndecoratedComboBoxStyleFac get() = IntUiUndecoratedComboBoxStyleFactory public object IntUiUndecoratedComboBoxStyleFactory { - @Composable public fun light( colors: ComboBoxColors = ComboBoxColors.Undecorated.light(), metrics: ComboBoxMetrics = ComboBoxMetrics.undecorated(), icons: ComboBoxIcons = ComboBoxIcons.defaults(), ): ComboBoxStyle = ComboBoxStyle(colors, metrics, icons) - @Composable public fun dark( colors: ComboBoxColors = ComboBoxColors.Undecorated.dark(), metrics: ComboBoxMetrics = ComboBoxMetrics.undecorated(), @@ -59,7 +54,6 @@ public val ComboBoxColors.Companion.Default: IntUiDefaultComboBoxColorsFactory get() = IntUiDefaultComboBoxColorsFactory public object IntUiDefaultComboBoxColorsFactory { - @Composable public fun light( background: Color = IntUiLightTheme.colors.gray(14), backgroundDisabled: Color = IntUiLightTheme.colors.gray(13), @@ -97,7 +91,6 @@ public object IntUiDefaultComboBoxColorsFactory { borderHovered = borderHovered, ) - @Composable public fun dark( background: Color = IntUiDarkTheme.colors.gray(2), backgroundDisabled: Color = background, @@ -140,7 +133,6 @@ public val ComboBoxColors.Companion.Undecorated: IntUiUndecoratedComboBoxColorsF get() = IntUiUndecoratedComboBoxColorsFactory public object IntUiUndecoratedComboBoxColorsFactory { - @Composable public fun light( background: Color = Color.Transparent, backgroundDisabled: Color = background, @@ -173,7 +165,6 @@ public object IntUiUndecoratedComboBoxColorsFactory { borderHovered = Color.Transparent, ) - @Composable public fun dark( background: Color = Color.Transparent, backgroundDisabled: Color = background, @@ -208,10 +199,10 @@ public object IntUiUndecoratedComboBoxColorsFactory { } public fun ComboBoxMetrics.Companion.default( - arrowAreaSize: DpSize = DpSize(23.dp, 24.dp), - minSize: DpSize = DpSize(49.dp, 24.dp), + arrowAreaSize: DpSize = DpSize(28.dp, 28.dp), + minSize: DpSize = DpSize(77.dp, 28.dp), cornerSize: CornerSize = CornerSize(4.dp), - contentPadding: PaddingValues = PaddingValues(horizontal = 6.dp, vertical = 2.dp), + contentPadding: PaddingValues = PaddingValues(9.dp, 1.dp, 6.dp, 1.dp), popupContentPadding: PaddingValues = PaddingValues(vertical = 6.dp), borderWidth: Dp = 1.dp, maxPopupHeight: Dp = 200.dp, @@ -227,10 +218,10 @@ public fun ComboBoxMetrics.Companion.default( ) public fun ComboBoxMetrics.Companion.undecorated( - arrowAreaSize: DpSize = DpSize(23.dp, 24.dp), - minSize: DpSize = DpSize(49.dp, 24.dp), + arrowAreaSize: DpSize = DpSize(28.dp, 28.dp), + minSize: DpSize = DpSize(77.dp, 28.dp), cornerSize: CornerSize = CornerSize(4.dp), - contentPadding: PaddingValues = PaddingValues(horizontal = 6.dp, vertical = 2.dp), + contentPadding: PaddingValues = PaddingValues(9.dp, 1.dp, 6.dp, 1.dp), popupContentPadding: PaddingValues = PaddingValues(vertical = 6.dp), borderWidth: Dp = 0.dp, maxPopupHeight: Dp = 200.dp, diff --git a/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiDividerStyle.kt b/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiDividerStyle.kt index 2646ab694995..379da5990616 100644 --- a/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiDividerStyle.kt +++ b/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiDividerStyle.kt @@ -1,19 +1,16 @@ package org.jetbrains.jewel.intui.standalone.styling -import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color import org.jetbrains.jewel.intui.core.theme.IntUiDarkTheme import org.jetbrains.jewel.intui.core.theme.IntUiLightTheme import org.jetbrains.jewel.ui.component.styling.DividerMetrics import org.jetbrains.jewel.ui.component.styling.DividerStyle -@Composable public fun DividerStyle.Companion.light( color: Color = IntUiLightTheme.colors.gray(12), metrics: DividerMetrics = DividerMetrics.defaults(), ): DividerStyle = DividerStyle(color, metrics) -@Composable public fun DividerStyle.Companion.dark( color: Color = IntUiDarkTheme.colors.gray(1), metrics: DividerMetrics = DividerMetrics.defaults(), diff --git a/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiDropdownStyling.kt b/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiDropdownStyling.kt index 6a1b60f2808c..55d37e4df2cf 100644 --- a/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiDropdownStyling.kt +++ b/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiDropdownStyling.kt @@ -2,7 +2,6 @@ package org.jetbrains.jewel.intui.standalone.styling import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.shape.CornerSize -import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.DpSize @@ -21,7 +20,6 @@ public val DropdownStyle.Companion.Default: IntUiDefaultDropdownStyleFactory get() = IntUiDefaultDropdownStyleFactory public object IntUiDefaultDropdownStyleFactory { - @Composable public fun light( colors: DropdownColors = DropdownColors.Default.light(), metrics: DropdownMetrics = DropdownMetrics.default(), @@ -29,7 +27,6 @@ public object IntUiDefaultDropdownStyleFactory { menuStyle: MenuStyle = MenuStyle.light(), ): DropdownStyle = DropdownStyle(colors, metrics, icons, menuStyle) - @Composable public fun dark( colors: DropdownColors = DropdownColors.Default.dark(), metrics: DropdownMetrics = DropdownMetrics.default(), @@ -42,7 +39,6 @@ public val DropdownStyle.Companion.Undecorated: IntUiUndecoratedDropdownStyleFac get() = IntUiUndecoratedDropdownStyleFactory public object IntUiUndecoratedDropdownStyleFactory { - @Composable public fun light( colors: DropdownColors = DropdownColors.Undecorated.light(), metrics: DropdownMetrics = DropdownMetrics.undecorated(), @@ -50,7 +46,6 @@ public object IntUiUndecoratedDropdownStyleFactory { menuStyle: MenuStyle = MenuStyle.light(), ): DropdownStyle = DropdownStyle(colors, metrics, icons, menuStyle) - @Composable public fun dark( colors: DropdownColors = DropdownColors.Undecorated.dark(), metrics: DropdownMetrics = DropdownMetrics.undecorated(), @@ -63,7 +58,6 @@ public val DropdownColors.Companion.Default: IntUiDefaultDropdownColorsFactory get() = IntUiDefaultDropdownColorsFactory public object IntUiDefaultDropdownColorsFactory { - @Composable public fun light( background: Color = IntUiLightTheme.colors.gray(14), backgroundDisabled: Color = IntUiLightTheme.colors.gray(13), @@ -109,7 +103,6 @@ public object IntUiDefaultDropdownColorsFactory { iconTintHovered = iconTintHovered, ) - @Composable public fun dark( background: Color = IntUiDarkTheme.colors.gray(2), backgroundDisabled: Color = background, @@ -160,7 +153,6 @@ public val DropdownColors.Companion.Undecorated: IntUiUndecoratedDropdownColorsF get() = IntUiUndecoratedDropdownColorsFactory public object IntUiUndecoratedDropdownColorsFactory { - @Composable public fun light( background: Color = Color.Transparent, backgroundDisabled: Color = background, @@ -201,7 +193,6 @@ public object IntUiUndecoratedDropdownColorsFactory { iconTintHovered = iconTintHovered, ) - @Composable public fun dark( background: Color = Color.Transparent, backgroundDisabled: Color = background, diff --git a/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiGroupHeaderStyling.kt b/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiGroupHeaderStyling.kt index 1d18082077cf..eb7333c126df 100644 --- a/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiGroupHeaderStyling.kt +++ b/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiGroupHeaderStyling.kt @@ -1,6 +1,5 @@ package org.jetbrains.jewel.intui.standalone.styling -import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp @@ -10,23 +9,19 @@ import org.jetbrains.jewel.ui.component.styling.GroupHeaderColors import org.jetbrains.jewel.ui.component.styling.GroupHeaderMetrics import org.jetbrains.jewel.ui.component.styling.GroupHeaderStyle -@Composable public fun GroupHeaderStyle.Companion.light( colors: GroupHeaderColors = GroupHeaderColors.light(), metrics: GroupHeaderMetrics = GroupHeaderMetrics.defaults(), ): GroupHeaderStyle = GroupHeaderStyle(colors, metrics) -@Composable public fun GroupHeaderStyle.Companion.dark( colors: GroupHeaderColors = GroupHeaderColors.dark(), metrics: GroupHeaderMetrics = GroupHeaderMetrics.defaults(), ): GroupHeaderStyle = GroupHeaderStyle(colors, metrics) -@Composable public fun GroupHeaderColors.Companion.light(divider: Color = IntUiLightTheme.colors.gray(12)): GroupHeaderColors = GroupHeaderColors(divider) -@Composable public fun GroupHeaderColors.Companion.dark(divider: Color = IntUiDarkTheme.colors.gray(3)): GroupHeaderColors = GroupHeaderColors(divider) diff --git a/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiHorizontalProgressBarStyling.kt b/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiHorizontalProgressBarStyling.kt index 5ebaa1e7e66e..8bed179be6b2 100644 --- a/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiHorizontalProgressBarStyling.kt +++ b/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiHorizontalProgressBarStyling.kt @@ -1,7 +1,6 @@ package org.jetbrains.jewel.intui.standalone.styling import androidx.compose.foundation.shape.CornerSize -import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp @@ -13,21 +12,18 @@ import org.jetbrains.jewel.ui.component.styling.HorizontalProgressBarColors import org.jetbrains.jewel.ui.component.styling.HorizontalProgressBarMetrics import org.jetbrains.jewel.ui.component.styling.HorizontalProgressBarStyle -@Composable public fun HorizontalProgressBarStyle.Companion.light( colors: HorizontalProgressBarColors = HorizontalProgressBarColors.light(), metrics: HorizontalProgressBarMetrics = HorizontalProgressBarMetrics.defaults(), indeterminateCycleDuration: Duration = 800.milliseconds, ): HorizontalProgressBarStyle = HorizontalProgressBarStyle(colors, metrics, indeterminateCycleDuration) -@Composable public fun HorizontalProgressBarStyle.Companion.dark( colors: HorizontalProgressBarColors = HorizontalProgressBarColors.dark(), metrics: HorizontalProgressBarMetrics = HorizontalProgressBarMetrics.defaults(), indeterminateCycleDuration: Duration = 800.milliseconds, ): HorizontalProgressBarStyle = HorizontalProgressBarStyle(colors, metrics, indeterminateCycleDuration) -@Composable public fun HorizontalProgressBarColors.Companion.light( track: Color = IntUiLightTheme.colors.gray(11), progress: Color = IntUiLightTheme.colors.blue(4), @@ -41,7 +37,6 @@ public fun HorizontalProgressBarColors.Companion.light( indeterminateHighlight = indeterminateHighlight, ) -@Composable public fun HorizontalProgressBarColors.Companion.dark( track: Color = IntUiDarkTheme.colors.gray(4), progress: Color = IntUiDarkTheme.colors.blue(7), diff --git a/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiIconButtonStyling.kt b/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiIconButtonStyling.kt index b37787811f96..bdd534e79d36 100644 --- a/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiIconButtonStyling.kt +++ b/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiIconButtonStyling.kt @@ -2,7 +2,6 @@ package org.jetbrains.jewel.intui.standalone.styling import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.shape.CornerSize -import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.DpSize @@ -13,13 +12,11 @@ import org.jetbrains.jewel.ui.component.styling.IconButtonColors import org.jetbrains.jewel.ui.component.styling.IconButtonMetrics import org.jetbrains.jewel.ui.component.styling.IconButtonStyle -@Composable public fun IconButtonStyle.Companion.light( colors: IconButtonColors = IconButtonColors.light(), metrics: IconButtonMetrics = IconButtonMetrics.defaults(), ): IconButtonStyle = IconButtonStyle(colors, metrics) -@Composable public fun IconButtonStyle.Companion.dark( colors: IconButtonColors = IconButtonColors.dark(), metrics: IconButtonMetrics = IconButtonMetrics.defaults(), diff --git a/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiLazyTreeStyling.kt b/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiLazyTreeStyling.kt index 088bbd29888c..63907a8bcd87 100644 --- a/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiLazyTreeStyling.kt +++ b/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiLazyTreeStyling.kt @@ -2,7 +2,6 @@ package org.jetbrains.jewel.intui.standalone.styling import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.shape.CornerSize -import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp @@ -21,7 +20,6 @@ private val SimpleListItemStyle.Companion.LazyTree: IntUiDefaultSimpleListItemLa get() = IntUiDefaultSimpleListItemLazyTreeStyleFactory public object IntUiDefaultSimpleListItemLazyTreeStyleFactory { - @Composable public fun light( content: Color = Color.Unspecified, contentActive: Color = content, @@ -43,7 +41,6 @@ public object IntUiDefaultSimpleListItemLazyTreeStyleFactory { contentSelectedActive = contentSelectedActive, ) - @Composable public fun dark( content: Color = Color.Unspecified, contentActive: Color = content, @@ -66,14 +63,12 @@ public object IntUiDefaultSimpleListItemLazyTreeStyleFactory { ) } -@Composable public fun LazyTreeStyle.Companion.light( colors: SimpleListItemColors = SimpleListItemStyle.LazyTree.light(), metrics: LazyTreeMetrics = LazyTreeMetrics.defaults(), icons: LazyTreeIcons = LazyTreeIcons.defaults(), ): LazyTreeStyle = LazyTreeStyle(colors, metrics, icons) -@Composable public fun LazyTreeStyle.Companion.dark( colors: SimpleListItemColors = SimpleListItemStyle.LazyTree.dark(), metrics: LazyTreeMetrics = LazyTreeMetrics.defaults(), diff --git a/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiMenuStyling.kt b/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiMenuStyling.kt index d8bf99a7e938..4299ae625291 100644 --- a/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiMenuStyling.kt +++ b/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiMenuStyling.kt @@ -2,7 +2,6 @@ package org.jetbrains.jewel.intui.standalone.styling import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.shape.CornerSize -import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.DpOffset @@ -19,21 +18,18 @@ import org.jetbrains.jewel.ui.component.styling.SubmenuMetrics import org.jetbrains.jewel.ui.icon.IconKey import org.jetbrains.jewel.ui.icons.AllIconsKeys -@Composable public fun MenuStyle.Companion.light( colors: MenuColors = MenuColors.light(), metrics: MenuMetrics = MenuMetrics.defaults(), icons: MenuIcons = MenuIcons.defaults(), ): MenuStyle = MenuStyle(isDark = false, colors, metrics, icons) -@Composable public fun MenuStyle.Companion.dark( colors: MenuColors = MenuColors.dark(), metrics: MenuMetrics = MenuMetrics.defaults(), icons: MenuIcons = MenuIcons.defaults(), ): MenuStyle = MenuStyle(isDark = true, colors, metrics, icons) -@Composable public fun MenuColors.Companion.light( background: Color = IntUiLightTheme.colors.gray(14), border: Color = IntUiLightTheme.colors.gray(9), @@ -41,7 +37,6 @@ public fun MenuColors.Companion.light( itemColors: MenuItemColors = MenuItemColors.light(), ): MenuColors = MenuColors(background = background, border = border, shadow = shadow, itemColors = itemColors) -@Composable public fun MenuColors.Companion.dark( background: Color = IntUiDarkTheme.colors.gray(2), border: Color = IntUiDarkTheme.colors.gray(3), @@ -49,7 +44,6 @@ public fun MenuColors.Companion.dark( itemColors: MenuItemColors = MenuItemColors.dark(), ): MenuColors = MenuColors(background = background, border = border, shadow = shadow, itemColors = itemColors) -@Composable public fun MenuItemColors.Companion.light( background: Color = IntUiLightTheme.colors.gray(14), backgroundDisabled: Color = IntUiLightTheme.colors.gray(14), @@ -97,7 +91,6 @@ public fun MenuItemColors.Companion.light( separator = separator, ) -@Composable public fun MenuItemColors.Companion.dark( background: Color = IntUiDarkTheme.colors.gray(2), backgroundDisabled: Color = IntUiDarkTheme.colors.gray(2), diff --git a/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiPopupContainerStyling.kt b/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiPopupContainerStyling.kt index 8bc028bd4a54..69a87b4f7e65 100644 --- a/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiPopupContainerStyling.kt +++ b/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiPopupContainerStyling.kt @@ -2,7 +2,6 @@ package org.jetbrains.jewel.intui.standalone.styling import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.shape.CornerSize -import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.DpOffset @@ -13,26 +12,22 @@ import org.jetbrains.jewel.ui.component.styling.PopupContainerColors import org.jetbrains.jewel.ui.component.styling.PopupContainerMetrics import org.jetbrains.jewel.ui.component.styling.PopupContainerStyle -@Composable public fun PopupContainerStyle.Companion.light( colors: PopupContainerColors = PopupContainerColors.light(), metrics: PopupContainerMetrics = PopupContainerMetrics.defaults(), ): PopupContainerStyle = PopupContainerStyle(isDark = false, colors, metrics) -@Composable public fun PopupContainerStyle.Companion.dark( colors: PopupContainerColors = PopupContainerColors.dark(), metrics: PopupContainerMetrics = PopupContainerMetrics.defaults(), ): PopupContainerStyle = PopupContainerStyle(isDark = true, colors, metrics) -@Composable public fun PopupContainerColors.Companion.light( background: Color = IntUiLightTheme.colors.gray(14), border: Color = IntUiLightTheme.colors.gray(9), shadow: Color = Color(0x78919191), // Not a palette color ): PopupContainerColors = PopupContainerColors(background = background, border = border, shadow = shadow) -@Composable public fun PopupContainerColors.Companion.dark( background: Color = IntUiDarkTheme.colors.gray(2), border: Color = IntUiDarkTheme.colors.gray(3), diff --git a/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiRadioButtonStyling.kt b/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiRadioButtonStyling.kt index 10440291f623..4fda03a8b5fb 100644 --- a/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiRadioButtonStyling.kt +++ b/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiRadioButtonStyling.kt @@ -1,6 +1,5 @@ package org.jetbrains.jewel.intui.standalone.styling -import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.DpSize @@ -14,21 +13,18 @@ import org.jetbrains.jewel.ui.component.styling.RadioButtonStyle import org.jetbrains.jewel.ui.icon.IconKey import org.jetbrains.jewel.ui.icon.PathIconKey -@Composable public fun RadioButtonStyle.Companion.light( colors: RadioButtonColors = RadioButtonColors.light(), metrics: RadioButtonMetrics = RadioButtonMetrics.defaults(), icons: RadioButtonIcons = RadioButtonIcons.light(), ): RadioButtonStyle = RadioButtonStyle(colors, metrics, icons) -@Composable public fun RadioButtonStyle.Companion.dark( colors: RadioButtonColors = RadioButtonColors.dark(), metrics: RadioButtonMetrics = RadioButtonMetrics.defaults(), icons: RadioButtonIcons = RadioButtonIcons.dark(), ): RadioButtonStyle = RadioButtonStyle(colors, metrics, icons) -@Composable public fun RadioButtonColors.Companion.light( content: Color = Color.Unspecified, contentHovered: Color = content, @@ -46,7 +42,6 @@ public fun RadioButtonColors.Companion.light( contentSelectedDisabled = contentSelectedDisabled, ) -@Composable public fun RadioButtonColors.Companion.dark( content: Color = Color.Unspecified, contentHovered: Color = content, diff --git a/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiSegmentedControlButtonStyling.kt b/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiSegmentedControlButtonStyling.kt index 5f146fada6eb..8b6cf325224a 100644 --- a/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiSegmentedControlButtonStyling.kt +++ b/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiSegmentedControlButtonStyling.kt @@ -2,7 +2,6 @@ package org.jetbrains.jewel.intui.standalone.styling import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.shape.CornerSize -import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Brush import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.SolidColor @@ -15,19 +14,16 @@ import org.jetbrains.jewel.ui.component.styling.SegmentedControlButtonColors import org.jetbrains.jewel.ui.component.styling.SegmentedControlButtonMetrics import org.jetbrains.jewel.ui.component.styling.SegmentedControlButtonStyle -@Composable public fun SegmentedControlButtonStyle.Companion.light( colors: SegmentedControlButtonColors = SegmentedControlButtonColors.light(), metrics: SegmentedControlButtonMetrics = SegmentedControlButtonMetrics.defaults(), ): SegmentedControlButtonStyle = SegmentedControlButtonStyle(colors, metrics) -@Composable public fun SegmentedControlButtonStyle.Companion.dark( colors: SegmentedControlButtonColors = SegmentedControlButtonColors.dark(), metrics: SegmentedControlButtonMetrics = SegmentedControlButtonMetrics.defaults(), ): SegmentedControlButtonStyle = SegmentedControlButtonStyle(colors, metrics) -@Composable public fun SegmentedControlButtonColors.Companion.light( background: Brush = SolidColor(Color.Transparent), backgroundPressed: Brush = SolidColor(IntUiLightTheme.colors.gray(14)), @@ -55,7 +51,6 @@ public fun SegmentedControlButtonColors.Companion.light( borderSelectedFocused = borderSelectedFocused, ) -@Composable public fun SegmentedControlButtonColors.Companion.dark( background: Brush = SolidColor(Color.Transparent), backgroundPressed: Brush = SolidColor(IntUiDarkTheme.colors.gray(3)), diff --git a/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiSegmentedControlStyling.kt b/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiSegmentedControlStyling.kt index ed863ba4ae0a..24b90d9928c8 100644 --- a/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiSegmentedControlStyling.kt +++ b/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiSegmentedControlStyling.kt @@ -1,7 +1,6 @@ package org.jetbrains.jewel.intui.standalone.styling import androidx.compose.foundation.shape.CornerSize -import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Brush import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.SolidColor @@ -13,19 +12,16 @@ import org.jetbrains.jewel.ui.component.styling.SegmentedControlColors import org.jetbrains.jewel.ui.component.styling.SegmentedControlMetrics import org.jetbrains.jewel.ui.component.styling.SegmentedControlStyle -@Composable public fun SegmentedControlStyle.Companion.light( colors: SegmentedControlColors = SegmentedControlColors.light(), metrics: SegmentedControlMetrics = SegmentedControlMetrics.defaults(), ): SegmentedControlStyle = SegmentedControlStyle(colors, metrics) -@Composable public fun SegmentedControlStyle.Companion.dark( colors: SegmentedControlColors = SegmentedControlColors.dark(), metrics: SegmentedControlMetrics = SegmentedControlMetrics.defaults(), ): SegmentedControlStyle = SegmentedControlStyle(colors, metrics) -@Composable public fun SegmentedControlColors.Companion.light( border: Brush = SolidColor(IntUiLightTheme.colors.gray(9)), borderDisabled: Brush = SolidColor(IntUiLightTheme.colors.gray(11)), @@ -41,7 +37,6 @@ public fun SegmentedControlColors.Companion.light( borderFocused = borderFocused, ) -@Composable public fun SegmentedControlColors.Companion.dark( border: Brush = SolidColor(IntUiDarkTheme.colors.gray(5)), borderDisabled: Brush = SolidColor(IntUiDarkTheme.colors.gray(4)), diff --git a/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiSelectableLazyColumnStyling.kt b/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiSelectableLazyColumnStyling.kt index ec751e0d270a..379595f76ada 100644 --- a/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiSelectableLazyColumnStyling.kt +++ b/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiSelectableLazyColumnStyling.kt @@ -1,6 +1,5 @@ package org.jetbrains.jewel.intui.standalone.styling -import androidx.compose.runtime.Composable import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import org.jetbrains.jewel.ui.component.styling.SelectableLazyColumnStyle @@ -8,14 +7,12 @@ import org.jetbrains.jewel.ui.component.styling.SimpleListItemColors import org.jetbrains.jewel.ui.component.styling.SimpleListItemMetrics import org.jetbrains.jewel.ui.component.styling.SimpleListItemStyle -@Composable public fun SelectableLazyColumnStyle.Companion.light( itemHeight: Dp = 24.dp, itemColors: SimpleListItemColors = SimpleListItemColors.light(), itemMetrics: SimpleListItemMetrics = SimpleListItemMetrics.default(), ): SelectableLazyColumnStyle = SelectableLazyColumnStyle(itemHeight, SimpleListItemStyle(itemColors, itemMetrics)) -@Composable public fun SelectableLazyColumnStyle.Companion.dark( itemHeight: Dp = 24.dp, itemColors: SimpleListItemColors = SimpleListItemColors.dark(), diff --git a/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiSimpleListItemStyling.kt b/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiSimpleListItemStyling.kt index 1592b7c5d242..dc61c0996596 100644 --- a/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiSimpleListItemStyling.kt +++ b/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiSimpleListItemStyling.kt @@ -1,19 +1,19 @@ package org.jetbrains.jewel.intui.standalone.styling -import androidx.compose.foundation.isSystemInDarkTheme import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.shape.CornerSize import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp +import org.jetbrains.jewel.foundation.theme.JewelTheme import org.jetbrains.jewel.intui.core.theme.IntUiLightTheme import org.jetbrains.jewel.ui.component.styling.SimpleListItemColors import org.jetbrains.jewel.ui.component.styling.SimpleListItemMetrics import org.jetbrains.jewel.ui.component.styling.SimpleListItemStyle @Composable -public fun SimpleListItemStyle.Companion.default(): SimpleListItemStyle = if (isSystemInDarkTheme()) dark() else light() +public fun SimpleListItemStyle.Companion.default(): SimpleListItemStyle = if (JewelTheme.isDark) dark() else light() public fun SimpleListItemStyle.Companion.light( colors: SimpleListItemColors = SimpleListItemColors.light(), @@ -27,7 +27,7 @@ public fun SimpleListItemStyle.Companion.dark( @Composable public fun SimpleListItemStyle.Companion.fullWidth(): SimpleListItemStyle = - if (isSystemInDarkTheme()) darkFullWidth() else lightFullWidth() + if (JewelTheme.isDark) darkFullWidth() else lightFullWidth() public fun SimpleListItemStyle.Companion.lightFullWidth( colors: SimpleListItemColors = SimpleListItemColors.light(), diff --git a/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiSliderStyling.kt b/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiSliderStyling.kt index f26c4b5294e0..d2c446b614bb 100644 --- a/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiSliderStyling.kt +++ b/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiSliderStyling.kt @@ -1,7 +1,6 @@ package org.jetbrains.jewel.intui.standalone.styling import androidx.compose.foundation.shape.CircleShape -import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Shape import androidx.compose.ui.unit.Dp @@ -13,21 +12,18 @@ import org.jetbrains.jewel.ui.component.styling.SliderColors import org.jetbrains.jewel.ui.component.styling.SliderMetrics import org.jetbrains.jewel.ui.component.styling.SliderStyle -@Composable public fun SliderStyle.Companion.light( colors: SliderColors = SliderColors.light(), metrics: SliderMetrics = SliderMetrics.defaults(), thumbShape: Shape = CircleShape, ): SliderStyle = SliderStyle(colors, metrics, thumbShape) -@Composable public fun SliderStyle.Companion.dark( colors: SliderColors = SliderColors.dark(), metrics: SliderMetrics = SliderMetrics.defaults(), thumbShape: Shape = CircleShape, ): SliderStyle = SliderStyle(colors, metrics, thumbShape) -@Composable public fun SliderColors.Companion.light( track: Color = IntUiLightTheme.colors.gray(10), trackFilled: Color = IntUiLightTheme.colors.blue(6), @@ -63,7 +59,6 @@ public fun SliderColors.Companion.light( thumbBorderHovered, ) -@Composable public fun SliderColors.Companion.dark( track: Color = IntUiDarkTheme.colors.gray(4), trackFilled: Color = IntUiDarkTheme.colors.blue(7), @@ -99,7 +94,6 @@ public fun SliderColors.Companion.dark( thumbBorderHovered, ) -@Composable public fun SliderMetrics.Companion.defaults( trackHeight: Dp = 4.dp, thumbSize: DpSize = DpSize(14.dp, 14.dp), diff --git a/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiSplitButtonStyling.kt b/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiSplitButtonStyling.kt index 8e50b5f91ed9..371b3d48f521 100644 --- a/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiSplitButtonStyling.kt +++ b/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiSplitButtonStyling.kt @@ -2,7 +2,6 @@ // Apache 2.0 license. package org.jetbrains.jewel.intui.standalone.styling -import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp @@ -17,7 +16,6 @@ public val SplitButtonStyle.Companion.Default: IntUiDefaultSplitButtonStyleFacto get() = IntUiDefaultSplitButtonStyleFactory public object IntUiDefaultSplitButtonStyleFactory { - @Composable public fun light( buttonStyle: ButtonStyle = ButtonStyle.Default.light(), dividerMetrics: DividerMetrics = DividerMetrics.defaults(), @@ -32,7 +30,6 @@ public object IntUiDefaultSplitButtonStyleFactory { colors = SplitButtonColors(dividerColor, dividerDisabledColor, chevronColor), ) - @Composable public fun dark( buttonStyle: ButtonStyle = ButtonStyle.Default.dark(), dividerMetrics: DividerMetrics = DividerMetrics.defaults(), @@ -52,7 +49,6 @@ public val SplitButtonStyle.Companion.Outlined: IntUiOutlinedSplitButtonStyleFac get() = IntUiOutlinedSplitButtonStyleFactory public object IntUiOutlinedSplitButtonStyleFactory { - @Composable public fun light( buttonStyle: ButtonStyle = ButtonStyle.Outlined.light(), dividerMetrics: DividerMetrics = DividerMetrics.defaults(), @@ -67,7 +63,6 @@ public object IntUiOutlinedSplitButtonStyleFactory { colors = SplitButtonColors(dividerColor, dividerDisabledColor, chevronColor), ) - @Composable public fun dark( buttonStyle: ButtonStyle = ButtonStyle.Outlined.dark(), dividerMetrics: DividerMetrics = DividerMetrics.defaults(), diff --git a/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiTabStyling.kt b/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiTabStyling.kt index 7ccfbc8a8166..42188e08200c 100644 --- a/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiTabStyling.kt +++ b/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiTabStyling.kt @@ -1,7 +1,6 @@ package org.jetbrains.jewel.intui.standalone.styling import androidx.compose.foundation.layout.PaddingValues -import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp @@ -28,7 +27,6 @@ public object IntUiDefaultTabStyleFactory { scrollbarStyle: ScrollbarStyle = ScrollbarStyle.tabStripLight(), ): TabStyle = TabStyle(colors, metrics, icons, contentAlpha, scrollbarStyle) - @Composable public fun dark( colors: TabColors = TabColors.Default.dark(), metrics: TabMetrics = TabMetrics.defaults(), @@ -42,7 +40,6 @@ public val TabStyle.Companion.Editor: IntUiEditorTabStyleFactory get() = IntUiEditorTabStyleFactory public object IntUiEditorTabStyleFactory { - @Composable public fun light( colors: TabColors = TabColors.Editor.light(), metrics: TabMetrics = TabMetrics.defaults(), @@ -51,7 +48,6 @@ public object IntUiEditorTabStyleFactory { scrollbarStyle: ScrollbarStyle = ScrollbarStyle.tabStripLight(), ): TabStyle = TabStyle(colors, metrics, icons, contentAlpha, scrollbarStyle) - @Composable public fun dark( colors: TabColors = TabColors.Editor.dark(), metrics: TabMetrics = TabMetrics.defaults(), diff --git a/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiTextAreaStyling.kt b/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiTextAreaStyling.kt index 944b051a1af7..794f08ec600c 100644 --- a/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiTextAreaStyling.kt +++ b/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiTextAreaStyling.kt @@ -2,7 +2,6 @@ package org.jetbrains.jewel.intui.standalone.styling import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.shape.CornerSize -import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.DpSize @@ -13,19 +12,16 @@ import org.jetbrains.jewel.ui.component.styling.TextAreaColors import org.jetbrains.jewel.ui.component.styling.TextAreaMetrics import org.jetbrains.jewel.ui.component.styling.TextAreaStyle -@Composable public fun TextAreaStyle.Companion.light( colors: TextAreaColors = TextAreaColors.light(), metrics: TextAreaMetrics = TextAreaMetrics.defaults(), ): TextAreaStyle = TextAreaStyle(colors, metrics) -@Composable public fun TextAreaStyle.Companion.dark( colors: TextAreaColors = TextAreaColors.dark(), metrics: TextAreaMetrics = TextAreaMetrics.defaults(), ): TextAreaStyle = TextAreaStyle(colors, metrics) -@Composable public fun TextAreaColors.Companion.light( background: Color = IntUiLightTheme.colors.gray(14), backgroundDisabled: Color = Color.Unspecified, @@ -73,7 +69,6 @@ public fun TextAreaColors.Companion.light( placeholder = placeholder, ) -@Composable public fun TextAreaColors.Companion.dark( background: Color = IntUiDarkTheme.colors.gray(2), backgroundDisabled: Color = Color.Unspecified, diff --git a/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiTextFieldStyling.kt b/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiTextFieldStyling.kt index e8ecef7617ac..e0e528014918 100644 --- a/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiTextFieldStyling.kt +++ b/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiTextFieldStyling.kt @@ -2,7 +2,6 @@ package org.jetbrains.jewel.intui.standalone.styling import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.shape.CornerSize -import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.DpSize @@ -15,7 +14,6 @@ import org.jetbrains.jewel.ui.component.styling.TextFieldColors import org.jetbrains.jewel.ui.component.styling.TextFieldMetrics import org.jetbrains.jewel.ui.component.styling.TextFieldStyle -@Composable public fun TextFieldStyle.Companion.light( colors: TextFieldColors = TextFieldColors.light(), metrics: TextFieldMetrics = TextFieldMetrics.defaults(), @@ -34,7 +32,6 @@ public fun TextFieldStyle.Companion.light( ), ): TextFieldStyle = TextFieldStyle(colors, metrics, iconButtonStyle) -@Composable public fun TextFieldStyle.Companion.dark( colors: TextFieldColors = TextFieldColors.dark(), metrics: TextFieldMetrics = TextFieldMetrics.defaults(), @@ -52,7 +49,6 @@ public fun TextFieldStyle.Companion.dark( ), ): TextFieldStyle = TextFieldStyle(colors, metrics, iconButtonStyle) -@Composable public fun TextFieldColors.Companion.light( background: Color = IntUiLightTheme.colors.gray(14), backgroundDisabled: Color = Color.Unspecified, @@ -100,7 +96,6 @@ public fun TextFieldColors.Companion.light( placeholder = placeholder, ) -@Composable public fun TextFieldColors.Companion.dark( background: Color = IntUiDarkTheme.colors.gray(2), backgroundDisabled: Color = Color.Unspecified, diff --git a/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiTooltipStyling.kt b/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiTooltipStyling.kt index 63fedcaca398..0871aa80d41e 100644 --- a/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiTooltipStyling.kt +++ b/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/styling/IntUiTooltipStyling.kt @@ -1,6 +1,5 @@ package org.jetbrains.jewel.intui.standalone.styling -import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color import org.jetbrains.jewel.intui.core.theme.IntUiDarkTheme import org.jetbrains.jewel.intui.core.theme.IntUiLightTheme @@ -8,19 +7,16 @@ import org.jetbrains.jewel.ui.component.styling.TooltipColors import org.jetbrains.jewel.ui.component.styling.TooltipMetrics import org.jetbrains.jewel.ui.component.styling.TooltipStyle -@Composable public fun TooltipStyle.Companion.light( intUiTooltipColors: TooltipColors = TooltipColors.light(), intUiTooltipMetrics: TooltipMetrics = TooltipMetrics.defaults(), ): TooltipStyle = TooltipStyle(colors = intUiTooltipColors, metrics = intUiTooltipMetrics) -@Composable public fun TooltipStyle.Companion.dark( intUiTooltipColors: TooltipColors = TooltipColors.dark(), intUiTooltipMetrics: TooltipMetrics = TooltipMetrics.defaults(), ): TooltipStyle = TooltipStyle(colors = intUiTooltipColors, metrics = intUiTooltipMetrics) -@Composable public fun TooltipColors.Companion.light( backgroundColor: Color = IntUiLightTheme.colors.gray(2), contentColor: Color = IntUiLightTheme.colors.gray(12), @@ -28,7 +24,6 @@ public fun TooltipColors.Companion.light( shadow: Color = Color(0x78919191), // Not a palette color ): TooltipColors = TooltipColors(backgroundColor, contentColor, borderColor, shadow) -@Composable public fun TooltipColors.Companion.dark( backgroundColor: Color = IntUiDarkTheme.colors.gray(2), contentColor: Color = IntUiDarkTheme.colors.gray(12), diff --git a/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/theme/IntUiTheme.kt b/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/theme/IntUiTheme.kt index 008113e2ccad..289f3076fdd2 100644 --- a/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/theme/IntUiTheme.kt +++ b/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/theme/IntUiTheme.kt @@ -54,7 +54,6 @@ import org.jetbrains.jewel.ui.icon.LocalNewUiChecker import org.jetbrains.jewel.ui.painter.LocalPainterHintsProvider import org.jetbrains.jewel.ui.theme.BaseJewelTheme -@Composable public fun JewelTheme.Companion.lightThemeDefinition( colors: GlobalColors = GlobalColors.light(), metrics: GlobalMetrics = GlobalMetrics.defaults(), @@ -78,7 +77,6 @@ public fun JewelTheme.Companion.lightThemeDefinition( iconData, ) -@Composable public fun JewelTheme.Companion.darkThemeDefinition( colors: GlobalColors = GlobalColors.dark(), metrics: GlobalMetrics = GlobalMetrics.defaults(), @@ -108,7 +106,6 @@ public fun ComponentStyling.default(): ComponentStyling = with { if (isDark) dark() else light() } -@Composable public fun ComponentStyling.dark( checkboxStyle: CheckboxStyle = CheckboxStyle.dark(), chipStyle: ChipStyle = ChipStyle.dark(), @@ -180,7 +177,6 @@ public fun ComponentStyling.dark( ) ) -@Composable public fun ComponentStyling.light( checkboxStyle: CheckboxStyle = CheckboxStyle.light(), chipStyle: ChipStyle = ChipStyle.light(), diff --git a/platform/jewel/markdown/README.md b/platform/jewel/markdown/README.md index 8a84a126e5b5..7997bfafa165 100644 --- a/platform/jewel/markdown/README.md +++ b/platform/jewel/markdown/README.md @@ -62,7 +62,7 @@ If you want to use extensions, you also need to add them **alongside** the `jewe dependencies { implementation(libs.jewel.standalone) implementation(libs.jewel.markdown.intUiStandaloneStyling) - implementation(libs.jewel.markdown.extension.gfm.alerts) // Optional + implementation(libs.jewel.markdown.extensions.gfm.alerts) // Optional // Et cetera... } ``` @@ -159,4 +159,4 @@ You can see this in action running the Standalone sample, and selecting Markdown The following image shows the Jewel Markdown renderer displaying the Jewel readme. -![Image showing the Markdown renderer page from the Jewel standalone sample](../art/docs/markdown-renderer.png) \ No newline at end of file +![Image showing the Markdown renderer page from the Jewel standalone sample](../art/docs/markdown-renderer.png) diff --git a/platform/jewel/markdown/core/api-dump-unreviewed.txt b/platform/jewel/markdown/core/api-dump-unreviewed.txt index 0833679913ee..fa920d480325 100644 --- a/platform/jewel/markdown/core/api-dump-unreviewed.txt +++ b/platform/jewel/markdown/core/api-dump-unreviewed.txt @@ -205,7 +205,7 @@ org.jetbrains.jewel.markdown.extensions.MarkdownBlockProcessorExtension - a:processMarkdownBlock(org.commonmark.node.CustomBlock,org.jetbrains.jewel.markdown.processing.MarkdownProcessor):org.jetbrains.jewel.markdown.MarkdownBlock$CustomBlock org.jetbrains.jewel.markdown.extensions.MarkdownBlockRendererExtension - a:canRender(org.jetbrains.jewel.markdown.MarkdownBlock$CustomBlock):Z -- a:render(org.jetbrains.jewel.markdown.MarkdownBlock$CustomBlock,org.jetbrains.jewel.markdown.rendering.MarkdownBlockRenderer,org.jetbrains.jewel.markdown.rendering.InlineMarkdownRenderer,Z,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function0,androidx.compose.runtime.Composer,I):V +- a:render(org.jetbrains.jewel.markdown.MarkdownBlock$CustomBlock,org.jetbrains.jewel.markdown.rendering.MarkdownBlockRenderer,org.jetbrains.jewel.markdown.rendering.InlineMarkdownRenderer,Z,androidx.compose.ui.Modifier,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function0,androidx.compose.runtime.Composer,I):V org.jetbrains.jewel.markdown.extensions.MarkdownDelimitedInlineProcessorExtension - a:canProcess(org.commonmark.node.Delimited):Z - a:processDelimitedInline(org.commonmark.node.Delimited,org.jetbrains.jewel.markdown.processing.MarkdownProcessor):org.jetbrains.jewel.markdown.InlineMarkdown$CustomDelimitedNode @@ -255,6 +255,15 @@ c:org.jetbrains.jewel.markdown.rendering.DefaultInlineMarkdownRenderer - (java.util.List):V - pf:getDelimitedNodeRendererExtensions():java.util.List - renderAsAnnotatedString(java.lang.Iterable,org.jetbrains.jewel.markdown.rendering.InlinesStyling,Z,kotlin.jvm.functions.Function1):androidx.compose.ui.text.AnnotatedString +- p:renderEmphasis(androidx.compose.ui.text.AnnotatedString$Builder,org.jetbrains.jewel.markdown.InlineMarkdown$Emphasis,org.jetbrains.jewel.markdown.rendering.InlinesStyling,Z,kotlin.jvm.functions.Function1,androidx.compose.ui.text.TextStyle):V +- p:renderHardLineBreak(androidx.compose.ui.text.AnnotatedString$Builder,org.jetbrains.jewel.markdown.rendering.InlinesStyling,androidx.compose.ui.text.TextStyle):V +- p:renderImage(androidx.compose.ui.text.AnnotatedString$Builder,org.jetbrains.jewel.markdown.InlineMarkdown$Image,org.jetbrains.jewel.markdown.rendering.InlinesStyling,Z,androidx.compose.ui.text.TextStyle):V +- p:renderInlineCode(androidx.compose.ui.text.AnnotatedString$Builder,org.jetbrains.jewel.markdown.InlineMarkdown$Code,org.jetbrains.jewel.markdown.rendering.InlinesStyling,Z,androidx.compose.ui.text.TextStyle):V +- p:renderInlineHtml(androidx.compose.ui.text.AnnotatedString$Builder,org.jetbrains.jewel.markdown.InlineMarkdown$HtmlInline,org.jetbrains.jewel.markdown.rendering.InlinesStyling,Z,androidx.compose.ui.text.TextStyle):V +- p:renderLink(androidx.compose.ui.text.AnnotatedString$Builder,org.jetbrains.jewel.markdown.InlineMarkdown$Link,org.jetbrains.jewel.markdown.rendering.InlinesStyling,Z,kotlin.jvm.functions.Function1,androidx.compose.ui.text.TextStyle):V +- p:renderSoftLineBreak(androidx.compose.ui.text.AnnotatedString$Builder,org.jetbrains.jewel.markdown.rendering.InlinesStyling,androidx.compose.ui.text.TextStyle):V +- p:renderStrongEmphasis(androidx.compose.ui.text.AnnotatedString$Builder,org.jetbrains.jewel.markdown.InlineMarkdown$StrongEmphasis,org.jetbrains.jewel.markdown.rendering.InlinesStyling,Z,kotlin.jvm.functions.Function1,androidx.compose.ui.text.TextStyle):V +- p:renderText(androidx.compose.ui.text.AnnotatedString$Builder,org.jetbrains.jewel.markdown.InlineMarkdown$Text,org.jetbrains.jewel.markdown.rendering.InlinesStyling,Z,androidx.compose.ui.text.TextStyle):V c:org.jetbrains.jewel.markdown.rendering.DefaultMarkdownBlockRenderer - org.jetbrains.jewel.markdown.rendering.MarkdownBlockRenderer - sf:$stable:I @@ -266,29 +275,29 @@ c:org.jetbrains.jewel.markdown.rendering.DefaultMarkdownBlockRenderer - getRendererExtensions():java.util.List - getRootStyling():org.jetbrains.jewel.markdown.rendering.MarkdownStyling - plus(org.jetbrains.jewel.markdown.extensions.MarkdownRendererExtension):org.jetbrains.jewel.markdown.rendering.MarkdownBlockRenderer -- render(java.util.List,Z,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function0,androidx.compose.runtime.Composer,I):V -- render(org.jetbrains.jewel.markdown.MarkdownBlock$BlockQuote,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$BlockQuote,Z,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function0,androidx.compose.runtime.Composer,I):V -- render(org.jetbrains.jewel.markdown.MarkdownBlock$CodeBlock$FencedCodeBlock,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Code$Fenced,androidx.compose.runtime.Composer,I):V -- render(org.jetbrains.jewel.markdown.MarkdownBlock$CodeBlock$IndentedCodeBlock,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Code$Indented,androidx.compose.runtime.Composer,I):V -- render(org.jetbrains.jewel.markdown.MarkdownBlock$CodeBlock,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Code,androidx.compose.runtime.Composer,I):V -- render(org.jetbrains.jewel.markdown.MarkdownBlock$Heading,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading$HN,Z,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function0,androidx.compose.runtime.Composer,I):V -- render(org.jetbrains.jewel.markdown.MarkdownBlock$Heading,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading,Z,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function0,androidx.compose.runtime.Composer,I):V -- render(org.jetbrains.jewel.markdown.MarkdownBlock$HtmlBlock,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$HtmlBlock,androidx.compose.runtime.Composer,I):V -- render(org.jetbrains.jewel.markdown.MarkdownBlock$ListBlock$OrderedList,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$List$Ordered,Z,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function0,androidx.compose.runtime.Composer,I):V -- render(org.jetbrains.jewel.markdown.MarkdownBlock$ListBlock$UnorderedList,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$List$Unordered,Z,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function0,androidx.compose.runtime.Composer,I):V -- render(org.jetbrains.jewel.markdown.MarkdownBlock$ListBlock,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$List,Z,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function0,androidx.compose.runtime.Composer,I):V -- render(org.jetbrains.jewel.markdown.MarkdownBlock$ListItem,Z,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function0,androidx.compose.runtime.Composer,I):V -- render(org.jetbrains.jewel.markdown.MarkdownBlock$Paragraph,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Paragraph,Z,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function0,androidx.compose.runtime.Composer,I):V -- render(org.jetbrains.jewel.markdown.MarkdownBlock,Z,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function0,androidx.compose.runtime.Composer,I):V -- renderThematicBreak(org.jetbrains.jewel.markdown.rendering.MarkdownStyling$ThematicBreak,androidx.compose.runtime.Composer,I):V -- renderWithMimeType-EWr_ITI(org.jetbrains.jewel.markdown.MarkdownBlock$CodeBlock$FencedCodeBlock,java.lang.String,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Code$Fenced,androidx.compose.runtime.Composer,I):V +- render(java.util.List,Z,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function0,androidx.compose.ui.Modifier,androidx.compose.runtime.Composer,I):V +- render(org.jetbrains.jewel.markdown.MarkdownBlock$BlockQuote,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$BlockQuote,Z,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function0,androidx.compose.ui.Modifier,androidx.compose.runtime.Composer,I):V +- render(org.jetbrains.jewel.markdown.MarkdownBlock$CodeBlock$FencedCodeBlock,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Code$Fenced,Z,androidx.compose.ui.Modifier,androidx.compose.runtime.Composer,I):V +- render(org.jetbrains.jewel.markdown.MarkdownBlock$CodeBlock$IndentedCodeBlock,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Code$Indented,Z,androidx.compose.ui.Modifier,androidx.compose.runtime.Composer,I):V +- render(org.jetbrains.jewel.markdown.MarkdownBlock$CodeBlock,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Code,Z,androidx.compose.ui.Modifier,androidx.compose.runtime.Composer,I):V +- render(org.jetbrains.jewel.markdown.MarkdownBlock$Heading,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading$HN,Z,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function0,androidx.compose.ui.Modifier,androidx.compose.runtime.Composer,I):V +- render(org.jetbrains.jewel.markdown.MarkdownBlock$Heading,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading,Z,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function0,androidx.compose.ui.Modifier,androidx.compose.runtime.Composer,I):V +- render(org.jetbrains.jewel.markdown.MarkdownBlock$HtmlBlock,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$HtmlBlock,Z,androidx.compose.ui.Modifier,androidx.compose.runtime.Composer,I):V +- render(org.jetbrains.jewel.markdown.MarkdownBlock$ListBlock$OrderedList,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$List$Ordered,Z,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function0,androidx.compose.ui.Modifier,androidx.compose.runtime.Composer,I):V +- render(org.jetbrains.jewel.markdown.MarkdownBlock$ListBlock$UnorderedList,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$List$Unordered,Z,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function0,androidx.compose.ui.Modifier,androidx.compose.runtime.Composer,I):V +- render(org.jetbrains.jewel.markdown.MarkdownBlock$ListBlock,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$List,Z,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function0,androidx.compose.ui.Modifier,androidx.compose.runtime.Composer,I):V +- render(org.jetbrains.jewel.markdown.MarkdownBlock$ListItem,Z,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function0,androidx.compose.ui.Modifier,androidx.compose.runtime.Composer,I):V +- render(org.jetbrains.jewel.markdown.MarkdownBlock$Paragraph,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Paragraph,Z,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function0,androidx.compose.ui.Modifier,androidx.compose.runtime.Composer,I):V +- render(org.jetbrains.jewel.markdown.MarkdownBlock,Z,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function0,androidx.compose.ui.Modifier,androidx.compose.runtime.Composer,I):V +- renderThematicBreak(org.jetbrains.jewel.markdown.rendering.MarkdownStyling$ThematicBreak,Z,androidx.compose.ui.Modifier,androidx.compose.runtime.Composer,I):V org.jetbrains.jewel.markdown.rendering.InlineMarkdownRenderer - a:renderAsAnnotatedString(java.lang.Iterable,org.jetbrains.jewel.markdown.rendering.InlinesStyling,Z,kotlin.jvm.functions.Function1):androidx.compose.ui.text.AnnotatedString - bs:renderAsAnnotatedString$default(org.jetbrains.jewel.markdown.rendering.InlineMarkdownRenderer,java.lang.Iterable,org.jetbrains.jewel.markdown.rendering.InlinesStyling,Z,kotlin.jvm.functions.Function1,I,java.lang.Object):androidx.compose.ui.text.AnnotatedString f:org.jetbrains.jewel.markdown.rendering.InlinesStyling - sf:$stable:I - sf:Companion:org.jetbrains.jewel.markdown.rendering.InlinesStyling$Companion -- (androidx.compose.ui.text.TextStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,Z):V +- (androidx.compose.ui.text.TextStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle):V +- b:(androidx.compose.ui.text.TextStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,Z):V - equals(java.lang.Object):Z - f:getEmphasis():androidx.compose.ui.text.SpanStyle - f:getInlineCode():androidx.compose.ui.text.SpanStyle @@ -299,7 +308,6 @@ f:org.jetbrains.jewel.markdown.rendering.InlinesStyling - f:getLinkHovered():androidx.compose.ui.text.SpanStyle - f:getLinkPressed():androidx.compose.ui.text.SpanStyle - f:getLinkVisited():androidx.compose.ui.text.SpanStyle -- f:getRenderInlineHtml():Z - f:getStrongEmphasis():androidx.compose.ui.text.SpanStyle - f:getTextLinkStyles():androidx.compose.ui.text.TextLinkStyles - f:getTextStyle():androidx.compose.ui.text.TextStyle @@ -313,21 +321,21 @@ org.jetbrains.jewel.markdown.rendering.MarkdownBlockRenderer - a:getRendererExtensions():java.util.List - a:getRootStyling():org.jetbrains.jewel.markdown.rendering.MarkdownStyling - a:plus(org.jetbrains.jewel.markdown.extensions.MarkdownRendererExtension):org.jetbrains.jewel.markdown.rendering.MarkdownBlockRenderer -- a:render(java.util.List,Z,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function0,androidx.compose.runtime.Composer,I):V -- a:render(org.jetbrains.jewel.markdown.MarkdownBlock$BlockQuote,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$BlockQuote,Z,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function0,androidx.compose.runtime.Composer,I):V -- a:render(org.jetbrains.jewel.markdown.MarkdownBlock$CodeBlock$FencedCodeBlock,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Code$Fenced,androidx.compose.runtime.Composer,I):V -- a:render(org.jetbrains.jewel.markdown.MarkdownBlock$CodeBlock$IndentedCodeBlock,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Code$Indented,androidx.compose.runtime.Composer,I):V -- a:render(org.jetbrains.jewel.markdown.MarkdownBlock$CodeBlock,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Code,androidx.compose.runtime.Composer,I):V -- a:render(org.jetbrains.jewel.markdown.MarkdownBlock$Heading,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading$HN,Z,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function0,androidx.compose.runtime.Composer,I):V -- a:render(org.jetbrains.jewel.markdown.MarkdownBlock$Heading,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading,Z,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function0,androidx.compose.runtime.Composer,I):V -- a:render(org.jetbrains.jewel.markdown.MarkdownBlock$HtmlBlock,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$HtmlBlock,androidx.compose.runtime.Composer,I):V -- a:render(org.jetbrains.jewel.markdown.MarkdownBlock$ListBlock$OrderedList,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$List$Ordered,Z,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function0,androidx.compose.runtime.Composer,I):V -- a:render(org.jetbrains.jewel.markdown.MarkdownBlock$ListBlock$UnorderedList,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$List$Unordered,Z,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function0,androidx.compose.runtime.Composer,I):V -- a:render(org.jetbrains.jewel.markdown.MarkdownBlock$ListBlock,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$List,Z,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function0,androidx.compose.runtime.Composer,I):V -- a:render(org.jetbrains.jewel.markdown.MarkdownBlock$ListItem,Z,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function0,androidx.compose.runtime.Composer,I):V -- a:render(org.jetbrains.jewel.markdown.MarkdownBlock$Paragraph,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Paragraph,Z,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function0,androidx.compose.runtime.Composer,I):V -- a:render(org.jetbrains.jewel.markdown.MarkdownBlock,Z,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function0,androidx.compose.runtime.Composer,I):V -- a:renderThematicBreak(org.jetbrains.jewel.markdown.rendering.MarkdownStyling$ThematicBreak,androidx.compose.runtime.Composer,I):V +- a:render(java.util.List,Z,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function0,androidx.compose.ui.Modifier,androidx.compose.runtime.Composer,I):V +- a:render(org.jetbrains.jewel.markdown.MarkdownBlock$BlockQuote,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$BlockQuote,Z,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function0,androidx.compose.ui.Modifier,androidx.compose.runtime.Composer,I):V +- a:render(org.jetbrains.jewel.markdown.MarkdownBlock$CodeBlock$FencedCodeBlock,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Code$Fenced,Z,androidx.compose.ui.Modifier,androidx.compose.runtime.Composer,I):V +- a:render(org.jetbrains.jewel.markdown.MarkdownBlock$CodeBlock$IndentedCodeBlock,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Code$Indented,Z,androidx.compose.ui.Modifier,androidx.compose.runtime.Composer,I):V +- a:render(org.jetbrains.jewel.markdown.MarkdownBlock$CodeBlock,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Code,Z,androidx.compose.ui.Modifier,androidx.compose.runtime.Composer,I):V +- a:render(org.jetbrains.jewel.markdown.MarkdownBlock$Heading,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading$HN,Z,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function0,androidx.compose.ui.Modifier,androidx.compose.runtime.Composer,I):V +- a:render(org.jetbrains.jewel.markdown.MarkdownBlock$Heading,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading,Z,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function0,androidx.compose.ui.Modifier,androidx.compose.runtime.Composer,I):V +- a:render(org.jetbrains.jewel.markdown.MarkdownBlock$HtmlBlock,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$HtmlBlock,Z,androidx.compose.ui.Modifier,androidx.compose.runtime.Composer,I):V +- a:render(org.jetbrains.jewel.markdown.MarkdownBlock$ListBlock$OrderedList,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$List$Ordered,Z,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function0,androidx.compose.ui.Modifier,androidx.compose.runtime.Composer,I):V +- a:render(org.jetbrains.jewel.markdown.MarkdownBlock$ListBlock$UnorderedList,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$List$Unordered,Z,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function0,androidx.compose.ui.Modifier,androidx.compose.runtime.Composer,I):V +- a:render(org.jetbrains.jewel.markdown.MarkdownBlock$ListBlock,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$List,Z,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function0,androidx.compose.ui.Modifier,androidx.compose.runtime.Composer,I):V +- a:render(org.jetbrains.jewel.markdown.MarkdownBlock$ListItem,Z,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function0,androidx.compose.ui.Modifier,androidx.compose.runtime.Composer,I):V +- a:render(org.jetbrains.jewel.markdown.MarkdownBlock$Paragraph,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Paragraph,Z,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function0,androidx.compose.ui.Modifier,androidx.compose.runtime.Composer,I):V +- a:render(org.jetbrains.jewel.markdown.MarkdownBlock,Z,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function0,androidx.compose.ui.Modifier,androidx.compose.runtime.Composer,I):V +- a:renderThematicBreak(org.jetbrains.jewel.markdown.rendering.MarkdownStyling$ThematicBreak,Z,androidx.compose.ui.Modifier,androidx.compose.runtime.Composer,I):V f:org.jetbrains.jewel.markdown.rendering.MarkdownBlockRenderer$Companion f:org.jetbrains.jewel.markdown.rendering.MarkdownStyling - sf:$stable:I @@ -588,10 +596,9 @@ c:org.jetbrains.jewel.markdown.scrolling.ScrollSyncMarkdownBlockRenderer - org.jetbrains.jewel.markdown.rendering.DefaultMarkdownBlockRenderer - sf:$stable:I - (org.jetbrains.jewel.markdown.rendering.MarkdownStyling,java.util.List,org.jetbrains.jewel.markdown.rendering.InlineMarkdownRenderer):V -- render(org.jetbrains.jewel.markdown.MarkdownBlock$CodeBlock$IndentedCodeBlock,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Code$Indented,androidx.compose.runtime.Composer,I):V -- render(org.jetbrains.jewel.markdown.MarkdownBlock$Heading,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading$HN,Z,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function0,androidx.compose.runtime.Composer,I):V -- render(org.jetbrains.jewel.markdown.MarkdownBlock$Paragraph,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Paragraph,Z,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function0,androidx.compose.runtime.Composer,I):V -- renderWithMimeType-EWr_ITI(org.jetbrains.jewel.markdown.MarkdownBlock$CodeBlock$FencedCodeBlock,java.lang.String,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Code$Fenced,androidx.compose.runtime.Composer,I):V +- render(org.jetbrains.jewel.markdown.MarkdownBlock$CodeBlock$IndentedCodeBlock,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Code$Indented,Z,androidx.compose.ui.Modifier,androidx.compose.runtime.Composer,I):V +- render(org.jetbrains.jewel.markdown.MarkdownBlock$Heading,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading$HN,Z,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function0,androidx.compose.ui.Modifier,androidx.compose.runtime.Composer,I):V +- render(org.jetbrains.jewel.markdown.MarkdownBlock$Paragraph,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Paragraph,Z,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function0,androidx.compose.ui.Modifier,androidx.compose.runtime.Composer,I):V a:org.jetbrains.jewel.markdown.scrolling.ScrollingSynchronizer - sf:$stable:I - sf:Companion:org.jetbrains.jewel.markdown.scrolling.ScrollingSynchronizer$Companion diff --git a/platform/jewel/markdown/core/api/core.api b/platform/jewel/markdown/core/api/core.api index 51b4529cabb5..9b95dcc4d804 100644 --- a/platform/jewel/markdown/core/api/core.api +++ b/platform/jewel/markdown/core/api/core.api @@ -262,7 +262,7 @@ public abstract interface class org/jetbrains/jewel/markdown/extensions/Markdown public abstract interface class org/jetbrains/jewel/markdown/extensions/MarkdownBlockRendererExtension { public abstract fun canRender (Lorg/jetbrains/jewel/markdown/MarkdownBlock$CustomBlock;)Z - public abstract fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$CustomBlock;Lorg/jetbrains/jewel/markdown/rendering/MarkdownBlockRenderer;Lorg/jetbrains/jewel/markdown/rendering/InlineMarkdownRenderer;ZLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Landroidx/compose/runtime/Composer;I)V + public abstract fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$CustomBlock;Lorg/jetbrains/jewel/markdown/rendering/MarkdownBlockRenderer;Lorg/jetbrains/jewel/markdown/rendering/InlineMarkdownRenderer;ZLandroidx/compose/ui/Modifier;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Landroidx/compose/runtime/Composer;I)V } public abstract interface class org/jetbrains/jewel/markdown/extensions/MarkdownDelimitedInlineProcessorExtension { @@ -341,6 +341,15 @@ public class org/jetbrains/jewel/markdown/rendering/DefaultInlineMarkdownRendere public fun (Ljava/util/List;)V protected final fun getDelimitedNodeRendererExtensions ()Ljava/util/List; public fun renderAsAnnotatedString (Ljava/lang/Iterable;Lorg/jetbrains/jewel/markdown/rendering/InlinesStyling;ZLkotlin/jvm/functions/Function1;)Landroidx/compose/ui/text/AnnotatedString; + protected fun renderEmphasis (Landroidx/compose/ui/text/AnnotatedString$Builder;Lorg/jetbrains/jewel/markdown/InlineMarkdown$Emphasis;Lorg/jetbrains/jewel/markdown/rendering/InlinesStyling;ZLkotlin/jvm/functions/Function1;Landroidx/compose/ui/text/TextStyle;)V + protected fun renderHardLineBreak (Landroidx/compose/ui/text/AnnotatedString$Builder;Lorg/jetbrains/jewel/markdown/rendering/InlinesStyling;Landroidx/compose/ui/text/TextStyle;)V + protected fun renderImage (Landroidx/compose/ui/text/AnnotatedString$Builder;Lorg/jetbrains/jewel/markdown/InlineMarkdown$Image;Lorg/jetbrains/jewel/markdown/rendering/InlinesStyling;ZLandroidx/compose/ui/text/TextStyle;)V + protected fun renderInlineCode (Landroidx/compose/ui/text/AnnotatedString$Builder;Lorg/jetbrains/jewel/markdown/InlineMarkdown$Code;Lorg/jetbrains/jewel/markdown/rendering/InlinesStyling;ZLandroidx/compose/ui/text/TextStyle;)V + protected fun renderInlineHtml (Landroidx/compose/ui/text/AnnotatedString$Builder;Lorg/jetbrains/jewel/markdown/InlineMarkdown$HtmlInline;Lorg/jetbrains/jewel/markdown/rendering/InlinesStyling;ZLandroidx/compose/ui/text/TextStyle;)V + protected fun renderLink (Landroidx/compose/ui/text/AnnotatedString$Builder;Lorg/jetbrains/jewel/markdown/InlineMarkdown$Link;Lorg/jetbrains/jewel/markdown/rendering/InlinesStyling;ZLkotlin/jvm/functions/Function1;Landroidx/compose/ui/text/TextStyle;)V + protected fun renderSoftLineBreak (Landroidx/compose/ui/text/AnnotatedString$Builder;Lorg/jetbrains/jewel/markdown/rendering/InlinesStyling;Landroidx/compose/ui/text/TextStyle;)V + protected fun renderStrongEmphasis (Landroidx/compose/ui/text/AnnotatedString$Builder;Lorg/jetbrains/jewel/markdown/InlineMarkdown$StrongEmphasis;Lorg/jetbrains/jewel/markdown/rendering/InlinesStyling;ZLkotlin/jvm/functions/Function1;Landroidx/compose/ui/text/TextStyle;)V + protected fun renderText (Landroidx/compose/ui/text/AnnotatedString$Builder;Lorg/jetbrains/jewel/markdown/InlineMarkdown$Text;Lorg/jetbrains/jewel/markdown/rendering/InlinesStyling;ZLandroidx/compose/ui/text/TextStyle;)V } public class org/jetbrains/jewel/markdown/rendering/DefaultMarkdownBlockRenderer : org/jetbrains/jewel/markdown/rendering/MarkdownBlockRenderer { @@ -353,22 +362,21 @@ public class org/jetbrains/jewel/markdown/rendering/DefaultMarkdownBlockRenderer public fun getRendererExtensions ()Ljava/util/List; public fun getRootStyling ()Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling; public fun plus (Lorg/jetbrains/jewel/markdown/extensions/MarkdownRendererExtension;)Lorg/jetbrains/jewel/markdown/rendering/MarkdownBlockRenderer; - public fun render (Ljava/util/List;ZLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Landroidx/compose/runtime/Composer;I)V - public fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$BlockQuote;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$BlockQuote;ZLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Landroidx/compose/runtime/Composer;I)V - public fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$CodeBlock$FencedCodeBlock;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Code$Fenced;Landroidx/compose/runtime/Composer;I)V - public fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$CodeBlock$IndentedCodeBlock;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Code$Indented;Landroidx/compose/runtime/Composer;I)V - public fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$CodeBlock;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Code;Landroidx/compose/runtime/Composer;I)V - public fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$Heading;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading$HN;ZLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Landroidx/compose/runtime/Composer;I)V - public fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$Heading;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading;ZLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Landroidx/compose/runtime/Composer;I)V - public fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$HtmlBlock;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$HtmlBlock;Landroidx/compose/runtime/Composer;I)V - public fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$ListBlock$OrderedList;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$List$Ordered;ZLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Landroidx/compose/runtime/Composer;I)V - public fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$ListBlock$UnorderedList;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$List$Unordered;ZLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Landroidx/compose/runtime/Composer;I)V - public fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$ListBlock;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$List;ZLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Landroidx/compose/runtime/Composer;I)V - public fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$ListItem;ZLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Landroidx/compose/runtime/Composer;I)V - public fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$Paragraph;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Paragraph;ZLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Landroidx/compose/runtime/Composer;I)V - public fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock;ZLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Landroidx/compose/runtime/Composer;I)V - public fun renderThematicBreak (Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$ThematicBreak;Landroidx/compose/runtime/Composer;I)V - public fun renderWithMimeType-EWr_ITI (Lorg/jetbrains/jewel/markdown/MarkdownBlock$CodeBlock$FencedCodeBlock;Ljava/lang/String;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Code$Fenced;Landroidx/compose/runtime/Composer;I)V + public fun render (Ljava/util/List;ZLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Landroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V + public fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$BlockQuote;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$BlockQuote;ZLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Landroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V + public fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$CodeBlock$FencedCodeBlock;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Code$Fenced;ZLandroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V + public fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$CodeBlock$IndentedCodeBlock;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Code$Indented;ZLandroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V + public fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$CodeBlock;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Code;ZLandroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V + public fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$Heading;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading$HN;ZLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Landroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V + public fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$Heading;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading;ZLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Landroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V + public fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$HtmlBlock;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$HtmlBlock;ZLandroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V + public fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$ListBlock$OrderedList;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$List$Ordered;ZLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Landroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V + public fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$ListBlock$UnorderedList;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$List$Unordered;ZLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Landroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V + public fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$ListBlock;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$List;ZLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Landroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V + public fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$ListItem;ZLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Landroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V + public fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$Paragraph;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Paragraph;ZLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Landroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V + public fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock;ZLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Landroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V + public fun renderThematicBreak (Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$ThematicBreak;ZLandroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V } public abstract interface class org/jetbrains/jewel/markdown/rendering/InlineMarkdownRenderer { @@ -382,7 +390,8 @@ public final class org/jetbrains/jewel/markdown/rendering/InlineMarkdownRenderer public final class org/jetbrains/jewel/markdown/rendering/InlinesStyling { public static final field $stable I public static final field Companion Lorg/jetbrains/jewel/markdown/rendering/InlinesStyling$Companion; - public fun (Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Z)V + public fun (Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;)V + public synthetic fun (Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Z)V public fun equals (Ljava/lang/Object;)Z public final fun getEmphasis ()Landroidx/compose/ui/text/SpanStyle; public final fun getInlineCode ()Landroidx/compose/ui/text/SpanStyle; @@ -393,7 +402,6 @@ public final class org/jetbrains/jewel/markdown/rendering/InlinesStyling { public final fun getLinkHovered ()Landroidx/compose/ui/text/SpanStyle; public final fun getLinkPressed ()Landroidx/compose/ui/text/SpanStyle; public final fun getLinkVisited ()Landroidx/compose/ui/text/SpanStyle; - public final fun getRenderInlineHtml ()Z public final fun getStrongEmphasis ()Landroidx/compose/ui/text/SpanStyle; public final fun getTextLinkStyles ()Landroidx/compose/ui/text/TextLinkStyles; public final fun getTextStyle ()Landroidx/compose/ui/text/TextStyle; @@ -411,21 +419,21 @@ public abstract interface class org/jetbrains/jewel/markdown/rendering/MarkdownB public abstract fun getRendererExtensions ()Ljava/util/List; public abstract fun getRootStyling ()Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling; public abstract fun plus (Lorg/jetbrains/jewel/markdown/extensions/MarkdownRendererExtension;)Lorg/jetbrains/jewel/markdown/rendering/MarkdownBlockRenderer; - public abstract fun render (Ljava/util/List;ZLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Landroidx/compose/runtime/Composer;I)V - public abstract fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$BlockQuote;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$BlockQuote;ZLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Landroidx/compose/runtime/Composer;I)V - public abstract fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$CodeBlock$FencedCodeBlock;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Code$Fenced;Landroidx/compose/runtime/Composer;I)V - public abstract fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$CodeBlock$IndentedCodeBlock;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Code$Indented;Landroidx/compose/runtime/Composer;I)V - public abstract fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$CodeBlock;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Code;Landroidx/compose/runtime/Composer;I)V - public abstract fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$Heading;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading$HN;ZLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Landroidx/compose/runtime/Composer;I)V - public abstract fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$Heading;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading;ZLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Landroidx/compose/runtime/Composer;I)V - public abstract fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$HtmlBlock;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$HtmlBlock;Landroidx/compose/runtime/Composer;I)V - public abstract fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$ListBlock$OrderedList;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$List$Ordered;ZLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Landroidx/compose/runtime/Composer;I)V - public abstract fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$ListBlock$UnorderedList;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$List$Unordered;ZLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Landroidx/compose/runtime/Composer;I)V - public abstract fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$ListBlock;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$List;ZLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Landroidx/compose/runtime/Composer;I)V - public abstract fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$ListItem;ZLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Landroidx/compose/runtime/Composer;I)V - public abstract fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$Paragraph;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Paragraph;ZLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Landroidx/compose/runtime/Composer;I)V - public abstract fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock;ZLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Landroidx/compose/runtime/Composer;I)V - public abstract fun renderThematicBreak (Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$ThematicBreak;Landroidx/compose/runtime/Composer;I)V + public abstract fun render (Ljava/util/List;ZLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Landroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V + public abstract fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$BlockQuote;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$BlockQuote;ZLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Landroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V + public abstract fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$CodeBlock$FencedCodeBlock;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Code$Fenced;ZLandroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V + public abstract fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$CodeBlock$IndentedCodeBlock;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Code$Indented;ZLandroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V + public abstract fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$CodeBlock;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Code;ZLandroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V + public abstract fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$Heading;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading$HN;ZLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Landroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V + public abstract fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$Heading;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading;ZLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Landroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V + public abstract fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$HtmlBlock;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$HtmlBlock;ZLandroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V + public abstract fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$ListBlock$OrderedList;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$List$Ordered;ZLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Landroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V + public abstract fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$ListBlock$UnorderedList;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$List$Unordered;ZLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Landroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V + public abstract fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$ListBlock;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$List;ZLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Landroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V + public abstract fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$ListItem;ZLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Landroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V + public abstract fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$Paragraph;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Paragraph;ZLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Landroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V + public abstract fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock;ZLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Landroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V + public abstract fun renderThematicBreak (Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$ThematicBreak;ZLandroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V } public final class org/jetbrains/jewel/markdown/rendering/MarkdownBlockRenderer$Companion { @@ -803,10 +811,9 @@ public final class org/jetbrains/jewel/markdown/scrolling/AutoScrollingUtilKt { public class org/jetbrains/jewel/markdown/scrolling/ScrollSyncMarkdownBlockRenderer : org/jetbrains/jewel/markdown/rendering/DefaultMarkdownBlockRenderer { public static final field $stable I public fun (Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling;Ljava/util/List;Lorg/jetbrains/jewel/markdown/rendering/InlineMarkdownRenderer;)V - public fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$CodeBlock$IndentedCodeBlock;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Code$Indented;Landroidx/compose/runtime/Composer;I)V - public fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$Heading;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading$HN;ZLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Landroidx/compose/runtime/Composer;I)V - public fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$Paragraph;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Paragraph;ZLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Landroidx/compose/runtime/Composer;I)V - public fun renderWithMimeType-EWr_ITI (Lorg/jetbrains/jewel/markdown/MarkdownBlock$CodeBlock$FencedCodeBlock;Ljava/lang/String;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Code$Fenced;Landroidx/compose/runtime/Composer;I)V + public fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$CodeBlock$IndentedCodeBlock;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Code$Indented;ZLandroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V + public fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$Heading;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading$HN;ZLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Landroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V + public fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$Paragraph;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Paragraph;ZLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Landroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V } public abstract class org/jetbrains/jewel/markdown/scrolling/ScrollingSynchronizer { diff --git a/platform/jewel/markdown/core/build.gradle.kts b/platform/jewel/markdown/core/build.gradle.kts index 19e3dfb770d5..8c6865b06c63 100644 --- a/platform/jewel/markdown/core/build.gradle.kts +++ b/platform/jewel/markdown/core/build.gradle.kts @@ -15,9 +15,7 @@ dependencies { testImplementation(compose.desktop.currentOs) } -publicApiValidation { - excludedClassRegexes = setOf("org.jetbrains.jewel.markdown.MarkdownBlock.*") -} +publicApiValidation { excludedClassRegexes = setOf("org.jetbrains.jewel.markdown.MarkdownBlock.*") } publishing.publications.named("main") { val ijpTarget = project.property("ijp.target") as String diff --git a/platform/jewel/markdown/core/intellij.platform.jewel.markdown.core.iml b/platform/jewel/markdown/core/intellij.platform.jewel.markdown.core.iml index 85c311eebb1b..fb2e27fff541 100644 --- a/platform/jewel/markdown/core/intellij.platform.jewel.markdown.core.iml +++ b/platform/jewel/markdown/core/intellij.platform.jewel.markdown.core.iml @@ -55,314 +55,7 @@ - - - - - - c53f675b2af4696e6022598145a44a9e9feb35216a188163ae5bf99a18e76bdb - - - - - - - - - - - - - - - - - - f1e334b73d49ceab00afe776a4c393de77b4fc805e9ff488dac596a2663b1dc1 - - - - - - - - - - - - - - - - - - 66fdef91e9739348df7a096aa384a5685f4e875584cce89386a7a47251c4d8e9 - - - - - - - - - - - - - - - - - - a7dfdfd2b9d6668c646275948eba357aab6407f635f2dc09fe90258a2f202337 - - - - - - - - - - - - - - - - - - 34dfab5b4fa8b2913f00facdddc049e2fef4b176f8e7cde0ad306485674c3b5c - - - - - - - - - - - - - - - - - - 5c84c3bb1c1b636ae36030a0f98d4629afa29e192a9c78f57f22ce2c8ff6bc96 - - - - - - - - - - - - - - - - - - c106c0f705717889663555fe4cb7742612bd47b56a128bf7a9f589f24c64cb08 - - - - - - - - - - - - - - - - - - 8ff9a2b8c93b0287d8fa837d5b0917923168cb97dea1ada1a8d4aa7bb17c9f15 - - - - - - - - - - - - - - - - - - 41da5d61c56877b5b5d01e2a2bcb967cbfaf4d45c1a1aa124c0601c7a3de74e7 - - - - - - - - - - - - - - - - - - 7b0f19724082cbfcbc66e5abea2b9bc92cf08a1ea11e191933ed43801eb3cd05 - - - - - - - - - - - - - - - - - - bff3d1e895fd5abd54ee725dab59214acabf900e1a0784544d20cf20521bf9f3 - - - - - - - - - - - - - - - - - - 62c816073195cc0119dc1d66b178544bdb772ef8bee4879954528c6798b17ebe - - - - - - - - - - - - - - - - - - 5c84c3bb1c1b636ae36030a0f98d4629afa29e192a9c78f57f22ce2c8ff6bc96 - - - - - - - - - - - - - - - - - - c106c0f705717889663555fe4cb7742612bd47b56a128bf7a9f589f24c64cb08 - - - - - - - - - - - - - - - - - - 1b409141a9ee6ed38e76a8fb8f9cf280030bf45375ba7e07e60b2742039b573e - - - - - - - - - - - - - - - - - - c5cfad0b125e978d915f8b4c38630bc5d548e59fe8a0e838c0cc84283c605943 - - - - - - - - - - - - - - - - - - 5c84c3bb1c1b636ae36030a0f98d4629afa29e192a9c78f57f22ce2c8ff6bc96 - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/platform/jewel/markdown/core/src/main/kotlin/org/jetbrains/jewel/markdown/Markdown.kt b/platform/jewel/markdown/core/src/main/kotlin/org/jetbrains/jewel/markdown/Markdown.kt index 03f253daddd3..a3bfd22d43e5 100644 --- a/platform/jewel/markdown/core/src/main/kotlin/org/jetbrains/jewel/markdown/Markdown.kt +++ b/platform/jewel/markdown/core/src/main/kotlin/org/jetbrains/jewel/markdown/Markdown.kt @@ -77,10 +77,10 @@ public fun Markdown( blockRenderer: MarkdownBlockRenderer = DefaultMarkdownBlockRenderer(markdownStyling), ) { if (selectable) { - SelectionContainer(modifier.semantics { rawMarkdown = markdown }) { - Column(verticalArrangement = Arrangement.spacedBy(markdownStyling.blockVerticalSpacing)) { + SelectionContainer(Modifier.semantics { rawMarkdown = markdown }) { + Column(modifier, verticalArrangement = Arrangement.spacedBy(markdownStyling.blockVerticalSpacing)) { for (block in markdownBlocks) { - blockRenderer.render(block, enabled, onUrlClick, onTextClick) + blockRenderer.render(block, enabled, onUrlClick, onTextClick, Modifier) } } } @@ -90,7 +90,7 @@ public fun Markdown( verticalArrangement = Arrangement.spacedBy(markdownStyling.blockVerticalSpacing), ) { for (block in markdownBlocks) { - blockRenderer.render(block, enabled, onUrlClick, onTextClick) + blockRenderer.render(block, enabled, onUrlClick, onTextClick, Modifier) } } } @@ -117,7 +117,9 @@ public fun LazyMarkdown( contentPadding = contentPadding, verticalArrangement = Arrangement.spacedBy(markdownStyling.blockVerticalSpacing), ) { - items(markdownBlocks) { block -> blockRenderer.render(block, enabled, onUrlClick, onTextClick) } + items(markdownBlocks) { block -> + blockRenderer.render(block, enabled, onUrlClick, onTextClick, Modifier) + } } } } else { @@ -127,7 +129,7 @@ public fun LazyMarkdown( contentPadding = contentPadding, verticalArrangement = Arrangement.spacedBy(markdownStyling.blockVerticalSpacing), ) { - items(markdownBlocks) { block -> blockRenderer.render(block, enabled, onUrlClick, onTextClick) } + items(markdownBlocks) { block -> blockRenderer.render(block, enabled, onUrlClick, onTextClick, Modifier) } } } } diff --git a/platform/jewel/markdown/core/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/MarkdownBlockRendererExtension.kt b/platform/jewel/markdown/core/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/MarkdownBlockRendererExtension.kt index 4ce722a3a2ab..2a7dad03f740 100644 --- a/platform/jewel/markdown/core/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/MarkdownBlockRendererExtension.kt +++ b/platform/jewel/markdown/core/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/MarkdownBlockRendererExtension.kt @@ -1,6 +1,7 @@ package org.jetbrains.jewel.markdown.extensions import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier import org.jetbrains.jewel.markdown.MarkdownBlock import org.jetbrains.jewel.markdown.MarkdownBlock.CustomBlock import org.jetbrains.jewel.markdown.rendering.InlineMarkdownRenderer @@ -8,12 +9,25 @@ import org.jetbrains.jewel.markdown.rendering.MarkdownBlockRenderer /** An extension for [MarkdownBlockRenderer] that can render one or more [MarkdownBlock.CustomBlock]s. */ public interface MarkdownBlockRendererExtension { - /** Check whether the provided [block] can be rendered by this extension. */ + /** + * Check whether the provided [block] can be rendered by this extension. + * + * @param block The block to check for renderability. + * @return `true` if this extension can render the given [block], `false` otherwise. + */ public fun canRender(block: CustomBlock): Boolean /** * Render a [MarkdownBlock.CustomBlock] as a native Composable. Note that if [canRender] returns `false` for * [block], the implementation might throw. + * + * @param block The [MarkdownBlock.CustomBlock] to render. + * @param blockRenderer The [MarkdownBlockRenderer] to use to render other blocks if necessary. + * @param inlineRenderer The [InlineMarkdownRenderer] to use to render inline elements if necessary. + * @param enabled Whether The rendered content should be enabled. + * @param modifier The modifier to be applied to the composable. + * @param onUrlClick The callback to invoke when an URL is clicked. + * @param onTextClick The callback to invoke when a text part is clicked. */ @Composable public fun render( @@ -21,6 +35,7 @@ public interface MarkdownBlockRendererExtension { blockRenderer: MarkdownBlockRenderer, inlineRenderer: InlineMarkdownRenderer, enabled: Boolean, + modifier: Modifier, onUrlClick: (String) -> Unit, onTextClick: () -> Unit, ) diff --git a/platform/jewel/markdown/core/src/main/kotlin/org/jetbrains/jewel/markdown/processing/MarkdownProcessor.kt b/platform/jewel/markdown/core/src/main/kotlin/org/jetbrains/jewel/markdown/processing/MarkdownProcessor.kt index f8e799a5f3dc..eaa17917e52b 100644 --- a/platform/jewel/markdown/core/src/main/kotlin/org/jetbrains/jewel/markdown/processing/MarkdownProcessor.kt +++ b/platform/jewel/markdown/core/src/main/kotlin/org/jetbrains/jewel/markdown/processing/MarkdownProcessor.kt @@ -74,9 +74,14 @@ public class MarkdownProcessor( public val delimitedInlineExtensions: List = extensions.mapNotNull { it.delimitedInlineProcessorExtension } - private var currentState = State(emptyList(), emptyList(), emptyList()) + private var currentState = State("", emptyList()) - @TestOnly internal fun getCurrentIndexesInTest() = currentState.indexes + @TestOnly + internal fun getCurrentIndexesInTest() = buildList { + for (block in currentState.blocks) { + block.traverseAll { node -> add(node.sourceSpans) } + } + } private val scrollingSynchronizer: ScrollingSynchronizer? = (markdownMode as? MarkdownMode.EditorPreview)?.scrollingSynchronizer @@ -109,138 +114,93 @@ public class MarkdownProcessor( @VisibleForTesting internal fun processWithQuickEdits(@Language("Markdown") rawMarkdown: String): List { - val (previousLines, previousBlocks, previousIndexes) = currentState - val newLines = rawMarkdown.lines() - val nLinesDelta = newLines.size - previousLines.size - - // Find a block prior to the first one changed in case some elements merge during the update - var firstBlock = 0 - var firstLine = 0 - var currFirstBlock = 0 - var currFirstLine = 0 - outerLoop@ for ((i, spans) in previousIndexes.withIndex()) { - val (_, end) = spans - for (j in currFirstLine..end) { - if (j < 0 || j >= newLines.size || newLines[j] != previousLines[j]) { - break@outerLoop - } - } - firstBlock = currFirstBlock - firstLine = currFirstLine - currFirstBlock = i + 1 - currFirstLine = end + 1 + val (previousText, previousBlocks) = currentState + if (previousText == rawMarkdown) return previousBlocks + // make sure we have at least one element + if (previousBlocks.isEmpty()) { + val newBlocks = parseRawMarkdown(rawMarkdown) + currentState = State(rawMarkdown, newBlocks) + return newBlocks } - - // Find a block following the last one changed in case some elements merge during the update - var lastBlock = previousBlocks.size - var lastLine = previousLines.size - var currLastBlock = lastBlock - var currLastLine = lastLine - outerLoop@ for ((i, spans) in previousIndexes.withIndex().reversed()) { - val (begin, _) = spans - for (j in begin until currLastLine) { - val newIndex = j + nLinesDelta - if (newIndex < 0 || newIndex >= newLines.size || previousLines[j] != newLines[newIndex]) { - break@outerLoop - } - } - lastBlock = currLastBlock - lastLine = currLastLine - currLastBlock = i - currLastLine = begin - } - - if (firstLine > lastLine + nLinesDelta) { - // no change - return previousBlocks - } - - val updatedText = newLines.subList(firstLine, lastLine + nLinesDelta).joinToString("\n", postfix = "\n") - val updatedBlocks: List = parseRawMarkdown(updatedText) - val updatedIndexes = - updatedBlocks.map { node -> - // special case for a bug where LinkReferenceDefinition is a Node, - // but it takes over sourceSpans from the following Block - if (node.sourceSpans.isEmpty()) { - node.sourceSpans = node.previous.sourceSpans - } - - val firstLineIndex = node.sourceSpans.first().lineIndex + firstLine - val lastLineIndex = node.sourceSpans.last().lineIndex + firstLine - - firstLineIndex to lastLineIndex - } - - val suffixIndexes = - previousIndexes.subList(lastBlock, previousBlocks.size).map { - (it.first + nLinesDelta) to (it.second + nLinesDelta) - } - - val newBlocks = - previousBlocks.subList(0, firstBlock) + - updatedBlocks + - previousBlocks.subList(lastBlock, previousBlocks.size) - - val newIndexes = previousIndexes.subList(0, firstBlock) + updatedIndexes + suffixIndexes - - // Processor only re-parses the changed part of the document, which has two outcomes: - // 1. sourceSpans in updatedBlocks start from line index 0, not from the actual line + val blocksInfo = findChangedBlocks(previousText, rawMarkdown, previousBlocks) + val firstBlock = blocksInfo.firstBlock + val blockAfterLast = blocksInfo.blockAfterLast + val updatedBlocks = parseRawMarkdown(blocksInfo.updatedText) + val firstBlockOffset = previousBlocks[firstBlock].sourceSpans.first() + // sourceSpans in updatedBlocks start from line index 0, not from the actual line // the update part starts in the document; - // 2. sourceSpans in blocks after the changed part remain unchanged - // (therefore irrelevant too). - // - // Addressing the second outcome is easy, as all the lines there were just shifted by - // nLinesDelta. - - for (i in lastBlock until newBlocks.size) { - newBlocks[i].traverseAll { node -> - node.sourceSpans = - node.sourceSpans.map { span -> - SourceSpan.of(span.lineIndex + nLinesDelta, span.columnIndex, span.inputIndex, span.length) - } - } - } - - // The first outcome is a bit trickier. Consider a fresh new block with the following - // structure: - // - // indexes spans - // Block A [10-20] (0-10) - // block A1 [ n/a ] (0-2) - // block A2 [ n/a ] (3-10) - // Block B [21-30] (11-20) - // block B1 [ n/a ] (11-16) - // block B2 [ n/a ] (17-20) - // - // There are two updated blocks with two children each. - // Note that at this point the indexes are updated, yet they only exist for the topmost - // blocks. - // So, to calculate actual spans for, for example, block B2 (B2s), we need to also take into - // account - // the first index of the block B (Bi) and the first span of the block B (Bs) and use the - // formula - // B2s = (B2s - Bs) + Bi - for ((block, indexes) in updatedBlocks.zip(updatedIndexes)) { - val firstSpanLineIndex = block.sourceSpans.firstOrNull()?.lineIndex ?: continue - val firstIndex = indexes.first + for (block in updatedBlocks) { block.traverseAll { node -> node.sourceSpans = node.sourceSpans.map { span -> SourceSpan.of( - span.lineIndex - firstSpanLineIndex + firstIndex, + span.lineIndex + firstBlockOffset.lineIndex, span.columnIndex, - span.inputIndex, + span.inputIndex + firstBlockOffset.inputIndex, + span.length, + ) + } + } + } + val nCharsDelta = rawMarkdown.length - previousText.length + val suffixBlocks = + if (blockAfterLast == -1) emptyList() else previousBlocks.subList(blockAfterLast, previousBlocks.size) + // Addressing the remaining blocks which shift by lines delta between new and old text. + for (block in suffixBlocks) { + block.traverseAll { node -> + node.sourceSpans = + node.sourceSpans.map { span -> + SourceSpan.of( + span.lineIndex + blocksInfo.nLinesDelta, + span.columnIndex, + span.inputIndex + nCharsDelta, span.length, ) } } } - currentState = State(newLines, newBlocks, newIndexes) + val newBlocks = previousBlocks.subList(0, firstBlock) + updatedBlocks + suffixBlocks + currentState = State(rawMarkdown, newBlocks) return newBlocks } + @VisibleForTesting + internal fun findChangedBlocks( + previousText: String, + updatedText: String, + previousBlocks: List, + ): FindChangedBlocksResult { + val nCharsDelta = updatedText.length - previousText.length + val commonPrefix = previousText.commonPrefixWith(updatedText) + val prefixPos = commonPrefix.length + // remove prefixes to avoid overlap + val commonSuffix = + previousText.removePrefix(commonPrefix).commonSuffixWith(updatedText.removePrefix(commonPrefix)) + val suffixPos = previousText.length - commonSuffix.length + val nLinesDelta = + updatedText.subSequence(prefixPos, updatedText.length - commonSuffix.length).lineSequence().count() - + previousText.subSequence(prefixPos, suffixPos).lineSequence().count() + val previousIndexes = previousBlocks.map { block -> block.sourceSpans.first().inputIndex } + // if modification starts at the edge, include previous by using less instead of less equal + val firstBlock = previousIndexes.indexOfLast { it < prefixPos }.takeIf { it != -1 } ?: 0 + val blockAfterLast = previousIndexes.indexOfFirst { it > suffixPos } + val updatedText = + updatedText.substring( + previousIndexes[firstBlock], + if (blockAfterLast == -1) updatedText.length else previousIndexes[blockAfterLast] - 1 + nCharsDelta, + ) + return FindChangedBlocksResult(firstBlock, blockAfterLast, updatedText, nLinesDelta) + } + + internal data class FindChangedBlocksResult( + val firstBlock: Int, + val blockAfterLast: Int, + val updatedText: String, + val nLinesDelta: Int, + ) + private fun parseRawMarkdown(@Language("Markdown") rawMarkdown: String): List { val document = commonMarkParser.parse(rawMarkdown) as? Document ?: error("This doesn't look like a Markdown document") @@ -363,5 +323,6 @@ public class MarkdownProcessor( public fun withExtension(extension: MarkdownProcessorExtension): MarkdownProcessor = MarkdownProcessor(extensions + extension, markdownMode, commonMarkParser) - private data class State(val lines: List, val blocks: List, val indexes: List>) + /** Store parsed blocks and previous text to find changed characters */ + private data class State(val text: String, val blocks: List) } diff --git a/platform/jewel/markdown/core/src/main/kotlin/org/jetbrains/jewel/markdown/rendering/DefaultInlineMarkdownRenderer.kt b/platform/jewel/markdown/core/src/main/kotlin/org/jetbrains/jewel/markdown/rendering/DefaultInlineMarkdownRenderer.kt index 2c21ca98e1de..924d2d947242 100644 --- a/platform/jewel/markdown/core/src/main/kotlin/org/jetbrains/jewel/markdown/rendering/DefaultInlineMarkdownRenderer.kt +++ b/platform/jewel/markdown/core/src/main/kotlin/org/jetbrains/jewel/markdown/rendering/DefaultInlineMarkdownRenderer.kt @@ -1,11 +1,18 @@ package org.jetbrains.jewel.markdown.rendering import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.takeOrElse import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.text.AnnotatedString.Builder import androidx.compose.ui.text.LinkAnnotation +import androidx.compose.ui.text.PlatformTextStyle import androidx.compose.ui.text.SpanStyle +import androidx.compose.ui.text.TextLinkStyles +import androidx.compose.ui.text.TextStyle import androidx.compose.ui.text.buildAnnotatedString +import androidx.compose.ui.text.font.FontStyle +import androidx.compose.ui.text.font.FontWeight +import kotlin.math.max import org.jetbrains.jewel.foundation.ExperimentalJewelApi import org.jetbrains.jewel.markdown.InlineMarkdown import org.jetbrains.jewel.markdown.extensions.MarkdownDelimitedInlineRendererExtension @@ -23,65 +30,28 @@ public open class DefaultInlineMarkdownRenderer(rendererExtensions: List Unit)?, ): AnnotatedString = buildAnnotatedString { - appendInlineMarkdownFrom(inlineMarkdown, styling, enabled, onUrlClicked) + appendInlineMarkdownFrom(inlineMarkdown, styling, enabled, onUrlClicked, styling.textStyle) } private fun Builder.appendInlineMarkdownFrom( inlineMarkdown: Iterable, styling: InlinesStyling, enabled: Boolean, - onUrlClicked: ((String) -> Unit)? = null, + onUrlClicked: ((String) -> Unit)?, + currentTextStyle: TextStyle, ) { for (child in inlineMarkdown) { when (child) { - is InlineMarkdown.Text -> append(child.content) - - is InlineMarkdown.Emphasis -> { - withStyles(styling.emphasis.withEnabled(enabled), child) { - appendInlineMarkdownFrom(it.inlineContent, styling, enabled) - } - } - - is InlineMarkdown.StrongEmphasis -> { - withStyles(styling.strongEmphasis.withEnabled(enabled), child) { - appendInlineMarkdownFrom(it.inlineContent, styling, enabled) - } - } - - is InlineMarkdown.Link -> { - val index = - if (enabled) { - val destination = child.destination - val link = - LinkAnnotation.Clickable( - tag = destination, - linkInteractionListener = { _ -> onUrlClicked?.invoke(destination) }, - styles = styling.textLinkStyles, - ) - pushLink(link) - } else { - pushStyle(styling.linkDisabled) - } - appendInlineMarkdownFrom(child.inlineContent, styling, enabled) - pop(index) - } - - is InlineMarkdown.Code -> { - withStyles(styling.inlineCode.withEnabled(enabled), child) { append(it.content) } - } - - is InlineMarkdown.HardLineBreak -> appendLine() - is InlineMarkdown.SoftLineBreak -> append(" ") - - is InlineMarkdown.HtmlInline -> { - if (styling.renderInlineHtml) { - withStyles(styling.inlineHtml.withEnabled(enabled), child) { append(it.content.trim()) } - } - } - - is InlineMarkdown.Image -> { - // TODO not supported yet — see JEWEL-746 - } + is InlineMarkdown.Text -> renderText(child, styling, enabled, currentTextStyle) + is InlineMarkdown.Emphasis -> renderEmphasis(child, styling, enabled, onUrlClicked, currentTextStyle) + is InlineMarkdown.StrongEmphasis -> + renderStrongEmphasis(child, styling, enabled, onUrlClicked, currentTextStyle) + is InlineMarkdown.Link -> renderLink(child, styling, enabled, onUrlClicked, currentTextStyle) + is InlineMarkdown.Code -> renderInlineCode(child, styling, enabled, currentTextStyle) + is InlineMarkdown.HardLineBreak -> renderHardLineBreak(styling, currentTextStyle) + is InlineMarkdown.SoftLineBreak -> renderSoftLineBreak(styling, currentTextStyle) + is InlineMarkdown.HtmlInline -> renderInlineHtml(child, styling, enabled, currentTextStyle) + is InlineMarkdown.Image -> renderImage(child, styling, enabled, currentTextStyle) is InlineMarkdown.CustomDelimitedNode -> { val delimitedNodeRendererExtension = @@ -101,24 +71,194 @@ public open class DefaultInlineMarkdownRenderer(rendererExtensions: List Unit)?, + currentTextStyle: TextStyle, + ) { + val combinedStyle = currentTextStyle.smartMerge(styling.emphasis, enabled) + withStyles(combinedStyle, node) { + appendInlineMarkdownFrom(it.inlineContent, styling, enabled, onUrlClicked, combinedStyle) } + } + + protected open fun Builder.renderStrongEmphasis( + node: InlineMarkdown.StrongEmphasis, + styling: InlinesStyling, + enabled: Boolean, + onUrlClicked: ((String) -> Unit)?, + currentTextStyle: TextStyle, + ) { + val combinedStyle = currentTextStyle.smartMerge(styling.strongEmphasis, enabled) + withStyles(combinedStyle, node) { + appendInlineMarkdownFrom(it.inlineContent, styling, enabled, onUrlClicked, combinedStyle) + } + } + + protected open fun Builder.renderLink( + node: InlineMarkdown.Link, + styling: InlinesStyling, + enabled: Boolean, + onUrlClicked: ((String) -> Unit)?, + currentTextStyle: TextStyle, + ) { + val index = + if (enabled) { + val destination = node.destination + val link = + LinkAnnotation.Clickable( + tag = destination, + linkInteractionListener = { _ -> onUrlClicked?.invoke(destination) }, + styles = currentTextStyle.smartMerge(styling.textLinkStyles, enabled = true), + ) + pushLink(link) + } else { + val combinedStyle = currentTextStyle.smartMerge(styling.linkDisabled, enabled = false) + pushStyle(combinedStyle.toSpanStyle()) + } + + appendInlineMarkdownFrom(node.inlineContent, styling, enabled, onUrlClicked, currentTextStyle) + pop(index) + } + + protected open fun Builder.renderInlineCode( + node: InlineMarkdown.Code, + styling: InlinesStyling, + enabled: Boolean, + currentTextStyle: TextStyle, + ) { + val combinedStyle = currentTextStyle.smartMerge(styling.inlineCode, enabled) + withStyles(combinedStyle, node) { append(it.content) } + } + + protected open fun Builder.renderHardLineBreak(styling: InlinesStyling, currentTextStyle: TextStyle) { + appendLine() + } + + protected open fun Builder.renderSoftLineBreak(styling: InlinesStyling, currentTextStyle: TextStyle) { + append(" ") + } + + protected open fun Builder.renderInlineHtml( + node: InlineMarkdown.HtmlInline, + styling: InlinesStyling, + enabled: Boolean, + currentTextStyle: TextStyle, + ) { + val combinedStyle = currentTextStyle.smartMerge(styling.inlineHtml, enabled) + withStyles(combinedStyle, node) { append(it.content.trim()) } + } + + protected open fun Builder.renderImage( + node: InlineMarkdown.Image, + styling: InlinesStyling, + enabled: Boolean, + currentTextStyle: TextStyle, + ) { + // Not supported yet — see JEWEL-746 + } // The T type parameter is needed to avoid issues with capturing lambdas // making smart cast of the child local variable impossible. private inline fun Builder.withStyles( - spanStyle: SpanStyle, + spanStyle: TextStyle, node: T, action: Builder.(T) -> Unit, ) { - val popTo = pushStyle(spanStyle) - + val popTo = pushStyle(spanStyle.toSpanStyle()) action(node) - pop(popTo) } + + /** + * Merges the current [TextStyle]into the given [TextLinkStyles] using the [smartMerge] algorithm. + * + * This function smartly merges the [SpanStyle]s within the provided [TextLinkStyles] with the current [TextStyle]. + * The merge takes the [enabled] parameter into consideration, too. For each state (style, focusedStyle, + * hoveredStyle, pressedStyle) within [TextLinkStyles]: + * - If the style exists, it's smart-merged with the current [TextStyle]. + * - If the style doesn't exist, it's ignored. + * + * @param linkStyles The [TextLinkStyles] to merge into. + * @param enabled Indicates if the text is enabled, affecting the merge behavior. + * @return A new [TextLinkStyles] object with the merged styles. + * @see smartMerge + */ + private fun TextStyle.smartMerge(linkStyles: TextLinkStyles, enabled: Boolean) = + TextLinkStyles( + style = linkStyles.style?.let { spanStyle -> smartMerge(spanStyle, enabled).toSpanStyle() }, + focusedStyle = linkStyles.focusedStyle?.let { spanStyle -> smartMerge(spanStyle, enabled).toSpanStyle() }, + hoveredStyle = linkStyles.hoveredStyle?.let { spanStyle -> smartMerge(spanStyle, enabled).toSpanStyle() }, + pressedStyle = linkStyles.pressedStyle?.let { spanStyle -> smartMerge(spanStyle, enabled).toSpanStyle() }, + ) + + /** + * Merges the [TextStyle] into the provided [SpanStyle], applying a smart merging strategy. + * + * The logic is as follows: + * - **Font Style**: If `other` has a non-normal font style, it's used. Otherwise, the current style's font style is + * used. This is to ensure that italic styles are preserved. + * - **Font Weight**: If only one style has a non-null font weight, that weight is used. If both have non-null + * weights, the heavier weight is used, preventing any reduction in weight. + * - **Color**: The color from `other` is used if it's specified, unless `enabled` is false. If `other`'s color is + * unspecified and `enabled` is true, the current style's color is used. + * - **Platform Style**: The platform span style is merged, if available. + * - **Other Properties**: All other properties (fontSize, fontFamily, etc.) are taken directly from `other`. + * + * @param other The [SpanStyle] to merge the current [TextStyle] into. + * @param enabled Indicates if the text is enabled. If false, the color will be set to [Color.Unspecified], + * effectively hiding it. + * @return A new [TextStyle] with the properties merged according to the logic. + */ + private fun TextStyle.smartMerge(other: SpanStyle, enabled: Boolean) = + merge( + // We use the other's FontStyle (if any) when it's not just Normal, otherwise we keep + // our own FontStyle. This preserves incoming Italic, since Markdown has no way to + // reset it to Normal anyway. + fontStyle = + if (other.fontStyle != null && other.fontStyle != FontStyle.Normal) { + other.fontStyle + } else { + fontStyle + }, + // If only one FontWeight is non-null, we use that; if both are null, it's also null. + // If they're both non-null, we take the highest one, since Markdown has no way to + // decrease the weight of text. + fontWeight = + when { + other.fontWeight != null && fontWeight == null -> other.fontWeight + other.fontWeight == null && fontWeight != null -> fontWeight + other.fontWeight != null && fontWeight != null -> + FontWeight(max(fontWeight!!.weight, other.fontWeight!!.weight)) + else -> null + }, + // The color is taken from the other, unless it's unspecified, or enabled is false + color = if (enabled) other.color.takeOrElse { color } else Color.Unspecified, + // Everything else comes from other + fontSize = other.fontSize, + fontSynthesis = other.fontSynthesis, + fontFamily = other.fontFamily, + fontFeatureSettings = other.fontFeatureSettings, + letterSpacing = other.letterSpacing, + baselineShift = other.baselineShift, + textGeometricTransform = other.textGeometricTransform, + localeList = other.localeList, + background = other.background, + textDecoration = other.textDecoration, + shadow = other.shadow, + drawStyle = other.drawStyle, + platformStyle = + PlatformTextStyle(platformStyle?.spanStyle?.merge(other.platformStyle), platformStyle?.paragraphStyle), + ) } diff --git a/platform/jewel/markdown/core/src/main/kotlin/org/jetbrains/jewel/markdown/rendering/DefaultMarkdownBlockRenderer.kt b/platform/jewel/markdown/core/src/main/kotlin/org/jetbrains/jewel/markdown/rendering/DefaultMarkdownBlockRenderer.kt index a34f852a1f3d..00a4b30b2d3f 100644 --- a/platform/jewel/markdown/core/src/main/kotlin/org/jetbrains/jewel/markdown/rendering/DefaultMarkdownBlockRenderer.kt +++ b/platform/jewel/markdown/core/src/main/kotlin/org/jetbrains/jewel/markdown/rendering/DefaultMarkdownBlockRenderer.kt @@ -22,6 +22,7 @@ import androidx.compose.runtime.getValue import androidx.compose.runtime.remember import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.alpha import androidx.compose.ui.draw.drawBehind import androidx.compose.ui.focus.focusProperties import androidx.compose.ui.geometry.Offset @@ -38,6 +39,7 @@ import androidx.compose.ui.unit.dp import org.jetbrains.jewel.foundation.ExperimentalJewelApi import org.jetbrains.jewel.foundation.code.MimeType import org.jetbrains.jewel.foundation.code.highlighting.LocalCodeHighlighter +import org.jetbrains.jewel.foundation.modifier.thenIf import org.jetbrains.jewel.foundation.theme.LocalContentColor import org.jetbrains.jewel.markdown.MarkdownBlock import org.jetbrains.jewel.markdown.MarkdownBlock.BlockQuote @@ -76,32 +78,47 @@ public open class DefaultMarkdownBlockRenderer( enabled: Boolean, onUrlClick: (String) -> Unit, onTextClick: () -> Unit, + modifier: Modifier, ) { - Column(verticalArrangement = Arrangement.spacedBy(rootStyling.blockVerticalSpacing)) { + Column(modifier, verticalArrangement = Arrangement.spacedBy(rootStyling.blockVerticalSpacing)) { for (block in blocks) { - render(block, enabled, onUrlClick, onTextClick) + render(block, enabled, onUrlClick, onTextClick, Modifier) } } } @Composable - override fun render(block: MarkdownBlock, enabled: Boolean, onUrlClick: (String) -> Unit, onTextClick: () -> Unit) { + override fun render( + block: MarkdownBlock, + enabled: Boolean, + onUrlClick: (String) -> Unit, + onTextClick: () -> Unit, + modifier: Modifier, + ) { when (block) { - is BlockQuote -> render(block, rootStyling.blockQuote, enabled, onUrlClick, onTextClick) - is FencedCodeBlock -> render(block, rootStyling.code.fenced) - is IndentedCodeBlock -> render(block, rootStyling.code.indented) - is Heading -> render(block, rootStyling.heading, enabled, onUrlClick, onTextClick) - is HtmlBlock -> render(block, rootStyling.htmlBlock) - is OrderedList -> render(block, rootStyling.list.ordered, enabled, onUrlClick, onTextClick) - is UnorderedList -> render(block, rootStyling.list.unordered, enabled, onUrlClick, onTextClick) - is ListItem -> render(block, enabled, onUrlClick, onTextClick) - is Paragraph -> render(block, rootStyling.paragraph, enabled, onUrlClick, onTextClick) - ThematicBreak -> renderThematicBreak(rootStyling.thematicBreak) + is BlockQuote -> render(block, rootStyling.blockQuote, enabled, onUrlClick, onTextClick, modifier) + is FencedCodeBlock -> render(block, rootStyling.code.fenced, enabled, modifier) + is IndentedCodeBlock -> render(block, rootStyling.code.indented, enabled, modifier) + is Heading -> render(block, rootStyling.heading, enabled, onUrlClick, onTextClick, modifier) + is HtmlBlock -> render(block, rootStyling.htmlBlock, enabled, modifier) + is OrderedList -> render(block, rootStyling.list.ordered, enabled, onUrlClick, onTextClick, modifier) + is UnorderedList -> render(block, rootStyling.list.unordered, enabled, onUrlClick, onTextClick, modifier) + is ListItem -> render(block, enabled, onUrlClick, onTextClick, modifier) + is Paragraph -> render(block, rootStyling.paragraph, enabled, onUrlClick, onTextClick, modifier) + ThematicBreak -> renderThematicBreak(rootStyling.thematicBreak, enabled, modifier) is CustomBlock -> { rendererExtensions .find { it.blockRenderer?.canRender(block) == true } ?.blockRenderer - ?.render(block, blockRenderer = this, inlineRenderer, enabled, onUrlClick, onTextClick) + ?.render( + block = block, + blockRenderer = this, + inlineRenderer = inlineRenderer, + enabled = enabled, + modifier = modifier, + onUrlClick = onUrlClick, + onTextClick = onTextClick, + ) } } } @@ -113,6 +130,7 @@ public open class DefaultMarkdownBlockRenderer( enabled: Boolean, onUrlClick: (String) -> Unit, onTextClick: () -> Unit, + modifier: Modifier, ) { val renderedContent = rememberRenderedContent(block, styling.inlinesStyling, enabled, onUrlClick) val textColor = @@ -124,7 +142,8 @@ public open class DefaultMarkdownBlockRenderer( Text( modifier = - Modifier.focusProperties { canFocus = false } + modifier + .focusProperties { canFocus = false } .clickable(interactionSource = interactionSource, indication = null, onClick = onTextClick), text = renderedContent, style = mergedStyle, @@ -138,14 +157,15 @@ public open class DefaultMarkdownBlockRenderer( enabled: Boolean, onUrlClick: (String) -> Unit, onTextClick: () -> Unit, + modifier: Modifier, ) { when (block.level) { - 1 -> render(block, styling.h1, enabled, onUrlClick, onTextClick) - 2 -> render(block, styling.h2, enabled, onUrlClick, onTextClick) - 3 -> render(block, styling.h3, enabled, onUrlClick, onTextClick) - 4 -> render(block, styling.h4, enabled, onUrlClick, onTextClick) - 5 -> render(block, styling.h5, enabled, onUrlClick, onTextClick) - 6 -> render(block, styling.h6, enabled, onUrlClick, onTextClick) + 1 -> render(block, styling.h1, enabled, onUrlClick, onTextClick, modifier) + 2 -> render(block, styling.h2, enabled, onUrlClick, onTextClick, modifier) + 3 -> render(block, styling.h3, enabled, onUrlClick, onTextClick, modifier) + 4 -> render(block, styling.h4, enabled, onUrlClick, onTextClick, modifier) + 5 -> render(block, styling.h5, enabled, onUrlClick, onTextClick, modifier) + 6 -> render(block, styling.h6, enabled, onUrlClick, onTextClick, modifier) else -> error("Heading level ${block.level} not supported:\n$block") } } @@ -157,6 +177,7 @@ public open class DefaultMarkdownBlockRenderer( enabled: Boolean, onUrlClick: (String) -> Unit, onTextClick: () -> Unit, + modifier: Modifier, ) { val renderedContent = rememberRenderedContent(block, styling.inlinesStyling, enabled, onUrlClick) Heading( @@ -166,6 +187,7 @@ public open class DefaultMarkdownBlockRenderer( styling.underlineWidth, styling.underlineColor, styling.underlineGap, + modifier, ) } @@ -177,8 +199,9 @@ public open class DefaultMarkdownBlockRenderer( underlineWidth: Dp, underlineColor: Color, underlineGap: Dp, + modifier: Modifier, ) { - Column(modifier = Modifier.padding(paddingValues)) { + Column(modifier = modifier.padding(paddingValues)) { val textColor = textStyle.color.takeOrElse { LocalContentColor.current.takeOrElse { textStyle.color } } val mergedStyle = textStyle.merge(TextStyle(color = textColor)) Text(text = renderedContent, style = mergedStyle, modifier = Modifier.focusProperties { canFocus = false }) @@ -202,9 +225,11 @@ public open class DefaultMarkdownBlockRenderer( enabled: Boolean, onUrlClick: (String) -> Unit, onTextClick: () -> Unit, + modifier: Modifier, ) { Column( - Modifier.drawBehind { + modifier + .drawBehind { val isLtr = layoutDirection == Ltr val lineWidthPx = styling.lineWidth.toPx() val x = if (isLtr) lineWidthPx / 2 else size.width - lineWidthPx / 2 @@ -222,7 +247,7 @@ public open class DefaultMarkdownBlockRenderer( verticalArrangement = Arrangement.spacedBy(rootStyling.blockVerticalSpacing), ) { CompositionLocalProvider(LocalContentColor provides styling.textColor) { - render(block.children, enabled, onUrlClick, onTextClick) + render(block.children, enabled, onUrlClick, onTextClick, Modifier) } } } @@ -234,10 +259,11 @@ public open class DefaultMarkdownBlockRenderer( enabled: Boolean, onUrlClick: (String) -> Unit, onTextClick: () -> Unit, + modifier: Modifier, ) { when (block) { - is OrderedList -> render(block, styling.ordered, enabled, onUrlClick, onTextClick) - is UnorderedList -> render(block, styling.unordered, enabled, onUrlClick, onTextClick) + is OrderedList -> render(block, styling.ordered, enabled, onUrlClick, onTextClick, modifier) + is UnorderedList -> render(block, styling.unordered, enabled, onUrlClick, onTextClick, modifier) } } @@ -248,6 +274,7 @@ public open class DefaultMarkdownBlockRenderer( enabled: Boolean, onUrlClick: (String) -> Unit, onTextClick: () -> Unit, + modifier: Modifier, ) { val itemSpacing = if (block.isTight) { @@ -256,7 +283,7 @@ public open class DefaultMarkdownBlockRenderer( styling.itemVerticalSpacing } - Column(modifier = Modifier.padding(styling.padding), verticalArrangement = Arrangement.spacedBy(itemSpacing)) { + Column(modifier = modifier.padding(styling.padding), verticalArrangement = Arrangement.spacedBy(itemSpacing)) { for ((index, item) in block.children.withIndex()) { Row { val number = block.startFrom + index @@ -273,7 +300,7 @@ public open class DefaultMarkdownBlockRenderer( Spacer(Modifier.width(styling.numberContentGap)) - render(item, enabled, onUrlClick, onTextClick) + render(item, enabled, onUrlClick, onTextClick, Modifier) } } } @@ -286,6 +313,7 @@ public open class DefaultMarkdownBlockRenderer( enabled: Boolean, onUrlClick: (String) -> Unit, onTextClick: () -> Unit, + modifier: Modifier, ) { val itemSpacing = if (block.isTight) { @@ -294,7 +322,7 @@ public open class DefaultMarkdownBlockRenderer( styling.itemVerticalSpacing } - Column(modifier = Modifier.padding(styling.padding), verticalArrangement = Arrangement.spacedBy(itemSpacing)) { + Column(modifier = modifier.padding(styling.padding), verticalArrangement = Arrangement.spacedBy(itemSpacing)) { for (item in block.children) { Row { Text( @@ -308,34 +336,47 @@ public open class DefaultMarkdownBlockRenderer( Spacer(Modifier.width(styling.bulletContentGap)) - render(item, enabled, onUrlClick, onTextClick) + render(item, enabled, onUrlClick, onTextClick, Modifier) } } } } @Composable - override fun render(block: ListItem, enabled: Boolean, onUrlClick: (String) -> Unit, onTextClick: () -> Unit) { - Column(verticalArrangement = Arrangement.spacedBy(rootStyling.blockVerticalSpacing)) { - render(block.children, enabled, onUrlClick, onTextClick) + override fun render( + block: ListItem, + enabled: Boolean, + onUrlClick: (String) -> Unit, + onTextClick: () -> Unit, + modifier: Modifier, + ) { + Column(modifier, verticalArrangement = Arrangement.spacedBy(rootStyling.blockVerticalSpacing)) { + render(block.children, enabled, onUrlClick, onTextClick, Modifier) } } @Composable - override fun render(block: CodeBlock, styling: MarkdownStyling.Code) { + override fun render(block: CodeBlock, styling: MarkdownStyling.Code, enabled: Boolean, modifier: Modifier) { when (block) { - is FencedCodeBlock -> render(block, styling.fenced) - is IndentedCodeBlock -> render(block, styling.indented) + is FencedCodeBlock -> render(block, styling.fenced, enabled, modifier) + is IndentedCodeBlock -> render(block, styling.indented, enabled, modifier) } } @Composable - override fun render(block: IndentedCodeBlock, styling: MarkdownStyling.Code.Indented) { + override fun render( + block: IndentedCodeBlock, + styling: MarkdownStyling.Code.Indented, + enabled: Boolean, + modifier: Modifier, + ) { MaybeScrollingContainer( isScrollable = styling.scrollsHorizontally, - Modifier.background(styling.background, styling.shape) + modifier + .background(styling.background, styling.shape) .border(styling.borderWidth, styling.borderColor, styling.shape) - .then(if (styling.fillWidth) Modifier.fillMaxWidth() else Modifier), + .thenIf(styling.fillWidth) { fillMaxWidth() } + .thenIf(!enabled) { alpha(.5f) }, ) { Text( text = block.content, @@ -350,13 +391,20 @@ public open class DefaultMarkdownBlockRenderer( } @Composable - override fun render(block: FencedCodeBlock, styling: MarkdownStyling.Code.Fenced) { + override fun render( + block: FencedCodeBlock, + styling: MarkdownStyling.Code.Fenced, + enabled: Boolean, + modifier: Modifier, + ) { val mimeType = block.mimeType ?: MimeType.Known.UNKNOWN MaybeScrollingContainer( isScrollable = styling.scrollsHorizontally, - Modifier.background(styling.background, styling.shape) + modifier + .background(styling.background, styling.shape) .border(styling.borderWidth, styling.borderColor, styling.shape) - .then(if (styling.fillWidth) Modifier.fillMaxWidth() else Modifier), + .thenIf(styling.fillWidth) { fillMaxWidth() } + .thenIf(!enabled) { alpha(.5f) }, ) { Column(Modifier.padding(styling.padding)) { if (styling.infoPosition.verticalAlignment == Alignment.Top) { @@ -369,7 +417,7 @@ public open class DefaultMarkdownBlockRenderer( ) } - renderWithMimeType(block, mimeType, styling) + renderCodeWithMimeType(block, mimeType, styling, enabled) if (styling.infoPosition.verticalAlignment == Alignment.Bottom) { FencedBlockInfo( @@ -385,20 +433,22 @@ public open class DefaultMarkdownBlockRenderer( } @Composable - public open fun renderWithMimeType( + internal open fun renderCodeWithMimeType( block: FencedCodeBlock, mimeType: MimeType, styling: MarkdownStyling.Code.Fenced, + enabled: Boolean, ) { val content = block.content - val highlightedCode by - LocalCodeHighlighter.current.highlight(content, mimeType).collectAsState(AnnotatedString(content)) + val highlighter = LocalCodeHighlighter.current + val highlightedCode by highlighter.highlight(content, mimeType).collectAsState(AnnotatedString(content)) Text( text = highlightedCode, style = styling.editorTextStyle, modifier = Modifier.focusProperties { canFocus = false } - .pointerHoverIcon(PointerIcon.Default, overrideDescendants = true), + .pointerHoverIcon(PointerIcon.Default, overrideDescendants = true) + .thenIf(!enabled) { alpha(.5f) }, ) } @@ -422,17 +472,17 @@ public open class DefaultMarkdownBlockRenderer( } @Composable - override fun renderThematicBreak(styling: MarkdownStyling.ThematicBreak) { + override fun renderThematicBreak(styling: MarkdownStyling.ThematicBreak, enabled: Boolean, modifier: Modifier) { Divider( orientation = Orientation.Horizontal, - modifier = Modifier.padding(styling.padding).fillMaxWidth(), + modifier = modifier.padding(styling.padding).fillMaxWidth(), color = styling.lineColor, thickness = styling.lineWidth, ) } @Composable - override fun render(block: HtmlBlock, styling: MarkdownStyling.HtmlBlock) { + override fun render(block: HtmlBlock, styling: MarkdownStyling.HtmlBlock, enabled: Boolean, modifier: Modifier) { // HTML blocks are intentionally not rendered } diff --git a/platform/jewel/markdown/core/src/main/kotlin/org/jetbrains/jewel/markdown/rendering/MarkdownBlockRenderer.kt b/platform/jewel/markdown/core/src/main/kotlin/org/jetbrains/jewel/markdown/rendering/MarkdownBlockRenderer.kt index 85deda09d7a7..ac69040350c8 100644 --- a/platform/jewel/markdown/core/src/main/kotlin/org/jetbrains/jewel/markdown/rendering/MarkdownBlockRenderer.kt +++ b/platform/jewel/markdown/core/src/main/kotlin/org/jetbrains/jewel/markdown/rendering/MarkdownBlockRenderer.kt @@ -1,6 +1,7 @@ package org.jetbrains.jewel.markdown.rendering import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier import org.jetbrains.jewel.foundation.ExperimentalJewelApi import org.jetbrains.jewel.markdown.MarkdownBlock import org.jetbrains.jewel.markdown.MarkdownBlock.BlockQuote @@ -31,17 +32,55 @@ public interface MarkdownBlockRenderer { public val rendererExtensions: List public val inlineRenderer: InlineMarkdownRenderer + /** + * Renders a list of [MarkdownBlock]s into a Compose UI. + * + * @param blocks The list of blocks to render. + * @param enabled True if the blocks should be enabled, false otherwise. + * @param onUrlClick The callback invoked when the user clicks on a URL. + * @param onTextClick The callback invoked when the user clicks on a text. + * @param modifier The modifier to be applied to the root composable (usually, a `Column` or `LazyColumn`). + * @see render + */ @Composable public fun render( blocks: List, enabled: Boolean, onUrlClick: (String) -> Unit, onTextClick: () -> Unit, + modifier: Modifier, ) + /** + * Renders a [MarkdownBlock] into a Compose UI. + * + * @param block The block to render. + * @param enabled True if the block should be enabled, false otherwise. + * @param onUrlClick The callback invoked when the user clicks on a URL. + * @param onTextClick The callback invoked when the user clicks on a text. + * @param modifier The modifier to be applied to the composable. + * @see render + */ @Composable - public fun render(block: MarkdownBlock, enabled: Boolean, onUrlClick: (String) -> Unit, onTextClick: () -> Unit) + public fun render( + block: MarkdownBlock, + enabled: Boolean, + onUrlClick: (String) -> Unit, + onTextClick: () -> Unit, + modifier: Modifier, + ) + /** + * Renders a [Paragraph] into a Compose UI. + * + * @param block The paragraph to render. + * @param styling The [`Paragraph`][MarkdownStyling.Paragraph] styling to use to render. + * @param enabled True if the block should be enabled, false otherwise. + * @param onUrlClick The callback invoked when the user clicks on a URL. + * @param onTextClick The callback invoked when the user clicks on a text. + * @param modifier The modifier to be applied to the composable. + * @see render + */ @Composable public fun render( block: Paragraph, @@ -49,8 +88,20 @@ public interface MarkdownBlockRenderer { enabled: Boolean, onUrlClick: (String) -> Unit, onTextClick: () -> Unit, + modifier: Modifier, ) + /** + * Renders a [MarkdownBlock.Heading] into a Compose UI. + * + * @param block The heading to render. + * @param styling The [`Heading`][MarkdownStyling.Heading] styling to use to render. + * @param enabled True if the block should be enabled, false otherwise. + * @param onUrlClick The callback invoked when the user clicks on a URL. + * @param onTextClick The callback invoked when the user clicks on a text. + * @param modifier The modifier to be applied to the composable. + * @see render + */ @Composable public fun render( block: MarkdownBlock.Heading, @@ -58,8 +109,20 @@ public interface MarkdownBlockRenderer { enabled: Boolean, onUrlClick: (String) -> Unit, onTextClick: () -> Unit, + modifier: Modifier, ) + /** + * Renders a [MarkdownBlock.Heading] into a Compose UI, using a specific [`HN`][MarkdownStyling.Heading.HN] styling. + * + * @param block The heading to render. + * @param styling The [`Heading.HN`][MarkdownStyling.Heading.HN] styling to use to render. + * @param enabled True if the block should be enabled, false otherwise. + * @param onUrlClick The callback invoked when the user clicks on a URL. + * @param onTextClick The callback invoked when the user clicks on a text. + * @param modifier The modifier to be applied to the composable. + * @see render + */ @Composable public fun render( block: MarkdownBlock.Heading, @@ -67,8 +130,20 @@ public interface MarkdownBlockRenderer { enabled: Boolean, onUrlClick: (String) -> Unit, onTextClick: () -> Unit, + modifier: Modifier, ) + /** + * Renders a [BlockQuote] into a Compose UI. + * + * @param block The blockquote to render. + * @param styling The [`BlockQuote`][MarkdownStyling.BlockQuote] styling to use to render. + * @param enabled True if the block should be enabled, false otherwise. + * @param onUrlClick The callback invoked when the user clicks on a URL. + * @param onTextClick The callback invoked when the user clicks on a text. + * @param modifier The modifier to be applied to the composable. + * @see render + */ @Composable public fun render( block: BlockQuote, @@ -76,8 +151,20 @@ public interface MarkdownBlockRenderer { enabled: Boolean, onUrlClick: (String) -> Unit, onTextClick: () -> Unit, + modifier: Modifier, ) + /** + * Renders a [ListBlock] into a Compose UI. + * + * @param block The list to render. + * @param styling The [`List`][MarkdownStyling.List] styling to use to render. + * @param enabled True if the block should be enabled, false otherwise. + * @param onUrlClick The callback invoked when the user clicks on a URL. + * @param onTextClick The callback invoked when the user clicks on a text. + * @param modifier The modifier to be applied to the composable. + * @see render + */ @Composable public fun render( block: ListBlock, @@ -85,8 +172,20 @@ public interface MarkdownBlockRenderer { enabled: Boolean, onUrlClick: (String) -> Unit, onTextClick: () -> Unit, + modifier: Modifier, ) + /** + * Renders a [OrderedList] into a Compose UI. + * + * @param block The ordered list to render. + * @param styling The [`List.Ordered`][MarkdownStyling.List.Ordered] styling to use to render. + * @param enabled True if the block should be enabled, false otherwise. + * @param onUrlClick The callback invoked when the user clicks on a URL. + * @param onTextClick The callback invoked when the user clicks on a text. + * @param modifier The modifier to be applied to the composable. + * @see render + */ @Composable public fun render( block: OrderedList, @@ -94,8 +193,20 @@ public interface MarkdownBlockRenderer { enabled: Boolean, onUrlClick: (String) -> Unit, onTextClick: () -> Unit, + modifier: Modifier, ) + /** + * Renders a [UnorderedList] into a Compose UI. + * + * @param block The unordered list to render. + * @param styling The [`List.Unordered`][MarkdownStyling.List.Unordered] styling to use to render. + * @param enabled True if the block should be enabled, false otherwise. + * @param onUrlClick The callback invoked when the user clicks on a URL. + * @param onTextClick The callback invoked when the user clicks on a text. + * @param modifier The modifier to be applied to the composable. + * @see render + */ @Composable public fun render( block: UnorderedList, @@ -103,23 +214,105 @@ public interface MarkdownBlockRenderer { enabled: Boolean, onUrlClick: (String) -> Unit, onTextClick: () -> Unit, + modifier: Modifier, ) + /** + * Renders a [ListItem] into a Compose UI. + * + * @param block The list item to render. + * @param enabled True if the block should be enabled, false otherwise. + * @param onUrlClick The callback invoked when the user clicks on a URL. + * @param onTextClick The callback invoked when the user clicks on a text. + * @param modifier The modifier to be applied to the composable. + * @see render + */ @Composable - public fun render(block: ListItem, enabled: Boolean, onUrlClick: (String) -> Unit, onTextClick: () -> Unit) + public fun render( + block: ListItem, + enabled: Boolean, + onUrlClick: (String) -> Unit, + onTextClick: () -> Unit, + modifier: Modifier, + ) - @Composable public fun render(block: CodeBlock, styling: MarkdownStyling.Code) + /** + * Renders a [CodeBlock] into a Compose UI. + * + * @param block The heading to render. + * @param styling The [`Code`][MarkdownStyling.Code] styling to use to render. + * @param enabled True if the block should be enabled, false otherwise. + * @param modifier The modifier to be applied to the composable. + * @see render + */ + @Composable public fun render(block: CodeBlock, styling: MarkdownStyling.Code, enabled: Boolean, modifier: Modifier) - @Composable public fun render(block: IndentedCodeBlock, styling: MarkdownStyling.Code.Indented) + /** + * Renders a [IndentedCodeBlock] into a Compose UI. + * + * @param block The heading to render. + * @param styling The [`Code.Indented`][MarkdownStyling.Code.Indented] styling to use to render. + * @param enabled True if the block should be enabled, false otherwise. + * @param modifier The modifier to be applied to the composable. + * @see render + */ + @Composable + public fun render( + block: IndentedCodeBlock, + styling: MarkdownStyling.Code.Indented, + enabled: Boolean, + modifier: Modifier, + ) - @Composable public fun render(block: FencedCodeBlock, styling: MarkdownStyling.Code.Fenced) + /** + * Renders a [FencedCodeBlock] into a Compose UI. If the fenced block defines a language, it can be + * syntax-highlighted by the the [org.jetbrains.jewel.foundation.code.highlighting.LocalCodeHighlighter]. + * + * @param block The heading to render. + * @param styling The [`Code.Fenced`][MarkdownStyling.Code.Fenced] styling to use to render. + * @param enabled True if the block should be enabled, false otherwise. + * @param modifier The modifier to be applied to the composable. + * @see render + * @see org.jetbrains.jewel.foundation.code.highlighting.CodeHighlighter + */ + @Composable + public fun render( + block: FencedCodeBlock, + styling: MarkdownStyling.Code.Fenced, + enabled: Boolean, + modifier: Modifier, + ) - @Composable public fun renderThematicBreak(styling: MarkdownStyling.ThematicBreak) + /** + * Renders a thematic break (horizontal divider) into a Compose UI. + * + * @param styling The [`ThematicBreak`][MarkdownStyling.ThematicBreak] styling to use to render. + * @param enabled True if the block should be enabled, false otherwise. + * @param modifier The modifier to be applied to the composable. + * @see render + */ + @Composable + public fun renderThematicBreak(styling: MarkdownStyling.ThematicBreak, enabled: Boolean, modifier: Modifier) - @Composable public fun render(block: HtmlBlock, styling: MarkdownStyling.HtmlBlock) + /** + * Renders a [HtmlBlock] into a Compose UI. Since Compose can't render HTML out of the box, this might result in a + * no-op (e.g., in [DefaultMarkdownBlockRenderer.render]). + * + * @param block The heading to render. + * @param styling The [`Code`][MarkdownStyling.Code] styling to use to render. + * @param enabled True if the block should be enabled, false otherwise. + * @param modifier The modifier to be applied to the composable. + * @see render + */ + @Composable + public fun render(block: HtmlBlock, styling: MarkdownStyling.HtmlBlock, enabled: Boolean, modifier: Modifier) /** * Creates a copy of this instance, using the provided non-null parameters, or the current values for the null ones. + * + * @param rootStyling The [MarkdownStyling] to use to render the Markdown into composables. + * @param rendererExtensions The [MarkdownRendererExtension]s used to render [MarkdownBlock.CustomBlock]s. + * @param inlineRenderer The [InlineMarkdownRenderer] used to render inline content. */ public fun createCopy( rootStyling: MarkdownStyling? = null, @@ -127,8 +320,13 @@ public interface MarkdownBlockRenderer { inlineRenderer: InlineMarkdownRenderer? = null, ): MarkdownBlockRenderer - /** Creates a copy of this [MarkdownBlockRenderer] with the same properties, plus the provided [extension]. */ + /** + * Creates a copy of this [MarkdownBlockRenderer] with the same properties, plus the provided [extension]. + * + * @see createCopy + */ @ExperimentalJewelApi public operator fun plus(extension: MarkdownRendererExtension): MarkdownBlockRenderer + /** The companion object for [MarkdownBlockRenderer]. */ public companion object } diff --git a/platform/jewel/markdown/core/src/main/kotlin/org/jetbrains/jewel/markdown/rendering/MarkdownStyling.kt b/platform/jewel/markdown/core/src/main/kotlin/org/jetbrains/jewel/markdown/rendering/MarkdownStyling.kt index 3e14bd1cb233..c88dd0a5e0a7 100644 --- a/platform/jewel/markdown/core/src/main/kotlin/org/jetbrains/jewel/markdown/rendering/MarkdownStyling.kt +++ b/platform/jewel/markdown/core/src/main/kotlin/org/jetbrains/jewel/markdown/rendering/MarkdownStyling.kt @@ -917,8 +917,35 @@ public class InlinesStyling( public val emphasis: SpanStyle, public val strongEmphasis: SpanStyle, public val inlineHtml: SpanStyle, - public val renderInlineHtml: Boolean, ) { + @Deprecated("Use variant without renderInlineHtml instead.", level = DeprecationLevel.HIDDEN) + public constructor( + textStyle: TextStyle, + inlineCode: SpanStyle, + link: SpanStyle, + linkDisabled: SpanStyle, + linkFocused: SpanStyle, + linkHovered: SpanStyle, + linkPressed: SpanStyle, + linkVisited: SpanStyle, + emphasis: SpanStyle, + strongEmphasis: SpanStyle, + inlineHtml: SpanStyle, + @Suppress("UnusedPrivateProperty") renderInlineHtml: Boolean, + ) : this( + textStyle, + inlineCode, + link, + linkDisabled, + linkFocused, + linkHovered, + linkPressed, + linkVisited, + emphasis, + strongEmphasis, + inlineHtml, + ) + public val textLinkStyles: TextLinkStyles = TextLinkStyles(style = link, focusedStyle = linkFocused, hoveredStyle = linkHovered, pressedStyle = linkPressed) @@ -928,7 +955,6 @@ public class InlinesStyling( other as InlinesStyling - if (renderInlineHtml != other.renderInlineHtml) return false if (textStyle != other.textStyle) return false if (inlineCode != other.inlineCode) return false if (link != other.link) return false @@ -946,8 +972,7 @@ public class InlinesStyling( } override fun hashCode(): Int { - var result = renderInlineHtml.hashCode() - result = 31 * result + textStyle.hashCode() + var result = textStyle.hashCode() result = 31 * result + inlineCode.hashCode() result = 31 * result + link.hashCode() result = 31 * result + linkDisabled.hashCode() @@ -975,7 +1000,6 @@ public class InlinesStyling( "emphasis=$emphasis, " + "strongEmphasis=$strongEmphasis, " + "inlineHtml=$inlineHtml, " + - "renderInlineHtml=$renderInlineHtml, " + "textLinkStyles=$textLinkStyles" + ")" } diff --git a/platform/jewel/markdown/core/src/main/kotlin/org/jetbrains/jewel/markdown/scrolling/ScrollSyncMarkdownBlockRenderer.kt b/platform/jewel/markdown/core/src/main/kotlin/org/jetbrains/jewel/markdown/scrolling/ScrollSyncMarkdownBlockRenderer.kt index 9bc0c4ab74d4..6920e6fe9813 100644 --- a/platform/jewel/markdown/core/src/main/kotlin/org/jetbrains/jewel/markdown/scrolling/ScrollSyncMarkdownBlockRenderer.kt +++ b/platform/jewel/markdown/core/src/main/kotlin/org/jetbrains/jewel/markdown/scrolling/ScrollSyncMarkdownBlockRenderer.kt @@ -46,14 +46,17 @@ public open class ScrollSyncMarkdownBlockRenderer( enabled: Boolean, onUrlClick: (String) -> Unit, onTextClick: () -> Unit, + modifier: Modifier, ) { val synchronizer = (JewelTheme.markdownMode as? MarkdownMode.EditorPreview)?.scrollingSynchronizer ?: run { - super.render(block, styling, enabled, onUrlClick, onTextClick) + super.render(block, styling, enabled, onUrlClick, onTextClick, modifier) return } - AutoScrollableBlock(block, synchronizer) { super.render(block, styling, enabled, onUrlClick, onTextClick) } + AutoScrollableBlock(block, synchronizer) { + super.render(block, styling, enabled, onUrlClick, onTextClick, modifier) + } } @Composable @@ -63,22 +66,30 @@ public open class ScrollSyncMarkdownBlockRenderer( enabled: Boolean, onUrlClick: (String) -> Unit, onTextClick: () -> Unit, + modifier: Modifier, ) { val synchronizer = (JewelTheme.markdownMode as? MarkdownMode.EditorPreview)?.scrollingSynchronizer ?: run { - super.render(block, styling, enabled, onUrlClick, onTextClick) + super.render(block, styling, enabled, onUrlClick, onTextClick, modifier) return } - AutoScrollableBlock(block, synchronizer) { super.render(block, styling, enabled, onUrlClick, onTextClick) } + AutoScrollableBlock(block, synchronizer) { + super.render(block, styling, enabled, onUrlClick, onTextClick, modifier) + } } @Composable - override fun renderWithMimeType(block: FencedCodeBlock, mimeType: MimeType, styling: MarkdownStyling.Code.Fenced) { + override fun renderCodeWithMimeType( + block: FencedCodeBlock, + mimeType: MimeType, + styling: MarkdownStyling.Code.Fenced, + enabled: Boolean, + ) { val synchronizer = (JewelTheme.markdownMode as? MarkdownMode.EditorPreview)?.scrollingSynchronizer ?: run { - super.renderWithMimeType(block, mimeType, styling) + super.renderCodeWithMimeType(block, mimeType, styling, enabled) return } @@ -100,16 +111,22 @@ public open class ScrollSyncMarkdownBlockRenderer( } @Composable - override fun render(block: IndentedCodeBlock, styling: MarkdownStyling.Code.Indented) { + override fun render( + block: IndentedCodeBlock, + styling: MarkdownStyling.Code.Indented, + enabled: Boolean, + modifier: Modifier, + ) { val scrollingSynchronizer = (JewelTheme.markdownMode as? MarkdownMode.EditorPreview)?.scrollingSynchronizer ?: run { - super.render(block, styling) + super.render(block, styling, enabled, modifier) return } MaybeScrollingContainer( isScrollable = styling.scrollsHorizontally, - Modifier.background(styling.background, styling.shape) + modifier + .background(styling.background, styling.shape) .border(styling.borderWidth, styling.borderColor, styling.shape) .then(if (styling.fillWidth) Modifier.fillMaxWidth() else Modifier), ) { diff --git a/platform/jewel/markdown/core/src/test/kotlin/org/jetbrains/jewel/markdown/MarkdownProcessorDocumentParsingExtraTest.kt b/platform/jewel/markdown/core/src/test/kotlin/org/jetbrains/jewel/markdown/MarkdownProcessorDocumentParsingExtraTest.kt index 56cad007ba1d..8a0ebcd2a3ff 100644 --- a/platform/jewel/markdown/core/src/test/kotlin/org/jetbrains/jewel/markdown/MarkdownProcessorDocumentParsingExtraTest.kt +++ b/platform/jewel/markdown/core/src/test/kotlin/org/jetbrains/jewel/markdown/MarkdownProcessorDocumentParsingExtraTest.kt @@ -80,4 +80,42 @@ public class MarkdownProcessorDocumentParsingExtraTest { Paragraph(Emphasis("*", Emphasis("_", Emphasis("*", Text("foo "), Emphasis("*", Text("bar")), Text(" a"))))) ) } + + @Test // Covers JEWEL-495's parsing side + public fun `should combine inline styles correctly`() { + val parsed = + processor.processMarkdownDocument( + "___One___, ***two***, _**three**_, **_four_**. [**Bold URL**](https://github.com/JetBrains/jewel). " + + "[_Italic URL_](https://github.com/JetBrains/jewel). [***Bold and italic URL***](https://github.com/JetBrains/jewel)" + ) + + /* + * Expected HTML: + * One, two, three, + * four. Bold URL. + * Italic URL. + * Bold and italic URL + */ + parsed.assertEquals( + Paragraph( + Emphasis("_", StrongEmphasis("__", Text("One"))), + Text(", "), + Emphasis("*", StrongEmphasis("**", Text("two"))), + Text(", "), + Emphasis("_", StrongEmphasis("**", Text("three"))), + Text(", "), + StrongEmphasis("**", Emphasis("_", Text("four"))), + Text(". "), + Link("https://github.com/JetBrains/jewel", title = null, StrongEmphasis("**", Text("Bold URL"))), + Text(". "), + Link("https://github.com/JetBrains/jewel", title = null, Emphasis("_", Text("Italic URL"))), + Text(". "), + Link( + "https://github.com/JetBrains/jewel", + title = null, + Emphasis("*", StrongEmphasis("**", Text("Bold and italic URL"))), + ), + ) + ) + } } diff --git a/platform/jewel/markdown/core/src/test/kotlin/org/jetbrains/jewel/markdown/processing/MarkdownProcessorOptimizeEditsTest.kt b/platform/jewel/markdown/core/src/test/kotlin/org/jetbrains/jewel/markdown/processing/MarkdownProcessorOptimizeEditsTest.kt index e24f628442f4..90e45860fe09 100644 --- a/platform/jewel/markdown/core/src/test/kotlin/org/jetbrains/jewel/markdown/processing/MarkdownProcessorOptimizeEditsTest.kt +++ b/platform/jewel/markdown/core/src/test/kotlin/org/jetbrains/jewel/markdown/processing/MarkdownProcessorOptimizeEditsTest.kt @@ -3,12 +3,12 @@ package org.jetbrains.jewel.markdown.processing import org.commonmark.node.Block import org.commonmark.node.Document import org.commonmark.node.Node +import org.commonmark.node.SourceSpan import org.commonmark.parser.IncludeSourceSpans import org.commonmark.parser.Parser import org.commonmark.renderer.html.HtmlRenderer import org.intellij.lang.annotations.Language import org.jetbrains.jewel.markdown.MarkdownMode -import org.junit.Assert.assertArrayEquals import org.junit.Assert.assertEquals import org.junit.Assert.assertNotSame import org.junit.Assert.assertSame @@ -49,9 +49,8 @@ public class MarkdownProcessorOptimizeEditsTest { public fun `first blocks stay the same`() { val processor = MarkdownProcessor(markdownMode = MarkdownMode.EditorPreview(null)) val firstRun = processor.processWithQuickEdits(rawMarkdown) - val secondRun = - processor.processWithQuickEdits( - """ + val updatedMarkdown = + """ Paragraph 0 continue p0 # Header 1 @@ -60,8 +59,8 @@ public class MarkdownProcessorOptimizeEditsTest { * list item 3-1 * list item 3-2 """ - .trimIndent() - ) + .trimIndent() + val secondRun = processor.processWithQuickEdits(updatedMarkdown) assertSame(firstRun[0], secondRun[0]) assertSame(firstRun[1], secondRun[1]) assertNotSame(firstRun[2], secondRun[2]) @@ -80,16 +79,17 @@ public class MarkdownProcessorOptimizeEditsTest { .trimIndent(), secondRun, ) + assertIndexesEqual(updatedMarkdown, processor.getCurrentIndexesInTest()) } @Test public fun `first block edited`() { val processor = MarkdownProcessor(markdownMode = MarkdownMode.EditorPreview(null)) val firstRun = processor.processWithQuickEdits(rawMarkdown) - val secondRun = - processor.processWithQuickEdits( - """ - Paragraph *CHANGE* + val updatedMarkdown = + """ + Paragraph 0 + continue p*CHANGE* # Header 1 Paragraph 2 * list item 3-1 @@ -109,11 +109,12 @@ public class MarkdownProcessorOptimizeEditsTest { Paragraph 8 continue p8 """ - .trimIndent() - ) + .trimIndent() + val secondRun = processor.processWithQuickEdits(updatedMarkdown) assertHtmlEquals( """ -

Paragraph CHANGE

+

Paragraph 0 + continue pCHANGE

Header 1

Paragraph 2

    @@ -136,17 +137,16 @@ public class MarkdownProcessorOptimizeEditsTest { secondRun, ) assertNotSame(firstRun[0], secondRun[0]) - assertNotSame(firstRun[1], secondRun[1]) - assertSame(firstRun[2], secondRun[2]) + assertSame(firstRun[1], secondRun[1]) + assertIndexesEqual(updatedMarkdown, processor.getCurrentIndexesInTest()) } @Test public fun `last block edited`() { val processor = MarkdownProcessor(markdownMode = MarkdownMode.EditorPreview(null)) val firstRun = processor.processWithQuickEdits(rawMarkdown) - val secondRun = - processor.processWithQuickEdits( - """ + val updatedMarkdown = + """ Paragraph 0 continue p0 # Header 1 @@ -168,8 +168,8 @@ public class MarkdownProcessorOptimizeEditsTest { Paragraph *CHANGE* continue p8 """ - .trimIndent() - ) + .trimIndent() + val secondRun = processor.processWithQuickEdits(updatedMarkdown) assertHtmlEquals( """

    Paragraph 0 @@ -197,17 +197,17 @@ public class MarkdownProcessorOptimizeEditsTest { ) assertSame(firstRun[5], secondRun[5]) assertSame(firstRun[6], secondRun[6]) - assertNotSame(firstRun[7], secondRun[7]) + assertSame(firstRun[7], secondRun[7]) assertNotSame(firstRun[8], secondRun[8]) + assertIndexesEqual(updatedMarkdown, processor.getCurrentIndexesInTest()) } @Test public fun `middle block edited`() { val processor = MarkdownProcessor(markdownMode = MarkdownMode.EditorPreview(null)) val firstRun = processor.processWithQuickEdits(rawMarkdown) - val secondRun = - processor.processWithQuickEdits( - """ + val updatedMarkdown = + """ Paragraph 0 continue p0 # Header 1 @@ -229,8 +229,8 @@ public class MarkdownProcessorOptimizeEditsTest { Paragraph 8 continue p8 """ - .trimIndent() - ) + .trimIndent() + val secondRun = processor.processWithQuickEdits(updatedMarkdown) assertHtmlEquals( """

    Paragraph 0 @@ -258,19 +258,19 @@ public class MarkdownProcessorOptimizeEditsTest { ) assertSame(firstRun[0], secondRun[0]) assertSame(firstRun[1], secondRun[1]) - assertNotSame(firstRun[2], secondRun[2]) + assertSame(firstRun[2], secondRun[2]) assertNotSame(firstRun[3], secondRun[3]) - assertNotSame(firstRun[4], secondRun[4]) + assertSame(firstRun[4], secondRun[4]) assertSame(firstRun[5], secondRun[5]) + assertIndexesEqual(updatedMarkdown, processor.getCurrentIndexesInTest()) } @Test public fun `blocks merged`() { val processor = MarkdownProcessor(markdownMode = MarkdownMode.EditorPreview(null)) - val firstRun = processor.processWithQuickEdits(rawMarkdown) - val secondRun = - processor.processWithQuickEdits( - """ + val firstRun = processor.processWithQuickEdits("$rawMarkdown\n\nParagraph 9") + val updatedMarkdown = + """ Paragraph 0 continue p0 # Header 1 @@ -290,9 +290,11 @@ public class MarkdownProcessorOptimizeEditsTest { Paragraph 7 Paragraph 8 continue p8 + + Paragraph 9 """ - .trimIndent() - ) + .trimIndent() + val secondRun = processor.processWithQuickEdits(updatedMarkdown) assertHtmlEquals( """

    Paragraph 0 @@ -313,6 +315,7 @@ public class MarkdownProcessorOptimizeEditsTest {

    Paragraph 7 Paragraph 8 continue p8

    +

    Paragraph 9

    """ .trimIndent(), @@ -321,15 +324,16 @@ public class MarkdownProcessorOptimizeEditsTest { assertSame(firstRun[5], secondRun[5]) assertSame(firstRun[6], secondRun[6]) assertNotSame(firstRun[7], secondRun[7]) + assertSame(firstRun[9], secondRun[8]) + assertIndexesEqual(updatedMarkdown, processor.getCurrentIndexesInTest()) } @Test public fun `blocks split`() { val processor = MarkdownProcessor(markdownMode = MarkdownMode.EditorPreview(null)) val firstRun = processor.processWithQuickEdits(rawMarkdown) - val secondRun = - processor.processWithQuickEdits( - """ + val updatedMarkdown = + """ Paragraph 0 continue p0 # Header 1 @@ -350,8 +354,8 @@ public class MarkdownProcessorOptimizeEditsTest { Paragraph 8 continue p8 """ - .trimIndent() - ) + .trimIndent() + val secondRun = processor.processWithQuickEdits(updatedMarkdown) assertHtmlEquals( """

    Paragraph 0 @@ -377,19 +381,19 @@ public class MarkdownProcessorOptimizeEditsTest { .trimIndent(), secondRun, ) - assertSame(firstRun[3], secondRun[3]) - assertNotSame(firstRun[4], secondRun[4]) + assertSame(firstRun[4], secondRun[4]) assertNotSame(firstRun[5], secondRun[5]) + assertSame(firstRun[6], secondRun[7]) assertSame(firstRun[7], secondRun[8]) + assertIndexesEqual(updatedMarkdown, processor.getCurrentIndexesInTest()) } @Test public fun `blocks deleted`() { val processor = MarkdownProcessor(markdownMode = MarkdownMode.EditorPreview(null)) val firstRun = processor.processWithQuickEdits(rawMarkdown) - val secondRun = - processor.processWithQuickEdits( - """ + val updatedMarkdown = + """ Paragraph 0 continue p0 # Header 1 @@ -406,8 +410,8 @@ public class MarkdownProcessorOptimizeEditsTest { Paragraph 8 continue p8 """ - .trimIndent() - ) + .trimIndent() + val secondRun = processor.processWithQuickEdits(updatedMarkdown) assertHtmlEquals( """

    Paragraph 0 @@ -435,13 +439,73 @@ public class MarkdownProcessorOptimizeEditsTest { assertNotSame(firstRun[4], secondRun[4]) assertNotSame(firstRun[6], secondRun[4]) assertSame(firstRun[7], secondRun[5]) + assertIndexesEqual(updatedMarkdown, processor.getCurrentIndexesInTest()) + } + + @Test + public fun `paragraphs merge after header block gets deleted`() { + val processor = MarkdownProcessor(markdownMode = MarkdownMode.EditorPreview(null)) + val firstRun = processor.processWithQuickEdits(rawMarkdown) + val updatedMarkdown = + """ + Paragraph 0 + continue p0 + Paragraph 2 + * list item 3-1 + * list item 3-2 + * list item 3-3 + ## Header 4 + Paragraph 5 + continue paragraph 5 + + + ``` + line 6-1 + line 6-2 + ``` + Paragraph 7 + + Paragraph 8 + continue p8 + """ + .trimIndent() + val secondRun = processor.processWithQuickEdits(updatedMarkdown) + assertHtmlEquals( + """ +

    Paragraph 0 + continue p0 + Paragraph 2

    +
      +
    • list item 3-1
    • +
    • list item 3-2
    • +
    • list item 3-3
    • +
    +

    Header 4

    +

    Paragraph 5 + continue paragraph 5

    +
    line 6-1
    +            line 6-2
    +            
    +

    Paragraph 7

    +

    Paragraph 8 + continue p8

    + + """ + .trimIndent(), + secondRun, + ) + assertNotSame(firstRun[0], secondRun[0]) + assertNotSame(firstRun[2], secondRun[1]) + assertSame(firstRun[3], secondRun[1]) + assertSame(firstRun[4], secondRun[2]) + assertIndexesEqual(updatedMarkdown, processor.getCurrentIndexesInTest()) } @Test public fun `blocks added`() { val processor = MarkdownProcessor(markdownMode = MarkdownMode.EditorPreview(null)) val firstRun = processor.processWithQuickEdits(rawMarkdown) - val secondDocument = + val updatedMarkdown = """ Paragraph 0 continue p0 @@ -469,7 +533,7 @@ public class MarkdownProcessorOptimizeEditsTest { continue p8 """ .trimIndent() - val secondRun = processor.processWithQuickEdits(secondDocument) + val secondRun = processor.processWithQuickEdits(updatedMarkdown) assertHtmlEquals( """

    Paragraph 0 @@ -501,7 +565,7 @@ public class MarkdownProcessorOptimizeEditsTest { assertNotSame(firstRun[4], secondRun[4]) assertNotSame(firstRun[5], secondRun[6]) assertSame(firstRun[6], secondRun[7]) - assertIndexesEqual(secondDocument, processor.getCurrentIndexesInTest()) + assertIndexesEqual(updatedMarkdown, processor.getCurrentIndexesInTest()) } @Test @@ -535,13 +599,15 @@ public class MarkdownProcessorOptimizeEditsTest { secondRun, ) assertSame(firstRun[0], secondRun[0]) + assertIndexesEqual(rawMarkdown, processor.getCurrentIndexesInTest()) } @Test - public fun `empty line added`() { + public fun `empty line added before`() { val processor = MarkdownProcessor(markdownMode = MarkdownMode.EditorPreview(null)) val firstRun = processor.processWithQuickEdits(rawMarkdown) - val secondRun = processor.processWithQuickEdits("\n" + rawMarkdown) + val updatedMarkdown = "\n" + rawMarkdown + val secondRun = processor.processWithQuickEdits(updatedMarkdown) assertHtmlEquals( """

    Paragraph 0 @@ -569,6 +635,249 @@ public class MarkdownProcessorOptimizeEditsTest { ) assertNotSame(firstRun[0], secondRun[0]) assertSame(firstRun[1], secondRun[1]) + assertIndexesEqual(updatedMarkdown, processor.getCurrentIndexesInTest()) + } + + @Test + public fun `empty line added after`() { + val processor = MarkdownProcessor(markdownMode = MarkdownMode.EditorPreview(null)) + val firstRun = processor.processWithQuickEdits(rawMarkdown) + val updatedMarkdown = rawMarkdown + "\n" + val secondRun = processor.processWithQuickEdits(updatedMarkdown) + assertHtmlEquals( + """ +

    Paragraph 0 + continue p0

    +

    Header 1

    +

    Paragraph 2

    +
      +
    • list item 3-1
    • +
    • list item 3-2
    • +
    • list item 3-3
    • +
    +

    Header 4

    +

    Paragraph 5 + continue paragraph 5

    +
    line 6-1
    +            line 6-2
    +            
    +

    Paragraph 7

    +

    Paragraph 8 + continue p8

    + + """ + .trimIndent(), + secondRun, + ) + assertSame(firstRun[7], secondRun[7]) + assertNotSame(firstRun[8], secondRun[8]) + assertIndexesEqual(updatedMarkdown, processor.getCurrentIndexesInTest()) + } + + @Test + public fun `one char changed`() { + val processor = MarkdownProcessor(markdownMode = MarkdownMode.EditorPreview(null)) + val firstRun = processor.processWithQuickEdits(rawMarkdown) + val updatedMarkdown = + """ + Paragraph 0 + continue p0 + # Header 1 + Paragraph!2 + * list item 3-1 + * list item 3-2 + * list item 3-3 + ## Header 4 + Paragraph 5 + continue paragraph 5 + + + ``` + line 6-1 + line 6-2 + ``` + Paragraph 7 + + Paragraph 8 + continue p8 + """ + .trimIndent() + + val secondRun = processor.processWithQuickEdits(updatedMarkdown) + assertHtmlEquals( + """ +

    Paragraph 0 + continue p0

    +

    Header 1

    +

    Paragraph!2

    +
      +
    • list item 3-1
    • +
    • list item 3-2
    • +
    • list item 3-3
    • +
    +

    Header 4

    +

    Paragraph 5 + continue paragraph 5

    +
    line 6-1
    +            line 6-2
    +            
    +

    Paragraph 7

    +

    Paragraph 8 + continue p8

    + + """ + .trimIndent(), + secondRun, + ) + assertSame(firstRun[0], secondRun[0]) + assertSame(firstRun[1], secondRun[1]) + assertNotSame(firstRun[2], secondRun[2]) + assertSame(firstRun[3], secondRun[3]) + assertIndexesEqual(updatedMarkdown, processor.getCurrentIndexesInTest()) + } + + @Test + public fun `find edits position block edges contain modifications`() { + val before = + """ + Block 0 + continue p0 + # Block 1 + Block2 + * Block3 + * list item 3-2 + * list item 3-3 + ## Block4 + + """ + .trimIndent() + val after = + """ + Block 0 + continue p0 + # Block 1 + ## Block2 + * Block3 + * list item 3-2 + * list item 3-5 + ## Block4 + + """ + .trimIndent() + val processor = MarkdownProcessor(markdownMode = MarkdownMode.EditorPreview(null)) + val info = processor.findChangedBlocks(before, after, parseDocumentBlocks(before)) + // modification starts at the first symbol + assertEquals( + """ + # Block 1 + ## Block2 + * Block3 + * list item 3-2 + * list item 3-5 + """ + .trimIndent(), + info.updatedText, + ) + assertEquals(1 to 4, info.firstBlock to info.blockAfterLast) + assertEquals(0, info.nLinesDelta) + } + + @Test + public fun `find edits position with added text`() { + val before = + """ + Block 0 + continue p0 + # Block 1 + Block2 + * Block3 + * list item 3-2 + * list item 3-3 + ## Block4 + + """ + .trimIndent() + val after = + """ + Block 0 + continue p0 + # Block 1 + Block + + + something added + ck3 + * list item 3-2 + * list item 3-3 + ## Block4 + + """ + .trimIndent() + val processor = MarkdownProcessor(markdownMode = MarkdownMode.EditorPreview(null)) + val info = processor.findChangedBlocks(before, after, parseDocumentBlocks(before)) + assertEquals( + """ + Block + + + something added + ck3 + * list item 3-2 + * list item 3-3 + """ + .trimIndent(), + info.updatedText, + ) + assertEquals(2, info.firstBlock) + assertEquals(4, info.blockAfterLast) + assertEquals(3, info.nLinesDelta) + } + + /** Regression for https://github.com/commonmark/commonmark-java/issues/315 */ + @Test + public fun `link reference spans`() { + val processor = MarkdownProcessor(markdownMode = MarkdownMode.EditorPreview(null)) + val firstRun = processor.processWithQuickEdits(rawMarkdown) + val updatedMarkdown = + """ + Paragraph 0 + continue p0 + # Header 1 + Paragraph 2 + + [Foo*bar\]]:my_(url) 'title (with parens)' + Paragraph 3 + + [Foo*bar\]] + """ + .trimIndent() + + val secondRun = processor.processWithQuickEdits(updatedMarkdown) + assertHtmlEquals( + """ +

    Paragraph 0 + continue p0

    +

    Header 1

    +

    Paragraph 2

    +

    Paragraph 3

    +

    Foo*bar]

    + + """ + .trimIndent(), + secondRun, + ) + assertSame(firstRun[0], secondRun[0]) + assertSame(firstRun[1], secondRun[1]) + assertNotSame(firstRun[2], secondRun[2]) + // as a regression test, check that there are no empty indexes even for link references + assertEquals( + listOf(0, 2, 2, 3, 5, 6, 8), + processor.getCurrentIndexesInTest().mapNotNull { it.firstOrNull()?.lineIndex }, + ) + assertEquals( + listOf(0, 24, 26, 35, 48, 91, 104), + processor.getCurrentIndexesInTest().mapNotNull { it.firstOrNull()?.inputIndex }, + ) } /** Regression https://github.com/JetBrains/jewel/issues/344 */ @@ -583,7 +892,9 @@ public class MarkdownProcessorOptimizeEditsTest { .trimIndent(), secondRun, ) + assertIndexesEqual("", processor.getCurrentIndexesInTest()) processor.processWithQuickEdits(rawMarkdown) + assertIndexesEqual(rawMarkdown, processor.getCurrentIndexesInTest()) } @Test @@ -609,11 +920,30 @@ public class MarkdownProcessorOptimizeEditsTest { """ .trimIndent() ) - processor.processWithQuickEdits( + val second = """ # Header 0 # Header 1 - some paragraph + + + paragraph + + # Header 2 + # Header 3 + # Header 7 + # Header 8 + # Header 9 + + """ + .trimIndent() + processor.processWithQuickEdits(second) + assertIndexesEqual(second, processor.getCurrentIndexesInTest()) + + val third = + """ + # Header 0 + # Header 1 + Some paragraph @@ -626,10 +956,11 @@ public class MarkdownProcessorOptimizeEditsTest { """ .trimIndent() - ) - val forthRun = - processor.processWithQuickEdits( - """ + processor.processWithQuickEdits(third) + assertIndexesEqual(third, processor.getCurrentIndexesInTest()) + + val forth = + """ # Header 0 # Header 1 @@ -641,8 +972,10 @@ public class MarkdownProcessorOptimizeEditsTest { # Header 9 """ - .trimIndent() - ) + .trimIndent() + + val forthRun = processor.processWithQuickEdits(forth) + assertIndexesEqual(forth, processor.getCurrentIndexesInTest()) val fifthDocument = """ # Header 0 @@ -662,7 +995,6 @@ public class MarkdownProcessorOptimizeEditsTest { """ .trimIndent() val fifthRun = processor.processWithQuickEdits(fifthDocument) - assertIndexesEqual(fifthDocument, processor.getCurrentIndexesInTest()) assertSame(forthRun[0], fifthRun[0]) @@ -706,13 +1038,28 @@ private fun Node.children(): List { } } -private fun assertIndexesEqual(lastProcessedDocument: String, currentIndexes: List>) { +private fun Node.traverseAll(action: (Node) -> Unit) { + action(this) + var child = firstChild + + while (child != null) { + child.traverseAll(action) + child = child.next + } +} + +private fun assertIndexesEqual(lastProcessedDocument: String, currentSpans: List?>) { + val commonmarkDocument = parseDocumentBlocks(lastProcessedDocument) + val expectedSpans = buildList { + for (block in commonmarkDocument) { + block.traverseAll { node -> add(node.sourceSpans) } + } + } + assertEquals(expectedSpans, currentSpans) +} + +private fun parseDocumentBlocks(lastProcessedDocument: String): List { val commonmarkDocument = Parser.builder().includeSourceSpans(IncludeSourceSpans.BLOCKS).build().parse(lastProcessedDocument) as Document - val expected = - (commonmarkDocument) - .children() - .map { it.sourceSpans.first().lineIndex to it.sourceSpans.last().lineIndex } - .toTypedArray() - assertArrayEquals(expected, currentIndexes.toTypedArray()) + return commonmarkDocument.children().map { it as Block } } diff --git a/platform/jewel/markdown/core/src/test/kotlin/org/jetbrains/jewel/markdown/scrolling/ScrollingSynchronizerTest.kt b/platform/jewel/markdown/core/src/test/kotlin/org/jetbrains/jewel/markdown/scrolling/ScrollingSynchronizerTest.kt index 259db87b3d16..26c3b2966ac9 100644 --- a/platform/jewel/markdown/core/src/test/kotlin/org/jetbrains/jewel/markdown/scrolling/ScrollingSynchronizerTest.kt +++ b/platform/jewel/markdown/core/src/test/kotlin/org/jetbrains/jewel/markdown/scrolling/ScrollingSynchronizerTest.kt @@ -8,6 +8,7 @@ import androidx.compose.foundation.shape.CornerSize import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.RectangleShape import androidx.compose.ui.graphics.StrokeCap @@ -21,12 +22,10 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.Density import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import java.util.Arrays import kotlin.time.Duration.Companion.milliseconds -import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.launch -import kotlinx.coroutines.runBlocking -import kotlinx.coroutines.suspendCancellableCoroutine +import org.intellij.lang.annotations.Language import org.jetbrains.jewel.foundation.BorderColors import org.jetbrains.jewel.foundation.GlobalColors import org.jetbrains.jewel.foundation.GlobalMetrics @@ -61,18 +60,19 @@ import org.junit.Assert.assertEquals import org.junit.Assert.assertTrue import org.junit.Test +@OptIn(ExperimentalTestApi::class) @Suppress("LargeClass") public class ScrollingSynchronizerTest { - @OptIn(ExperimentalTestApi::class) @Test public fun headings() { + @Language("Markdown") val markdown = """ - # Heading 1 - ## Heading 2 - ### Heading 3 + |# Heading 1 + |## Heading 2 + |### Heading 3 """ - .trimIndent() + .trimMargin() doTest(markdown) { scrollState, synchronizer -> synchronizer.scrollToLine(0) assertEquals(0, scrollState.value) @@ -94,18 +94,18 @@ public class ScrollingSynchronizerTest { } } - @OptIn(ExperimentalTestApi::class) @Test public fun paragraphs() { + @Language("Markdown") val markdown = """ - p1 - - p2 - - p3 + |p1 + | + |p2 + | + |p3 """ - .trimIndent() + .trimMargin() doTest(markdown) { scrollState, synchronizer -> synchronizer.scrollToLine(1) val p2Top = scrollState.value @@ -126,9 +126,9 @@ public class ScrollingSynchronizerTest { } } - @OptIn(ExperimentalTestApi::class) @Test public fun `empty spaces`() { + @Language("Markdown") val markdown = """ |# Heading 1 @@ -174,18 +174,18 @@ public class ScrollingSynchronizerTest { } } - @OptIn(ExperimentalTestApi::class) @Test public fun `unordered list`() { + @Language("Markdown") val markdown = """ - Items: - - item 1 - - subitem A - - item 2 - - item 3 + |Items: + |- item 1 + | - subitem A + |- item 2 + |- item 3 """ - .trimIndent() + .trimMargin() doTest(markdown) { scrollState, synchronizer -> synchronizer.scrollToLine(1) val i1Top = scrollState.value @@ -208,18 +208,18 @@ public class ScrollingSynchronizerTest { } } - @OptIn(ExperimentalTestApi::class) @Test public fun `ordered list`() { + @Language("Markdown") val markdown = """ - Items: - 1. item 1 - 1. subitem A - 2. item 2 - 3. item 3 + |Items: + |1. item 1 + | 1. subitem A + |2. item 2 + |3. item 3 """ - .trimIndent() + .trimMargin() doTest(markdown) { scrollState, synchronizer -> synchronizer.scrollToLine(1) val i1Top = scrollState.value @@ -242,20 +242,20 @@ public class ScrollingSynchronizerTest { } } - @OptIn(ExperimentalTestApi::class) @Test public fun `fenced code block`() { + @Language("Markdown") val markdown = """ - ```kotlin - package my.awesome.pkg - - fun main() { - println("Hello world") - } - ``` + |```kotlin + |package my.awesome.pkg + | + |fun main() { + | println("Hello world") + |} + |``` """ - .trimIndent() + .trimMargin() doTest(markdown) { scrollState, synchronizer -> synchronizer.scrollToLine(1) val packageTop = scrollState.value @@ -291,20 +291,20 @@ public class ScrollingSynchronizerTest { } } - @OptIn(ExperimentalTestApi::class) @Test public fun `indented code block`() { + @Language("Markdown") val markdown = """ - Here starts the indented code block. - - package my.awesome.pkg - - fun main() { - println("Hello world") - } + |Here starts the indented code block. + | + | package my.awesome.pkg + | + | fun main() { + | println("Hello world") + | } """ - .trimIndent() + .trimMargin() doTest(markdown) { scrollState, synchronizer -> synchronizer.scrollToLine(2) val packageTop = scrollState.value @@ -340,34 +340,35 @@ public class ScrollingSynchronizerTest { } } - @OptIn(ExperimentalTestApi::class) @Test public fun `add a block`() { + @Language("Markdown") val firstRun = """ - ```kotlin - package my.awesome.pkg - - fun main() { - println("Hello world") - } - ``` + |```kotlin + |package my.awesome.pkg + | + |fun main() { + | println("Hello world") + |} + |``` """ - .trimIndent() + .trimMargin() + @Language("Markdown") val secondRun = """ - **CHANGE** - - ```kotlin - package my.awesome.pkg - - fun main() { - println("Hello world") - } - ``` + |**CHANGE** + | + |```kotlin + |package my.awesome.pkg + | + |fun main() { + | println("Hello world") + |} + |``` """ - .trimIndent() + .trimMargin() doTest(firstRun, secondRun) { scrollState, synchronizer -> synchronizer.scrollToLine(3) @@ -404,34 +405,35 @@ public class ScrollingSynchronizerTest { } } - @OptIn(ExperimentalTestApi::class) @Test public fun `remove a block`() { + @Language("Markdown") val firstRun = """ - **CHANGE** - - ```kotlin - package my.awesome.pkg - - fun main() { - println("Hello world") - } - ``` + |**CHANGE** + | + |```kotlin + |package my.awesome.pkg + | + |fun main() { + | println("Hello world") + |} + |``` """ - .trimIndent() + .trimMargin() + @Language("Markdown") val secondRun = """ - ```kotlin - package my.awesome.pkg - - fun main() { - println("Hello world") - } - ``` + |```kotlin + |package my.awesome.pkg + | + |fun main() { + | println("Hello world") + |} + |``` """ - .trimIndent() + .trimMargin() doTest(firstRun, secondRun) { scrollState, synchronizer -> synchronizer.scrollToLine(1) @@ -468,33 +470,34 @@ public class ScrollingSynchronizerTest { } } - @OptIn(ExperimentalTestApi::class) @Test public fun `change a block`() { + @Language("Markdown") val firstRun = """ - ```kotlin - package my.awesome.pkg - - fun main() { - println("Hello world") - } - ``` + |```kotlin + |package my.awesome.pkg + | + |fun main() { + | println("Hello world") + |} + |``` """ - .trimIndent() + .trimMargin() + @Language("Markdown") val secondRun = """ - ```kotlin - package my.awesome.pkg - - fun main() { - val name = "Steve" - println("Hello " + name) - } - ``` + |```kotlin + |package my.awesome.pkg + | + |fun main() { + | val name = "Steve" + | println("Hello " + name) + |} + |``` """ - .trimIndent() + .trimMargin() doTest(firstRun, secondRun) { scrollState, synchronizer -> synchronizer.scrollToLine(1) @@ -536,42 +539,43 @@ public class ScrollingSynchronizerTest { } } - @OptIn(ExperimentalTestApi::class) @Test public fun `merge code blocks`() { + @Language("Markdown") val firstRun = """ - ```kotlin - package my.awesome.pkg - - fun main() { - println("Hello world") - } - ``` - - ```kotlin - fun foo() { - println("Foo") - } - ``` + |```kotlin + |package my.awesome.pkg + | + |fun main() { + | println("Hello world") + |} + |``` + | + |```kotlin + |fun foo() { + | println("Foo") + |} + |``` """ - .trimIndent() + .trimMargin() + @Language("Markdown") val secondRun = """ - ```kotlin - package my.awesome.pkg - - fun main() { - println("Hello world") - } - - fun foo() { - println("Foo") - } - ``` + |```kotlin + |package my.awesome.pkg + | + |fun main() { + | println("Hello world") + |} + | + |fun foo() { + | println("Foo") + |} + |``` """ - .trimIndent() + .trimMargin() doTest(firstRun, secondRun) { scrollState, synchronizer -> synchronizer.scrollToLine(1) @@ -631,7 +635,7 @@ public class ScrollingSynchronizerTest { private fun assertSameDistance(distance: Int, vararg elements: Int) { assertTrue(elements.size > 1) for (i in 0.. - setContent { - CompositionLocalProvider( - LocalMarkdownStyling provides markdownStyling, - LocalMarkdownMode provides MarkdownMode.EditorPreview(synchronizer), - LocalMarkdownProcessor provides processor, - LocalMarkdownBlockRenderer provides renderer, - LocalCodeHighlighter provides NoOpCodeHighlighter, - LocalDividerStyle provides createDividerStyle(), - LocalScrollbarStyle provides createScrollbarStyle(), - LocalDensity provides createDensity(), - ) { - JewelTheme(createThemeDefinition()) { - val blocks = processor.yieldBlocks() - renderer.render(blocks, true, {}, {}) - } - } - // Can't test animateScrollTo without acquiring a composable scope; - val scope = rememberCoroutineScope() - scope.launch(Dispatchers.Default) { - runOnIdle { - scope.launch { - try { - action(scrollState, synchronizer) - } finally { - cont.resumeWith(Result.success(Unit)) - } - } - } - } + setContent { + scope = rememberCoroutineScope() + CompositionLocalProvider( + LocalMarkdownStyling provides markdownStyling, + LocalMarkdownMode provides MarkdownMode.EditorPreview(synchronizer), + LocalMarkdownProcessor provides processor, + LocalMarkdownBlockRenderer provides renderer, + LocalCodeHighlighter provides NoOpCodeHighlighter, + LocalDividerStyle provides createDividerStyle(), + LocalScrollbarStyle provides createScrollbarStyle(), + LocalDensity provides createDensity(), + ) { + JewelTheme(createThemeDefinition()) { + val blocks = processor.yieldBlocks() + renderer.render(blocks, true, {}, {}, Modifier) } } } + + scope!!.launch { action(scrollState, synchronizer) } + waitForIdle() } private fun createDividerStyle() = @@ -788,7 +780,6 @@ public class ScrollingSynchronizerTest { emphasis = mockSpanStyle, strongEmphasis = mockSpanStyle, inlineHtml = mockSpanStyle, - renderInlineHtml = false, ) return MarkdownStyling( blockVerticalSpacing = 8.dp, diff --git a/platform/jewel/markdown/extension/autolink/api-dump-unreviewed.txt b/platform/jewel/markdown/extension/autolink/api-dump-unreviewed.txt deleted file mode 100644 index 7d9a2c94507b..000000000000 --- a/platform/jewel/markdown/extension/autolink/api-dump-unreviewed.txt +++ /dev/null @@ -1,5 +0,0 @@ -f:org.jetbrains.jewel.markdown.extension.autolink.AutolinkProcessorExtension -- org.jetbrains.jewel.markdown.extensions.MarkdownProcessorExtension -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.markdown.extension.autolink.AutolinkProcessorExtension -- getParserExtension():org.commonmark.parser.Parser$ParserExtension diff --git a/platform/jewel/markdown/extension/autolink/intellij.platform.jewel.markdown.extension.autolink.iml b/platform/jewel/markdown/extension/autolink/intellij.platform.jewel.markdown.extension.autolink.iml deleted file mode 100644 index 655cd2834b92..000000000000 --- a/platform/jewel/markdown/extension/autolink/intellij.platform.jewel.markdown.extension.autolink.iml +++ /dev/null @@ -1,379 +0,0 @@ - - - - - - - - - - - - - - - - - $MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compose-compiler-plugin/2.0.21/kotlin-compose-compiler-plugin-2.0.21.jar - - - - - - - - - - - - - - - - - - - - - - - - - - - - 013ba4f3ba4850a1de35935d1501587c518f764331d279805da33473e79f5f33 - - - 679338e0b7fc15c02d275d598654b01a149893bc28a87992e90123c8d06af25b - - - 39c6588948ab31b98ab1fea4a6abab37243f387cb48cb50ae599410effb70038 - - - - - - - - - - - - - - - - - - - - - - c53f675b2af4696e6022598145a44a9e9feb35216a188163ae5bf99a18e76bdb - - - - - - - - - - - - - - - - - - f1e334b73d49ceab00afe776a4c393de77b4fc805e9ff488dac596a2663b1dc1 - - - - - - - - - - - - - - - - - - 66fdef91e9739348df7a096aa384a5685f4e875584cce89386a7a47251c4d8e9 - - - - - - - - - - - - - - - - - - a7dfdfd2b9d6668c646275948eba357aab6407f635f2dc09fe90258a2f202337 - - - - - - - - - - - - - - - - - - 34dfab5b4fa8b2913f00facdddc049e2fef4b176f8e7cde0ad306485674c3b5c - - - - - - - - - - - - - - - - - - 5c84c3bb1c1b636ae36030a0f98d4629afa29e192a9c78f57f22ce2c8ff6bc96 - - - - - - - - - - - - - - - - - - c106c0f705717889663555fe4cb7742612bd47b56a128bf7a9f589f24c64cb08 - - - - - - - - - - - - - - - - - - 8ff9a2b8c93b0287d8fa837d5b0917923168cb97dea1ada1a8d4aa7bb17c9f15 - - - - - - - - - - - - - - - - - - 41da5d61c56877b5b5d01e2a2bcb967cbfaf4d45c1a1aa124c0601c7a3de74e7 - - - - - - - - - - - - - - - - - - 7b0f19724082cbfcbc66e5abea2b9bc92cf08a1ea11e191933ed43801eb3cd05 - - - - - - - - - - - - - - - - - - bff3d1e895fd5abd54ee725dab59214acabf900e1a0784544d20cf20521bf9f3 - - - - - - - - - - - - - - - - - - 62c816073195cc0119dc1d66b178544bdb772ef8bee4879954528c6798b17ebe - - - - - - - - - - - - - - - - - - 5c84c3bb1c1b636ae36030a0f98d4629afa29e192a9c78f57f22ce2c8ff6bc96 - - - - - - - - - - - - - - - - - - c106c0f705717889663555fe4cb7742612bd47b56a128bf7a9f589f24c64cb08 - - - - - - - - - - - - - - - - - - 1b409141a9ee6ed38e76a8fb8f9cf280030bf45375ba7e07e60b2742039b573e - - - - - - - - - - - - - - - - - - c5cfad0b125e978d915f8b4c38630bc5d548e59fe8a0e838c0cc84283c605943 - - - - - - - - - - - - - - - - - - 5c84c3bb1c1b636ae36030a0f98d4629afa29e192a9c78f57f22ce2c8ff6bc96 - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/platform/jewel/markdown/extension/gfm-strikethrough/intellij.platform.jewel.markdown.extension.gfmStrikethrough.iml b/platform/jewel/markdown/extension/gfm-strikethrough/intellij.platform.jewel.markdown.extension.gfmStrikethrough.iml deleted file mode 100644 index 6051eb4357ed..000000000000 --- a/platform/jewel/markdown/extension/gfm-strikethrough/intellij.platform.jewel.markdown.extension.gfmStrikethrough.iml +++ /dev/null @@ -1,373 +0,0 @@ - - - - - - - - - - - - - - - - - $MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compose-compiler-plugin/2.0.21/kotlin-compose-compiler-plugin-2.0.21.jar - - - - - - - - - - - - - - - - - - - - - - - - - - - c53f675b2af4696e6022598145a44a9e9feb35216a188163ae5bf99a18e76bdb - - - - - - - - - - - - - - - - - - f1e334b73d49ceab00afe776a4c393de77b4fc805e9ff488dac596a2663b1dc1 - - - - - - - - - - - - - - - - - - 66fdef91e9739348df7a096aa384a5685f4e875584cce89386a7a47251c4d8e9 - - - - - - - - - - - - - - - - - - a7dfdfd2b9d6668c646275948eba357aab6407f635f2dc09fe90258a2f202337 - - - - - - - - - - - - - - - - - - 34dfab5b4fa8b2913f00facdddc049e2fef4b176f8e7cde0ad306485674c3b5c - - - - - - - - - - - - - - - - - - 5c84c3bb1c1b636ae36030a0f98d4629afa29e192a9c78f57f22ce2c8ff6bc96 - - - - - - - - - - - - - - - - - - c106c0f705717889663555fe4cb7742612bd47b56a128bf7a9f589f24c64cb08 - - - - - - - - - - - - - - - - - - 8ff9a2b8c93b0287d8fa837d5b0917923168cb97dea1ada1a8d4aa7bb17c9f15 - - - - - - - - - - - - - - - - - - 41da5d61c56877b5b5d01e2a2bcb967cbfaf4d45c1a1aa124c0601c7a3de74e7 - - - - - - - - - - - - - - - - - - 7b0f19724082cbfcbc66e5abea2b9bc92cf08a1ea11e191933ed43801eb3cd05 - - - - - - - - - - - - - - - - - - bff3d1e895fd5abd54ee725dab59214acabf900e1a0784544d20cf20521bf9f3 - - - - - - - - - - - - - - - - - - 62c816073195cc0119dc1d66b178544bdb772ef8bee4879954528c6798b17ebe - - - - - - - - - - - - - - - - - - 5c84c3bb1c1b636ae36030a0f98d4629afa29e192a9c78f57f22ce2c8ff6bc96 - - - - - - - - - - - - - - - - - - c106c0f705717889663555fe4cb7742612bd47b56a128bf7a9f589f24c64cb08 - - - - - - - - - - - - - - - - - - 1b409141a9ee6ed38e76a8fb8f9cf280030bf45375ba7e07e60b2742039b573e - - - - - - - - - - - - - - - - - - c5cfad0b125e978d915f8b4c38630bc5d548e59fe8a0e838c0cc84283c605943 - - - - - - - - - - - - - - - - - - 5c84c3bb1c1b636ae36030a0f98d4629afa29e192a9c78f57f22ce2c8ff6bc96 - - - - - - - - - - - - - - - - - - - - - 7385cb637f04dc4cbda4ddca9c2fcd2af7ac536a50e4c8d2c77f4748bb14bf41 - - - 679338e0b7fc15c02d275d598654b01a149893bc28a87992e90123c8d06af25b - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/platform/jewel/markdown/extension/gfm-tables/intellij.platform.jewel.markdown.extension.gfmTables.iml b/platform/jewel/markdown/extension/gfm-tables/intellij.platform.jewel.markdown.extension.gfmTables.iml deleted file mode 100644 index e6ff7801f85e..000000000000 --- a/platform/jewel/markdown/extension/gfm-tables/intellij.platform.jewel.markdown.extension.gfmTables.iml +++ /dev/null @@ -1,366 +0,0 @@ - - - - - - - - - - - - - - - - $MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compose-compiler-plugin/2.0.21/kotlin-compose-compiler-plugin-2.0.21.jar - - - - - - - - - - - - - - - - - - - - - - - - - - c53f675b2af4696e6022598145a44a9e9feb35216a188163ae5bf99a18e76bdb - - - - - - - - - - - - - - - - - - f1e334b73d49ceab00afe776a4c393de77b4fc805e9ff488dac596a2663b1dc1 - - - - - - - - - - - - - - - - - - 66fdef91e9739348df7a096aa384a5685f4e875584cce89386a7a47251c4d8e9 - - - - - - - - - - - - - - - - - - a7dfdfd2b9d6668c646275948eba357aab6407f635f2dc09fe90258a2f202337 - - - - - - - - - - - - - - - - - - 34dfab5b4fa8b2913f00facdddc049e2fef4b176f8e7cde0ad306485674c3b5c - - - - - - - - - - - - - - - - - - 5c84c3bb1c1b636ae36030a0f98d4629afa29e192a9c78f57f22ce2c8ff6bc96 - - - - - - - - - - - - - - - - - - c106c0f705717889663555fe4cb7742612bd47b56a128bf7a9f589f24c64cb08 - - - - - - - - - - - - - - - - - - 8ff9a2b8c93b0287d8fa837d5b0917923168cb97dea1ada1a8d4aa7bb17c9f15 - - - - - - - - - - - - - - - - - - 41da5d61c56877b5b5d01e2a2bcb967cbfaf4d45c1a1aa124c0601c7a3de74e7 - - - - - - - - - - - - - - - - - - 7b0f19724082cbfcbc66e5abea2b9bc92cf08a1ea11e191933ed43801eb3cd05 - - - - - - - - - - - - - - - - - - bff3d1e895fd5abd54ee725dab59214acabf900e1a0784544d20cf20521bf9f3 - - - - - - - - - - - - - - - - - - 62c816073195cc0119dc1d66b178544bdb772ef8bee4879954528c6798b17ebe - - - - - - - - - - - - - - - - - - 5c84c3bb1c1b636ae36030a0f98d4629afa29e192a9c78f57f22ce2c8ff6bc96 - - - - - - - - - - - - - - - - - - c106c0f705717889663555fe4cb7742612bd47b56a128bf7a9f589f24c64cb08 - - - - - - - - - - - - - - - - - - 1b409141a9ee6ed38e76a8fb8f9cf280030bf45375ba7e07e60b2742039b573e - - - - - - - - - - - - - - - - - - c5cfad0b125e978d915f8b4c38630bc5d548e59fe8a0e838c0cc84283c605943 - - - - - - - - - - - - - - - - - - 5c84c3bb1c1b636ae36030a0f98d4629afa29e192a9c78f57f22ce2c8ff6bc96 - - - - - - - - - - - - - - - - - - - - - b54dc332f931e6d07c2766144c087b08f3693677e368151a67020b4e95bb4b99 - - - - - - - - - - - - - - \ No newline at end of file diff --git a/platform/jewel/markdown/extensions/autolink/api-dump-unreviewed.txt b/platform/jewel/markdown/extensions/autolink/api-dump-unreviewed.txt new file mode 100644 index 000000000000..03c35ce1cf1f --- /dev/null +++ b/platform/jewel/markdown/extensions/autolink/api-dump-unreviewed.txt @@ -0,0 +1,5 @@ +f:org.jetbrains.jewel.markdown.extensions.autolink.AutolinkProcessorExtension +- org.jetbrains.jewel.markdown.extensions.MarkdownProcessorExtension +- sf:$stable:I +- sf:INSTANCE:org.jetbrains.jewel.markdown.extensions.autolink.AutolinkProcessorExtension +- getParserExtension():org.commonmark.parser.Parser$ParserExtension diff --git a/platform/jewel/markdown/extension/autolink/api/autolink.api b/platform/jewel/markdown/extensions/autolink/api/autolink.api similarity index 71% rename from platform/jewel/markdown/extension/autolink/api/autolink.api rename to platform/jewel/markdown/extensions/autolink/api/autolink.api index 84a16300f97a..75094a7f4e10 100644 --- a/platform/jewel/markdown/extension/autolink/api/autolink.api +++ b/platform/jewel/markdown/extensions/autolink/api/autolink.api @@ -1,6 +1,6 @@ -public final class org/jetbrains/jewel/markdown/extension/autolink/AutolinkProcessorExtension : org/jetbrains/jewel/markdown/extensions/MarkdownProcessorExtension { +public final class org/jetbrains/jewel/markdown/extensions/autolink/AutolinkProcessorExtension : org/jetbrains/jewel/markdown/extensions/MarkdownProcessorExtension { public static final field $stable I - public static final field INSTANCE Lorg/jetbrains/jewel/markdown/extension/autolink/AutolinkProcessorExtension; + public static final field INSTANCE Lorg/jetbrains/jewel/markdown/extensions/autolink/AutolinkProcessorExtension; public fun getBlockProcessorExtension ()Lorg/jetbrains/jewel/markdown/extensions/MarkdownBlockProcessorExtension; public fun getDelimitedInlineProcessorExtension ()Lorg/jetbrains/jewel/markdown/extensions/MarkdownDelimitedInlineProcessorExtension; public fun getParserExtension ()Lorg/commonmark/parser/Parser$ParserExtension; diff --git a/platform/jewel/markdown/extension/autolink/build.gradle.kts b/platform/jewel/markdown/extensions/autolink/build.gradle.kts similarity index 100% rename from platform/jewel/markdown/extension/autolink/build.gradle.kts rename to platform/jewel/markdown/extensions/autolink/build.gradle.kts diff --git a/platform/jewel/markdown/extension/autolink/exposed-third-party-api.txt b/platform/jewel/markdown/extensions/autolink/exposed-third-party-api.txt similarity index 100% rename from platform/jewel/markdown/extension/autolink/exposed-third-party-api.txt rename to platform/jewel/markdown/extensions/autolink/exposed-third-party-api.txt diff --git a/platform/jewel/markdown/extensions/autolink/intellij.platform.jewel.markdown.extensions.autolink.iml b/platform/jewel/markdown/extensions/autolink/intellij.platform.jewel.markdown.extensions.autolink.iml new file mode 100644 index 000000000000..b8d2f2da9a47 --- /dev/null +++ b/platform/jewel/markdown/extensions/autolink/intellij.platform.jewel.markdown.extensions.autolink.iml @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + $MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compose-compiler-plugin/2.0.21/kotlin-compose-compiler-plugin-2.0.21.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + 013ba4f3ba4850a1de35935d1501587c518f764331d279805da33473e79f5f33 + + + 679338e0b7fc15c02d275d598654b01a149893bc28a87992e90123c8d06af25b + + + 39c6588948ab31b98ab1fea4a6abab37243f387cb48cb50ae599410effb70038 + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/platform/jewel/markdown/extension/autolink/src/main/kotlin/org/jetbrains/jewel/markdown/extension/autolink/AutolinkProcessorExtension.kt b/platform/jewel/markdown/extensions/autolink/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/autolink/AutolinkProcessorExtension.kt similarity index 86% rename from platform/jewel/markdown/extension/autolink/src/main/kotlin/org/jetbrains/jewel/markdown/extension/autolink/AutolinkProcessorExtension.kt rename to platform/jewel/markdown/extensions/autolink/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/autolink/AutolinkProcessorExtension.kt index 1d786e12711a..afc695e9ac9a 100644 --- a/platform/jewel/markdown/extension/autolink/src/main/kotlin/org/jetbrains/jewel/markdown/extension/autolink/AutolinkProcessorExtension.kt +++ b/platform/jewel/markdown/extensions/autolink/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/autolink/AutolinkProcessorExtension.kt @@ -1,4 +1,4 @@ -package org.jetbrains.jewel.markdown.extension.autolink +package org.jetbrains.jewel.markdown.extensions.autolink import org.commonmark.ext.autolink.AutolinkExtension import org.commonmark.parser.Parser.ParserExtension diff --git a/platform/jewel/markdown/extension/autolink/src/main/resources/intellij.platform.jewel.markdown.extension.autolink.xml b/platform/jewel/markdown/extensions/autolink/src/main/resources/intellij.platform.jewel.markdown.extensions.autolink.xml similarity index 100% rename from platform/jewel/markdown/extension/autolink/src/main/resources/intellij.platform.jewel.markdown.extension.autolink.xml rename to platform/jewel/markdown/extensions/autolink/src/main/resources/intellij.platform.jewel.markdown.extensions.autolink.xml diff --git a/platform/jewel/markdown/extension/autolink/src/test/kotlin/org/jetbrains/jewel/markdown/extension/autolink/AutolinkProcessorExtensionTest.kt b/platform/jewel/markdown/extensions/autolink/src/test/kotlin/org/jetbrains/jewel/markdown/extensions/autolink/AutolinkProcessorExtensionTest.kt similarity index 93% rename from platform/jewel/markdown/extension/autolink/src/test/kotlin/org/jetbrains/jewel/markdown/extension/autolink/AutolinkProcessorExtensionTest.kt rename to platform/jewel/markdown/extensions/autolink/src/test/kotlin/org/jetbrains/jewel/markdown/extensions/autolink/AutolinkProcessorExtensionTest.kt index 3bc7117eea71..bf0e95169eee 100644 --- a/platform/jewel/markdown/extension/autolink/src/test/kotlin/org/jetbrains/jewel/markdown/extension/autolink/AutolinkProcessorExtensionTest.kt +++ b/platform/jewel/markdown/extensions/autolink/src/test/kotlin/org/jetbrains/jewel/markdown/extensions/autolink/AutolinkProcessorExtensionTest.kt @@ -1,4 +1,4 @@ -package org.jetbrains.jewel.markdown.extension.autolink +package org.jetbrains.jewel.markdown.extensions.autolink import org.jetbrains.jewel.markdown.InlineMarkdown import org.jetbrains.jewel.markdown.MarkdownBlock diff --git a/platform/jewel/markdown/extension/gfm-alerts/api-dump-unreviewed.txt b/platform/jewel/markdown/extensions/gfm-alerts/api-dump-unreviewed.txt similarity index 82% rename from platform/jewel/markdown/extension/gfm-alerts/api-dump-unreviewed.txt rename to platform/jewel/markdown/extensions/gfm-alerts/api-dump-unreviewed.txt index 5f43eac88010..3ca8446b1619 100644 --- a/platform/jewel/markdown/extension/gfm-alerts/api-dump-unreviewed.txt +++ b/platform/jewel/markdown/extensions/gfm-alerts/api-dump-unreviewed.txt @@ -1,56 +1,3 @@ -org.jetbrains.jewel.markdown.extensions.github.alerts.Alert -- org.jetbrains.jewel.markdown.MarkdownBlock$CustomBlock -- a:getContent():java.util.List -f:org.jetbrains.jewel.markdown.extensions.github.alerts.Alert$Caution -- org.jetbrains.jewel.markdown.extensions.github.alerts.Alert -- sf:$stable:I -- (java.util.List):V -- f:component1():java.util.List -- f:copy(java.util.List):org.jetbrains.jewel.markdown.extensions.github.alerts.Alert$Caution -- bs:copy$default(org.jetbrains.jewel.markdown.extensions.github.alerts.Alert$Caution,java.util.List,I,java.lang.Object):org.jetbrains.jewel.markdown.extensions.github.alerts.Alert$Caution -- equals(java.lang.Object):Z -- getContent():java.util.List -- hashCode():I -f:org.jetbrains.jewel.markdown.extensions.github.alerts.Alert$Important -- org.jetbrains.jewel.markdown.extensions.github.alerts.Alert -- sf:$stable:I -- (java.util.List):V -- f:component1():java.util.List -- f:copy(java.util.List):org.jetbrains.jewel.markdown.extensions.github.alerts.Alert$Important -- bs:copy$default(org.jetbrains.jewel.markdown.extensions.github.alerts.Alert$Important,java.util.List,I,java.lang.Object):org.jetbrains.jewel.markdown.extensions.github.alerts.Alert$Important -- equals(java.lang.Object):Z -- getContent():java.util.List -- hashCode():I -f:org.jetbrains.jewel.markdown.extensions.github.alerts.Alert$Note -- org.jetbrains.jewel.markdown.extensions.github.alerts.Alert -- sf:$stable:I -- (java.util.List):V -- f:component1():java.util.List -- f:copy(java.util.List):org.jetbrains.jewel.markdown.extensions.github.alerts.Alert$Note -- bs:copy$default(org.jetbrains.jewel.markdown.extensions.github.alerts.Alert$Note,java.util.List,I,java.lang.Object):org.jetbrains.jewel.markdown.extensions.github.alerts.Alert$Note -- equals(java.lang.Object):Z -- getContent():java.util.List -- hashCode():I -f:org.jetbrains.jewel.markdown.extensions.github.alerts.Alert$Tip -- org.jetbrains.jewel.markdown.extensions.github.alerts.Alert -- sf:$stable:I -- (java.util.List):V -- f:component1():java.util.List -- f:copy(java.util.List):org.jetbrains.jewel.markdown.extensions.github.alerts.Alert$Tip -- bs:copy$default(org.jetbrains.jewel.markdown.extensions.github.alerts.Alert$Tip,java.util.List,I,java.lang.Object):org.jetbrains.jewel.markdown.extensions.github.alerts.Alert$Tip -- equals(java.lang.Object):Z -- getContent():java.util.List -- hashCode():I -f:org.jetbrains.jewel.markdown.extensions.github.alerts.Alert$Warning -- org.jetbrains.jewel.markdown.extensions.github.alerts.Alert -- sf:$stable:I -- (java.util.List):V -- f:component1():java.util.List -- f:copy(java.util.List):org.jetbrains.jewel.markdown.extensions.github.alerts.Alert$Warning -- bs:copy$default(org.jetbrains.jewel.markdown.extensions.github.alerts.Alert$Warning,java.util.List,I,java.lang.Object):org.jetbrains.jewel.markdown.extensions.github.alerts.Alert$Warning -- equals(java.lang.Object):Z -- getContent():java.util.List -- hashCode():I f:org.jetbrains.jewel.markdown.extensions.github.alerts.AlertStyling - sf:$stable:I - sf:Companion:org.jetbrains.jewel.markdown.extensions.github.alerts.AlertStyling$Companion @@ -89,12 +36,65 @@ f:org.jetbrains.jewel.markdown.extensions.github.alerts.CautionAlertStyling - getTitleTextStyle():androidx.compose.ui.text.TextStyle - hashCode():I f:org.jetbrains.jewel.markdown.extensions.github.alerts.CautionAlertStyling$Companion +org.jetbrains.jewel.markdown.extensions.github.alerts.GitHubAlert +- org.jetbrains.jewel.markdown.MarkdownBlock$CustomBlock +- a:getContent():java.util.List +f:org.jetbrains.jewel.markdown.extensions.github.alerts.GitHubAlert$Caution +- org.jetbrains.jewel.markdown.extensions.github.alerts.GitHubAlert +- sf:$stable:I +- (java.util.List):V +- f:component1():java.util.List +- f:copy(java.util.List):org.jetbrains.jewel.markdown.extensions.github.alerts.GitHubAlert$Caution +- bs:copy$default(org.jetbrains.jewel.markdown.extensions.github.alerts.GitHubAlert$Caution,java.util.List,I,java.lang.Object):org.jetbrains.jewel.markdown.extensions.github.alerts.GitHubAlert$Caution +- equals(java.lang.Object):Z +- getContent():java.util.List +- hashCode():I +f:org.jetbrains.jewel.markdown.extensions.github.alerts.GitHubAlert$Important +- org.jetbrains.jewel.markdown.extensions.github.alerts.GitHubAlert +- sf:$stable:I +- (java.util.List):V +- f:component1():java.util.List +- f:copy(java.util.List):org.jetbrains.jewel.markdown.extensions.github.alerts.GitHubAlert$Important +- bs:copy$default(org.jetbrains.jewel.markdown.extensions.github.alerts.GitHubAlert$Important,java.util.List,I,java.lang.Object):org.jetbrains.jewel.markdown.extensions.github.alerts.GitHubAlert$Important +- equals(java.lang.Object):Z +- getContent():java.util.List +- hashCode():I +f:org.jetbrains.jewel.markdown.extensions.github.alerts.GitHubAlert$Note +- org.jetbrains.jewel.markdown.extensions.github.alerts.GitHubAlert +- sf:$stable:I +- (java.util.List):V +- f:component1():java.util.List +- f:copy(java.util.List):org.jetbrains.jewel.markdown.extensions.github.alerts.GitHubAlert$Note +- bs:copy$default(org.jetbrains.jewel.markdown.extensions.github.alerts.GitHubAlert$Note,java.util.List,I,java.lang.Object):org.jetbrains.jewel.markdown.extensions.github.alerts.GitHubAlert$Note +- equals(java.lang.Object):Z +- getContent():java.util.List +- hashCode():I +f:org.jetbrains.jewel.markdown.extensions.github.alerts.GitHubAlert$Tip +- org.jetbrains.jewel.markdown.extensions.github.alerts.GitHubAlert +- sf:$stable:I +- (java.util.List):V +- f:component1():java.util.List +- f:copy(java.util.List):org.jetbrains.jewel.markdown.extensions.github.alerts.GitHubAlert$Tip +- bs:copy$default(org.jetbrains.jewel.markdown.extensions.github.alerts.GitHubAlert$Tip,java.util.List,I,java.lang.Object):org.jetbrains.jewel.markdown.extensions.github.alerts.GitHubAlert$Tip +- equals(java.lang.Object):Z +- getContent():java.util.List +- hashCode():I +f:org.jetbrains.jewel.markdown.extensions.github.alerts.GitHubAlert$Warning +- org.jetbrains.jewel.markdown.extensions.github.alerts.GitHubAlert +- sf:$stable:I +- (java.util.List):V +- f:component1():java.util.List +- f:copy(java.util.List):org.jetbrains.jewel.markdown.extensions.github.alerts.GitHubAlert$Warning +- bs:copy$default(org.jetbrains.jewel.markdown.extensions.github.alerts.GitHubAlert$Warning,java.util.List,I,java.lang.Object):org.jetbrains.jewel.markdown.extensions.github.alerts.GitHubAlert$Warning +- equals(java.lang.Object):Z +- getContent():java.util.List +- hashCode():I f:org.jetbrains.jewel.markdown.extensions.github.alerts.GitHubAlertBlockRenderer - org.jetbrains.jewel.markdown.extensions.MarkdownBlockRendererExtension - sf:$stable:I - (org.jetbrains.jewel.markdown.extensions.github.alerts.AlertStyling,org.jetbrains.jewel.markdown.rendering.MarkdownStyling):V - canRender(org.jetbrains.jewel.markdown.MarkdownBlock$CustomBlock):Z -- render(org.jetbrains.jewel.markdown.MarkdownBlock$CustomBlock,org.jetbrains.jewel.markdown.rendering.MarkdownBlockRenderer,org.jetbrains.jewel.markdown.rendering.InlineMarkdownRenderer,Z,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function0,androidx.compose.runtime.Composer,I):V +- render(org.jetbrains.jewel.markdown.MarkdownBlock$CustomBlock,org.jetbrains.jewel.markdown.rendering.MarkdownBlockRenderer,org.jetbrains.jewel.markdown.rendering.InlineMarkdownRenderer,Z,androidx.compose.ui.Modifier,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function0,androidx.compose.runtime.Composer,I):V f:org.jetbrains.jewel.markdown.extensions.github.alerts.GitHubAlertIcons - sf:$stable:I - sf:INSTANCE:org.jetbrains.jewel.markdown.extensions.github.alerts.GitHubAlertIcons diff --git a/platform/jewel/markdown/extension/gfm-alerts/api/gfm-alerts.api b/platform/jewel/markdown/extensions/gfm-alerts/api/gfm-alerts.api similarity index 88% rename from platform/jewel/markdown/extension/gfm-alerts/api/gfm-alerts.api rename to platform/jewel/markdown/extensions/gfm-alerts/api/gfm-alerts.api index 2b1053d8e4ea..e62c0de0d6aa 100644 --- a/platform/jewel/markdown/extension/gfm-alerts/api/gfm-alerts.api +++ b/platform/jewel/markdown/extensions/gfm-alerts/api/gfm-alerts.api @@ -1,67 +1,3 @@ -public abstract interface class org/jetbrains/jewel/markdown/extensions/github/alerts/Alert : org/jetbrains/jewel/markdown/MarkdownBlock$CustomBlock { - public abstract fun getContent ()Ljava/util/List; -} - -public final class org/jetbrains/jewel/markdown/extensions/github/alerts/Alert$Caution : org/jetbrains/jewel/markdown/extensions/github/alerts/Alert { - public static final field $stable I - public fun (Ljava/util/List;)V - public final fun component1 ()Ljava/util/List; - public final fun copy (Ljava/util/List;)Lorg/jetbrains/jewel/markdown/extensions/github/alerts/Alert$Caution; - public static synthetic fun copy$default (Lorg/jetbrains/jewel/markdown/extensions/github/alerts/Alert$Caution;Ljava/util/List;ILjava/lang/Object;)Lorg/jetbrains/jewel/markdown/extensions/github/alerts/Alert$Caution; - public fun equals (Ljava/lang/Object;)Z - public fun getContent ()Ljava/util/List; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class org/jetbrains/jewel/markdown/extensions/github/alerts/Alert$Important : org/jetbrains/jewel/markdown/extensions/github/alerts/Alert { - public static final field $stable I - public fun (Ljava/util/List;)V - public final fun component1 ()Ljava/util/List; - public final fun copy (Ljava/util/List;)Lorg/jetbrains/jewel/markdown/extensions/github/alerts/Alert$Important; - public static synthetic fun copy$default (Lorg/jetbrains/jewel/markdown/extensions/github/alerts/Alert$Important;Ljava/util/List;ILjava/lang/Object;)Lorg/jetbrains/jewel/markdown/extensions/github/alerts/Alert$Important; - public fun equals (Ljava/lang/Object;)Z - public fun getContent ()Ljava/util/List; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class org/jetbrains/jewel/markdown/extensions/github/alerts/Alert$Note : org/jetbrains/jewel/markdown/extensions/github/alerts/Alert { - public static final field $stable I - public fun (Ljava/util/List;)V - public final fun component1 ()Ljava/util/List; - public final fun copy (Ljava/util/List;)Lorg/jetbrains/jewel/markdown/extensions/github/alerts/Alert$Note; - public static synthetic fun copy$default (Lorg/jetbrains/jewel/markdown/extensions/github/alerts/Alert$Note;Ljava/util/List;ILjava/lang/Object;)Lorg/jetbrains/jewel/markdown/extensions/github/alerts/Alert$Note; - public fun equals (Ljava/lang/Object;)Z - public fun getContent ()Ljava/util/List; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class org/jetbrains/jewel/markdown/extensions/github/alerts/Alert$Tip : org/jetbrains/jewel/markdown/extensions/github/alerts/Alert { - public static final field $stable I - public fun (Ljava/util/List;)V - public final fun component1 ()Ljava/util/List; - public final fun copy (Ljava/util/List;)Lorg/jetbrains/jewel/markdown/extensions/github/alerts/Alert$Tip; - public static synthetic fun copy$default (Lorg/jetbrains/jewel/markdown/extensions/github/alerts/Alert$Tip;Ljava/util/List;ILjava/lang/Object;)Lorg/jetbrains/jewel/markdown/extensions/github/alerts/Alert$Tip; - public fun equals (Ljava/lang/Object;)Z - public fun getContent ()Ljava/util/List; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class org/jetbrains/jewel/markdown/extensions/github/alerts/Alert$Warning : org/jetbrains/jewel/markdown/extensions/github/alerts/Alert { - public static final field $stable I - public fun (Ljava/util/List;)V - public final fun component1 ()Ljava/util/List; - public final fun copy (Ljava/util/List;)Lorg/jetbrains/jewel/markdown/extensions/github/alerts/Alert$Warning; - public static synthetic fun copy$default (Lorg/jetbrains/jewel/markdown/extensions/github/alerts/Alert$Warning;Ljava/util/List;ILjava/lang/Object;)Lorg/jetbrains/jewel/markdown/extensions/github/alerts/Alert$Warning; - public fun equals (Ljava/lang/Object;)Z - public fun getContent ()Ljava/util/List; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - public final class org/jetbrains/jewel/markdown/extensions/github/alerts/AlertStyling { public static final field $stable I public static final field Companion Lorg/jetbrains/jewel/markdown/extensions/github/alerts/AlertStyling$Companion; @@ -112,11 +48,75 @@ public final class org/jetbrains/jewel/markdown/extensions/github/alerts/Caution public final class org/jetbrains/jewel/markdown/extensions/github/alerts/CautionAlertStyling$Companion { } +public abstract interface class org/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlert : org/jetbrains/jewel/markdown/MarkdownBlock$CustomBlock { + public abstract fun getContent ()Ljava/util/List; +} + +public final class org/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlert$Caution : org/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlert { + public static final field $stable I + public fun (Ljava/util/List;)V + public final fun component1 ()Ljava/util/List; + public final fun copy (Ljava/util/List;)Lorg/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlert$Caution; + public static synthetic fun copy$default (Lorg/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlert$Caution;Ljava/util/List;ILjava/lang/Object;)Lorg/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlert$Caution; + public fun equals (Ljava/lang/Object;)Z + public fun getContent ()Ljava/util/List; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlert$Important : org/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlert { + public static final field $stable I + public fun (Ljava/util/List;)V + public final fun component1 ()Ljava/util/List; + public final fun copy (Ljava/util/List;)Lorg/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlert$Important; + public static synthetic fun copy$default (Lorg/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlert$Important;Ljava/util/List;ILjava/lang/Object;)Lorg/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlert$Important; + public fun equals (Ljava/lang/Object;)Z + public fun getContent ()Ljava/util/List; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlert$Note : org/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlert { + public static final field $stable I + public fun (Ljava/util/List;)V + public final fun component1 ()Ljava/util/List; + public final fun copy (Ljava/util/List;)Lorg/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlert$Note; + public static synthetic fun copy$default (Lorg/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlert$Note;Ljava/util/List;ILjava/lang/Object;)Lorg/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlert$Note; + public fun equals (Ljava/lang/Object;)Z + public fun getContent ()Ljava/util/List; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlert$Tip : org/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlert { + public static final field $stable I + public fun (Ljava/util/List;)V + public final fun component1 ()Ljava/util/List; + public final fun copy (Ljava/util/List;)Lorg/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlert$Tip; + public static synthetic fun copy$default (Lorg/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlert$Tip;Ljava/util/List;ILjava/lang/Object;)Lorg/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlert$Tip; + public fun equals (Ljava/lang/Object;)Z + public fun getContent ()Ljava/util/List; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlert$Warning : org/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlert { + public static final field $stable I + public fun (Ljava/util/List;)V + public final fun component1 ()Ljava/util/List; + public final fun copy (Ljava/util/List;)Lorg/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlert$Warning; + public static synthetic fun copy$default (Lorg/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlert$Warning;Ljava/util/List;ILjava/lang/Object;)Lorg/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlert$Warning; + public fun equals (Ljava/lang/Object;)Z + public fun getContent ()Ljava/util/List; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + public final class org/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlertBlockRenderer : org/jetbrains/jewel/markdown/extensions/MarkdownBlockRendererExtension { public static final field $stable I public fun (Lorg/jetbrains/jewel/markdown/extensions/github/alerts/AlertStyling;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling;)V public fun canRender (Lorg/jetbrains/jewel/markdown/MarkdownBlock$CustomBlock;)Z - public fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$CustomBlock;Lorg/jetbrains/jewel/markdown/rendering/MarkdownBlockRenderer;Lorg/jetbrains/jewel/markdown/rendering/InlineMarkdownRenderer;ZLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Landroidx/compose/runtime/Composer;I)V + public fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$CustomBlock;Lorg/jetbrains/jewel/markdown/rendering/MarkdownBlockRenderer;Lorg/jetbrains/jewel/markdown/rendering/InlineMarkdownRenderer;ZLandroidx/compose/ui/Modifier;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Landroidx/compose/runtime/Composer;I)V } public final class org/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlertIcons { diff --git a/platform/jewel/markdown/extension/gfm-alerts/build.gradle.kts b/platform/jewel/markdown/extensions/gfm-alerts/build.gradle.kts similarity index 79% rename from platform/jewel/markdown/extension/gfm-alerts/build.gradle.kts rename to platform/jewel/markdown/extensions/gfm-alerts/build.gradle.kts index 802a08600d14..74d27bf5c025 100644 --- a/platform/jewel/markdown/extension/gfm-alerts/build.gradle.kts +++ b/platform/jewel/markdown/extensions/gfm-alerts/build.gradle.kts @@ -12,9 +12,7 @@ dependencies { testImplementation(compose.desktop.uiTestJUnit4) } -publicApiValidation { - excludedClassRegexes = setOf("org.jetbrains.jewel.markdown.extensions.github.alerts.*") -} +publicApiValidation { excludedClassRegexes = setOf("org.jetbrains.jewel.markdown.extensions.github.alerts.*") } publishing.publications.named("main") { val ijpTarget = project.property("ijp.target") as String diff --git a/platform/jewel/markdown/extension/gfm-alerts/exposed-third-party-api.txt b/platform/jewel/markdown/extensions/gfm-alerts/exposed-third-party-api.txt similarity index 100% rename from platform/jewel/markdown/extension/gfm-alerts/exposed-third-party-api.txt rename to platform/jewel/markdown/extensions/gfm-alerts/exposed-third-party-api.txt diff --git a/platform/jewel/markdown/extensions/gfm-alerts/intellij.platform.jewel.markdown.extensions.gfmAlerts.iml b/platform/jewel/markdown/extensions/gfm-alerts/intellij.platform.jewel.markdown.extensions.gfmAlerts.iml new file mode 100644 index 000000000000..b53bb6efca25 --- /dev/null +++ b/platform/jewel/markdown/extensions/gfm-alerts/intellij.platform.jewel.markdown.extensions.gfmAlerts.iml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + $MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compose-compiler-plugin/2.0.21/kotlin-compose-compiler-plugin-2.0.21.jar + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/platform/jewel/markdown/extension/gfm-alerts/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/alerts/Alert.kt b/platform/jewel/markdown/extensions/gfm-alerts/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlert.kt similarity index 73% rename from platform/jewel/markdown/extension/gfm-alerts/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/alerts/Alert.kt rename to platform/jewel/markdown/extensions/gfm-alerts/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlert.kt index bf77b6d5ec70..4ee9d35eeff9 100644 --- a/platform/jewel/markdown/extension/gfm-alerts/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/alerts/Alert.kt +++ b/platform/jewel/markdown/extensions/gfm-alerts/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlert.kt @@ -2,16 +2,16 @@ package org.jetbrains.jewel.markdown.extensions.github.alerts import org.jetbrains.jewel.markdown.MarkdownBlock -public sealed interface Alert : MarkdownBlock.CustomBlock { +public sealed interface GitHubAlert : MarkdownBlock.CustomBlock { public val content: List - public data class Note(override val content: List) : Alert + public data class Note(override val content: List) : GitHubAlert - public data class Tip(override val content: List) : Alert + public data class Tip(override val content: List) : GitHubAlert - public data class Important(override val content: List) : Alert + public data class Important(override val content: List) : GitHubAlert - public data class Warning(override val content: List) : Alert + public data class Warning(override val content: List) : GitHubAlert - public data class Caution(override val content: List) : Alert + public data class Caution(override val content: List) : GitHubAlert } diff --git a/platform/jewel/markdown/extension/gfm-alerts/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlertBlockRenderer.kt b/platform/jewel/markdown/extensions/gfm-alerts/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlertBlockRenderer.kt similarity index 79% rename from platform/jewel/markdown/extension/gfm-alerts/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlertBlockRenderer.kt rename to platform/jewel/markdown/extensions/gfm-alerts/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlertBlockRenderer.kt index 51638ae6c8b6..94fd290dcd54 100644 --- a/platform/jewel/markdown/extension/gfm-alerts/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlertBlockRenderer.kt +++ b/platform/jewel/markdown/extensions/gfm-alerts/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlertBlockRenderer.kt @@ -18,11 +18,11 @@ import androidx.compose.ui.unit.dp import org.jetbrains.jewel.foundation.theme.LocalContentColor import org.jetbrains.jewel.markdown.MarkdownBlock.CustomBlock import org.jetbrains.jewel.markdown.extensions.MarkdownBlockRendererExtension -import org.jetbrains.jewel.markdown.extensions.github.alerts.Alert.Caution -import org.jetbrains.jewel.markdown.extensions.github.alerts.Alert.Important -import org.jetbrains.jewel.markdown.extensions.github.alerts.Alert.Note -import org.jetbrains.jewel.markdown.extensions.github.alerts.Alert.Tip -import org.jetbrains.jewel.markdown.extensions.github.alerts.Alert.Warning +import org.jetbrains.jewel.markdown.extensions.github.alerts.GitHubAlert.Caution +import org.jetbrains.jewel.markdown.extensions.github.alerts.GitHubAlert.Important +import org.jetbrains.jewel.markdown.extensions.github.alerts.GitHubAlert.Note +import org.jetbrains.jewel.markdown.extensions.github.alerts.GitHubAlert.Tip +import org.jetbrains.jewel.markdown.extensions.github.alerts.GitHubAlert.Warning import org.jetbrains.jewel.markdown.rendering.InlineMarkdownRenderer import org.jetbrains.jewel.markdown.rendering.MarkdownBlockRenderer import org.jetbrains.jewel.markdown.rendering.MarkdownStyling @@ -31,7 +31,7 @@ import org.jetbrains.jewel.ui.component.Text public class GitHubAlertBlockRenderer(private val styling: AlertStyling, private val rootStyling: MarkdownStyling) : MarkdownBlockRendererExtension { - override fun canRender(block: CustomBlock): Boolean = block is Alert + override fun canRender(block: CustomBlock): Boolean = block is GitHubAlert @Composable override fun render( @@ -39,27 +39,29 @@ public class GitHubAlertBlockRenderer(private val styling: AlertStyling, private blockRenderer: MarkdownBlockRenderer, inlineRenderer: InlineMarkdownRenderer, enabled: Boolean, + modifier: Modifier, onUrlClick: (String) -> Unit, onTextClick: () -> Unit, ) { // Smart cast doesn't work in this case, and then the detection for redundant suppression is // also borked @Suppress("MoveVariableDeclarationIntoWhen", "RedundantSuppression") // ktfmt: break line - val alert = block as? Alert + val alert = block as? GitHubAlert when (alert) { - is Caution -> Alert(alert, styling.caution, enabled, blockRenderer, onUrlClick, onTextClick) - is Important -> Alert(alert, styling.important, enabled, blockRenderer, onUrlClick, onTextClick) - is Note -> Alert(alert, styling.note, enabled, blockRenderer, onUrlClick, onTextClick) - is Tip -> Alert(alert, styling.tip, enabled, blockRenderer, onUrlClick, onTextClick) - is Warning -> Alert(alert, styling.warning, enabled, blockRenderer, onUrlClick, onTextClick) + is Caution -> Alert(alert, modifier, styling.caution, enabled, blockRenderer, onUrlClick, onTextClick) + is Important -> Alert(alert, modifier, styling.important, enabled, blockRenderer, onUrlClick, onTextClick) + is Note -> Alert(alert, modifier, styling.note, enabled, blockRenderer, onUrlClick, onTextClick) + is Tip -> Alert(alert, modifier, styling.tip, enabled, blockRenderer, onUrlClick, onTextClick) + is Warning -> Alert(alert, modifier, styling.warning, enabled, blockRenderer, onUrlClick, onTextClick) else -> error("Unsupported block of type ${block.javaClass.name} cannot be rendered") } } @Composable private fun Alert( - block: Alert, + block: GitHubAlert, + modifier: Modifier, styling: BaseAlertStyling, enabled: Boolean, blockRenderer: MarkdownBlockRenderer, @@ -67,7 +69,8 @@ public class GitHubAlertBlockRenderer(private val styling: AlertStyling, private onTextClick: () -> Unit, ) { Column( - Modifier.drawBehind { + modifier + .drawBehind { val isLtr = layoutDirection == Ltr val lineWidthPx = styling.lineWidth.toPx() val x = if (isLtr) lineWidthPx / 2 else size.width - lineWidthPx / 2 @@ -108,7 +111,7 @@ public class GitHubAlertBlockRenderer(private val styling: AlertStyling, private CompositionLocalProvider( LocalContentColor provides styling.textColor.takeOrElse { LocalContentColor.current } ) { - blockRenderer.render(block.content, enabled, onUrlClick, onTextClick) + blockRenderer.render(block.content, enabled, onUrlClick, onTextClick, Modifier) } } } diff --git a/platform/jewel/markdown/extension/gfm-alerts/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlertIcons.kt b/platform/jewel/markdown/extensions/gfm-alerts/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlertIcons.kt similarity index 100% rename from platform/jewel/markdown/extension/gfm-alerts/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlertIcons.kt rename to platform/jewel/markdown/extensions/gfm-alerts/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlertIcons.kt diff --git a/platform/jewel/markdown/extension/gfm-alerts/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlertProcessorExtension.kt b/platform/jewel/markdown/extensions/gfm-alerts/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlertProcessorExtension.kt similarity index 95% rename from platform/jewel/markdown/extension/gfm-alerts/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlertProcessorExtension.kt rename to platform/jewel/markdown/extensions/gfm-alerts/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlertProcessorExtension.kt index 225c9ebf6d1b..682beef92538 100644 --- a/platform/jewel/markdown/extension/gfm-alerts/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlertProcessorExtension.kt +++ b/platform/jewel/markdown/extensions/gfm-alerts/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlertProcessorExtension.kt @@ -46,11 +46,11 @@ public object GitHubAlertProcessorExtension : MarkdownProcessorExtension { if (children.isEmpty()) return null return when (block) { - is Caution -> Alert.Caution(children) - is Important -> Alert.Important(children) - is Note -> Alert.Note(children) - is Tip -> Alert.Tip(children) - is Warning -> Alert.Warning(children) + is Caution -> GitHubAlert.Caution(children) + is Important -> GitHubAlert.Important(children) + is Note -> GitHubAlert.Note(children) + is Tip -> GitHubAlert.Tip(children) + is Warning -> GitHubAlert.Warning(children) else -> error("Unsupported custom block of type ${block.javaClass.name}") } } diff --git a/platform/jewel/markdown/extension/gfm-alerts/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlertStyling.kt b/platform/jewel/markdown/extensions/gfm-alerts/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlertStyling.kt similarity index 100% rename from platform/jewel/markdown/extension/gfm-alerts/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlertStyling.kt rename to platform/jewel/markdown/extensions/gfm-alerts/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlertStyling.kt diff --git a/platform/jewel/markdown/extension/gfm-alerts/src/main/resources/icon-robots.txt b/platform/jewel/markdown/extensions/gfm-alerts/src/main/resources/icon-robots.txt similarity index 100% rename from platform/jewel/markdown/extension/gfm-alerts/src/main/resources/icon-robots.txt rename to platform/jewel/markdown/extensions/gfm-alerts/src/main/resources/icon-robots.txt diff --git a/platform/jewel/markdown/extension/gfm-alerts/src/main/resources/icons/markdown/extensions/github/alerts/alert-caution.svg b/platform/jewel/markdown/extensions/gfm-alerts/src/main/resources/icons/markdown/extensions/github/alerts/alert-caution.svg similarity index 100% rename from platform/jewel/markdown/extension/gfm-alerts/src/main/resources/icons/markdown/extensions/github/alerts/alert-caution.svg rename to platform/jewel/markdown/extensions/gfm-alerts/src/main/resources/icons/markdown/extensions/github/alerts/alert-caution.svg diff --git a/platform/jewel/markdown/extension/gfm-alerts/src/main/resources/icons/markdown/extensions/github/alerts/alert-important.svg b/platform/jewel/markdown/extensions/gfm-alerts/src/main/resources/icons/markdown/extensions/github/alerts/alert-important.svg similarity index 100% rename from platform/jewel/markdown/extension/gfm-alerts/src/main/resources/icons/markdown/extensions/github/alerts/alert-important.svg rename to platform/jewel/markdown/extensions/gfm-alerts/src/main/resources/icons/markdown/extensions/github/alerts/alert-important.svg diff --git a/platform/jewel/markdown/extension/gfm-alerts/src/main/resources/icons/markdown/extensions/github/alerts/alert-note.svg b/platform/jewel/markdown/extensions/gfm-alerts/src/main/resources/icons/markdown/extensions/github/alerts/alert-note.svg similarity index 100% rename from platform/jewel/markdown/extension/gfm-alerts/src/main/resources/icons/markdown/extensions/github/alerts/alert-note.svg rename to platform/jewel/markdown/extensions/gfm-alerts/src/main/resources/icons/markdown/extensions/github/alerts/alert-note.svg diff --git a/platform/jewel/markdown/extension/gfm-alerts/src/main/resources/icons/markdown/extensions/github/alerts/alert-tip.svg b/platform/jewel/markdown/extensions/gfm-alerts/src/main/resources/icons/markdown/extensions/github/alerts/alert-tip.svg similarity index 100% rename from platform/jewel/markdown/extension/gfm-alerts/src/main/resources/icons/markdown/extensions/github/alerts/alert-tip.svg rename to platform/jewel/markdown/extensions/gfm-alerts/src/main/resources/icons/markdown/extensions/github/alerts/alert-tip.svg diff --git a/platform/jewel/markdown/extension/gfm-alerts/src/main/resources/icons/markdown/extensions/github/alerts/alert-warning.svg b/platform/jewel/markdown/extensions/gfm-alerts/src/main/resources/icons/markdown/extensions/github/alerts/alert-warning.svg similarity index 100% rename from platform/jewel/markdown/extension/gfm-alerts/src/main/resources/icons/markdown/extensions/github/alerts/alert-warning.svg rename to platform/jewel/markdown/extensions/gfm-alerts/src/main/resources/icons/markdown/extensions/github/alerts/alert-warning.svg diff --git a/platform/jewel/markdown/extension/gfm-alerts/src/main/resources/intellij.platform.jewel.markdown.extension.gfmAlerts.xml b/platform/jewel/markdown/extensions/gfm-alerts/src/main/resources/intellij.platform.jewel.markdown.extensions.gfmAlerts.xml similarity index 100% rename from platform/jewel/markdown/extension/gfm-alerts/src/main/resources/intellij.platform.jewel.markdown.extension.gfmAlerts.xml rename to platform/jewel/markdown/extensions/gfm-alerts/src/main/resources/intellij.platform.jewel.markdown.extensions.gfmAlerts.xml diff --git a/platform/jewel/markdown/extension/gfm-alerts/src/test/kotlin/org/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlertBlockExtensionTest.kt b/platform/jewel/markdown/extensions/gfm-alerts/src/test/kotlin/org/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlertBlockExtensionTest.kt similarity index 100% rename from platform/jewel/markdown/extension/gfm-alerts/src/test/kotlin/org/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlertBlockExtensionTest.kt rename to platform/jewel/markdown/extensions/gfm-alerts/src/test/kotlin/org/jetbrains/jewel/markdown/extensions/github/alerts/GitHubAlertBlockExtensionTest.kt diff --git a/platform/jewel/markdown/extension/gfm-strikethrough/README.md b/platform/jewel/markdown/extensions/gfm-strikethrough/README.md similarity index 100% rename from platform/jewel/markdown/extension/gfm-strikethrough/README.md rename to platform/jewel/markdown/extensions/gfm-strikethrough/README.md diff --git a/platform/jewel/markdown/extension/gfm-strikethrough/api-dump-unreviewed.txt b/platform/jewel/markdown/extensions/gfm-strikethrough/api-dump-unreviewed.txt similarity index 100% rename from platform/jewel/markdown/extension/gfm-strikethrough/api-dump-unreviewed.txt rename to platform/jewel/markdown/extensions/gfm-strikethrough/api-dump-unreviewed.txt diff --git a/platform/jewel/markdown/extension/gfm-strikethrough/api/gfm-strikethrough.api b/platform/jewel/markdown/extensions/gfm-strikethrough/api/gfm-strikethrough.api similarity index 100% rename from platform/jewel/markdown/extension/gfm-strikethrough/api/gfm-strikethrough.api rename to platform/jewel/markdown/extensions/gfm-strikethrough/api/gfm-strikethrough.api diff --git a/platform/jewel/markdown/extension/gfm-strikethrough/build.gradle.kts b/platform/jewel/markdown/extensions/gfm-strikethrough/build.gradle.kts similarity index 80% rename from platform/jewel/markdown/extension/gfm-strikethrough/build.gradle.kts rename to platform/jewel/markdown/extensions/gfm-strikethrough/build.gradle.kts index a35e022e7311..6581f4c2ebf7 100644 --- a/platform/jewel/markdown/extension/gfm-strikethrough/build.gradle.kts +++ b/platform/jewel/markdown/extensions/gfm-strikethrough/build.gradle.kts @@ -17,6 +17,4 @@ publishing.publications.named("main") { artifactId = "jewel-markdown-extension-${project.name}-$ijpTarget" } -publicApiValidation { - excludedClassRegexes = setOf("org.jetbrains.jewel.markdown.extensions.github.strikethrough.*") -} +publicApiValidation { excludedClassRegexes = setOf("org.jetbrains.jewel.markdown.extensions.github.strikethrough.*") } diff --git a/platform/jewel/markdown/extension/gfm-strikethrough/exposed-third-party-api.txt b/platform/jewel/markdown/extensions/gfm-strikethrough/exposed-third-party-api.txt similarity index 100% rename from platform/jewel/markdown/extension/gfm-strikethrough/exposed-third-party-api.txt rename to platform/jewel/markdown/extensions/gfm-strikethrough/exposed-third-party-api.txt diff --git a/platform/jewel/markdown/extensions/gfm-strikethrough/intellij.platform.jewel.markdown.extensions.gfmStrikethrough.iml b/platform/jewel/markdown/extensions/gfm-strikethrough/intellij.platform.jewel.markdown.extensions.gfmStrikethrough.iml new file mode 100644 index 000000000000..00b1d226ca73 --- /dev/null +++ b/platform/jewel/markdown/extensions/gfm-strikethrough/intellij.platform.jewel.markdown.extensions.gfmStrikethrough.iml @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + $MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compose-compiler-plugin/2.0.21/kotlin-compose-compiler-plugin-2.0.21.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + 7385cb637f04dc4cbda4ddca9c2fcd2af7ac536a50e4c8d2c77f4748bb14bf41 + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/platform/jewel/markdown/extension/gfm-strikethrough/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/strikethrough/GitHubStrikethroughInlineProcessorExtension.kt b/platform/jewel/markdown/extensions/gfm-strikethrough/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/strikethrough/GitHubStrikethroughInlineProcessorExtension.kt similarity index 100% rename from platform/jewel/markdown/extension/gfm-strikethrough/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/strikethrough/GitHubStrikethroughInlineProcessorExtension.kt rename to platform/jewel/markdown/extensions/gfm-strikethrough/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/strikethrough/GitHubStrikethroughInlineProcessorExtension.kt diff --git a/platform/jewel/markdown/extension/gfm-strikethrough/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/strikethrough/GitHubStrikethroughInlineRendererExtension.kt b/platform/jewel/markdown/extensions/gfm-strikethrough/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/strikethrough/GitHubStrikethroughInlineRendererExtension.kt similarity index 100% rename from platform/jewel/markdown/extension/gfm-strikethrough/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/strikethrough/GitHubStrikethroughInlineRendererExtension.kt rename to platform/jewel/markdown/extensions/gfm-strikethrough/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/strikethrough/GitHubStrikethroughInlineRendererExtension.kt diff --git a/platform/jewel/markdown/extension/gfm-strikethrough/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/strikethrough/GitHubStrikethroughNode.kt b/platform/jewel/markdown/extensions/gfm-strikethrough/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/strikethrough/GitHubStrikethroughNode.kt similarity index 100% rename from platform/jewel/markdown/extension/gfm-strikethrough/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/strikethrough/GitHubStrikethroughNode.kt rename to platform/jewel/markdown/extensions/gfm-strikethrough/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/strikethrough/GitHubStrikethroughNode.kt diff --git a/platform/jewel/markdown/extension/gfm-strikethrough/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/strikethrough/GitHubStrikethroughProcessorExtension.kt b/platform/jewel/markdown/extensions/gfm-strikethrough/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/strikethrough/GitHubStrikethroughProcessorExtension.kt similarity index 100% rename from platform/jewel/markdown/extension/gfm-strikethrough/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/strikethrough/GitHubStrikethroughProcessorExtension.kt rename to platform/jewel/markdown/extensions/gfm-strikethrough/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/strikethrough/GitHubStrikethroughProcessorExtension.kt diff --git a/platform/jewel/markdown/extension/gfm-strikethrough/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/strikethrough/GitHubStrikethroughRendererExtension.kt b/platform/jewel/markdown/extensions/gfm-strikethrough/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/strikethrough/GitHubStrikethroughRendererExtension.kt similarity index 100% rename from platform/jewel/markdown/extension/gfm-strikethrough/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/strikethrough/GitHubStrikethroughRendererExtension.kt rename to platform/jewel/markdown/extensions/gfm-strikethrough/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/strikethrough/GitHubStrikethroughRendererExtension.kt diff --git a/platform/jewel/markdown/extension/gfm-strikethrough/src/main/resources/intellij.platform.jewel.markdown.extension.gfmStrikethrough.xml b/platform/jewel/markdown/extensions/gfm-strikethrough/src/main/resources/intellij.platform.jewel.markdown.extensions.gfmStrikethrough.xml similarity index 100% rename from platform/jewel/markdown/extension/gfm-strikethrough/src/main/resources/intellij.platform.jewel.markdown.extension.gfmStrikethrough.xml rename to platform/jewel/markdown/extensions/gfm-strikethrough/src/main/resources/intellij.platform.jewel.markdown.extensions.gfmStrikethrough.xml diff --git a/platform/jewel/markdown/extension/gfm-tables/README.md b/platform/jewel/markdown/extensions/gfm-tables/README.md similarity index 100% rename from platform/jewel/markdown/extension/gfm-tables/README.md rename to platform/jewel/markdown/extensions/gfm-tables/README.md diff --git a/platform/jewel/markdown/extension/gfm-tables/api-dump-unreviewed.txt b/platform/jewel/markdown/extensions/gfm-tables/api-dump-unreviewed.txt similarity index 95% rename from platform/jewel/markdown/extension/gfm-tables/api-dump-unreviewed.txt rename to platform/jewel/markdown/extensions/gfm-tables/api-dump-unreviewed.txt index d6d320385385..18d4ae9df4af 100644 --- a/platform/jewel/markdown/extension/gfm-tables/api-dump-unreviewed.txt +++ b/platform/jewel/markdown/extensions/gfm-tables/api-dump-unreviewed.txt @@ -33,7 +33,7 @@ f:org.jetbrains.jewel.markdown.extensions.github.tables.GitHubTableBlockRenderer - sf:$stable:I - (org.jetbrains.jewel.markdown.rendering.MarkdownStyling,org.jetbrains.jewel.markdown.extensions.github.tables.GfmTableStyling):V - canRender(org.jetbrains.jewel.markdown.MarkdownBlock$CustomBlock):Z -- render(org.jetbrains.jewel.markdown.MarkdownBlock$CustomBlock,org.jetbrains.jewel.markdown.rendering.MarkdownBlockRenderer,org.jetbrains.jewel.markdown.rendering.InlineMarkdownRenderer,Z,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function0,androidx.compose.runtime.Composer,I):V +- render(org.jetbrains.jewel.markdown.MarkdownBlock$CustomBlock,org.jetbrains.jewel.markdown.rendering.MarkdownBlockRenderer,org.jetbrains.jewel.markdown.rendering.InlineMarkdownRenderer,Z,androidx.compose.ui.Modifier,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function0,androidx.compose.runtime.Composer,I):V f:org.jetbrains.jewel.markdown.extensions.github.tables.GitHubTableProcessorExtension - org.jetbrains.jewel.markdown.extensions.MarkdownProcessorExtension - sf:$stable:I diff --git a/platform/jewel/markdown/extension/gfm-tables/api/gfm-tables.api b/platform/jewel/markdown/extensions/gfm-tables/api/gfm-tables.api similarity index 97% rename from platform/jewel/markdown/extension/gfm-tables/api/gfm-tables.api rename to platform/jewel/markdown/extensions/gfm-tables/api/gfm-tables.api index 4d52b611cfeb..ee9cc1c50755 100644 --- a/platform/jewel/markdown/extension/gfm-tables/api/gfm-tables.api +++ b/platform/jewel/markdown/extensions/gfm-tables/api/gfm-tables.api @@ -50,7 +50,7 @@ public final class org/jetbrains/jewel/markdown/extensions/github/tables/GitHubT public static final field $stable I public fun (Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling;Lorg/jetbrains/jewel/markdown/extensions/github/tables/GfmTableStyling;)V public fun canRender (Lorg/jetbrains/jewel/markdown/MarkdownBlock$CustomBlock;)Z - public fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$CustomBlock;Lorg/jetbrains/jewel/markdown/rendering/MarkdownBlockRenderer;Lorg/jetbrains/jewel/markdown/rendering/InlineMarkdownRenderer;ZLkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Landroidx/compose/runtime/Composer;I)V + public fun render (Lorg/jetbrains/jewel/markdown/MarkdownBlock$CustomBlock;Lorg/jetbrains/jewel/markdown/rendering/MarkdownBlockRenderer;Lorg/jetbrains/jewel/markdown/rendering/InlineMarkdownRenderer;ZLandroidx/compose/ui/Modifier;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Landroidx/compose/runtime/Composer;I)V } public final class org/jetbrains/jewel/markdown/extensions/github/tables/GitHubTableProcessorExtension : org/jetbrains/jewel/markdown/extensions/MarkdownProcessorExtension { diff --git a/platform/jewel/markdown/extension/gfm-tables/build.gradle.kts b/platform/jewel/markdown/extensions/gfm-tables/build.gradle.kts similarity index 85% rename from platform/jewel/markdown/extension/gfm-tables/build.gradle.kts rename to platform/jewel/markdown/extensions/gfm-tables/build.gradle.kts index b73c9d355ad4..ac23a1f674b6 100644 --- a/platform/jewel/markdown/extension/gfm-tables/build.gradle.kts +++ b/platform/jewel/markdown/extensions/gfm-tables/build.gradle.kts @@ -15,9 +15,7 @@ dependencies { testImplementation(compose.desktop.uiTestJUnit4) } -publicApiValidation { - excludedClassRegexes = setOf("org.jetbrains.jewel.markdown.extensions.github.tables.*") -} +publicApiValidation { excludedClassRegexes = setOf("org.jetbrains.jewel.markdown.extensions.github.tables.*") } publishing.publications.named("main") { val ijpTarget = project.property("ijp.target") as String diff --git a/platform/jewel/markdown/extension/gfm-tables/exposed-third-party-api.txt b/platform/jewel/markdown/extensions/gfm-tables/exposed-third-party-api.txt similarity index 100% rename from platform/jewel/markdown/extension/gfm-tables/exposed-third-party-api.txt rename to platform/jewel/markdown/extensions/gfm-tables/exposed-third-party-api.txt diff --git a/platform/jewel/markdown/extensions/gfm-tables/intellij.platform.jewel.markdown.extensions.gfmTables.iml b/platform/jewel/markdown/extensions/gfm-tables/intellij.platform.jewel.markdown.extensions.gfmTables.iml new file mode 100644 index 000000000000..7a43ae6b9f2f --- /dev/null +++ b/platform/jewel/markdown/extensions/gfm-tables/intellij.platform.jewel.markdown.extensions.gfmTables.iml @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + $MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compose-compiler-plugin/2.0.21/kotlin-compose-compiler-plugin-2.0.21.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + b54dc332f931e6d07c2766144c087b08f3693677e368151a67020b4e95bb4b99 + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/platform/jewel/markdown/extension/gfm-tables/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/tables/GitHubTableBlockRenderer.kt b/platform/jewel/markdown/extensions/gfm-tables/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/tables/GitHubTableBlockRenderer.kt similarity index 98% rename from platform/jewel/markdown/extension/gfm-tables/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/tables/GitHubTableBlockRenderer.kt rename to platform/jewel/markdown/extensions/gfm-tables/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/tables/GitHubTableBlockRenderer.kt index a5ee4d1a204b..8de50defd4d4 100644 --- a/platform/jewel/markdown/extension/gfm-tables/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/tables/GitHubTableBlockRenderer.kt +++ b/platform/jewel/markdown/extensions/gfm-tables/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/tables/GitHubTableBlockRenderer.kt @@ -34,6 +34,7 @@ public class GitHubTableBlockRenderer( blockRenderer: MarkdownBlockRenderer, inlineRenderer: InlineMarkdownRenderer, enabled: Boolean, + modifier: Modifier, onUrlClick: (String) -> Unit, onTextClick: () -> Unit, ) { @@ -121,6 +122,7 @@ public class GitHubTableBlockRenderer( cellBorderColor = tableStyling.colors.borderColor, cellBorderWidth = tableStyling.metrics.borderWidth, rows = rows, + modifier = modifier, ) } @@ -137,7 +139,6 @@ public class GitHubTableBlockRenderer( emphasis = emphasis.copy(fontWeight = newFontWeight), strongEmphasis = strongEmphasis.copy(fontWeight = newFontWeight), inlineHtml = inlineHtml.copy(fontWeight = newFontWeight), - renderInlineHtml = renderInlineHtml, ) @Composable @@ -162,6 +163,7 @@ public class GitHubTableBlockRenderer( enabled = enabled, onUrlClick = onUrlClick, onTextClick = onTextClick, + modifier = Modifier, ) } } diff --git a/platform/jewel/markdown/extension/gfm-tables/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/tables/GitHubTableProcessorExtension.kt b/platform/jewel/markdown/extensions/gfm-tables/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/tables/GitHubTableProcessorExtension.kt similarity index 100% rename from platform/jewel/markdown/extension/gfm-tables/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/tables/GitHubTableProcessorExtension.kt rename to platform/jewel/markdown/extensions/gfm-tables/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/tables/GitHubTableProcessorExtension.kt diff --git a/platform/jewel/markdown/extension/gfm-tables/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/tables/GitHubTableStyling.kt b/platform/jewel/markdown/extensions/gfm-tables/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/tables/GitHubTableStyling.kt similarity index 100% rename from platform/jewel/markdown/extension/gfm-tables/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/tables/GitHubTableStyling.kt rename to platform/jewel/markdown/extensions/gfm-tables/src/main/kotlin/org/jetbrains/jewel/markdown/extensions/github/tables/GitHubTableStyling.kt diff --git a/platform/jewel/markdown/extension/gfm-tables/src/main/resources/intellij.platform.jewel.markdown.extension.gfmTables.xml b/platform/jewel/markdown/extensions/gfm-tables/src/main/resources/intellij.platform.jewel.markdown.extensions.gfmTables.xml similarity index 100% rename from platform/jewel/markdown/extension/gfm-tables/src/main/resources/intellij.platform.jewel.markdown.extension.gfmTables.xml rename to platform/jewel/markdown/extensions/gfm-tables/src/main/resources/intellij.platform.jewel.markdown.extensions.gfmTables.xml diff --git a/platform/jewel/markdown/ide-laf-bridge-styling/api-dump-unreviewed.txt b/platform/jewel/markdown/ide-laf-bridge-styling/api-dump-unreviewed.txt index a29d1247d2ad..3176a95c9530 100644 --- a/platform/jewel/markdown/ide-laf-bridge-styling/api-dump-unreviewed.txt +++ b/platform/jewel/markdown/ide-laf-bridge-styling/api-dump-unreviewed.txt @@ -5,12 +5,14 @@ f:org.jetbrains.jewel.intui.markdown.bridge.BridgeProvideMarkdownStylingKt - sf:ProvideMarkdownStyling(com.intellij.openapi.project.Project,java.lang.String,org.jetbrains.jewel.markdown.rendering.MarkdownStyling,org.jetbrains.jewel.markdown.MarkdownMode,org.jetbrains.jewel.markdown.processing.MarkdownProcessor,org.jetbrains.jewel.markdown.rendering.MarkdownBlockRenderer,kotlin.jvm.functions.Function2,androidx.compose.runtime.Composer,I,I):V - sf:ProvideMarkdownStyling(java.lang.String,org.jetbrains.jewel.markdown.rendering.MarkdownStyling,org.jetbrains.jewel.markdown.MarkdownMode,org.jetbrains.jewel.markdown.processing.MarkdownProcessor,org.jetbrains.jewel.markdown.rendering.MarkdownBlockRenderer,org.jetbrains.jewel.foundation.code.highlighting.CodeHighlighter,kotlin.jvm.functions.Function2,androidx.compose.runtime.Composer,I,I):V f:org.jetbrains.jewel.intui.markdown.bridge.styling.BridgeMarkdownStylingKt -- sf:create(org.jetbrains.jewel.markdown.rendering.InlinesStyling$Companion,androidx.compose.ui.text.TextStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,Z):org.jetbrains.jewel.markdown.rendering.InlinesStyling +- bsf:create(org.jetbrains.jewel.markdown.rendering.InlinesStyling$Companion,androidx.compose.ui.text.TextStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,Z):org.jetbrains.jewel.markdown.rendering.InlinesStyling +- sf:create(org.jetbrains.jewel.markdown.rendering.InlinesStyling$Companion,androidx.compose.ui.text.TextStyle,androidx.compose.ui.text.TextStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle):org.jetbrains.jewel.markdown.rendering.InlinesStyling - sf:create(org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Code$Companion,androidx.compose.ui.text.TextStyle,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Code$Indented,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Code$Fenced):org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Code - sf:create(org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading$Companion,androidx.compose.ui.text.TextStyle,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading$H1,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading$H2,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading$H3,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading$H4,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading$H5,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading$H6):org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading - sf:create(org.jetbrains.jewel.markdown.rendering.MarkdownStyling$List$Companion,androidx.compose.ui.text.TextStyle,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$List$Ordered,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$List$Unordered):org.jetbrains.jewel.markdown.rendering.MarkdownStyling$List - sf:create(org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Paragraph$Companion,org.jetbrains.jewel.markdown.rendering.InlinesStyling):org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Paragraph - bs:create$default(org.jetbrains.jewel.markdown.rendering.InlinesStyling$Companion,androidx.compose.ui.text.TextStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,Z,I,java.lang.Object):org.jetbrains.jewel.markdown.rendering.InlinesStyling +- bs:create$default(org.jetbrains.jewel.markdown.rendering.InlinesStyling$Companion,androidx.compose.ui.text.TextStyle,androidx.compose.ui.text.TextStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,I,java.lang.Object):org.jetbrains.jewel.markdown.rendering.InlinesStyling - bs:create$default(org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Code$Companion,androidx.compose.ui.text.TextStyle,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Code$Indented,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Code$Fenced,I,java.lang.Object):org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Code - bs:create$default(org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading$Companion,androidx.compose.ui.text.TextStyle,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading$H1,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading$H2,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading$H3,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading$H4,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading$H5,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading$H6,I,java.lang.Object):org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading - bs:create$default(org.jetbrains.jewel.markdown.rendering.MarkdownStyling$List$Companion,androidx.compose.ui.text.TextStyle,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$List$Ordered,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$List$Unordered,I,java.lang.Object):org.jetbrains.jewel.markdown.rendering.MarkdownStyling$List diff --git a/platform/jewel/markdown/ide-laf-bridge-styling/api/ide-laf-bridge-styling.api b/platform/jewel/markdown/ide-laf-bridge-styling/api/ide-laf-bridge-styling.api index c8fd643b876d..d618f31014d5 100644 --- a/platform/jewel/markdown/ide-laf-bridge-styling/api/ide-laf-bridge-styling.api +++ b/platform/jewel/markdown/ide-laf-bridge-styling/api/ide-laf-bridge-styling.api @@ -9,12 +9,14 @@ public final class org/jetbrains/jewel/intui/markdown/bridge/BridgeProvideMarkdo } public final class org/jetbrains/jewel/intui/markdown/bridge/styling/BridgeMarkdownStylingKt { - public static final fun create (Lorg/jetbrains/jewel/markdown/rendering/InlinesStyling$Companion;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Z)Lorg/jetbrains/jewel/markdown/rendering/InlinesStyling; + public static final synthetic fun create (Lorg/jetbrains/jewel/markdown/rendering/InlinesStyling$Companion;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Z)Lorg/jetbrains/jewel/markdown/rendering/InlinesStyling; + public static final fun create (Lorg/jetbrains/jewel/markdown/rendering/InlinesStyling$Companion;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;)Lorg/jetbrains/jewel/markdown/rendering/InlinesStyling; public static final fun create (Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Code$Companion;Landroidx/compose/ui/text/TextStyle;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Code$Indented;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Code$Fenced;)Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Code; public static final fun create (Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading$Companion;Landroidx/compose/ui/text/TextStyle;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading$H1;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading$H2;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading$H3;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading$H4;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading$H5;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading$H6;)Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading; public static final fun create (Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$List$Companion;Landroidx/compose/ui/text/TextStyle;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$List$Ordered;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$List$Unordered;)Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$List; public static final fun create (Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Paragraph$Companion;Lorg/jetbrains/jewel/markdown/rendering/InlinesStyling;)Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Paragraph; public static synthetic fun create$default (Lorg/jetbrains/jewel/markdown/rendering/InlinesStyling$Companion;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;ZILjava/lang/Object;)Lorg/jetbrains/jewel/markdown/rendering/InlinesStyling; + public static synthetic fun create$default (Lorg/jetbrains/jewel/markdown/rendering/InlinesStyling$Companion;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;ILjava/lang/Object;)Lorg/jetbrains/jewel/markdown/rendering/InlinesStyling; public static synthetic fun create$default (Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Code$Companion;Landroidx/compose/ui/text/TextStyle;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Code$Indented;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Code$Fenced;ILjava/lang/Object;)Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Code; public static synthetic fun create$default (Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading$Companion;Landroidx/compose/ui/text/TextStyle;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading$H1;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading$H2;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading$H3;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading$H4;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading$H5;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading$H6;ILjava/lang/Object;)Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading; public static synthetic fun create$default (Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$List$Companion;Landroidx/compose/ui/text/TextStyle;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$List$Ordered;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$List$Unordered;ILjava/lang/Object;)Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$List; diff --git a/platform/jewel/markdown/ide-laf-bridge-styling/build.gradle.kts b/platform/jewel/markdown/ide-laf-bridge-styling/build.gradle.kts index 0763451712b5..e382d934b02b 100644 --- a/platform/jewel/markdown/ide-laf-bridge-styling/build.gradle.kts +++ b/platform/jewel/markdown/ide-laf-bridge-styling/build.gradle.kts @@ -34,12 +34,10 @@ repositories { dependencies { api(projects.markdown.core) api(projects.ideLafBridge) - compileOnly(projects.markdown.extension.gfmAlerts) - compileOnly(projects.markdown.extension.gfmTables) + compileOnly(projects.markdown.extensions.gfmAlerts) + compileOnly(projects.markdown.extensions.gfmTables) - intellijPlatform { - intellijIdeaCommunity(libs.versions.idea) - } + intellijPlatform { intellijIdeaCommunity(libs.versions.idea) } testImplementation(compose.desktop.uiTestJUnit4) } diff --git a/platform/jewel/markdown/ide-laf-bridge-styling/intellij.platform.jewel.markdown.ideLafBridgeStyling.iml b/platform/jewel/markdown/ide-laf-bridge-styling/intellij.platform.jewel.markdown.ideLafBridgeStyling.iml index 496832bb1fe4..48777b2b0248 100644 --- a/platform/jewel/markdown/ide-laf-bridge-styling/intellij.platform.jewel.markdown.ideLafBridgeStyling.iml +++ b/platform/jewel/markdown/ide-laf-bridge-styling/intellij.platform.jewel.markdown.ideLafBridgeStyling.iml @@ -38,320 +38,13 @@ - - + + - - - - - - c53f675b2af4696e6022598145a44a9e9feb35216a188163ae5bf99a18e76bdb - - - - - - - - - - - - - - - - - - f1e334b73d49ceab00afe776a4c393de77b4fc805e9ff488dac596a2663b1dc1 - - - - - - - - - - - - - - - - - - 66fdef91e9739348df7a096aa384a5685f4e875584cce89386a7a47251c4d8e9 - - - - - - - - - - - - - - - - - - a7dfdfd2b9d6668c646275948eba357aab6407f635f2dc09fe90258a2f202337 - - - - - - - - - - - - - - - - - - 34dfab5b4fa8b2913f00facdddc049e2fef4b176f8e7cde0ad306485674c3b5c - - - - - - - - - - - - - - - - - - 5c84c3bb1c1b636ae36030a0f98d4629afa29e192a9c78f57f22ce2c8ff6bc96 - - - - - - - - - - - - - - - - - - c106c0f705717889663555fe4cb7742612bd47b56a128bf7a9f589f24c64cb08 - - - - - - - - - - - - - - - - - - 8ff9a2b8c93b0287d8fa837d5b0917923168cb97dea1ada1a8d4aa7bb17c9f15 - - - - - - - - - - - - - - - - - - 41da5d61c56877b5b5d01e2a2bcb967cbfaf4d45c1a1aa124c0601c7a3de74e7 - - - - - - - - - - - - - - - - - - 7b0f19724082cbfcbc66e5abea2b9bc92cf08a1ea11e191933ed43801eb3cd05 - - - - - - - - - - - - - - - - - - bff3d1e895fd5abd54ee725dab59214acabf900e1a0784544d20cf20521bf9f3 - - - - - - - - - - - - - - - - - - 62c816073195cc0119dc1d66b178544bdb772ef8bee4879954528c6798b17ebe - - - - - - - - - - - - - - - - - - 5c84c3bb1c1b636ae36030a0f98d4629afa29e192a9c78f57f22ce2c8ff6bc96 - - - - - - - - - - - - - - - - - - c106c0f705717889663555fe4cb7742612bd47b56a128bf7a9f589f24c64cb08 - - - - - - - - - - - - - - - - - - 1b409141a9ee6ed38e76a8fb8f9cf280030bf45375ba7e07e60b2742039b573e - - - - - - - - - - - - - - - - - - c5cfad0b125e978d915f8b4c38630bc5d548e59fe8a0e838c0cc84283c605943 - - - - - - - - - - - - - - - - - - 5c84c3bb1c1b636ae36030a0f98d4629afa29e192a9c78f57f22ce2c8ff6bc96 - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/platform/jewel/markdown/ide-laf-bridge-styling/src/main/kotlin/org/jetbrains/jewel/intui/markdown/bridge/styling/BridgeMarkdownStyling.kt b/platform/jewel/markdown/ide-laf-bridge-styling/src/main/kotlin/org/jetbrains/jewel/intui/markdown/bridge/styling/BridgeMarkdownStyling.kt index f55a774026f4..7b95bd679c0f 100644 --- a/platform/jewel/markdown/ide-laf-bridge-styling/src/main/kotlin/org/jetbrains/jewel/intui/markdown/bridge/styling/BridgeMarkdownStyling.kt +++ b/platform/jewel/markdown/ide-laf-bridge-styling/src/main/kotlin/org/jetbrains/jewel/intui/markdown/bridge/styling/BridgeMarkdownStyling.kt @@ -44,13 +44,7 @@ import org.jetbrains.jewel.markdown.rendering.MarkdownStyling.ThematicBreak public fun MarkdownStyling.Companion.create( baseTextStyle: TextStyle = defaultTextStyle, editorTextStyle: TextStyle = defaultEditorTextStyle, - inlinesStyling: InlinesStyling = - InlinesStyling.create( - baseTextStyle, - defaultEditorTextStyle - .copy(fontSize = baseTextStyle.fontSize * .85, background = inlineCodeBackgroundColor) - .toSpanStyle(), - ), + inlinesStyling: InlinesStyling = InlinesStyling.create(baseTextStyle, editorTextStyle), blockVerticalSpacing: Dp = 16.dp, paragraph: Paragraph = Paragraph.create(inlinesStyling), heading: Heading = Heading.create(baseTextStyle), @@ -333,6 +327,59 @@ public fun HtmlBlock.Companion.create( fillWidth: Boolean = true, ): HtmlBlock = HtmlBlock(textStyle, padding, shape, background, borderWidth, borderColor, fillWidth) +public fun InlinesStyling.Companion.create( + textStyle: TextStyle = defaultTextStyle, + editorTextStyle: TextStyle = defaultEditorTextStyle, + inlineCode: SpanStyle = + editorTextStyle + .merge(fontSize = textStyle.fontSize * .85, background = inlineCodeBackgroundColor, color = textStyle.color) + .toSpanStyle(), + link: SpanStyle = SpanStyle(color = JBUI.CurrentTheme.Link.Foreground.ENABLED.toComposeColor()), + linkDisabled: SpanStyle = SpanStyle(color = JBUI.CurrentTheme.Link.Foreground.DISABLED.toComposeColor()), + linkHovered: SpanStyle = + SpanStyle( + color = JBUI.CurrentTheme.Link.Foreground.HOVERED.toComposeColor(), + textDecoration = TextDecoration.Underline, + ), + linkFocused: SpanStyle = + SpanStyle( + color = JBUI.CurrentTheme.Link.Foreground.ENABLED.toComposeColor(), + background = JBUI.CurrentTheme.ActionButton.hoverBackground().toComposeColor(), + textDecoration = TextDecoration.Underline, + ), + linkPressed: SpanStyle = + SpanStyle( + color = JBUI.CurrentTheme.Link.Foreground.PRESSED.toComposeColor(), + background = JBUI.CurrentTheme.ActionButton.pressedBackground().toComposeColor(), + textDecoration = TextDecoration.Underline, + ), + linkVisited: SpanStyle = SpanStyle(color = JBUI.CurrentTheme.Link.Foreground.VISITED.toComposeColor()), + emphasis: SpanStyle = SpanStyle(fontStyle = FontStyle.Italic), + strongEmphasis: SpanStyle = SpanStyle(fontWeight = FontWeight.Bold), + inlineHtml: SpanStyle = + editorTextStyle + .merge( + fontSize = textStyle.fontSize * .85, + color = JBUI.CurrentTheme.Label.disabledForeground().toComposeColor(), + background = Color.Unspecified, + ) + .toSpanStyle(), +): InlinesStyling = + InlinesStyling( + textStyle = textStyle, + inlineCode = inlineCode, + link = link, + linkDisabled = linkDisabled, + linkHovered = linkHovered, + linkFocused = linkFocused, + linkPressed = linkPressed, + linkVisited = linkVisited, + emphasis = emphasis, + strongEmphasis = strongEmphasis, + inlineHtml = inlineHtml, + ) + +@Deprecated("Use the variant without renderInlineHtml instead", level = DeprecationLevel.HIDDEN) public fun InlinesStyling.Companion.create( textStyle: TextStyle = defaultTextStyle, inlineCode: SpanStyle = @@ -362,7 +409,7 @@ public fun InlinesStyling.Companion.create( emphasis: SpanStyle = textStyle.copy(fontStyle = FontStyle.Italic).toSpanStyle(), strongEmphasis: SpanStyle = textStyle.copy(fontWeight = FontWeight.Bold).toSpanStyle(), inlineHtml: SpanStyle = textStyle.toSpanStyle(), - renderInlineHtml: Boolean = true, + @Suppress("UnusedParameter") renderInlineHtml: Boolean = true, ): InlinesStyling = InlinesStyling( textStyle = textStyle, @@ -376,7 +423,6 @@ public fun InlinesStyling.Companion.create( emphasis = emphasis, strongEmphasis = strongEmphasis, inlineHtml = inlineHtml, - renderInlineHtml = renderInlineHtml, ) private val defaultTextStyle diff --git a/platform/jewel/markdown/ide-laf-bridge-styling/src/main/resources/intellij.platform.jewel.markdown.ideLafBridgeStyling.xml b/platform/jewel/markdown/ide-laf-bridge-styling/src/main/resources/intellij.platform.jewel.markdown.ideLafBridgeStyling.xml index 83325fc79468..d10365c25bbb 100644 --- a/platform/jewel/markdown/ide-laf-bridge-styling/src/main/resources/intellij.platform.jewel.markdown.ideLafBridgeStyling.xml +++ b/platform/jewel/markdown/ide-laf-bridge-styling/src/main/resources/intellij.platform.jewel.markdown.ideLafBridgeStyling.xml @@ -4,7 +4,7 @@ - - + + diff --git a/platform/jewel/markdown/int-ui-standalone-styling/api-dump-unreviewed.txt b/platform/jewel/markdown/int-ui-standalone-styling/api-dump-unreviewed.txt index 73fac563d483..b3c09bf7f070 100644 --- a/platform/jewel/markdown/int-ui-standalone-styling/api-dump-unreviewed.txt +++ b/platform/jewel/markdown/int-ui-standalone-styling/api-dump-unreviewed.txt @@ -7,12 +7,14 @@ f:org.jetbrains.jewel.intui.markdown.standalone.IntUiProvideMarkdownStylingKt - sf:ProvideMarkdownStyling(org.jetbrains.jewel.markdown.rendering.MarkdownStyling,org.jetbrains.jewel.markdown.rendering.MarkdownBlockRenderer,org.jetbrains.jewel.foundation.code.highlighting.CodeHighlighter,org.jetbrains.jewel.markdown.MarkdownMode,org.jetbrains.jewel.markdown.processing.MarkdownProcessor,kotlin.jvm.functions.Function2,androidx.compose.runtime.Composer,I,I):V - sf:ProvideMarkdownStyling(Z,org.jetbrains.jewel.markdown.rendering.MarkdownStyling,org.jetbrains.jewel.markdown.MarkdownMode,org.jetbrains.jewel.markdown.processing.MarkdownProcessor,org.jetbrains.jewel.markdown.rendering.MarkdownBlockRenderer,org.jetbrains.jewel.foundation.code.highlighting.CodeHighlighter,kotlin.jvm.functions.Function2,androidx.compose.runtime.Composer,I,I):V f:org.jetbrains.jewel.intui.markdown.standalone.styling.IntUiMarkdownStylingKt -- sf:dark(org.jetbrains.jewel.markdown.rendering.InlinesStyling$Companion,androidx.compose.ui.text.TextStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,Z):org.jetbrains.jewel.markdown.rendering.InlinesStyling +- bsf:dark(org.jetbrains.jewel.markdown.rendering.InlinesStyling$Companion,androidx.compose.ui.text.TextStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,Z):org.jetbrains.jewel.markdown.rendering.InlinesStyling +- sf:dark(org.jetbrains.jewel.markdown.rendering.InlinesStyling$Companion,androidx.compose.ui.text.TextStyle,androidx.compose.ui.text.TextStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle):org.jetbrains.jewel.markdown.rendering.InlinesStyling - sf:dark(org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Code$Companion,androidx.compose.ui.text.TextStyle,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Code$Indented,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Code$Fenced):org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Code - sf:dark(org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading$Companion,androidx.compose.ui.text.TextStyle,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading$H1,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading$H2,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading$H3,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading$H4,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading$H5,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading$H6):org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading - sf:dark(org.jetbrains.jewel.markdown.rendering.MarkdownStyling$List$Companion,androidx.compose.ui.text.TextStyle,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$List$Ordered,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$List$Unordered):org.jetbrains.jewel.markdown.rendering.MarkdownStyling$List - sf:dark(org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Paragraph$Companion,org.jetbrains.jewel.markdown.rendering.InlinesStyling):org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Paragraph - bs:dark$default(org.jetbrains.jewel.markdown.rendering.InlinesStyling$Companion,androidx.compose.ui.text.TextStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,Z,I,java.lang.Object):org.jetbrains.jewel.markdown.rendering.InlinesStyling +- bs:dark$default(org.jetbrains.jewel.markdown.rendering.InlinesStyling$Companion,androidx.compose.ui.text.TextStyle,androidx.compose.ui.text.TextStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,I,java.lang.Object):org.jetbrains.jewel.markdown.rendering.InlinesStyling - bs:dark$default(org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Code$Companion,androidx.compose.ui.text.TextStyle,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Code$Indented,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Code$Fenced,I,java.lang.Object):org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Code - bs:dark$default(org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading$Companion,androidx.compose.ui.text.TextStyle,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading$H1,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading$H2,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading$H3,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading$H4,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading$H5,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading$H6,I,java.lang.Object):org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading - bs:dark$default(org.jetbrains.jewel.markdown.rendering.MarkdownStyling$List$Companion,androidx.compose.ui.text.TextStyle,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$List$Ordered,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$List$Unordered,I,java.lang.Object):org.jetbrains.jewel.markdown.rendering.MarkdownStyling$List @@ -47,12 +49,14 @@ f:org.jetbrains.jewel.intui.markdown.standalone.styling.IntUiMarkdownStylingKt - bs:dark-pI2OzKA$default(org.jetbrains.jewel.markdown.rendering.MarkdownStyling$BlockQuote$Companion,androidx.compose.foundation.layout.PaddingValues,F,J,androidx.compose.ui.graphics.PathEffect,I,J,I,java.lang.Object):org.jetbrains.jewel.markdown.rendering.MarkdownStyling$BlockQuote - sf:default-1Fc8zlc(org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Image$Companion,androidx.compose.ui.Alignment,androidx.compose.ui.layout.ContentScale,androidx.compose.foundation.layout.PaddingValues,androidx.compose.ui.graphics.Shape,J,F,J):org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Image - bs:default-1Fc8zlc$default(org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Image$Companion,androidx.compose.ui.Alignment,androidx.compose.ui.layout.ContentScale,androidx.compose.foundation.layout.PaddingValues,androidx.compose.ui.graphics.Shape,J,F,J,I,java.lang.Object):org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Image -- sf:light(org.jetbrains.jewel.markdown.rendering.InlinesStyling$Companion,androidx.compose.ui.text.TextStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,Z):org.jetbrains.jewel.markdown.rendering.InlinesStyling +- bsf:light(org.jetbrains.jewel.markdown.rendering.InlinesStyling$Companion,androidx.compose.ui.text.TextStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,Z):org.jetbrains.jewel.markdown.rendering.InlinesStyling +- sf:light(org.jetbrains.jewel.markdown.rendering.InlinesStyling$Companion,androidx.compose.ui.text.TextStyle,androidx.compose.ui.text.TextStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle):org.jetbrains.jewel.markdown.rendering.InlinesStyling - sf:light(org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Code$Companion,androidx.compose.ui.text.TextStyle,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Code$Indented,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Code$Fenced):org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Code - sf:light(org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading$Companion,androidx.compose.ui.text.TextStyle,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading$H1,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading$H2,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading$H3,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading$H4,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading$H5,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading$H6):org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading - sf:light(org.jetbrains.jewel.markdown.rendering.MarkdownStyling$List$Companion,androidx.compose.ui.text.TextStyle,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$List$Ordered,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$List$Unordered):org.jetbrains.jewel.markdown.rendering.MarkdownStyling$List - sf:light(org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Paragraph$Companion,org.jetbrains.jewel.markdown.rendering.InlinesStyling):org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Paragraph - bs:light$default(org.jetbrains.jewel.markdown.rendering.InlinesStyling$Companion,androidx.compose.ui.text.TextStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,Z,I,java.lang.Object):org.jetbrains.jewel.markdown.rendering.InlinesStyling +- bs:light$default(org.jetbrains.jewel.markdown.rendering.InlinesStyling$Companion,androidx.compose.ui.text.TextStyle,androidx.compose.ui.text.TextStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,androidx.compose.ui.text.SpanStyle,I,java.lang.Object):org.jetbrains.jewel.markdown.rendering.InlinesStyling - bs:light$default(org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Code$Companion,androidx.compose.ui.text.TextStyle,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Code$Indented,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Code$Fenced,I,java.lang.Object):org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Code - bs:light$default(org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading$Companion,androidx.compose.ui.text.TextStyle,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading$H1,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading$H2,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading$H3,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading$H4,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading$H5,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading$H6,I,java.lang.Object):org.jetbrains.jewel.markdown.rendering.MarkdownStyling$Heading - bs:light$default(org.jetbrains.jewel.markdown.rendering.MarkdownStyling$List$Companion,androidx.compose.ui.text.TextStyle,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$List$Ordered,org.jetbrains.jewel.markdown.rendering.MarkdownStyling$List$Unordered,I,java.lang.Object):org.jetbrains.jewel.markdown.rendering.MarkdownStyling$List diff --git a/platform/jewel/markdown/int-ui-standalone-styling/api/int-ui-standalone-styling.api b/platform/jewel/markdown/int-ui-standalone-styling/api/int-ui-standalone-styling.api index 4eacec1d82d2..ae9f1e47d92d 100644 --- a/platform/jewel/markdown/int-ui-standalone-styling/api/int-ui-standalone-styling.api +++ b/platform/jewel/markdown/int-ui-standalone-styling/api/int-ui-standalone-styling.api @@ -11,12 +11,14 @@ public final class org/jetbrains/jewel/intui/markdown/standalone/IntUiProvideMar } public final class org/jetbrains/jewel/intui/markdown/standalone/styling/IntUiMarkdownStylingKt { - public static final fun dark (Lorg/jetbrains/jewel/markdown/rendering/InlinesStyling$Companion;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Z)Lorg/jetbrains/jewel/markdown/rendering/InlinesStyling; + public static final synthetic fun dark (Lorg/jetbrains/jewel/markdown/rendering/InlinesStyling$Companion;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Z)Lorg/jetbrains/jewel/markdown/rendering/InlinesStyling; + public static final fun dark (Lorg/jetbrains/jewel/markdown/rendering/InlinesStyling$Companion;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;)Lorg/jetbrains/jewel/markdown/rendering/InlinesStyling; public static final fun dark (Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Code$Companion;Landroidx/compose/ui/text/TextStyle;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Code$Indented;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Code$Fenced;)Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Code; public static final fun dark (Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading$Companion;Landroidx/compose/ui/text/TextStyle;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading$H1;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading$H2;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading$H3;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading$H4;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading$H5;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading$H6;)Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading; public static final fun dark (Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$List$Companion;Landroidx/compose/ui/text/TextStyle;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$List$Ordered;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$List$Unordered;)Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$List; public static final fun dark (Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Paragraph$Companion;Lorg/jetbrains/jewel/markdown/rendering/InlinesStyling;)Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Paragraph; public static synthetic fun dark$default (Lorg/jetbrains/jewel/markdown/rendering/InlinesStyling$Companion;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;ZILjava/lang/Object;)Lorg/jetbrains/jewel/markdown/rendering/InlinesStyling; + public static synthetic fun dark$default (Lorg/jetbrains/jewel/markdown/rendering/InlinesStyling$Companion;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;ILjava/lang/Object;)Lorg/jetbrains/jewel/markdown/rendering/InlinesStyling; public static synthetic fun dark$default (Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Code$Companion;Landroidx/compose/ui/text/TextStyle;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Code$Indented;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Code$Fenced;ILjava/lang/Object;)Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Code; public static synthetic fun dark$default (Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading$Companion;Landroidx/compose/ui/text/TextStyle;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading$H1;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading$H2;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading$H3;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading$H4;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading$H5;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading$H6;ILjava/lang/Object;)Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading; public static synthetic fun dark$default (Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$List$Companion;Landroidx/compose/ui/text/TextStyle;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$List$Ordered;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$List$Unordered;ILjava/lang/Object;)Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$List; @@ -51,12 +53,14 @@ public final class org/jetbrains/jewel/intui/markdown/standalone/styling/IntUiMa public static synthetic fun dark-pI2OzKA$default (Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$BlockQuote$Companion;Landroidx/compose/foundation/layout/PaddingValues;FJLandroidx/compose/ui/graphics/PathEffect;IJILjava/lang/Object;)Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$BlockQuote; public static final fun default-1Fc8zlc (Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Image$Companion;Landroidx/compose/ui/Alignment;Landroidx/compose/ui/layout/ContentScale;Landroidx/compose/foundation/layout/PaddingValues;Landroidx/compose/ui/graphics/Shape;JFJ)Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Image; public static synthetic fun default-1Fc8zlc$default (Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Image$Companion;Landroidx/compose/ui/Alignment;Landroidx/compose/ui/layout/ContentScale;Landroidx/compose/foundation/layout/PaddingValues;Landroidx/compose/ui/graphics/Shape;JFJILjava/lang/Object;)Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Image; - public static final fun light (Lorg/jetbrains/jewel/markdown/rendering/InlinesStyling$Companion;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Z)Lorg/jetbrains/jewel/markdown/rendering/InlinesStyling; + public static final synthetic fun light (Lorg/jetbrains/jewel/markdown/rendering/InlinesStyling$Companion;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Z)Lorg/jetbrains/jewel/markdown/rendering/InlinesStyling; + public static final fun light (Lorg/jetbrains/jewel/markdown/rendering/InlinesStyling$Companion;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;)Lorg/jetbrains/jewel/markdown/rendering/InlinesStyling; public static final fun light (Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Code$Companion;Landroidx/compose/ui/text/TextStyle;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Code$Indented;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Code$Fenced;)Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Code; public static final fun light (Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading$Companion;Landroidx/compose/ui/text/TextStyle;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading$H1;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading$H2;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading$H3;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading$H4;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading$H5;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading$H6;)Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading; public static final fun light (Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$List$Companion;Landroidx/compose/ui/text/TextStyle;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$List$Ordered;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$List$Unordered;)Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$List; public static final fun light (Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Paragraph$Companion;Lorg/jetbrains/jewel/markdown/rendering/InlinesStyling;)Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Paragraph; public static synthetic fun light$default (Lorg/jetbrains/jewel/markdown/rendering/InlinesStyling$Companion;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;ZILjava/lang/Object;)Lorg/jetbrains/jewel/markdown/rendering/InlinesStyling; + public static synthetic fun light$default (Lorg/jetbrains/jewel/markdown/rendering/InlinesStyling$Companion;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;Landroidx/compose/ui/text/SpanStyle;ILjava/lang/Object;)Lorg/jetbrains/jewel/markdown/rendering/InlinesStyling; public static synthetic fun light$default (Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Code$Companion;Landroidx/compose/ui/text/TextStyle;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Code$Indented;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Code$Fenced;ILjava/lang/Object;)Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Code; public static synthetic fun light$default (Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading$Companion;Landroidx/compose/ui/text/TextStyle;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading$H1;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading$H2;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading$H3;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading$H4;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading$H5;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading$H6;ILjava/lang/Object;)Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$Heading; public static synthetic fun light$default (Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$List$Companion;Landroidx/compose/ui/text/TextStyle;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$List$Ordered;Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$List$Unordered;ILjava/lang/Object;)Lorg/jetbrains/jewel/markdown/rendering/MarkdownStyling$List; diff --git a/platform/jewel/markdown/int-ui-standalone-styling/build.gradle.kts b/platform/jewel/markdown/int-ui-standalone-styling/build.gradle.kts index 15e3061835ad..6913e96a913e 100644 --- a/platform/jewel/markdown/int-ui-standalone-styling/build.gradle.kts +++ b/platform/jewel/markdown/int-ui-standalone-styling/build.gradle.kts @@ -9,8 +9,8 @@ plugins { dependencies { api(projects.markdown.core) api(projects.intUi.intUiStandalone) - compileOnly(projects.markdown.extension.gfmAlerts) - compileOnly(projects.markdown.extension.gfmTables) + compileOnly(projects.markdown.extensions.gfmAlerts) + compileOnly(projects.markdown.extensions.gfmTables) testImplementation(compose.desktop.uiTestJUnit4) } diff --git a/platform/jewel/markdown/int-ui-standalone-styling/intellij.platform.jewel.markdown.intUiStandaloneStyling.iml b/platform/jewel/markdown/int-ui-standalone-styling/intellij.platform.jewel.markdown.intUiStandaloneStyling.iml index 954c25a5891f..179fd7bd179a 100644 --- a/platform/jewel/markdown/int-ui-standalone-styling/intellij.platform.jewel.markdown.intUiStandaloneStyling.iml +++ b/platform/jewel/markdown/int-ui-standalone-styling/intellij.platform.jewel.markdown.intUiStandaloneStyling.iml @@ -38,316 +38,9 @@ - - - - - - - - c53f675b2af4696e6022598145a44a9e9feb35216a188163ae5bf99a18e76bdb - - - - - - - - - - - - - - - - - - f1e334b73d49ceab00afe776a4c393de77b4fc805e9ff488dac596a2663b1dc1 - - - - - - - - - - - - - - - - - - 66fdef91e9739348df7a096aa384a5685f4e875584cce89386a7a47251c4d8e9 - - - - - - - - - - - - - - - - - - a7dfdfd2b9d6668c646275948eba357aab6407f635f2dc09fe90258a2f202337 - - - - - - - - - - - - - - - - - - 34dfab5b4fa8b2913f00facdddc049e2fef4b176f8e7cde0ad306485674c3b5c - - - - - - - - - - - - - - - - - - 5c84c3bb1c1b636ae36030a0f98d4629afa29e192a9c78f57f22ce2c8ff6bc96 - - - - - - - - - - - - - - - - - - c106c0f705717889663555fe4cb7742612bd47b56a128bf7a9f589f24c64cb08 - - - - - - - - - - - - - - - - - - 8ff9a2b8c93b0287d8fa837d5b0917923168cb97dea1ada1a8d4aa7bb17c9f15 - - - - - - - - - - - - - - - - - - 41da5d61c56877b5b5d01e2a2bcb967cbfaf4d45c1a1aa124c0601c7a3de74e7 - - - - - - - - - - - - - - - - - - 7b0f19724082cbfcbc66e5abea2b9bc92cf08a1ea11e191933ed43801eb3cd05 - - - - - - - - - - - - - - - - - - bff3d1e895fd5abd54ee725dab59214acabf900e1a0784544d20cf20521bf9f3 - - - - - - - - - - - - - - - - - - 62c816073195cc0119dc1d66b178544bdb772ef8bee4879954528c6798b17ebe - - - - - - - - - - - - - - - - - - 5c84c3bb1c1b636ae36030a0f98d4629afa29e192a9c78f57f22ce2c8ff6bc96 - - - - - - - - - - - - - - - - - - c106c0f705717889663555fe4cb7742612bd47b56a128bf7a9f589f24c64cb08 - - - - - - - - - - - - - - - - - - 1b409141a9ee6ed38e76a8fb8f9cf280030bf45375ba7e07e60b2742039b573e - - - - - - - - - - - - - - - - - - c5cfad0b125e978d915f8b4c38630bc5d548e59fe8a0e838c0cc84283c605943 - - - - - - - - - - - - - - - - - - 5c84c3bb1c1b636ae36030a0f98d4629afa29e192a9c78f57f22ce2c8ff6bc96 - - - - - - - - - - - - + + - - + \ No newline at end of file diff --git a/platform/jewel/markdown/int-ui-standalone-styling/src/main/kotlin/org/jetbrains/jewel/intui/markdown/standalone/styling/IntUiMarkdownStyling.kt b/platform/jewel/markdown/int-ui-standalone-styling/src/main/kotlin/org/jetbrains/jewel/intui/markdown/standalone/styling/IntUiMarkdownStyling.kt index 2535177d7645..512ffbc62b98 100644 --- a/platform/jewel/markdown/int-ui-standalone-styling/src/main/kotlin/org/jetbrains/jewel/intui/markdown/standalone/styling/IntUiMarkdownStyling.kt +++ b/platform/jewel/markdown/int-ui-standalone-styling/src/main/kotlin/org/jetbrains/jewel/intui/markdown/standalone/styling/IntUiMarkdownStyling.kt @@ -38,17 +38,12 @@ import org.jetbrains.jewel.markdown.rendering.MarkdownStyling.List.Ordered import org.jetbrains.jewel.markdown.rendering.MarkdownStyling.List.Unordered import org.jetbrains.jewel.markdown.rendering.MarkdownStyling.Paragraph import org.jetbrains.jewel.markdown.rendering.MarkdownStyling.ThematicBreak +import org.jetbrains.jewel.ui.component.Typography public fun MarkdownStyling.Companion.light( baseTextStyle: TextStyle = defaultTextStyle, editorTextStyle: TextStyle = defaultEditorTextStyle, - inlinesStyling: InlinesStyling = - InlinesStyling.light( - baseTextStyle, - editorTextStyle - .copy(fontSize = baseTextStyle.fontSize * .85, background = inlineCodeBackgroundColorLight) - .toSpanStyle(), - ), + inlinesStyling: InlinesStyling = InlinesStyling.light(baseTextStyle, editorTextStyle), blockVerticalSpacing: Dp = 16.dp, paragraph: Paragraph = Paragraph.light(inlinesStyling), heading: Heading = Heading.light(baseTextStyle), @@ -64,13 +59,7 @@ public fun MarkdownStyling.Companion.light( public fun MarkdownStyling.Companion.dark( baseTextStyle: TextStyle = defaultTextStyle, editorTextStyle: TextStyle = defaultEditorTextStyle, - inlinesStyling: InlinesStyling = - InlinesStyling.dark( - baseTextStyle, - editorTextStyle - .copy(fontSize = baseTextStyle.fontSize * .85, background = inlineCodeBackgroundColorDark) - .toSpanStyle(), - ), + inlinesStyling: InlinesStyling = InlinesStyling.dark(defaultTextStyle, editorTextStyle), blockVerticalSpacing: Dp = 16.dp, paragraph: Paragraph = Paragraph.dark(inlinesStyling), heading: Heading = Heading.dark(baseTextStyle), @@ -83,11 +72,13 @@ public fun MarkdownStyling.Companion.dark( ): MarkdownStyling = MarkdownStyling(blockVerticalSpacing, paragraph, heading, blockQuote, code, list, image, thematicBreak, htmlBlock) -public fun Paragraph.Companion.light(inlinesStyling: InlinesStyling = InlinesStyling.light()): Paragraph = - Paragraph(inlinesStyling) +public fun Paragraph.Companion.light( + inlinesStyling: InlinesStyling = InlinesStyling.light(defaultTextStyle, defaultEditorTextStyle) +): Paragraph = Paragraph(inlinesStyling) -public fun Paragraph.Companion.dark(inlinesStyling: InlinesStyling = InlinesStyling.dark()): Paragraph = - Paragraph(inlinesStyling) +public fun Paragraph.Companion.dark( + inlinesStyling: InlinesStyling = InlinesStyling.dark(defaultTextStyle, defaultEditorTextStyle) +): Paragraph = Paragraph(inlinesStyling) public fun Heading.Companion.light( baseTextStyle: TextStyle = defaultTextStyle, @@ -202,7 +193,7 @@ public fun Heading.H1.Companion.light( lineHeight = defaultTextSize * 2 * 1.25, fontWeight = FontWeight.SemiBold, ), - inlinesStyling: InlinesStyling = InlinesStyling.light(baseTextStyle), + inlinesStyling: InlinesStyling = InlinesStyling.light(baseTextStyle, defaultEditorTextStyle), underlineWidth: Dp = 1.dp, underlineColor: Color = Color(0xFFD8DEE4), underlineGap: Dp = 10.dp, @@ -216,7 +207,7 @@ public fun Heading.H1.Companion.dark( lineHeight = defaultTextSize * 2 * 1.25, fontWeight = FontWeight.SemiBold, ), - inlinesStyling: InlinesStyling = InlinesStyling.dark(baseTextStyle), + inlinesStyling: InlinesStyling = InlinesStyling.dark(baseTextStyle, defaultEditorTextStyle), underlineWidth: Dp = 1.dp, underlineColor: Color = Color(0xFF21262d), underlineGap: Dp = 10.dp, @@ -230,7 +221,7 @@ public fun Heading.H2.Companion.light( lineHeight = defaultTextSize * 1.5 * 1.25, fontWeight = FontWeight.SemiBold, ), - inlinesStyling: InlinesStyling = InlinesStyling.light(baseTextStyle), + inlinesStyling: InlinesStyling = InlinesStyling.light(baseTextStyle, defaultEditorTextStyle), underlineWidth: Dp = 1.dp, underlineColor: Color = Color(0xFFD8DEE4), underlineGap: Dp = 6.dp, @@ -244,7 +235,7 @@ public fun Heading.H2.Companion.dark( lineHeight = defaultTextSize * 1.5 * 1.25, fontWeight = FontWeight.SemiBold, ), - inlinesStyling: InlinesStyling = InlinesStyling.dark(baseTextStyle), + inlinesStyling: InlinesStyling = InlinesStyling.dark(baseTextStyle, defaultEditorTextStyle), underlineWidth: Dp = 1.dp, underlineColor: Color = Color(0xFF21262d), underlineGap: Dp = 6.dp, @@ -259,7 +250,7 @@ public fun Heading.H3.Companion.light( lineHeight = defaultTextSize * 1.25 * 1.25, fontWeight = FontWeight.SemiBold, ), - inlinesStyling: InlinesStyling = InlinesStyling.light(baseTextStyle), + inlinesStyling: InlinesStyling = InlinesStyling.light(baseTextStyle, defaultEditorTextStyle), underlineWidth: Dp = 0.dp, underlineColor: Color = Color.Unspecified, underlineGap: Dp = 0.dp, @@ -274,7 +265,7 @@ public fun Heading.H3.Companion.dark( lineHeight = defaultTextSize * 1.25 * 1.25, fontWeight = FontWeight.SemiBold, ), - inlinesStyling: InlinesStyling = InlinesStyling.dark(baseTextStyle), + inlinesStyling: InlinesStyling = InlinesStyling.dark(baseTextStyle, defaultEditorTextStyle), underlineWidth: Dp = 0.dp, underlineColor: Color = Color.Unspecified, underlineGap: Dp = 0.dp, @@ -289,7 +280,7 @@ public fun Heading.H4.Companion.light( lineHeight = defaultTextSize * 1.25, fontWeight = FontWeight.SemiBold, ), - inlinesStyling: InlinesStyling = InlinesStyling.light(baseTextStyle), + inlinesStyling: InlinesStyling = InlinesStyling.light(baseTextStyle, defaultEditorTextStyle), underlineWidth: Dp = 0.dp, underlineColor: Color = Color.Unspecified, underlineGap: Dp = 0.dp, @@ -304,7 +295,7 @@ public fun Heading.H4.Companion.dark( lineHeight = defaultTextSize * 1.25, fontWeight = FontWeight.SemiBold, ), - inlinesStyling: InlinesStyling = InlinesStyling.dark(baseTextStyle), + inlinesStyling: InlinesStyling = InlinesStyling.dark(baseTextStyle, defaultEditorTextStyle), underlineWidth: Dp = 0.dp, underlineColor: Color = Color.Unspecified, underlineGap: Dp = 0.dp, @@ -319,7 +310,7 @@ public fun Heading.H5.Companion.light( lineHeight = defaultTextSize * .875 * 1.25, fontWeight = FontWeight.SemiBold, ), - inlinesStyling: InlinesStyling = InlinesStyling.light(baseTextStyle), + inlinesStyling: InlinesStyling = InlinesStyling.light(baseTextStyle, defaultEditorTextStyle), underlineWidth: Dp = 0.dp, underlineColor: Color = Color.Unspecified, underlineGap: Dp = 0.dp, @@ -334,7 +325,7 @@ public fun Heading.H5.Companion.dark( lineHeight = defaultTextSize * .875 * 1.25, fontWeight = FontWeight.SemiBold, ), - inlinesStyling: InlinesStyling = InlinesStyling.dark(baseTextStyle), + inlinesStyling: InlinesStyling = InlinesStyling.dark(baseTextStyle, defaultEditorTextStyle), underlineWidth: Dp = 0.dp, underlineColor: Color = Color.Unspecified, underlineGap: Dp = 0.dp, @@ -350,7 +341,7 @@ public fun Heading.H6.Companion.light( lineHeight = defaultTextSize * .85 * 1.25, fontWeight = FontWeight.SemiBold, ), - inlinesStyling: InlinesStyling = InlinesStyling.light(baseTextStyle), + inlinesStyling: InlinesStyling = InlinesStyling.light(baseTextStyle, defaultEditorTextStyle), underlineWidth: Dp = 0.dp, underlineColor: Color = Color.Unspecified, underlineGap: Dp = 0.dp, @@ -366,7 +357,7 @@ public fun Heading.H6.Companion.dark( lineHeight = defaultTextSize * .85 * 1.25, fontWeight = FontWeight.SemiBold, ), - inlinesStyling: InlinesStyling = InlinesStyling.dark(baseTextStyle), + inlinesStyling: InlinesStyling = InlinesStyling.dark(baseTextStyle, defaultEditorTextStyle), underlineWidth: Dp = 0.dp, underlineColor: Color = Color.Unspecified, underlineGap: Dp = 0.dp, @@ -593,20 +584,32 @@ public fun HtmlBlock.Companion.dark( public fun InlinesStyling.Companion.light( textStyle: TextStyle = defaultTextStyle, + editorTextStyle: TextStyle = defaultEditorTextStyle, inlineCode: SpanStyle = - defaultEditorTextStyle - .copy(fontSize = textStyle.fontSize * .85, background = inlineCodeBackgroundColorLight) + editorTextStyle + .merge( + fontSize = textStyle.fontSize * .85, + background = inlineCodeBackgroundColorLight, + color = textStyle.color, + ) .toSpanStyle(), - link: SpanStyle = textStyle.copy(color = IntUiLightTheme.colors.blue(2)).toSpanStyle(), - linkDisabled: SpanStyle = link.copy(color = IntUiLightTheme.colors.gray(8)), - linkHovered: SpanStyle = link.copy(textDecoration = TextDecoration.Underline), - linkFocused: SpanStyle = link.copy(background = Color(0x12000000), textDecoration = TextDecoration.Underline), - linkPressed: SpanStyle = link.copy(background = Color(0x1D000000), textDecoration = TextDecoration.Underline), + link: SpanStyle = SpanStyle(color = IntUiLightTheme.colors.blue(2)), + linkDisabled: SpanStyle = SpanStyle(color = IntUiLightTheme.colors.gray(8)), + linkHovered: SpanStyle = + SpanStyle(color = IntUiLightTheme.colors.blue(2), textDecoration = TextDecoration.Underline), + linkFocused: SpanStyle = SpanStyle(background = Color(0x12000000), textDecoration = TextDecoration.Underline), + linkPressed: SpanStyle = SpanStyle(background = Color(0x1D000000), textDecoration = TextDecoration.Underline), linkVisited: SpanStyle = link, - emphasis: SpanStyle = textStyle.copy(fontStyle = FontStyle.Italic).toSpanStyle(), - strongEmphasis: SpanStyle = textStyle.copy(fontWeight = FontWeight.Bold).toSpanStyle(), - inlineHtml: SpanStyle = textStyle.toSpanStyle(), - renderInlineHtml: Boolean = true, + emphasis: SpanStyle = SpanStyle(fontStyle = FontStyle.Italic), + strongEmphasis: SpanStyle = SpanStyle(fontWeight = FontWeight.Bold), + inlineHtml: SpanStyle = + editorTextStyle + .merge( + fontSize = textStyle.fontSize * .85, + color = IntUiLightTheme.colors.gray(8), + background = Color.Unspecified, + ) + .toSpanStyle(), ): InlinesStyling = InlinesStyling( textStyle = textStyle, @@ -620,9 +623,90 @@ public fun InlinesStyling.Companion.light( emphasis = emphasis, strongEmphasis = strongEmphasis, inlineHtml = inlineHtml, - renderInlineHtml = renderInlineHtml, ) +@Deprecated( + "Use the new variant, without renderInlineHtml and with editorTextStyle, instead", + level = DeprecationLevel.HIDDEN, +) +public fun InlinesStyling.Companion.light( + textStyle: TextStyle = defaultTextStyle, + inlineCode: SpanStyle = + defaultEditorTextStyle + .merge(fontSize = textStyle.fontSize * .85, background = inlineCodeBackgroundColorLight) + .toSpanStyle(), + link: SpanStyle = textStyle.copy(color = IntUiLightTheme.colors.blue(2)).toSpanStyle(), + linkDisabled: SpanStyle = link.copy(color = IntUiLightTheme.colors.gray(8)), + linkHovered: SpanStyle = link.copy(textDecoration = TextDecoration.Underline), + linkFocused: SpanStyle = link.copy(background = Color(0x12000000), textDecoration = TextDecoration.Underline), + linkPressed: SpanStyle = link.copy(background = Color(0x1D000000), textDecoration = TextDecoration.Underline), + linkVisited: SpanStyle = link, + emphasis: SpanStyle = textStyle.copy(fontStyle = FontStyle.Italic).toSpanStyle(), + strongEmphasis: SpanStyle = textStyle.copy(fontWeight = FontWeight.Bold).toSpanStyle(), + inlineHtml: SpanStyle = textStyle.toSpanStyle(), + @Suppress("UnusedParameter") renderInlineHtml: Boolean = true, +): InlinesStyling = + InlinesStyling( + textStyle = textStyle, + inlineCode = inlineCode, + link = link, + linkDisabled = linkDisabled, + linkFocused = linkFocused, + linkHovered = linkHovered, + linkPressed = linkPressed, + linkVisited = linkVisited, + emphasis = emphasis, + strongEmphasis = strongEmphasis, + inlineHtml = inlineHtml, + ) + +public fun InlinesStyling.Companion.dark( + textStyle: TextStyle = defaultTextStyle, + editorTextStyle: TextStyle = defaultEditorTextStyle, + inlineCode: SpanStyle = + editorTextStyle + .merge( + fontSize = textStyle.fontSize * .85, + background = inlineCodeBackgroundColorLight, + color = textStyle.color, + ) + .toSpanStyle(), + link: SpanStyle = SpanStyle(color = IntUiDarkTheme.colors.blue(9)), + linkDisabled: SpanStyle = SpanStyle(color = IntUiDarkTheme.colors.gray(8)), + linkHovered: SpanStyle = + SpanStyle(color = IntUiDarkTheme.colors.blue(9), textDecoration = TextDecoration.Underline), + linkFocused: SpanStyle = SpanStyle(background = Color(0x16FFFFFF), textDecoration = TextDecoration.Underline), + linkPressed: SpanStyle = SpanStyle(background = Color(0x26FFFFFF), textDecoration = TextDecoration.Underline), + linkVisited: SpanStyle = link, + emphasis: SpanStyle = SpanStyle(fontStyle = FontStyle.Italic), + strongEmphasis: SpanStyle = SpanStyle(fontWeight = FontWeight.Bold), + inlineHtml: SpanStyle = + editorTextStyle + .merge( + fontSize = textStyle.fontSize * .85, + color = IntUiDarkTheme.colors.gray(8), + background = Color.Unspecified, + ) + .toSpanStyle(), +): InlinesStyling = + InlinesStyling( + textStyle = textStyle, + inlineCode = inlineCode, + link = link, + linkDisabled = linkDisabled, + linkFocused = linkFocused, + linkHovered = linkHovered, + linkPressed = linkPressed, + linkVisited = linkVisited, + emphasis = emphasis, + strongEmphasis = strongEmphasis, + inlineHtml = inlineHtml, + ) + +@Deprecated( + "Use the new variant, without renderInlineHtml and with editorTextStyle, instead", + level = DeprecationLevel.HIDDEN, +) public fun InlinesStyling.Companion.dark( textStyle: TextStyle = defaultTextStyle, inlineCode: SpanStyle = @@ -638,7 +722,7 @@ public fun InlinesStyling.Companion.dark( emphasis: SpanStyle = textStyle.copy(fontStyle = FontStyle.Italic).toSpanStyle(), strongEmphasis: SpanStyle = textStyle.copy(fontWeight = FontWeight.Bold).toSpanStyle(), inlineHtml: SpanStyle = textStyle.toSpanStyle(), - renderInlineHtml: Boolean = true, + @Suppress("UnusedParameter") renderInlineHtml: Boolean = true, ): InlinesStyling = InlinesStyling( textStyle = textStyle, @@ -652,7 +736,6 @@ public fun InlinesStyling.Companion.dark( emphasis = emphasis, strongEmphasis = strongEmphasis, inlineHtml = inlineHtml, - renderInlineHtml = renderInlineHtml, ) private val blockBackgroundColorLight = Color(0xFFF6F8FA) @@ -664,10 +747,18 @@ private val blockContentColorDark = Color(0xFFBCBEC4) private val defaultTextSize = 13.sp private val defaultTextStyle - get() = JewelTheme.createDefaultTextStyle(fontSize = defaultTextSize, lineHeight = defaultTextSize * 1.5) + get() = + JewelTheme.createDefaultTextStyle( + fontSize = defaultTextSize, + lineHeight = defaultTextSize * Typography.DefaultLineHeightMultiplier, + ) private val defaultEditorTextStyle - get() = JewelTheme.createEditorTextStyle(fontSize = defaultTextSize, lineHeight = defaultTextSize * 1.2) + get() = + JewelTheme.createEditorTextStyle( + fontSize = defaultTextSize, + lineHeight = defaultTextSize * Typography.EditorLineHeightMultiplier, + ) private val inlineCodeBackgroundColorLight = Color(red = 212, green = 222, blue = 231, alpha = 255 / 4) private val inlineCodeBackgroundColorDark = Color(red = 212, green = 222, blue = 231, alpha = 25) diff --git a/platform/jewel/markdown/int-ui-standalone-styling/src/main/resources/intellij.platform.jewel.markdown.intUiStandaloneStyling.xml b/platform/jewel/markdown/int-ui-standalone-styling/src/main/resources/intellij.platform.jewel.markdown.intUiStandaloneStyling.xml index 9918e8512c80..573a8fb14ccf 100644 --- a/platform/jewel/markdown/int-ui-standalone-styling/src/main/resources/intellij.platform.jewel.markdown.intUiStandaloneStyling.xml +++ b/platform/jewel/markdown/int-ui-standalone-styling/src/main/resources/intellij.platform.jewel.markdown.intUiStandaloneStyling.xml @@ -4,6 +4,6 @@ - + diff --git a/platform/jewel/samples/ide-plugin/build.gradle.kts b/platform/jewel/samples/ide-plugin/build.gradle.kts index 94320f280cad..6cd7c8db975a 100644 --- a/platform/jewel/samples/ide-plugin/build.gradle.kts +++ b/platform/jewel/samples/ide-plugin/build.gradle.kts @@ -1,3 +1,4 @@ +import io.gitlab.arturbosch.detekt.Detekt import java.net.URI plugins { @@ -31,20 +32,16 @@ repositories { } dependencies { - intellijPlatform { - intellijIdeaCommunity(libs.versions.idea) - instrumentationTools() - } + intellijPlatform { intellijIdeaCommunity(libs.versions.idea) } + implementation(projects.samples.showcase) { exclude(group = "org.jetbrains.kotlinx") } implementation(projects.ideLafBridge) { exclude(group = "org.jetbrains.kotlinx") } - implementation(projects.markdown.ideLafBridgeStyling) { exclude(group = "org.jetbrains.kotlinx") } implementation(compose.desktop.currentOs) { exclude(group = "org.jetbrains.compose.material") exclude(group = "org.jetbrains.kotlinx") } - implementation(project(":samples:showcase")) { exclude(group = "org.jetbrains.kotlinx") } // TODO remove once https://youtrack.jetbrains.com/issue/IJPL-166436 is fixed implementation("androidx.lifecycle:lifecycle-common-jvm:2.8.5") { exclude(group = "org.jetbrains.kotlinx") } @@ -58,4 +55,8 @@ intellijPlatform { autoReload = false } -tasks { runIde { jvmArgs = listOf("-Xmx3g") } } +tasks { + runIde { jvmArgs = listOf("-Xmx3g") } + + withType() { exclude("**/AndroidStudioReleases.kt") } +} diff --git a/platform/jewel/samples/ide-plugin/src/main/kotlin/org/jetbrains/jewel/samples/ideplugin/ComponentShowcaseTab.kt b/platform/jewel/samples/ide-plugin/src/main/kotlin/org/jetbrains/jewel/samples/ideplugin/ComponentShowcaseTab.kt index 83984e9a4b0d..bb375f5c1ff3 100644 --- a/platform/jewel/samples/ide-plugin/src/main/kotlin/org/jetbrains/jewel/samples/ideplugin/ComponentShowcaseTab.kt +++ b/platform/jewel/samples/ide-plugin/src/main/kotlin/org/jetbrains/jewel/samples/ideplugin/ComponentShowcaseTab.kt @@ -424,6 +424,8 @@ private fun MarkdownExample(project: Project) { |```kotlin |fun hello() = "World" |``` + | + | Indented code here! """ .trimMargin(), Modifier.fillMaxWidth() diff --git a/platform/jewel/samples/ide-plugin/src/main/kotlin/org/jetbrains/jewel/samples/ideplugin/SwingComparisonTabPanel.kt b/platform/jewel/samples/ide-plugin/src/main/kotlin/org/jetbrains/jewel/samples/ideplugin/SwingComparisonTabPanel.kt index d64eb8211dfa..45cc2485e8ba 100644 --- a/platform/jewel/samples/ide-plugin/src/main/kotlin/org/jetbrains/jewel/samples/ideplugin/SwingComparisonTabPanel.kt +++ b/platform/jewel/samples/ide-plugin/src/main/kotlin/org/jetbrains/jewel/samples/ideplugin/SwingComparisonTabPanel.kt @@ -15,7 +15,7 @@ import androidx.compose.foundation.layout.width import androidx.compose.foundation.text.input.rememberTextFieldState import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue -import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.mutableIntStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier @@ -53,7 +53,6 @@ import org.jetbrains.jewel.ui.component.EditableListComboBox import org.jetbrains.jewel.ui.component.Icon import org.jetbrains.jewel.ui.component.ListComboBox import org.jetbrains.jewel.ui.component.OutlinedButton -import org.jetbrains.jewel.ui.component.SimpleListItem import org.jetbrains.jewel.ui.component.Text import org.jetbrains.jewel.ui.component.TextArea import org.jetbrains.jewel.ui.component.TextField @@ -197,7 +196,7 @@ internal class SwingComparisonTabPanel : BorderLayoutPanel() { } private fun Panel.comboBoxesRow() { - row("ComboBoxes:") { + row("Combo Boxes:") { // Swing ComboBoxes val zoomLevels = arrayOf("100%", "125%", "150%", "175%", "200%", "300%") @@ -270,86 +269,68 @@ internal class SwingComparisonTabPanel : BorderLayoutPanel() { "Joy", ) } - var selectedComboBox1: String? by remember { mutableStateOf(comboBoxItems.first()) } - var selectedComboBox2: String? by remember { mutableStateOf(comboBoxItems.first()) } - var selectedComboBox3: String? by remember { mutableStateOf(comboBoxItems.first()) } - var selectedComboBox4: String? by remember { mutableStateOf(comboBoxItems.first()) } Row(horizontalArrangement = Arrangement.spacedBy(8.dp)) { Column { + var selectedIndex by remember { mutableIntStateOf(0) } + val selectedText: String = comboBoxItems[selectedIndex] + Text("Not editable") - Text(text = "Selected item: $selectedComboBox1") + Text(text = "Selected item: $selectedText") ListComboBox( items = comboBoxItems, + selectedIndex = selectedIndex, + onSelectedItemChange = { selectedIndex = it }, modifier = Modifier.width(200.dp), - onSelectedItemChange = { _, text -> selectedComboBox1 = text }, - itemContent = { item, isSelected, isActive -> - SimpleListItem( - text = item, - isSelected = isSelected, - isActive = isActive, - iconContentDescription = item, - ) - }, ) } Column { + var selectedIndex by remember { mutableIntStateOf(0) } + val selectedText: String = comboBoxItems[selectedIndex] + Text("Not editable + disabled") - Text(text = "Selected item: $selectedComboBox2") + Text(text = "Selected item: $selectedText") ListComboBox( items = comboBoxItems, + selectedIndex = selectedIndex, + onSelectedItemChange = { selectedIndex = it }, modifier = Modifier.width(200.dp), - isEnabled = false, - onSelectedItemChange = { _, text -> selectedComboBox2 = text }, - itemContent = { item, isSelected, isActive -> - SimpleListItem( - text = item, - isSelected = isSelected, - isActive = isActive, - iconContentDescription = item, - ) - }, + enabled = false, ) } Column { + var selectedIndex by remember { mutableIntStateOf(0) } + val selectedText: String = comboBoxItems[selectedIndex] + Text("Editable") - Text(text = "Selected item: $selectedComboBox3") + Text(text = "Selected item: $selectedText") + EditableListComboBox( items = comboBoxItems, + selectedIndex = selectedIndex, + onSelectedItemChange = { selectedIndex = it }, modifier = Modifier.width(200.dp), maxPopupHeight = 150.dp, - onSelectedItemChange = { _, text -> selectedComboBox3 = text }, - itemContent = { item, isSelected, isActive -> - SimpleListItem( - text = item, - isSelected = isSelected, - isActive = isActive, - iconContentDescription = item, - ) - }, ) } Column { + var selectedIndex by remember { mutableIntStateOf(0) } + val selectedText: String = comboBoxItems[selectedIndex] + Text("Editable + disabled") - Text(text = "Selected item: $selectedComboBox4") + Text(text = "Selected item: $selectedText") + EditableListComboBox( items = comboBoxItems, + selectedIndex = selectedIndex, + onSelectedItemChange = { selectedIndex = it }, modifier = Modifier.width(200.dp), - isEnabled = false, - onSelectedItemChange = { _, text -> selectedComboBox4 = text }, - itemContent = { item, isSelected, isActive -> - SimpleListItem( - text = item, - isSelected = isSelected, - isActive = isActive, - iconContentDescription = item, - ) - }, + enabled = false, ) } } diff --git a/platform/jewel/samples/ide-plugin/src/main/kotlin/org/jetbrains/jewel/samples/ideplugin/dialog/ComponentShowcaseDialog.kt b/platform/jewel/samples/ide-plugin/src/main/kotlin/org/jetbrains/jewel/samples/ideplugin/dialog/ComponentShowcaseDialog.kt index 0d167899e9af..3b60a8534a02 100644 --- a/platform/jewel/samples/ide-plugin/src/main/kotlin/org/jetbrains/jewel/samples/ideplugin/dialog/ComponentShowcaseDialog.kt +++ b/platform/jewel/samples/ide-plugin/src/main/kotlin/org/jetbrains/jewel/samples/ideplugin/dialog/ComponentShowcaseDialog.kt @@ -3,13 +3,12 @@ package org.jetbrains.jewel.samples.ideplugin.dialog import androidx.compose.foundation.layout.ExperimentalLayoutApi import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.shape.CornerSize +import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.DpSize import androidx.compose.ui.unit.dp import com.intellij.ide.ui.UISettings -import com.intellij.openapi.application.ApplicationManager -import com.intellij.openapi.application.ModalityState import com.intellij.openapi.project.Project import com.intellij.openapi.ui.DialogWrapper import com.intellij.toolWindow.ResizeStripeManager @@ -24,6 +23,7 @@ import org.jetbrains.jewel.bridge.theme.macOs import org.jetbrains.jewel.bridge.toDpSize import org.jetbrains.jewel.bridge.toPaddingValues import org.jetbrains.jewel.foundation.theme.JewelTheme +import org.jetbrains.jewel.intui.markdown.bridge.ProvideMarkdownStyling import org.jetbrains.jewel.samples.showcase.views.ComponentsView import org.jetbrains.jewel.samples.showcase.views.ComponentsViewModel import org.jetbrains.jewel.ui.component.styling.IconButtonMetrics @@ -32,9 +32,6 @@ import org.jetbrains.jewel.ui.theme.iconButtonStyle internal class ComponentShowcaseDialog(project: Project) : DialogWrapper(project) { init { - ApplicationManager.getApplication() - .invokeLater({ initializeComposeMainDispatcherChecker() }, ModalityState.any()) - title = "Jewel Components Showcase" init() contentPanel.border = JBUI.Borders.empty() @@ -43,44 +40,53 @@ internal class ComponentShowcaseDialog(project: Project) : DialogWrapper(project override fun createSouthPanel(): JComponent? = null - @OptIn(ExperimentalLayoutApi::class) override fun createCenterPanel(): JComponent { - val dialogPanel = JewelComposePanel { - val viewModel = - ComponentsViewModel( - alwaysVisibleScrollbarVisibility = ScrollbarVisibility.AlwaysVisible.default(), - whenScrollingScrollbarVisibility = ScrollbarVisibility.WhenScrolling.macOs(), - ) + val viewModel = + ComponentsViewModel( + alwaysVisibleScrollbarVisibility = ScrollbarVisibility.AlwaysVisible.default(), + whenScrollingScrollbarVisibility = ScrollbarVisibility.WhenScrolling.macOs(), + ) + val dialogPanel = JewelComposePanel { val iconButtonMetrics = JewelTheme.iconButtonStyle.metrics val uiSettings = UISettings.Companion.getInstance() - ComponentsView( - viewModel = viewModel, - toolbarButtonMetrics = - remember(uiSettings.compactMode, ResizeStripeManager.isShowNames()) { - iconButtonMetrics.tweak( - minSize = Toolbar.stripeToolbarButtonSize().toDpSize(), - // See com.intellij.openapi.wm.impl.SquareStripeButtonLook.getButtonArc - cornerSize = - retrieveArcAsCornerSizeOrDefault( - "Button.ToolWindow.arc", - CornerSize(if (uiSettings.compactMode) 4.dp else 6.dp), - ), - padding = - Toolbar.stripeToolbarButtonIconPadding( - uiSettings.compactMode, // compactMode - ResizeStripeManager.isShowNames(), // showNames - ) - .toPaddingValues(), - borderWidth = 0.dp, - ) - }, - ) + ProvideMarkdownStyling { RootLayout(viewModel, uiSettings, iconButtonMetrics) } } dialogPanel.preferredSize = Dimension(800, 600) return dialogPanel } + @OptIn(ExperimentalLayoutApi::class) + @Composable + private fun RootLayout( + viewModel: ComponentsViewModel, + uiSettings: UISettings, + iconButtonMetrics: IconButtonMetrics, + ) { + ComponentsView( + viewModel = viewModel, + toolbarButtonMetrics = + remember(uiSettings.compactMode, ResizeStripeManager.isShowNames()) { + iconButtonMetrics.tweak( + minSize = Toolbar.stripeToolbarButtonSize().toDpSize(), + // See com.intellij.openapi.wm.impl.SquareStripeButtonLook.getButtonArc + cornerSize = + retrieveArcAsCornerSizeOrDefault( + "Button.ToolWindow.arc", + CornerSize(if (uiSettings.compactMode) 4.dp else 6.dp), + ), + padding = + Toolbar.stripeToolbarButtonIconPadding( + uiSettings.compactMode, // compactMode + ResizeStripeManager.isShowNames(), // showNames + ) + .toPaddingValues(), + borderWidth = 0.dp, + ) + }, + ) + } + private fun IconButtonMetrics.tweak( cornerSize: CornerSize = this.cornerSize, borderWidth: Dp = this.borderWidth, diff --git a/platform/jewel/samples/ide-plugin/src/main/kotlin/org/jetbrains/jewel/samples/ideplugin/dialog/ComponentShowcaseDialogAction.kt b/platform/jewel/samples/ide-plugin/src/main/kotlin/org/jetbrains/jewel/samples/ideplugin/dialog/ComponentShowcaseDialogAction.kt index 6de0aa527bec..7334353e4c2e 100644 --- a/platform/jewel/samples/ide-plugin/src/main/kotlin/org/jetbrains/jewel/samples/ideplugin/dialog/ComponentShowcaseDialogAction.kt +++ b/platform/jewel/samples/ide-plugin/src/main/kotlin/org/jetbrains/jewel/samples/ideplugin/dialog/ComponentShowcaseDialogAction.kt @@ -3,20 +3,13 @@ package org.jetbrains.jewel.samples.ideplugin.dialog import com.intellij.openapi.actionSystem.AnActionEvent -import com.intellij.openapi.application.ApplicationManager import com.intellij.openapi.application.EDT -import com.intellij.openapi.application.ModalityState import com.intellij.openapi.components.service import com.intellij.openapi.project.DumbAwareAction import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch internal class ComponentShowcaseDialogAction : DumbAwareAction() { - init { - ApplicationManager.getApplication() - .invokeLater({ initializeComposeMainDispatcherChecker() }, ModalityState.any()) - } - override fun actionPerformed(event: AnActionEvent) { val project = checkNotNull(event.project) { "Project not available" } val scope = project.service().scope diff --git a/platform/jewel/samples/ide-plugin/src/main/kotlin/org/jetbrains/jewel/samples/ideplugin/dialog/DialogDeadlockWorkaround.kt b/platform/jewel/samples/ide-plugin/src/main/kotlin/org/jetbrains/jewel/samples/ideplugin/dialog/DialogDeadlockWorkaround.kt deleted file mode 100644 index a0c5f35b983a..000000000000 --- a/platform/jewel/samples/ide-plugin/src/main/kotlin/org/jetbrains/jewel/samples/ideplugin/dialog/DialogDeadlockWorkaround.kt +++ /dev/null @@ -1,26 +0,0 @@ -// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the -// Apache 2.0 license. -package org.jetbrains.jewel.samples.ideplugin.dialog - -import androidx.lifecycle.Lifecycle -import androidx.lifecycle.LifecycleOwner -import androidx.lifecycle.LifecycleRegistry - -/** - * Initializes the MainDispatcherChecker in Compose; this must be called from the UI thread in non-modal state. This is - * a workaround for a freeze in the UI thread that is triggered by using Compose in a dialog before it has been used in - * a non-modal state. - * - * See https://youtrack.jetbrains.com/issue/IJPL-166436 - * - * TODO Delete this when the upstream bug is fixed. - */ -internal fun initializeComposeMainDispatcherChecker() { - object : LifecycleOwner { - override val lifecycle = LifecycleRegistry(this) - - init { - lifecycle.currentState = Lifecycle.State.STARTED - } - } -} diff --git a/platform/jewel/samples/ide-plugin/src/main/kotlin/org/jetbrains/jewel/samples/ideplugin/dialog/JewelWizardDialogAction.kt b/platform/jewel/samples/ide-plugin/src/main/kotlin/org/jetbrains/jewel/samples/ideplugin/dialog/JewelWizardDialogAction.kt index 2f39340e5612..56f62a6f1ffa 100644 --- a/platform/jewel/samples/ide-plugin/src/main/kotlin/org/jetbrains/jewel/samples/ideplugin/dialog/JewelWizardDialogAction.kt +++ b/platform/jewel/samples/ide-plugin/src/main/kotlin/org/jetbrains/jewel/samples/ideplugin/dialog/JewelWizardDialogAction.kt @@ -13,9 +13,7 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import com.intellij.openapi.actionSystem.AnActionEvent -import com.intellij.openapi.application.ApplicationManager import com.intellij.openapi.application.EDT -import com.intellij.openapi.application.ModalityState import com.intellij.openapi.components.service import com.intellij.openapi.project.DumbAwareAction import com.intellij.openapi.project.Project @@ -30,11 +28,6 @@ import org.jetbrains.jewel.ui.component.Text import org.jetbrains.jewel.ui.component.Typography internal class JewelWizardDialogAction : DumbAwareAction() { - init { - ApplicationManager.getApplication() - .invokeLater({ initializeComposeMainDispatcherChecker() }, ModalityState.any()) - } - override fun actionPerformed(event: AnActionEvent) { val project = checkNotNull(event.project) { "Project not available" } val scope = project.service().scope diff --git a/platform/jewel/samples/ide-plugin/src/main/kotlin/org/jetbrains/jewel/samples/ideplugin/dialog/WizardDialogWrapper.kt b/platform/jewel/samples/ide-plugin/src/main/kotlin/org/jetbrains/jewel/samples/ideplugin/dialog/WizardDialogWrapper.kt index 529f1a3b169d..edb7168f70dc 100644 --- a/platform/jewel/samples/ide-plugin/src/main/kotlin/org/jetbrains/jewel/samples/ideplugin/dialog/WizardDialogWrapper.kt +++ b/platform/jewel/samples/ide-plugin/src/main/kotlin/org/jetbrains/jewel/samples/ideplugin/dialog/WizardDialogWrapper.kt @@ -3,9 +3,7 @@ package org.jetbrains.jewel.samples.ideplugin.dialog import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableIntStateOf -import com.intellij.openapi.application.ApplicationManager import com.intellij.openapi.application.EDT -import com.intellij.openapi.application.ModalityState import com.intellij.openapi.diagnostic.thisLogger import com.intellij.openapi.project.Project import com.intellij.openapi.ui.DialogWrapper @@ -48,8 +46,6 @@ internal class WizardDialogWrapper( init { require(pages.isNotEmpty()) { "Wizard must have at least one page" } - ApplicationManager.getApplication() - .invokeLater({ initializeComposeMainDispatcherChecker() }, ModalityState.any()) init() @@ -63,7 +59,7 @@ internal class WizardDialogWrapper( val newScope = CoroutineScope(coroutineContext) pageScope = newScope - val pageIndex = currentPageIndex.value + val pageIndex = currentPageIndex.intValue val page = pages[pageIndex] backAction.isEnabled = pageIndex > 0 && page.canGoBackwards.value @@ -99,20 +95,20 @@ internal class WizardDialogWrapper( override fun createActions(): Array = arrayOf(cancelAction, backAction, nextAction, finishAction) private fun onBackClick() { - if (currentPageIndex.value <= 0) { + if (currentPageIndex.intValue <= 0) { logger.warn("Trying to go back beyond the first page") return } - currentPageIndex.value -= 1 + currentPageIndex.intValue -= 1 updateActions() } private fun onNextClick() { - if (currentPageIndex.value >= pages.lastIndex) { + if (currentPageIndex.intValue >= pages.lastIndex) { logger.warn("Trying to go next on or beyond the last page") return } - currentPageIndex.value += 1 + currentPageIndex.intValue += 1 updateActions() } diff --git a/platform/jewel/samples/ide-plugin/src/main/kotlin/org/jetbrains/jewel/samples/ideplugin/releasessample/AndroidStudioReleases.kt b/platform/jewel/samples/ide-plugin/src/main/kotlin/org/jetbrains/jewel/samples/ideplugin/releasessample/AndroidStudioReleases.kt index b321564c718a..db749ff2b3e5 100644 --- a/platform/jewel/samples/ide-plugin/src/main/kotlin/org/jetbrains/jewel/samples/ideplugin/releasessample/AndroidStudioReleases.kt +++ b/platform/jewel/samples/ide-plugin/src/main/kotlin/org/jetbrains/jewel/samples/ideplugin/releasessample/AndroidStudioReleases.kt @@ -1,15 +1,609 @@ // Generated by the Jewel Android Studio Releases Generator -// Generated from https://jb.gg/android-studio-releases-list.json on -// 2024-08-07T12:44:17.265182+02:00[Europe/Rome] +// Generated from https://jb.gg/android-studio-releases-list.json on 2025-03-24T13:04:38.321255+01:00[Europe/Rome] package org.jetbrains.jewel.samples.ideplugin.releasessample +import kotlin.String +import kotlin.collections.List import kotlinx.datetime.LocalDate import org.jetbrains.jewel.samples.ideplugin.releasessample.ContentItem.AndroidStudio -@Suppress("LargeClass") -internal object AndroidStudioReleases : ContentSource() { - override val items: List = +internal object AndroidStudioReleases : ContentSource() { + override val items: List = listOf( + AndroidStudio( + displayText = "Android Studio Narwhal | 2025.1.1 Canary 2", + imagePath = null, + versionName = "2025.1.1.2", + build = "AI-251.23774.16.2511.13244498", + platformBuild = "251.23774.16", + platformVersion = "N/A", + channel = ReleaseChannel.Canary, + releaseDate = LocalDate(2025, 3, 20), + key = "AI-251.23774.16.2511.13244498", + ), + AndroidStudio( + displayText = "Android Studio Narwhal | 2025.1.1 Canary 1", + imagePath = null, + versionName = "2025.1.1.1", + build = "AI-251.23774.16.2511.13239840", + platformBuild = "251.23774.16", + platformVersion = "N/A", + channel = ReleaseChannel.Canary, + releaseDate = LocalDate(2025, 3, 19), + key = "AI-251.23774.16.2511.13239840", + ), + AndroidStudio( + displayText = "Android Studio Meerkat Feature Drop | 2024.3.2 Beta 1", + imagePath = null, + versionName = "2024.3.2.9", + build = "AI-243.25659.59.2432.13218502", + platformBuild = "243.25659.59", + platformVersion = "2024.3.5", + channel = ReleaseChannel.Beta, + releaseDate = LocalDate(2025, 3, 18), + key = "AI-243.25659.59.2432.13218502", + ), + AndroidStudio( + displayText = "Android Studio Meerkat Feature Drop | 2024.3.2 Canary 8", + imagePath = null, + versionName = "2024.3.2.8", + build = "AI-243.24978.46.2432.13174079", + platformBuild = "243.24978.46", + platformVersion = "2024.3.3", + channel = ReleaseChannel.Canary, + releaseDate = LocalDate(2025, 3, 7), + key = "AI-243.24978.46.2432.13174079", + ), + AndroidStudio( + displayText = "Android Studio Meerkat | 2024.3.1", + imagePath = null, + versionName = "2024.3.1.13", + build = "AI-243.22562.218.2431.13114758", + platformBuild = "243.22562.218", + platformVersion = "2024.3.2", + channel = ReleaseChannel.Stable, + releaseDate = LocalDate(2025, 3, 4), + key = "AI-243.22562.218.2431.13114758", + ), + AndroidStudio( + displayText = "Android Studio Meerkat Feature Drop | 2024.3.2 Canary 7", + imagePath = null, + versionName = "2024.3.2.7", + build = "AI-243.24978.46.2432.13133389", + platformBuild = "243.24978.46", + platformVersion = "2024.3.3", + channel = ReleaseChannel.Canary, + releaseDate = LocalDate(2025, 2, 27), + key = "AI-243.24978.46.2432.13133389", + ), + AndroidStudio( + displayText = "Android Studio Ladybug Feature Drop | 2024.2.2 Patch 2", + imagePath = null, + versionName = "2024.2.2.15", + build = "AI-242.23726.103.2422.13103373", + platformBuild = "242.23726.103", + platformVersion = "2024.2.4", + channel = ReleaseChannel.Stable, + releaseDate = LocalDate(2025, 2, 26), + key = "AI-242.23726.103.2422.13103373", + ), + AndroidStudio( + displayText = "Android Studio Meerkat Feature Drop | 2024.3.2 Canary 6", + imagePath = null, + versionName = "2024.3.2.6", + build = "AI-243.24978.46.2432.13093109", + platformBuild = "243.24978.46", + platformVersion = "2024.3.3", + channel = ReleaseChannel.Canary, + releaseDate = LocalDate(2025, 2, 21), + key = "AI-243.24978.46.2432.13093109", + ), + AndroidStudio( + displayText = "Android Studio Meerkat | 2024.3.1 RC 2", + imagePath = null, + versionName = "2024.3.1.12", + build = "AI-243.22562.218.2431.13054891", + platformBuild = "243.22562.218", + platformVersion = "2024.3.2", + channel = ReleaseChannel.Other, + releaseDate = LocalDate(2025, 2, 18), + key = "AI-243.22562.218.2431.13054891", + ), + AndroidStudio( + displayText = "Android Studio Meerkat Feature Drop | 2024.3.2 Canary 5", + imagePath = null, + versionName = "2024.3.2.5", + build = "AI-243.23654.117.2432.13058383", + platformBuild = "243.23654.117", + platformVersion = "2024.3.2", + channel = ReleaseChannel.Canary, + releaseDate = LocalDate(2025, 2, 13), + key = "AI-243.23654.117.2432.13058383", + ), + AndroidStudio( + displayText = "Android Studio Ladybug Feature Drop | 2024.2.2 Patch 1", + imagePath = null, + versionName = "2024.2.2.14", + build = "AI-242.23726.103.2422.13016713", + platformBuild = "242.23726.103", + platformVersion = "2024.2.4", + channel = ReleaseChannel.Stable, + releaseDate = LocalDate(2025, 2, 13), + key = "AI-242.23726.103.2422.13016713", + ), + AndroidStudio( + displayText = "Android Studio Meerkat Feature Drop | 2024.3.2 Canary 4", + imagePath = null, + versionName = "2024.3.2.4", + build = "AI-243.23654.117.2432.13021186", + platformBuild = "243.23654.117", + platformVersion = "2024.3.2", + channel = ReleaseChannel.Canary, + releaseDate = LocalDate(2025, 2, 6), + key = "AI-243.23654.117.2432.13021186", + ), + AndroidStudio( + displayText = "Android Studio Meerkat | 2024.3.1 RC 1", + imagePath = null, + versionName = "2024.3.1.11", + build = "AI-243.22562.218.2431.12996373", + platformBuild = "243.22562.218", + platformVersion = "2024.3.2", + channel = ReleaseChannel.Other, + releaseDate = LocalDate(2025, 2, 5), + key = "AI-243.22562.218.2431.12996373", + ), + AndroidStudio( + displayText = "Android Studio Meerkat Feature Drop | 2024.3.2 Canary 3", + imagePath = null, + versionName = "2024.3.2.3", + build = "AI-243.23654.117.2432.12988063", + platformBuild = "243.23654.117", + platformVersion = "2024.3.2", + channel = ReleaseChannel.Canary, + releaseDate = LocalDate(2025, 2, 3), + key = "AI-243.23654.117.2432.12988063", + ), + AndroidStudio( + displayText = "Android Studio Meerkat Feature Drop | 2024.3.2 Canary 2", + imagePath = null, + versionName = "2024.3.2.2", + build = "AI-243.22562.218.2432.12959061", + platformBuild = "243.22562.218", + platformVersion = "2024.3.2", + channel = ReleaseChannel.Canary, + releaseDate = LocalDate(2025, 1, 23), + key = "AI-243.22562.218.2432.12959061", + ), + AndroidStudio( + displayText = "Android Studio Meerkat | 2024.3.1 Beta 1", + imagePath = null, + versionName = "2024.3.1.10", + build = "AI-243.22562.218.2431.12926017", + platformBuild = "243.22562.218", + platformVersion = "2024.3.2", + channel = ReleaseChannel.Beta, + releaseDate = LocalDate(2025, 1, 22), + key = "AI-243.22562.218.2431.12926017", + ), + AndroidStudio( + displayText = "Android Studio Meerkat Feature Drop | 2024.3.2 Canary 1", + imagePath = null, + versionName = "2024.3.2.1", + build = "AI-243.22562.218.2432.12933754", + platformBuild = "243.22562.218", + platformVersion = "2024.3.2", + channel = ReleaseChannel.Canary, + releaseDate = LocalDate(2025, 1, 21), + key = "AI-243.22562.218.2432.12933754", + ), + AndroidStudio( + displayText = "Android Studio Meerkat | 2024.3.1 Canary 9", + imagePath = null, + versionName = "2024.3.1.9", + build = "AI-243.22562.218.2431.12894773", + platformBuild = "243.22562.218", + platformVersion = "2024.3.2", + channel = ReleaseChannel.Canary, + releaseDate = LocalDate(2025, 1, 10), + key = "AI-243.22562.218.2431.12894773", + ), + AndroidStudio( + displayText = "Android Studio Ladybug Feature Drop | 2024.2.2", + imagePath = null, + versionName = "2024.2.2.13", + build = "AI-242.23726.103.2422.12816248", + platformBuild = "242.23726.103", + platformVersion = "2024.2.4", + channel = ReleaseChannel.Stable, + releaseDate = LocalDate(2025, 1, 9), + key = "AI-242.23726.103.2422.12816248", + ), + AndroidStudio( + displayText = "Android Studio Meerkat | 2024.3.1 Canary 8", + imagePath = null, + versionName = "2024.3.1.8", + build = "AI-243.22562.145.2431.12862218", + platformBuild = "243.22562.145", + platformVersion = "2024.3.1", + channel = ReleaseChannel.Canary, + releaseDate = LocalDate(2025, 1, 6), + key = "AI-243.22562.145.2431.12862218", + ), + AndroidStudio( + displayText = "Android Studio Meerkat | 2024.3.1 Canary 7", + imagePath = null, + versionName = "2024.3.1.7", + build = "AI-243.22562.145.2431.12832016", + platformBuild = "243.22562.145", + platformVersion = "2024.3.1", + channel = ReleaseChannel.Canary, + releaseDate = LocalDate(2024, 12, 23), + key = "AI-243.22562.145.2431.12832016", + ), + AndroidStudio( + displayText = "Android Studio Meerkat | 2024.3.1 Canary 6", + imagePath = null, + versionName = "2024.3.1.6", + build = "AI-243.22562.145.2431.12789491", + platformBuild = "243.22562.145", + platformVersion = "2024.3.1", + channel = ReleaseChannel.Canary, + releaseDate = LocalDate(2024, 12, 16), + key = "AI-243.22562.145.2431.12789491", + ), + AndroidStudio( + displayText = "Android Studio Ladybug Feature Drop | 2024.2.2 RC 2", + imagePath = null, + versionName = "2024.2.2.12", + build = "AI-242.23726.103.2422.12785815", + platformBuild = "242.23726.103", + platformVersion = "2024.2.4", + channel = ReleaseChannel.Other, + releaseDate = LocalDate(2024, 12, 16), + key = "AI-242.23726.103.2422.12785815", + ), + AndroidStudio( + displayText = "Android Studio Meerkat | 2024.3.1 Canary 5", + imagePath = null, + versionName = "2024.3.1.5", + build = "AI-243.21565.193.2431.12752199", + platformBuild = "243.21565.193", + platformVersion = "2024.3", + channel = ReleaseChannel.Canary, + releaseDate = LocalDate(2024, 12, 12), + key = "AI-243.21565.193.2431.12752199", + ), + AndroidStudio( + displayText = "Android Studio Ladybug Feature Drop | 2024.2.2 RC 1", + imagePath = null, + versionName = "2024.2.2.11", + build = "AI-242.23726.103.2422.12721465", + platformBuild = "242.23726.103", + platformVersion = "2024.2.4", + channel = ReleaseChannel.Other, + releaseDate = LocalDate(2024, 12, 5), + key = "AI-242.23726.103.2422.12721465", + ), + AndroidStudio( + displayText = "Android Studio Meerkat | 2024.3.1 Canary 4", + imagePath = null, + versionName = "2024.3.1.4", + build = "AI-243.21565.193.2431.12735582", + platformBuild = "243.21565.193", + platformVersion = "2024.3", + channel = ReleaseChannel.Canary, + releaseDate = LocalDate(2024, 12, 2), + key = "AI-243.21565.193.2431.12735582", + ), + AndroidStudio( + displayText = "Android Studio Ladybug | 2024.2.1 Patch 3", + imagePath = null, + versionName = "2024.2.1.12", + build = "AI-242.23339.11.2421.12700392", + platformBuild = "242.23339.11", + platformVersion = "2024.2.3", + channel = ReleaseChannel.Stable, + releaseDate = LocalDate(2024, 12, 2), + key = "AI-242.23339.11.2421.12700392", + ), + AndroidStudio( + displayText = "Android Studio Meerkat | 2024.3.1 Canary 3", + imagePath = null, + versionName = "2024.3.1.3", + build = "AI-243.21565.193.2431.12691553", + platformBuild = "243.21565.193", + platformVersion = "2024.3", + channel = ReleaseChannel.Canary, + releaseDate = LocalDate(2024, 11, 21), + key = "AI-243.21565.193.2431.12691553", + ), + AndroidStudio( + displayText = "Android Studio Ladybug Feature Drop | 2024.2.2 Beta 1", + imagePath = null, + versionName = "2024.2.2.10", + build = "AI-242.23726.103.2422.12630895", + platformBuild = "242.23726.103", + platformVersion = "2024.2.4", + channel = ReleaseChannel.Beta, + releaseDate = LocalDate(2024, 11, 18), + key = "AI-242.23726.103.2422.12630895", + ), + AndroidStudio( + displayText = "Android Studio Meerkat | 2024.3.1 Canary 2", + imagePath = null, + versionName = "2024.3.1.2", + build = "AI-243.21565.129.2431.12655144", + platformBuild = "243.21565.129", + platformVersion = "2024.3", + channel = ReleaseChannel.Canary, + releaseDate = LocalDate(2024, 11, 14), + key = "AI-243.21565.129.2431.12655144", + ), + AndroidStudio( + displayText = "Android Studio Meerkat | 2024.3.1 Canary 1", + imagePath = null, + versionName = "2024.3.1.1", + build = "AI-243.21565.23.2431.12637205", + platformBuild = "243.21565.23", + platformVersion = "2024.3", + channel = ReleaseChannel.Canary, + releaseDate = LocalDate(2024, 11, 12), + key = "AI-243.21565.23.2431.12637205", + ), + AndroidStudio( + displayText = "Android Studio Ladybug Feature Drop | 2024.2.2 Canary 9", + imagePath = null, + versionName = "2024.2.2.9", + build = "AI-242.23339.11.2422.12584204", + platformBuild = "242.23339.11", + platformVersion = "2024.2.3", + channel = ReleaseChannel.Canary, + releaseDate = LocalDate(2024, 10, 31), + key = "AI-242.23339.11.2422.12584204", + ), + AndroidStudio( + displayText = "Android Studio Ladybug | 2024.2.1 Patch 2", + imagePath = null, + versionName = "2024.2.1.11", + build = "AI-242.23339.11.2421.12550806", + platformBuild = "242.23339.11", + platformVersion = "2024.2.3", + channel = ReleaseChannel.Stable, + releaseDate = LocalDate(2024, 10, 31), + key = "AI-242.23339.11.2421.12550806", + ), + AndroidStudio( + displayText = "Android Studio Ladybug Feature Drop | 2024.2.2 Canary 8", + imagePath = null, + versionName = "2024.2.2.8", + build = "AI-242.23339.11.2422.12548333", + platformBuild = "242.23339.11", + platformVersion = "2024.2.3", + channel = ReleaseChannel.Canary, + releaseDate = LocalDate(2024, 10, 25), + key = "AI-242.23339.11.2422.12548333", + ), + AndroidStudio( + displayText = "Android Studio Ladybug Feature Drop | 2024.2.2 Canary 7", + imagePath = null, + versionName = "2024.2.2.7", + build = "AI-242.23339.11.2422.12512484", + platformBuild = "242.23339.11", + platformVersion = "2024.2.3", + channel = ReleaseChannel.Canary, + releaseDate = LocalDate(2024, 10, 17), + key = "AI-242.23339.11.2422.12512484", + ), + AndroidStudio( + displayText = "Android Studio Ladybug Feature Drop | 2024.2.2 Canary 6", + imagePath = null, + versionName = "2024.2.2.6", + build = "AI-242.23339.11.2422.12480590", + platformBuild = "242.23339.11", + platformVersion = "2024.2.3", + channel = ReleaseChannel.Canary, + releaseDate = LocalDate(2024, 10, 14), + key = "AI-242.23339.11.2422.12480590", + ), + AndroidStudio( + displayText = "Android Studio Ladybug | 2024.2.1 Patch 1", + imagePath = null, + versionName = "2024.2.1.10", + build = "AI-242.23339.11.2421.12483815", + platformBuild = "242.23339.11", + platformVersion = "2024.2.3", + channel = ReleaseChannel.Stable, + releaseDate = LocalDate(2024, 10, 14), + key = "AI-242.23339.11.2421.12483815", + ), + AndroidStudio( + displayText = "Android Studio Ladybug Feature Drop | 2024.2.2 Canary 5", + imagePath = null, + versionName = "2024.2.2.5", + build = "AI-242.23339.11.2422.12448552", + platformBuild = "242.23339.11", + platformVersion = "2024.2.3", + channel = ReleaseChannel.Canary, + releaseDate = LocalDate(2024, 10, 3), + key = "AI-242.23339.11.2422.12448552", + ), + AndroidStudio( + displayText = "Android Studio Ladybug | 2024.2.1", + imagePath = null, + versionName = "2024.2.1.9", + build = "AI-242.21829.142.2421.12409432", + platformBuild = "242.21829.142", + platformVersion = "2024.2.1", + channel = ReleaseChannel.Stable, + releaseDate = LocalDate(2024, 10, 1), + key = "AI-242.21829.142.2421.12409432", + ), + AndroidStudio( + displayText = "Android Studio Ladybug Feature Drop | 2024.2.2 Canary 4", + imagePath = null, + versionName = "2024.2.2.4", + build = "AI-242.23339.11.2422.12417746", + platformBuild = "242.23339.11", + platformVersion = "2024.2.3", + channel = ReleaseChannel.Canary, + releaseDate = LocalDate(2024, 9, 26), + key = "AI-242.23339.11.2422.12417746", + ), + AndroidStudio( + displayText = "Android Studio Ladybug Feature Drop | 2024.2.2 Canary 3", + imagePath = null, + versionName = "2024.2.2.3", + build = "AI-242.21829.142.2422.12395834", + platformBuild = "242.21829.142", + platformVersion = "2024.2.1", + channel = ReleaseChannel.Canary, + releaseDate = LocalDate(2024, 9, 23), + key = "AI-242.21829.142.2422.12395834", + ), + AndroidStudio( + displayText = "Android Studio Ladybug | 2024.2.1 RC 1", + imagePath = null, + versionName = "2024.2.1.8", + build = "AI-242.21829.142.2421.12366423", + platformBuild = "242.21829.142", + platformVersion = "2024.2.1", + channel = ReleaseChannel.Other, + releaseDate = LocalDate(2024, 9, 23), + key = "AI-242.21829.142.2421.12366423", + ), + AndroidStudio( + displayText = "Android Studio Koala Feature Drop | 2024.1.2 Patch 1", + imagePath = "/studio-splash-screens/KoalaFeatureDrop-stable.png", + versionName = "2024.1.2.13", + build = "AI-241.19072.14.2412.12360217", + platformBuild = "241.19072.14", + platformVersion = "2024.1.6", + channel = ReleaseChannel.Stable, + releaseDate = LocalDate(2024, 9, 17), + key = "AI-241.19072.14.2412.12360217", + ), + AndroidStudio( + displayText = "Android Studio Ladybug Feature Drop | 2024.2.2 Canary 2", + imagePath = null, + versionName = "2024.2.2.2", + build = "AI-242.21829.142.2422.12358220", + platformBuild = "242.21829.142", + platformVersion = "2024.2.1", + channel = ReleaseChannel.Canary, + releaseDate = LocalDate(2024, 9, 12), + key = "AI-242.21829.142.2422.12358220", + ), + AndroidStudio( + displayText = "Android Studio Ladybug | 2024.2.1 Beta 2", + imagePath = null, + versionName = "2024.2.1.7", + build = "AI-242.21829.142.2421.12332550", + platformBuild = "242.21829.142", + platformVersion = "2024.2.1", + channel = ReleaseChannel.Beta, + releaseDate = LocalDate(2024, 9, 12), + key = "AI-242.21829.142.2421.12332550", + ), + AndroidStudio( + displayText = "Android Studio Ladybug Feature Drop | 2024.2.2 Canary 1", + imagePath = null, + versionName = "2024.2.2.1", + build = "AI-242.21829.142.2422.12329062", + platformBuild = "242.21829.142", + platformVersion = "2024.2.1", + channel = ReleaseChannel.Canary, + releaseDate = LocalDate(2024, 9, 9), + key = "AI-242.21829.142.2422.12329062", + ), + AndroidStudio( + displayText = "Android Studio Ladybug | 2024.2.1 Beta 1", + imagePath = null, + versionName = "2024.2.1.6", + build = "AI-242.20224.300.2421.12312915", + platformBuild = "242.20224.300", + platformVersion = "2024.2", + channel = ReleaseChannel.Beta, + releaseDate = LocalDate(2024, 9, 5), + key = "AI-242.20224.300.2421.12312915", + ), + AndroidStudio( + displayText = "Android Studio Ladybug | 2024.2.1 Canary 9", + imagePath = "/studio-splash-screens/Ladybug-canary.png", + versionName = "2024.2.1.5", + build = "AI-242.20224.300.2421.12293307", + platformBuild = "242.20224.300", + platformVersion = "2024.2", + channel = ReleaseChannel.Canary, + releaseDate = LocalDate(2024, 8, 30), + key = "AI-242.20224.300.2421.12293307", + ), + AndroidStudio( + displayText = "Android Studio Koala Feature Drop | 2024.1.2", + imagePath = "/studio-splash-screens/KoalaFeatureDrop-stable.png", + versionName = "2024.1.2.12", + build = "AI-241.18034.62.2412.12266719", + platformBuild = "241.18034.62", + platformVersion = "2024.1.4", + channel = ReleaseChannel.Stable, + releaseDate = LocalDate(2024, 8, 29), + key = "AI-241.18034.62.2412.12266719", + ), + AndroidStudio( + displayText = "Android Studio Ladybug | 2024.2.1 Canary 8", + imagePath = "/studio-splash-screens/Ladybug-canary.png", + versionName = "2024.2.1.4", + build = "AI-242.20224.300.2421.12279409", + platformBuild = "242.20224.300", + platformVersion = "2024.2", + channel = ReleaseChannel.Canary, + releaseDate = LocalDate(2024, 8, 28), + key = "AI-242.20224.300.2421.12279409", + ), + AndroidStudio( + displayText = "Android Studio Ladybug | 2024.2.1 Canary 7", + imagePath = "/studio-splash-screens/Ladybug-canary.png", + versionName = "2024.2.1.3", + build = "AI-242.20224.300.2421.12232258", + platformBuild = "242.20224.300", + platformVersion = "2024.2", + channel = ReleaseChannel.Canary, + releaseDate = LocalDate(2024, 8, 15), + key = "AI-242.20224.300.2421.12232258", + ), + AndroidStudio( + displayText = "Android Studio Ladybug | 2024.2.1 Canary 6", + imagePath = "/studio-splash-screens/Ladybug-canary.png", + versionName = "2024.2.1.2", + build = "AI-242.20224.300.2421.12216002", + platformBuild = "242.20224.300", + platformVersion = "2024.2", + channel = ReleaseChannel.Canary, + releaseDate = LocalDate(2024, 8, 13), + key = "AI-242.20224.300.2421.12216002", + ), + AndroidStudio( + displayText = "Android Studio Koala | 2024.1.1 Patch 2", + imagePath = "/studio-splash-screens/Koala-stable.png", + versionName = "2024.1.1.13", + build = "AI-241.18034.62.2411.12169540", + platformBuild = "241.18034.62", + platformVersion = "2024.1.4", + channel = ReleaseChannel.Stable, + releaseDate = LocalDate(2024, 8, 8), + key = "AI-241.18034.62.2411.12169540", + ), + AndroidStudio( + displayText = "Android Studio Ladybug | 2024.2.1 Canary 5", + imagePath = "/studio-splash-screens/Ladybug-canary.png", + versionName = "2024.2.1.1", + build = "AI-242.20224.300.2421.12201251", + platformBuild = "242.20224.300", + platformVersion = "2024.2", + channel = ReleaseChannel.Canary, + releaseDate = LocalDate(2024, 8, 8), + key = "AI-242.20224.300.2421.12201251", + ), AndroidStudio( displayText = "Android Studio Koala Feature Drop | 2024.1.2 RC 1", imagePath = "/studio-splash-screens/KoalaFeatureDrop-stable.png", diff --git a/platform/jewel/samples/ide-plugin/src/main/resources/intellij.platform.jewel.samples.idePlugin.xml b/platform/jewel/samples/ide-plugin/src/main/resources/intellij.platform.jewel.samples.idePlugin.xml index 3e1892ab7144..6bdd5a75068d 100644 --- a/platform/jewel/samples/ide-plugin/src/main/resources/intellij.platform.jewel.samples.idePlugin.xml +++ b/platform/jewel/samples/ide-plugin/src/main/resources/intellij.platform.jewel.samples.idePlugin.xml @@ -3,8 +3,8 @@ - - + + diff --git a/platform/jewel/samples/showcase/api-dump-unreviewed.txt b/platform/jewel/samples/showcase/api-dump-unreviewed.txt index 574c3ba3edff..02026e1f8f8a 100644 --- a/platform/jewel/samples/showcase/api-dump-unreviewed.txt +++ b/platform/jewel/samples/showcase/api-dump-unreviewed.txt @@ -11,23 +11,29 @@ f:org.jetbrains.jewel.samples.showcase.components.ChipsAndTreeKt - sf:ChipsSample(androidx.compose.ui.Modifier,androidx.compose.runtime.Composer,I,I):V - sf:SelectableLazyColumnSample(androidx.compose.runtime.Composer,I):V - sf:TreeSample(androidx.compose.ui.Modifier,androidx.compose.runtime.Composer,I,I):V +f:org.jetbrains.jewel.samples.showcase.components.ComboBoxesKt +- sf:ComboBoxes(androidx.compose.runtime.Composer,I):V f:org.jetbrains.jewel.samples.showcase.components.ComposableSingletons$BannersKt - sf:INSTANCE:org.jetbrains.jewel.samples.showcase.components.ComposableSingletons$BannersKt -- s:lambda-1:kotlin.jvm.functions.Function4 +- s:lambda-1:kotlin.jvm.functions.Function3 - s:lambda-2:kotlin.jvm.functions.Function4 -- s:lambda-3:kotlin.jvm.functions.Function4 +- s:lambda-3:kotlin.jvm.functions.Function2 - s:lambda-4:kotlin.jvm.functions.Function4 - s:lambda-5:kotlin.jvm.functions.Function4 - s:lambda-6:kotlin.jvm.functions.Function4 - s:lambda-7:kotlin.jvm.functions.Function4 +- s:lambda-8:kotlin.jvm.functions.Function4 +- s:lambda-9:kotlin.jvm.functions.Function4 - ():V -- f:getLambda-1$intellij_platform_jewel_samples_showcase():kotlin.jvm.functions.Function4 +- f:getLambda-1$intellij_platform_jewel_samples_showcase():kotlin.jvm.functions.Function3 - f:getLambda-2$intellij_platform_jewel_samples_showcase():kotlin.jvm.functions.Function4 -- f:getLambda-3$intellij_platform_jewel_samples_showcase():kotlin.jvm.functions.Function4 +- f:getLambda-3$intellij_platform_jewel_samples_showcase():kotlin.jvm.functions.Function2 - f:getLambda-4$intellij_platform_jewel_samples_showcase():kotlin.jvm.functions.Function4 - f:getLambda-5$intellij_platform_jewel_samples_showcase():kotlin.jvm.functions.Function4 - f:getLambda-6$intellij_platform_jewel_samples_showcase():kotlin.jvm.functions.Function4 - f:getLambda-7$intellij_platform_jewel_samples_showcase():kotlin.jvm.functions.Function4 +- f:getLambda-8$intellij_platform_jewel_samples_showcase():kotlin.jvm.functions.Function4 +- f:getLambda-9$intellij_platform_jewel_samples_showcase():kotlin.jvm.functions.Function4 f:org.jetbrains.jewel.samples.showcase.components.ComposableSingletons$BordersKt - sf:INSTANCE:org.jetbrains.jewel.samples.showcase.components.ComposableSingletons$BordersKt - s:lambda-1:kotlin.jvm.functions.Function2 @@ -97,29 +103,20 @@ f:org.jetbrains.jewel.samples.showcase.components.ComposableSingletons$ChipsAndT - f:getLambda-5$intellij_platform_jewel_samples_showcase():kotlin.jvm.functions.Function2 - f:getLambda-6$intellij_platform_jewel_samples_showcase():kotlin.jvm.functions.Function2 - f:getLambda-7$intellij_platform_jewel_samples_showcase():kotlin.jvm.functions.Function4 -f:org.jetbrains.jewel.samples.showcase.components.ComposableSingletons$DropdownsKt -- sf:INSTANCE:org.jetbrains.jewel.samples.showcase.components.ComposableSingletons$DropdownsKt -- s:lambda-1:kotlin.jvm.functions.Function3 -- s:lambda-10:kotlin.jvm.functions.Function2 -- s:lambda-2:kotlin.jvm.functions.Function2 +f:org.jetbrains.jewel.samples.showcase.components.ComposableSingletons$ComboBoxesKt +- sf:INSTANCE:org.jetbrains.jewel.samples.showcase.components.ComposableSingletons$ComboBoxesKt +- s:lambda-1:kotlin.jvm.functions.Function5 +- s:lambda-2:kotlin.jvm.functions.Function5 - s:lambda-3:kotlin.jvm.functions.Function2 -- s:lambda-4:kotlin.jvm.functions.Function2 -- s:lambda-5:kotlin.jvm.functions.Function2 -- s:lambda-6:kotlin.jvm.functions.Function3 -- s:lambda-7:kotlin.jvm.functions.Function5 -- s:lambda-8:kotlin.jvm.functions.Function5 -- s:lambda-9:kotlin.jvm.functions.Function5 +- ():V +- f:getLambda-1$intellij_platform_jewel_samples_showcase():kotlin.jvm.functions.Function5 +- f:getLambda-2$intellij_platform_jewel_samples_showcase():kotlin.jvm.functions.Function5 +- f:getLambda-3$intellij_platform_jewel_samples_showcase():kotlin.jvm.functions.Function2 +f:org.jetbrains.jewel.samples.showcase.components.ComposableSingletons$ScrollbarsKt +- sf:INSTANCE:org.jetbrains.jewel.samples.showcase.components.ComposableSingletons$ScrollbarsKt +- s:lambda-1:kotlin.jvm.functions.Function3 - ():V - f:getLambda-1$intellij_platform_jewel_samples_showcase():kotlin.jvm.functions.Function3 -- f:getLambda-10$intellij_platform_jewel_samples_showcase():kotlin.jvm.functions.Function2 -- f:getLambda-2$intellij_platform_jewel_samples_showcase():kotlin.jvm.functions.Function2 -- f:getLambda-3$intellij_platform_jewel_samples_showcase():kotlin.jvm.functions.Function2 -- f:getLambda-4$intellij_platform_jewel_samples_showcase():kotlin.jvm.functions.Function2 -- f:getLambda-5$intellij_platform_jewel_samples_showcase():kotlin.jvm.functions.Function2 -- f:getLambda-6$intellij_platform_jewel_samples_showcase():kotlin.jvm.functions.Function3 -- f:getLambda-7$intellij_platform_jewel_samples_showcase():kotlin.jvm.functions.Function5 -- f:getLambda-8$intellij_platform_jewel_samples_showcase():kotlin.jvm.functions.Function5 -- f:getLambda-9$intellij_platform_jewel_samples_showcase():kotlin.jvm.functions.Function5 f:org.jetbrains.jewel.samples.showcase.components.ComposableSingletons$SplitLayoutsKt - sf:INSTANCE:org.jetbrains.jewel.samples.showcase.components.ComposableSingletons$SplitLayoutsKt - s:lambda-1:kotlin.jvm.functions.Function2 @@ -148,16 +145,16 @@ f:org.jetbrains.jewel.samples.showcase.components.ComposableSingletons$TextAreas - s:lambda-2:kotlin.jvm.functions.Function2 - s:lambda-3:kotlin.jvm.functions.Function2 - s:lambda-4:kotlin.jvm.functions.Function2 -- s:lambda-5:kotlin.jvm.functions.Function2 +- s:lambda-5:kotlin.jvm.functions.Function3 - ():V - f:getLambda-1$intellij_platform_jewel_samples_showcase():kotlin.jvm.functions.Function2 - f:getLambda-2$intellij_platform_jewel_samples_showcase():kotlin.jvm.functions.Function2 - f:getLambda-3$intellij_platform_jewel_samples_showcase():kotlin.jvm.functions.Function2 - f:getLambda-4$intellij_platform_jewel_samples_showcase():kotlin.jvm.functions.Function2 -- f:getLambda-5$intellij_platform_jewel_samples_showcase():kotlin.jvm.functions.Function2 +- f:getLambda-5$intellij_platform_jewel_samples_showcase():kotlin.jvm.functions.Function3 f:org.jetbrains.jewel.samples.showcase.components.ComposableSingletons$TextFieldsKt - sf:INSTANCE:org.jetbrains.jewel.samples.showcase.components.ComposableSingletons$TextFieldsKt -- s:lambda-1:kotlin.jvm.functions.Function2 +- s:lambda-1:kotlin.jvm.functions.Function3 - s:lambda-2:kotlin.jvm.functions.Function2 - s:lambda-3:kotlin.jvm.functions.Function2 - s:lambda-4:kotlin.jvm.functions.Function2 @@ -166,7 +163,7 @@ f:org.jetbrains.jewel.samples.showcase.components.ComposableSingletons$TextField - s:lambda-7:kotlin.jvm.functions.Function2 - s:lambda-8:kotlin.jvm.functions.Function4 - ():V -- f:getLambda-1$intellij_platform_jewel_samples_showcase():kotlin.jvm.functions.Function2 +- f:getLambda-1$intellij_platform_jewel_samples_showcase():kotlin.jvm.functions.Function3 - f:getLambda-2$intellij_platform_jewel_samples_showcase():kotlin.jvm.functions.Function2 - f:getLambda-3$intellij_platform_jewel_samples_showcase():kotlin.jvm.functions.Function2 - f:getLambda-4$intellij_platform_jewel_samples_showcase():kotlin.jvm.functions.Function2 @@ -183,8 +180,6 @@ f:org.jetbrains.jewel.samples.showcase.components.ComposableSingletons$TooltipsK - f:getLambda-1$intellij_platform_jewel_samples_showcase():kotlin.jvm.functions.Function2 - f:getLambda-2$intellij_platform_jewel_samples_showcase():kotlin.jvm.functions.Function2 - f:getLambda-3$intellij_platform_jewel_samples_showcase():kotlin.jvm.functions.Function2 -f:org.jetbrains.jewel.samples.showcase.components.DropdownsKt -- sf:Dropdowns(androidx.compose.runtime.Composer,I):V f:org.jetbrains.jewel.samples.showcase.components.IconsKt - sf:Icons(androidx.compose.runtime.Composer,I):V f:org.jetbrains.jewel.samples.showcase.components.LinksKt @@ -230,6 +225,10 @@ f:org.jetbrains.jewel.samples.showcase.components.ShowcaseIcons$Components - f:getToolbar():org.jetbrains.jewel.ui.icon.PathIconKey - f:getTooltip():org.jetbrains.jewel.ui.icon.PathIconKey - f:getTree():org.jetbrains.jewel.ui.icon.PathIconKey +f:org.jetbrains.jewel.samples.showcase.components.ShowcaseIcons$ProgrammingLanguages +- sf:$stable:I +- sf:INSTANCE:org.jetbrains.jewel.samples.showcase.components.ShowcaseIcons$ProgrammingLanguages +- f:getKotlin():org.jetbrains.jewel.ui.icon.PathIconKey f:org.jetbrains.jewel.samples.showcase.components.SliderKt - sf:Sliders(androidx.compose.runtime.Composer,I):V f:org.jetbrains.jewel.samples.showcase.components.SplitLayoutsKt diff --git a/platform/jewel/samples/showcase/api/showcase.api b/platform/jewel/samples/showcase/api/showcase.api index c7ddb1deb737..9e60b76f5bd0 100644 --- a/platform/jewel/samples/showcase/api/showcase.api +++ b/platform/jewel/samples/showcase/api/showcase.api @@ -117,27 +117,24 @@ public final class org/jetbrains/jewel/samples/showcase/components/ComposableSin public final class org/jetbrains/jewel/samples/showcase/components/ComposableSingletons$DropdownsKt { public static final field INSTANCE Lorg/jetbrains/jewel/samples/showcase/components/ComposableSingletons$DropdownsKt; - public static field lambda-1 Lkotlin/jvm/functions/Function3; - public static field lambda-10 Lkotlin/jvm/functions/Function2; - public static field lambda-2 Lkotlin/jvm/functions/Function2; - public static field lambda-3 Lkotlin/jvm/functions/Function2; - public static field lambda-4 Lkotlin/jvm/functions/Function2; + public static field lambda-1 Lkotlin/jvm/functions/Function5; + public static field lambda-2 Lkotlin/jvm/functions/Function5; + public static field lambda-3 Lkotlin/jvm/functions/Function5; + public static field lambda-4 Lkotlin/jvm/functions/Function5; public static field lambda-5 Lkotlin/jvm/functions/Function2; - public static field lambda-6 Lkotlin/jvm/functions/Function3; - public static field lambda-7 Lkotlin/jvm/functions/Function5; - public static field lambda-8 Lkotlin/jvm/functions/Function5; - public static field lambda-9 Lkotlin/jvm/functions/Function5; + public fun ()V + public final fun getLambda-1$showcase ()Lkotlin/jvm/functions/Function5; + public final fun getLambda-2$showcase ()Lkotlin/jvm/functions/Function5; + public final fun getLambda-3$showcase ()Lkotlin/jvm/functions/Function5; + public final fun getLambda-4$showcase ()Lkotlin/jvm/functions/Function5; + public final fun getLambda-5$showcase ()Lkotlin/jvm/functions/Function2; +} + +public final class org/jetbrains/jewel/samples/showcase/components/ComposableSingletons$ScrollbarsKt { + public static final field INSTANCE Lorg/jetbrains/jewel/samples/showcase/components/ComposableSingletons$ScrollbarsKt; + public static field lambda-1 Lkotlin/jvm/functions/Function3; public fun ()V public final fun getLambda-1$showcase ()Lkotlin/jvm/functions/Function3; - public final fun getLambda-10$showcase ()Lkotlin/jvm/functions/Function2; - public final fun getLambda-2$showcase ()Lkotlin/jvm/functions/Function2; - public final fun getLambda-3$showcase ()Lkotlin/jvm/functions/Function2; - public final fun getLambda-4$showcase ()Lkotlin/jvm/functions/Function2; - public final fun getLambda-5$showcase ()Lkotlin/jvm/functions/Function2; - public final fun getLambda-6$showcase ()Lkotlin/jvm/functions/Function3; - public final fun getLambda-7$showcase ()Lkotlin/jvm/functions/Function5; - public final fun getLambda-8$showcase ()Lkotlin/jvm/functions/Function5; - public final fun getLambda-9$showcase ()Lkotlin/jvm/functions/Function5; } public final class org/jetbrains/jewel/samples/showcase/components/ComposableSingletons$SplitLayoutsKt { @@ -172,18 +169,18 @@ public final class org/jetbrains/jewel/samples/showcase/components/ComposableSin public static field lambda-2 Lkotlin/jvm/functions/Function2; public static field lambda-3 Lkotlin/jvm/functions/Function2; public static field lambda-4 Lkotlin/jvm/functions/Function2; - public static field lambda-5 Lkotlin/jvm/functions/Function2; + public static field lambda-5 Lkotlin/jvm/functions/Function3; public fun ()V public final fun getLambda-1$showcase ()Lkotlin/jvm/functions/Function2; public final fun getLambda-2$showcase ()Lkotlin/jvm/functions/Function2; public final fun getLambda-3$showcase ()Lkotlin/jvm/functions/Function2; public final fun getLambda-4$showcase ()Lkotlin/jvm/functions/Function2; - public final fun getLambda-5$showcase ()Lkotlin/jvm/functions/Function2; + public final fun getLambda-5$showcase ()Lkotlin/jvm/functions/Function3; } public final class org/jetbrains/jewel/samples/showcase/components/ComposableSingletons$TextFieldsKt { public static final field INSTANCE Lorg/jetbrains/jewel/samples/showcase/components/ComposableSingletons$TextFieldsKt; - public static field lambda-1 Lkotlin/jvm/functions/Function2; + public static field lambda-1 Lkotlin/jvm/functions/Function3; public static field lambda-2 Lkotlin/jvm/functions/Function2; public static field lambda-3 Lkotlin/jvm/functions/Function2; public static field lambda-4 Lkotlin/jvm/functions/Function2; @@ -192,7 +189,7 @@ public final class org/jetbrains/jewel/samples/showcase/components/ComposableSin public static field lambda-7 Lkotlin/jvm/functions/Function2; public static field lambda-8 Lkotlin/jvm/functions/Function4; public fun ()V - public final fun getLambda-1$showcase ()Lkotlin/jvm/functions/Function2; + public final fun getLambda-1$showcase ()Lkotlin/jvm/functions/Function3; public final fun getLambda-2$showcase ()Lkotlin/jvm/functions/Function2; public final fun getLambda-3$showcase ()Lkotlin/jvm/functions/Function2; public final fun getLambda-4$showcase ()Lkotlin/jvm/functions/Function2; diff --git a/platform/jewel/samples/showcase/build.gradle.kts b/platform/jewel/samples/showcase/build.gradle.kts index ada49c687711..adae6f9f4c60 100644 --- a/platform/jewel/samples/showcase/build.gradle.kts +++ b/platform/jewel/samples/showcase/build.gradle.kts @@ -1,20 +1,14 @@ // Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -import org.jetbrains.compose.ComposeBuildConfig - plugins { jewel - `jewel-publish` - `jewel-check-public-api` alias(libs.plugins.composeDesktop) alias(libs.plugins.compose.compiler) } -private val composeVersion - get() = ComposeBuildConfig.composeVersion - dependencies { implementation(project(":foundation")) implementation(project(":ui")) + implementation(projects.markdown.core) testImplementation(compose.desktop.uiTestJUnit4) testImplementation(compose.desktop.currentOs) { exclude(group = "org.jetbrains.compose.material") } } diff --git a/platform/jewel/samples/showcase/intellij.platform.jewel.samples.showcase.iml b/platform/jewel/samples/showcase/intellij.platform.jewel.samples.showcase.iml index 731a3b6682df..537d34033d2a 100644 --- a/platform/jewel/samples/showcase/intellij.platform.jewel.samples.showcase.iml +++ b/platform/jewel/samples/showcase/intellij.platform.jewel.samples.showcase.iml @@ -36,6 +36,7 @@ + diff --git a/platform/jewel/samples/showcase/src/main/kotlin/org/jetbrains/jewel/samples/showcase/components/Banners.kt b/platform/jewel/samples/showcase/src/main/kotlin/org/jetbrains/jewel/samples/showcase/components/Banners.kt index f501d8c2f52d..2b1e2a01ee5a 100644 --- a/platform/jewel/samples/showcase/src/main/kotlin/org/jetbrains/jewel/samples/showcase/components/Banners.kt +++ b/platform/jewel/samples/showcase/src/main/kotlin/org/jetbrains/jewel/samples/showcase/components/Banners.kt @@ -17,6 +17,8 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import org.jetbrains.jewel.foundation.theme.JewelTheme +import org.jetbrains.jewel.markdown.Markdown +import org.jetbrains.jewel.ui.component.CheckboxRow import org.jetbrains.jewel.ui.component.ErrorDefaultBanner import org.jetbrains.jewel.ui.component.ErrorInlineBanner import org.jetbrains.jewel.ui.component.GroupHeader @@ -44,7 +46,7 @@ private const val LONG_IPSUM = "fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa " + "qui officia deserunt mollit anim id est laborum." -@ExperimentalLayoutApi +@OptIn(ExperimentalLayoutApi::class) @Composable public fun Banners() { Column { @@ -110,27 +112,43 @@ public fun Banners() { GroupHeader("Inline banner") + var showTitle by remember { mutableStateOf(false) } + var optionalTitle: String? by remember { mutableStateOf(null) } + CheckboxRow( + checked = showTitle, + onCheckedChange = { + showTitle = it + optionalTitle = if (showTitle) "I'm an optional title " + LONG_IPSUM else null + }, + ) { + Text("Show optional title") + } + InformationInlineBanner( icon = null, style = JewelTheme.inlineBannerStyle.information, text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt", + title = optionalTitle, ) InformationInlineBanner( icon = null, style = JewelTheme.inlineBannerStyle.information, - text = LONG_IPSUM, + title = optionalTitle, actionIcons = { IconButton(onClick = { clickLabel = "Info inline no icon Action Icon clicked" }) { Icon(AllIconsKeys.General.Close, "Close button") } }, - ) + ) { + Markdown("This is a **Markdown** banner — [watch](https://youtu.be/dQw4w9WgXcQ) `this` out ;)") + } InformationInlineBanner( icon = null, style = JewelTheme.inlineBannerStyle.information, text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt", + title = optionalTitle, actions = { Link("Action A", onClick = { clickLabel = "Info inline no icon Action A clicked" }) Link("Action B", onClick = { clickLabel = "Info inline no icon Action B clicked" }) @@ -141,6 +159,7 @@ public fun Banners() { icon = null, style = JewelTheme.inlineBannerStyle.information, text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt", + title = optionalTitle, actionIcons = { IconButton(onClick = { clickLabel = "Info inline no icon Action Icon clicked" }) { Icon(AllIconsKeys.General.Close, "Close button") @@ -155,10 +174,12 @@ public fun Banners() { InformationInlineBanner( style = JewelTheme.inlineBannerStyle.information, text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt", + title = optionalTitle, ) ErrorInlineBanner( style = JewelTheme.inlineBannerStyle.error, text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt", + title = optionalTitle, actionIcons = { IconButton(onClick = { clickLabel = "Error Inline Action Icon clicked" }) { Icon(AllIconsKeys.General.Close, "Close button") @@ -168,6 +189,7 @@ public fun Banners() { InformationInlineBanner( style = JewelTheme.inlineBannerStyle.information, text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt", + title = optionalTitle, actions = { Link("Action A", onClick = { clickLabel = "Information Inline Action A clicked" }) Link("Action B", onClick = { clickLabel = "Information Inline Action B clicked" }) @@ -176,6 +198,7 @@ public fun Banners() { SuccessInlineBanner( style = JewelTheme.inlineBannerStyle.success, text = LONG_IPSUM, + title = optionalTitle, actions = { Link("Action A", onClick = { clickLabel = "Success Inline Action A clicked" }) Link("Action B", onClick = { clickLabel = "Success Inline Action B clicked" }) @@ -192,6 +215,7 @@ public fun Banners() { WarningInlineBanner( style = JewelTheme.inlineBannerStyle.warning, text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt", + title = optionalTitle, actions = { Link("Action A", onClick = { clickLabel = "Warning Inline Action A clicked" }) }, actionIcons = { IconButton(onClick = { clickLabel = "Error Close Icon clicked" }) { diff --git a/platform/jewel/samples/showcase/src/main/kotlin/org/jetbrains/jewel/samples/showcase/components/ChipsAndTree.kt b/platform/jewel/samples/showcase/src/main/kotlin/org/jetbrains/jewel/samples/showcase/components/ChipsAndTree.kt index 3626ec52da45..8a02513a8231 100644 --- a/platform/jewel/samples/showcase/src/main/kotlin/org/jetbrains/jewel/samples/showcase/components/ChipsAndTree.kt +++ b/platform/jewel/samples/showcase/src/main/kotlin/org/jetbrains/jewel/samples/showcase/components/ChipsAndTree.kt @@ -7,7 +7,6 @@ import androidx.compose.foundation.background import androidx.compose.foundation.border import androidx.compose.foundation.clickable import androidx.compose.foundation.focusable -import androidx.compose.foundation.interaction.MutableInteractionSource import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column @@ -32,7 +31,6 @@ import kotlin.random.Random import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import org.jetbrains.jewel.foundation.lazy.SelectableLazyColumn -import org.jetbrains.jewel.foundation.lazy.SelectionMode import org.jetbrains.jewel.foundation.lazy.rememberSelectableLazyListState import org.jetbrains.jewel.foundation.lazy.tree.buildTree import org.jetbrains.jewel.foundation.theme.JewelTheme @@ -76,35 +74,28 @@ public fun SelectableLazyColumnSample() { launch(Dispatchers.Default) { listOfItems = List(5_000_000) { "Item $it" } } } - val interactionSource = remember { MutableInteractionSource() } val state = rememberSelectableLazyListState() Box(modifier = Modifier.size(200.dp, 200.dp)) { if (listOfItems.isEmpty()) { CircularProgressIndicator(Modifier.align(Alignment.Center)) } else { - SelectableLazyColumn( - modifier = Modifier.focusable(interactionSource = interactionSource), - selectionMode = SelectionMode.Multiple, - state = state, - interactionSource = remember { MutableInteractionSource() }, - content = { - items(count = listOfItems.size, key = { index -> listOfItems[index] }) { index -> - Text( - text = listOfItems[index], - modifier = - Modifier.fillMaxWidth() - .then( - when { - isSelected && isActive -> Modifier.background(Color.Blue) - isSelected && !isActive -> Modifier.background(Color.Gray) - else -> Modifier - } - ) - .clickable { JewelLogger.getInstance("ChipsAndTree").info("Click on $index") }, - ) - } - }, - ) + SelectableLazyColumn(modifier = Modifier.focusable(), state = state) { + items(count = listOfItems.size, key = { index -> listOfItems[index] }) { index -> + Text( + text = listOfItems[index], + modifier = + Modifier.fillMaxWidth() + .then( + when { + isSelected && isActive -> Modifier.background(Color.Blue) + isSelected && !isActive -> Modifier.background(Color.Gray) + else -> Modifier + } + ) + .clickable { JewelLogger.getInstance("ChipsAndTree").info("Click on $index") }, + ) + } + } VerticalScrollbar( rememberScrollbarAdapter(state.lazyListState), modifier = Modifier.align(Alignment.CenterEnd), @@ -190,7 +181,7 @@ public fun TreeSample(modifier: Modifier = Modifier) { Box(modifier.border(1.dp, borderColor, RoundedCornerShape(2.dp))) { LazyTree( tree = tree, - modifier = Modifier.size(200.dp, 200.dp), + modifier = Modifier.size(200.dp, 200.dp).focusable(), onElementClick = {}, onElementDoubleClick = {}, ) { element -> diff --git a/platform/jewel/samples/showcase/src/main/kotlin/org/jetbrains/jewel/samples/showcase/components/ComboBoxes.kt b/platform/jewel/samples/showcase/src/main/kotlin/org/jetbrains/jewel/samples/showcase/components/ComboBoxes.kt new file mode 100644 index 000000000000..96eb37c70c78 --- /dev/null +++ b/platform/jewel/samples/showcase/src/main/kotlin/org/jetbrains/jewel/samples/showcase/components/ComboBoxes.kt @@ -0,0 +1,283 @@ +// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the +// Apache 2.0 license. +package org.jetbrains.jewel.samples.showcase.components + +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.widthIn +import androidx.compose.foundation.text.input.rememberTextFieldState +import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableIntStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.ColorFilter +import androidx.compose.ui.text.style.TextOverflow +import androidx.compose.ui.unit.dp +import org.jetbrains.jewel.foundation.theme.JewelTheme +import org.jetbrains.jewel.ui.component.ComboBox +import org.jetbrains.jewel.ui.component.DefaultButton +import org.jetbrains.jewel.ui.component.EditableComboBox +import org.jetbrains.jewel.ui.component.EditableListComboBox +import org.jetbrains.jewel.ui.component.GroupHeader +import org.jetbrains.jewel.ui.component.ListComboBox +import org.jetbrains.jewel.ui.component.PopupContainer +import org.jetbrains.jewel.ui.component.PopupManager +import org.jetbrains.jewel.ui.component.SimpleListItem +import org.jetbrains.jewel.ui.component.Text +import org.jetbrains.jewel.ui.disabled +import org.jetbrains.jewel.ui.icon.IconKey +import org.jetbrains.jewel.ui.icons.AllIconsKeys + +private val stringItems = + listOf( + "Cat", + "Elephant", + "Sun", + "Book", + "Laughter", + "Whisper", + "Ocean", + "Serendipity lorem ipsum", + "Umbrella", + "Joy", + ) + +private val languageOptions = + listOf( + ProgrammingLanguage("Kotlin", ShowcaseIcons.ProgrammingLanguages.Kotlin), + ProgrammingLanguage("Java", AllIconsKeys.FileTypes.Java), + ProgrammingLanguage("Python", AllIconsKeys.Language.Python), + ProgrammingLanguage("JavaScript", AllIconsKeys.FileTypes.JavaScript), + ProgrammingLanguage("Java", AllIconsKeys.FileTypes.Java), + ProgrammingLanguage("Rust", AllIconsKeys.Language.Rust), + ProgrammingLanguage("Go", AllIconsKeys.Language.GO), + ProgrammingLanguage("Ruby", AllIconsKeys.Language.Ruby), + ) + +@Composable +public fun ComboBoxes() { + GroupHeader("List combo box (aka dropdown)") + ListComboBoxes() + + GroupHeader("Editable list combo box") + EditableListComboBoxes() + + GroupHeader("Custom combo boxes") + CustomComboBoxes() +} + +@Composable +private fun ListComboBoxes() { + Row(horizontalArrangement = Arrangement.spacedBy(8.dp)) { + Column(Modifier.weight(1f), verticalArrangement = Arrangement.spacedBy(8.dp)) { + Text("String-based API, enabled") + var selectedIndex by remember { mutableIntStateOf(2) } + val selectedItemText = if (selectedIndex >= 0) stringItems[selectedIndex] else "[none]" + InfoText(text = "Selected item: $selectedItemText") + + ListComboBox( + items = stringItems, + selectedIndex = selectedIndex, + onSelectedItemChange = { index -> selectedIndex = index }, + modifier = Modifier.widthIn(max = 200.dp), + itemKeys = { _, item -> item }, + ) + } + + Column(Modifier.weight(1f), verticalArrangement = Arrangement.spacedBy(8.dp)) { + Text("Generics-based API, enabled") + var selectedIndex by remember { mutableIntStateOf(2) } + val selectedItemText = if (selectedIndex >= 0) languageOptions[selectedIndex].name else "[none]" + InfoText(text = "Selected item: $selectedItemText") + + ListComboBox( + items = languageOptions, + selectedIndex = selectedIndex, + modifier = Modifier.widthIn(max = 200.dp), + onSelectedItemChange = { index -> selectedIndex = index }, + itemKeys = { index, _ -> index }, + itemContent = { item, isSelected, isActive -> + SimpleListItem( + text = item.name, + selected = isSelected, + active = isActive, + iconContentDescription = item.name, + icon = item.icon, + colorFilter = null, + ) + }, + ) + } + + Column(Modifier.weight(1f), verticalArrangement = Arrangement.spacedBy(8.dp)) { + Text("String-based API, disabled") + var selectedIndex by remember { mutableIntStateOf(2) } + val selectedItemText = if (selectedIndex >= 0) stringItems[selectedIndex] else "[none]" + InfoText(text = "Selected item: $selectedItemText") + + ListComboBox( + items = stringItems, + selectedIndex = selectedIndex, + onSelectedItemChange = { index -> selectedIndex = index }, + modifier = Modifier.widthIn(max = 200.dp), + enabled = false, + ) + } + + Column(Modifier.weight(1f), verticalArrangement = Arrangement.spacedBy(8.dp)) { + Text("Generics-based API, disabled") + var selectedIndex by remember { mutableIntStateOf(2) } + val selectedItemText = if (selectedIndex >= 0) languageOptions[selectedIndex].name else "[none]" + InfoText(text = "Selected item: $selectedItemText") + + ListComboBox( + items = languageOptions, + selectedIndex = selectedIndex, + modifier = Modifier.widthIn(max = 200.dp), + enabled = false, + onSelectedItemChange = { index -> selectedIndex = index }, + itemKeys = { index, _ -> index }, + itemContent = { item, isSelected, isActive -> + SimpleListItem( + text = item.name, + selected = isSelected, + active = isActive, + iconContentDescription = item.name, + icon = item.icon, + colorFilter = ColorFilter.disabled(), + ) + }, + ) + } + } +} + +@Composable +private fun EditableListComboBoxes() { + Row(horizontalArrangement = Arrangement.spacedBy(8.dp)) { + Column(Modifier.weight(1f), verticalArrangement = Arrangement.spacedBy(8.dp)) { + Text("String-based API, enabled") + var selectedIndex by remember { mutableIntStateOf(2) } + val selectedItemText = if (selectedIndex >= 0) stringItems[selectedIndex] else "[none]" + InfoText(text = "Selected item: $selectedItemText") + + EditableListComboBox( + items = stringItems, + selectedIndex = selectedIndex, + onSelectedItemChange = { index -> selectedIndex = index }, + modifier = Modifier.widthIn(max = 200.dp), + ) + } + + Column(Modifier.weight(1f), verticalArrangement = Arrangement.spacedBy(8.dp)) { + Text("String-based API, disabled") + var selectedIndex by remember { mutableIntStateOf(2) } + val selectedItemText = if (selectedIndex >= 0) stringItems[selectedIndex] else "[none]" + InfoText(text = "Selected item: $selectedItemText") + + EditableListComboBox( + items = stringItems, + selectedIndex = selectedIndex, + onSelectedItemChange = { index -> selectedIndex = index }, + modifier = Modifier.widthIn(max = 200.dp), + enabled = false, + ) + } + } +} + +@Composable +private fun CustomComboBoxes() { + Row(horizontalArrangement = Arrangement.spacedBy(8.dp)) { + Column(Modifier.weight(1f), verticalArrangement = Arrangement.spacedBy(8.dp)) { + Text("String-based API, non-editable") + + val popupManager = remember { PopupManager() } + var selectedIndex by remember { mutableIntStateOf(2) } + val selectedItemText = if (selectedIndex >= 0) stringItems[selectedIndex] else "[none]" + + ComboBox( + labelText = selectedItemText, + modifier = Modifier.widthIn(max = 200.dp), + popupManager = popupManager, + popupContent = { + CustomPopupContent(popupManager) { + selectedIndex = stringItems.indices.random() + popupManager.setPopupVisible(false) + } + }, + ) + } + + Column(Modifier.weight(1f), verticalArrangement = Arrangement.spacedBy(8.dp)) { + Text("Generics-based API, non-editable") + + val popupManager = remember { PopupManager() } + var selectedIndex by remember { mutableIntStateOf(2) } + + ComboBox( + modifier = Modifier.widthIn(max = 200.dp), + popupManager = popupManager, + popupContent = { + CustomPopupContent(popupManager) { + selectedIndex = languageOptions.indices.random() + popupManager.setPopupVisible(false) + } + }, + labelContent = { + SimpleListItem( + text = languageOptions[selectedIndex].name, + icon = languageOptions[selectedIndex].icon, + isSelected = false, + isActive = true, + ) + }, + ) + } + + Column(Modifier.weight(1f), verticalArrangement = Arrangement.spacedBy(8.dp)) { + Text("String-based API, editable") + + val popupManager = remember { PopupManager() } + val state = rememberTextFieldState(stringItems[2]) + + EditableComboBox( + textFieldState = state, + modifier = Modifier.widthIn(max = 200.dp), + popupManager = popupManager, + popupContent = { + CustomPopupContent(popupManager) { + val newItemIndex = stringItems.indices.random() + state.edit { replace(0, originalText.length, stringItems[newItemIndex]) } + popupManager.setPopupVisible(false) + } + }, + ) + } + } +} + +@Composable +private fun CustomPopupContent(popupManager: PopupManager, onButtonClick: () -> Unit) { + PopupContainer(onDismissRequest = { popupManager.setPopupVisible(false) }, horizontalAlignment = Alignment.Start) { + Column( + Modifier.padding(horizontal = 16.dp, vertical = 8.dp), + verticalArrangement = Arrangement.spacedBy(8.dp), + ) { + InfoText("Your custom content here!") + DefaultButton(onClick = onButtonClick) { Text("Pick a random item") } + } + } +} + +@Composable +private fun InfoText(text: String) { + Text(text, maxLines = 1, overflow = TextOverflow.Ellipsis, color = JewelTheme.globalColors.text.info) +} + +private data class ProgrammingLanguage(val name: String, val icon: IconKey) diff --git a/platform/jewel/samples/showcase/src/main/kotlin/org/jetbrains/jewel/samples/showcase/components/Dropdowns.kt b/platform/jewel/samples/showcase/src/main/kotlin/org/jetbrains/jewel/samples/showcase/components/Dropdowns.kt deleted file mode 100644 index e79575e8ffb0..000000000000 --- a/platform/jewel/samples/showcase/src/main/kotlin/org/jetbrains/jewel/samples/showcase/components/Dropdowns.kt +++ /dev/null @@ -1,317 +0,0 @@ -// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the -// Apache 2.0 license. -package org.jetbrains.jewel.samples.showcase.components - -import androidx.compose.foundation.layout.Arrangement -import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.layout.Row -import androidx.compose.foundation.layout.Spacer -import androidx.compose.foundation.layout.height -import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.layout.width -import androidx.compose.foundation.text.input.rememberTextFieldState -import androidx.compose.runtime.Composable -import androidx.compose.runtime.getValue -import androidx.compose.runtime.mutableIntStateOf -import androidx.compose.runtime.mutableStateOf -import androidx.compose.runtime.remember -import androidx.compose.runtime.setValue -import androidx.compose.ui.Alignment -import androidx.compose.ui.Modifier -import androidx.compose.ui.text.style.TextOverflow -import androidx.compose.ui.unit.dp -import kotlin.random.Random -import org.jetbrains.jewel.ui.Outline -import org.jetbrains.jewel.ui.component.Dropdown -import org.jetbrains.jewel.ui.component.EditableComboBox -import org.jetbrains.jewel.ui.component.EditableListComboBox -import org.jetbrains.jewel.ui.component.GroupHeader -import org.jetbrains.jewel.ui.component.ListComboBox -import org.jetbrains.jewel.ui.component.PopupContainer -import org.jetbrains.jewel.ui.component.PopupManager -import org.jetbrains.jewel.ui.component.SimpleListItem -import org.jetbrains.jewel.ui.component.Text -import org.jetbrains.jewel.ui.component.separator -import org.jetbrains.jewel.ui.icons.AllIconsKeys - -@Composable -public fun Dropdowns() { - Column { - OldDropdowns() - - Spacer(modifier = Modifier.height(24.dp)) - - ComboBoxes() - } -} - -@Composable -private fun OldDropdowns() { - GroupHeader("Dropdowns (deprecated)") - - Spacer(modifier = Modifier.height(8.dp)) - - Row(horizontalArrangement = Arrangement.spacedBy(10.dp), verticalAlignment = Alignment.CenterVertically) { - val items = remember { listOf("Light", "Dark", "---", "High Contrast", "Darcula", "IntelliJ Light") } - var selected by remember { mutableStateOf(items.first()) } - - Dropdown(enabled = false, menuContent = {}) { Text("Disabled") } - Dropdown( - menuContent = { - items.forEach { - if (it == "---") { - separator() - } else { - selectableItem(selected = selected == it, onClick = { selected = it }) { Text(it) } - } - } - separator() - submenu( - submenu = { - items.forEach { - if (it == "---") { - separator() - } else { - selectableItem(selected = selected == it, onClick = { selected = it }) { Text(it) } - } - } - separator() - submenu( - submenu = { - items.forEach { - if (it == "---") { - separator() - } else { - selectableItem(selected = selected == it, onClick = { selected = it }) { - Text(it) - } - } - } - } - ) { - Text("Submenu2") - } - } - ) { - Text("Submenu") - } - } - ) { - Text(selected) - } - Dropdown( - outline = Outline.Error, - menuContent = { - items.forEach { - if (it == "---") { - separator() - } else { - selectableItem(selected = selected == it, onClick = { selected = it }) { Text(it) } - } - } - }, - ) { - Text(selected) - } - Dropdown( - menuContent = { - items.forEach { - if (it == "---") { - separator() - } else { - selectableItem( - iconKey = dropdownIconsSample.random(), - keybinding = - if (Random.nextBoolean()) { - null - } else { - dropdownKeybindingsSample.shuffled().take(2).toSet() - }, - selected = false, - onClick = {}, - ) { - Text(it) - } - } - } - submenu( - submenu = { - items.forEach { - if (it == "---") { - separator() - } else { - selectableItem( - iconKey = dropdownIconsSample.random(), - keybinding = - if (Random.nextBoolean()) { - null - } else { - dropdownKeybindingsSample.shuffled().take(2).toSet() - }, - selected = false, - onClick = {}, - ) { - Text(it) - } - } - } - separator() - submenu( - submenu = { - items.forEach { - if (it == "---") { - separator() - } else { - selectableItem( - iconKey = dropdownIconsSample.random(), - selected = false, - onClick = {}, - ) { - Text(it) - } - } - } - } - ) { - Text("Submenu2") - } - } - ) { - Text("Submenu") - } - } - ) { - Text("With icons") - } - } -} - -private val dropdownIconsSample = listOf(AllIconsKeys.Actions.Find, AllIconsKeys.Actions.Close, null) -private val dropdownKeybindingsSample = setOf("A", "B", "?", "?", "?") - -@Composable -private fun ComboBoxes() { - GroupHeader("List combobox") - ListComboBoxes() - - Spacer(modifier = Modifier.height(16.dp)) - - GroupHeader("Simple combobox") - SimpleComboBoxes() -} - -@Composable -private fun ListComboBoxes() { - val comboBoxItems = remember { - listOf( - "Cat", - "Elephant", - "Sun", - "Book", - "Laughter", - "Whisper", - "Ocean", - "Serendipity lorem ipsum", - "Umbrella", - "Joy", - ) - } - - Row(horizontalArrangement = Arrangement.spacedBy(8.dp)) { - Column(Modifier.weight(1f).padding(top = 8.dp), verticalArrangement = Arrangement.spacedBy(8.dp)) { - Text("Enabled and Editable") - - var selectedIndex by remember { mutableIntStateOf(2) } - val selectedItemText = if (selectedIndex >= 0) comboBoxItems[selectedIndex] else "" - Text(text = "Selected item: $selectedItemText", maxLines = 1, overflow = TextOverflow.Ellipsis) - - EditableListComboBox( - items = comboBoxItems, - selectedIndex = selectedIndex, - onItemSelected = { index, text -> selectedIndex = index }, - modifier = Modifier.width(200.dp), - maxPopupHeight = 150.dp, - itemContent = { item, isSelected, isActive -> - SimpleListItem( - text = item, - isSelected = isSelected, - isActive = isActive, - iconContentDescription = item, - ) - }, - ) - } - - Column(Modifier.weight(1f).padding(top = 8.dp), verticalArrangement = Arrangement.spacedBy(8.dp)) { - Text("Enabled") - var selectedIndex by remember { mutableIntStateOf(2) } - val selectedItemText = if (selectedIndex >= 0) comboBoxItems[selectedIndex] else "" - Text(text = "Selected item: $selectedItemText", maxLines = 1, overflow = TextOverflow.Ellipsis) - - ListComboBox( - items = comboBoxItems, - selectedIndex = selectedIndex, - modifier = Modifier.width(200.dp), - maxPopupHeight = 150.dp, - onItemSelected = { index, text -> selectedIndex = index }, - itemContent = { item, isSelected, isActive -> - SimpleListItem( - text = item, - isSelected = isSelected, - isActive = isActive, - iconContentDescription = item, - ) - }, - ) - } - - Column(Modifier.weight(1f).padding(top = 8.dp), verticalArrangement = Arrangement.spacedBy(8.dp)) { - Text("Disabled") - var selectedIndex by remember { mutableIntStateOf(2) } - val selectedItemText = if (selectedIndex >= 0) comboBoxItems[selectedIndex] else "" - Text(text = "Selected item: $selectedItemText", maxLines = 1, overflow = TextOverflow.Ellipsis) - - ListComboBox( - isEnabled = false, - items = comboBoxItems, - selectedIndex = selectedIndex, - modifier = Modifier.width(200.dp), - maxPopupHeight = 150.dp, - onItemSelected = { index, text -> selectedIndex = index }, - itemContent = { item, isSelected, isActive -> - SimpleListItem( - text = item, - isSelected = isSelected, - isActive = isActive, - iconContentDescription = item, - ) - }, - ) - } - } -} - -@Composable -private fun SimpleComboBoxes() { - Row(horizontalArrangement = Arrangement.spacedBy(8.dp)) { - Column(Modifier.weight(1f), verticalArrangement = Arrangement.spacedBy(8.dp)) { - Text("Enabled and Editable") - - val popupManager = remember { PopupManager() } - val state = rememberTextFieldState() - EditableComboBox( - textFieldState = state, - modifier = Modifier.width(200.dp), - popupManager = popupManager, - popupContent = { - PopupContainer( - onDismissRequest = { popupManager.setPopupVisible(false) }, - horizontalAlignment = Alignment.Start, - ) { - Text("Your custom popup here!", Modifier.padding(horizontal = 16.dp, vertical = 8.dp)) - } - }, - ) - } - } -} diff --git a/platform/jewel/samples/showcase/src/main/kotlin/org/jetbrains/jewel/samples/showcase/components/Scrollbars.kt b/platform/jewel/samples/showcase/src/main/kotlin/org/jetbrains/jewel/samples/showcase/components/Scrollbars.kt index 39efe0a97109..67f2a4aaace2 100644 --- a/platform/jewel/samples/showcase/src/main/kotlin/org/jetbrains/jewel/samples/showcase/components/Scrollbars.kt +++ b/platform/jewel/samples/showcase/src/main/kotlin/org/jetbrains/jewel/samples/showcase/components/Scrollbars.kt @@ -3,6 +3,7 @@ package org.jetbrains.jewel.samples.showcase.components import androidx.compose.foundation.background +import androidx.compose.foundation.border import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column @@ -17,9 +18,8 @@ import androidx.compose.foundation.layout.width import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.itemsIndexed import androidx.compose.foundation.lazy.rememberLazyListState -import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.selection.selectableGroup -import androidx.compose.foundation.verticalScroll +import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf @@ -40,12 +40,12 @@ import org.jetbrains.jewel.ui.component.HorizontallyScrollableContainer import org.jetbrains.jewel.ui.component.RadioButtonRow import org.jetbrains.jewel.ui.component.Text import org.jetbrains.jewel.ui.component.Typography -import org.jetbrains.jewel.ui.component.VerticalScrollbar import org.jetbrains.jewel.ui.component.VerticallyScrollableContainer import org.jetbrains.jewel.ui.component.scrollbarContentSafePadding import org.jetbrains.jewel.ui.component.styling.ScrollbarStyle import org.jetbrains.jewel.ui.component.styling.ScrollbarVisibility import org.jetbrains.jewel.ui.component.styling.TrackClickBehavior +import org.jetbrains.jewel.ui.theme.colorPalette import org.jetbrains.jewel.ui.theme.scrollbarStyle import org.jetbrains.jewel.ui.theme.textAreaStyle import org.jetbrains.skiko.OS @@ -92,7 +92,14 @@ public fun Scrollbars( ColumnWithScrollbar(style, Modifier.height(200.dp).weight(1f)) } - HorizontalScrollbarContent(style, Modifier.fillMaxWidth()) + Row( + Modifier.fillMaxWidth(), + horizontalArrangement = Arrangement.spacedBy(16.dp), + verticalAlignment = Alignment.CenterVertically, + ) { + HorizontalScrollbarContent(style, Modifier.weight(1f).fillMaxHeight()) + AlignedContentExample(style, Modifier.weight(1f).fillMaxHeight()) + } } } @@ -176,13 +183,12 @@ private fun ColumnWithScrollbar(style: ScrollbarStyle, modifier: Modifier) { Text("Column", fontSize = 18.sp) Spacer(Modifier.height(8.dp)) - Box(Modifier.border(Stroke.Alignment.Outside, 1.dp, JewelTheme.globalColors.borders.normal)) { - val scrollState = rememberScrollState() + VerticallyScrollableContainer( + modifier = Modifier.border(Stroke.Alignment.Outside, 1.dp, JewelTheme.globalColors.borders.normal), + style = style, + ) { Column( - modifier = - Modifier.background(JewelTheme.textAreaStyle.colors.background) - .verticalScroll(scrollState) - .align(Alignment.CenterStart) + modifier = Modifier.background(JewelTheme.textAreaStyle.colors.background).align(Alignment.CenterStart) ) { LIST_ITEMS.forEachIndexed { index, line -> Text( @@ -197,27 +203,73 @@ private fun ColumnWithScrollbar(style: ScrollbarStyle, modifier: Modifier) { } } } - VerticalScrollbar(scrollState = scrollState, modifier = Modifier.align(Alignment.CenterEnd), style = style) } } } @Composable private fun HorizontalScrollbarContent(scrollbarStyle: ScrollbarStyle, modifier: Modifier) { - HorizontallyScrollableContainer( - modifier = modifier.border(Stroke.Alignment.Outside, 1.dp, JewelTheme.globalColors.borders.normal), - style = scrollbarStyle, - ) { - Column( + Column(modifier) { + Text("Column", fontSize = 18.sp) + Spacer(Modifier.height(8.dp)) + + HorizontallyScrollableContainer( modifier = - Modifier.fillMaxHeight() - .background(JewelTheme.textAreaStyle.colors.background) - .padding(bottom = scrollbarContentSafePadding(scrollbarStyle)) - .padding(8.dp), - verticalArrangement = Arrangement.spacedBy(8.dp), + Modifier.fillMaxSize().border(Stroke.Alignment.Outside, 1.dp, JewelTheme.globalColors.borders.normal), + style = scrollbarStyle, ) { - val oneLineIpsum = LOREM_IPSUM.replace('\n', ' ') - repeat(4) { Text(oneLineIpsum) } + Column( + modifier = + Modifier.fillMaxHeight() + .background(JewelTheme.textAreaStyle.colors.background) + .padding(bottom = scrollbarContentSafePadding(scrollbarStyle)) + .padding(8.dp), + verticalArrangement = Arrangement.spacedBy(8.dp), + ) { + val oneLineIpsum = LOREM_IPSUM.replace('\n', ' ') + repeat(4) { Text(oneLineIpsum) } + } + } + } +} + +@Composable +private fun AlignedContentExample(scrollbarStyle: ScrollbarStyle, modifier: Modifier) { + Column(modifier) { + Text("Column", fontSize = 18.sp) + Spacer(Modifier.height(8.dp)) + + VerticallyScrollableContainer( + style = scrollbarStyle, + modifier = + Modifier.fillMaxWidth().border(Stroke.Alignment.Outside, 1.dp, JewelTheme.globalColors.borders.normal), + ) { + val shape = RoundedCornerShape(4.dp) + Column( + modifier = + Modifier.align(Alignment.Center) + .background( + color = + if (JewelTheme.isDark) { + JewelTheme.colorPalette.gray(1) + } else { + JewelTheme.colorPalette.gray(14) + }, + shape, + ) + .border(1.dp, JewelTheme.colorPalette.blue(2), shape) + .padding(8.dp), + horizontalAlignment = Alignment.CenterHorizontally, + verticalArrangement = Arrangement.spacedBy(4.dp), + ) { + Text("First Row") + Text("Second Row") + Text("Third Row") + Text("Fourth Row") + Text("Fifth Row") + Text("Sixth Row") + Text("Seventh Row") + } } } } diff --git a/platform/jewel/samples/showcase/src/main/kotlin/org/jetbrains/jewel/samples/showcase/components/ShowcaseIcons.kt b/platform/jewel/samples/showcase/src/main/kotlin/org/jetbrains/jewel/samples/showcase/components/ShowcaseIcons.kt index fc78b932ae49..6148396796c9 100644 --- a/platform/jewel/samples/showcase/src/main/kotlin/org/jetbrains/jewel/samples/showcase/components/ShowcaseIcons.kt +++ b/platform/jewel/samples/showcase/src/main/kotlin/org/jetbrains/jewel/samples/showcase/components/ShowcaseIcons.kt @@ -37,4 +37,8 @@ public object ShowcaseIcons { public val tooltip: PathIconKey = PathIconKey("icons/components/tooltip.svg", ShowcaseIcons::class.java) public val tree: PathIconKey = PathIconKey("icons/components/tree.svg", ShowcaseIcons::class.java) } + + public object ProgrammingLanguages { + public val Kotlin: PathIconKey = PathIconKey("icons/kotlin.svg", ShowcaseIcons::class.java) + } } diff --git a/platform/jewel/samples/showcase/src/main/kotlin/org/jetbrains/jewel/samples/showcase/components/Tabs.kt b/platform/jewel/samples/showcase/src/main/kotlin/org/jetbrains/jewel/samples/showcase/components/Tabs.kt index b03505b6f820..08e1371b94f3 100644 --- a/platform/jewel/samples/showcase/src/main/kotlin/org/jetbrains/jewel/samples/showcase/components/Tabs.kt +++ b/platform/jewel/samples/showcase/src/main/kotlin/org/jetbrains/jewel/samples/showcase/components/Tabs.kt @@ -79,7 +79,7 @@ private fun DefaultTabShowcase() { } } - TabStripWithAddButton(tabs, JewelTheme.defaultTabStyle) { + TabStripWithAddButton(tabs = tabs, style = JewelTheme.defaultTabStyle) { val insertionIndex = (selectedTabIndex + 1).coerceIn(0..tabIds.size) val nextTabId = maxId + 1 @@ -138,7 +138,7 @@ private fun EditorTabShowcase() { } } - TabStripWithAddButton(tabs, JewelTheme.editorTabStyle) { + TabStripWithAddButton(tabs = tabs, style = JewelTheme.editorTabStyle) { val insertionIndex = (selectedTabIndex + 1).coerceIn(0..tabIds.size) val nextTabId = maxId + 1 @@ -150,7 +150,7 @@ private fun EditorTabShowcase() { @Composable private fun TabStripWithAddButton(tabs: List, style: TabStyle, onAddClick: () -> Unit) { Row(verticalAlignment = Alignment.CenterVertically) { - TabStrip(tabs, style, modifier = Modifier.weight(1f)) + TabStrip(tabs = tabs, style = style, modifier = Modifier.weight(1f)) IconButton(onClick = onAddClick, modifier = Modifier.size(JewelTheme.defaultTabStyle.metrics.tabHeight)) { Icon(key = AllIconsKeys.General.Add, contentDescription = "Add a tab") diff --git a/platform/jewel/samples/showcase/src/main/kotlin/org/jetbrains/jewel/samples/showcase/views/ComponentsViewModel.kt b/platform/jewel/samples/showcase/src/main/kotlin/org/jetbrains/jewel/samples/showcase/views/ComponentsViewModel.kt index 64a16f6e7bcc..66374983ee06 100644 --- a/platform/jewel/samples/showcase/src/main/kotlin/org/jetbrains/jewel/samples/showcase/views/ComponentsViewModel.kt +++ b/platform/jewel/samples/showcase/src/main/kotlin/org/jetbrains/jewel/samples/showcase/views/ComponentsViewModel.kt @@ -2,7 +2,6 @@ // Apache 2.0 license. package org.jetbrains.jewel.samples.showcase.views -import androidx.compose.foundation.layout.ExperimentalLayoutApi import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateListOf import androidx.compose.runtime.mutableStateOf @@ -13,7 +12,7 @@ import org.jetbrains.jewel.samples.showcase.components.Borders import org.jetbrains.jewel.samples.showcase.components.Buttons import org.jetbrains.jewel.samples.showcase.components.Checkboxes import org.jetbrains.jewel.samples.showcase.components.ChipsAndTrees -import org.jetbrains.jewel.samples.showcase.components.Dropdowns +import org.jetbrains.jewel.samples.showcase.components.ComboBoxes import org.jetbrains.jewel.samples.showcase.components.Icons import org.jetbrains.jewel.samples.showcase.components.Links import org.jetbrains.jewel.samples.showcase.components.ProgressBar @@ -30,7 +29,6 @@ import org.jetbrains.jewel.samples.showcase.components.Tooltips import org.jetbrains.jewel.ui.component.SplitLayoutState import org.jetbrains.jewel.ui.component.styling.ScrollbarVisibility -@ExperimentalLayoutApi public class ComponentsViewModel( alwaysVisibleScrollbarVisibility: ScrollbarVisibility.AlwaysVisible, whenScrollingScrollbarVisibility: ScrollbarVisibility.WhenScrolling, @@ -50,7 +48,7 @@ public class ComponentsViewModel( content = { RadioButtons() }, ), ViewInfo(title = "Checkboxes", iconKey = ShowcaseIcons.Components.checkbox, content = { Checkboxes() }), - ViewInfo(title = "Dropdowns", iconKey = ShowcaseIcons.Components.comboBox, content = { Dropdowns() }), + ViewInfo(title = "Combo Boxes", iconKey = ShowcaseIcons.Components.comboBox, content = { ComboBoxes() }), ViewInfo(title = "Chips and trees", iconKey = ShowcaseIcons.Components.tree, content = { ChipsAndTrees() }), ViewInfo( title = "Progressbar", diff --git a/platform/jewel/samples/showcase/src/main/resources/icons/kotlin.svg b/platform/jewel/samples/showcase/src/main/resources/icons/kotlin.svg new file mode 100644 index 000000000000..8807b9d22709 --- /dev/null +++ b/platform/jewel/samples/showcase/src/main/resources/icons/kotlin.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/platform/jewel/samples/showcase/src/main/resources/icons/kotlin_dark.svg b/platform/jewel/samples/showcase/src/main/resources/icons/kotlin_dark.svg new file mode 100644 index 000000000000..2516858ad961 --- /dev/null +++ b/platform/jewel/samples/showcase/src/main/resources/icons/kotlin_dark.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/platform/jewel/samples/standalone/api-dump-unreviewed.txt b/platform/jewel/samples/standalone/api-dump-unreviewed.txt index 91da4eaccc48..2fad00fa5d6f 100644 --- a/platform/jewel/samples/standalone/api-dump-unreviewed.txt +++ b/platform/jewel/samples/standalone/api-dump-unreviewed.txt @@ -2,11 +2,9 @@ f:org.jetbrains.jewel.samples.standalone.markdown.ComposableSingletons$MarkdownE - sf:INSTANCE:org.jetbrains.jewel.samples.standalone.markdown.ComposableSingletons$MarkdownEditorKt - s:lambda-1:kotlin.jvm.functions.Function2 - s:lambda-2:kotlin.jvm.functions.Function2 -- s:lambda-3:kotlin.jvm.functions.Function5 - ():V - f:getLambda-1$intellij_platform_jewel_samples_standalone():kotlin.jvm.functions.Function2 - f:getLambda-2$intellij_platform_jewel_samples_standalone():kotlin.jvm.functions.Function2 -- f:getLambda-3$intellij_platform_jewel_samples_standalone():kotlin.jvm.functions.Function5 f:org.jetbrains.jewel.samples.standalone.markdown.JewelReadmeKt - sf:getJewelReadme():java.lang.String f:org.jetbrains.jewel.samples.standalone.markdown.MarkdownEditorKt diff --git a/platform/jewel/samples/standalone/build.gradle.kts b/platform/jewel/samples/standalone/build.gradle.kts index e61bf76bf256..78fe8869cc6b 100644 --- a/platform/jewel/samples/standalone/build.gradle.kts +++ b/platform/jewel/samples/standalone/build.gradle.kts @@ -9,20 +9,23 @@ plugins { } dependencies { - implementation(libs.kotlin.reflect) - implementation(projects.intUi.intUiStandalone) implementation(projects.intUi.intUiDecoratedWindow) - implementation(projects.markdown.intUiStandaloneStyling) - implementation(projects.markdown.extension.gfmAlerts) - implementation(projects.markdown.extension.gfmStrikethrough) - implementation(projects.markdown.extension.gfmTables) - implementation(projects.markdown.extension.autolink) - implementation(compose.desktop.currentOs) { exclude(group = "org.jetbrains.compose.material") } - implementation(compose.components.resources) - implementation(project(":samples:showcase")) + implementation(projects.intUi.intUiStandalone) implementation(projects.markdown.core) - implementation("com.darkrockstudios:mpfilepicker:3.1.0") + implementation(projects.markdown.extensions.gfmAlerts) + implementation(projects.markdown.extensions.gfmStrikethrough) + implementation(projects.markdown.extensions.gfmTables) + implementation(projects.markdown.extensions.autolink) + implementation(projects.markdown.intUiStandaloneStyling) + implementation(projects.samples.showcase) + + implementation(compose.components.resources) + implementation(compose.desktop.currentOs) { exclude(group = "org.jetbrains.compose.material") } + + implementation(libs.filePicker) implementation(libs.intellijPlatform.icons) + implementation(libs.kotlin.reflect) + testImplementation(compose.desktop.uiTestJUnit4) testImplementation(compose.desktop.currentOs) { exclude(group = "org.jetbrains.compose.material") } } diff --git a/platform/jewel/samples/standalone/intellij.platform.jewel.samples.standalone.iml b/platform/jewel/samples/standalone/intellij.platform.jewel.samples.standalone.iml index 6c9880aa6999..04fbfbcdf664 100644 --- a/platform/jewel/samples/standalone/intellij.platform.jewel.samples.standalone.iml +++ b/platform/jewel/samples/standalone/intellij.platform.jewel.samples.standalone.iml @@ -68,7 +68,7 @@ - + @@ -76,26 +76,9 @@ - - - - - - - - cf83f90e32fb973ff5edfca4ef35f55ca51bb70a579b6a1f290744f552e8e484 - - - - - - - - - - - - + + + @@ -135,7 +118,24 @@ - - + + + + + + + cf83f90e32fb973ff5edfca4ef35f55ca51bb70a579b6a1f290744f552e8e484 + + + + + + + + + + + + \ No newline at end of file diff --git a/platform/jewel/samples/standalone/src/main/kotlin/org/jetbrains/jewel/samples/standalone/Main.kt b/platform/jewel/samples/standalone/src/main/kotlin/org/jetbrains/jewel/samples/standalone/Main.kt index 349d861d8278..51a1a1eb998d 100644 --- a/platform/jewel/samples/standalone/src/main/kotlin/org/jetbrains/jewel/samples/standalone/Main.kt +++ b/platform/jewel/samples/standalone/src/main/kotlin/org/jetbrains/jewel/samples/standalone/Main.kt @@ -14,6 +14,7 @@ import org.jetbrains.compose.resources.ExperimentalResourceApi import org.jetbrains.compose.resources.decodeToSvgPainter import org.jetbrains.jewel.foundation.theme.JewelTheme import org.jetbrains.jewel.foundation.util.JewelLogger +import org.jetbrains.jewel.intui.markdown.standalone.ProvideMarkdownStyling import org.jetbrains.jewel.intui.standalone.theme.IntUiTheme import org.jetbrains.jewel.intui.standalone.theme.createDefaultTextStyle import org.jetbrains.jewel.intui.standalone.theme.createEditorTextStyle @@ -77,7 +78,7 @@ public fun main() { }, content = { TitleBarView() - currentView.content() + ProvideMarkdownStyling { currentView.content() } }, ) } diff --git a/platform/jewel/samples/standalone/src/main/kotlin/org/jetbrains/jewel/samples/standalone/markdown/MarkdownEditor.kt b/platform/jewel/samples/standalone/src/main/kotlin/org/jetbrains/jewel/samples/standalone/markdown/MarkdownEditor.kt index ac7903e94e67..61926f21f1f1 100644 --- a/platform/jewel/samples/standalone/src/main/kotlin/org/jetbrains/jewel/samples/standalone/markdown/MarkdownEditor.kt +++ b/platform/jewel/samples/standalone/src/main/kotlin/org/jetbrains/jewel/samples/standalone/markdown/MarkdownEditor.kt @@ -13,6 +13,7 @@ import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.text.input.TextFieldState import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableIntStateOf import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue @@ -26,7 +27,6 @@ import org.jetbrains.jewel.ui.Orientation import org.jetbrains.jewel.ui.component.Divider import org.jetbrains.jewel.ui.component.ListComboBox import org.jetbrains.jewel.ui.component.OutlinedButton -import org.jetbrains.jewel.ui.component.SimpleListItem import org.jetbrains.jewel.ui.component.Text import org.jetbrains.jewel.ui.component.TextArea @@ -68,18 +68,16 @@ private fun ControlsRow(modifier: Modifier = Modifier, onLoadMarkdown: (String) Spacer(Modifier.weight(1f)) val comboBoxItems = remember { listOf("Jewel readme", "Markdown catalog") } - var selected by remember { mutableStateOf("Jewel readme") } + var selectedIndex by remember { mutableIntStateOf(0) } ListComboBox( items = comboBoxItems, + selectedIndex = selectedIndex, + onSelectedItemChange = { index -> + selectedIndex = index + onLoadMarkdown(if (selectedIndex == 0) JewelReadme else MarkdownCatalog) + }, modifier = Modifier.width(170.dp).padding(end = 2.dp), maxPopupHeight = 150.dp, - onSelectedItemChange = { _, text -> - selected = text - onLoadMarkdown(if (selected == "Jewel readme") JewelReadme else MarkdownCatalog) - }, - itemContent = { item, isSelected, isActive -> - SimpleListItem(text = item, isSelected = isSelected, isActive = isActive) - }, ) } } diff --git a/platform/jewel/samples/standalone/src/main/kotlin/org/jetbrains/jewel/samples/standalone/markdown/MarkdownPreview.kt b/platform/jewel/samples/standalone/src/main/kotlin/org/jetbrains/jewel/samples/standalone/markdown/MarkdownPreview.kt index c35dd654f0a9..c15c57bf6e14 100644 --- a/platform/jewel/samples/standalone/src/main/kotlin/org/jetbrains/jewel/samples/standalone/markdown/MarkdownPreview.kt +++ b/platform/jewel/samples/standalone/src/main/kotlin/org/jetbrains/jewel/samples/standalone/markdown/MarkdownPreview.kt @@ -29,7 +29,7 @@ import org.jetbrains.jewel.intui.markdown.standalone.styling.extensions.github.t import org.jetbrains.jewel.intui.markdown.standalone.styling.light import org.jetbrains.jewel.markdown.LazyMarkdown import org.jetbrains.jewel.markdown.MarkdownBlock -import org.jetbrains.jewel.markdown.extension.autolink.AutolinkProcessorExtension +import org.jetbrains.jewel.markdown.extensions.autolink.AutolinkProcessorExtension import org.jetbrains.jewel.markdown.extensions.github.alerts.AlertStyling import org.jetbrains.jewel.markdown.extensions.github.alerts.GitHubAlertProcessorExtension import org.jetbrains.jewel.markdown.extensions.github.alerts.GitHubAlertRendererExtension diff --git a/platform/jewel/samples/standalone/src/main/kotlin/org/jetbrains/jewel/samples/standalone/viewmodel/MainViewModel.kt b/platform/jewel/samples/standalone/src/main/kotlin/org/jetbrains/jewel/samples/standalone/viewmodel/MainViewModel.kt index 9f5f4d423558..f6b74ec9e3ed 100644 --- a/platform/jewel/samples/standalone/src/main/kotlin/org/jetbrains/jewel/samples/standalone/viewmodel/MainViewModel.kt +++ b/platform/jewel/samples/standalone/src/main/kotlin/org/jetbrains/jewel/samples/standalone/viewmodel/MainViewModel.kt @@ -25,17 +25,18 @@ import org.jetbrains.jewel.samples.standalone.viewmodel.MainViewModel.components import org.jetbrains.jewel.ui.component.styling.IconButtonMetrics import org.jetbrains.jewel.ui.component.styling.ScrollbarVisibility -@ExperimentalLayoutApi public object MainViewModel { public val componentsViewModel: ComponentsViewModel - get() { - val alwaysVisibleScrollbarVisibility = ScrollbarVisibility.AlwaysVisible.default() - val whenScrollingScrollbarVisibility = ScrollbarVisibility.WhenScrolling.default() - return ComponentsViewModel( + + init { + val alwaysVisibleScrollbarVisibility = ScrollbarVisibility.AlwaysVisible.default() + val whenScrollingScrollbarVisibility = ScrollbarVisibility.WhenScrolling.default() + componentsViewModel = + ComponentsViewModel( alwaysVisibleScrollbarVisibility = alwaysVisibleScrollbarVisibility, whenScrollingScrollbarVisibility = whenScrollingScrollbarVisibility, ) - } + } public fun onNavigateTo(destination: String) { currentView = views.first { viewInfo: ViewInfo -> viewInfo.title == destination } diff --git a/platform/jewel/samples/standalone/src/main/resources/intellij.platform.jewel.samples.standalone.xml b/platform/jewel/samples/standalone/src/main/resources/intellij.platform.jewel.samples.standalone.xml index 52ff4a8f8b52..91a0506cf701 100644 --- a/platform/jewel/samples/standalone/src/main/resources/intellij.platform.jewel.samples.standalone.xml +++ b/platform/jewel/samples/standalone/src/main/resources/intellij.platform.jewel.samples.standalone.xml @@ -7,9 +7,9 @@ - - - - + + + + diff --git a/platform/jewel/settings.gradle.kts b/platform/jewel/settings.gradle.kts index 79090d9bf517..1d720658dff0 100644 --- a/platform/jewel/settings.gradle.kts +++ b/platform/jewel/settings.gradle.kts @@ -41,10 +41,10 @@ include( ":int-ui:int-ui-standalone", ":detekt-plugin", ":markdown:core", - ":markdown:extension:autolink", - ":markdown:extension:gfm-alerts", - ":markdown:extension:gfm-strikethrough", - ":markdown:extension:gfm-tables", + ":markdown:extensions:autolink", + ":markdown:extensions:gfm-alerts", + ":markdown:extensions:gfm-strikethrough", + ":markdown:extensions:gfm-tables", ":markdown:int-ui-standalone-styling", ":markdown:ide-laf-bridge-styling", ":samples:ide-plugin", @@ -62,48 +62,28 @@ gradleEnterprise { } } -val isWindows - get() = System.getProperty("os.name").contains("win", true) - -val gradleCommand: String by -lazy(LazyThreadSafetyMode.NONE) { - val gradlewFilename = - if (isWindows) { - "gradlew.bat" - } else { - "gradlew" - } - - val gradlew = File(rootProject.projectDir, gradlewFilename) - if (gradlew.exists() && gradlew.isFile && gradlew.canExecute()) { - logger.info("Using gradlew wrapper at ${gradlew.invariantSeparatorsPath}") - gradlew.invariantSeparatorsPath - } else { - "gradle" - } -} - -val shebang = if (isWindows) "" else "#!/bin/sh" - -/* -// This is broken on Windows, please do not enable it again until it is fixed. gitHooks { hook("pre-push") { - from(shebang) { - // language=Shell Script - """ - |#### Note: this hook was autogenerated. You can edit it in settings.gradle.kts - |GRADLEW=$gradleCommand - |if ! ${'$'}GRADLEW ktfmtCheck ; then - | ${'$'}GRADLEW ktfmtFormat - | echo 1>&2 "\nktfmt found problems; commit the result and re-push" - | exit 1 - |fi - | + from("#!/bin/sh") { """ + |set -x + |#### Note: this hook was autogenerated. You can edit it in Jewel's settings.gradle.kts + |[ "${'$'}(basename "${'$'}(pwd)")" == "ultimate" ] && exit 0 + |GRADLEW="./gradlew" + |OLD_DIR=$(pwd) + |cd "${rootDir.absolutePath}" + |if ! ${'$'}GRADLEW ktfmtCheck ; then + | ${'$'}GRADLEW ktfmtFormat + | echo 1>&2 "\nktfmt found problems; commit the result and re-push" + | cd ${'$'}OLD_DIR + | exit 1 + |fi + |cd ${'$'}OLD_DIR + | + """ .trimMargin() } } createHooks(overwriteExisting = true) -}*/ +} diff --git a/platform/jewel/ui-tests/build.gradle.kts b/platform/jewel/ui-tests/build.gradle.kts index be8b65a7a587..8206f18ead6d 100644 --- a/platform/jewel/ui-tests/build.gradle.kts +++ b/platform/jewel/ui-tests/build.gradle.kts @@ -1,19 +1,12 @@ - -import org.jetbrains.compose.ComposeBuildConfig - plugins { jewel alias(libs.plugins.composeDesktop) alias(libs.plugins.compose.compiler) } -private val composeVersion - get() = ComposeBuildConfig.composeVersion - dependencies { api(projects.ui) api(projects.intUi.intUiStandalone) testImplementation(compose.desktop.uiTestJUnit4) testImplementation(compose.desktop.currentOs) { exclude(group = "org.jetbrains.compose.material") } } - diff --git a/platform/jewel/ui-tests/intellij.platform.jewel.uiTests.iml b/platform/jewel/ui-tests/intellij.platform.jewel.uiTests.iml index 20c60a7f752a..f7b4a2291d3d 100644 --- a/platform/jewel/ui-tests/intellij.platform.jewel.uiTests.iml +++ b/platform/jewel/ui-tests/intellij.platform.jewel.uiTests.iml @@ -30,321 +30,15 @@ - + - + - - - - - - c53f675b2af4696e6022598145a44a9e9feb35216a188163ae5bf99a18e76bdb - - - - - - - - - - - - - - - - - - f1e334b73d49ceab00afe776a4c393de77b4fc805e9ff488dac596a2663b1dc1 - - - - - - - - - - - - - - - - - - 66fdef91e9739348df7a096aa384a5685f4e875584cce89386a7a47251c4d8e9 - - - - - - - - - - - - - - - - - - a7dfdfd2b9d6668c646275948eba357aab6407f635f2dc09fe90258a2f202337 - - - - - - - - - - - - - - - - - - 34dfab5b4fa8b2913f00facdddc049e2fef4b176f8e7cde0ad306485674c3b5c - - - - - - - - - - - - - - - - - - 5c84c3bb1c1b636ae36030a0f98d4629afa29e192a9c78f57f22ce2c8ff6bc96 - - - - - - - - - - - - - - - - - - c106c0f705717889663555fe4cb7742612bd47b56a128bf7a9f589f24c64cb08 - - - - - - - - - - - - - - - - - - 8ff9a2b8c93b0287d8fa837d5b0917923168cb97dea1ada1a8d4aa7bb17c9f15 - - - - - - - - - - - - - - - - - - 41da5d61c56877b5b5d01e2a2bcb967cbfaf4d45c1a1aa124c0601c7a3de74e7 - - - - - - - - - - - - - - - - - - 7b0f19724082cbfcbc66e5abea2b9bc92cf08a1ea11e191933ed43801eb3cd05 - - - - - - - - - - - - - - - - - - bff3d1e895fd5abd54ee725dab59214acabf900e1a0784544d20cf20521bf9f3 - - - - - - - - - - - - - - - - - - 62c816073195cc0119dc1d66b178544bdb772ef8bee4879954528c6798b17ebe - - - - - - - - - - - - - - - - - - 5c84c3bb1c1b636ae36030a0f98d4629afa29e192a9c78f57f22ce2c8ff6bc96 - - - - - - - - - - - - - - - - - - c106c0f705717889663555fe4cb7742612bd47b56a128bf7a9f589f24c64cb08 - - - - - - - - - - - - - - - - - - 1b409141a9ee6ed38e76a8fb8f9cf280030bf45375ba7e07e60b2742039b573e - - - - - - - - - - - - - - - - - - c5cfad0b125e978d915f8b4c38630bc5d548e59fe8a0e838c0cc84283c605943 - - - - - - - - - - - - - - - - - - 5c84c3bb1c1b636ae36030a0f98d4629afa29e192a9c78f57f22ce2c8ff6bc96 - - - - - - - - - - - - - - - + + + \ No newline at end of file diff --git a/platform/jewel/ui-tests/src/test/kotlin/org/jetbrains/jewel/ui/component/ListComboBoxUiTest.kt b/platform/jewel/ui-tests/src/test/kotlin/org/jetbrains/jewel/ui/component/ListComboBoxUiTest.kt index 25d31c8fd7e6..c5a247882c74 100644 --- a/platform/jewel/ui-tests/src/test/kotlin/org/jetbrains/jewel/ui/component/ListComboBoxUiTest.kt +++ b/platform/jewel/ui-tests/src/test/kotlin/org/jetbrains/jewel/ui/component/ListComboBoxUiTest.kt @@ -4,15 +4,12 @@ import androidx.compose.foundation.focusable import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.width -import androidx.compose.foundation.text.input.rememberTextFieldState -import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import androidx.compose.ui.focus.FocusRequester import androidx.compose.ui.focus.focusRequester -import androidx.compose.ui.geometry.Offset import androidx.compose.ui.input.key.Key import androidx.compose.ui.platform.testTag import androidx.compose.ui.test.ExperimentalTestApi @@ -22,7 +19,6 @@ import androidx.compose.ui.test.assertHasNoClickAction import androidx.compose.ui.test.assertIsDisplayed import androidx.compose.ui.test.assertIsFocused import androidx.compose.ui.test.assertIsNotEnabled -import androidx.compose.ui.test.assertIsSelected import androidx.compose.ui.test.assertTextContains import androidx.compose.ui.test.assertTextEquals import androidx.compose.ui.test.hasContentDescription @@ -31,13 +27,15 @@ import androidx.compose.ui.test.junit4.createComposeRule import androidx.compose.ui.test.onAllNodesWithText import androidx.compose.ui.test.onLast import androidx.compose.ui.test.onNodeWithTag +import androidx.compose.ui.test.onNodeWithText import androidx.compose.ui.test.performClick import androidx.compose.ui.test.performKeyInput -import androidx.compose.ui.test.performMouseInput import androidx.compose.ui.test.performTextClearance import androidx.compose.ui.test.performTextInput import androidx.compose.ui.test.pressKey import androidx.compose.ui.unit.dp +import junit.framework.TestCase.assertEquals +import org.jetbrains.jewel.foundation.lazy.rememberSelectableLazyListState import org.jetbrains.jewel.intui.standalone.theme.IntUiTheme import org.junit.Ignore import org.junit.Rule @@ -47,6 +45,7 @@ import org.junit.Test class ListComboBoxUiTest { @get:Rule val composeRule = createComposeRule() + // Helper properties to access common UI elements in tests private val popupMenu: SemanticsNodeInteraction get() = composeRule.onNodeWithTag("Jewel.ComboBox.Popup") @@ -54,7 +53,7 @@ class ListComboBoxUiTest { get() = composeRule.onNodeWithTag("Jewel.ComboBox.ChevronContainer", useUnmergedTree = true) private val textField: SemanticsNodeInteraction - get() = composeRule.onNodeWithTag("Jewel.ComboBox.TextField") + get() = composeRule.onNodeWithTag("Jewel.ComboBox.TextField", useUnmergedTree = true) private val comboBox: SemanticsNodeInteraction get() = composeRule.onNodeWithTag("ComboBox") @@ -89,14 +88,12 @@ class ListComboBoxUiTest { val focusRequester = FocusRequester() composeRule.setContent { IntUiTheme { - Box( - modifier = - Modifier.Companion.size(20.dp).focusRequester(focusRequester).testTag("Pre-Box").focusable(true) - ) - EditableComboBox( - textFieldState = rememberTextFieldState("Item 1"), - modifier = Modifier.Companion.width(140.dp).testTag("ComboBox"), - popupContent = { /* ... */ }, + Box(modifier = Modifier.size(20.dp).focusRequester(focusRequester).testTag("Pre-Box").focusable(true)) + EditableListComboBox( + items = comboBoxItems, + onSelectedItemChange = { _: Int -> }, + modifier = Modifier.width(140.dp).testTag("ComboBox"), + selectedIndex = 0, ) } } @@ -104,15 +101,15 @@ class ListComboBoxUiTest { composeRule.onNodeWithTag("Pre-Box").assertIsDisplayed().assertIsFocused() composeRule.onNodeWithTag("Pre-Box").performKeyInput { - keyDown(Key.Companion.Tab) - keyUp(Key.Companion.Tab) + keyDown(Key.Tab) + keyUp(Key.Tab) } composeRule.onNodeWithTag("Jewel.ComboBox.TextField", useUnmergedTree = true).assertIsFocused() textField.performKeyInput { - keyDown(Key.Companion.Tab) - keyUp(Key.Companion.Tab) + keyDown(Key.Tab) + keyUp(Key.Tab) } composeRule.onNodeWithTag("Pre-Box").assertIsFocused() @@ -122,7 +119,8 @@ class ListComboBoxUiTest { fun `when not-editable click opens popup`() { val comboBox = focusedListComboBox() comboBox.performClick() - composeRule.onNodeWithTag("Item 2").assertIsDisplayed() + popupMenu.assertIsDisplayed() + composeRule.onAllNodesWithText("Item 2", useUnmergedTree = true).onLast().assertIsDisplayed() } @Test @@ -153,8 +151,8 @@ class ListComboBoxUiTest { popupMenu.assertDoesNotExist() comboBox.performKeyInput { - keyDown(Key.Companion.Spacebar) - keyUp(Key.Companion.Spacebar) + keyDown(Key.Spacebar) + keyUp(Key.Spacebar) } popupMenu.assertIsDisplayed() } @@ -168,8 +166,8 @@ class ListComboBoxUiTest { textField.assertIsFocused().assertIsDisplayed() textField.assertTextContains("Item 1") textField.assertIsFocused().performKeyInput { - keyDown(Key.Companion.Spacebar) - keyUp(Key.Companion.Spacebar) + keyDown(Key.Spacebar) + keyUp(Key.Spacebar) } textField.assertTextEquals("Item 1 ") popupMenu.assertDoesNotExist() @@ -182,11 +180,11 @@ class ListComboBoxUiTest { popupMenu.assertDoesNotExist() comboBox.performKeyInput { - keyDown(Key.Companion.Enter) - keyUp(Key.Companion.Enter) + keyDown(Key.Enter) + keyUp(Key.Enter) } popupMenu.assertDoesNotExist() - composeRule.onNodeWithTag("Item 1").assertDoesNotExist() + composeRule.onNodeWithTag("Item 1", useUnmergedTree = true).assertDoesNotExist() } @Test @@ -196,8 +194,8 @@ class ListComboBoxUiTest { popupMenu.assertDoesNotExist() comboBox.performKeyInput { - keyDown(Key.Companion.Enter) - keyUp(Key.Companion.Enter) + keyDown(Key.Enter) + keyUp(Key.Enter) } textField.assertIsDisplayed() popupMenu.assertDoesNotExist() @@ -288,8 +286,8 @@ class ListComboBoxUiTest { editableListComboBox() popupMenu.assertDoesNotExist() textField.performKeyInput { - keyDown(Key.Companion.DirectionDown) - keyUp(Key.Companion.DirectionDown) + keyDown(Key.DirectionDown) + keyUp(Key.DirectionDown) } popupMenu.assertIsDisplayed() } @@ -299,13 +297,13 @@ class ListComboBoxUiTest { editableListComboBox() popupMenu.assertDoesNotExist() textField.performKeyInput { - keyDown(Key.Companion.DirectionDown) - keyUp(Key.Companion.DirectionDown) - keyDown(Key.Companion.DirectionDown) - keyUp(Key.Companion.DirectionDown) + keyDown(Key.DirectionDown) + keyUp(Key.DirectionDown) + keyDown(Key.DirectionDown) + keyUp(Key.DirectionDown) } popupMenu.assertIsDisplayed() - composeRule.onAllNodesWithText("Item 2").onLast().assertIsDisplayed() + composeRule.onAllNodesWithText("Item 2", useUnmergedTree = true).onLast().assertIsDisplayed() } @Test @@ -323,8 +321,8 @@ class ListComboBoxUiTest { fun `when enabled but not editable spacebar opens the popup`() { val comboBox = focusedListComboBox() comboBox.performKeyInput { - keyDown(Key.Companion.Spacebar) - keyUp(Key.Companion.Spacebar) + keyDown(Key.Spacebar) + keyUp(Key.Spacebar) } popupMenu.assertIsDisplayed() } @@ -333,13 +331,13 @@ class ListComboBoxUiTest { fun `when enabled but not editable pressing spacebar twice opens and closes the popup`() { val comboBox = focusedListComboBox() comboBox.performKeyInput { - keyDown(Key.Companion.Spacebar) - keyUp(Key.Companion.Spacebar) + keyDown(Key.Spacebar) + keyUp(Key.Spacebar) } popupMenu.assertIsDisplayed() comboBox.performKeyInput { - keyDown(Key.Companion.Spacebar) - keyUp(Key.Companion.Spacebar) + keyDown(Key.Spacebar) + keyUp(Key.Spacebar) } popupMenu.assertDoesNotExist() } @@ -371,8 +369,8 @@ class ListComboBoxUiTest { comboBox.performClick() popupMenu.assertIsDisplayed() comboBox.performKeyInput { - keyDown(Key.Companion.Enter) - keyUp(Key.Companion.Enter) + keyDown(Key.Enter) + keyUp(Key.Enter) } popupMenu.assertDoesNotExist() } @@ -390,23 +388,90 @@ class ListComboBoxUiTest { @Test fun `when editable clicking chevron open the popup and select the first item`() { - editableListComboBox() + // Use the direct composition so we can track the selection state + val focusRequester = FocusRequester() + var selectedIndex = 0 + + composeRule.setContent { + IntUiTheme { + EditableListComboBox( + items = comboBoxItems, + selectedIndex = selectedIndex, + onSelectedItemChange = { index: Int -> selectedIndex = index }, + modifier = Modifier.testTag("ComboBox").width(200.dp).focusRequester(focusRequester), + enabled = true, + itemKeys = { index: Int, item: String -> index }, // Explicitly use index as key for tests + ) + } + } + + composeRule.waitForIdle() + + focusRequester.requestFocus() + composeRule.waitForIdle() + + comboBox.assertIsDisplayed() + textField.assertIsDisplayed().assertIsFocused() + chevronContainer.performClick() - composeRule.onNodeWithTag("Item 1").assertIsDisplayed().assertIsSelected() + composeRule.waitForIdle() + popupMenu.assertIsDisplayed() + + composeRule.onAllNodesWithText("Item 1", useUnmergedTree = true).onLast().assertIsDisplayed() + + // Verify selection state through selectedIndex and text field + assert(selectedIndex == 0) { "Expected selectedIndex to be 0, but was $selectedIndex" } + textField.assertTextEquals("Item 1") } @Test fun `when editable pressing down twice selects the second element`() { - editableListComboBox() + // Use the direct composition so we can track the selection state + val focusRequester = FocusRequester() + var selectedIndex = 0 + + composeRule.setContent { + IntUiTheme { + EditableListComboBox( + items = comboBoxItems, + selectedIndex = selectedIndex, + onSelectedItemChange = { index: Int -> selectedIndex = index }, + modifier = Modifier.testTag("ComboBox").width(200.dp).focusRequester(focusRequester), + enabled = true, + itemKeys = { index: Int, item: String -> index }, // Explicitly use index as key for tests + listState = rememberSelectableLazyListState(), + ) + } + } + + composeRule.waitForIdle() + + focusRequester.requestFocus() + composeRule.waitForIdle() + + textField.assertIsDisplayed().assertIsFocused() popupMenu.assertDoesNotExist() - comboBox.performKeyInput { pressKey(Key.Companion.DirectionDown) } - popupMenu.assertIsDisplayed() - composeRule.onNodeWithTag("Item 1").assertIsDisplayed().assertIsSelected() + textField.performKeyInput { + keyDown(Key.DirectionDown) + keyUp(Key.DirectionDown) + } + composeRule.waitForIdle() - comboBox.performKeyInput { pressKey(Key.Companion.DirectionDown) } popupMenu.assertIsDisplayed() - composeRule.onNodeWithTag("Item 2").assertIsDisplayed().assertIsSelected() + composeRule.onAllNodesWithText("Item 1", useUnmergedTree = true).onLast().assertIsDisplayed() + assert(selectedIndex == 0) { "Expected selectedIndex to be 0 after opening popup, but was $selectedIndex" } + + textField.performKeyInput { + keyDown(Key.DirectionDown) + keyUp(Key.DirectionDown) + } + composeRule.waitForIdle() + + composeRule.onAllNodesWithText("Item 2", useUnmergedTree = true).onLast().assertIsDisplayed() + assert(selectedIndex == 1) { "Expected selectedIndex to be 1 after second down press, but was $selectedIndex" } + + textField.assertTextEquals("Item 2") } @Test @@ -415,50 +480,59 @@ class ListComboBoxUiTest { comboBox.performClick() popupMenu.assertIsDisplayed() - composeRule.onNodeWithTag("Item 2").assertIsDisplayed().performMouseInput { - enter(Offset(2f, 0f)) - moveTo(Offset(10f, 2f)) - advanceEventTime() + // Press down to navigate to second item + comboBox.performKeyInput { + keyDown(Key.DirectionDown) + keyUp(Key.DirectionDown) } + composeRule.waitForIdle() - composeRule.onNodeWithTag("Item 2").assertIsSelected().performKeyInput { pressKey(Key.Companion.Enter) } + // Verify second item is visible and selected + composeRule.onAllNodesWithText("Item 2", useUnmergedTree = true).onLast().assertIsDisplayed() + // Press enter to select + comboBox.performKeyInput { pressKey(Key.Enter) } + composeRule.waitForIdle() + + // Verify final state comboBox.assertTextEquals("Item 2", includeEditableText = false) } @Test fun `stateless ListComboBox displays and selects initial selectedIndex item`() { - var selectedIdx = 0 - var selectedText = "" + var selectedIndex = 2 + var selectedText = "Item 3" composeRule.setContent { IntUiTheme { ListComboBox( items = comboBoxItems, - selectedIndex = 2, // Start with "Item 3" selected - onItemSelected = { index, text -> - selectedIdx = index - selectedText = text + selectedIndex = selectedIndex, + onSelectedItemChange = { index -> + selectedIndex = index + selectedText = comboBoxItems[index] }, modifier = Modifier.testTag("ComboBox").width(200.dp), - itemContent = { item, isSelected, isActive -> - SimpleListItem( - text = item, - isSelected = isSelected, - isActive = isActive, - modifier = Modifier.testTag(item), - iconContentDescription = item, - ) - }, + itemKeys = { index: Int, item: String -> index }, ) } } - composeRule.onNode(hasTestTag("ComboBox")).assertTextEquals("Item 3", includeEditableText = false) - composeRule.onNodeWithTag("Jewel.ComboBox.ChevronContainer", useUnmergedTree = true).performClick() - composeRule.onNodeWithTag("Item 1").performClick() - assert(selectedIdx == 0) { "Expected selectedIdx to be 0, but was $selectedIdx" } - assert(selectedText == "Item 1") { "Expected selectedText to be 'Item 1', but was $selectedText" } + // Wait for LaunchedEffect to complete + composeRule.waitForIdle() + + // Verify initial selection + composeRule.onNodeWithTag("ComboBox").assertTextEquals("Item 3") + + // Click to open popup + composeRule.onNodeWithTag("ComboBox").performClick() + + // Select first item + composeRule.onNodeWithText("Item 1").performClick() + + // Verify selection updated + assertEquals(0, selectedIndex) + assertEquals("Item 1", selectedText) } @Test @@ -470,108 +544,132 @@ class ListComboBoxUiTest { ListComboBox( items = comboBoxItems, selectedIndex = selectedIndex, - onItemSelected = { index, _ -> selectedIndex = index }, + onSelectedItemChange = { index -> selectedIndex = index }, modifier = Modifier.testTag("ComboBox").width(200.dp), - itemContent = { item, isSelected, isActive -> - SimpleListItem( - text = item, - isSelected = isSelected, - isActive = isActive, - modifier = Modifier.testTag(item), - iconContentDescription = item, - ) - }, + itemKeys = { index: Int, item: String -> index }, ) } } + // Verify initial state composeRule.onNode(hasTestTag("ComboBox")).assertTextEquals("Item 1", includeEditableText = false) - selectedIndex = 3 + + // Open popup + comboBox.performClick() composeRule.waitForIdle() - composeRule.onNodeWithTag("Jewel.ComboBox.ChevronContainer", useUnmergedTree = true).performClick() - composeRule.onNodeWithTag("Book").assertIsSelected() + + // Navigate to Book (3 down presses) + repeat(3) { + comboBox.performKeyInput { + keyDown(Key.DirectionDown) + keyUp(Key.DirectionDown) + } + composeRule.waitForIdle() + } + + // Press enter to select + comboBox.performKeyInput { pressKey(Key.Enter) } + composeRule.waitForIdle() + + // Verify ComboBox text is updated + composeRule.onNode(hasTestTag("ComboBox")).assertTextEquals("Book", includeEditableText = false) + assert(selectedIndex == 3) { "Expected selectedIndex to be 3, but was $selectedIndex" } } @Test fun `when editable ListComboBox text is edited then selectedIndex remains unchanged`() { - var selectedIdx = 1 + var selectedIndex = 2 + val focusRequester = FocusRequester() composeRule.setContent { - val textState = rememberTextFieldState("Item 2") IntUiTheme { EditableListComboBox( items = comboBoxItems, - selectedIndex = selectedIdx, - onItemSelected = { index, _ -> selectedIdx = index }, - textFieldState = textState, - modifier = Modifier.testTag("ComboBox").width(200.dp), - itemContent = { item, isSelected, isActive -> - SimpleListItem( - text = item, - isSelected = isSelected, - isActive = isActive, - modifier = Modifier.testTag(item), - iconContentDescription = item, - ) - }, + selectedIndex = selectedIndex, + onSelectedItemChange = { index: Int -> selectedIndex = index }, + modifier = Modifier.testTag("ComboBox").width(200.dp).focusRequester(focusRequester), + itemKeys = { index: Int, item: String -> index }, + listState = rememberSelectableLazyListState(), ) } } - textField.assertTextEquals("Item 2") + // Request focus and wait for it + focusRequester.requestFocus() + composeRule.waitForIdle() - textField.performTextClearance() + // Clear text field and input new text + textField.assertIsDisplayed().assertIsFocused().performTextClearance() textField.performTextInput("Custom text") - assert(selectedIdx == 1) { "Expected selectedIdx to remain 1, but was $selectedIdx" } - - chevronContainer.performClick() - composeRule.onNodeWithTag("Item 2").assertIsSelected() + // Verify selectedIndex remains unchanged + assertEquals(2, selectedIndex) } @Test fun `when editable ListComboBox selectedIndex changes then text field updates`() { var selectedIndex by mutableStateOf(0) + val focusRequester = FocusRequester() composeRule.setContent { - val textState = rememberTextFieldState(comboBoxItems[selectedIndex]) - - // Update text state when selectedIndex changes - LaunchedEffect(selectedIndex) { textState.edit { replace(0, length, comboBoxItems[selectedIndex]) } } - IntUiTheme { EditableListComboBox( items = comboBoxItems, selectedIndex = selectedIndex, - onItemSelected = { index, _ -> selectedIndex = index }, - textFieldState = textState, // Pass the explicitly managed text state - modifier = Modifier.testTag("ComboBox").width(200.dp), - itemContent = { item, isSelected, isActive -> - SimpleListItem( - text = item, - isSelected = isSelected, - isActive = isActive, - modifier = Modifier.testTag(item), - iconContentDescription = item, - ) - }, + onSelectedItemChange = { index: Int -> selectedIndex = index }, + modifier = Modifier.testTag("ComboBox").width(200.dp).focusRequester(focusRequester), + itemKeys = { index: Int, item: String -> index }, ) } } - textField.assertTextEquals("Item 1") - selectedIndex = 3 + // Wait for initial composition and request focus + composeRule.waitForIdle() + focusRequester.requestFocus() composeRule.waitForIdle() - textField.assertTextEquals("Book") + // Verify initial text and focus + textField.assertIsDisplayed().assertIsFocused() + textField.assertTextEquals("Item 1") - chevronContainer.performClick() - composeRule.onNodeWithTag("Book").assertIsSelected() + // Press down to open popup + textField.performKeyInput { + keyDown(Key.DirectionDown) + keyUp(Key.DirectionDown) + } + composeRule.waitForIdle() + + // Press down three more times to get to "Book" + repeat(3) { + textField.performKeyInput { + keyDown(Key.DirectionDown) + keyUp(Key.DirectionDown) + } + composeRule.waitForIdle() + } + + // Verify popup item is selected + composeRule.onAllNodesWithText("Book", useUnmergedTree = true).onLast().assertIsDisplayed() + + // Verify text field updates and selection state + textField.assertTextEquals("Book") + assert(selectedIndex == 3) { "Expected selectedIndex to be 3, but was $selectedIndex" } } private fun editableListComboBox(): SemanticsNodeInteraction { val focusRequester = FocusRequester() - injectEditableListComboBox(focusRequester, isEnabled = true) + composeRule.setContent { + IntUiTheme { + EditableListComboBox( + items = comboBoxItems, + selectedIndex = 0, + onSelectedItemChange = { _: Int -> }, + modifier = Modifier.testTag("ComboBox").width(200.dp).focusRequester(focusRequester), + enabled = true, + itemKeys = { index: Int, item: String -> index }, // Explicitly use index as key for tests + ) + } + } focusRequester.requestFocus() val comboBox = comboBox comboBox.assertIsDisplayed() @@ -607,18 +705,10 @@ class ListComboBoxUiTest { ListComboBox( items = comboBoxItems, selectedIndex = 0, - onItemSelected = { _, _ -> }, + onSelectedItemChange = {}, modifier = Modifier.testTag("ComboBox").width(200.dp).focusRequester(focusRequester), - isEnabled = isEnabled, - itemContent = { item, isSelected, isActive -> - SimpleListItem( - text = item, - isSelected = isSelected, - isActive = isActive, - modifier = Modifier.testTag(item), - iconContentDescription = item, - ) - }, + enabled = isEnabled, + itemKeys = { index: Int, item: String -> index }, ) } } @@ -629,33 +719,27 @@ class ListComboBoxUiTest { IntUiTheme { EditableListComboBox( items = comboBoxItems, + selectedIndex = 0, + onSelectedItemChange = { _: Int -> }, modifier = Modifier.testTag("ComboBox").width(200.dp).focusRequester(focusRequester), - isEnabled = isEnabled, - itemContent = { item, isSelected, isActive -> - SimpleListItem( - text = item, - isSelected = isSelected, - isActive = isActive, - modifier = Modifier.testTag(item), - iconContentDescription = item, - ) - }, + enabled = isEnabled, + itemKeys = { index: Int, item: String -> index }, ) } } } -} -private val comboBoxItems = - listOf( - "Item 1", - "Item 2", - "Item 3", - "Book", - "Laughter", - "Whisper", - "Ocean", - "Serendipity lorem ipsum", - "Umbrella", - "Joy", - ) + private val comboBoxItems = + listOf( + "Item 1", + "Item 2", + "Item 3", + "Book", + "Laughter", + "Whisper", + "Ocean", + "Serendipity lorem ipsum", + "Umbrella", + "Joy", + ) +} diff --git a/platform/jewel/ui/api-dump-unreviewed.txt b/platform/jewel/ui/api-dump-unreviewed.txt index 61440702527b..4f010e2bd4bc 100644 --- a/platform/jewel/ui/api-dump-unreviewed.txt +++ b/platform/jewel/ui/api-dump-unreviewed.txt @@ -191,6 +191,7 @@ f:org.jetbrains.jewel.ui.component.CircularProgressIndicatorKt - sf:CircularProgressIndicator(androidx.compose.ui.Modifier,org.jetbrains.jewel.ui.component.styling.CircularProgressStyle,kotlinx.coroutines.CoroutineDispatcher,androidx.compose.runtime.Composer,I,I):V - sf:CircularProgressIndicatorBig(androidx.compose.ui.Modifier,org.jetbrains.jewel.ui.component.styling.CircularProgressStyle,kotlinx.coroutines.CoroutineDispatcher,androidx.compose.runtime.Composer,I,I):V f:org.jetbrains.jewel.ui.component.ComboBoxKt +- sf:ComboBox-05tvjtU(androidx.compose.ui.Modifier,androidx.compose.ui.Modifier,Z,org.jetbrains.jewel.ui.Outline,F,androidx.compose.foundation.interaction.MutableInteractionSource,org.jetbrains.jewel.ui.component.styling.ComboBoxStyle,kotlin.jvm.functions.Function0,kotlin.jvm.functions.Function0,org.jetbrains.jewel.ui.component.PopupManager,kotlin.jvm.functions.Function2,kotlin.jvm.functions.Function2,androidx.compose.runtime.Composer,I,I,I):V - sf:ComboBox-xYaah8o(java.lang.String,androidx.compose.ui.Modifier,androidx.compose.ui.Modifier,Z,org.jetbrains.jewel.ui.Outline,F,androidx.compose.foundation.interaction.MutableInteractionSource,org.jetbrains.jewel.ui.component.styling.ComboBoxStyle,androidx.compose.ui.text.TextStyle,kotlin.jvm.functions.Function0,kotlin.jvm.functions.Function0,org.jetbrains.jewel.ui.component.PopupManager,kotlin.jvm.functions.Function2,androidx.compose.runtime.Composer,I,I,I):V f:org.jetbrains.jewel.ui.component.ComboBoxState - org.jetbrains.jewel.foundation.state.FocusableComponentState @@ -237,11 +238,24 @@ f:org.jetbrains.jewel.ui.component.ComposableSingletons$InlineBannerKt - s:lambda-2:kotlin.jvm.functions.Function2 - s:lambda-3:kotlin.jvm.functions.Function2 - s:lambda-4:kotlin.jvm.functions.Function2 +- s:lambda-5:kotlin.jvm.functions.Function2 +- s:lambda-6:kotlin.jvm.functions.Function2 +- s:lambda-7:kotlin.jvm.functions.Function2 +- s:lambda-8:kotlin.jvm.functions.Function2 - ():V - f:getLambda-1$intellij_platform_jewel_ui():kotlin.jvm.functions.Function2 - f:getLambda-2$intellij_platform_jewel_ui():kotlin.jvm.functions.Function2 - f:getLambda-3$intellij_platform_jewel_ui():kotlin.jvm.functions.Function2 - f:getLambda-4$intellij_platform_jewel_ui():kotlin.jvm.functions.Function2 +- f:getLambda-5$intellij_platform_jewel_ui():kotlin.jvm.functions.Function2 +- f:getLambda-6$intellij_platform_jewel_ui():kotlin.jvm.functions.Function2 +- f:getLambda-7$intellij_platform_jewel_ui():kotlin.jvm.functions.Function2 +- f:getLambda-8$intellij_platform_jewel_ui():kotlin.jvm.functions.Function2 +f:org.jetbrains.jewel.ui.component.ComposableSingletons$ListComboBoxKt +- sf:INSTANCE:org.jetbrains.jewel.ui.component.ComposableSingletons$ListComboBoxKt +- s:lambda-1:kotlin.jvm.functions.Function5 +- ():V +- f:getLambda-1$intellij_platform_jewel_ui():kotlin.jvm.functions.Function5 f:org.jetbrains.jewel.ui.component.ComposableSingletons$MenuKt - sf:INSTANCE:org.jetbrains.jewel.ui.component.ComposableSingletons$MenuKt - s:lambda-1:kotlin.jvm.functions.Function2 @@ -343,12 +357,8 @@ f:org.jetbrains.jewel.ui.component.IconButtonState$Companion - bs:of-3OtLUoY$default(org.jetbrains.jewel.ui.component.IconButtonState$Companion,Z,Z,Z,Z,Z,I,java.lang.Object):J f:org.jetbrains.jewel.ui.component.IconKt - sf:Icon(androidx.compose.ui.graphics.painter.Painter,java.lang.String,androidx.compose.ui.graphics.ColorFilter,androidx.compose.ui.Modifier,androidx.compose.runtime.Composer,I,I):V -- sf:Icon(java.lang.String,java.lang.String,java.lang.Class,androidx.compose.ui.graphics.ColorFilter,androidx.compose.ui.Modifier,org.jetbrains.jewel.ui.painter.PainterHint,androidx.compose.runtime.Composer,I,I):V -- sf:Icon(java.lang.String,java.lang.String,java.lang.Class,androidx.compose.ui.graphics.ColorFilter,androidx.compose.ui.Modifier,org.jetbrains.jewel.ui.painter.PainterHint[],androidx.compose.runtime.Composer,I,I):V - sf:Icon(org.jetbrains.jewel.ui.icon.IconKey,java.lang.String,androidx.compose.ui.Modifier,java.lang.Class,androidx.compose.ui.graphics.ColorFilter,org.jetbrains.jewel.ui.painter.PainterHint,androidx.compose.runtime.Composer,I,I):V - sf:Icon(org.jetbrains.jewel.ui.icon.IconKey,java.lang.String,androidx.compose.ui.Modifier,java.lang.Class,androidx.compose.ui.graphics.ColorFilter,org.jetbrains.jewel.ui.painter.PainterHint[],androidx.compose.runtime.Composer,I,I):V -- sf:Icon-FHprtrg(java.lang.String,java.lang.String,java.lang.Class,androidx.compose.ui.Modifier,J,org.jetbrains.jewel.ui.painter.PainterHint,androidx.compose.runtime.Composer,I,I):V -- sf:Icon-FHprtrg(java.lang.String,java.lang.String,java.lang.Class,androidx.compose.ui.Modifier,J,org.jetbrains.jewel.ui.painter.PainterHint[],androidx.compose.runtime.Composer,I,I):V - sf:Icon-FHprtrg(org.jetbrains.jewel.ui.icon.IconKey,java.lang.String,androidx.compose.ui.Modifier,java.lang.Class,J,org.jetbrains.jewel.ui.painter.PainterHint,androidx.compose.runtime.Composer,I,I):V - sf:Icon-FHprtrg(org.jetbrains.jewel.ui.icon.IconKey,java.lang.String,androidx.compose.ui.Modifier,java.lang.Class,J,org.jetbrains.jewel.ui.painter.PainterHint[],androidx.compose.runtime.Composer,I,I):V - sf:Icon-ww6aTOc(androidx.compose.ui.graphics.ImageBitmap,java.lang.String,androidx.compose.ui.Modifier,J,androidx.compose.runtime.Composer,I,I):V @@ -356,10 +366,14 @@ f:org.jetbrains.jewel.ui.component.IconKt - sf:Icon-ww6aTOc(androidx.compose.ui.graphics.vector.ImageVector,java.lang.String,androidx.compose.ui.Modifier,J,androidx.compose.runtime.Composer,I,I):V - sf:painterResource(java.lang.String,androidx.compose.runtime.Composer,I):androidx.compose.ui.graphics.painter.Painter f:org.jetbrains.jewel.ui.component.InlineBannerKt -- sf:ErrorInlineBanner(java.lang.String,androidx.compose.ui.Modifier,kotlin.jvm.functions.Function2,kotlin.jvm.functions.Function3,kotlin.jvm.functions.Function3,org.jetbrains.jewel.ui.component.styling.InlineBannerStyle,androidx.compose.ui.text.TextStyle,androidx.compose.runtime.Composer,I,I):V -- sf:InformationInlineBanner(java.lang.String,androidx.compose.ui.Modifier,kotlin.jvm.functions.Function2,kotlin.jvm.functions.Function3,kotlin.jvm.functions.Function3,org.jetbrains.jewel.ui.component.styling.InlineBannerStyle,androidx.compose.ui.text.TextStyle,androidx.compose.runtime.Composer,I,I):V -- sf:SuccessInlineBanner(java.lang.String,androidx.compose.ui.Modifier,kotlin.jvm.functions.Function2,kotlin.jvm.functions.Function3,kotlin.jvm.functions.Function3,org.jetbrains.jewel.ui.component.styling.InlineBannerStyle,androidx.compose.ui.text.TextStyle,androidx.compose.runtime.Composer,I,I):V -- sf:WarningInlineBanner(java.lang.String,androidx.compose.ui.Modifier,kotlin.jvm.functions.Function2,kotlin.jvm.functions.Function3,kotlin.jvm.functions.Function3,org.jetbrains.jewel.ui.component.styling.InlineBannerStyle,androidx.compose.ui.text.TextStyle,androidx.compose.runtime.Composer,I,I):V +- sf:ErrorInlineBanner(androidx.compose.ui.Modifier,java.lang.String,kotlin.jvm.functions.Function2,kotlin.jvm.functions.Function3,kotlin.jvm.functions.Function3,org.jetbrains.jewel.ui.component.styling.InlineBannerStyle,androidx.compose.ui.text.TextStyle,kotlin.jvm.functions.Function2,androidx.compose.runtime.Composer,I,I):V +- sf:ErrorInlineBanner(java.lang.String,androidx.compose.ui.Modifier,java.lang.String,kotlin.jvm.functions.Function2,kotlin.jvm.functions.Function3,kotlin.jvm.functions.Function3,org.jetbrains.jewel.ui.component.styling.InlineBannerStyle,androidx.compose.ui.text.TextStyle,androidx.compose.runtime.Composer,I,I):V +- sf:InformationInlineBanner(androidx.compose.ui.Modifier,java.lang.String,kotlin.jvm.functions.Function2,kotlin.jvm.functions.Function3,kotlin.jvm.functions.Function3,org.jetbrains.jewel.ui.component.styling.InlineBannerStyle,androidx.compose.ui.text.TextStyle,kotlin.jvm.functions.Function2,androidx.compose.runtime.Composer,I,I):V +- sf:InformationInlineBanner(java.lang.String,androidx.compose.ui.Modifier,java.lang.String,kotlin.jvm.functions.Function2,kotlin.jvm.functions.Function3,kotlin.jvm.functions.Function3,org.jetbrains.jewel.ui.component.styling.InlineBannerStyle,androidx.compose.ui.text.TextStyle,androidx.compose.runtime.Composer,I,I):V +- sf:SuccessInlineBanner(androidx.compose.ui.Modifier,java.lang.String,kotlin.jvm.functions.Function2,kotlin.jvm.functions.Function3,kotlin.jvm.functions.Function3,org.jetbrains.jewel.ui.component.styling.InlineBannerStyle,androidx.compose.ui.text.TextStyle,kotlin.jvm.functions.Function2,androidx.compose.runtime.Composer,I,I):V +- sf:SuccessInlineBanner(java.lang.String,androidx.compose.ui.Modifier,java.lang.String,kotlin.jvm.functions.Function2,kotlin.jvm.functions.Function3,kotlin.jvm.functions.Function3,org.jetbrains.jewel.ui.component.styling.InlineBannerStyle,androidx.compose.ui.text.TextStyle,androidx.compose.runtime.Composer,I,I):V +- sf:WarningInlineBanner(androidx.compose.ui.Modifier,java.lang.String,kotlin.jvm.functions.Function2,kotlin.jvm.functions.Function3,kotlin.jvm.functions.Function3,org.jetbrains.jewel.ui.component.styling.InlineBannerStyle,androidx.compose.ui.text.TextStyle,kotlin.jvm.functions.Function2,androidx.compose.runtime.Composer,I,I):V +- sf:WarningInlineBanner(java.lang.String,androidx.compose.ui.Modifier,java.lang.String,kotlin.jvm.functions.Function2,kotlin.jvm.functions.Function3,kotlin.jvm.functions.Function3,org.jetbrains.jewel.ui.component.styling.InlineBannerStyle,androidx.compose.ui.text.TextStyle,androidx.compose.runtime.Composer,I,I):V f:org.jetbrains.jewel.ui.component.InputFieldState - org.jetbrains.jewel.foundation.state.FocusableComponentState - sf:Companion:org.jetbrains.jewel.ui.component.InputFieldState$Companion @@ -428,11 +442,10 @@ f:org.jetbrains.jewel.ui.component.LinkState$Companion - f:of-oSacjZw(Z,Z,Z,Z,Z,Z):J - bs:of-oSacjZw$default(org.jetbrains.jewel.ui.component.LinkState$Companion,Z,Z,Z,Z,Z,Z,I,java.lang.Object):J f:org.jetbrains.jewel.ui.component.ListComboBoxKt -- sf:EditableListComboBox-lYrZsNM(java.util.List,androidx.compose.ui.Modifier,Z,I,org.jetbrains.jewel.ui.Outline,F,androidx.compose.foundation.interaction.MutableInteractionSource,org.jetbrains.jewel.ui.component.styling.ComboBoxStyle,androidx.compose.ui.text.TextStyle,kotlin.jvm.functions.Function2,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function5,androidx.compose.runtime.Composer,I,I,I):V -- sf:EditableListComboBox-xKBSf-U(java.util.List,I,kotlin.jvm.functions.Function2,androidx.compose.foundation.text.input.TextFieldState,androidx.compose.ui.Modifier,Z,org.jetbrains.jewel.ui.Outline,F,androidx.compose.foundation.interaction.MutableInteractionSource,org.jetbrains.jewel.ui.component.styling.ComboBoxStyle,androidx.compose.ui.text.TextStyle,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function5,androidx.compose.runtime.Composer,I,I,I):V -- sf:ListComboBox-8u0NR3k(java.util.List,I,kotlin.jvm.functions.Function2,androidx.compose.ui.Modifier,Z,org.jetbrains.jewel.ui.Outline,F,androidx.compose.foundation.interaction.MutableInteractionSource,org.jetbrains.jewel.ui.component.styling.ComboBoxStyle,androidx.compose.ui.text.TextStyle,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function5,androidx.compose.runtime.Composer,I,I,I):V -- sf:ListComboBox-lYrZsNM(java.util.List,androidx.compose.ui.Modifier,Z,I,org.jetbrains.jewel.ui.Outline,F,androidx.compose.foundation.interaction.MutableInteractionSource,org.jetbrains.jewel.ui.component.styling.ComboBoxStyle,androidx.compose.ui.text.TextStyle,kotlin.jvm.functions.Function2,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function5,androidx.compose.runtime.Composer,I,I,I):V -- sf:selectedItemIndex(org.jetbrains.jewel.foundation.lazy.SelectableLazyListState):I +- sf:EditableListComboBox-xzYpEKs(java.util.List,I,kotlin.jvm.functions.Function1,androidx.compose.ui.Modifier,Z,org.jetbrains.jewel.ui.Outline,F,androidx.compose.foundation.interaction.MutableInteractionSource,org.jetbrains.jewel.ui.component.styling.ComboBoxStyle,androidx.compose.ui.text.TextStyle,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function2,org.jetbrains.jewel.foundation.lazy.SelectableLazyListState,androidx.compose.runtime.Composer,I,I,I):V +- sf:ListComboBox-xKBSf-U(java.util.List,I,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function2,androidx.compose.ui.Modifier,Z,org.jetbrains.jewel.ui.Outline,F,androidx.compose.foundation.interaction.MutableInteractionSource,org.jetbrains.jewel.ui.component.styling.ComboBoxStyle,kotlin.jvm.functions.Function1,org.jetbrains.jewel.foundation.lazy.SelectableLazyListState,kotlin.jvm.functions.Function5,androidx.compose.runtime.Composer,I,I,I):V +- sf:ListComboBox-xzYpEKs(java.util.List,I,kotlin.jvm.functions.Function1,androidx.compose.ui.Modifier,Z,org.jetbrains.jewel.ui.Outline,F,androidx.compose.foundation.interaction.MutableInteractionSource,org.jetbrains.jewel.ui.component.styling.ComboBoxStyle,androidx.compose.ui.text.TextStyle,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function2,org.jetbrains.jewel.foundation.lazy.SelectableLazyListState,androidx.compose.runtime.Composer,I,I,I):V +- sf:selectedItemIndex(org.jetbrains.jewel.foundation.lazy.SelectableLazyListState,java.util.List,kotlin.jvm.functions.Function2):I f:org.jetbrains.jewel.ui.component.ListItemState - sf:$stable:I - (Z,Z):V @@ -474,7 +487,6 @@ f:org.jetbrains.jewel.ui.component.MenuItemState$Companion - bs:of-moUeATs$default(org.jetbrains.jewel.ui.component.MenuItemState$Companion,Z,Z,Z,Z,Z,Z,I,java.lang.Object):J f:org.jetbrains.jewel.ui.component.MenuKt - sf:MenuSeparator(androidx.compose.ui.Modifier,org.jetbrains.jewel.ui.component.styling.MenuItemMetrics,org.jetbrains.jewel.ui.component.styling.MenuItemColors,androidx.compose.runtime.Composer,I,I):V -- sf:MenuSubmenuItem(androidx.compose.ui.Modifier,Z,Z,java.lang.String,java.lang.Class,androidx.compose.foundation.interaction.MutableInteractionSource,org.jetbrains.jewel.ui.component.styling.MenuStyle,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function2,androidx.compose.runtime.Composer,I,I):V - sf:MenuSubmenuItem(androidx.compose.ui.Modifier,Z,Z,org.jetbrains.jewel.ui.icon.IconKey,androidx.compose.foundation.interaction.MutableInteractionSource,org.jetbrains.jewel.ui.component.styling.MenuStyle,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function2,androidx.compose.runtime.Composer,I,I):V - sf:PopupMenu(kotlin.jvm.functions.Function1,androidx.compose.ui.Alignment$Horizontal,androidx.compose.ui.Modifier,org.jetbrains.jewel.ui.component.styling.MenuStyle,androidx.compose.ui.window.PopupProperties,kotlin.jvm.functions.Function1,androidx.compose.runtime.Composer,I,I):V - sf:items(org.jetbrains.jewel.ui.component.MenuScope,I,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function3):V @@ -498,9 +510,6 @@ org.jetbrains.jewel.ui.component.MenuScope - bs:selectableItem$default(org.jetbrains.jewel.ui.component.MenuScope,Z,org.jetbrains.jewel.ui.icon.IconKey,java.util.Set,kotlin.jvm.functions.Function0,Z,kotlin.jvm.functions.Function2,I,java.lang.Object):V - a:submenu(Z,org.jetbrains.jewel.ui.icon.IconKey,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function2):V - bs:submenu$default(org.jetbrains.jewel.ui.component.MenuScope,Z,org.jetbrains.jewel.ui.icon.IconKey,kotlin.jvm.functions.Function1,kotlin.jvm.functions.Function2,I,java.lang.Object):V -f:org.jetbrains.jewel.ui.component.PlatformIconKt -- sf:PlatformIcon-uDo3WH8(org.jetbrains.jewel.ui.icon.IntelliJIconKey,java.lang.String,androidx.compose.ui.Modifier,J,org.jetbrains.jewel.ui.painter.PainterHint,androidx.compose.runtime.Composer,I,I):V -- sf:PlatformIcon-uDo3WH8(org.jetbrains.jewel.ui.icon.IntelliJIconKey,java.lang.String,androidx.compose.ui.Modifier,J,org.jetbrains.jewel.ui.painter.PainterHint[],androidx.compose.runtime.Composer,I,I):V f:org.jetbrains.jewel.ui.component.PopupContainerKt - sf:PopupContainer(kotlin.jvm.functions.Function0,androidx.compose.ui.Alignment$Horizontal,androidx.compose.ui.Modifier,org.jetbrains.jewel.ui.component.styling.PopupContainerStyle,androidx.compose.ui.window.PopupProperties,androidx.compose.ui.window.PopupPositionProvider,kotlin.jvm.functions.Function2,androidx.compose.runtime.Composer,I,I):V f:org.jetbrains.jewel.ui.component.PopupManager @@ -551,15 +560,12 @@ f:org.jetbrains.jewel.ui.component.RadioButtonState$Companion - f:of-fp8g3n8(Z,Z,Z,Z,Z,Z):J - bs:of-fp8g3n8$default(org.jetbrains.jewel.ui.component.RadioButtonState$Companion,Z,Z,Z,Z,Z,Z,I,java.lang.Object):J f:org.jetbrains.jewel.ui.component.ScrollableContainerKt -- sf:HorizontallyScrollableContainer(androidx.compose.foundation.lazy.LazyListState,androidx.compose.ui.Modifier,androidx.compose.ui.Modifier,org.jetbrains.jewel.ui.component.styling.ScrollbarStyle,Z,Z,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.jvm.functions.Function2,androidx.compose.runtime.Composer,I,I):V -- sf:HorizontallyScrollableContainer(androidx.compose.foundation.lazy.grid.LazyGridState,androidx.compose.ui.Modifier,androidx.compose.ui.Modifier,org.jetbrains.jewel.ui.component.styling.ScrollbarStyle,Z,Z,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.jvm.functions.Function2,androidx.compose.runtime.Composer,I,I):V -- sf:HorizontallyScrollableContainer(androidx.compose.ui.Modifier,androidx.compose.ui.Modifier,androidx.compose.foundation.ScrollState,org.jetbrains.jewel.ui.component.styling.ScrollbarStyle,Z,Z,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.jvm.functions.Function2,androidx.compose.runtime.Composer,I,I):V -- bsf:ScrollableContainer(androidx.compose.foundation.lazy.LazyListState,androidx.compose.foundation.lazy.LazyListState,androidx.compose.ui.Modifier,androidx.compose.ui.Modifier,androidx.compose.ui.Modifier,org.jetbrains.jewel.ui.component.styling.ScrollbarStyle,kotlin.jvm.functions.Function2,androidx.compose.runtime.Composer,I,I):V -- bsf:ScrollableContainer(androidx.compose.foundation.lazy.grid.LazyGridState,androidx.compose.foundation.lazy.grid.LazyGridState,androidx.compose.ui.Modifier,androidx.compose.ui.Modifier,androidx.compose.ui.Modifier,org.jetbrains.jewel.ui.component.styling.ScrollbarStyle,kotlin.jvm.functions.Function2,androidx.compose.runtime.Composer,I,I):V -- bsf:ScrollableContainer(androidx.compose.ui.Modifier,androidx.compose.foundation.ScrollState,androidx.compose.foundation.ScrollState,androidx.compose.ui.Modifier,androidx.compose.ui.Modifier,org.jetbrains.jewel.ui.component.styling.ScrollbarStyle,kotlin.jvm.functions.Function2,androidx.compose.runtime.Composer,I,I):V -- sf:VerticallyScrollableContainer(androidx.compose.foundation.lazy.LazyListState,androidx.compose.ui.Modifier,androidx.compose.ui.Modifier,org.jetbrains.jewel.ui.component.styling.ScrollbarStyle,Z,Z,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.jvm.functions.Function2,androidx.compose.runtime.Composer,I,I):V -- sf:VerticallyScrollableContainer(androidx.compose.foundation.lazy.grid.LazyGridState,androidx.compose.ui.Modifier,androidx.compose.ui.Modifier,org.jetbrains.jewel.ui.component.styling.ScrollbarStyle,Z,Z,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.jvm.functions.Function2,androidx.compose.runtime.Composer,I,I):V -- sf:VerticallyScrollableContainer(androidx.compose.ui.Modifier,androidx.compose.ui.Modifier,androidx.compose.foundation.ScrollState,org.jetbrains.jewel.ui.component.styling.ScrollbarStyle,Z,Z,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.jvm.functions.Function2,androidx.compose.runtime.Composer,I,I):V +- sf:HorizontallyScrollableContainer(androidx.compose.foundation.lazy.LazyListState,androidx.compose.ui.Modifier,androidx.compose.ui.Modifier,org.jetbrains.jewel.ui.component.styling.ScrollbarStyle,Z,Z,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.jvm.functions.Function3,androidx.compose.runtime.Composer,I,I):V +- sf:HorizontallyScrollableContainer(androidx.compose.foundation.lazy.grid.LazyGridState,androidx.compose.ui.Modifier,androidx.compose.ui.Modifier,org.jetbrains.jewel.ui.component.styling.ScrollbarStyle,Z,Z,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.jvm.functions.Function3,androidx.compose.runtime.Composer,I,I):V +- sf:HorizontallyScrollableContainer(androidx.compose.ui.Modifier,androidx.compose.ui.Modifier,androidx.compose.foundation.ScrollState,org.jetbrains.jewel.ui.component.styling.ScrollbarStyle,Z,Z,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.jvm.functions.Function3,androidx.compose.runtime.Composer,I,I):V +- sf:VerticallyScrollableContainer(androidx.compose.foundation.lazy.LazyListState,androidx.compose.ui.Modifier,androidx.compose.ui.Modifier,org.jetbrains.jewel.ui.component.styling.ScrollbarStyle,Z,Z,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.jvm.functions.Function3,androidx.compose.runtime.Composer,I,I):V +- sf:VerticallyScrollableContainer(androidx.compose.foundation.lazy.grid.LazyGridState,androidx.compose.ui.Modifier,androidx.compose.ui.Modifier,org.jetbrains.jewel.ui.component.styling.ScrollbarStyle,Z,Z,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.jvm.functions.Function3,androidx.compose.runtime.Composer,I,I):V +- sf:VerticallyScrollableContainer(androidx.compose.ui.Modifier,androidx.compose.ui.Modifier,androidx.compose.foundation.ScrollState,org.jetbrains.jewel.ui.component.styling.ScrollbarStyle,Z,Z,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.jvm.functions.Function3,androidx.compose.runtime.Composer,I,I):V - sf:scrollbarContentSafePadding(org.jetbrains.jewel.ui.component.styling.ScrollbarStyle,androidx.compose.runtime.Composer,I,I):F f:org.jetbrains.jewel.ui.component.ScrollbarKt - sf:HorizontalScrollbar(androidx.compose.foundation.gestures.ScrollableState,androidx.compose.ui.Modifier,Z,Z,androidx.compose.foundation.interaction.MutableInteractionSource,org.jetbrains.jewel.ui.component.styling.ScrollbarStyle,Z,androidx.compose.runtime.Composer,I,I):V @@ -669,9 +675,13 @@ f:org.jetbrains.jewel.ui.component.SelectableIconButtonState$Companion - bs:of-z9lnavA$default(org.jetbrains.jewel.ui.component.SelectableIconButtonState$Companion,Z,Z,Z,Z,Z,Z,I,java.lang.Object):J f:org.jetbrains.jewel.ui.component.SimpleListItemKt - sf:SimpleListItem-0vH8DBg(org.jetbrains.jewel.ui.component.ListItemState,androidx.compose.ui.Modifier,androidx.compose.ui.Modifier,org.jetbrains.jewel.ui.icon.IconKey,java.lang.String,org.jetbrains.jewel.ui.component.styling.SimpleListItemStyle,F,kotlin.jvm.functions.Function2,androidx.compose.runtime.Composer,I,I):V +- sf:SimpleListItem-J1qPv4o(Z,Z,androidx.compose.ui.graphics.ColorFilter,java.util.List,androidx.compose.ui.Modifier,androidx.compose.ui.Modifier,org.jetbrains.jewel.ui.icon.IconKey,java.lang.String,org.jetbrains.jewel.ui.component.styling.SimpleListItemStyle,F,kotlin.jvm.functions.Function2,androidx.compose.runtime.Composer,I,I,I):V +- sf:SimpleListItem-Wu8B24Y(java.lang.String,org.jetbrains.jewel.ui.component.ListItemState,androidx.compose.ui.Modifier,androidx.compose.ui.Modifier,androidx.compose.ui.Modifier,org.jetbrains.jewel.ui.icon.IconKey,java.lang.String,org.jetbrains.jewel.ui.component.styling.SimpleListItemStyle,F,androidx.compose.ui.graphics.ColorFilter,org.jetbrains.jewel.ui.painter.PainterHint[],androidx.compose.runtime.Composer,I,I,I):V +- sf:SimpleListItem-XFD2ZOI(java.lang.String,Z,Z,androidx.compose.ui.Modifier,androidx.compose.ui.Modifier,androidx.compose.ui.Modifier,org.jetbrains.jewel.ui.icon.IconKey,java.lang.String,org.jetbrains.jewel.ui.component.styling.SimpleListItemStyle,F,androidx.compose.ui.graphics.ColorFilter,org.jetbrains.jewel.ui.painter.PainterHint[],androidx.compose.runtime.Composer,I,I,I):V - sf:SimpleListItem-aqv2aB4(java.lang.String,Z,androidx.compose.ui.Modifier,androidx.compose.ui.Modifier,androidx.compose.ui.Modifier,Z,org.jetbrains.jewel.ui.icon.IconKey,java.lang.String,org.jetbrains.jewel.ui.component.styling.SimpleListItemStyle,F,androidx.compose.runtime.Composer,I,I):V - sf:SimpleListItem-eKw1uXw(java.lang.String,org.jetbrains.jewel.ui.component.ListItemState,androidx.compose.ui.Modifier,androidx.compose.ui.Modifier,androidx.compose.ui.Modifier,org.jetbrains.jewel.ui.icon.IconKey,java.lang.String,org.jetbrains.jewel.ui.component.styling.SimpleListItemStyle,F,androidx.compose.runtime.Composer,I,I):V - sf:SimpleListItem-gMrHQkA(Z,androidx.compose.ui.Modifier,androidx.compose.ui.Modifier,Z,org.jetbrains.jewel.ui.icon.IconKey,java.lang.String,org.jetbrains.jewel.ui.component.styling.SimpleListItemStyle,F,kotlin.jvm.functions.Function2,androidx.compose.runtime.Composer,I,I):V +- sf:SimpleListItem-tJlDC5Y(org.jetbrains.jewel.ui.component.ListItemState,androidx.compose.ui.graphics.ColorFilter,java.util.List,androidx.compose.ui.Modifier,androidx.compose.ui.Modifier,org.jetbrains.jewel.ui.icon.IconKey,java.lang.String,org.jetbrains.jewel.ui.component.styling.SimpleListItemStyle,F,kotlin.jvm.functions.Function2,androidx.compose.runtime.Composer,I,I):V f:org.jetbrains.jewel.ui.component.SliderKt - sf:Slider(F,kotlin.jvm.functions.Function1,androidx.compose.ui.Modifier,Z,kotlin.ranges.ClosedFloatingPointRange,I,kotlin.jvm.functions.Function0,androidx.compose.foundation.interaction.MutableInteractionSource,org.jetbrains.jewel.ui.component.styling.SliderStyle,androidx.compose.runtime.Composer,I,I):V f:org.jetbrains.jewel.ui.component.SliderState @@ -811,11 +821,9 @@ f:org.jetbrains.jewel.ui.component.TabsKt f:org.jetbrains.jewel.ui.component.TextAreaKt - sf:TextArea(androidx.compose.foundation.text.input.TextFieldState,androidx.compose.ui.Modifier,Z,Z,androidx.compose.foundation.text.input.InputTransformation,androidx.compose.ui.text.TextStyle,androidx.compose.foundation.text.KeyboardOptions,androidx.compose.foundation.text.input.KeyboardActionHandler,androidx.compose.foundation.text.input.TextFieldLineLimits,kotlin.jvm.functions.Function2,androidx.compose.foundation.interaction.MutableInteractionSource,org.jetbrains.jewel.ui.component.styling.TextAreaStyle,org.jetbrains.jewel.ui.Outline,kotlin.jvm.functions.Function2,androidx.compose.ui.Modifier,androidx.compose.foundation.text.input.OutputTransformation,Z,androidx.compose.foundation.ScrollState,org.jetbrains.jewel.ui.component.styling.ScrollbarStyle,androidx.compose.runtime.Composer,I,I,I):V - sf:TextArea(androidx.compose.ui.text.input.TextFieldValue,kotlin.jvm.functions.Function1,androidx.compose.ui.Modifier,Z,Z,kotlin.jvm.functions.Function2,Z,org.jetbrains.jewel.ui.Outline,androidx.compose.ui.text.input.VisualTransformation,androidx.compose.foundation.text.KeyboardOptions,androidx.compose.foundation.text.KeyboardActions,I,kotlin.jvm.functions.Function1,org.jetbrains.jewel.ui.component.styling.TextAreaStyle,androidx.compose.ui.text.TextStyle,androidx.compose.foundation.interaction.MutableInteractionSource,androidx.compose.ui.Modifier,androidx.compose.runtime.Composer,I,I,I):V -- sf:TextArea(java.lang.String,kotlin.jvm.functions.Function1,androidx.compose.ui.Modifier,Z,Z,org.jetbrains.jewel.ui.Outline,kotlin.jvm.functions.Function2,Z,androidx.compose.ui.text.input.VisualTransformation,androidx.compose.foundation.text.KeyboardOptions,androidx.compose.foundation.text.KeyboardActions,I,kotlin.jvm.functions.Function1,org.jetbrains.jewel.ui.component.styling.TextAreaStyle,androidx.compose.ui.text.TextStyle,androidx.compose.foundation.interaction.MutableInteractionSource,androidx.compose.ui.Modifier,androidx.compose.runtime.Composer,I,I,I):V f:org.jetbrains.jewel.ui.component.TextFieldKt - sf:TextField(androidx.compose.foundation.text.input.TextFieldState,androidx.compose.ui.Modifier,Z,Z,androidx.compose.foundation.text.input.InputTransformation,androidx.compose.ui.text.TextStyle,androidx.compose.foundation.text.KeyboardOptions,androidx.compose.foundation.text.input.KeyboardActionHandler,kotlin.jvm.functions.Function2,androidx.compose.foundation.interaction.MutableInteractionSource,org.jetbrains.jewel.ui.component.styling.TextFieldStyle,org.jetbrains.jewel.ui.Outline,kotlin.jvm.functions.Function2,kotlin.jvm.functions.Function2,kotlin.jvm.functions.Function2,androidx.compose.foundation.text.input.OutputTransformation,Z,androidx.compose.runtime.Composer,I,I,I):V - sf:TextField(androidx.compose.ui.text.input.TextFieldValue,kotlin.jvm.functions.Function1,androidx.compose.ui.Modifier,Z,Z,org.jetbrains.jewel.ui.Outline,kotlin.jvm.functions.Function2,kotlin.jvm.functions.Function2,kotlin.jvm.functions.Function2,Z,androidx.compose.ui.text.input.VisualTransformation,androidx.compose.foundation.text.KeyboardOptions,androidx.compose.foundation.text.KeyboardActions,kotlin.jvm.functions.Function1,org.jetbrains.jewel.ui.component.styling.TextFieldStyle,androidx.compose.ui.text.TextStyle,androidx.compose.foundation.interaction.MutableInteractionSource,androidx.compose.runtime.Composer,I,I,I):V -- sf:TextField(java.lang.String,kotlin.jvm.functions.Function1,androidx.compose.ui.Modifier,Z,Z,org.jetbrains.jewel.ui.Outline,kotlin.jvm.functions.Function2,kotlin.jvm.functions.Function2,kotlin.jvm.functions.Function2,Z,androidx.compose.ui.text.input.VisualTransformation,androidx.compose.foundation.text.KeyboardOptions,androidx.compose.foundation.text.KeyboardActions,kotlin.jvm.functions.Function1,org.jetbrains.jewel.ui.component.styling.TextFieldStyle,androidx.compose.foundation.interaction.MutableInteractionSource,androidx.compose.runtime.Composer,I,I,I):V f:org.jetbrains.jewel.ui.component.TextKt - sf:Text-F-Jr8PA(androidx.compose.ui.text.AnnotatedString,androidx.compose.ui.Modifier,J,J,androidx.compose.ui.text.font.FontStyle,androidx.compose.ui.text.font.FontWeight,androidx.compose.ui.text.font.FontFamily,J,androidx.compose.ui.text.style.TextDecoration,I,J,I,Z,I,java.util.Map,kotlin.jvm.functions.Function1,androidx.compose.ui.text.TextStyle,androidx.compose.runtime.Composer,I,I,I):V - sf:Text-bAzTDeA(java.lang.String,androidx.compose.ui.Modifier,J,J,androidx.compose.ui.text.font.FontStyle,androidx.compose.ui.text.font.FontWeight,androidx.compose.ui.text.font.FontFamily,J,androidx.compose.ui.text.style.TextDecoration,I,J,I,Z,I,kotlin.jvm.functions.Function1,androidx.compose.ui.text.TextStyle,androidx.compose.runtime.Composer,I,I,I):V @@ -2171,1454 +2179,1408 @@ f:org.jetbrains.jewel.ui.icon.PathIconKey - hashCode():I - path(Z):java.lang.String f:org.jetbrains.jewel.ui.icons.AllIconsKeys -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys -- f:getEmpty():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getIdea_logo_welcome():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getStub():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Empty:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Icon:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Idea_logo_welcome:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Stub:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Actions -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$Actions -- f:getAddFile():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getAddList():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getAddMulticaret():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getAddToDictionary():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getAnnotate():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getArrowCollapse():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getArrowExpand():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getBack():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getBuildAutoReloadChanges():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getBuildLoadChanges():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCancel():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getChangeView():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCheckMulticaret():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCheckOut():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getChecked():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getChecked_selected():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getClearCash():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getClose():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCloseDarkGrey():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCloseHovered():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCollapseall():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getColors():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCommit():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCompile():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCopy():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDeleteTag():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDeleteTagHover():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDependencyAnalyzer():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDiagramDiff():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDiff():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDiffWithClipboard():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDownload():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDump():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDynamicUsages():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getEdit():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getEditScheme():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getEditSource():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getEnableNewUi():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getEnableNewUiSelected():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getExecute():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getExit():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getExpandall():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getFind():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getFindAndShowNextMatches():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getFindAndShowNextMatchesSmall():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getFindAndShowPrevMatches():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getFindAndShowPrevMatchesSmall():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getFindBackward():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getFindEntireFile():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getFindForward():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getForceRefresh():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getForward():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getGC():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getGeneratedFolder():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getGroupBy():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getGroupByClass():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getGroupByFile():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getGroupByMethod():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getGroupByModule():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getGroupByModuleGroup():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getGroupByPackage():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getGroupByPrefix():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getGroupByTestProduction():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getHelp():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getHighlighting():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getInSelection():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getInlayDropTriangle():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getInlayGear():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getInlayGlobe():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getInlayRenameInComments():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getInlayRenameInCommentsActive():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getInlayRenameInNoCodeFiles():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getInlayRenameInNoCodeFilesActive():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getInlaySecuredShield():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getInlineDropFrame():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getInlineDropFrameSelected():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getInstall():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getIntentionBulb():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getIntentionBulbGrey():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getLightning():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getListChanges():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getListFiles():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMatchCase():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMatchCaseHovered():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMatchCaseSelected():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMenuCut():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMenuOpen():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMenuPaste():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMenuSaveall():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMinimap():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getModuleDirectory():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMore():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMoreHorizontal():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMoveDown():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMoveTo2():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMoveToBottomLeft():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMoveToBottomRight():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMoveToButton():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMoveToLeftBottom():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMoveToLeftTop():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMoveToRightBottom():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMoveToRightTop():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMoveToTopLeft():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMoveToTopRight():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMoveToWindow():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMoveUp():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getNew():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getNewFolder():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getNextOccurence():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getOfflineMode():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getOpenNewTab():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPause():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPinTab():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPlay_back():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPlay_first():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPlay_forward():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPlay_last():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPopFrame():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPresentationAssistantSettings():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPreserveCase():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPreserveCaseHover():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPreserveCaseSelected():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPrettyPrint():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPreview():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPreviewDetails():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPreviewDetailsVertically():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPreviousOccurence():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getProfile():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getProfileBlue():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getProfileCPU():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getProfileMemory():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getProfileRed():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getProfileYellow():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getProjectDirectory():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getProjectWideAnalysisOff():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getProjectWideAnalysisOn():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getProperties():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getQuickfixBulb():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getQuickfixOffBulb():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRealIntentionBulb():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRebuild():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRedo():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRefactoringBulb():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getReformatCode():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRefresh():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRegex():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRegexHovered():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRegexSelected():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRemoveMulticaret():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getReplace():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getReport():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRerun():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRerunAutomatically():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRestart():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRestartDebugger():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRestartFrame():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRestartStop():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getResume():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRollback():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRunAll():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRunToCursor():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRun_anything():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getScratch():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getSearch():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getSearchNewLine():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getSearchNewLineHover():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getSearchWithHistory():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getSelectall():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getSetDefault():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getShare():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getShortcutFilter():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getShow():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getShowAsTree():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getShowCode():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getShowImportStatements():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getShowReadAccess():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getShowWriteAccess():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getSplitHorizontally():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getSplitVertically():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getStartDebugger():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getStartMemoryProfile():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getStepOut():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getStepOutCodeBlock():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getStopAndRestart():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getStopRefresh():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getStub():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getSuggestedRefactoringBulb():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getSuspend():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getSwapPanels():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getSyncPanels():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getSynchronizeScrolling():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getToggleSoftWrap():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getToggleVisibility():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getTraceInto():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getTraceOver():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getUndo():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getUninstall():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getUnselectall():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getUnshare():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getUpload():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getWords():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getWordsHovered():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getWordsSelected():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:AddDirectory:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:AddFile:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:AddList:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:AddMulticaret:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:AddToDictionary:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Annotate:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ArrowCollapse:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ArrowExpand:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Back:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:BuildAutoReloadChanges:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:BuildLoadChanges:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Cancel:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ChangeView:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CheckMulticaret:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CheckOut:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Checked:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Checked_selected:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ClearCash:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Close:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CloseDarkGrey:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CloseHovered:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Collapseall:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Colors:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Commit:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Compile:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Copy:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:DeleteTag:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:DeleteTagHover:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:DependencyAnalyzer:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:DiagramDiff:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Diff:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:DiffWithClipboard:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Download:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Dump:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:DynamicUsages:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Edit:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:EditScheme:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:EditSource:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:EnableNewUi:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:EnableNewUiSelected:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Execute:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Exit:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Expandall:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Find:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:FindAndShowNextMatches:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:FindAndShowNextMatchesSmall:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:FindAndShowPrevMatches:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:FindAndShowPrevMatchesSmall:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:FindBackward:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:FindEntireFile:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:FindForward:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ForceRefresh:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Forward:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:GC:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:GeneratedFolder:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:GroupBy:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:GroupByClass:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:GroupByFile:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:GroupByMethod:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:GroupByModule:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:GroupByModuleGroup:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:GroupByPackage:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:GroupByPrefix:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:GroupByTestProduction:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Help:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Highlighting:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:InSelection:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:InlayDropTriangle:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:InlayGear:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:InlayGlobe:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:InlayRenameInComments:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:InlayRenameInCommentsActive:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:InlayRenameInNoCodeFiles:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:InlayRenameInNoCodeFilesActive:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:InlaySecuredShield:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:InlineDropFrame:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:InlineDropFrameSelected:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Install:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:IntentionBulb:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:IntentionBulbGrey:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Lightning:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ListChanges:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ListFiles:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MatchCase:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MatchCaseHovered:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MatchCaseSelected:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MenuCut:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MenuOpen:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MenuPaste:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MenuSaveall:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Menu_cut:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Menu_open:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Menu_paste:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Menu_saveall:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Minimap:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ModuleDirectory:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:More:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MoreHorizontal:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MoveDown:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MoveTo2:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MoveToBottomLeft:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MoveToBottomRight:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MoveToButton:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MoveToLeftBottom:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MoveToLeftTop:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MoveToRightBottom:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MoveToRightTop:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MoveToTopLeft:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MoveToTopRight:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MoveToWindow:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MoveUp:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:New:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:NewFolder:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:NextOccurence:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:OfflineMode:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:OpenNewTab:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Pause:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:PinTab:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Play_back:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Play_first:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Play_forward:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Play_last:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:PopFrame:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:PresentationAssistantSettings:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:PreserveCase:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:PreserveCaseHover:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:PreserveCaseSelected:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:PrettyPrint:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Preview:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:PreviewDetails:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:PreviewDetailsVertically:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:PreviousOccurence:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Profile:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ProfileBlue:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ProfileCPU:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ProfileMemory:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ProfileRed:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ProfileYellow:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ProjectDirectory:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ProjectWideAnalysisOff:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ProjectWideAnalysisOn:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Properties:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:QuickfixBulb:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:QuickfixOffBulb:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:RealIntentionBulb:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Rebuild:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Redo:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:RefactoringBulb:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ReformatCode:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Refresh:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Regex:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:RegexHovered:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:RegexSelected:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:RemoveMulticaret:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Replace:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Report:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Rerun:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:RerunAutomatically:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Restart:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:RestartDebugger:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:RestartFrame:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:RestartStop:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Resume:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Rollback:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:RunAll:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:RunToCursor:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Run_anything:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Scratch:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Search:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:SearchNewLine:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:SearchNewLineHover:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:SearchWithHistory:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Selectall:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:SetDefault:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Share:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ShortcutFilter:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Show:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ShowAsTree:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ShowCode:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ShowImportStatements:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ShowReadAccess:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ShowViewer:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ShowWriteAccess:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:SplitHorizontally:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:SplitVertically:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:StartDebugger:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:StartMemoryProfile:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:StepOut:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:StepOutCodeBlock:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:StopAndRestart:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:StopRefresh:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Stub:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:SuggestedRefactoringBulb:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Suspend:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:SwapPanels:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:SyncPanels:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:SynchronizeScrolling:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ToggleSoftWrap:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ToggleVisibility:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:TraceInto:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:TraceOver:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Undo:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Uninstall:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Unselectall:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Unshare:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Upload:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Words:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:WordsHovered:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:WordsSelected:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Breakpoints -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$Breakpoints -- f:getBreakpointFieldUnsuspendentDisabled():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getBreakpointMethodUnsuspendentDisabled():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getBreakpointUnsuspendentDisabled():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMultipleBreakpointsDisabled():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMultipleBreakpointsMuted():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:BreakpointFieldUnsuspendentDisabled:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:BreakpointMethodUnsuspendentDisabled:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:BreakpointUnsuspendentDisabled:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MultipleBreakpointsDisabled:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MultipleBreakpointsMuted:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Chooser -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$Chooser -- f:getBottom():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getLeft():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRight():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getTop():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Bottom:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Left:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Right:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Top:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$CodeStyle -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$CodeStyle -- f:getAddNewSectionRule():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:AddNewSectionRule:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$CodeWithMe -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$CodeWithMe -- f:getCwmAccess():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCwmAccessDotOff():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCwmAccessDotOn():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCwmAccessOff():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCwmAccessOn():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCwmCamAvatarOff():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCwmCamAvatarOn():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCwmCamOff():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCwmCamOn():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCwmDisableCall():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCwmEnableCall():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCwmFollow():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCwmFollowMe():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCwmForceFollowMe():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCwmFullSync():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCwmIconModificator():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCwmIconModificatorMenu():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCwmInvite():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCwmJoin():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCwmJump():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCwmKick():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCwmLeaveCall():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCwmLogoToolbar():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCwmMicAvatarOff():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCwmMicAvatarOn():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCwmMicOff():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCwmMicOn():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCwmPermissionEdit():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCwmPermissionFull():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCwmPermissionView():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCwmPermissions():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCwmPermissionsDenied():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCwmPermissionsGranted():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCwmScreenInBrowserOff():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCwmScreenInBrowserOn():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCwmScreenOff():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCwmScreenOn():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCwmShared():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCwmSharingAvatarOn():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCwmTerminate():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCwmVerified():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getUsers():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CwmAccess:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CwmAccessDotOff:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CwmAccessDotOn:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CwmAccessOff:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CwmAccessOn:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CwmCamAvatarOff:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CwmCamAvatarOn:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CwmCamOff:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CwmCamOn:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CwmDisableCall:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CwmEnableCall:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CwmFollow:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CwmFollowMe:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CwmForceFollowMe:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CwmFullSync:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CwmIconModificator:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CwmIconModificatorMenu:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CwmInvite:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CwmJoin:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CwmJump:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CwmKick:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CwmLeaveCall:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CwmLogoToolbar:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CwmMicAvatarOff:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CwmMicAvatarOn:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CwmMicOff:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CwmMicOn:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CwmPermissionEdit:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CwmPermissionFull:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CwmPermissionView:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CwmPermissions:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CwmPermissionsDenied:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CwmPermissionsGranted:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CwmScreenInBrowserOff:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CwmScreenInBrowserOn:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CwmScreenOff:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CwmScreenOn:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CwmShared:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CwmSharingAvatarOn:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CwmTerminate:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CwmVerified:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Users:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Debugger -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$Debugger -- f:getAddToWatch():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getAttachToProcess():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getClassLevelWatch():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getConsole():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDb_array():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDb_db_object():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDb_dep_field_breakpoint():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDb_dep_line_breakpoint():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDb_dep_method_breakpoint():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDb_disabled_breakpoint():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDb_disabled_breakpoint_process():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDb_disabled_exception_breakpoint():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDb_disabled_field_breakpoint():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDb_disabled_method_breakpoint():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDb_evaluateNode():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDb_exception_breakpoint():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDb_field_breakpoint():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDb_invalid_breakpoint():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDb_method_breakpoint():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDb_muted_breakpoint():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDb_muted_dep_field_breakpoint():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDb_muted_dep_line_breakpoint():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDb_muted_dep_method_breakpoint():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDb_muted_disabled_breakpoint():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDb_muted_disabled_field_breakpoint():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDb_muted_disabled_method_breakpoint():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDb_muted_field_breakpoint():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDb_muted_method_breakpoint():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDb_no_suspend_breakpoint():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDb_no_suspend_field_breakpoint():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDb_no_suspend_method_breakpoint():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDb_obsolete():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDb_primitive():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDb_set_breakpoint():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDb_verified_breakpoint():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDb_verified_field_breakpoint():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDb_verified_method_breakpoint():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDb_verified_no_suspend_breakpoint():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDb_verified_no_suspend_field_breakpoint():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDb_verified_no_suspend_method_breakpoint():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDb_watch():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getEvaluateExpression():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getEvaluationResult():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getForceRunToCursor():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getForceStepInto():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getForceStepOver():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getFrame():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getFreeze():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getFreezeAll():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getKillProcess():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getLambdaBreakpoint():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMultipleBreakpoints():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMultipleBreakpointsDisabled():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMultipleBreakpointsMuted():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMuteBreakpoints():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getNextStatement():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getOverhead():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPromptInput():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPromptInputHistory():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getQuestion_badge():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRestoreLayout():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getSelfreference():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getShowCurrentFrame():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getSmartStepInto():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getThaw():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getThawAll():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getThreadAtBreakpoint():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getThreadCurrent():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getThreadFrozen():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getThreadGroup():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getThreadGroupCurrent():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getThreadRunning():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getThreadSuspended():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getThreads():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getValue():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getVariablesTab():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getViewBreakpoints():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getWatch():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getWatchLastReturnValue():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:AddToWatch:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:AttachToProcess:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ClassLevelWatch:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Console:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Db_array:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Db_db_object:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Db_dep_field_breakpoint:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Db_dep_line_breakpoint:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Db_dep_method_breakpoint:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Db_disabled_breakpoint:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Db_disabled_breakpoint_process:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Db_disabled_exception_breakpoint:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Db_disabled_field_breakpoint:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Db_disabled_method_breakpoint:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Db_evaluateNode:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Db_exception_breakpoint:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Db_field_breakpoint:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Db_invalid_breakpoint:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Db_method_breakpoint:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Db_muted_breakpoint:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Db_muted_dep_field_breakpoint:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Db_muted_dep_line_breakpoint:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Db_muted_dep_method_breakpoint:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Db_muted_disabled_breakpoint:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Db_muted_disabled_field_breakpoint:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Db_muted_disabled_method_breakpoint:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Db_muted_field_breakpoint:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Db_muted_method_breakpoint:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Db_no_suspend_breakpoint:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Db_no_suspend_field_breakpoint:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Db_no_suspend_method_breakpoint:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Db_obsolete:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Db_primitive:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Db_set_breakpoint:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Db_verified_breakpoint:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Db_verified_field_breakpoint:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Db_verified_method_breakpoint:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Db_verified_no_suspend_breakpoint:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Db_verified_no_suspend_field_breakpoint:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Db_verified_no_suspend_method_breakpoint:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Db_watch:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:EvaluateExpression:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:EvaluationResult:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ForceRunToCursor:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ForceStepInto:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ForceStepOver:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Frame:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Freeze:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:FreezeAll:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:KillProcess:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:LambdaBreakpoint:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MultipleBreakpoints:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MultipleBreakpointsDisabled:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MultipleBreakpointsMuted:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MuteBreakpoints:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:NextStatement:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Overhead:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:PromptInput:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:PromptInputHistory:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Question_badge:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:RestoreLayout:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Selfreference:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ShowCurrentFrame:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:SmartStepInto:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Thaw:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ThawAll:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ThreadAtBreakpoint:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ThreadCurrent:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ThreadFrozen:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ThreadGroup:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ThreadGroupCurrent:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ThreadRunning:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ThreadSuspended:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Threads:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Value:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:VariablesTab:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ViewBreakpoints:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Watch:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:WatchLastReturnValue:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Debugger$ThreadStates -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$Debugger$ThreadStates -- f:getDaemon_sign():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getIdle():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getSocket():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Daemon_sign:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Idle:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Socket:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Diff -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$Diff -- f:getApplyNotConflicts():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getApplyNotConflictsLeft():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getApplyNotConflictsRight():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getArrow():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getArrowLeftDown():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getArrowLeftRight():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getArrowRight():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getArrowRightDown():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCompare3LeftMiddle():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCompare3LeftRight():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCompare3MiddleRight():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCompare4LeftBottom():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCompare4LeftMiddle():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCompare4LeftRight():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCompare4MiddleBottom():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCompare4MiddleRight():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCompare4RightBottom():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getGutterCheckBox():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getGutterCheckBoxIndeterminate():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getGutterCheckBoxSelected():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getLock():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMagicResolve():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMagicResolveToolbar():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRemove():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRevert():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ApplyNotConflicts:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ApplyNotConflictsLeft:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ApplyNotConflictsRight:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Arrow:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ArrowLeftDown:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ArrowLeftRight:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ArrowRight:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ArrowRightDown:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Compare3LeftMiddle:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Compare3LeftRight:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Compare3MiddleRight:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Compare4LeftBottom:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Compare4LeftMiddle:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Compare4LeftRight:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Compare4MiddleBottom:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Compare4MiddleRight:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Compare4RightBottom:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:GutterCheckBox:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:GutterCheckBoxIndeterminate:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:GutterCheckBoxSelected:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Lock:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MagicResolve:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MagicResolveToolbar:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Remove:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Revert:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Duplicates -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$Duplicates -- f:getSendToTheLeft():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getSendToTheLeftGrayed():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getSendToTheRight():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getSendToTheRightGrayed():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:SendToTheLeft:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:SendToTheLeftGrayed:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:SendToTheRight:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:SendToTheRightGrayed:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$FileTypes -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$FileTypes -- f:getAS():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getAddAny():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getAny_type():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getArchive():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getAspectj():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getConfig():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getContexts():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getContextsModifier():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCss():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCsv():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCustom():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDiagram():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDtd():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getFont():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getGitignore():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getHprof():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getHtaccess():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getHtml():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getI18n():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getIdl():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getImage():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getJava():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getJavaClass():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getJavaOutsideSource():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getJavaScript():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getJfr():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getJson():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getJsonSchema():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getJsp():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getJspx():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getManifest():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMicrosoftWindows():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPerl():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getProperties():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRegexp():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getSourceMap():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getText():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getUiForm():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getUnknown():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getWsdlFile():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getXhtml():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getXml():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getXsdFile():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getYaml():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:AS:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:AddAny:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Any_type:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Archive:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Aspectj:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Config:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Contexts:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ContextsModifier:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Css:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Csv:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Custom:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Diagram:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Dtd:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Font:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Gitignore:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Hprof:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Htaccess:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Html:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:I18n:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Idl:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Image:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Java:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:JavaClass:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:JavaOutsideSource:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:JavaScript:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Jfr:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Json:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:JsonSchema:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Jsp:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Jspx:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Manifest:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MicrosoftWindows:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Perl:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Properties:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Regexp:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:SourceMap:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Text:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:UiForm:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Unknown:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:WsdlFile:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Xhtml:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Xml:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:XsdFile:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Yaml:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$General -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$General -- f:getActualZoom():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getAdd():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getAddJdk():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getAlpha():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getArrowDown():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getArrowDownSmall():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getArrowLeft():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getArrowRight():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getArrowSplitCenterH():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getArrowSplitCenterV():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getArrowUp():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getAutoscrollFromSource():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getAutoscrollToSource():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getBalloon():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getBalloonError():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getBalloonInformation():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getBalloonWarning():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getBalloonWarning12():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getBeta():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getButtonDropTriangle():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getChevronDown():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getChevronDownLargeWhite():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getChevronLeft():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getChevronRight():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getChevronUp():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getClose():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCloseSmall():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCloseSmallHovered():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCollapseComponent():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCollapseComponentHover():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getContextHelp():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCopy():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCopyHovered():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDebugDisabled():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDelete():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDivider():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDrag():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDropPlace():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDropdown():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDropdownGutter():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getEditorPreviewVertical():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getEllipsis():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getError():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getErrorDialog():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getExclMark():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getExpandComponent():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getExpandComponentHover():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getExport():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getExternalTools():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getFilter():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getFitContent():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getGear():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getGearHover():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getGearPlain():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getGreenCheckmark():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getGroups():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getHideToolWindow():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getHistory():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getImplementingMethod():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getInformation():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getInformationDialog():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getInheritedMethod():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getInlineAdd():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getInlineAddHover():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getInlineCopy():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getInlineCopyHover():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getInlineRefresh():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getInlineRefreshHover():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getInlineVariables():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getInlineVariablesHover():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getInline_edit():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getInline_edit_hovered():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getInspectionsError():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getInspectionsErrorEmpty():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getInspectionsEye():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getInspectionsMixed():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getInspectionsOK():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getInspectionsOKEmpty():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getInspectionsPause():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getInspectionsPowerSaveMode():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getInspectionsTrafficOff():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getInspectionsTypos():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getInspectionsWarning():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getInspectionsWarningEmpty():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getKeyboard():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getLayout():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getLayoutEditorOnly():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getLayoutEditorPreview():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getLayoutPreviewOnly():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getLinkDropTriangle():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getLocalizationSettings():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getLocate():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getModified():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getModifiedSelected():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMoreTabs():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMouse():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getNew_badge():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getNote():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getNotificationError():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getNotificationInfo():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getNotificationWarning():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getOpenDisk():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getOpenDiskHover():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getOpenInToolWindow():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getOverridenMethod():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getOverridingMethod():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPin():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPinHovered():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPinSelected():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPinSelectedHovered():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPin_tab():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPreviewHorizontally():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPrint():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getProjectConfigurable():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getProjectStructure():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getProjectTab():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getQuestionDialog():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getReaderMode():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRefresh():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRemove():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getReset():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRunWithCoverage():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getSeparatorH():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getSettings():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getShow():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getShowInfos():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getShowWarning():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getShow_to_implement():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getSuccessDialog():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getSuccessLogin():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getTbHidden():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getTbShown():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getTip():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getTodoDefault():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getTodoImportant():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getTodoQuestion():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getTree():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getTreeHovered():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getTreeSelected():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getTrialBadge():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getUser():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getVcs():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getWarning():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getWarningDecorator():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getWarningDialog():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getWeb():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getWindowsMenu_20x20():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getZoomIn():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getZoomOut():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ActualZoom:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Add:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:AddJdk:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Alpha:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ArrowDown:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ArrowDownSmall:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ArrowLeft:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ArrowRight:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ArrowSplitCenterH:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ArrowSplitCenterV:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ArrowUp:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:AutoscrollFromSource:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:AutoscrollToSource:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Balloon:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:BalloonError:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:BalloonInformation:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:BalloonWarning:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:BalloonWarning12:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Beta:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ButtonDropTriangle:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ChevronDown:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ChevronDownLargeWhite:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ChevronLeft:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ChevronRight:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ChevronUp:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Close:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CloseSmall:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CloseSmallHovered:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CollapseComponent:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CollapseComponentHover:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ContextHelp:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Copy:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CopyHovered:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:DebugDisabled:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Delete:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Divider:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Drag:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:DropPlace:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Dropdown:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:DropdownGutter:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:EditorPreviewVertical:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Ellipsis:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Error:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ErrorDialog:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ExclMark:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ExpandComponent:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ExpandComponentHover:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Export:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ExternalTools:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Filter:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:FitContent:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Gear:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:GearHover:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:GearPlain:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:GreenCheckmark:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Groups:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:HideToolWindow:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:History:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ImplementingMethod:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Information:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:InformationDialog:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:InheritedMethod:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:InlineAdd:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:InlineAddHover:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:InlineCopy:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:InlineCopyHover:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:InlineRefresh:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:InlineRefreshHover:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:InlineVariables:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:InlineVariablesHover:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Inline_edit:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Inline_edit_hovered:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:InspectionsError:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:InspectionsErrorEmpty:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:InspectionsEye:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:InspectionsMixed:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:InspectionsOK:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:InspectionsOKEmpty:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:InspectionsPause:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:InspectionsPowerSaveMode:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:InspectionsTrafficOff:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:InspectionsTypos:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:InspectionsWarning:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:InspectionsWarningEmpty:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Keyboard:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Layout:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:LayoutEditorOnly:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:LayoutEditorPreview:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:LayoutPreviewOnly:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:LinkDropTriangle:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:LocalizationSettings:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Locate:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Modified:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ModifiedSelected:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MoreTabs:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Mouse:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:New_badge:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Note:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:NotificationError:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:NotificationInfo:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:NotificationWarning:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:OpenDisk:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:OpenDiskHover:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:OpenInToolWindow:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:OverridenMethod:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:OverridingMethod:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Pin:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:PinHovered:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:PinSelected:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:PinSelectedHovered:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Pin_tab:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:PreviewHorizontally:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Print:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ProjectConfigurable:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ProjectStructure:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ProjectTab:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:QuestionDialog:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ReaderMode:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Refresh:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Remove:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Reset:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:RunWithCoverage:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:SeparatorH:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Settings:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Show:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ShowInfos:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ShowWarning:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Show_to_implement:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:SuccessDialog:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:SuccessLogin:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:TbHidden:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:TbShown:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Tip:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:TodoDefault:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:TodoImportant:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:TodoQuestion:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Tree:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:TreeHovered:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:TreeSelected:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:TrialBadge:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:User:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Vcs:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Warning:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:WarningDecorator:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:WarningDialog:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Web:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:WindowsMenu_20x20:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ZoomIn:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ZoomOut:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Graph -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$Graph -- f:getActualZoom():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getGrid():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getLayout():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getNodeSelectionMode():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getSnapToGrid():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getZoomIn():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getZoomOut():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ActualZoom:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Grid:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Layout:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:NodeSelectionMode:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:SnapToGrid:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ZoomIn:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ZoomOut:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Gutter -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$Gutter -- f:getBookmark():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getColors():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDataSchema():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getExtAnnotation():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getFold():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getFoldBottom():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getImplementedMethod():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getImplementingFunctionalInterface():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getImplementingMethod():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getJava9Service():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getJavadocEdit():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getJavadocRead():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMnemonic():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getOverridenMethod():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getOverridingMethod():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getReadAccess():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRecursiveMethod():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getSiblingInheritedMethod():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getSuggestedRefactoringBulb():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getSuggestedRefactoringBulbDisabled():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getUnfold():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getUnique():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getWriteAccess():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Bookmark:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Colors:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:DataSchema:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ExtAnnotation:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Fold:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:FoldBottom:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ImplementedMethod:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ImplementingFunctionalInterface:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ImplementingMethod:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Java9Service:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:JavadocEdit:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:JavadocRead:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Mnemonic:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:OverridenMethod:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:OverridingMethod:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ReadAccess:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:RecursiveMethod:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:SiblingInheritedMethod:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:SuggestedRefactoringBulb:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:SuggestedRefactoringBulbDisabled:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Unfold:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Unique:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:WriteAccess:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Hierarchy -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$Hierarchy -- f:getClass():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMethodDefined():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMethodNotDefined():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getShouldDefineMethod():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getSubtypes():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getSupertypes():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Class:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MethodDefined:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MethodNotDefined:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ShouldDefineMethod:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Subtypes:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Supertypes:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Icons -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$Icons +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Icons$Ide -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$Icons$Ide -- f:getMenuArrow():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMenuArrowSelected():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getNextStep():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getNextStepInverted():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MenuArrow:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MenuArrowSelected:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:NextStep:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:NextStepInverted:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Ide -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$Ide -- f:getConfigFile():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDislike():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDislikeDimmed():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDislikeSelected():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getErrorPoint():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getExternalLinkArrowWhite():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getExternal_link_arrow():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getFatalError():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getFatalErrorRead():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getFeedbackRating():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getFeedbackRatingFocused():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getFeedbackRatingFocusedOn():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getFeedbackRatingOn():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getFeedbackRatingOnFocused():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getGift():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getHectorOff():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getHectorOn():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getHectorSyntax():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getIncomingChangesOn():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getLike():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getLikeDimmed():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getLikeSelected():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getLink():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getLocalScope():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getLocalScopeAction():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getNavBarSeparator():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getOutgoingChangesOn():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPipette():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPipette_rollover():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPowerSaveMode():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRating():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRating1():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRating2():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRating3():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRating4():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getReadonly():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getReadwrite():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getSharedScope():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getStatusbar_arrows():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getUpDown():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ConfigFile:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Dislike:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:DislikeDimmed:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:DislikeSelected:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ErrorPoint:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ExternalLinkArrowWhite:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:External_link_arrow:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:FatalError:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:FatalErrorRead:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:FeedbackRating:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:FeedbackRatingFocused:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:FeedbackRatingFocusedOn:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:FeedbackRatingOn:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:FeedbackRatingOnFocused:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Gift:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:HectorOff:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:HectorOn:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:HectorSyntax:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:IncomingChangesOn:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Like:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:LikeDimmed:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:LikeSelected:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Link:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:LocalScope:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:LocalScopeAction:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:NavBarSeparator:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:OutgoingChangesOn:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Pipette:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Pipette_rollover:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:PowerSaveMode:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Rating:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Rating1:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Rating2:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Rating3:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Rating4:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Readonly:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Readwrite:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:SharedScope:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Statusbar_arrows:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:UpDown:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Ide$Macro -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$Ide$Macro -- f:getRecording_1():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRecording_2():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRecording_3():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRecording_4():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Recording_1:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Recording_2:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Recording_3:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Recording_4:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Ide$Notification -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$Ide$Notification -- f:getClose():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCloseHover():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCollapse():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCollapseHover():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDropTriangle():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getErrorEvents():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getExpand():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getExpandHover():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getGear():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getGearHover():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getIdeUpdate():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getInfoEvents():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getNoEvents():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPluginUpdate():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getWarningEvents():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Close:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CloseHover:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Collapse:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CollapseHover:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:DropTriangle:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ErrorEvents:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Expand:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ExpandHover:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Gear:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:GearHover:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:IdeUpdate:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:InfoEvents:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:NoEvents:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:PluginUpdate:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:WarningEvents:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Ide$RoundShadow -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$Ide$RoundShadow -- f:getBottom():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getBottomLeft():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getBottomRight():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getLeft():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRight():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getTop():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getTopLeft():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getTopRight():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Bottom:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:BottomLeft:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:BottomRight:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Left:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Right:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Top:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:TopLeft:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:TopRight:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Ide$RunAnything -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$Ide$RunAnything -- f:getOpenRecentProject():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:OpenRecentProject:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Ide$Settings -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$Ide$Settings -- f:getNewUI():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:NewUI:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Ide$Shadow -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$Ide$Shadow -- f:getBottom():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getBottomLeft():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getBottomRight():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getLeft():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRight():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getTop():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getTopLeft():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getTopRight():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Bottom:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:BottomLeft:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:BottomRight:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Left:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Right:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Top:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:TopLeft:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:TopRight:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Javaee -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$Javaee -- f:getHome():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPersistenceEntity():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getUpdateRunningApplication():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getWebModuleGroup():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getWebService():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getWebServiceClient():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Home:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:PersistenceEntity:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:UpdateRunningApplication:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:WebModuleGroup:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:WebService:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:WebServiceClient:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Json -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$Json -- f:getArray():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getObject():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Array:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Object:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Language -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$Language -- f:getGO():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPhp():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPython():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRuby():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRust():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getScala():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:GO:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Php:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Python:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Ruby:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Rust:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Scala:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Linux -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$Linux -- f:getLinux():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Linux:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Linux$Theme -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$Linux$Theme +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Linux$Theme$Gnome -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$Linux$Theme$Gnome -- f:getClose():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCloseHover():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCloseInactive():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getClosePressed():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMaximize():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMaximizeHover():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMaximizeInactive():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMaximizePressed():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMinimize():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMinimizeHover():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMinimizeInactive():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMinimizePressed():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRestore():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRestoreHover():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRestoreInactive():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRestorePressed():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Close:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CloseHover:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CloseInactive:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ClosePressed:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Maximize:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MaximizeHover:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MaximizeInactive:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MaximizePressed:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Minimize:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MinimizeHover:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MinimizeInactive:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MinimizePressed:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Restore:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:RestoreHover:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:RestoreInactive:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:RestorePressed:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Linux$Theme$Kde -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$Linux$Theme$Kde -- f:getClose():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCloseHover():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCloseInactive():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getClosePressed():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMaximize():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMaximizeHover():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMaximizeInactive():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMaximizePressed():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMinimize():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMinimizeHover():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMinimizeInactive():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMinimizePressed():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRestore():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRestoreHover():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRestoreInactive():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRestorePressed():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Close:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CloseHover:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CloseInactive:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ClosePressed:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Maximize:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MaximizeHover:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MaximizeInactive:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MaximizePressed:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Minimize:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MinimizeHover:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MinimizeInactive:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MinimizePressed:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Restore:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:RestoreHover:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:RestoreInactive:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:RestorePressed:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Mac -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$Mac -- f:getAppIconOk512():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:AppIconOk512:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Mac$Touchbar -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$Mac$Touchbar -- f:getPopoverArrow():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPopoverClose():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:PopoverArrow:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:PopoverClose:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$MeetNewUi -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$MeetNewUi -- f:getDarkTheme():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDarkThemeSelected():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDensityCompact():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDensityDefault():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getLightTheme():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getLightThemeSelected():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getSystemTheme():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getSystemThemeSelected():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:DarkTheme:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:DarkThemeSelected:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:DensityCompact:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:DensityDefault:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:LightTheme:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:LightThemeSelected:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:SystemTheme:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:SystemThemeSelected:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Modules -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$Modules -- f:getAddExcludedRoot():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getAnnotation():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getEditFolder():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getExcludeRoot():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getExcludedGeneratedRoot():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getGeneratedFolder():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getGeneratedSourceRoot():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getGeneratedTestRoot():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getResourcesRoot():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getSourceRoot():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getSourceRootFileLayer():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getSplit():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getTestResourcesRoot():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getTestRoot():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getUnloadedModule():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getUnmarkWebroot():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:AddExcludedRoot:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Annotation:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:EditFolder:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ExcludeRoot:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ExcludedGeneratedRoot:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:GeneratedFolder:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:GeneratedSourceRoot:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:GeneratedTestRoot:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ResourcesRoot:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:SourceRoot:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:SourceRootFileLayer:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Split:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:TestResourcesRoot:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:TestRoot:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:UnloadedModule:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:UnmarkWebroot:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Nodes -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$Nodes -- f:getAbstractClass():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getAbstractException():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getAbstractMethod():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getAlias():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getAnnotationtype():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getAnonymousClass():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getArtifact():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getAspect():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getBookmark():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getBookmarkGroup():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getC_plocal():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getC_private():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getC_protected():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getC_public():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getClass():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getClassInitializer():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCompiledClassesFolder():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getConfigFolder():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getConsole():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getConstant():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getController():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCopyOfFolder():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCustomRegion():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCvs_global():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCvs_roots():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDataColumn():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDataSchema():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDataTables():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDeploy():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDesktop():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDoneMark():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getEditorconfig():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getEmptyNode():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getEnterpriseProject():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getEntryPoints():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getEnum():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getErrorIntroduction():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getErrorMark():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getExceptionClass():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getExcludedFromCompile():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getExtractedFolder():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getFavorite():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getField():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getFieldPK():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getFilePrivate():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getFinalMark():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getFolder():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getFunction():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getGvariable():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getHomeFolder():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getIdeaModule():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getIdeaProject():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getInclude():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getInspectionResults():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getInterface():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getJ2eeParameter():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getJarDirectory():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getJavaDocFolder():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getJavaModule():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getJunitTestMark():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getKeymapAnt():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getKeymapEditor():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getKeymapMainMenu():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getKeymapOther():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getKeymapTools():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getLambda():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getLibrary():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getLocked():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getLogFolder():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMethod():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMethodReference():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMnemonic():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getModelClass():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getModels():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getModule():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getModule8x8():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getModuleGroup():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMultipleTypeDefinitions():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getNativeLibrariesFolder():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getNewParameter():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getNodePlaceholder():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getNotFavoriteOnHover():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getObjectTypeAttribute():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPackage():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPackageLocal():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPadlock():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getParameter():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPlugin():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPluginJB():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPluginLogo():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPluginRestart():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPluginnotinstalled():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPluginobsolete():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPpInvalid():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPpJar():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPpJdk():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPpLib():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPpLibFolder():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPpWeb():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPrivate():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getProcessMark():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getProject():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getProperty():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPropertyRead():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPropertyReadStatic():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPropertyReadWrite():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPropertyReadWriteStatic():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPropertyWrite():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPropertyWriteStatic():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getProtected():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPublic():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getReadAccess():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRecord():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRelated():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getResourceBundle():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRunnableMark():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRwAccess():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getSecurityRole():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getServices():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getServlet():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getShared():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getSortBySeverity():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getStatic():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getStaticMark():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getSymlink():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getTabAlert():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getTabPin():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getTag():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getTarget():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getTemplate():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getTest():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getTestGroup():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getTestIgnored():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getTestSourceFolder():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getTextArea():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getToolbox():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getType():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getUndeploy():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getUnknown():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getUnknownJdk():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getUpFolder():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getUpLevel():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getVariable():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getWarningIntroduction():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getWarningMark():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getWebFolder():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getWeblistener():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getWord():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getWorkspace():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getWriteAccess():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:AbstractClass:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:AbstractException:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:AbstractMethod:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Alias:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Annotationtype:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:AnonymousClass:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Artifact:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Aspect:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Bookmark:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:BookmarkGroup:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:C_plocal:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:C_private:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:C_protected:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:C_public:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Class:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ClassInitializer:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CompiledClassesFolder:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ConfigFolder:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Console:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Constant:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Controller:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CopyOfFolder:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CustomRegion:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Cvs_global:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Cvs_roots:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:DataColumn:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:DataSchema:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:DataTables:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Deploy:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Desktop:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:DoneMark:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Editorconfig:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:EmptyNode:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:EnterpriseProject:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:EntryPoints:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Enum:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ErrorIntroduction:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ErrorMark:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ExceptionClass:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ExcludedFromCompile:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ExtractedFolder:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Favorite:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Field:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:FieldPK:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:FilePrivate:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:FinalMark:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Folder:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Function:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Gvariable:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:HomeFolder:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:IdeaModule:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:IdeaProject:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Include:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:InspectionResults:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Interface:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:J2eeParameter:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:JarDirectory:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:JavaDocFolder:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:JavaModule:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:JunitTestMark:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:KeymapAnt:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:KeymapEditor:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:KeymapMainMenu:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:KeymapOther:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:KeymapTools:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Lambda:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Library:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Locked:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:LogFolder:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Method:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MethodReference:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Mnemonic:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ModelClass:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Models:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Module:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Module8x8:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ModuleGroup:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MultipleTypeDefinitions:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:NativeLibrariesFolder:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:NewParameter:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:NodePlaceholder:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:NotFavoriteOnHover:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ObjectTypeAttribute:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Package:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:PackageLocal:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Padlock:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Parameter:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Plugin:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:PluginJB:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:PluginLogo:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:PluginRestart:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Pluginnotinstalled:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Pluginobsolete:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:PpInvalid:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:PpJar:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:PpJdk:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:PpLib:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:PpLibFolder:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:PpWeb:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Private:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ProcessMark:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Project:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Property:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:PropertyRead:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:PropertyReadStatic:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:PropertyReadWrite:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:PropertyReadWriteStatic:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:PropertyWrite:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:PropertyWriteStatic:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Protected:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Public:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ReadAccess:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Record:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Related:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ResourceBundle:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:RunnableMark:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:RwAccess:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Rw_access:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:SecurityRole:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Services:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Servlet:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Shared:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:SortBySeverity:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Static:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:StaticMark:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Symlink:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:TabAlert:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:TabPin:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Tag:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Target:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Template:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Test:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:TestGroup:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:TestIgnored:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:TestSourceFolder:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:TextArea:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Toolbox:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Type:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Undeploy:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Unknown:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:UnknownJdk:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:UpFolder:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:UpLevel:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Variable:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:WarningIntroduction:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:WarningMark:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:WebFolder:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Weblistener:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Word:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Workspace:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:WriteAccess:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Nodes$Jsf -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$Nodes$Jsf -- f:getRenderer():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Renderer:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$ObjectBrowser -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$ObjectBrowser -- f:getAbbreviatePackageNames():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCompactEmptyPackages():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getFlattenModules():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getFlattenPackages():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getShowLibraryContents():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getShowMembers():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getSortByType():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getSorted():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getSortedByUsage():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getVisibilitySort():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:AbbreviatePackageNames:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CompactEmptyPackages:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:FlattenModules:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:FlattenPackages:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ShowLibraryContents:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ShowMembers:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:SortByType:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Sorted:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:SortedByUsage:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:VisibilitySort:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Plugins -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$Plugins -- f:getDisabled():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDownloads():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getModifierInvalid():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPluginLogo():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPluginLogoDisabled():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRating():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getUpdated():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Disabled:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Downloads:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ModifierInvalid:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:PluginLogo:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:PluginLogoDisabled:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Rating:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Updated:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Process -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$Process -- f:getProgressPause():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getProgressPauseHover():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getProgressPauseSmall():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getProgressPauseSmallHover():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getProgressResume():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getProgressResumeHover():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getProgressResumeSmall():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getProgressResumeSmallHover():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getStep_1():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getStep_2():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getStep_3():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getStep_4():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getStep_5():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getStep_6():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getStep_7():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getStep_8():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getStep_mask():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getStep_passive():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getStop():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getStopHovered():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getStopSmall():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getStopSmallHovered():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ProgressPause:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ProgressPauseHover:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ProgressPauseSmall:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ProgressPauseSmallHover:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ProgressResume:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ProgressResumeHover:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ProgressResumeSmall:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ProgressResumeSmallHover:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Step_1:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Step_2:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Step_3:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Step_4:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Step_5:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Step_6:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Step_7:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Step_8:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Step_mask:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Step_passive:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Stop:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:StopHovered:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:StopSmall:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:StopSmallHovered:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Process$Big -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$Process$Big -- f:getStep_1():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getStep_2():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getStep_3():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getStep_4():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getStep_5():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getStep_6():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getStep_7():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getStep_8():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getStep_passive():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Step_1:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Step_2:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Step_3:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Step_4:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Step_5:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Step_6:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Step_7:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Step_8:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Step_passive:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Process$FS -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$Process$FS -- f:getStep_1():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getStep_10():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getStep_11():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getStep_12():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getStep_13():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getStep_14():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getStep_15():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getStep_16():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getStep_17():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getStep_18():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getStep_2():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getStep_3():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getStep_4():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getStep_5():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getStep_6():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getStep_7():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getStep_8():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getStep_9():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getStep_mask():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getStep_passive():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Step_1:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Step_10:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Step_11:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Step_12:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Step_13:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Step_14:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Step_15:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Step_16:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Step_17:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Step_18:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Step_2:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Step_3:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Step_4:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Step_5:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Step_6:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Step_7:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Step_8:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Step_9:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Step_mask:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Step_passive:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Profiler -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$Profiler -- f:getCollapseNode():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getExpandNode():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRec():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CollapseNode:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ExpandNode:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Rec:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V +f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Promo +- sf:JavaDuke:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Providers -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$Providers -- f:getActiveMQ():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getApache():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getApacheDerby():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getApacheIgnite():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getApachePhoenix():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getAthena():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getAws():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getAzure():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getBigQuery():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCassandra():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getClickHouse():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCockroachDB():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCouchbase():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDB2():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDatabricks():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDenodo():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDocumentDB():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDuckDB():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDynamoDB():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getEclipse():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getElasticsearch():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getExasol():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getFirebird():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getGoogleCloudSpanner():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getGreenplum():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getH2():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getHANA():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getHive():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getHsqldb():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getIbm():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getImpala():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getInformix():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getIntersystemCache():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getKafka():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getLiquibase():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMariadb():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMicrosoft():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMimerSQL():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMongoDB():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMysql():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getNetezza():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getOpenedge():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getOracle():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPostgresql():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPresto():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRabbitMQ():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRedis():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRedshift():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getSinglestore():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getSnowflake():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getSpark():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getSqlServer():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getSqlite():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getSun():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getSybase():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getTarantool():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getTeradata():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getTibero():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getTidb():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getTrino():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getVertica():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getYugabyte():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ActiveMQ:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Apache:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ApacheDerby:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ApacheIgnite:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ApachePhoenix:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Athena:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Aws:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Azure:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:BigQuery:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Cassandra:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ClickHouse:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CockroachDB:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Couchbase:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:DB2:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Databricks:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Denodo:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:DocumentDB:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:DuckDB:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:DynamoDB:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Eclipse:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Elasticsearch:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Exasol:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Firebird:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:GoogleCloudSpanner:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Greenplum:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:H2:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:HANA:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Hive:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Hsqldb:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Ibm:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Impala:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Informix:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:IntersystemCache:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Kafka:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Liquibase:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Mariadb:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Microsoft:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MimerSQL:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MongoDB:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Mysql:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Netezza:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Openedge:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Oracle:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Postgresql:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Presto:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:RabbitMQ:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Redis:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Redshift:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Singlestore:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Snowflake:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Spark:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:SqlServer:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Sqlite:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Sun:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Sybase:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Tarantool:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Teradata:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Tibero:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Tidb:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Trino:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Vertica:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Yugabyte:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Run -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$Run -- f:getRestart():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getShowIgnored():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getStop():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Restart:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ShowIgnored:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Stop:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Run$Widget -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$Run$Widget -- f:getBuild():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRestart():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Build:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Restart:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$RunConfigurations -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$RunConfigurations -- f:getApplet():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getApplication():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCompound():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getHidePassed():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getIgnoredTest():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getInvalidConfigurationLayer():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getJunit():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMultiLaunch():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRemote():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRemoteDebug():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRerunFailedTests():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getScroll_down():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getScroll_up():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getShowIgnored():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getShowPassed():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getSortbyDuration():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getTestCustom():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getTestError():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getTestFailed():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getTestIgnored():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getTestMark():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getTestNotRan():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getTestPassed():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getTestPassedIgnored():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getTestPaused():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getTestSkipped():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getTestTerminated():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getTestUnknown():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getTomcat():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getToolbarError():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getToolbarFailed():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getToolbarPassed():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getToolbarPassedIgnored():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getToolbarSkipped():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getToolbarTerminated():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getTrackCoverage():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getWeb_app():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getWsl():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Applet:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Application:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Compound:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:HidePassed:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:IgnoredTest:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:InvalidConfigurationLayer:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Junit:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MultiLaunch:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Remote:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:RemoteDebug:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:RerunFailedTests:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Scroll_down:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Scroll_up:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ShowIgnored:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ShowPassed:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:SortbyDuration:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:TestCustom:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:TestError:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:TestFailed:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:TestIgnored:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:TestMark:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:TestNotRan:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:TestPassed:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:TestPassedIgnored:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:TestPaused:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:TestSkipped:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:TestTerminated:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:TestUnknown:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Tomcat:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ToolbarError:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ToolbarFailed:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ToolbarPassed:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ToolbarPassedIgnored:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ToolbarSkipped:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ToolbarTerminated:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:TrackCoverage:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Web_app:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Wsl:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$RunConfigurations$TestState -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$RunConfigurations$TestState -- f:getGreen2():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRed2():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRun():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRun_run():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getYellow2():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Green2:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Red2:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Run:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Run_run:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Yellow2:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Scope -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$Scope -- f:getChangedFiles():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getChangedFilesAll():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getProblems():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getProduction():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getScratches():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getTests():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ChangedFiles:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ChangedFilesAll:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Problems:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Production:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Scratches:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Tests:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Status -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$Status -- f:getFailedInProgress():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getSuccess():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:FailedInProgress:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Success:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V +f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Survey +- sf:Dissatisfied:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Neutral:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Satisfied:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:VeryDissatisfied:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:VerySatisfied:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Table -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$Table -- f:getPagination():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Pagination:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Toolbar -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$Toolbar -- f:getAddSlot():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCollapse():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getExpand():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getFilterdups():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getLocale():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPin():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRemoveSlot():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getUnknown():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getXcode():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:AddSlot:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Collapse:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Expand:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Filterdups:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Locale:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Pin:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:RemoveSlot:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Unknown:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Xcode:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$ToolbarDecorator -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$ToolbarDecorator -- f:getAddBlankLine():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getAddClass():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getAddFolder():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getAddIcon():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getAddJira():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getAddLink():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getAddPattern():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getAddRemoteDatasource():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getAddYouTrack():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getExport():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getExportSmall():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getImport():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:AddBlankLine:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:AddClass:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:AddFolder:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:AddIcon:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:AddJira:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:AddLink:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:AddPattern:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:AddRemoteDatasource:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:AddYouTrack:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Export:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ExportSmall:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Import:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Toolwindows -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$Toolwindows -- f:getChanges():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDependencies():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getDocumentation():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getErrorEvents():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getInfoEvents():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMeetNewUi():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getNoEvents():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getNotifications():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getNotificationsNew():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getNotificationsNewImportant():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getProblems():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getProblemsEmpty():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRepositories():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getSettingSync():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getTask():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getToolWindowAnalyzeDataflow():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getToolWindowAnt():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getToolWindowBookmarks():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getToolWindowBuild():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getToolWindowChanges():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getToolWindowCommander():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getToolWindowCommit():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getToolWindowCoverage():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getToolWindowDataView():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getToolWindowDebugger():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getToolWindowDuplicates():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getToolWindowFavorites():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getToolWindowFind():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getToolWindowHierarchy():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getToolWindowInspection():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getToolWindowInternal():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getToolWindowJsonPath():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getToolWindowMessages():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getToolWindowModuleDependencies():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getToolWindowPalette():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getToolWindowProblems():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getToolWindowProblemsEmpty():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getToolWindowProfiler():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getToolWindowProfilerAndroid():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getToolWindowProject():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getToolWindowRun():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getToolWindowRunWithCoverage():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getToolWindowServices():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getToolWindowStructure():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getToolWindowTodo():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getToolWindowUIDesigner():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getToolWindowVariableView():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getWarningEvents():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getWebToolWindow():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Changes:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Dependencies:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Documentation:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ErrorEvents:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:InfoEvents:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MeetNewUi:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:NoEvents:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Notifications:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:NotificationsNew:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:NotificationsNewImportant:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Problems:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ProblemsEmpty:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Repositories:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:SettingSync:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Task:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ToolWindowAnalyzeDataflow:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ToolWindowAnt:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ToolWindowBookmarks:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ToolWindowBuild:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ToolWindowChanges:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ToolWindowCommander:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ToolWindowCommit:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ToolWindowCoverage:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ToolWindowDataView:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ToolWindowDebugger:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ToolWindowDuplicates:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ToolWindowFavorites:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ToolWindowFind:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ToolWindowHierarchy:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ToolWindowInspection:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ToolWindowInternal:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ToolWindowJsonPath:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ToolWindowMessages:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ToolWindowModuleDependencies:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ToolWindowPalette:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ToolWindowProblems:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ToolWindowProblemsEmpty:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ToolWindowProfiler:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ToolWindowProfilerAndroid:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ToolWindowProject:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ToolWindowRun:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ToolWindowRunWithCoverage:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ToolWindowServices:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ToolWindowStructure:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ToolWindowTodo:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ToolWindowUIDesigner:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ToolWindowVariableView:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:WarningEvents:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:WebToolWindow:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$TransferSettings -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$TransferSettings -- f:getKeymap():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPluginsAndFeatures():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRecentProjects():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getResharper():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getSettings():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getVS():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getVscode():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getVsmac():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getXcode():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Keymap:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:PluginsAndFeatures:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:RecentProjects:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Resharper:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Settings:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:VS:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Vscode:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Vsmac:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Xcode:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Ultimate -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$Ultimate -- f:getIdeaUltimatePromo():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getLock():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getLockWhite():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPycharmLock():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPycharmPromo():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:IdeaUltimatePromo:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Lock:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:LockWhite:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:PycharmLock:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:PycharmPromo:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Vcs -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$Vcs -- f:getAbort():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getArrow_left():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getArrow_right():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getAuthor():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getBranch():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getBranchNode():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getChangelist():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getClone():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCommitNode():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getEqual():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getFetch():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getFolders():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getFromVCSDialog():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getHistory():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getHistoryInline():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getHistoryInlineHovered():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getIgnore_file():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMerge():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getNot_equal():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPatch():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPatch_applied():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPatch_file():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getPush():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRemove():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getShelveSilent():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getShowUnversionedFiles():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getUnshelve():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getUnshelveSilent():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Abort:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Arrow_left:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Arrow_right:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Author:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Branch:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:BranchNode:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Changelist:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Clone:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CommitNode:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Equal:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Fetch:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Folders:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:FromVCSDialog:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:History:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:HistoryInline:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:HistoryInlineHovered:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Ignore_file:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Merge:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Not_equal:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Patch:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Patch_applied:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Patch_file:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Push:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Remove:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ShelveSilent:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:ShowUnversionedFiles:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Unshelve:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:UnshelveSilent:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Vcs$Vendors -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$Vcs$Vendors -- f:getGithub():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Github:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Webreferences -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$Webreferences -- f:getMessageQueue():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getServer():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getWebSocket():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MessageQueue:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Server:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:WebSocket:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Welcome -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$Welcome -- f:getCreateNewProjectTab():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCreateNewProjectTabSelected():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getFromVCSTab():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getFromVCSTabSelected():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getOpen():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getOpenSelected():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CreateNewProject:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CreateNewProjectTab:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CreateNewProjectTabSelected:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:FromVCSTab:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:FromVCSTabSelected:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Open:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:OpenSelected:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Welcome$LearnTab -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$Welcome$LearnTab -- f:getJetBrainsAcademy():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:JetBrainsAcademy:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Welcome$RecentProjects -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$Welcome$RecentProjects -- f:getRemove():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRemoveDisabled():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRemoveDisabledHover():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRemoveHover():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Remove:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:RemoveDisabled:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:RemoveDisabledHover:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:RemoveHover:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Windows -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$Windows -- f:getClose():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCloseActive():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCloseHover():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCloseInactive():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCloseSmall():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getCollapse():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getHelp():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getHelpButton():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getHelpButtonInactive():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getHelpInactive():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMaximize():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMaximizeInactive():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMaximizeSmall():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMinimize():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMinimizeInactive():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getMinimizeSmall():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRestore():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRestoreInactive():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getRestoreSmall():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Close:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CloseActive:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CloseHover:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CloseInactive:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:CloseSmall:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Collapse:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Help:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:HelpButton:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:HelpButtonInactive:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:HelpInactive:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Maximize:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MaximizeInactive:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MaximizeSmall:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Minimize:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MinimizeInactive:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:MinimizeSmall:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Restore:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:RestoreInactive:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:RestoreSmall:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Xml -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$Xml -- f:getCss_class():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getHtml5():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getHtml_id():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Css_class:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Html5:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Html_id:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.icons.AllIconsKeys$Xml$Browsers -- sf:$stable:I -- sf:INSTANCE:org.jetbrains.jewel.ui.icons.AllIconsKeys$Xml$Browsers -- f:getCanary():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getChrome():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getChromium():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getEdge():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getExplorer():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getFirefox():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getFirefoxDeveloper():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getNwjs():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getOpera():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getSafari():org.jetbrains.jewel.ui.icon.IntelliJIconKey -- f:getYandex():org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Canary:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Chrome:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Chromium:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Edge:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Explorer:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Firefox:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:FirefoxDeveloper:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Nwjs:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Opera:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Safari:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- sf:Yandex:org.jetbrains.jewel.ui.icon.IntelliJIconKey +- ():V f:org.jetbrains.jewel.ui.painter.BadgePainter - org.jetbrains.jewel.ui.painter.DelegatePainter - sf:$stable:I diff --git a/platform/jewel/ui/api/ui.api b/platform/jewel/ui/api/ui.api index 483505ff42cd..43f1736b207a 100644 --- a/platform/jewel/ui/api/ui.api +++ b/platform/jewel/ui/api/ui.api @@ -251,6 +251,7 @@ public final class org/jetbrains/jewel/ui/component/CircularProgressIndicatorKt } public final class org/jetbrains/jewel/ui/component/ComboBoxKt { + public static final fun ComboBox-05tvjtU (Landroidx/compose/ui/Modifier;Landroidx/compose/ui/Modifier;ZLorg/jetbrains/jewel/ui/Outline;FLandroidx/compose/foundation/interaction/MutableInteractionSource;Lorg/jetbrains/jewel/ui/component/styling/ComboBoxStyle;Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function0;Lorg/jetbrains/jewel/ui/component/PopupManager;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;III)V public static final fun ComboBox-xYaah8o (Ljava/lang/String;Landroidx/compose/ui/Modifier;Landroidx/compose/ui/Modifier;ZLorg/jetbrains/jewel/ui/Outline;FLandroidx/compose/foundation/interaction/MutableInteractionSource;Lorg/jetbrains/jewel/ui/component/styling/ComboBoxStyle;Landroidx/compose/ui/text/TextStyle;Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function0;Lorg/jetbrains/jewel/ui/component/PopupManager;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;III)V } @@ -290,10 +291,6 @@ public final class org/jetbrains/jewel/ui/component/ComboBoxState$Companion { public final class org/jetbrains/jewel/ui/component/ComposableSingletons$BannerKt { public static final field INSTANCE Lorg/jetbrains/jewel/ui/component/ComposableSingletons$BannerKt; - public static field lambda-1 Lkotlin/jvm/functions/Function2; - public static field lambda-2 Lkotlin/jvm/functions/Function2; - public static field lambda-3 Lkotlin/jvm/functions/Function2; - public static field lambda-4 Lkotlin/jvm/functions/Function2; public fun ()V public final fun getLambda-1$ui ()Lkotlin/jvm/functions/Function2; public final fun getLambda-2$ui ()Lkotlin/jvm/functions/Function2; @@ -303,20 +300,25 @@ public final class org/jetbrains/jewel/ui/component/ComposableSingletons$BannerK public final class org/jetbrains/jewel/ui/component/ComposableSingletons$InlineBannerKt { public static final field INSTANCE Lorg/jetbrains/jewel/ui/component/ComposableSingletons$InlineBannerKt; - public static field lambda-1 Lkotlin/jvm/functions/Function2; - public static field lambda-2 Lkotlin/jvm/functions/Function2; - public static field lambda-3 Lkotlin/jvm/functions/Function2; - public static field lambda-4 Lkotlin/jvm/functions/Function2; public fun ()V public final fun getLambda-1$ui ()Lkotlin/jvm/functions/Function2; public final fun getLambda-2$ui ()Lkotlin/jvm/functions/Function2; public final fun getLambda-3$ui ()Lkotlin/jvm/functions/Function2; public final fun getLambda-4$ui ()Lkotlin/jvm/functions/Function2; + public final fun getLambda-5$ui ()Lkotlin/jvm/functions/Function2; + public final fun getLambda-6$ui ()Lkotlin/jvm/functions/Function2; + public final fun getLambda-7$ui ()Lkotlin/jvm/functions/Function2; + public final fun getLambda-8$ui ()Lkotlin/jvm/functions/Function2; +} + +public final class org/jetbrains/jewel/ui/component/ComposableSingletons$ListComboBoxKt { + public static final field INSTANCE Lorg/jetbrains/jewel/ui/component/ComposableSingletons$ListComboBoxKt; + public fun ()V + public final fun getLambda-1$ui ()Lkotlin/jvm/functions/Function5; } public final class org/jetbrains/jewel/ui/component/ComposableSingletons$MenuKt { public static final field INSTANCE Lorg/jetbrains/jewel/ui/component/ComposableSingletons$MenuKt; - public static field lambda-1 Lkotlin/jvm/functions/Function2; public fun ()V public final fun getLambda-1$ui ()Lkotlin/jvm/functions/Function2; } @@ -446,12 +448,8 @@ public final class org/jetbrains/jewel/ui/component/IconButtonState$Companion { public final class org/jetbrains/jewel/ui/component/IconKt { public static final fun Icon (Landroidx/compose/ui/graphics/painter/Painter;Ljava/lang/String;Landroidx/compose/ui/graphics/ColorFilter;Landroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;II)V - public static final fun Icon (Ljava/lang/String;Ljava/lang/String;Ljava/lang/Class;Landroidx/compose/ui/graphics/ColorFilter;Landroidx/compose/ui/Modifier;Lorg/jetbrains/jewel/ui/painter/PainterHint;Landroidx/compose/runtime/Composer;II)V - public static final fun Icon (Ljava/lang/String;Ljava/lang/String;Ljava/lang/Class;Landroidx/compose/ui/graphics/ColorFilter;Landroidx/compose/ui/Modifier;[Lorg/jetbrains/jewel/ui/painter/PainterHint;Landroidx/compose/runtime/Composer;II)V public static final fun Icon (Lorg/jetbrains/jewel/ui/icon/IconKey;Ljava/lang/String;Landroidx/compose/ui/Modifier;Ljava/lang/Class;Landroidx/compose/ui/graphics/ColorFilter;Lorg/jetbrains/jewel/ui/painter/PainterHint;Landroidx/compose/runtime/Composer;II)V public static final fun Icon (Lorg/jetbrains/jewel/ui/icon/IconKey;Ljava/lang/String;Landroidx/compose/ui/Modifier;Ljava/lang/Class;Landroidx/compose/ui/graphics/ColorFilter;[Lorg/jetbrains/jewel/ui/painter/PainterHint;Landroidx/compose/runtime/Composer;II)V - public static final fun Icon-FHprtrg (Ljava/lang/String;Ljava/lang/String;Ljava/lang/Class;Landroidx/compose/ui/Modifier;JLorg/jetbrains/jewel/ui/painter/PainterHint;Landroidx/compose/runtime/Composer;II)V - public static final fun Icon-FHprtrg (Ljava/lang/String;Ljava/lang/String;Ljava/lang/Class;Landroidx/compose/ui/Modifier;J[Lorg/jetbrains/jewel/ui/painter/PainterHint;Landroidx/compose/runtime/Composer;II)V public static final fun Icon-FHprtrg (Lorg/jetbrains/jewel/ui/icon/IconKey;Ljava/lang/String;Landroidx/compose/ui/Modifier;Ljava/lang/Class;JLorg/jetbrains/jewel/ui/painter/PainterHint;Landroidx/compose/runtime/Composer;II)V public static final fun Icon-FHprtrg (Lorg/jetbrains/jewel/ui/icon/IconKey;Ljava/lang/String;Landroidx/compose/ui/Modifier;Ljava/lang/Class;J[Lorg/jetbrains/jewel/ui/painter/PainterHint;Landroidx/compose/runtime/Composer;II)V public static final fun Icon-ww6aTOc (Landroidx/compose/ui/graphics/ImageBitmap;Ljava/lang/String;Landroidx/compose/ui/Modifier;JLandroidx/compose/runtime/Composer;II)V @@ -461,10 +459,14 @@ public final class org/jetbrains/jewel/ui/component/IconKt { } public final class org/jetbrains/jewel/ui/component/InlineBannerKt { - public static final fun ErrorInlineBanner (Ljava/lang/String;Landroidx/compose/ui/Modifier;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function3;Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/runtime/Composer;II)V - public static final fun InformationInlineBanner (Ljava/lang/String;Landroidx/compose/ui/Modifier;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function3;Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/runtime/Composer;II)V - public static final fun SuccessInlineBanner (Ljava/lang/String;Landroidx/compose/ui/Modifier;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function3;Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/runtime/Composer;II)V - public static final fun WarningInlineBanner (Ljava/lang/String;Landroidx/compose/ui/Modifier;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function3;Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/runtime/Composer;II)V + public static final fun ErrorInlineBanner (Landroidx/compose/ui/Modifier;Ljava/lang/String;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function3;Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle;Landroidx/compose/ui/text/TextStyle;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;II)V + public static final fun ErrorInlineBanner (Ljava/lang/String;Landroidx/compose/ui/Modifier;Ljava/lang/String;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function3;Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/runtime/Composer;II)V + public static final fun InformationInlineBanner (Landroidx/compose/ui/Modifier;Ljava/lang/String;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function3;Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle;Landroidx/compose/ui/text/TextStyle;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;II)V + public static final fun InformationInlineBanner (Ljava/lang/String;Landroidx/compose/ui/Modifier;Ljava/lang/String;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function3;Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/runtime/Composer;II)V + public static final fun SuccessInlineBanner (Landroidx/compose/ui/Modifier;Ljava/lang/String;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function3;Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle;Landroidx/compose/ui/text/TextStyle;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;II)V + public static final fun SuccessInlineBanner (Ljava/lang/String;Landroidx/compose/ui/Modifier;Ljava/lang/String;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function3;Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/runtime/Composer;II)V + public static final fun WarningInlineBanner (Landroidx/compose/ui/Modifier;Ljava/lang/String;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function3;Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle;Landroidx/compose/ui/text/TextStyle;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;II)V + public static final fun WarningInlineBanner (Ljava/lang/String;Landroidx/compose/ui/Modifier;Ljava/lang/String;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function3;Lorg/jetbrains/jewel/ui/component/styling/InlineBannerStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/runtime/Composer;II)V } public final class org/jetbrains/jewel/ui/component/InputFieldState : org/jetbrains/jewel/foundation/state/FocusableComponentState { @@ -553,11 +555,10 @@ public final class org/jetbrains/jewel/ui/component/LinkState$Companion { } public final class org/jetbrains/jewel/ui/component/ListComboBoxKt { - public static final fun EditableListComboBox-lYrZsNM (Ljava/util/List;Landroidx/compose/ui/Modifier;ZILorg/jetbrains/jewel/ui/Outline;FLandroidx/compose/foundation/interaction/MutableInteractionSource;Lorg/jetbrains/jewel/ui/component/styling/ComboBoxStyle;Landroidx/compose/ui/text/TextStyle;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function5;Landroidx/compose/runtime/Composer;III)V - public static final fun EditableListComboBox-xKBSf-U (Ljava/util/List;ILkotlin/jvm/functions/Function2;Landroidx/compose/foundation/text/input/TextFieldState;Landroidx/compose/ui/Modifier;ZLorg/jetbrains/jewel/ui/Outline;FLandroidx/compose/foundation/interaction/MutableInteractionSource;Lorg/jetbrains/jewel/ui/component/styling/ComboBoxStyle;Landroidx/compose/ui/text/TextStyle;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function5;Landroidx/compose/runtime/Composer;III)V - public static final fun ListComboBox-8u0NR3k (Ljava/util/List;ILkotlin/jvm/functions/Function2;Landroidx/compose/ui/Modifier;ZLorg/jetbrains/jewel/ui/Outline;FLandroidx/compose/foundation/interaction/MutableInteractionSource;Lorg/jetbrains/jewel/ui/component/styling/ComboBoxStyle;Landroidx/compose/ui/text/TextStyle;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function5;Landroidx/compose/runtime/Composer;III)V - public static final fun ListComboBox-lYrZsNM (Ljava/util/List;Landroidx/compose/ui/Modifier;ZILorg/jetbrains/jewel/ui/Outline;FLandroidx/compose/foundation/interaction/MutableInteractionSource;Lorg/jetbrains/jewel/ui/component/styling/ComboBoxStyle;Landroidx/compose/ui/text/TextStyle;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function5;Landroidx/compose/runtime/Composer;III)V - public static final fun selectedItemIndex (Lorg/jetbrains/jewel/foundation/lazy/SelectableLazyListState;)I + public static final fun EditableListComboBox-xzYpEKs (Ljava/util/List;ILkotlin/jvm/functions/Function1;Landroidx/compose/ui/Modifier;ZLorg/jetbrains/jewel/ui/Outline;FLandroidx/compose/foundation/interaction/MutableInteractionSource;Lorg/jetbrains/jewel/ui/component/styling/ComboBoxStyle;Landroidx/compose/ui/text/TextStyle;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function2;Lorg/jetbrains/jewel/foundation/lazy/SelectableLazyListState;Landroidx/compose/runtime/Composer;III)V + public static final fun ListComboBox-xKBSf-U (Ljava/util/List;ILkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function2;Landroidx/compose/ui/Modifier;ZLorg/jetbrains/jewel/ui/Outline;FLandroidx/compose/foundation/interaction/MutableInteractionSource;Lorg/jetbrains/jewel/ui/component/styling/ComboBoxStyle;Lkotlin/jvm/functions/Function1;Lorg/jetbrains/jewel/foundation/lazy/SelectableLazyListState;Lkotlin/jvm/functions/Function5;Landroidx/compose/runtime/Composer;III)V + public static final fun ListComboBox-xzYpEKs (Ljava/util/List;ILkotlin/jvm/functions/Function1;Landroidx/compose/ui/Modifier;ZLorg/jetbrains/jewel/ui/Outline;FLandroidx/compose/foundation/interaction/MutableInteractionSource;Lorg/jetbrains/jewel/ui/component/styling/ComboBoxStyle;Landroidx/compose/ui/text/TextStyle;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function2;Lorg/jetbrains/jewel/foundation/lazy/SelectableLazyListState;Landroidx/compose/runtime/Composer;III)V + public static final fun selectedItemIndex (Lorg/jetbrains/jewel/foundation/lazy/SelectableLazyListState;Ljava/util/List;Lkotlin/jvm/functions/Function2;)I } public final class org/jetbrains/jewel/ui/component/ListItemState { @@ -609,7 +610,6 @@ public final class org/jetbrains/jewel/ui/component/MenuItemState$Companion { public final class org/jetbrains/jewel/ui/component/MenuKt { public static final fun MenuSeparator (Landroidx/compose/ui/Modifier;Lorg/jetbrains/jewel/ui/component/styling/MenuItemMetrics;Lorg/jetbrains/jewel/ui/component/styling/MenuItemColors;Landroidx/compose/runtime/Composer;II)V - public static final fun MenuSubmenuItem (Landroidx/compose/ui/Modifier;ZZLjava/lang/String;Ljava/lang/Class;Landroidx/compose/foundation/interaction/MutableInteractionSource;Lorg/jetbrains/jewel/ui/component/styling/MenuStyle;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;II)V public static final fun MenuSubmenuItem (Landroidx/compose/ui/Modifier;ZZLorg/jetbrains/jewel/ui/icon/IconKey;Landroidx/compose/foundation/interaction/MutableInteractionSource;Lorg/jetbrains/jewel/ui/component/styling/MenuStyle;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;II)V public static final fun PopupMenu (Lkotlin/jvm/functions/Function1;Landroidx/compose/ui/Alignment$Horizontal;Landroidx/compose/ui/Modifier;Lorg/jetbrains/jewel/ui/component/styling/MenuStyle;Landroidx/compose/ui/window/PopupProperties;Lkotlin/jvm/functions/Function1;Landroidx/compose/runtime/Composer;II)V public static final fun items (Lorg/jetbrains/jewel/ui/component/MenuScope;ILkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function3;)V @@ -644,11 +644,6 @@ public final class org/jetbrains/jewel/ui/component/MenuScope$DefaultImpls { public static synthetic fun submenu$default (Lorg/jetbrains/jewel/ui/component/MenuScope;ZLorg/jetbrains/jewel/ui/icon/IconKey;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)V } -public final class org/jetbrains/jewel/ui/component/PlatformIconKt { - public static final fun PlatformIcon-uDo3WH8 (Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey;Ljava/lang/String;Landroidx/compose/ui/Modifier;JLorg/jetbrains/jewel/ui/painter/PainterHint;Landroidx/compose/runtime/Composer;II)V - public static final fun PlatformIcon-uDo3WH8 (Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey;Ljava/lang/String;Landroidx/compose/ui/Modifier;J[Lorg/jetbrains/jewel/ui/painter/PainterHint;Landroidx/compose/runtime/Composer;II)V -} - public final class org/jetbrains/jewel/ui/component/PopupContainerKt { public static final fun PopupContainer (Lkotlin/jvm/functions/Function0;Landroidx/compose/ui/Alignment$Horizontal;Landroidx/compose/ui/Modifier;Lorg/jetbrains/jewel/ui/component/styling/PopupContainerStyle;Landroidx/compose/ui/window/PopupProperties;Landroidx/compose/ui/window/PopupPositionProvider;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;II)V } @@ -711,15 +706,12 @@ public final class org/jetbrains/jewel/ui/component/RadioButtonState$Companion { } public final class org/jetbrains/jewel/ui/component/ScrollableContainerKt { - public static final fun HorizontallyScrollableContainer (Landroidx/compose/foundation/lazy/LazyListState;Landroidx/compose/ui/Modifier;Landroidx/compose/ui/Modifier;Lorg/jetbrains/jewel/ui/component/styling/ScrollbarStyle;ZZLandroidx/compose/foundation/interaction/MutableInteractionSource;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;II)V - public static final fun HorizontallyScrollableContainer (Landroidx/compose/foundation/lazy/grid/LazyGridState;Landroidx/compose/ui/Modifier;Landroidx/compose/ui/Modifier;Lorg/jetbrains/jewel/ui/component/styling/ScrollbarStyle;ZZLandroidx/compose/foundation/interaction/MutableInteractionSource;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;II)V - public static final fun HorizontallyScrollableContainer (Landroidx/compose/ui/Modifier;Landroidx/compose/ui/Modifier;Landroidx/compose/foundation/ScrollState;Lorg/jetbrains/jewel/ui/component/styling/ScrollbarStyle;ZZLandroidx/compose/foundation/interaction/MutableInteractionSource;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;II)V - public static final synthetic fun ScrollableContainer (Landroidx/compose/foundation/lazy/LazyListState;Landroidx/compose/foundation/lazy/LazyListState;Landroidx/compose/ui/Modifier;Landroidx/compose/ui/Modifier;Landroidx/compose/ui/Modifier;Lorg/jetbrains/jewel/ui/component/styling/ScrollbarStyle;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;II)V - public static final synthetic fun ScrollableContainer (Landroidx/compose/foundation/lazy/grid/LazyGridState;Landroidx/compose/foundation/lazy/grid/LazyGridState;Landroidx/compose/ui/Modifier;Landroidx/compose/ui/Modifier;Landroidx/compose/ui/Modifier;Lorg/jetbrains/jewel/ui/component/styling/ScrollbarStyle;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;II)V - public static final synthetic fun ScrollableContainer (Landroidx/compose/ui/Modifier;Landroidx/compose/foundation/ScrollState;Landroidx/compose/foundation/ScrollState;Landroidx/compose/ui/Modifier;Landroidx/compose/ui/Modifier;Lorg/jetbrains/jewel/ui/component/styling/ScrollbarStyle;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;II)V - public static final fun VerticallyScrollableContainer (Landroidx/compose/foundation/lazy/LazyListState;Landroidx/compose/ui/Modifier;Landroidx/compose/ui/Modifier;Lorg/jetbrains/jewel/ui/component/styling/ScrollbarStyle;ZZLandroidx/compose/foundation/interaction/MutableInteractionSource;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;II)V - public static final fun VerticallyScrollableContainer (Landroidx/compose/foundation/lazy/grid/LazyGridState;Landroidx/compose/ui/Modifier;Landroidx/compose/ui/Modifier;Lorg/jetbrains/jewel/ui/component/styling/ScrollbarStyle;ZZLandroidx/compose/foundation/interaction/MutableInteractionSource;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;II)V - public static final fun VerticallyScrollableContainer (Landroidx/compose/ui/Modifier;Landroidx/compose/ui/Modifier;Landroidx/compose/foundation/ScrollState;Lorg/jetbrains/jewel/ui/component/styling/ScrollbarStyle;ZZLandroidx/compose/foundation/interaction/MutableInteractionSource;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;II)V + public static final fun HorizontallyScrollableContainer (Landroidx/compose/foundation/lazy/LazyListState;Landroidx/compose/ui/Modifier;Landroidx/compose/ui/Modifier;Lorg/jetbrains/jewel/ui/component/styling/ScrollbarStyle;ZZLandroidx/compose/foundation/interaction/MutableInteractionSource;Lkotlin/jvm/functions/Function3;Landroidx/compose/runtime/Composer;II)V + public static final fun HorizontallyScrollableContainer (Landroidx/compose/foundation/lazy/grid/LazyGridState;Landroidx/compose/ui/Modifier;Landroidx/compose/ui/Modifier;Lorg/jetbrains/jewel/ui/component/styling/ScrollbarStyle;ZZLandroidx/compose/foundation/interaction/MutableInteractionSource;Lkotlin/jvm/functions/Function3;Landroidx/compose/runtime/Composer;II)V + public static final fun HorizontallyScrollableContainer (Landroidx/compose/ui/Modifier;Landroidx/compose/ui/Modifier;Landroidx/compose/foundation/ScrollState;Lorg/jetbrains/jewel/ui/component/styling/ScrollbarStyle;ZZLandroidx/compose/foundation/interaction/MutableInteractionSource;Lkotlin/jvm/functions/Function3;Landroidx/compose/runtime/Composer;II)V + public static final fun VerticallyScrollableContainer (Landroidx/compose/foundation/lazy/LazyListState;Landroidx/compose/ui/Modifier;Landroidx/compose/ui/Modifier;Lorg/jetbrains/jewel/ui/component/styling/ScrollbarStyle;ZZLandroidx/compose/foundation/interaction/MutableInteractionSource;Lkotlin/jvm/functions/Function3;Landroidx/compose/runtime/Composer;II)V + public static final fun VerticallyScrollableContainer (Landroidx/compose/foundation/lazy/grid/LazyGridState;Landroidx/compose/ui/Modifier;Landroidx/compose/ui/Modifier;Lorg/jetbrains/jewel/ui/component/styling/ScrollbarStyle;ZZLandroidx/compose/foundation/interaction/MutableInteractionSource;Lkotlin/jvm/functions/Function3;Landroidx/compose/runtime/Composer;II)V + public static final fun VerticallyScrollableContainer (Landroidx/compose/ui/Modifier;Landroidx/compose/ui/Modifier;Landroidx/compose/foundation/ScrollState;Lorg/jetbrains/jewel/ui/component/styling/ScrollbarStyle;ZZLandroidx/compose/foundation/interaction/MutableInteractionSource;Lkotlin/jvm/functions/Function3;Landroidx/compose/runtime/Composer;II)V public static final fun scrollbarContentSafePadding (Lorg/jetbrains/jewel/ui/component/styling/ScrollbarStyle;Landroidx/compose/runtime/Composer;II)F } @@ -857,9 +849,13 @@ public final class org/jetbrains/jewel/ui/component/SelectableIconButtonState$Co public final class org/jetbrains/jewel/ui/component/SimpleListItemKt { public static final fun SimpleListItem-0vH8DBg (Lorg/jetbrains/jewel/ui/component/ListItemState;Landroidx/compose/ui/Modifier;Landroidx/compose/ui/Modifier;Lorg/jetbrains/jewel/ui/icon/IconKey;Ljava/lang/String;Lorg/jetbrains/jewel/ui/component/styling/SimpleListItemStyle;FLkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;II)V + public static final fun SimpleListItem-J1qPv4o (ZZLandroidx/compose/ui/graphics/ColorFilter;Ljava/util/List;Landroidx/compose/ui/Modifier;Landroidx/compose/ui/Modifier;Lorg/jetbrains/jewel/ui/icon/IconKey;Ljava/lang/String;Lorg/jetbrains/jewel/ui/component/styling/SimpleListItemStyle;FLkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;III)V + public static final fun SimpleListItem-Wu8B24Y (Ljava/lang/String;Lorg/jetbrains/jewel/ui/component/ListItemState;Landroidx/compose/ui/Modifier;Landroidx/compose/ui/Modifier;Landroidx/compose/ui/Modifier;Lorg/jetbrains/jewel/ui/icon/IconKey;Ljava/lang/String;Lorg/jetbrains/jewel/ui/component/styling/SimpleListItemStyle;FLandroidx/compose/ui/graphics/ColorFilter;[Lorg/jetbrains/jewel/ui/painter/PainterHint;Landroidx/compose/runtime/Composer;III)V + public static final fun SimpleListItem-XFD2ZOI (Ljava/lang/String;ZZLandroidx/compose/ui/Modifier;Landroidx/compose/ui/Modifier;Landroidx/compose/ui/Modifier;Lorg/jetbrains/jewel/ui/icon/IconKey;Ljava/lang/String;Lorg/jetbrains/jewel/ui/component/styling/SimpleListItemStyle;FLandroidx/compose/ui/graphics/ColorFilter;[Lorg/jetbrains/jewel/ui/painter/PainterHint;Landroidx/compose/runtime/Composer;III)V public static final fun SimpleListItem-aqv2aB4 (Ljava/lang/String;ZLandroidx/compose/ui/Modifier;Landroidx/compose/ui/Modifier;Landroidx/compose/ui/Modifier;ZLorg/jetbrains/jewel/ui/icon/IconKey;Ljava/lang/String;Lorg/jetbrains/jewel/ui/component/styling/SimpleListItemStyle;FLandroidx/compose/runtime/Composer;II)V public static final fun SimpleListItem-eKw1uXw (Ljava/lang/String;Lorg/jetbrains/jewel/ui/component/ListItemState;Landroidx/compose/ui/Modifier;Landroidx/compose/ui/Modifier;Landroidx/compose/ui/Modifier;Lorg/jetbrains/jewel/ui/icon/IconKey;Ljava/lang/String;Lorg/jetbrains/jewel/ui/component/styling/SimpleListItemStyle;FLandroidx/compose/runtime/Composer;II)V public static final fun SimpleListItem-gMrHQkA (ZLandroidx/compose/ui/Modifier;Landroidx/compose/ui/Modifier;ZLorg/jetbrains/jewel/ui/icon/IconKey;Ljava/lang/String;Lorg/jetbrains/jewel/ui/component/styling/SimpleListItemStyle;FLkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;II)V + public static final fun SimpleListItem-tJlDC5Y (Lorg/jetbrains/jewel/ui/component/ListItemState;Landroidx/compose/ui/graphics/ColorFilter;Ljava/util/List;Landroidx/compose/ui/Modifier;Landroidx/compose/ui/Modifier;Lorg/jetbrains/jewel/ui/icon/IconKey;Ljava/lang/String;Lorg/jetbrains/jewel/ui/component/styling/SimpleListItemStyle;FLkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;II)V } public final class org/jetbrains/jewel/ui/component/SliderKt { @@ -1039,13 +1035,11 @@ public final class org/jetbrains/jewel/ui/component/TabsKt { public final class org/jetbrains/jewel/ui/component/TextAreaKt { public static final fun TextArea (Landroidx/compose/foundation/text/input/TextFieldState;Landroidx/compose/ui/Modifier;ZZLandroidx/compose/foundation/text/input/InputTransformation;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/foundation/text/KeyboardOptions;Landroidx/compose/foundation/text/input/KeyboardActionHandler;Landroidx/compose/foundation/text/input/TextFieldLineLimits;Lkotlin/jvm/functions/Function2;Landroidx/compose/foundation/interaction/MutableInteractionSource;Lorg/jetbrains/jewel/ui/component/styling/TextAreaStyle;Lorg/jetbrains/jewel/ui/Outline;Lkotlin/jvm/functions/Function2;Landroidx/compose/ui/Modifier;Landroidx/compose/foundation/text/input/OutputTransformation;ZLandroidx/compose/foundation/ScrollState;Lorg/jetbrains/jewel/ui/component/styling/ScrollbarStyle;Landroidx/compose/runtime/Composer;III)V public static final fun TextArea (Landroidx/compose/ui/text/input/TextFieldValue;Lkotlin/jvm/functions/Function1;Landroidx/compose/ui/Modifier;ZZLkotlin/jvm/functions/Function2;ZLorg/jetbrains/jewel/ui/Outline;Landroidx/compose/ui/text/input/VisualTransformation;Landroidx/compose/foundation/text/KeyboardOptions;Landroidx/compose/foundation/text/KeyboardActions;ILkotlin/jvm/functions/Function1;Lorg/jetbrains/jewel/ui/component/styling/TextAreaStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/foundation/interaction/MutableInteractionSource;Landroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;III)V - public static final fun TextArea (Ljava/lang/String;Lkotlin/jvm/functions/Function1;Landroidx/compose/ui/Modifier;ZZLorg/jetbrains/jewel/ui/Outline;Lkotlin/jvm/functions/Function2;ZLandroidx/compose/ui/text/input/VisualTransformation;Landroidx/compose/foundation/text/KeyboardOptions;Landroidx/compose/foundation/text/KeyboardActions;ILkotlin/jvm/functions/Function1;Lorg/jetbrains/jewel/ui/component/styling/TextAreaStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/foundation/interaction/MutableInteractionSource;Landroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;III)V } public final class org/jetbrains/jewel/ui/component/TextFieldKt { public static final fun TextField (Landroidx/compose/foundation/text/input/TextFieldState;Landroidx/compose/ui/Modifier;ZZLandroidx/compose/foundation/text/input/InputTransformation;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/foundation/text/KeyboardOptions;Landroidx/compose/foundation/text/input/KeyboardActionHandler;Lkotlin/jvm/functions/Function2;Landroidx/compose/foundation/interaction/MutableInteractionSource;Lorg/jetbrains/jewel/ui/component/styling/TextFieldStyle;Lorg/jetbrains/jewel/ui/Outline;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Landroidx/compose/foundation/text/input/OutputTransformation;ZLandroidx/compose/runtime/Composer;III)V public static final fun TextField (Landroidx/compose/ui/text/input/TextFieldValue;Lkotlin/jvm/functions/Function1;Landroidx/compose/ui/Modifier;ZZLorg/jetbrains/jewel/ui/Outline;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;ZLandroidx/compose/ui/text/input/VisualTransformation;Landroidx/compose/foundation/text/KeyboardOptions;Landroidx/compose/foundation/text/KeyboardActions;Lkotlin/jvm/functions/Function1;Lorg/jetbrains/jewel/ui/component/styling/TextFieldStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/foundation/interaction/MutableInteractionSource;Landroidx/compose/runtime/Composer;III)V - public static final fun TextField (Ljava/lang/String;Lkotlin/jvm/functions/Function1;Landroidx/compose/ui/Modifier;ZZLorg/jetbrains/jewel/ui/Outline;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;ZLandroidx/compose/ui/text/input/VisualTransformation;Landroidx/compose/foundation/text/KeyboardOptions;Landroidx/compose/foundation/text/KeyboardActions;Lkotlin/jvm/functions/Function1;Lorg/jetbrains/jewel/ui/component/styling/TextFieldStyle;Landroidx/compose/foundation/interaction/MutableInteractionSource;Landroidx/compose/runtime/Composer;III)V } public final class org/jetbrains/jewel/ui/component/TextKt { @@ -3041,6 +3035,7 @@ public final class org/jetbrains/jewel/ui/icons/AllIconsKeys$Actions { public final fun getAnnotate ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getArrowCollapse ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getArrowExpand ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; + public final fun getAttach ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getBack ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getBuildAutoReloadChanges ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getBuildLoadChanges ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; @@ -3194,8 +3189,8 @@ public final class org/jetbrains/jewel/ui/icons/AllIconsKeys$Actions { public final fun getResume ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getRollback ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getRunAll ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; + public final fun getRunAnything ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getRunToCursor ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; - public final fun getRun_anything ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getScratch ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getSearch ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getSearchNewLine ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; @@ -3382,11 +3377,13 @@ public final class org/jetbrains/jewel/ui/icons/AllIconsKeys$Debugger { public final fun getThawAll ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getThreadAtBreakpoint ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getThreadCurrent ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; + public final fun getThreadDaemon ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getThreadFrozen ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getThreadGroup ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getThreadGroupCurrent ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getThreadRunning ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getThreadSuspended ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; + public final fun getThreadVirtual ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getThreads ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getValue ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getVariablesTab ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; @@ -3398,7 +3395,6 @@ public final class org/jetbrains/jewel/ui/icons/AllIconsKeys$Debugger { public final class org/jetbrains/jewel/ui/icons/AllIconsKeys$Debugger$ThreadStates { public static final field $stable I public static final field INSTANCE Lorg/jetbrains/jewel/ui/icons/AllIconsKeys$Debugger$ThreadStates; - public final fun getDaemon_sign ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getIdle ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getSocket ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; } @@ -3450,6 +3446,7 @@ public final class org/jetbrains/jewel/ui/icons/AllIconsKeys$FileTypes { public final fun getAny_type ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getArchive ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getAspectj ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; + public final fun getBinaryData ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getConfig ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getContexts ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getContextsModifier ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; @@ -3558,6 +3555,8 @@ public final class org/jetbrains/jewel/ui/icons/AllIconsKeys$General { public final fun getInheritedMethod ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getInlineAdd ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getInlineAddHover ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; + public final fun getInlineClose ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; + public final fun getInlineCloseHover ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getInlineCopy ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getInlineCopyHover ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getInlineRefresh ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; @@ -3569,6 +3568,7 @@ public final class org/jetbrains/jewel/ui/icons/AllIconsKeys$General { public final fun getInspectionsError ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getInspectionsErrorEmpty ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getInspectionsEye ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; + public final fun getInspectionsGrammar ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getInspectionsMixed ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getInspectionsOK ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getInspectionsOKEmpty ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; @@ -3579,13 +3579,14 @@ public final class org/jetbrains/jewel/ui/icons/AllIconsKeys$General { public final fun getInspectionsWarning ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getInspectionsWarningEmpty ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getKeyboard ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; + public final fun getLanguage ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getLayout ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getLayoutEditorOnly ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getLayoutEditorPreview ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getLayoutPreviewOnly ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getLinkDropTriangle ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; - public final fun getLocalizationSettings ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getLocate ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; + public final fun getMenu ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getModified ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getModifiedSelected ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getMoreTabs ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; @@ -3682,6 +3683,7 @@ public final class org/jetbrains/jewel/ui/icons/AllIconsKeys$Gutter { public final fun getSuggestedRefactoringBulbDisabled ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getUnfold ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getUnique ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; + public final fun getWeb ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getWriteAccess ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; } @@ -3741,7 +3743,7 @@ public final class org/jetbrains/jewel/ui/icons/AllIconsKeys$Ide { public final fun getNavBarSeparator ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getOutgoingChangesOn ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getPipette ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; - public final fun getPipette_rollover ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; + public final fun getPipetteRollover ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getPowerSaveMode ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getRating ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getRating1 ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; @@ -3800,13 +3802,6 @@ public final class org/jetbrains/jewel/ui/icons/AllIconsKeys$Ide$RoundShadow { public final class org/jetbrains/jewel/ui/icons/AllIconsKeys$Ide$RunAnything { public static final field $stable I public static final field INSTANCE Lorg/jetbrains/jewel/ui/icons/AllIconsKeys$Ide$RunAnything; - public final fun getOpenRecentProject ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; -} - -public final class org/jetbrains/jewel/ui/icons/AllIconsKeys$Ide$Settings { - public static final field $stable I - public static final field INSTANCE Lorg/jetbrains/jewel/ui/icons/AllIconsKeys$Ide$Settings; - public final fun getNewUI ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; } public final class org/jetbrains/jewel/ui/icons/AllIconsKeys$Ide$Shadow { @@ -3974,11 +3969,10 @@ public final class org/jetbrains/jewel/ui/icons/AllIconsKeys$Nodes { public final fun getConfigFolder ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getConsole ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getConstant ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; + public final fun getConstructor ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getController ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getCopyOfFolder ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getCustomRegion ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; - public final fun getCvs_global ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; - public final fun getCvs_roots ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getDataColumn ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getDataSchema ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getDataTables ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; @@ -4007,9 +4001,7 @@ public final class org/jetbrains/jewel/ui/icons/AllIconsKeys$Nodes { public final fun getIdeaModule ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getIdeaProject ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getInclude ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; - public final fun getInspectionResults ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getInterface ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; - public final fun getJ2eeParameter ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getJarDirectory ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getJavaDocFolder ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getJavaModule ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; @@ -4094,6 +4086,7 @@ public final class org/jetbrains/jewel/ui/icons/AllIconsKeys$Nodes { public final fun getUndeploy ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getUnknown ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getUnknownJdk ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; + public final fun getUnloadedProject ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getUpFolder ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getUpLevel ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getVariable ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; @@ -4109,7 +4102,6 @@ public final class org/jetbrains/jewel/ui/icons/AllIconsKeys$Nodes { public final class org/jetbrains/jewel/ui/icons/AllIconsKeys$Nodes$Jsf { public static final field $stable I public static final field INSTANCE Lorg/jetbrains/jewel/ui/icons/AllIconsKeys$Nodes$Jsf; - public final fun getRenderer ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; } public final class org/jetbrains/jewel/ui/icons/AllIconsKeys$ObjectBrowser { @@ -4366,6 +4358,16 @@ public final class org/jetbrains/jewel/ui/icons/AllIconsKeys$Status { public final fun getSuccess ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; } +public final class org/jetbrains/jewel/ui/icons/AllIconsKeys$Survey { + public static final field $stable I + public static final field INSTANCE Lorg/jetbrains/jewel/ui/icons/AllIconsKeys$Survey; + public final fun getDissatisfied ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; + public final fun getNeutral ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; + public final fun getSatisfied ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; + public final fun getVeryDissatisfied ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; + public final fun getVerySatisfied ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; +} + public final class org/jetbrains/jewel/ui/icons/AllIconsKeys$Table { public static final field $stable I public static final field INSTANCE Lorg/jetbrains/jewel/ui/icons/AllIconsKeys$Table; @@ -4423,14 +4425,17 @@ public final class org/jetbrains/jewel/ui/icons/AllIconsKeys$Toolwindows { public final fun getTask ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getToolWindowAnalyzeDataflow ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getToolWindowAnt ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; + public final fun getToolWindowAskAI ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getToolWindowBookmarks ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getToolWindowBuild ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getToolWindowChanges ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getToolWindowCommander ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getToolWindowCommit ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; + public final fun getToolWindowComponents ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getToolWindowCoverage ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getToolWindowDataView ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getToolWindowDebugger ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; + public final fun getToolWindowDevMode ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getToolWindowDuplicates ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getToolWindowFavorites ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getToolWindowFind ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; @@ -4440,6 +4445,7 @@ public final class org/jetbrains/jewel/ui/icons/AllIconsKeys$Toolwindows { public final fun getToolWindowJsonPath ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getToolWindowMessages ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getToolWindowModuleDependencies ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; + public final fun getToolWindowOverflow ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getToolWindowPalette ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getToolWindowProblems ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getToolWindowProblemsEmpty ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; @@ -4448,6 +4454,7 @@ public final class org/jetbrains/jewel/ui/icons/AllIconsKeys$Toolwindows { public final fun getToolWindowProject ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getToolWindowRun ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getToolWindowRunWithCoverage ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; + public final fun getToolWindowServer ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getToolWindowServices ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getToolWindowStructure ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getToolWindowTodo ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; @@ -4524,6 +4531,7 @@ public final class org/jetbrains/jewel/ui/icons/AllIconsKeys$Webreferences { public static final field $stable I public static final field INSTANCE Lorg/jetbrains/jewel/ui/icons/AllIconsKeys$Webreferences; public final fun getMessageQueue ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; + public final fun getOpenapi ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getServer ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; public final fun getWebSocket ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; } @@ -4578,6 +4586,13 @@ public final class org/jetbrains/jewel/ui/icons/AllIconsKeys$Windows { public final fun getRestoreSmall ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; } +public final class org/jetbrains/jewel/ui/icons/AllIconsKeys$Windows$Mouse { + public static final field $stable I + public static final field INSTANCE Lorg/jetbrains/jewel/ui/icons/AllIconsKeys$Windows$Mouse; + public final fun getCursorPointingHand ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; + public final fun getCursorText ()Lorg/jetbrains/jewel/ui/icon/IntelliJIconKey; +} + public final class org/jetbrains/jewel/ui/icons/AllIconsKeys$Xml { public static final field $stable I public static final field INSTANCE Lorg/jetbrains/jewel/ui/icons/AllIconsKeys$Xml; diff --git a/platform/jewel/ui/build.gradle.kts b/platform/jewel/ui/build.gradle.kts index 23cced779ad4..b4494c355af6 100644 --- a/platform/jewel/ui/build.gradle.kts +++ b/platform/jewel/ui/build.gradle.kts @@ -1,4 +1,3 @@ -import org.jetbrains.compose.ComposeBuildConfig import org.jmailen.gradle.kotlinter.tasks.FormatTask import org.jmailen.gradle.kotlinter.tasks.LintTask @@ -12,9 +11,6 @@ plugins { alias(libs.plugins.kotlinx.serialization) } -private val composeVersion - get() = ComposeBuildConfig.composeVersion - dependencies { api(projects.foundation) implementation(compose.components.resources) diff --git a/platform/jewel/ui/intellij.platform.jewel.ui.iml b/platform/jewel/ui/intellij.platform.jewel.ui.iml index 8ce95fc7c286..04219006ed5b 100644 --- a/platform/jewel/ui/intellij.platform.jewel.ui.iml +++ b/platform/jewel/ui/intellij.platform.jewel.ui.iml @@ -14,9 +14,7 @@ - - $MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compose-compiler-plugin/2.0.21/kotlin-compose-compiler-plugin-2.0.21.jar - + $MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compose-compiler-plugin/2.0.21/kotlin-compose-compiler-plugin-2.0.21.jar @@ -41,348 +39,41 @@ - + - + 02b4adef426ee89bd7b7d61a3263b4f635bf7836c48ccbaf268db9032f8e01d2 - + - + - + - + 1584b739e8f1869e4f340519dc984d4a44582a80ef323e655999ddb18dd954c2 - + - + - - - - - - c53f675b2af4696e6022598145a44a9e9feb35216a188163ae5bf99a18e76bdb - - - - - - - - - - - - - - - - - - f1e334b73d49ceab00afe776a4c393de77b4fc805e9ff488dac596a2663b1dc1 - - - - - - - - - - - - - - - - - - a7dfdfd2b9d6668c646275948eba357aab6407f635f2dc09fe90258a2f202337 - - - - - - - - - - - - - - - - - - 66fdef91e9739348df7a096aa384a5685f4e875584cce89386a7a47251c4d8e9 - - - - - - - - - - - - - - - - - - 34dfab5b4fa8b2913f00facdddc049e2fef4b176f8e7cde0ad306485674c3b5c - - - - - - - - - - - - - - - - - - 5c84c3bb1c1b636ae36030a0f98d4629afa29e192a9c78f57f22ce2c8ff6bc96 - - - - - - - - - - - - - - - - - - c106c0f705717889663555fe4cb7742612bd47b56a128bf7a9f589f24c64cb08 - - - - - - - - - - - - - - - - - - 8ff9a2b8c93b0287d8fa837d5b0917923168cb97dea1ada1a8d4aa7bb17c9f15 - - - - - - - - - - - - - - - - - - 41da5d61c56877b5b5d01e2a2bcb967cbfaf4d45c1a1aa124c0601c7a3de74e7 - - - - - - - - - - - - - - - - - - 7b0f19724082cbfcbc66e5abea2b9bc92cf08a1ea11e191933ed43801eb3cd05 - - - - - - - - - - - - - - - - - - bff3d1e895fd5abd54ee725dab59214acabf900e1a0784544d20cf20521bf9f3 - - - - - - - - - - - - - - - - - - 62c816073195cc0119dc1d66b178544bdb772ef8bee4879954528c6798b17ebe - - - - - - - - - - - - - - - - - - 5c84c3bb1c1b636ae36030a0f98d4629afa29e192a9c78f57f22ce2c8ff6bc96 - - - - - - - - - - - - - - - - - - c106c0f705717889663555fe4cb7742612bd47b56a128bf7a9f589f24c64cb08 - - - - - - - - - - - - - - - - - - 1b409141a9ee6ed38e76a8fb8f9cf280030bf45375ba7e07e60b2742039b573e - - - - - - - - - - - - - - - - - - c5cfad0b125e978d915f8b4c38630bc5d548e59fe8a0e838c0cc84283c605943 - - - - - - - - - - - - - - - - - - 5c84c3bb1c1b636ae36030a0f98d4629afa29e192a9c78f57f22ce2c8ff6bc96 - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/Checkbox.kt b/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/Checkbox.kt index d8f2dc84f5cb..9b90d2f52e0e 100644 --- a/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/Checkbox.kt +++ b/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/Checkbox.kt @@ -487,7 +487,7 @@ private fun CheckboxImpl( val toggleableModifier = modifier.triStateToggleable( state = state, - onClick = { onClick() }, + onClick = onClick, enabled = enabled, role = Role.Checkbox, interactionSource = interactionSource, diff --git a/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/ComboBox.kt b/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/ComboBox.kt index 9a03a32426e5..cd4f3621fcad 100644 --- a/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/ComboBox.kt +++ b/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/ComboBox.kt @@ -7,7 +7,6 @@ import androidx.compose.foundation.interaction.MutableInteractionSource import androidx.compose.foundation.interaction.PressInteraction import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Row -import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.heightIn import androidx.compose.foundation.layout.padding @@ -45,7 +44,9 @@ import androidx.compose.ui.semantics.semantics import androidx.compose.ui.text.TextStyle import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.Dp +import androidx.compose.ui.unit.takeOrElse import androidx.compose.ui.window.PopupProperties +import org.jetbrains.jewel.foundation.ExperimentalJewelApi import org.jetbrains.jewel.foundation.Stroke import org.jetbrains.jewel.foundation.modifier.border import org.jetbrains.jewel.foundation.modifier.onHover @@ -58,12 +59,32 @@ import org.jetbrains.jewel.ui.focusOutline import org.jetbrains.jewel.ui.outline import org.jetbrains.jewel.ui.theme.comboBoxStyle +/** + * A dropdown component that displays a text label and a popup with custom content. + * + * This component provides a standard dropdown UI with a text label. When clicked, it displays a popup with customizable + * content. Supports keyboard navigation, focus management, and various visual states. + * + * @param labelText The text to display in the dropdown field + * @param modifier Modifier to be applied to the combo box + * @param popupModifier Modifier to be applied to the popup + * @param enabled Controls whether the combo box can be interacted with + * @param outline The outline style to be applied to the combo box + * @param maxPopupHeight The maximum height of the popup + * @param interactionSource Source of interactions for this combo box + * @param style The visual styling configuration for the combo box + * @param textStyle The typography style to be applied to the text + * @param onArrowDownPress Called when the down arrow key is pressed while the popup is visible + * @param onArrowUpPress Called when the up arrow key is pressed while the popup is visible + * @param popupManager Manager for controlling the popup visibility state + * @param popupContent Composable content for the popup + */ @Composable public fun ComboBox( labelText: String, modifier: Modifier = Modifier, popupModifier: Modifier = Modifier, - isEnabled: Boolean = true, + enabled: Boolean = true, outline: Outline = Outline.None, maxPopupHeight: Dp = Dp.Unspecified, interactionSource: MutableInteractionSource = remember { MutableInteractionSource() }, @@ -78,10 +99,10 @@ public fun ComboBox( val popupVisible by popupManager.isPopupVisible - var comboBoxState by remember { mutableStateOf(ComboBoxState.of(enabled = isEnabled)) } + var comboBoxState by remember { mutableStateOf(ComboBoxState.of(enabled = enabled)) } val comboBoxFocusRequester = remember { FocusRequester() } - remember(isEnabled) { comboBoxState = comboBoxState.copy(enabled = isEnabled) } + remember(enabled) { comboBoxState = comboBoxState.copy(enabled = enabled) } LaunchedEffect(interactionSource) { interactionSource.interactions.collect { interaction -> @@ -110,7 +131,7 @@ public fun ComboBox( popupManager.setPopupVisible(false) } } - .thenIf(isEnabled) { + .thenIf(enabled) { focusable(true, interactionSource) .onHover { chevronHovered = it } .pointerInput(interactionSource) { @@ -181,7 +202,7 @@ public fun ComboBox( verticalAlignment = Alignment.CenterVertically, modifier = Modifier.focusable(false).focusProperties { canFocus = false }, ) { - val textColor = if (isEnabled) Color.Unspecified else style.colors.borderDisabled + val textColor = if (enabled) Color.Unspecified else style.colors.borderDisabled Text( text = labelText, style = textStyle.copy(color = textColor), @@ -189,22 +210,16 @@ public fun ComboBox( overflow = TextOverflow.Ellipsis, modifier = Modifier.testTag("Jewel.ComboBox.NonEditableText") - .fillMaxWidth() .weight(1f) .padding(style.metrics.contentPadding), ) - Chevron(style, isEnabled) + Chevron(style, enabled) } } if (popupVisible) { - val maxHeight = - if (maxPopupHeight == Dp.Unspecified) { - JewelTheme.comboBoxStyle.metrics.maxPopupHeight - } else { - maxPopupHeight - } + val maxHeight = maxPopupHeight.takeOrElse { style.metrics.maxPopupHeight } PopupContainer( onDismissRequest = { @@ -226,13 +241,196 @@ public fun ComboBox( } } +/** + * A dropdown component that displays custom content in the label area and a popup with custom content. + * + * This component provides a standard dropdown UI with customizable label content. When clicked, it displays a popup + * with customizable content. Supports keyboard navigation, focus management, and various visual states. + * + * This version of ComboBox allows for complete customization of the label area through a composable function. + * + * @param modifier Modifier to be applied to the combo box + * @param popupModifier Modifier to be applied to the popup + * @param enabled Controls whether the combo box can be interacted with + * @param outline The outline style to be applied to the combo box + * @param maxPopupHeight The maximum height of the popup + * @param interactionSource Source of interactions for this combo box + * @param style The visual styling configuration for the combo box + * @param onArrowDownPress Called when the down arrow key is pressed while the popup is visible + * @param onArrowUpPress Called when the up arrow key is pressed while the popup is visible + * @param popupManager Manager for controlling the popup visibility state + * @param labelContent Composable content for the label area of the combo box + * @param popupContent Composable content for the popup + */ +@ExperimentalJewelApi @Composable -private fun Chevron(style: ComboBoxStyle, isEnabled: Boolean) { +public fun ComboBox( + modifier: Modifier = Modifier, + popupModifier: Modifier = Modifier, + enabled: Boolean = true, + outline: Outline = Outline.None, + maxPopupHeight: Dp = Dp.Unspecified, + interactionSource: MutableInteractionSource = remember { MutableInteractionSource() }, + style: ComboBoxStyle = JewelTheme.comboBoxStyle, + onArrowDownPress: () -> Unit = {}, + onArrowUpPress: () -> Unit = {}, + popupManager: PopupManager = PopupManager(), + labelContent: @Composable (() -> Unit), + popupContent: @Composable (() -> Unit), +) { + var chevronHovered by remember { mutableStateOf(false) } + + val popupVisible by popupManager.isPopupVisible + + var comboBoxState by remember { mutableStateOf(ComboBoxState.of(enabled = enabled)) } + val comboBoxFocusRequester = remember { FocusRequester() } + + remember(enabled) { comboBoxState = comboBoxState.copy(enabled = enabled) } + + LaunchedEffect(interactionSource) { + interactionSource.interactions.collect { interaction -> + when (interaction) { + is PressInteraction.Press -> comboBoxState = comboBoxState.copy(pressed = true) + is PressInteraction.Cancel, + is PressInteraction.Release -> comboBoxState = comboBoxState.copy(pressed = false) + is HoverInteraction.Enter -> comboBoxState = comboBoxState.copy(hovered = true) + is HoverInteraction.Exit -> comboBoxState = comboBoxState.copy(hovered = false) + } + } + } + + val shape = RoundedCornerShape(style.metrics.cornerSize) + val borderColor by style.colors.borderFor(comboBoxState) + var comboBoxWidth by remember { mutableStateOf(Dp.Unspecified) } + val density = LocalDensity.current + + Box( + modifier = + modifier + .focusRequester(comboBoxFocusRequester) + .onFocusChanged { focusState -> + comboBoxState = comboBoxState.copy(focused = focusState.isFocused) + if (!focusState.isFocused) { + popupManager.setPopupVisible(false) + } + } + .thenIf(enabled) { + focusable(true, interactionSource) + .onHover { chevronHovered = it } + .pointerInput(interactionSource) { + detectPressAndCancel( + onPress = { + popupManager.setPopupVisible(!popupVisible) + comboBoxFocusRequester.requestFocus() + }, + onCancel = { popupManager.setPopupVisible(false) }, + ) + } + .semantics(mergeDescendants = true) { role = Role.DropdownList } + .onPreviewKeyEvent { + if (it.type != KeyEventType.KeyDown) return@onPreviewKeyEvent false + + when { + it.key == Key.Spacebar -> { + popupManager.setPopupVisible(!popupVisible) + true + } + + it.key == Key.DirectionDown -> { + if (popupVisible) { + onArrowDownPress() + } else { + popupManager.setPopupVisible(true) + } + true + } + + it.key == Key.DirectionUp && popupVisible -> { + onArrowUpPress() + true + } + + it.key == Key.Escape && popupVisible -> { + popupManager.setPopupVisible(false) + true + } + + else -> false + } + } + } + .background(style.colors.backgroundFor(comboBoxState, false).value, shape) + .thenIf(outline == Outline.None) { + focusOutline(state = comboBoxState, outlineShape = shape, alignment = Stroke.Alignment.Center) + .border( + alignment = Stroke.Alignment.Inside, + width = style.metrics.borderWidth, + color = borderColor, + shape = shape, + ) + } + .outline( + state = comboBoxState, + outline = outline, + outlineShape = shape, + alignment = Stroke.Alignment.Center, + ) + .widthIn(min = style.metrics.minSize.width) + .height(style.metrics.minSize.height) + .onSizeChanged { comboBoxWidth = with(density) { it.width.toDp() } }, + contentAlignment = Alignment.CenterStart, + ) { + CompositionLocalProvider(LocalContentColor provides style.colors.contentFor(comboBoxState).value) { + Row( + verticalAlignment = Alignment.CenterVertically, + modifier = Modifier.focusable(false).focusProperties { canFocus = false }, + ) { + Box( + modifier = Modifier.weight(1f).height(style.metrics.minSize.height), + contentAlignment = Alignment.CenterStart, + ) { + labelContent() + } + Chevron(style, enabled) + } + } + + if (popupVisible) { + val maxHeight = maxPopupHeight.takeOrElse { style.metrics.maxPopupHeight } + + PopupContainer( + onDismissRequest = { + if (!chevronHovered) { + popupManager.setPopupVisible(false) + } + }, + modifier = + popupModifier + .testTag("Jewel.ComboBox.Popup") + .heightIn(max = maxHeight) + .width(comboBoxWidth) + .onClick { popupManager.setPopupVisible(false) }, + horizontalAlignment = Alignment.Start, + popupProperties = PopupProperties(focusable = false), + content = popupContent, + ) + } + } +} + +/** + * Renders the chevron (down arrow) icon for the combo box. + * + * @param style The visual styling configuration for the combo box + * @param enabled Whether the combo box is enabled, affects the icon color + */ +@Composable +private fun Chevron(style: ComboBoxStyle, enabled: Boolean) { Box( contentAlignment = Alignment.Center, modifier = Modifier.testTag("Jewel.ComboBox.ChevronContainer").size(style.metrics.arrowAreaSize), ) { - val iconColor = if (isEnabled) Color.Unspecified else style.colors.borderDisabled + val iconColor = if (enabled) Color.Unspecified else style.colors.borderDisabled Icon(key = style.icons.chevronDown, tint = iconColor, contentDescription = null) } } diff --git a/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/Dropdown.kt b/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/Dropdown.kt index 326f18c5ac1f..af460d8a334e 100644 --- a/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/Dropdown.kt +++ b/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/Dropdown.kt @@ -33,6 +33,7 @@ import androidx.compose.ui.input.InputMode import androidx.compose.ui.layout.onSizeChanged import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.semantics.Role +import org.jetbrains.annotations.ApiStatus.ScheduledForRemoval import org.jetbrains.jewel.foundation.Stroke import org.jetbrains.jewel.foundation.modifier.border import org.jetbrains.jewel.foundation.modifier.thenIf @@ -53,10 +54,8 @@ import org.jetbrains.jewel.ui.outline import org.jetbrains.jewel.ui.painter.hints.Stateful import org.jetbrains.jewel.ui.theme.dropdownStyle -@Deprecated( - message = "Use ListComboBox instead. This component will be removed in a future release.", - level = DeprecationLevel.WARNING, -) +@ScheduledForRemoval(inVersion = "2025.2") +@Deprecated(message = "Use ListComboBox instead. This component will be removed in a future release.") @Composable public fun Dropdown( modifier: Modifier = Modifier, @@ -172,6 +171,8 @@ public fun Dropdown( } } +@ScheduledForRemoval(inVersion = "2025.2") +@Deprecated(message = "Use ListComboBox instead. Dropdown will be removed in a future release.") @Immutable @JvmInline public value class DropdownState(public val state: ULong) : FocusableComponentState { diff --git a/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/EditableComboBox.kt b/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/EditableComboBox.kt index 7838991bb124..3621c0ae1d7c 100644 --- a/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/EditableComboBox.kt +++ b/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/EditableComboBox.kt @@ -79,7 +79,7 @@ public fun EditableComboBox( textFieldState: TextFieldState, modifier: Modifier = Modifier, popupModifier: Modifier = Modifier, - isEnabled: Boolean = true, + enabled: Boolean = true, outline: Outline = Outline.None, interactionSource: MutableInteractionSource = remember { MutableInteractionSource() }, style: ComboBoxStyle = JewelTheme.comboBoxStyle, @@ -96,9 +96,9 @@ public fun EditableComboBox( val textFieldInteractionSource = remember { MutableInteractionSource() } val textFieldFocusRequester = remember { FocusRequester() } - var comboBoxState by remember { mutableStateOf(ComboBoxState.of(enabled = isEnabled)) } + var comboBoxState by remember { mutableStateOf(ComboBoxState.of(enabled = enabled)) } - remember(isEnabled) { comboBoxState = comboBoxState.copy(enabled = isEnabled) } + remember(enabled) { comboBoxState = comboBoxState.copy(enabled = enabled) } LaunchedEffect(interactionSource) { interactionSource.interactions.collect { interaction -> @@ -153,9 +153,9 @@ public fun EditableComboBox( verticalAlignment = Alignment.CenterVertically, ) { TextField( - isEnabled = isEnabled, + enabled = enabled, inputTextFieldState = textFieldState, - isFocused = comboBoxState.isFocused, + focused = comboBoxState.isFocused, textFieldFocusRequester = textFieldFocusRequester, style = style, popupManager = popupManager, @@ -166,11 +166,11 @@ public fun EditableComboBox( onEnterPress = onEnterPress, onFocusedChange = { comboBoxState = comboBoxState.copy(focused = it) }, onHoveredChange = { textFieldHovered = it }, - modifier = Modifier.fillMaxWidth().weight(1f), + modifier = Modifier.weight(1f), ) Chevron( - isEnabled = isEnabled, + enabled = enabled, style = style, interactionSource = interactionSource, onHoveredChange = { chevronHovered = it }, @@ -208,9 +208,9 @@ public fun EditableComboBox( @Composable private fun TextField( modifier: Modifier, - isEnabled: Boolean, + enabled: Boolean, inputTextFieldState: TextFieldState, - isFocused: Boolean, + focused: Boolean, textFieldFocusRequester: FocusRequester, style: ComboBoxStyle, popupManager: PopupManager, @@ -222,9 +222,11 @@ private fun TextField( onFocusedChange: (Boolean) -> Unit, onHoveredChange: (Boolean) -> Unit, ) { - val textColor = if (isEnabled) style.colors.content else style.colors.borderDisabled + val textColor = if (enabled) style.colors.content else style.colors.borderDisabled val popupVisible by popupManager.isPopupVisible + if (focused) textFieldFocusRequester.requestFocus() + BasicTextField( state = inputTextFieldState, modifier = @@ -267,13 +269,13 @@ private fun TextField( textStyle = textStyle.copy(color = textColor), cursorBrush = SolidColor(style.colors.content), interactionSource = textFieldInteractionSource, - enabled = isEnabled, + enabled = enabled, ) } @Composable private fun Chevron( - isEnabled: Boolean, + enabled: Boolean, style: ComboBoxStyle, interactionSource: MutableInteractionSource, onHoveredChange: (Boolean) -> Unit, @@ -284,7 +286,7 @@ private fun Chevron( modifier = Modifier.testTag("Jewel.ComboBox.ChevronContainer") .size(style.metrics.arrowAreaSize) // Fixed size - .thenIf(isEnabled) { + .thenIf(enabled) { onHover { onHoveredChange(it) } .pointerInput(interactionSource) { detectPressAndCancel(onPress = onPressWhenEnabled, onCancel = onCancelPress) @@ -300,8 +302,8 @@ private fun Chevron( } } ) { - val dividerColor = if (isEnabled) style.colors.border else style.colors.borderDisabled - val iconTint = if (isEnabled) Color.Unspecified else style.colors.contentDisabled + val dividerColor = if (enabled) style.colors.border else style.colors.borderDisabled + val iconTint = if (enabled) Color.Unspecified else style.colors.contentDisabled Divider( orientation = Orientation.Vertical, thickness = style.metrics.borderWidth, diff --git a/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/Icon.kt b/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/Icon.kt index ab8286f1944e..26871b5a5a19 100644 --- a/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/Icon.kt +++ b/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/Icon.kt @@ -27,7 +27,6 @@ import androidx.compose.ui.semantics.contentDescription import androidx.compose.ui.semantics.role import androidx.compose.ui.semantics.semantics import androidx.compose.ui.unit.dp -import org.jetbrains.annotations.ApiStatus.ScheduledForRemoval import org.jetbrains.compose.resources.ExperimentalResourceApi import org.jetbrains.compose.resources.decodeToImageBitmap import org.jetbrains.compose.resources.decodeToImageVector @@ -39,102 +38,6 @@ import org.jetbrains.jewel.ui.icon.newUiChecker import org.jetbrains.jewel.ui.painter.PainterHint import org.jetbrains.jewel.ui.painter.rememberResourcePainterProvider -@Deprecated( - "Use the IconKey-based API instead", - ReplaceWith( - "key = Icon(PathIconKey(resource, iconClass), contentDescription = contentDescription, " + - "colorFilter = colorFilter, modifier = modifier, hints)", - "org.jetbrains.jewel.ui.icon.PathIconKey", - ), -) -@ScheduledForRemoval(inVersion = "Before 1.0") -@Composable -public fun Icon( - resource: String, - contentDescription: String?, - iconClass: Class<*>, - colorFilter: ColorFilter?, - modifier: Modifier = Modifier, - vararg hints: PainterHint, -) { - val painterProvider = rememberResourcePainterProvider(resource, iconClass) - val painter by painterProvider.getPainter(*hints) - - Icon(painter = painter, contentDescription = contentDescription, modifier = modifier, colorFilter = colorFilter) -} - -@Deprecated( - "Use the IconKey-based API instead", - ReplaceWith( - "key = Icon(PathIconKey(resource, iconClass), contentDescription = contentDescription, " + - "colorFilter = colorFilter, modifier = modifier, hint = hint)", - "org.jetbrains.jewel.ui.icon.PathIconKey", - ), -) -@ScheduledForRemoval(inVersion = "Before 1.0") -@Composable -public fun Icon( - resource: String, - contentDescription: String?, - iconClass: Class<*>, - colorFilter: ColorFilter?, - modifier: Modifier = Modifier, - hint: PainterHint, -) { - val painterProvider = rememberResourcePainterProvider(resource, iconClass) - val painter by painterProvider.getPainter(hint) - - Icon(painter = painter, contentDescription = contentDescription, modifier = modifier, colorFilter = colorFilter) -} - -@Deprecated( - "Use the IconKey-based API instead", - ReplaceWith( - "Icon(key = PathIconKey(resource, iconClass), contentDescription = contentDescription, " + - "tint = tint, modifier = modifier, hints = hints)", - "org.jetbrains.jewel.ui.icon.PathIconKey", - ), -) -@ScheduledForRemoval(inVersion = "Before 1.0") -@Composable -public fun Icon( - resource: String, - contentDescription: String?, - iconClass: Class<*>, - modifier: Modifier = Modifier, - tint: Color = Color.Unspecified, - vararg hints: PainterHint, -) { - val painterProvider = rememberResourcePainterProvider(resource, iconClass) - val painter by painterProvider.getPainter(*hints) - - Icon(painter = painter, contentDescription = contentDescription, modifier = modifier, tint = tint) -} - -@Deprecated( - "Use the IconKey-based API instead", - ReplaceWith( - "Icon(key = PathIconKey(resource, iconClass), contentDescription = contentDescription, " + - "tint = tint, modifier = modifier, hint = hint)", - "org.jetbrains.jewel.ui.icon.PathIconKey", - ), -) -@ScheduledForRemoval(inVersion = "Before 1.0") -@Composable -public fun Icon( - resource: String, - contentDescription: String?, - iconClass: Class<*>, - modifier: Modifier = Modifier, - tint: Color = Color.Unspecified, - hint: PainterHint, -) { - val painterProvider = rememberResourcePainterProvider(resource, iconClass) - val painter by painterProvider.getPainter(hint) - - Icon(painter = painter, contentDescription = contentDescription, modifier = modifier, tint = tint) -} - @Composable public fun Icon( key: IconKey, diff --git a/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/InlineBanner.kt b/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/InlineBanner.kt index 61e204bfe420..684ed98a3ffa 100644 --- a/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/InlineBanner.kt +++ b/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/InlineBanner.kt @@ -30,6 +30,7 @@ import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.Color import androidx.compose.ui.platform.testTag import androidx.compose.ui.text.TextStyle +import androidx.compose.ui.text.font.FontWeight.Companion.Bold import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import org.jetbrains.jewel.foundation.modifier.thenIf @@ -40,248 +41,502 @@ import org.jetbrains.jewel.ui.icons.AllIconsKeys import org.jetbrains.jewel.ui.theme.inlineBannerStyle /** - * Displays an informational inline banner providing subtle, non-intrusive context or feedback within a particular UI - * section. - * - * The banner uses the inline "information" theme by default, featuring an optional icon, a context message, and - * optional actions. - * - * @param text the primary content of the banner, briefly describing the information it conveys. - * @param modifier a [Modifier] to customize the layout and appearance of the banner. - * @param icon a composable representation of an optional 16x16 dp "information" icon displayed to the left of the - * banner. Pass `null` to hide the icon. By default, it shows the "information" icon. - * @param actions a lambda defining optional interactive components (e.g., links, buttons) placed inside the banner for - * inline actions like "View More" or "Dismiss." - * @param actionIcons a lambda defining composable icons representing secondary or quick actions, such as closing the - * banner. Icons are placed on the right side of the banner. - * @param style a [InlineBannerStyle] that determines the visual styling of the banner, using the default “information” - * theme. This can be overridden for customization. - * @param textStyle typography settings applied to the banner text, based on the default Jewel theme. + * Displays an informational inline banner providing subtle, non-intrusive context or feedback. * * Use this banner to provide relevant, non-critical information in a compact layout. * - * **Guidelines:** [on IntelliJ Platform SDK webhelp](https://plugins.jetbrains.com/docs/intellij/balloon.html) + * **Guidelines:** [on IntelliJ Platform SDK webhelp](https://plugins.jetbrains.com/docs/intellij/banner.html) (note: + * there are no guidelines for inline banners) * * **Swing equivalent:** - * [`Notifications`](https://github.com/JetBrains/intellij-community/blob/idea/243.23654.153/platform/ide-core/src/com/intellij/notification/Notifications.java) + * [`InlineBanner`](https://github.com/JetBrains/intellij-community/blob/master/platform/platform-api/src/com/intellij/ui/InlineBanner.kt) * * **Usage example:** * [`Banners.kt`](https://github.com/JetBrains/intellij-community/blob/master/platform/jewel/samples/showcase/src/main/kotlin/org/jetbrains/jewel/samples/showcase/components/Banners.kt) * * ```kotlin * InformationInlineBanner( - * text = "Project indexed successfully.", + * text = "Project index up to date.", * actions = { * Link("View Logs", onClick = { /* handle click */ }) * } * ) * ``` + * + * @param text The primary content of the banner, briefly describing the information it conveys. + * @param modifier [Modifier] to apply to the banner. + * @param title An optional title, rendered in bold, that appears above the [text]. + * @param icon Slot for an optional icon displayed on the left of the [text] or [title]. If null, there is no icon. By + * default, it is the [AllIconsKeys.General.BalloonInformation] icon. + * @param actions Slot for optional primary actions (usually links) to show at the bottom of the banner, below the + * [text]. + * @param actionIcons Slot for secondary actions (usually icon buttons), such as closing the banner to show at the top + * right of the banner, to the right of the [text] or [title]. + * @param style An [InlineBannerStyle] used to style the banner. The default is the theme's + * [`JewelTheme.inlineBannerStyle.information`][org.jetbrains.jewel.ui.component.styling.InlineBannerStyles.information]. + * @param textStyle The base [TextStyle] used by the [text] and [title]. Note that the [title] always has a + * [`Bold` weight][androidx.compose.ui.text.font.FontWeight.Bold]. */ @Composable public fun InformationInlineBanner( text: String, modifier: Modifier = Modifier, + title: String? = null, icon: (@Composable () -> Unit)? = { Icon(AllIconsKeys.General.BalloonInformation, null) }, actions: (@Composable FlowRowScope.() -> Unit)? = null, actionIcons: (@Composable RowScope.() -> Unit)? = null, style: InlineBannerStyle = JewelTheme.inlineBannerStyle.information, textStyle: TextStyle = JewelTheme.defaultTextStyle, ) { - InlineBannerImpl( - text = text, + InformationInlineBanner( + title = title, style = style, textStyle = textStyle, icon = icon, actions = actions, modifier = modifier, actionIcons = actionIcons, + ) { + Text(text = text, style = textStyle) + } +} + +/** + * Displays an informational inline banner providing subtle, non-intrusive context or feedback. + * + * Use this banner to provide relevant, non-critical information in a compact layout. + * + * **Guidelines:** [on IntelliJ Platform SDK webhelp](https://plugins.jetbrains.com/docs/intellij/banner.html) (note: + * there are no guidelines for inline banners) + * + * **Swing equivalent:** + * [`InlineBanner`](https://github.com/JetBrains/intellij-community/blob/master/platform/platform-api/src/com/intellij/ui/InlineBanner.kt) + * + * **Usage example:** + * [`Banners.kt`](https://github.com/JetBrains/intellij-community/blob/master/platform/jewel/samples/showcase/src/main/kotlin/org/jetbrains/jewel/samples/showcase/components/Banners.kt) + * + * ```kotlin + * InformationInlineBanner( + * actions = { + * Link("View Logs", onClick = { /* handle click */ }) + * } + * ) { + * Markdown("Project index **up to date**.") + * } + * ``` + * + * @param modifier [Modifier] to apply to the banner. + * @param title An optional title, rendered in bold, that appears above the [content]. + * @param icon Slot for an optional icon displayed on the left of the [content] or [title]. If null, there is no icon. + * By default, it is the [AllIconsKeys.General.BalloonInformation] icon. + * @param actions Slot for optional primary actions (usually links) to show at the bottom of the banner, below the + * [content]. + * @param actionIcons Slot for secondary actions (usually icon buttons), such as closing the banner to show at the top + * right of the banner, to the right of the [content] or [title]. + * @param style An [InlineBannerStyle] used to style the banner. The default is the theme's + * [`JewelTheme.inlineBannerStyle.information`][org.jetbrains.jewel.ui.component.styling.InlineBannerStyles.information]. + * @param textStyle The base [TextStyle] used by the [content] and [title]. Note that the [title] always has a + * [`Bold` weight][androidx.compose.ui.text.font.FontWeight.Bold]. + * @param content The primary content of the banner, briefly describing the information it conveys. + */ +@Composable +public fun InformationInlineBanner( + modifier: Modifier = Modifier, + title: String? = null, + icon: (@Composable () -> Unit)? = { Icon(AllIconsKeys.General.BalloonInformation, null) }, + actions: (@Composable FlowRowScope.() -> Unit)? = null, + actionIcons: (@Composable RowScope.() -> Unit)? = null, + style: InlineBannerStyle = JewelTheme.inlineBannerStyle.information, + textStyle: TextStyle = JewelTheme.defaultTextStyle, + content: @Composable () -> Unit, +) { + InlineBannerImpl( + title = title, + style = style, + textStyle = textStyle, + icon = icon, + actions = actions, + modifier = modifier, + actionIcons = actionIcons, + content = content, ) } /** - * Displays an inline banner to confirm successful actions or state completions in compact UI sections without - * interrupting the workflow. + * Displays a success inline banner providing information about the successful completion of an operation. * - * The banner uses the inline "success" theme by default, featuring an optional icon, a success message, and optional - * user actions. - * - * @param text the main content of the banner, succinctly describing the successful operation or state. - * @param modifier a [Modifier] to customize the layout, padding, or size of the banner. - * @param icon a composable for an optional 16x16 dp "success" icon displayed on the left side of the banner. The - * success icon is shown by default. Pass `null` to hide the icon. - * @param actions a lambda defining optional interactive components, such as links or buttons, placed within the banner - * for additional user operations. - * @param actionIcons a lambda defining composable icons for quick or secondary operations, such as dismissing the - * banner, placed on the banner's right side. - * @param style a [InlineBannerStyle] defining the visual appearance of the banner. It uses the default "success" theme, - * but this can be customized if needed. - * @param textStyle the style of the banner text, controlled by the Jewel theme's typography. - * - * Use this banner to provide visual feedback for completed actions. - * - * **Guidelines:** [on IntelliJ Platform SDK webhelp](https://plugins.jetbrains.com/docs/intellij/balloon.html) + * **Guidelines:** [on IntelliJ Platform SDK webhelp](https://plugins.jetbrains.com/docs/intellij/banner.html) (note: + * there are no guidelines for inline banners) * * **Swing equivalent:** - * [`Notifications`](https://github.com/JetBrains/intellij-community/blob/idea/243.23654.153/platform/ide-core/src/com/intellij/notification/Notifications.java) + * [`InlineBanner`](https://github.com/JetBrains/intellij-community/blob/master/platform/platform-api/src/com/intellij/ui/InlineBanner.kt) * * **Usage example:** * [`Banners.kt`](https://github.com/JetBrains/intellij-community/blob/master/platform/jewel/samples/showcase/src/main/kotlin/org/jetbrains/jewel/samples/showcase/components/Banners.kt) * * ```kotlin * SuccessInlineBanner( - * text = "Build completed successfully.", + * text = "Project indexed successfully.", * actions = { - * Link("Details", onClick = { /* handle link */ }) + * Link("View Logs", onClick = { /* handle click */ }) * } * ) * ``` + * + * @param text The primary content of the banner, briefly describing the information it conveys. + * @param modifier [Modifier] to apply to the banner. + * @param title An optional title, rendered in bold, that appears above the [text]. + * @param icon Slot for an optional icon displayed on the left of the [text] or [title]. If null, there is no icon. By + * default, it is the [AllIconsKeys.Status.Success] icon. + * @param actions Slot for optional primary actions (usually links) to show at the bottom of the banner, below the + * [text]. + * @param actionIcons Slot for secondary actions (usually icon buttons), such as closing the banner to show at the top + * right of the banner, to the right of the [text] or [title]. + * @param style An [InlineBannerStyle] used to style the banner. The default is the theme's + * [`JewelTheme.inlineBannerStyle.success`][org.jetbrains.jewel.ui.component.styling.InlineBannerStyles.success]. + * @param textStyle The base [TextStyle] used by the [text] and [title]. Note that the [title] always has a + * [`Bold` weight][androidx.compose.ui.text.font.FontWeight.Bold]. */ @Composable public fun SuccessInlineBanner( text: String, modifier: Modifier = Modifier, - icon: (@Composable () -> Unit)? = { Icon(AllIconsKeys.Debugger.ThreadStates.Idle, null) }, + title: String? = null, + icon: (@Composable () -> Unit)? = { Icon(AllIconsKeys.Status.Success, null) }, actions: (@Composable FlowRowScope.() -> Unit)? = null, actionIcons: (@Composable RowScope.() -> Unit)? = null, style: InlineBannerStyle = JewelTheme.inlineBannerStyle.success, textStyle: TextStyle = JewelTheme.defaultTextStyle, ) { - InlineBannerImpl( - text = text, + SuccessInlineBanner( + title = title, style = style, textStyle = textStyle, icon = icon, actions = actions, modifier = modifier, actionIcons = actionIcons, + ) { + Text(text = text, style = textStyle) + } +} + +/** + * Displays a success inline banner providing information about the successful completion of an operation. + * + * Use this banner to provide relevant, non-critical information in a compact layout. + * + * **Guidelines:** [on IntelliJ Platform SDK webhelp](https://plugins.jetbrains.com/docs/intellij/banner.html) (note: + * there are no guidelines for inline banners) + * + * **Swing equivalent:** + * [`InlineBanner`](https://github.com/JetBrains/intellij-community/blob/master/platform/platform-api/src/com/intellij/ui/InlineBanner.kt) + * + * **Usage example:** + * [`Banners.kt`](https://github.com/JetBrains/intellij-community/blob/master/platform/jewel/samples/showcase/src/main/kotlin/org/jetbrains/jewel/samples/showcase/components/Banners.kt) + * + * ```kotlin + * SuccessInlineBanner( + * actions = { + * Link("View Logs", onClick = { /* handle click */ }) + * } + * ) { + * Markdown("Project indexed **successfully**.") + * } + * ``` + * + * @param modifier [Modifier] to apply to the banner. + * @param title An optional title, rendered in bold, that appears above the [content]. + * @param icon Slot for an optional icon displayed on the left of the [content] or [title]. If null, there is no icon. + * By default, it is the [AllIconsKeys.Status.Success] icon. + * @param actions Slot for optional primary actions (usually links) to show at the bottom of the banner, below the + * [content]. + * @param actionIcons Slot for secondary actions (usually icon buttons), such as closing the banner to show at the top + * right of the banner, to the right of the [content] or [title]. + * @param style An [InlineBannerStyle] used to style the banner. The default is the theme's + * [`JewelTheme.inlineBannerStyle.success`][org.jetbrains.jewel.ui.component.styling.InlineBannerStyles.success]. + * @param textStyle The base [TextStyle] used by the [content] and [title]. Note that the [title] always has a + * [`Bold` weight][androidx.compose.ui.text.font.FontWeight.Bold]. + * @param content The primary content of the banner, briefly describing the information it conveys. + */ +@Composable +public fun SuccessInlineBanner( + modifier: Modifier = Modifier, + title: String? = null, + icon: (@Composable () -> Unit)? = { Icon(AllIconsKeys.Status.Success, null) }, + actions: (@Composable FlowRowScope.() -> Unit)? = null, + actionIcons: (@Composable RowScope.() -> Unit)? = null, + style: InlineBannerStyle = JewelTheme.inlineBannerStyle.success, + textStyle: TextStyle = JewelTheme.defaultTextStyle, + content: @Composable () -> Unit, +) { + InlineBannerImpl( + title = title, + style = style, + textStyle = textStyle, + icon = icon, + actions = actions, + modifier = modifier, + actionIcons = actionIcons, + content = content, ) } /** * Shows a warning inline banner to draw attention to non-critical issues that require user awareness or resolution. * - * The banner applies the inline "warning" theme by default, including an optional icon, a warning message, and - * additional actions if provided. + * Use this banner to provide relevant, non-critical information in a compact layout. * - * @param text the main content of the banner, describing the warning or potential issue. - * @param modifier a [Modifier] for applying layout modifications to the banner, such as padding or size changes. - * @param icon a composable element for an optional 16x16 dp "warning" icon displayed at the banner's left edge. The - * warning icon is shown by default. Set `null` to omit the icon. - * @param actions a lambda defining interactive elements such as links or buttons, which provide additional user - * operations related to the warning. - * @param actionIcons a lambda defining composable icons for secondary operations, like dismissing the banner, placed on - * the right side of the banner. - * @param style an [InlineBannerStyle] defining the warning theme of the banner. The default warning theme is applied by - * default, but this can be customized. - * @param textStyle typography used for the text content of the banner, inheriting from the Jewel theme. - * - * Use this banner for unobstructive warnings requiring user awareness. - * - * **Guidelines:** [on IntelliJ Platform SDK webhelp](https://plugins.jetbrains.com/docs/intellij/balloon.html) + * **Guidelines:** [on IntelliJ Platform SDK webhelp](https://plugins.jetbrains.com/docs/intellij/banner.html) (note: + * there are no guidelines for inline banners) * * **Swing equivalent:** - * [`Notifications`](https://github.com/JetBrains/intellij-community/blob/idea/243.23654.153/platform/ide-core/src/com/intellij/notification/Notifications.java) + * [`InlineBanner`](https://github.com/JetBrains/intellij-community/blob/master/platform/platform-api/src/com/intellij/ui/InlineBanner.kt) * * **Usage example:** * [`Banners.kt`](https://github.com/JetBrains/intellij-community/blob/master/platform/jewel/samples/showcase/src/main/kotlin/org/jetbrains/jewel/samples/showcase/components/Banners.kt) * * ```kotlin * WarningInlineBanner( - * text = "This feature is deprecated and will be removed in the next version.", + * text = "Project indexed with warnings.", * actions = { - * Link("Learn More", onClick = { /* handle action */ }) + * Link("View Logs", onClick = { /* handle click */ }) * } * ) * ``` + * + * @param text The primary content of the banner, briefly describing the information it conveys. + * @param modifier [Modifier] to apply to the banner. + * @param title An optional title, rendered in bold, that appears above the [text]. + * @param icon Slot for an optional icon displayed on the left of the [text] or [title]. If null, there is no icon. By + * default, it is the [AllIconsKeys.General.BalloonWarning] icon. + * @param actions Slot for optional primary actions (usually links) to show at the bottom of the banner, below the + * [text]. + * @param actionIcons Slot for secondary actions (usually icon buttons), such as closing the banner to show at the top + * right of the banner, to the right of the [text] or [title]. + * @param style An [InlineBannerStyle] used to style the banner. The default is the theme's + * [`JewelTheme.inlineBannerStyle.warning`][org.jetbrains.jewel.ui.component.styling.InlineBannerStyles.warning]. + * @param textStyle The base [TextStyle] used by the [text] and [title]. Note that the [title] always has a + * [`Bold` weight][androidx.compose.ui.text.font.FontWeight.Bold]. */ @Composable public fun WarningInlineBanner( text: String, modifier: Modifier = Modifier, + title: String? = null, icon: (@Composable () -> Unit)? = { Icon(AllIconsKeys.General.BalloonWarning, null) }, actions: (@Composable FlowRowScope.() -> Unit)? = null, actionIcons: (@Composable RowScope.() -> Unit)? = null, style: InlineBannerStyle = JewelTheme.inlineBannerStyle.warning, textStyle: TextStyle = JewelTheme.defaultTextStyle, ) { - InlineBannerImpl( - text = text, + WarningInlineBanner( + title = title, style = style, textStyle = textStyle, icon = icon, actions = actions, modifier = modifier, actionIcons = actionIcons, + ) { + Text(text = text, style = textStyle) + } +} + +/** + * Shows a warning inline banner to draw attention to non-critical issues that require user awareness or resolution. + * + * Use this banner to provide relevant, non-critical information in a compact layout. + * + * **Guidelines:** [on IntelliJ Platform SDK webhelp](https://plugins.jetbrains.com/docs/intellij/banner.html) (note: + * there are no guidelines for inline banners) + * + * **Swing equivalent:** + * [`InlineBanner`](https://github.com/JetBrains/intellij-community/blob/master/platform/platform-api/src/com/intellij/ui/InlineBanner.kt) + * + * **Usage example:** + * [`Banners.kt`](https://github.com/JetBrains/intellij-community/blob/master/platform/jewel/samples/showcase/src/main/kotlin/org/jetbrains/jewel/samples/showcase/components/Banners.kt) + * + * ```kotlin + * WarningInlineBanner( + * actions = { + * Link("View Logs", onClick = { /* handle click */ }) + * } + * ) { + * Markdown("Project indexed **with warnings**.") + * } + * ``` + * + * @param modifier [Modifier] to apply to the banner. + * @param title An optional title, rendered in bold, that appears above the [content]. + * @param icon Slot for an optional icon displayed on the left of the [content] or [title]. If null, there is no icon. + * By default, it is the [AllIconsKeys.General.BalloonWarning] icon. + * @param actions Slot for optional primary actions (usually links) to show at the bottom of the banner, below the + * [content]. + * @param actionIcons Slot for secondary actions (usually icon buttons), such as closing the banner to show at the top + * right of the banner, to the right of the [content] or [title]. + * @param style An [InlineBannerStyle] used to style the banner. The default is the theme's + * [`JewelTheme.inlineBannerStyle.warning`][org.jetbrains.jewel.ui.component.styling.InlineBannerStyles.warning]. + * @param textStyle The base [TextStyle] used by the [content] and [title]. Note that the [title] always has a + * [`Bold` weight][androidx.compose.ui.text.font.FontWeight.Bold]. + * @param content The primary content of the banner, briefly describing the information it conveys. + */ +@Composable +public fun WarningInlineBanner( + modifier: Modifier = Modifier, + title: String? = null, + icon: (@Composable () -> Unit)? = { Icon(AllIconsKeys.General.BalloonWarning, null) }, + actions: (@Composable FlowRowScope.() -> Unit)? = null, + actionIcons: (@Composable RowScope.() -> Unit)? = null, + style: InlineBannerStyle = JewelTheme.inlineBannerStyle.warning, + textStyle: TextStyle = JewelTheme.defaultTextStyle, + content: @Composable () -> Unit, +) { + InlineBannerImpl( + title = title, + style = style, + textStyle = textStyle, + icon = icon, + actions = actions, + modifier = modifier, + actionIcons = actionIcons, + content = content, ) } /** - * Displays an inline banner highlighting critical errors or failures that require immediate user attention and action. + * Shows an error inline banner to draw attention to non-critical issues that require user awareness or resolution. * - * This banner uses the inline "error" theme by default, featuring a message describing the error, and optional icons - * and actions to assist the user in resolving it. + * Use this banner to provide relevant, non-critical information in a compact layout. * - * @param text the main content of the banner, describing the error context or failure details. - * @param modifier a [Modifier] for layout customization (e.g., padding, width). - * @param icon a composable that displays an optional 16x16 dp "error" icon at the banner's left side. The error icon is - * displayed by default and can be omitted by passing `null`. - * @param actions a lambda providing interactive options (e.g., retry, open settings) as part of the banner. - * @param actionIcons a lambda defining composable icons for secondary operations, such as closing or dismissing the - * banner, rendered on the banner's right side. - * @param style an [InlineBannerStyle] defining the banner's appearance under the error theme. It can be customized to - * override the default error styling. - * @param textStyle typography settings for the text content, based on the default Jewel theme. - * - * Use this banner to convey high-priority errors affecting application behavior. - * - * **Guidelines:** [on IntelliJ Platform SDK webhelp](https://plugins.jetbrains.com/docs/intellij/balloon.html) + * **Guidelines:** [on IntelliJ Platform SDK webhelp](https://plugins.jetbrains.com/docs/intellij/banner.html) (note: + * there are no guidelines for inline banners) * * **Swing equivalent:** - * [`Notifications`](https://github.com/JetBrains/intellij-community/blob/idea/243.23654.153/platform/ide-core/src/com/intellij/notification/Notifications.java) + * [`InlineBanner`](https://github.com/JetBrains/intellij-community/blob/master/platform/platform-api/src/com/intellij/ui/InlineBanner.kt) * * **Usage example:** * [`Banners.kt`](https://github.com/JetBrains/intellij-community/blob/master/platform/jewel/samples/showcase/src/main/kotlin/org/jetbrains/jewel/samples/showcase/components/Banners.kt) * * ```kotlin * ErrorInlineBanner( - * text = "Connection to the server failed.", + * text = "Project indexed failed.", * actions = { - * Link("Retry", onClick = { /* handle retry */ }) + * Link("View Logs", onClick = { /* handle click */ }) * } * ) * ``` + * + * @param text The primary content of the banner, briefly describing the information it conveys. + * @param modifier [Modifier] to apply to the banner. + * @param title An optional title, rendered in bold, that appears above the [text]. + * @param icon Slot for an optional icon displayed on the left of the [text] or [title]. If null, there is no icon. By + * default, it is the [AllIconsKeys.General.BalloonError] icon. + * @param actions Slot for optional primary actions (usually links) to show at the bottom of the banner, below the + * [text]. + * @param actionIcons Slot for secondary actions (usually icon buttons), such as closing the banner to show at the top + * right of the banner, to the right of the [text] or [title]. + * @param style An [InlineBannerStyle] used to style the banner. The default is the theme's + * [`JewelTheme.inlineBannerStyle.error`][org.jetbrains.jewel.ui.component.styling.InlineBannerStyles.error]. + * @param textStyle The base [TextStyle] used by the [text] and [title]. Note that the [title] always has a + * [`Bold` weight][androidx.compose.ui.text.font.FontWeight.Bold]. */ @Composable public fun ErrorInlineBanner( text: String, modifier: Modifier = Modifier, + title: String? = null, icon: (@Composable () -> Unit)? = { Icon(AllIconsKeys.General.BalloonError, null) }, actions: (@Composable FlowRowScope.() -> Unit)? = null, actionIcons: (@Composable RowScope.() -> Unit)? = null, style: InlineBannerStyle = JewelTheme.inlineBannerStyle.error, textStyle: TextStyle = JewelTheme.defaultTextStyle, ) { - InlineBannerImpl( - text = text, + ErrorInlineBanner( style = style, textStyle = textStyle, + title = title, icon = icon, actions = actions, modifier = modifier, actionIcons = actionIcons, + ) { + Text(text = text, style = textStyle) + } +} + +/** + * Shows an error inline banner to draw attention to non-critical issues that require user awareness or resolution. + * + * Use this banner to provide relevant, non-critical information in a compact layout. + * + * **Guidelines:** [on IntelliJ Platform SDK webhelp](https://plugins.jetbrains.com/docs/intellij/banner.html) (note: + * there are no guidelines for inline banners) + * + * **Swing equivalent:** + * [`InlineBanner`](https://github.com/JetBrains/intellij-community/blob/master/platform/platform-api/src/com/intellij/ui/InlineBanner.kt) + * + * **Usage example:** + * [`Banners.kt`](https://github.com/JetBrains/intellij-community/blob/master/platform/jewel/samples/showcase/src/main/kotlin/org/jetbrains/jewel/samples/showcase/components/Banners.kt) + * + * ```kotlin + * ErrorInlineBanner( + * actions = { + * Link("View Logs", onClick = { /* handle click */ }) + * } + * ) { + * Markdown("Project indexed **successfully**.") + * } + * ``` + * + * @param modifier [Modifier] to apply to the banner. + * @param title An optional title, rendered in bold, that appears above the [content]. + * @param icon Slot for an optional icon displayed on the left of the [content] or [title]. If null, there is no icon. + * By default, it is the [AllIconsKeys.General.BalloonError] icon. + * @param actions Slot for optional primary actions (usually links) to show at the bottom of the banner, below the + * [content]. + * @param actionIcons Slot for secondary actions (usually icon buttons), such as closing the banner to show at the top + * right of the banner, to the right of the [content] or [title]. + * @param style An [InlineBannerStyle] used to style the banner. The default is the theme's + * [`JewelTheme.inlineBannerStyle.error`][org.jetbrains.jewel.ui.component.styling.InlineBannerStyles.error]. + * @param textStyle The base [TextStyle] used by the [content] and [title]. Note that the [title] always has a + * [`Bold` weight][androidx.compose.ui.text.font.FontWeight.Bold]. + * @param content The primary content of the banner, briefly describing the information it conveys. + */ +@Composable +public fun ErrorInlineBanner( + modifier: Modifier = Modifier, + title: String? = null, + icon: (@Composable () -> Unit)? = { Icon(AllIconsKeys.General.BalloonError, null) }, + actions: (@Composable FlowRowScope.() -> Unit)? = null, + actionIcons: (@Composable RowScope.() -> Unit)? = null, + style: InlineBannerStyle = JewelTheme.inlineBannerStyle.error, + textStyle: TextStyle = JewelTheme.defaultTextStyle, + content: @Composable () -> Unit, +) { + InlineBannerImpl( + style = style, + textStyle = textStyle, + title = title, + icon = icon, + actions = actions, + modifier = modifier, + actionIcons = actionIcons, + content = content, ) } @OptIn(ExperimentalLayoutApi::class) @Composable private fun InlineBannerImpl( - text: String, style: InlineBannerStyle, textStyle: TextStyle, + title: String?, icon: @Composable (() -> Unit)?, actions: @Composable (FlowRowScope.() -> Unit)?, actionIcons: @Composable (RowScope.() -> Unit)?, modifier: Modifier, + content: @Composable (() -> Unit), ) { val borderColor = style.colors.border RoundedCornerBox( @@ -305,7 +560,11 @@ private fun InlineBannerImpl( .padding(top = 12.dp, bottom = 12.dp) // kftmt plz behave .thenIf(actionIcons == null) { padding(end = 12.dp) } ) { - Text(text = text, style = textStyle) + if (title != null) { + Text(text = title, style = textStyle, fontWeight = Bold) + Spacer(Modifier.height(8.dp)) + } + content() if (actions != null) { Spacer(Modifier.height(8.dp)) @@ -327,7 +586,7 @@ private fun InlineBannerImpl( } @Composable -internal fun RoundedCornerBox( +private fun RoundedCornerBox( modifier: Modifier = Modifier, contentColor: Color, borderColor: Color, diff --git a/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/InputField.kt b/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/InputField.kt index c9814a37179d..31acef0f5a05 100644 --- a/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/InputField.kt +++ b/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/InputField.kt @@ -29,7 +29,6 @@ import androidx.compose.ui.text.TextStyle import androidx.compose.ui.text.input.TextFieldValue import androidx.compose.ui.text.input.VisualTransformation import androidx.compose.ui.unit.Density -import org.jetbrains.annotations.ApiStatus.ScheduledForRemoval import org.jetbrains.jewel.foundation.Stroke import org.jetbrains.jewel.foundation.modifier.border import org.jetbrains.jewel.foundation.modifier.thenIf @@ -125,8 +124,6 @@ internal fun InputField( ) } -@Deprecated("NO") -@ScheduledForRemoval @Composable internal fun InputField( value: TextFieldValue, diff --git a/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/ListComboBox.kt b/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/ListComboBox.kt index 37b4f1f367eb..2b5cb48a567c 100644 --- a/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/ListComboBox.kt +++ b/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/ListComboBox.kt @@ -7,7 +7,6 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.heightIn import androidx.compose.foundation.layout.padding import androidx.compose.foundation.lazy.LazyListState -import androidx.compose.foundation.text.input.TextFieldState import androidx.compose.foundation.text.input.rememberTextFieldState import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect @@ -18,6 +17,7 @@ import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.ColorFilter import androidx.compose.ui.input.key.Key import androidx.compose.ui.input.key.KeyEventType import androidx.compose.ui.input.key.key @@ -25,9 +25,9 @@ import androidx.compose.ui.input.key.onPreviewKeyEvent import androidx.compose.ui.input.key.type import androidx.compose.ui.text.TextStyle import androidx.compose.ui.unit.Dp -import kotlin.collections.indexOf +import androidx.compose.ui.unit.takeOrElse import kotlinx.coroutines.launch -import org.jetbrains.annotations.ApiStatus.ScheduledForRemoval +import org.jetbrains.jewel.foundation.ExperimentalJewelApi import org.jetbrains.jewel.foundation.lazy.SelectableLazyColumn import org.jetbrains.jewel.foundation.lazy.SelectableLazyListState import org.jetbrains.jewel.foundation.lazy.SelectionMode @@ -40,35 +40,65 @@ import org.jetbrains.jewel.foundation.theme.JewelTheme import org.jetbrains.jewel.foundation.util.JewelLogger import org.jetbrains.jewel.ui.Outline import org.jetbrains.jewel.ui.component.styling.ComboBoxStyle +import org.jetbrains.jewel.ui.disabled import org.jetbrains.jewel.ui.theme.comboBoxStyle +/** + * A non-editable dropdown list component that follows the standard visual styling. + * + * Provides a selectable list of items in a dropdown format. When clicked, displays a popup with the list of items. + * Supports keyboard navigation, item selection, and custom item rendering. The selected item is displayed in the main + * control. + * + * **Guidelines:** [on IJP SDK webhelp](https://plugins.jetbrains.com/docs/intellij/drop-down.html) + * + * **Usage example:** + * [`ComboBoxes.kt`](https://github.com/JetBrains/intellij-community/blob/master/platform/jewel/samples/showcase/src/main/kotlin/org/jetbrains/jewel/samples/showcase/components/ComboBoxes.kt) + * + * **Swing equivalent:** + * [`ComboBox`](https://github.com/JetBrains/intellij-community/blob/master/platform/platform-api/src/com/intellij/openapi/ui/ComboBox.java) + * + * @param items The list of items to display in the dropdown + * @param selectedIndex The index of the currently selected item + * @param onSelectedItemChange Called when an item is selected, with the new index + * @param itemKeys Function to generate unique keys for items; defaults to using the item itself as the key + * @param modifier Modifier to be applied to the combo box + * @param enabled Controls whether the combo box can be interacted with + * @param outline The outline style to be applied to the combo box + * @param maxPopupHeight The maximum height of the popup list + * @param interactionSource Source of interactions for this combo box + * @param style The visual styling configuration for the combo box + * @param onPopupVisibleChange Called when the popup visibility changes + * @param listState The State object for the selectable lazy list in the popup + * @param itemContent Composable content for rendering each item in the list + * @see com.intellij.openapi.ui.ComboBox + */ +@ExperimentalJewelApi @Composable -public fun ListComboBox( - items: List, +public fun ListComboBox( + items: List, selectedIndex: Int, - onItemSelected: (Int, String) -> Unit, + onSelectedItemChange: (Int) -> Unit, + itemKeys: (Int, T) -> Any, modifier: Modifier = Modifier, - isEnabled: Boolean = true, + enabled: Boolean = true, outline: Outline = Outline.None, maxPopupHeight: Dp = Dp.Unspecified, interactionSource: MutableInteractionSource = remember { MutableInteractionSource() }, style: ComboBoxStyle = JewelTheme.comboBoxStyle, - textStyle: TextStyle = JewelTheme.defaultTextStyle, onPopupVisibleChange: (visible: Boolean) -> Unit = {}, - itemContent: @Composable (text: String, isSelected: Boolean, isActive: Boolean) -> Unit, + listState: SelectableLazyListState = rememberSelectableLazyListState(), + itemContent: @Composable (item: T, isSelected: Boolean, isActive: Boolean) -> Unit, ) { - val listState = rememberSelectableLazyListState() - listState.selectedKeys = setOf(selectedIndex) + LaunchedEffect(Unit) { listState.selectedKeys = setOf(itemKeys(selectedIndex, items[selectedIndex])) } - var labelText by remember { mutableStateOf(items[selectedIndex]) } var previewSelectedIndex by remember { mutableIntStateOf(selectedIndex) } val scope = rememberCoroutineScope() fun setSelectedItem(index: Int) { if (index >= 0 && index <= items.lastIndex) { - listState.selectedKeys = setOf(index) - labelText = items[index] - onItemSelected(index, items[index]) + listState.selectedKeys = setOf(itemKeys(index, items[index])) + onSelectedItemChange(index) scope.launch { listState.lazyListState.scrollToIndex(index) } } else { JewelLogger.getInstance("ListComboBox").trace("Ignoring item index $index as it's invalid") @@ -79,13 +109,8 @@ public fun ListComboBox( previewSelectedIndex = -1 } - val contentPadding = JewelTheme.comboBoxStyle.metrics.popupContentPadding - val popupMaxHeight = - if (maxPopupHeight == Dp.Unspecified) { - JewelTheme.comboBoxStyle.metrics.maxPopupHeight - } else { - maxPopupHeight - } + val contentPadding = style.metrics.popupContentPadding + val popupMaxHeight = maxPopupHeight.takeOrElse { style.metrics.maxPopupHeight } val popupManager = remember { PopupManager( @@ -113,11 +138,10 @@ public fun ListComboBox( false } }, - isEnabled = isEnabled, - labelText = labelText, + enabled = enabled, maxPopupHeight = popupMaxHeight, onArrowDownPress = { - var currentSelectedIndex = listState.selectedItemIndex() + var currentSelectedIndex = listState.selectedItemIndex(items, itemKeys) // When there is a preview-selected item, pressing down will actually change the // selected value to the one underneath it (unless it's the last one) @@ -129,7 +153,7 @@ public fun ListComboBox( setSelectedItem((currentSelectedIndex + 1).coerceAtMost(items.lastIndex)) }, onArrowUpPress = { - var currentSelectedIndex = listState.selectedItemIndex() + var currentSelectedIndex = listState.selectedItemIndex(items, itemKeys) // When there is a preview-selected item, pressing up will actually change the // selected value to the one above it (unless it's the first one) @@ -141,10 +165,10 @@ public fun ListComboBox( setSelectedItem((currentSelectedIndex - 1).coerceAtLeast(0)) }, style = style, - textStyle = textStyle, interactionSource = interactionSource, outline = outline, popupManager = popupManager, + labelContent = { itemContent(items[selectedIndex], false, false) }, ) { PopupContent( items = items, @@ -157,7 +181,8 @@ public fun ListComboBox( previewSelectedIndex = it } }, - onSelectedItemChange = ::setSelectedItem, + onSelectedItemChange = { index: Int -> setSelectedItem(index) }, + itemKeys = itemKeys, itemContent = itemContent, ) } @@ -173,191 +198,64 @@ public fun ListComboBox( * **Guidelines:** [on IJP SDK webhelp](https://plugins.jetbrains.com/docs/intellij/drop-down.html) * * **Usage example:** - * [`Dropdowns.kt`](https://github.com/JetBrains/intellij-community/blob/master/platform/jewel/samples/showcase/src/main/kotlin/org/jetbrains/jewel/samples/showcase/components/Dropdowns.kt) + * [`ComboBoxes.kt`](https://github.com/JetBrains/intellij-community/blob/master/platform/jewel/samples/showcase/src/main/kotlin/org/jetbrains/jewel/samples/showcase/components/ComboBoxes.kt) * * **Swing equivalent:** * [`ComboBox`](https://github.com/JetBrains/intellij-community/blob/master/platform/platform-api/src/com/intellij/openapi/ui/ComboBox.java) * * @param items The list of items to display in the dropdown + * @param selectedIndex The index of the currently selected item + * @param onSelectedItemChange Called when an item is selected, with the new index * @param modifier Modifier to be applied to the combo box - * @param isEnabled Controls whether the combo box can be interacted with - * @param initialSelectedIndex The index of the initially selected item + * @param enabled Controls whether the combo box can be interacted with * @param outline The outline style to be applied to the combo box * @param maxPopupHeight The maximum height of the popup list * @param interactionSource Source of interactions for this combo box * @param style The visual styling configuration for the combo box * @param textStyle The typography style to be applied to the items - * @param onSelectedItemChange Called when the selected item changes, with the new index and item * @param onPopupVisibleChange Called when the popup visibility changes - * @param itemContent Composable content for rendering each item in the list + * @param itemKeys Function to generate unique keys for items; defaults to using the item itself as the key + * @param listState The State object for the selectable lazy list in the popup * @see com.intellij.openapi.ui.ComboBox */ @Composable -public fun EditableListComboBox( - items: List, - selectedIndex: Int, - onItemSelected: (Int, String) -> Unit, - textFieldState: TextFieldState = rememberTextFieldState(items[selectedIndex]), - modifier: Modifier = Modifier, - isEnabled: Boolean = true, - outline: Outline = Outline.None, - maxPopupHeight: Dp = Dp.Unspecified, - interactionSource: MutableInteractionSource = remember { MutableInteractionSource() }, - style: ComboBoxStyle = JewelTheme.comboBoxStyle, - textStyle: TextStyle = JewelTheme.defaultTextStyle, - onPopupVisibleChange: (visible: Boolean) -> Unit = {}, - itemContent: @Composable (text: String, isSelected: Boolean, isActive: Boolean) -> Unit, -) { - val listState = rememberSelectableLazyListState() - listState.selectedKeys = setOf(selectedIndex) - - var previewSelectedIndex by remember { mutableIntStateOf(selectedIndex) } - val scope = rememberCoroutineScope() - - fun setSelectedItem(index: Int) { - if (index >= 0 && index <= items.lastIndex) { - // Note: it's important to do the edit _before_ updating the list state, - // since updating the list state will cause another, asynchronous and - // potentially nested call to edit, which is not supported. - // This is because setting the selected keys on the SLC will eventually - // cause a call to this very function via SLC's onSelectedIndexesChange. - textFieldState.edit { replace(0, length, items[index]) } - - if (listState.selectedKeys.size != 1 || listState.selectedItemIndex() != index) { - // This guard condition should also help avoid issues caused by side effects - // of setting new selected keys, as per the comment above. - listState.selectedKeys = setOf(index) - } - onItemSelected(index, items[index]) - scope.launch { listState.lazyListState.scrollToIndex(index) } - } else { - JewelLogger.getInstance("EditableListComboBox").trace("Ignoring item index $index as it's invalid") - } - } - - val contentPadding = JewelTheme.comboBoxStyle.metrics.popupContentPadding - val popupMaxHeight = - if (maxPopupHeight == Dp.Unspecified) { - JewelTheme.comboBoxStyle.metrics.maxPopupHeight - } else { - maxPopupHeight - } - - EditableComboBox( - textFieldState = textFieldState, - modifier = modifier, - isEnabled = isEnabled, - outline = outline, - interactionSource = interactionSource, - style = style, - textStyle = textStyle, - onArrowDownPress = { - var currentSelectedIndex = listState.selectedItemIndex() - - // When there is a preview-selected item, pressing down will actually change the - // selected value to the one underneath it (unless it's the last one) - if (previewSelectedIndex >= 0 && previewSelectedIndex < items.lastIndex) { - currentSelectedIndex = previewSelectedIndex - previewSelectedIndex = -1 - } - - setSelectedItem((currentSelectedIndex + 1).coerceAtMost(items.lastIndex)) - }, - onArrowUpPress = { - var currentSelectedIndex = listState.selectedItemIndex() - - // When there is a preview-selected item, pressing up will actually change the - // selected value to the one above it (unless it's the first one) - if (previewSelectedIndex > 0) { - currentSelectedIndex = previewSelectedIndex - previewSelectedIndex = -1 - } - - setSelectedItem((currentSelectedIndex - 1).coerceAtLeast(0)) - }, - onEnterPress = { - val indexOfSelected = items.indexOf(textFieldState.text) - setSelectedItem(indexOfSelected) - }, - popupManager = - remember { - PopupManager( - onPopupVisibleChange = { - previewSelectedIndex = -1 - onPopupVisibleChange(it) - }, - name = "EditableListComboBoxPopup", - ) - }, - popupContent = { - PopupContent( - items = items, - previewSelectedItemIndex = previewSelectedIndex, - listState = listState, - popupMaxHeight = popupMaxHeight, - contentPadding = contentPadding, - onPreviewSelectedItemChange = { - if (it >= 0 && previewSelectedIndex != it) { - previewSelectedIndex = it - } - }, - onSelectedItemChange = ::setSelectedItem, - itemContent = itemContent, - ) - }, - ) -} - -@Deprecated( - message = "Use the stateless ListComboBox with selectedIndex and onItemSelected parameters instead", - level = DeprecationLevel.WARNING, -) -@ScheduledForRemoval(inVersion = "Before 1.0") -@Composable public fun ListComboBox( items: List, + selectedIndex: Int, + onSelectedItemChange: (Int) -> Unit, modifier: Modifier = Modifier, - isEnabled: Boolean = true, - initialSelectedIndex: Int = 0, + enabled: Boolean = true, outline: Outline = Outline.None, maxPopupHeight: Dp = Dp.Unspecified, interactionSource: MutableInteractionSource = remember { MutableInteractionSource() }, style: ComboBoxStyle = JewelTheme.comboBoxStyle, textStyle: TextStyle = JewelTheme.defaultTextStyle, - onSelectedItemChange: (Int, String) -> Unit = { _, _ -> }, onPopupVisibleChange: (visible: Boolean) -> Unit = {}, - itemContent: @Composable (text: String, isSelected: Boolean, isActive: Boolean) -> Unit, + itemKeys: (Int, String) -> Any = { _, item -> item }, + listState: SelectableLazyListState = rememberSelectableLazyListState(), ) { - val listState = rememberSelectableLazyListState() - var labelText by remember { mutableStateOf(items.firstOrNull().orEmpty()) } + var labelText by remember { mutableStateOf(items[selectedIndex]) } var previewSelectedIndex by remember { mutableIntStateOf(-1) } val scope = rememberCoroutineScope() LaunchedEffect(Unit) { - // Select the first item in the list automatically when creating - if (items.isNotEmpty()) { - listState.selectedKeys = setOf(initialSelectedIndex.coerceIn(0, items.lastIndex)) - } + // Select the first item in the list when creating + listState.selectedKeys = setOf(itemKeys(selectedIndex, items[selectedIndex])) } fun setSelectedItem(index: Int) { if (index >= 0 && index <= items.lastIndex) { - listState.selectedKeys = setOf(index) + listState.selectedKeys = setOf(itemKeys(index, items[index])) labelText = items[index] - onSelectedItemChange(index, items[index]) + onSelectedItemChange(index) scope.launch { listState.lazyListState.scrollToIndex(index) } } else { JewelLogger.getInstance("ListComboBox").trace("Ignoring item index $index as it's invalid") } } - val contentPadding = JewelTheme.comboBoxStyle.metrics.popupContentPadding - val popupMaxHeight = - if (maxPopupHeight == Dp.Unspecified) { - JewelTheme.comboBoxStyle.metrics.maxPopupHeight - } else { - maxPopupHeight - } + val contentPadding = style.metrics.popupContentPadding + val popupMaxHeight = maxPopupHeight.takeOrElse { style.metrics.maxPopupHeight } val popupManager = remember { PopupManager( @@ -385,11 +283,11 @@ public fun ListComboBox( false } }, - isEnabled = isEnabled, + enabled = enabled, labelText = labelText, maxPopupHeight = popupMaxHeight, onArrowDownPress = { - var currentSelectedIndex = listState.selectedItemIndex() + var currentSelectedIndex = listState.selectedItemIndex(items, itemKeys) // When there is a preview-selected item, pressing down will actually change the // selected value to the one underneath it (unless it's the last one) @@ -401,7 +299,7 @@ public fun ListComboBox( setSelectedItem((currentSelectedIndex + 1).coerceAtMost(items.lastIndex)) }, onArrowUpPress = { - var currentSelectedIndex = listState.selectedItemIndex() + var currentSelectedIndex = listState.selectedItemIndex(items, itemKeys) // When there is a preview-selected item, pressing up will actually change the // selected value to the one above it (unless it's the first one) @@ -430,7 +328,16 @@ public fun ListComboBox( } }, onSelectedItemChange = ::setSelectedItem, - itemContent = itemContent, + itemKeys = itemKeys, + itemContent = { item, isSelected, isActive -> + SimpleListItem( + text = item, + selected = isSelected, + active = isActive, + iconContentDescription = item, + colorFilter = if (enabled) null else ColorFilter.disabled(), + ) + }, ) } } @@ -445,56 +352,50 @@ public fun ListComboBox( * **Guidelines:** [on IJP SDK webhelp](https://plugins.jetbrains.com/docs/intellij/drop-down.html) * * **Usage example:** - * [`Dropdowns.kt`](https://github.com/JetBrains/intellij-community/blob/master/platform/jewel/samples/showcase/src/main/kotlin/org/jetbrains/jewel/samples/showcase/components/Dropdowns.kt) + * [`ComboBoxes.kt`](https://github.com/JetBrains/intellij-community/blob/master/platform/jewel/samples/showcase/src/main/kotlin/org/jetbrains/jewel/samples/showcase/components/ComboBoxes.kt) * * **Swing equivalent:** * [`ComboBox`](https://github.com/JetBrains/intellij-community/blob/master/platform/platform-api/src/com/intellij/openapi/ui/ComboBox.java) * with [setEditable(true)](https://docs.oracle.com/javase/8/docs/api/javax/swing/JComboBox.html#setEditable-boolean-) * * @param items The list of items to display in the dropdown + * @param selectedIndex The index of the currently selected item + * @param onSelectedItemChange Called when the selected item changes, with the new index and item * @param modifier Modifier to be applied to the combo box - * @param isEnabled Controls whether the combo box can be interacted with - * @param initialSelectedIndex The index of the initially selected item + * @param enabled Controls whether the combo box can be interacted with * @param outline The outline style to be applied to the combo box * @param maxPopupHeight The maximum height of the popup list * @param interactionSource Source of interactions for this combo box * @param style The visual styling configuration for the combo box * @param textStyle The typography style to be applied to the items - * @param onSelectedItemChange Called when the selected item changes, with the new index and item * @param onPopupVisibleChange Called when the popup visibility changes - * @param itemContent Composable content for rendering each item in the list + * @param itemKeys Function to generate unique keys for items; defaults to using the item itself as the key + * @param listState The State object for the selectable lazy list in the popup * @see com.intellij.openapi.ui.ComboBox */ -@Deprecated( - "Use the stateless EditableListComboBox with selectedIndex and onItemSelected parameters instead", - level = DeprecationLevel.WARNING, -) -@ScheduledForRemoval(inVersion = "Before 1.0") @Composable public fun EditableListComboBox( items: List, + selectedIndex: Int, + onSelectedItemChange: (Int) -> Unit, modifier: Modifier = Modifier, - isEnabled: Boolean = true, - initialSelectedIndex: Int = 0, + enabled: Boolean = true, outline: Outline = Outline.None, maxPopupHeight: Dp = Dp.Unspecified, interactionSource: MutableInteractionSource = remember { MutableInteractionSource() }, style: ComboBoxStyle = JewelTheme.comboBoxStyle, textStyle: TextStyle = JewelTheme.defaultTextStyle, - onSelectedItemChange: (Int, String) -> Unit = { _, _ -> }, onPopupVisibleChange: (visible: Boolean) -> Unit = {}, - itemContent: @Composable (text: String, isSelected: Boolean, isActive: Boolean) -> Unit, + itemKeys: (Int, String) -> Any = { _, item -> item }, + listState: SelectableLazyListState = rememberSelectableLazyListState(), ) { - val listState = rememberSelectableLazyListState() - val textFieldState = rememberTextFieldState(items.firstOrNull().orEmpty()) + val textFieldState = rememberTextFieldState(items[selectedIndex]) var previewSelectedIndex by remember { mutableIntStateOf(-1) } val scope = rememberCoroutineScope() LaunchedEffect(Unit) { - // Select the first item in the list automatically when creating - if (items.isNotEmpty()) { - listState.selectedKeys = setOf(initialSelectedIndex.coerceIn(0, items.lastIndex)) - } + // Select the first item in the list when creating + listState.selectedKeys = setOf(itemKeys(selectedIndex, items[selectedIndex])) } fun setSelectedItem(index: Int) { @@ -506,36 +407,31 @@ public fun EditableListComboBox( // cause a call to this very function via SLC's onSelectedIndexesChange. textFieldState.edit { replace(0, length, items[index]) } - if (listState.selectedKeys.size != 1 || listState.selectedItemIndex() != index) { + if (listState.selectedKeys.size != 1 || itemKeys(index, items[index]) !in listState.selectedKeys) { // This guard condition should also help avoid issues caused by side effects // of setting new selected keys, as per the comment above. - listState.selectedKeys = setOf(index) + listState.selectedKeys = setOf(itemKeys(index, items[index])) } - onSelectedItemChange(index, items[index]) + onSelectedItemChange(index) scope.launch { listState.lazyListState.scrollToIndex(index) } } else { listState.selectedKeys = emptySet() } } - val contentPadding = JewelTheme.comboBoxStyle.metrics.popupContentPadding - val popupMaxHeight = - if (maxPopupHeight == Dp.Unspecified) { - JewelTheme.comboBoxStyle.metrics.maxPopupHeight - } else { - maxPopupHeight - } + val contentPadding = style.metrics.popupContentPadding + val popupMaxHeight = maxPopupHeight.takeOrElse { style.metrics.maxPopupHeight } EditableComboBox( textFieldState = textFieldState, modifier = modifier, - isEnabled = isEnabled, + enabled = enabled, outline = outline, interactionSource = interactionSource, style = style, textStyle = textStyle, onArrowDownPress = { - var currentSelectedIndex = listState.selectedItemIndex() + var currentSelectedIndex = listState.selectedItemIndex(items, itemKeys) // When there is a preview-selected item, pressing down will actually change the // selected value to the one underneath it (unless it's the last one) @@ -547,7 +443,7 @@ public fun EditableListComboBox( setSelectedItem((currentSelectedIndex + 1).coerceAtMost(items.lastIndex)) }, onArrowUpPress = { - var currentSelectedIndex = listState.selectedItemIndex() + var currentSelectedIndex = listState.selectedItemIndex(items, itemKeys) // When there is a preview-selected item, pressing up will actually change the // selected value to the one above it (unless it's the first one) @@ -587,7 +483,15 @@ public fun EditableListComboBox( } }, onSelectedItemChange = ::setSelectedItem, - itemContent = itemContent, + itemKeys = itemKeys, + itemContent = { item, isSelected, isActive -> + SimpleListItem( + text = item, + isSelected = isSelected, + isActive = isActive, + iconContentDescription = item, + ) + }, ) }, ) @@ -607,7 +511,6 @@ private suspend fun LazyListState.scrollToIndex(itemIndex: Int) { itemIndex == visibleItemsRange.last && !isLastItemFullyVisible -> { scrollToItem(itemIndex, layoutInfo.viewportEndOffset - lastItemInfoSize) } - itemIndex > visibleItemsRange.last -> { // First scroll assuming the new item has the same height as the current last item scrollToItem(itemIndex, layoutInfo.viewportEndOffset - lastItemInfoSize) @@ -622,18 +525,29 @@ private suspend fun LazyListState.scrollToIndex(itemIndex: Int) { } /** Returns the index of the selected item in the list, returning -1 if there is no selected item. */ -public fun SelectableLazyListState.selectedItemIndex(): Int = selectedKeys.firstOrNull() as Int? ?: -1 +public fun SelectableLazyListState.selectedItemIndex(items: List, itemKeys: (Int, T) -> Any): Int { + if (selectedKeys.isEmpty()) return -1 + + val selectedKey = selectedKeys.first() + for (i in items.indices) { + if (itemKeys(i, items[i]) == selectedKey) { + return i + } + } + return -1 +} @Composable -private fun PopupContent( - items: List, +private fun PopupContent( + items: List, previewSelectedItemIndex: Int, listState: SelectableLazyListState, popupMaxHeight: Dp, contentPadding: PaddingValues, onPreviewSelectedItemChange: (Int) -> Unit, onSelectedItemChange: (Int) -> Unit, - itemContent: @Composable (text: String, isSelected: Boolean, isActive: Boolean) -> Unit, + itemKeys: (Int, T) -> Any, + itemContent: @Composable (item: T, isSelected: Boolean, isActive: Boolean) -> Unit, ) { VerticallyScrollableContainer( scrollState = listState.lazyListState, @@ -650,7 +564,7 @@ private fun PopupContent( ) { -> itemsIndexed( items = items, - key = { itemIndex, _ -> itemIndex }, // TODO pass in from user? + key = { itemIndex, item -> itemKeys(itemIndex, item) }, itemContent = { index, item -> Box( modifier = @@ -662,10 +576,13 @@ private fun PopupContent( } } ) { - // Items can be "actually" selected, or "preview" selected (e.g., hovered), + // Items can be "actually" selected, or "preview" selected (e.g., + // hovered), // but if we have a "preview" selection, we hide the "actual" selection + val key = itemKeys(index, item) + val isItemSelected = listState.selectedKeys.contains(key) val showAsSelected = - (isSelected && previewSelectedItemIndex < 0) || previewSelectedItemIndex == index + (isItemSelected && previewSelectedItemIndex < 0) || previewSelectedItemIndex == index itemContent(item, showAsSelected, isActive) } diff --git a/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/Menu.kt b/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/Menu.kt index d9ba2d5d73bf..0ae70185c969 100644 --- a/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/Menu.kt +++ b/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/Menu.kt @@ -82,7 +82,6 @@ import org.jetbrains.jewel.ui.component.styling.MenuItemColors import org.jetbrains.jewel.ui.component.styling.MenuItemMetrics import org.jetbrains.jewel.ui.component.styling.MenuStyle import org.jetbrains.jewel.ui.icon.IconKey -import org.jetbrains.jewel.ui.icon.PathIconKey import org.jetbrains.jewel.ui.painter.hints.Stateful import org.jetbrains.jewel.ui.theme.menuStyle import org.jetbrains.skiko.hostOs @@ -525,30 +524,6 @@ internal fun MenuItem( } } -@Deprecated( - "Use the IconKey variant", - ReplaceWith( - "MenuSubmenuItem(modifier, enabled, canShowIcon, iconResource?.let { PathIconKey(it, iconClass) }, " + - "interactionSource, style, submenu, content)", - "org/jetbrains/jewel/ui/component/Menu.kt:472", - ), -) -@Composable -public fun MenuSubmenuItem( - modifier: Modifier = Modifier, - enabled: Boolean = true, - canShowIcon: Boolean, - iconResource: String?, - iconClass: Class<*>, - interactionSource: MutableInteractionSource = remember { MutableInteractionSource() }, - style: MenuStyle = JewelTheme.menuStyle, - submenu: MenuScope.() -> Unit, - content: @Composable () -> Unit, -) { - val iconKey = remember(iconResource, iconClass) { iconResource?.let { PathIconKey(it, iconClass) } } - MenuSubmenuItem(modifier, enabled, canShowIcon, iconKey, interactionSource, style, submenu, content) -} - @Composable public fun MenuSubmenuItem( modifier: Modifier = Modifier, diff --git a/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/PlatformIcon.kt b/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/PlatformIcon.kt deleted file mode 100644 index 8a097d3b2f13..000000000000 --- a/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/PlatformIcon.kt +++ /dev/null @@ -1,41 +0,0 @@ -package org.jetbrains.jewel.ui.component - -import androidx.compose.runtime.Composable -import androidx.compose.ui.Modifier -import androidx.compose.ui.graphics.Color -import org.jetbrains.annotations.ApiStatus.ScheduledForRemoval -import org.jetbrains.jewel.ui.icon.IntelliJIconKey -import org.jetbrains.jewel.ui.painter.PainterHint - -@Deprecated( - "Use Icon directly, this doesn't have any advantage over it anymore.", - ReplaceWith("Icon(key, contentDescription, modifier, tint, hint)", "com.jewel.ui.component.Icon"), -) -@ScheduledForRemoval(inVersion = "Before 1.0") -@Composable -public fun PlatformIcon( - key: IntelliJIconKey, - contentDescription: String?, - modifier: Modifier = Modifier, - tint: Color = Color.Unspecified, - hint: PainterHint, -) { - @Suppress("DEPRECATION") // Everything is deprecated here anyway - PlatformIcon(key, contentDescription, modifier, tint, *arrayOf(hint)) -} - -@Deprecated( - "Use Icon directly, this doesn't have any advantage over it anymore.", - ReplaceWith("Icon(key, contentDescription, modifier, tint, hints)", "com.jewel.ui.component.Icon"), -) -@ScheduledForRemoval(inVersion = "Before 1.0") -@Composable -public fun PlatformIcon( - key: IntelliJIconKey, - contentDescription: String?, - modifier: Modifier = Modifier, - tint: Color = Color.Unspecified, - vararg hints: PainterHint, -) { - Icon(key, contentDescription, modifier, key::class.java, tint, *hints) -} diff --git a/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/ScrollableContainer.kt b/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/ScrollableContainer.kt index 137a59aa2445..deb3726ca0a9 100644 --- a/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/ScrollableContainer.kt +++ b/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/ScrollableContainer.kt @@ -7,6 +7,7 @@ import androidx.compose.foundation.gestures.awaitEachGesture import androidx.compose.foundation.horizontalScroll import androidx.compose.foundation.interaction.MutableInteractionSource import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.BoxScope import androidx.compose.foundation.layout.padding import androidx.compose.foundation.lazy.LazyListState import androidx.compose.foundation.lazy.grid.LazyGridState @@ -34,8 +35,6 @@ import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Job import kotlinx.coroutines.delay import kotlinx.coroutines.launch -import org.jetbrains.annotations.ApiStatus.ScheduledForRemoval -import org.jetbrains.jewel.foundation.ExperimentalJewelApi import org.jetbrains.jewel.foundation.theme.JewelTheme import org.jetbrains.jewel.ui.component.styling.ScrollbarStyle import org.jetbrains.jewel.ui.component.styling.ScrollbarVisibility.AlwaysVisible @@ -82,7 +81,7 @@ public fun VerticallyScrollableContainer( reverseLayout: Boolean = false, scrollbarEnabled: Boolean = true, scrollbarInteractionSource: MutableInteractionSource = remember { MutableInteractionSource() }, - content: @Composable () -> Unit, + content: @Composable BoxScope.() -> Unit, ) { var keepVisible by remember { mutableStateOf(false) } val scope = rememberCoroutineScope() @@ -112,7 +111,7 @@ internal fun TextAreaScrollableContainer( scrollState: ScrollState, style: ScrollbarStyle, contentModifier: Modifier, - content: @Composable () -> Unit, + content: @Composable BoxScope.() -> Unit, ) { var keepVisible by remember { mutableStateOf(false) } val scope = rememberCoroutineScope() @@ -168,7 +167,7 @@ public fun VerticallyScrollableContainer( reverseLayout: Boolean = false, scrollbarEnabled: Boolean = true, scrollbarInteractionSource: MutableInteractionSource = remember { MutableInteractionSource() }, - content: @Composable () -> Unit, + content: @Composable BoxScope.() -> Unit, ) { var keepVisible by remember { mutableStateOf(false) } val scope = rememberCoroutineScope() @@ -227,7 +226,7 @@ public fun VerticallyScrollableContainer( reverseLayout: Boolean = false, scrollbarEnabled: Boolean = true, scrollbarInteractionSource: MutableInteractionSource = remember { MutableInteractionSource() }, - content: @Composable () -> Unit, + content: @Composable BoxScope.() -> Unit, ) { var keepVisible by remember { mutableStateOf(false) } val scope = rememberCoroutineScope() @@ -286,7 +285,7 @@ public fun HorizontallyScrollableContainer( reverseLayout: Boolean = false, scrollbarEnabled: Boolean = true, scrollbarInteractionSource: MutableInteractionSource = remember { MutableInteractionSource() }, - content: @Composable () -> Unit, + content: @Composable BoxScope.() -> Unit, ) { var keepVisible by remember { mutableStateOf(false) } val scope = rememberCoroutineScope() @@ -345,7 +344,7 @@ public fun HorizontallyScrollableContainer( reverseLayout: Boolean = false, scrollbarEnabled: Boolean = true, scrollbarInteractionSource: MutableInteractionSource = remember { MutableInteractionSource() }, - content: @Composable () -> Unit, + content: @Composable BoxScope.() -> Unit, ) { var keepVisible by remember { mutableStateOf(false) } val scope = rememberCoroutineScope() @@ -404,7 +403,7 @@ public fun HorizontallyScrollableContainer( reverseLayout: Boolean = false, scrollbarEnabled: Boolean = true, scrollbarInteractionSource: MutableInteractionSource = remember { MutableInteractionSource() }, - content: @Composable () -> Unit, + content: @Composable BoxScope.() -> Unit, ) { var keepVisible by remember { mutableStateOf(false) } val scope = rememberCoroutineScope() @@ -429,113 +428,6 @@ public fun HorizontallyScrollableContainer( } } -@ScheduledForRemoval(inVersion = "Before Jewel 1.0") -@Deprecated("Not properly supported due to Compose limitations", level = DeprecationLevel.HIDDEN) -@ExperimentalJewelApi -@Composable -public fun ScrollableContainer( - modifier: Modifier = Modifier, - verticalScrollState: ScrollState = rememberScrollState(), - horizontalScrollState: ScrollState = rememberScrollState(), - verticalScrollbarModifier: Modifier = Modifier, - horizontalScrollbarModifier: Modifier = Modifier, - style: ScrollbarStyle = JewelTheme.scrollbarStyle, - content: @Composable () -> Unit, -) { - var keepVisible by remember { mutableStateOf(false) } - val scope = rememberCoroutineScope() - - ScrollableContainerImpl( - verticalScrollbar = { - VerticalScrollbar(verticalScrollState, verticalScrollbarModifier, style = style, keepVisible = keepVisible) - }, - horizontalScrollbar = { - HorizontalScrollbar( - horizontalScrollState, - horizontalScrollbarModifier, - style = style, - keepVisible = keepVisible, - ) - }, - modifier = modifier.withKeepVisible(style.scrollbarVisibility.lingerDuration, scope) { keepVisible = it }, - scrollbarStyle = style, - ) { - Box(Modifier.layoutId(ID_CONTENT).verticalScroll(verticalScrollState).horizontalScroll(horizontalScrollState)) { - content() - } - } -} - -@ScheduledForRemoval(inVersion = "Before Jewel 1.0") -@Deprecated("Not properly supported due to Compose limitations", level = DeprecationLevel.HIDDEN) -@ExperimentalJewelApi -@Composable -public fun ScrollableContainer( - verticalScrollState: LazyListState, - horizontalScrollState: LazyListState, - modifier: Modifier = Modifier, - verticalScrollbarModifier: Modifier = Modifier, - horizontalScrollbarModifier: Modifier = Modifier, - style: ScrollbarStyle = JewelTheme.scrollbarStyle, - content: @Composable () -> Unit, -) { - var keepVisible by remember { mutableStateOf(false) } - val scope = rememberCoroutineScope() - - ScrollableContainerImpl( - verticalScrollbar = { - VerticalScrollbar(verticalScrollState, verticalScrollbarModifier, style = style, keepVisible = keepVisible) - }, - horizontalScrollbar = { - HorizontalScrollbar( - horizontalScrollState, - horizontalScrollbarModifier, - style = style, - keepVisible = keepVisible, - ) - }, - modifier = modifier.withKeepVisible(style.scrollbarVisibility.lingerDuration, scope) { keepVisible = it }, - scrollbarStyle = style, - ) { - Box(Modifier.layoutId(ID_CONTENT)) { content() } - } -} - -@ScheduledForRemoval(inVersion = "Before Jewel 1.0") -@Deprecated("Not properly supported due to Compose limitations", level = DeprecationLevel.HIDDEN) -@ExperimentalJewelApi -@Composable -public fun ScrollableContainer( - verticalScrollState: LazyGridState, - horizontalScrollState: LazyGridState, - modifier: Modifier = Modifier, - verticalScrollbarModifier: Modifier = Modifier, - horizontalScrollbarModifier: Modifier = Modifier, - style: ScrollbarStyle = JewelTheme.scrollbarStyle, - content: @Composable () -> Unit, -) { - var keepVisible by remember { mutableStateOf(false) } - val scope = rememberCoroutineScope() - - ScrollableContainerImpl( - verticalScrollbar = { - VerticalScrollbar(verticalScrollState, verticalScrollbarModifier, style = style, keepVisible = keepVisible) - }, - horizontalScrollbar = { - HorizontalScrollbar( - horizontalScrollState, - horizontalScrollbarModifier, - style = style, - keepVisible = keepVisible, - ) - }, - modifier = modifier.withKeepVisible(style.scrollbarVisibility.lingerDuration, scope) { keepVisible = it }, - scrollbarStyle = style, - ) { - Box(Modifier.layoutId(ID_CONTENT)) { content() } - } -} - private fun Modifier.withKeepVisible( lingerDuration: Duration, scope: CoroutineScope, @@ -651,13 +543,19 @@ private fun computeContentConstraints( horizontalScrollbarPlaceable: Placeable?, ): Constraints { val visibility = scrollbarStyle.scrollbarVisibility + val scrollbarWidth = verticalScrollbarPlaceable?.width ?: 0 + val scrollbarHeight = horizontalScrollbarPlaceable?.height ?: 0 - fun width() = + val maxWidth = incomingConstraints.maxWidth + val maxHeight = incomingConstraints.maxHeight + val minWidth = incomingConstraints.minWidth + val minHeight = incomingConstraints.minHeight + + fun maxWidth() = if (incomingConstraints.hasBoundedWidth) { - val maxWidth = incomingConstraints.maxWidth when { !isMacOs -> maxWidth // Scrollbars on Win/Linux are always overlaid - visibility is AlwaysVisible -> maxWidth - (verticalScrollbarPlaceable?.width ?: 0) + visibility is AlwaysVisible -> maxWidth - scrollbarWidth visibility is WhenScrolling -> maxWidth else -> error("Unsupported visibility style: $visibility") } @@ -665,30 +563,49 @@ private fun computeContentConstraints( error("Incoming constraints have infinite width, should not use fixed width") } - fun height() = - if (incomingConstraints.hasBoundedHeight) { - val maxHeight = incomingConstraints.maxHeight + fun minWidth() = + if (minWidth > 0) { when { - !isMacOs -> maxHeight // Scrollbars on Win/Linux are always overlaid - visibility is AlwaysVisible -> maxHeight - (horizontalScrollbarPlaceable?.height ?: 0) - visibility is WhenScrolling -> maxHeight + !isMacOs -> minWidth + visibility is AlwaysVisible -> minWidth - scrollbarWidth + visibility is WhenScrolling -> minWidth else -> error("Unsupported visibility style: $visibility") } + } else 0 + + fun maxHeight() = + if (incomingConstraints.hasBoundedHeight) { + when { + !isMacOs -> maxHeight // Scrollbars on Win/Linux are always overlaid + visibility is AlwaysVisible -> maxHeight - scrollbarHeight + visibility is WhenScrolling -> maxHeight + else -> error("Unsupported visibility style: $visibility") + }.coerceAtLeast(incomingConstraints.minHeight) } else { error("Incoming constraints have infinite height, should not use fixed height") } + fun minHeight() = + if (minHeight > 0) { + when { + !isMacOs -> minHeight // Scrollbars on Win/Linux are always overlaid + visibility is AlwaysVisible -> minHeight - scrollbarHeight + visibility is WhenScrolling -> minHeight + else -> error("Unsupported visibility style: $visibility") + }.coerceAtLeast(incomingConstraints.minHeight) + } else 0 + return when { incomingConstraints.hasBoundedWidth && incomingConstraints.hasBoundedHeight -> { - Constraints.fixed(width(), height()) + Constraints(minWidth = minWidth(), maxWidth = maxWidth(), minHeight = minHeight(), maxHeight = maxHeight()) } !incomingConstraints.hasBoundedWidth && incomingConstraints.hasBoundedHeight -> { - Constraints.fixedHeight(height()) + incomingConstraints.copy(minHeight = minHeight(), maxHeight = maxHeight()) } incomingConstraints.hasBoundedWidth && !incomingConstraints.hasBoundedHeight -> { - Constraints.fixedWidth(width()) + incomingConstraints.copy(minWidth = minWidth(), maxWidth = maxWidth()) } - else -> Constraints() + else -> incomingConstraints } } diff --git a/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/SimpleListItem.kt b/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/SimpleListItem.kt index 76473c4987a6..96beea2903cb 100644 --- a/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/SimpleListItem.kt +++ b/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/SimpleListItem.kt @@ -12,23 +12,234 @@ import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.ColorFilter import androidx.compose.ui.semantics.selected import androidx.compose.ui.semantics.semantics import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp +import org.jetbrains.annotations.ApiStatus.ScheduledForRemoval import org.jetbrains.jewel.foundation.GenerateDataFunctions import org.jetbrains.jewel.foundation.theme.JewelTheme import org.jetbrains.jewel.ui.component.styling.SimpleListItemStyle import org.jetbrains.jewel.ui.icon.IconKey +import org.jetbrains.jewel.ui.painter.PainterHint import org.jetbrains.jewel.ui.theme.simpleListItemStyle +/** + * A simple list item layout comprising of a text and an optional icon to its start side. + * + * The text will only take up one line and is ellipsized if too long to fit. + * + * @param text The text displayed in the list item + * @param state The state of the list item, containing selection and activity status. + * @param modifier Optional [Modifier] to apply to to the list item. + * @param textModifier Optional [Modifier] to apply to to the list item text. + * @param iconModifier Optional [Modifier] to apply to specifically to the icon. + * @param icon Optional [IconKey] representing the icon displayed in the list item. + * @param iconContentDescription Optional content description [String] for accessibility purposes for the icon. + * @param style Optional [SimpleListItemStyle] for defining the appearance of the list item; default is based on the + * Jewel theme. + * @param height The height of the list item; default is based on the Jewel theme's global metrics. + * @param colorFilter Optional [ColorFilter] to apply to the icon, if any. + * @param painterHints Optional [PainterHint]s to apply to the icon, if any. + */ +@Composable +public fun SimpleListItem( + text: String, + state: ListItemState, + modifier: Modifier = Modifier, + textModifier: Modifier = Modifier, + iconModifier: Modifier = Modifier, + icon: IconKey? = null, + iconContentDescription: String? = null, + style: SimpleListItemStyle = JewelTheme.simpleListItemStyle, + height: Dp = JewelTheme.globalMetrics.rowHeight, + colorFilter: ColorFilter? = null, + vararg painterHints: PainterHint, +) { + SimpleListItem( + state = state, + modifier = modifier, + iconModifier = iconModifier, + icon = icon, + iconContentDescription = iconContentDescription, + style = style, + height = height, + painterHints = painterHints.toList(), + colorFilter = colorFilter, + ) { + Text( + text = text, + maxLines = 1, + overflow = TextOverflow.Ellipsis, + style = JewelTheme.defaultTextStyle, + color = style.colors.contentFor(state).value, + modifier = textModifier, + ) + } +} + +/** + * A simple list item layout comprising of a text and an optional icon to its start side. + * + * The text will only take up one line and is ellipsized if too long to fit. It also exposes [selected] and [active] + * properties, instead of the state. + * + * @param text The text displayed in the list item. + * @param selected Indicates whether the list item is selected. + * @param active Indicates whether the list item is active or disabled; default is active. + * @param modifier Optional [Modifier] to apply to to the entire list item. + * @param textModifier Optional [Modifier] to apply to specifically to the text. + * @param iconModifier Optional [Modifier] to apply to specifically to the icon. + * @param icon Optional [IconKey] representing the icon displayed on the start side of the list item. + * @param iconContentDescription Optional content description [String] for the icon for accessibility purposes. + * @param style The [SimpleListItemStyle] defining the appearance of the list item; default is based on the Jewel theme. + * @param height The height of the list item; default is based on the Jewel theme's global metrics. + * @param colorFilter Optional [ColorFilter] to apply to the icon, if any. + * @param painterHints Optional [PainterHint]s to apply to the icon, if any. + */ +@Composable +public fun SimpleListItem( + text: String, + selected: Boolean, + active: Boolean = true, + modifier: Modifier = Modifier, + textModifier: Modifier = Modifier, + iconModifier: Modifier = Modifier, + icon: IconKey? = null, + iconContentDescription: String? = null, + style: SimpleListItemStyle = JewelTheme.simpleListItemStyle, + height: Dp = JewelTheme.globalMetrics.rowHeight, + colorFilter: ColorFilter? = null, + vararg painterHints: PainterHint, +) { + val state = remember(selected, active) { ListItemState(selected, active) } + SimpleListItem( + text = text, + state = state, + modifier = modifier, + textModifier = textModifier, + iconModifier = iconModifier, + icon = icon, + iconContentDescription = iconContentDescription, + style = style, + height = height, + colorFilter = colorFilter, + painterHints = painterHints, + ) +} + +/** + * A simple list item layout comprising of a content slot and an optional icon to its start side. It also exposes + * [selected] and [active] properties, instead of the state. + * + * @param selected Indicates whether the list item is selected. + * @param active Determines if the list item is in an active state (e.g., enabled or interactive). + * @param colorFilter Optional [ColorFilter] applied to the item, typically used with the icon. + * @param painterHints Optional list of [PainterHint] to provide hints for painting customizations; default is empty. + * @param modifier Optional [Modifier] to apply to to the list item. + * @param iconModifier Optional [Modifier] to apply to specifically to the icon. + * @param icon Optional [IconKey] representing the icon displayed in the list item. + * @param iconContentDescription Optional content description [String] for accessibility purposes for the icon. + * @param style Optional [SimpleListItemStyle] for defining the appearance of the list item; default is based on the + * Jewel theme. + * @param colorFilter Optional [ColorFilter] to apply to the icon, if any. + * @param painterHints Optional [PainterHint]s to apply to the icon, if any. + */ +@Composable +public fun SimpleListItem( + selected: Boolean, + active: Boolean = true, + colorFilter: ColorFilter? = null, + painterHints: List = emptyList(), + modifier: Modifier = Modifier, + iconModifier: Modifier = Modifier, + icon: IconKey? = null, + iconContentDescription: String? = null, + style: SimpleListItemStyle = JewelTheme.simpleListItemStyle, + height: Dp = JewelTheme.globalMetrics.rowHeight, + content: @Composable () -> Unit, +) { + val state = remember(selected, active) { ListItemState(selected, active) } + SimpleListItem( + state = state, + modifier = modifier, + iconModifier = iconModifier, + icon = icon, + iconContentDescription = iconContentDescription, + style = style, + height = height, + colorFilter = colorFilter, + painterHints = painterHints, + content = content, + ) +} + +/** + * A simple list item layout comprising of a content slot and an optional icon to its start side. + * + * @param state The state of the list item, containing selection and activity status. + * @param colorFilter Optional [ColorFilter] applied to the item, typically used with the icon. + * @param painterHints Optional list of [PainterHint] to provide hints for painting customizations; default is empty. + * @param modifier Optional [Modifier] to apply to the root container of the list item. + * @param iconModifier Optional [Modifier] to apply to the icon displayed in the list item. + * @param icon Optional [IconKey] that defines which icon should be displayed. + * @param iconContentDescription Optional content description [String] for the icon, used for accessibility. + * @param style The style of the list item, including colors and metrics, with a default value from the theme; default + * is based on the Jewel theme. + * @param colorFilter Optional [ColorFilter] to apply to the icon, if any. + * @param painterHints Optional [PainterHint]s to apply to the icon, if any. + */ +@Composable +public fun SimpleListItem( + state: ListItemState, + colorFilter: ColorFilter? = null, + painterHints: List = emptyList(), + modifier: Modifier = Modifier, + iconModifier: Modifier = Modifier, + icon: IconKey? = null, + iconContentDescription: String? = null, + style: SimpleListItemStyle = JewelTheme.simpleListItemStyle, + height: Dp = JewelTheme.globalMetrics.rowHeight, + content: @Composable () -> Unit, +) { + Row( + modifier = + modifier + .semantics { selected = state.isSelected } + .fillMaxWidth() + .height(height) + .padding(style.metrics.outerPadding) + .background( + color = style.colors.backgroundFor(state).value, + shape = RoundedCornerShape(style.metrics.selectionBackgroundCornerSize), + ) + .padding(style.metrics.innerPadding), + verticalAlignment = Alignment.CenterVertically, + horizontalArrangement = Arrangement.spacedBy(style.metrics.iconTextGap), + ) { + if (icon != null) { + Icon( + modifier = iconModifier.size(16.dp), + key = icon, + contentDescription = iconContentDescription, + colorFilter = colorFilter, + hints = painterHints.toTypedArray(), + ) + } + content() + } +} + /** * A simple list item layout comprising of a content slot and an optional icon to its start side. * * The text will only take up one line and is ellipsized if too long to fit. The item will draw a background based on * the [isSelected] and [isActive] values. */ +@Deprecated("Use the overload with selected, active, colorFilter and hints") +@ScheduledForRemoval(inVersion = "In 2025.3") @Composable public fun SimpleListItem( isSelected: Boolean, @@ -51,6 +262,8 @@ public fun SimpleListItem( * The text will only take up one line and is ellipsized if too long to fit. The item will draw a background based on * the [isSelected] and [isActive] values. */ +@Deprecated("Use the overload with selected, active, colorFilter and hints") +@ScheduledForRemoval(inVersion = "In 2025.3") @Composable public fun SimpleListItem( text: String, @@ -74,6 +287,8 @@ public fun SimpleListItem( * The text will only take up one line and is ellipsized if too long to fit. The item will draw a background based on * the [state]. */ +@Deprecated("Use the overload with selected, active, colorFilter and hints") +@ScheduledForRemoval(inVersion = "In 2025.3") @Composable public fun SimpleListItem( text: String, @@ -104,6 +319,8 @@ public fun SimpleListItem( * The text will only take up one line and is ellipsized if too long to fit. The item will draw a background based on * the [state]. */ +@Deprecated("Use the overload with selected, active, colorFilter and hints") +@ScheduledForRemoval(inVersion = "In 2025.3") @Composable public fun SimpleListItem( state: ListItemState, diff --git a/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/TabStrip.kt b/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/TabStrip.kt index df034453e1e0..bf71d8f8cd9b 100644 --- a/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/TabStrip.kt +++ b/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/TabStrip.kt @@ -78,7 +78,7 @@ public fun TabStrip(tabs: List, style: TabStyle, modifier: Modifier = M ) .selectableGroup() ) { - tabs.forEach { TabImpl(isActive = tabStripState.isActive, tabData = it) } + tabs.forEach { tabData -> TabImpl(isActive = tabStripState.isActive, tabData = tabData, tabStyle = style) } } AnimatedVisibility( diff --git a/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/Tabs.kt b/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/Tabs.kt index d22b9d3e37e8..443c165eb716 100644 --- a/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/Tabs.kt +++ b/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/Tabs.kt @@ -43,6 +43,7 @@ import org.jetbrains.jewel.foundation.state.CommonStateBitMask.Selected import org.jetbrains.jewel.foundation.state.SelectableComponentState import org.jetbrains.jewel.foundation.theme.JewelTheme import org.jetbrains.jewel.foundation.theme.LocalContentColor +import org.jetbrains.jewel.ui.component.styling.TabStyle import org.jetbrains.jewel.ui.icon.IconKey import org.jetbrains.jewel.ui.painter.PainterHint import org.jetbrains.jewel.ui.painter.hints.Stateful @@ -111,15 +112,10 @@ public fun TabContentScope.SimpleTabContent( internal fun TabImpl( isActive: Boolean, tabData: TabData, + tabStyle: TabStyle, modifier: Modifier = Modifier, interactionSource: MutableInteractionSource = remember { MutableInteractionSource() }, ) { - val tabStyle = - when (tabData) { - is TabData.Default -> JewelTheme.defaultTabStyle - is TabData.Editor -> JewelTheme.editorTabStyle - } - var tabState by remember { mutableStateOf(TabState.of(selected = tabData.selected, active = isActive)) } remember(tabData.selected, isActive) { tabState = tabState.copy(selected = tabData.selected, active = isActive) } diff --git a/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/TextArea.kt b/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/TextArea.kt index 34e89842d256..3e78c4052eb4 100644 --- a/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/TextArea.kt +++ b/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/TextArea.kt @@ -19,10 +19,7 @@ import androidx.compose.foundation.text.input.TextFieldLineLimits import androidx.compose.foundation.text.input.TextFieldState import androidx.compose.runtime.Composable import androidx.compose.runtime.CompositionLocalProvider -import androidx.compose.runtime.getValue -import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember -import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color @@ -40,7 +37,7 @@ import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.DpSize import androidx.compose.ui.unit.LayoutDirection import androidx.compose.ui.unit.dp -import org.jetbrains.annotations.ApiStatus.ScheduledForRemoval +import org.jetbrains.jewel.foundation.ExperimentalJewelApi import org.jetbrains.jewel.foundation.theme.JewelTheme import org.jetbrains.jewel.foundation.theme.LocalContentColor import org.jetbrains.jewel.foundation.theme.LocalTextStyle @@ -224,65 +221,42 @@ private fun calculatePaddings( style.metrics.contentPadding to 0.dp } -@ScheduledForRemoval(inVersion = "Before 1.0") -@Deprecated("Please use TextArea(state) instead. If you want to observe text changes, use snapshotFlow { state.text }") -@Composable -public fun TextArea( - value: String, - onValueChange: (String) -> Unit, - modifier: Modifier = Modifier, - enabled: Boolean = true, - readOnly: Boolean = false, - outline: Outline = Outline.None, - placeholder: @Composable (() -> Unit)? = null, - undecorated: Boolean = false, - visualTransformation: VisualTransformation = VisualTransformation.None, - keyboardOptions: KeyboardOptions = KeyboardOptions.Default, - keyboardActions: KeyboardActions = KeyboardActions(), - maxLines: Int = Int.MAX_VALUE, - onTextLayout: (TextLayoutResult) -> Unit = {}, - style: TextAreaStyle = JewelTheme.textAreaStyle, - textStyle: TextStyle = JewelTheme.defaultTextStyle, - interactionSource: MutableInteractionSource = remember { MutableInteractionSource() }, - decorationBoxModifier: Modifier = Modifier, -) { - var textFieldValueState by remember { mutableStateOf(TextFieldValue(text = value)) } - val textFieldValue = textFieldValueState.copy(text = value) - var lastTextValue by remember(value) { mutableStateOf(value) } - - @Suppress("DEPRECATION") - TextArea( - value = textFieldValue, - onValueChange = { newTextFieldValueState -> - textFieldValueState = newTextFieldValueState - - val stringChangedSinceLastInvocation = lastTextValue != newTextFieldValueState.text - lastTextValue = newTextFieldValueState.text - - if (stringChangedSinceLastInvocation) { - onValueChange(newTextFieldValueState.text) - } - }, - modifier = modifier, - enabled = enabled, - readOnly = readOnly, - outline = outline, - placeholder = placeholder, - undecorated = undecorated, - visualTransformation = visualTransformation, - keyboardOptions = keyboardOptions, - keyboardActions = keyboardActions, - maxLines = maxLines, - onTextLayout = onTextLayout, - style = style, - textStyle = textStyle, - interactionSource = interactionSource, - decorationBoxModifier = decorationBoxModifier, - ) -} - -@ScheduledForRemoval(inVersion = "Before 1.0") -@Deprecated("Please use TextArea(state) instead. If you want to observe text changes, use snapshotFlow { state.text }") +/** + * A multi-line text input component that follows the standard visual styling. + * > **Note:** you should prefer the state-based variant whenever possible. When the `TextFieldState`-based variant will + * > reach feature parity with this variant, we'll deprecate this variant and, after some time, remove it. + * + * Provides a scrollable text editing area that can display and edit multiple lines of text. The component includes + * standard text editing capabilities and platform-specific key bindings. It **cannot** display scrollbars. + * + * **Guidelines:** [on IJP SDK webhelp](https://plugins.jetbrains.com/docs/intellij/text-area.html) + * + * **Usage example:** + * [`TextAreas.kt`](https://github.com/JetBrains/intellij-community/blob/master/platform/jewel/samples/showcase/src/main/kotlin/org/jetbrains/jewel/samples/showcase/components/TextAreas.kt) + * + * **Swing equivalent:** + * [`JBTextArea`](https://github.com/JetBrains/intellij-community/blob/master/platform/platform-api/src/com/intellij/ui/components/JBTextArea.java) + * + * @param value The state object controlling the text content and selection + * @param onValueChange A lambda invoked when the internal state changes + * @param modifier Modifier to be applied to the text area + * @param enabled Controls whether the text area can be interacted with + * @param readOnly Controls whether the text can be modified + * @param placeholder Content to display when the text area is empty + * @param undecorated Whether to show the text area without decorations + * @param outline The outline style to be applied to the text area + * @param visualTransformation Transforms text input before it appears in the text area + * @param keyboardOptions Options controlling keyboard input behavior + * @param keyboardActions Handler for keyboard actions + * @param maxLines Sets the number of max lines allowed + * @param onTextLayout Callback for text layout changes + * @param style The visual styling configuration for the text area + * @param textStyle The typography style to be applied to the text + * @param interactionSource Source of interactions for this text area + * @param decorationBoxModifier Modifier to be applied to the decoration box + * @see com.intellij.ui.components.JBTextArea + */ +@ExperimentalJewelApi @Composable public fun TextArea( value: TextFieldValue, diff --git a/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/TextField.kt b/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/TextField.kt index cb7d6741e409..46d2378a0961 100644 --- a/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/TextField.kt +++ b/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/TextField.kt @@ -15,10 +15,7 @@ import androidx.compose.foundation.text.input.TextFieldLineLimits import androidx.compose.foundation.text.input.TextFieldState import androidx.compose.runtime.Composable import androidx.compose.runtime.CompositionLocalProvider -import androidx.compose.runtime.getValue -import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember -import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color @@ -33,7 +30,7 @@ import androidx.compose.ui.unit.Constraints import androidx.compose.ui.unit.Density import androidx.compose.ui.unit.offset import kotlin.math.max -import org.jetbrains.annotations.ApiStatus.ScheduledForRemoval +import org.jetbrains.jewel.foundation.ExperimentalJewelApi import org.jetbrains.jewel.foundation.theme.JewelTheme import org.jetbrains.jewel.foundation.theme.LocalContentColor import org.jetbrains.jewel.foundation.theme.LocalTextStyle @@ -76,7 +73,6 @@ import org.jetbrains.jewel.ui.theme.textFieldStyle * @param undecorated Whether to show the text field without decorations * @see com.intellij.ui.components.JBTextField */ -@Suppress("DuplicatedCode") // The dupe is scheduled for removal @Composable public fun TextField( state: TextFieldState, @@ -136,64 +132,44 @@ public fun TextField( ) } -@ScheduledForRemoval(inVersion = "Before 1.0") -@Deprecated("Please use TextField(state) instead. If you want to observe text changes, use snapshotFlow { state.text }") -@Composable -public fun TextField( - value: String, - onValueChange: (String) -> Unit, - modifier: Modifier = Modifier, - enabled: Boolean = true, - readOnly: Boolean = false, - outline: Outline = Outline.None, - placeholder: @Composable (() -> Unit)? = null, - leadingIcon: @Composable (() -> Unit)? = null, - trailingIcon: @Composable (() -> Unit)? = null, - undecorated: Boolean = false, - visualTransformation: VisualTransformation = VisualTransformation.None, - keyboardOptions: KeyboardOptions = KeyboardOptions.Default, - keyboardActions: KeyboardActions = KeyboardActions(), - onTextLayout: (TextLayoutResult) -> Unit = {}, - style: TextFieldStyle = JewelTheme.textFieldStyle, - interactionSource: MutableInteractionSource = remember { MutableInteractionSource() }, -) { - var textFieldValueState by remember { mutableStateOf(TextFieldValue(text = value)) } - val textFieldValue = textFieldValueState.copy(text = value) - var lastTextValue by remember(value) { mutableStateOf(value) } - - @Suppress("DEPRECATION") - TextField( - value = textFieldValue, - onValueChange = { newTextFieldValueState -> - textFieldValueState = newTextFieldValueState - - val stringChangedSinceLastInvocation = lastTextValue != newTextFieldValueState.text - lastTextValue = newTextFieldValueState.text - - if (stringChangedSinceLastInvocation) { - onValueChange(newTextFieldValueState.text) - } - }, - modifier = modifier, - enabled = enabled, - readOnly = readOnly, - outline = outline, - placeholder = placeholder, - trailingIcon = trailingIcon, - leadingIcon = leadingIcon, - undecorated = undecorated, - visualTransformation = visualTransformation, - keyboardOptions = keyboardOptions, - keyboardActions = keyboardActions, - onTextLayout = onTextLayout, - style = style, - interactionSource = interactionSource, - ) -} - -@Suppress("DuplicatedCode") // This is scheduled for removal -@ScheduledForRemoval(inVersion = "Before 1.0") -@Deprecated("Please use TextField(state) instead. If you want to observe text changes, use snapshotFlow { state.text }") +/** + * A single-line text input component that follows the standard visual styling. + * > **Note:** you should prefer the state-based variant whenever possible. When the `TextFieldState`-based variant will + * > reach feature parity with this variant, we'll deprecate this variant and, after some time, remove it. + * + * Provides a text input field for single-line text entry with optional leading and trailing icons, placeholder text, + * and various text input features. The component supports standard text editing capabilities and platform-specific key + * bindings. + * + * **Guidelines:** [on IJP SDK webhelp](https://plugins.jetbrains.com/docs/intellij/input-field.html) + * + * **Usage example:** + * [`TextFields.kt`](https://github.com/JetBrains/intellij-community/blob/master/platform/jewel/samples/showcase/src/main/kotlin/org/jetbrains/jewel/samples/showcase/components/TextFields.kt) + * + * **Swing equivalent:** + * [`JBTextField`](https://github.com/JetBrains/intellij-community/blob/master/platform/platform-api/src/com/intellij/ui/components/JBTextField.java) + * and [`JTextField`](https://docs.oracle.com/javase/tutorial/uiswing/components/textfield.html) + * + * @param value The state object controlling the text content and selection + * @param onValueChange A lambda invoked when the internal state changes + * @param modifier Modifier to be applied to the text field + * @param enabled Controls whether the text field can be interacted with + * @param readOnly Controls whether the text can be modified + * @param outline The outline style to be applied to the text field + * @param placeholder Content to display when the text field is empty + * @param leadingIcon Optional icon to display before the text + * @param trailingIcon Optional icon to display after the text + * @param undecorated Whether to show the text field without decorations + * @param visualTransformation Transforms text input before it appears in the text field + * @param keyboardOptions Options controlling keyboard input behavior + * @param keyboardActions Handler for keyboard actions + * @param onTextLayout Callback for text layout changes + * @param style The visual styling configuration for the text field + * @param textStyle The typography style to be applied to the text + * @param interactionSource Source of interactions for this text field + * @see com.intellij.ui.components.JBTextField + */ +@ExperimentalJewelApi @Composable public fun TextField( value: TextFieldValue, diff --git a/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/Typography.kt b/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/Typography.kt index d3a89c5d0b78..a791512b94a6 100644 --- a/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/Typography.kt +++ b/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/Typography.kt @@ -66,8 +66,11 @@ public object Typography { * lineHeight = newFontSize * Typography.DefaultLineHeightMultiplier, * ) * ``` + * + * You should use [TextStyle.copyWithSize] to create copies of a [TextStyle] with a changed font size, as that + * function will automatically apply the correct line height, too. */ - public const val EditorLineHeightMultiplier: Float = 1.2f + public const val EditorLineHeightMultiplier: Float = 1.5f /** The text style to use for h0 titles. Derived from [JewelTheme.defaultTextStyle]. */ @Composable diff --git a/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/styling/TooltipStyling.kt b/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/styling/TooltipStyling.kt index d64a9596f61c..8f48a617e314 100644 --- a/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/styling/TooltipStyling.kt +++ b/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/component/styling/TooltipStyling.kt @@ -133,7 +133,7 @@ public class TooltipMetrics( public companion object { public fun defaults( contentPadding: PaddingValues = PaddingValues(vertical = 9.dp, horizontal = 12.dp), - showDelay: Duration = 1200.milliseconds, + showDelay: Duration = 500.milliseconds, // ide.tooltip.initialReshowDelay cornerSize: CornerSize = CornerSize(4.dp), borderWidth: Dp = 1.dp, shadowSize: Dp = 12.dp, diff --git a/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/painter/ResourcePainterProvider.kt b/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/painter/ResourcePainterProvider.kt index 5d3509fc8b8f..f009da56fad8 100644 --- a/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/painter/ResourcePainterProvider.kt +++ b/platform/jewel/ui/src/main/kotlin/org/jetbrains/jewel/ui/painter/ResourcePainterProvider.kt @@ -206,7 +206,7 @@ public class ResourcePainterProvider(private val basePath: String, vararg classL try { loadingAction(url) } catch (e: RuntimeException) { - val message = "Unable to load SVG resource from $url\n${e.stackTraceToString()}" + val message = "Unable to load resource from $url\n${e.stackTraceToString()}" logger.error(message) return errorPainter } diff --git a/platform/platform-resources/src/META-INF/common-ide-modules.xml b/platform/platform-resources/src/META-INF/common-ide-modules.xml index 7880f03df099..d1d34ef3447f 100644 --- a/platform/platform-resources/src/META-INF/common-ide-modules.xml +++ b/platform/platform-resources/src/META-INF/common-ide-modules.xml @@ -15,8 +15,9 @@ - - + + + diff --git a/plugins/markdown/compose/intellij.markdown.compose.preview.iml b/plugins/markdown/compose/intellij.markdown.compose.preview.iml index 59dde7a4b1e6..4c19a78b86a7 100644 --- a/plugins/markdown/compose/intellij.markdown.compose.preview.iml +++ b/plugins/markdown/compose/intellij.markdown.compose.preview.iml @@ -35,6 +35,6 @@ - + \ No newline at end of file diff --git a/plugins/markdown/compose/src/main/kotlin/com/intellij/markdown/compose/preview/JcefLikeMarkdownStyling.kt b/plugins/markdown/compose/src/main/kotlin/com/intellij/markdown/compose/preview/JcefLikeMarkdownStyling.kt index 266c767c8b4d..f78d6f2b55c9 100644 --- a/plugins/markdown/compose/src/main/kotlin/com/intellij/markdown/compose/preview/JcefLikeMarkdownStyling.kt +++ b/plugins/markdown/compose/src/main/kotlin/com/intellij/markdown/compose/preview/JcefLikeMarkdownStyling.kt @@ -97,8 +97,7 @@ private fun createInlinesStyling( color = JBUI.CurrentTheme.Link.Foreground.PRESSED.toComposeColor(), background = JBUI.CurrentTheme.ActionButton.pressedBackground().toComposeColor(), ), - linkVisited = link.copy(color = JBUI.CurrentTheme.Link.Foreground.VISITED.toComposeColor()), - renderInlineHtml = false, + linkVisited = link.copy(color = JBUI.CurrentTheme.Link.Foreground.VISITED.toComposeColor()) ) private fun createParagraphStyling(inlinesStyling: InlinesStyling): Paragraph = Paragraph(inlinesStyling)