diff --git a/experimental/examples/intellij-plugin-with-experimental-shared-base/.gitignore b/experimental/examples/intellij-plugin-with-experimental-shared-base/.gitignore
deleted file mode 100644
index 65ca50d416b..00000000000
--- a/experimental/examples/intellij-plugin-with-experimental-shared-base/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-build/
-.gradle/
-.idea/
\ No newline at end of file
diff --git a/experimental/examples/intellij-plugin-with-experimental-shared-base/.run/runIde.run.xml b/experimental/examples/intellij-plugin-with-experimental-shared-base/.run/runIde.run.xml
deleted file mode 100644
index 52aca017c27..00000000000
--- a/experimental/examples/intellij-plugin-with-experimental-shared-base/.run/runIde.run.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
- true
- true
- false
-
-
-
\ No newline at end of file
diff --git a/experimental/examples/intellij-plugin-with-experimental-shared-base/README.md b/experimental/examples/intellij-plugin-with-experimental-shared-base/README.md
deleted file mode 100644
index 8af73b48ec0..00000000000
--- a/experimental/examples/intellij-plugin-with-experimental-shared-base/README.md
+++ /dev/null
@@ -1,20 +0,0 @@
-## Example Compose Multiplatform based plugin for IntelliJ Idea.
-
-A plugin, demonstrating an Intellij plugin, showing a dialog window written with Compose.
-
-The only difference from [examples/intellij-plugin](../intellij-plugin) is that
-this version does not bundle Compose runtime, which makes the plugin smaller
-and allows sharing Compose runtime between multiple plugins
-(Compose class files and native libraries are not loaded by each plugin).
-
-### Usage
-
-1. Start test IDE:
- * Run the following command in terminal: `./gradlew runIde`
- * Or choose **runIde** configuration in IDE and run it.
- ![ide-run-configuration.png](screenshots/ide-run-configuration.png)
-2. Create a new project or open any existing;
-3. Select `Show Compose Demo...` from the `Tools` menu.
-
-![screen1](../intellij-plugin/screenshots/toolsshow.png)
-![screen2](../intellij-plugin/screenshots/screenshot.png)
diff --git a/experimental/examples/intellij-plugin-with-experimental-shared-base/build.gradle.kts b/experimental/examples/intellij-plugin-with-experimental-shared-base/build.gradle.kts
deleted file mode 100644
index 5cc4674c24e..00000000000
--- a/experimental/examples/intellij-plugin-with-experimental-shared-base/build.gradle.kts
+++ /dev/null
@@ -1,38 +0,0 @@
-import org.jetbrains.compose.compose
-
-plugins {
- id("org.jetbrains.intellij") version "1.6.0"
- java
- kotlin("jvm")
- id("org.jetbrains.compose")
- id("idea")
-}
-
-group = "org.jetbrains.compose.intellij.platform"
-version = "1.0-SNAPSHOT"
-
-repositories {
- mavenCentral()
- google()
- maven { url = uri("https://maven.pkg.jetbrains.space/public/p/compose/dev") }
-}
-
-dependencies {
-// compileOnly(compose.desktop.currentOs) runtime dependency is provided by org.jetbrains.compose.intellij.platform
- testImplementation(kotlin("test"))
-}
-
-// See https://github.com/JetBrains/gradle-intellij-plugin/
-intellij {
- version.set("2021.3")
- plugins.set(
- listOf(
- "org.jetbrains.compose.intellij.platform:0.1.0",
- "org.jetbrains.kotlin"
- )
- )
-}
-
-tasks.withType {
- kotlinOptions.jvmTarget = "11"
-}
diff --git a/experimental/examples/intellij-plugin-with-experimental-shared-base/gradle.properties b/experimental/examples/intellij-plugin-with-experimental-shared-base/gradle.properties
deleted file mode 100644
index 121b219d4e4..00000000000
--- a/experimental/examples/intellij-plugin-with-experimental-shared-base/gradle.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-kotlin.stdlib.default.dependency=false
-kotlin.code.style=official
-kotlin.version=1.8.0
-compose.version=1.3.0
-
diff --git a/experimental/examples/intellij-plugin-with-experimental-shared-base/gradle/wrapper/gradle-wrapper.jar b/experimental/examples/intellij-plugin-with-experimental-shared-base/gradle/wrapper/gradle-wrapper.jar
deleted file mode 100644
index 62d4c053550..00000000000
Binary files a/experimental/examples/intellij-plugin-with-experimental-shared-base/gradle/wrapper/gradle-wrapper.jar and /dev/null differ
diff --git a/experimental/examples/intellij-plugin-with-experimental-shared-base/gradle/wrapper/gradle-wrapper.properties b/experimental/examples/intellij-plugin-with-experimental-shared-base/gradle/wrapper/gradle-wrapper.properties
deleted file mode 100644
index ae04661ee73..00000000000
--- a/experimental/examples/intellij-plugin-with-experimental-shared-base/gradle/wrapper/gradle-wrapper.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-distributionBase=GRADLE_USER_HOME
-distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip
-zipStoreBase=GRADLE_USER_HOME
-zipStorePath=wrapper/dists
diff --git a/experimental/examples/intellij-plugin-with-experimental-shared-base/gradlew b/experimental/examples/intellij-plugin-with-experimental-shared-base/gradlew
deleted file mode 100755
index 4f906e0c811..00000000000
--- a/experimental/examples/intellij-plugin-with-experimental-shared-base/gradlew
+++ /dev/null
@@ -1,185 +0,0 @@
-#!/usr/bin/env sh
-
-#
-# Copyright 2015 the original author or authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# https://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-##############################################################################
-##
-## Gradle start up script for UN*X
-##
-##############################################################################
-
-# 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
-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"'
-
-# Use the maximum available, or set MAX_FD != -1 to use that value.
-MAX_FD="maximum"
-
-warn () {
- echo "$*"
-}
-
-die () {
- echo
- echo "$*"
- echo
- exit 1
-}
-
-# 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
- ;;
-esac
-
-CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
-
-
-# Determine the Java command to use to start the JVM.
-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"
- else
- JAVACMD="$JAVA_HOME/bin/java"
- fi
- if [ ! -x "$JAVACMD" ] ; then
- die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
-
-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.
-
-Please set the JAVA_HOME variable in your environment to match the
-location of your Java installation."
-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" ;;
- 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, 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"
-
-exec "$JAVACMD" "$@"
diff --git a/experimental/examples/intellij-plugin-with-experimental-shared-base/gradlew.bat b/experimental/examples/intellij-plugin-with-experimental-shared-base/gradlew.bat
deleted file mode 100644
index 107acd32c4e..00000000000
--- a/experimental/examples/intellij-plugin-with-experimental-shared-base/gradlew.bat
+++ /dev/null
@@ -1,89 +0,0 @@
-@rem
-@rem Copyright 2015 the original author or authors.
-@rem
-@rem Licensed under the Apache License, Version 2.0 (the "License");
-@rem you may not use this file except in compliance with the License.
-@rem You may obtain a copy of the License at
-@rem
-@rem https://www.apache.org/licenses/LICENSE-2.0
-@rem
-@rem Unless required by applicable law or agreed to in writing, software
-@rem distributed under the License is distributed on an "AS IS" BASIS,
-@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-@rem See the License for the specific language governing permissions and
-@rem limitations under the License.
-@rem
-
-@if "%DEBUG%" == "" @echo off
-@rem ##########################################################################
-@rem
-@rem Gradle startup script for Windows
-@rem
-@rem ##########################################################################
-
-@rem Set local scope for the variables with windows NT shell
-if "%OS%"=="Windows_NT" setlocal
-
-set DIRNAME=%~dp0
-if "%DIRNAME%" == "" set DIRNAME=.
-set APP_BASE_NAME=%~n0
-set APP_HOME=%DIRNAME%
-
-@rem Resolve any "." and ".." in APP_HOME to make it shorter.
-for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
-
-@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
-
-@rem Find java.exe
-if defined JAVA_HOME goto findJavaFromJavaHome
-
-set JAVA_EXE=java.exe
-%JAVA_EXE% -version >NUL 2>&1
-if "%ERRORLEVEL%" == "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.
-
-goto fail
-
-:findJavaFromJavaHome
-set JAVA_HOME=%JAVA_HOME:"=%
-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.
-
-goto fail
-
-:execute
-@rem Setup the command line
-
-set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
-
-
-@rem Execute Gradle
-"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
-
-:end
-@rem End local scope for the variables with windows NT shell
-if "%ERRORLEVEL%"=="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
-
-:mainEnd
-if "%OS%"=="Windows_NT" endlocal
-
-:omega
diff --git a/experimental/examples/intellij-plugin-with-experimental-shared-base/screenshots/ide-run-configuration.png b/experimental/examples/intellij-plugin-with-experimental-shared-base/screenshots/ide-run-configuration.png
deleted file mode 100644
index 9dc9453a387..00000000000
Binary files a/experimental/examples/intellij-plugin-with-experimental-shared-base/screenshots/ide-run-configuration.png and /dev/null differ
diff --git a/experimental/examples/intellij-plugin-with-experimental-shared-base/settings.gradle.kts b/experimental/examples/intellij-plugin-with-experimental-shared-base/settings.gradle.kts
deleted file mode 100644
index dd1ac3675a4..00000000000
--- a/experimental/examples/intellij-plugin-with-experimental-shared-base/settings.gradle.kts
+++ /dev/null
@@ -1,8 +0,0 @@
-rootProject.name = "ComposeDemoPlugin"
-
-pluginManagement {
- plugins {
- kotlin("jvm").version(extra["kotlin.version"] as String)
- id("org.jetbrains.compose").version(extra["compose.version"] as String)
- }
-}
diff --git a/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/ComposeDemoAction.kt b/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/ComposeDemoAction.kt
deleted file mode 100644
index 581c8cbe914..00000000000
--- a/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/ComposeDemoAction.kt
+++ /dev/null
@@ -1,70 +0,0 @@
-package com.jetbrains.compose
-
-import androidx.compose.foundation.layout.Box
-import androidx.compose.foundation.layout.Column
-import androidx.compose.foundation.layout.Row
-import androidx.compose.foundation.layout.fillMaxHeight
-import androidx.compose.foundation.layout.fillMaxSize
-import androidx.compose.material.Surface
-import androidx.compose.ui.Modifier
-import androidx.compose.ui.awt.ComposePanel
-import androidx.compose.ui.layout.Layout
-import androidx.compose.ui.layout.MeasurePolicy
-import androidx.compose.ui.layout.onGloballyPositioned
-import com.intellij.openapi.actionSystem.AnActionEvent
-import com.intellij.openapi.project.DumbAwareAction
-import com.intellij.openapi.project.Project
-import com.intellij.openapi.ui.DialogWrapper
-import com.jetbrains.compose.theme.WidgetTheme
-import com.jetbrains.compose.widgets.Buttons
-import com.jetbrains.compose.widgets.LazyScrollable
-import com.jetbrains.compose.widgets.Loaders
-import com.jetbrains.compose.widgets.TextInputs
-import com.jetbrains.compose.widgets.Toggles
-import java.awt.Dimension
-import javax.swing.JComponent
-import javax.swing.SwingUtilities
-
-
-/**
- * @author Konstantin Bulenkov
- */
-class ComposeDemoAction : DumbAwareAction() {
- override fun actionPerformed(e: AnActionEvent) {
- DemoDialog(e.project).show()
- }
-
- class DemoDialog(project: Project?) : DialogWrapper(project) {
- init {
- title = "Demo"
- init()
- }
-
- override fun createCenterPanel(): JComponent {
- return ComposePanel().apply {
- setBounds(0, 0, 800, 600)
- setContent {
- WidgetTheme(darkTheme = true) {
- Surface(modifier = Modifier.fillMaxSize()) {
- Row {
- Column(
- modifier = Modifier.fillMaxHeight().weight(1f)
- ) {
- Buttons()
- Loaders()
- TextInputs()
- Toggles()
- }
- Box(
- modifier = Modifier.fillMaxHeight().weight(1f)
- ) {
- LazyScrollable()
- }
- }
- }
- }
- }
- }
- }
- }
-}
diff --git a/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/IntellijTheme.kt b/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/IntellijTheme.kt
deleted file mode 100644
index 8969581b721..00000000000
--- a/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/IntellijTheme.kt
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright 2020-2022 JetBrains s.r.o. and respective authors and developers.
- * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE.txt file.
- */
-
-package com.jetbrains.compose
-
-import androidx.compose.foundation.layout.fillMaxSize
-import androidx.compose.material.Surface
-import androidx.compose.runtime.Composable
-import androidx.compose.ui.Modifier
-import com.intellij.openapi.project.Project
-import com.jetbrains.compose.theme.WidgetTheme
-import org.intellij.datavis.r.inlays.components.GraphicsManager
-
-@Composable
-fun IntellijTheme(project: Project, content: @Composable () -> Unit) {
- val isDarkMode = try {
- GraphicsManager.getInstance(project)?.isDarkModeEnabled ?: false
- } catch (t: Throwable) {
- false
- }
- WidgetTheme(darkTheme = isDarkMode) {
- Surface(modifier = Modifier.fillMaxSize()) {
- content()
- }
- }
-}
diff --git a/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/color/ColorLineMarkerProvider.kt b/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/color/ColorLineMarkerProvider.kt
deleted file mode 100644
index 1ab8977c621..00000000000
--- a/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/color/ColorLineMarkerProvider.kt
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Copyright 2020-2022 JetBrains s.r.o. and respective authors and developers.
- * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE.txt file.
- */
-
-package com.jetbrains.compose.color
-
-import androidx.compose.runtime.mutableStateOf
-import androidx.compose.ui.awt.ComposePanel
-import androidx.compose.ui.graphics.Color
-import com.intellij.codeInsight.daemon.LineMarkerInfo
-import com.intellij.codeInsight.daemon.LineMarkerProvider
-import com.intellij.openapi.application.ApplicationManager
-import com.intellij.openapi.editor.markup.GutterIconRenderer
-import com.intellij.openapi.ui.DialogWrapper
-import com.intellij.psi.PsiElement
-import com.jetbrains.compose.IntellijTheme
-import org.jetbrains.kotlin.psi.KtPsiFactory
-import org.jetbrains.uast.*
-import java.awt.Component
-import java.awt.Graphics
-import javax.swing.Icon
-import javax.swing.JComponent
-
-class ColorLineMarkerProvider : LineMarkerProvider {
-
- override fun getLineMarkerInfo(element: PsiElement): LineMarkerInfo<*>? {
- val project = element.project
- val ktPsiFactory = KtPsiFactory(project)
- val uElement: UElement = element.toUElement() ?: return null
- if (uElement is UCallExpression) {
- if (uElement.kind == UastCallKind.METHOD_CALL && uElement.methodIdentifier?.name == "Color") {
- val colorLongValue = (uElement.valueArguments.firstOrNull() as? ULiteralExpression)?.getLongValue()
- val previousColor = try {
- Color(colorLongValue!!)
- } catch (t: Throwable) {
- Color(0xffffffff)
- }
-
- val iconSize = 20
- return LineMarkerInfo(
- element,
- element.textRange,
- object : Icon {
- override fun paintIcon(c: Component?, g: Graphics?, x: Int, y: Int) {
- g?.color = java.awt.Color(
- previousColor.red,
- previousColor.green,
- previousColor.blue,
- previousColor.alpha
- )
- g?.fillRect(0, 0, iconSize, iconSize)
- }
-
- override fun getIconWidth(): Int = iconSize
- override fun getIconHeight(): Int = iconSize
- },
- null,
- { _, psiElement: PsiElement ->
-
-
- class ChooseColorDialog() : DialogWrapper(project) {
- val colorState = mutableStateOf(previousColor)
-
- init {
- title = "Choose color"
- init()
- }
-
- override fun createCenterPanel(): JComponent =
- ComposePanel().apply {
- setBounds(0, 0, 400, 400)
- setContent {
- IntellijTheme(project) {
- ColorPicker(colorState)
- }
- }
- }
- }
-
- val chooseColorDialog = ChooseColorDialog()
- val result = chooseColorDialog.showAndGet()
- if (result) {
- val color = chooseColorDialog.colorState.value
- ApplicationManager.getApplication().runWriteAction {
- psiElement.replace(
- ktPsiFactory.createExpression(
- "Color(${color.toHexString()})"
- )
- )
- }
- }
- },
- GutterIconRenderer.Alignment.RIGHT,
- { "change color literal" }
- )
- }
- }
- return null
- }
-
- override fun collectSlowLineMarkers(
- elements: MutableList,
- result: MutableCollection>
- ) {
-
- }
-}
diff --git a/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/color/ColorPicker.kt b/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/color/ColorPicker.kt
deleted file mode 100644
index 9ef49add6ed..00000000000
--- a/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/color/ColorPicker.kt
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * Copyright 2020-2022 JetBrains s.r.o. and respective authors and developers.
- * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE.txt file.
- */
-
-package com.jetbrains.compose.color
-
-import androidx.compose.foundation.Canvas
-import androidx.compose.foundation.background
-import androidx.compose.foundation.clickable
-import androidx.compose.foundation.layout.*
-import androidx.compose.material.Divider
-import androidx.compose.material.Text
-import androidx.compose.material.TextField
-import androidx.compose.runtime.*
-import androidx.compose.ui.Alignment
-import androidx.compose.ui.Modifier
-import androidx.compose.ui.geometry.Offset
-import androidx.compose.ui.geometry.Size
-import androidx.compose.ui.graphics.Color
-import androidx.compose.ui.graphics.drawscope.Stroke
-import androidx.compose.ui.graphics.toArgb
-import androidx.compose.ui.input.pointer.isPrimaryPressed
-import androidx.compose.ui.input.pointer.pointerInput
-import androidx.compose.ui.unit.dp
-
-private const val VALUE_BAND_RATIO = 0.07f
-private val DEFAULT_COLORS =
- listOf(Color.Red, Color.Green, Color.Blue, Color.Black, Color.Gray, Color.Yellow, Color.Cyan, Color.Magenta)
-
-@Composable
-fun ColorPicker(colorState: MutableState) {
- var currentColor: Color by remember { colorState }
- Column {
- Row {
- DEFAULT_COLORS.forEach {
- Box(Modifier.size(30.dp).background(color = it).clickable {
- currentColor = it
- })
- }
- }
- Divider(Modifier.size(2.dp))
- Row(Modifier.fillMaxWidth(), verticalAlignment = Alignment.CenterVertically) {
- Text("Result color:")
- Divider(Modifier.size(2.dp))
- TextField(modifier = Modifier.width(120f.dp), value = currentColor.toHexString(), onValueChange = {})
- Divider(Modifier.size(2.dp))
- val size = 60f
- Box(Modifier.size(size.dp).background(color = currentColor))
- }
- Divider(Modifier.size(2.dp))
- var width by remember { mutableStateOf(300) }
- var height by remember { mutableStateOf(256) }
- val rainbowWidth by derivedStateOf { (width * (1 - VALUE_BAND_RATIO)).toInt() }
- val bandWidth by derivedStateOf { width * VALUE_BAND_RATIO }
- fun calcHue(x: Float) = limit0to1(x / rainbowWidth) * HSV.HUE_MAX_VALUE
- fun calcSaturation(y: Float) = 1 - limit0to1(y / height)
- fun calcValue(y: Float) = 1 - limit0to1(y / height)
- Row(Modifier.fillMaxSize()) {
- Canvas(Modifier.fillMaxSize().pointerInput(Unit) {
- width = size.width
- height = size.height
- awaitPointerEventScope {
- while (true) {
- val event = awaitPointerEvent()
- if (event.buttons.isPrimaryPressed) {
- val position = event.changes.first().position
- if (position.x < rainbowWidth) {
- currentColor = try {
- currentColor.toHsv().copy(
- hue = calcHue(position.x),
- saturation = calcSaturation(position.y)
- ).toRgb()
- } catch (t: Throwable) {
- t.printStackTrace()
- println("exception $t")
- currentColor
- }
- } else {
- currentColor =
- currentColor.toHsv().copy(
- value = calcValue(position.y)
- ).toRgb()
- }
- }
- }
- }
- }) {
- for (x in 0..rainbowWidth) {
- for (y in 0..height) {
- drawRect(
- color = currentColor.toHsv().copy(
- hue = calcHue(x.toFloat()),
- saturation = calcSaturation(y.toFloat())
- ).toRgb(),
- topLeft = Offset(x.toFloat(), y.toFloat()),
- size = Size(1f, 1f)
- )
- }
- }
- val valueBandX = rainbowWidth + 1
- for (y in 0..height) {
- drawRect(
- color = currentColor.toHsv().copy(value = calcValue(y.toFloat())).toRgb(),
- topLeft = Offset(valueBandX.toFloat(), y.toFloat()),
- size = Size(bandWidth, 1f)
- )
- }
- val circleX = (currentColor.toHsv().hue / 360) * rainbowWidth
- val circleY = (1 - currentColor.toHsv().saturation) * height
- drawCircle(
- center = Offset(circleX, circleY),
- color = Color.Black,
- radius = 5f,
- style = Stroke(width = 3f)
- )
- }
- }
- }
-}
-
-fun Color.toHexString() = "0x" + toArgb().toUInt().toString(16)
-fun limit(value: Float, min: Float, max: Float) = minOf(
- maxOf(value, min),
- max
-)
-
-fun limit0to1(value: Float) = limit(value = value, 0f, 1f)
diff --git a/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/color/HSV.kt b/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/color/HSV.kt
deleted file mode 100644
index 86fef306c41..00000000000
--- a/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/color/HSV.kt
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Copyright 2020-2022 JetBrains s.r.o. and respective authors and developers.
- * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE.txt file.
- */
-
-package com.jetbrains.compose.color
-
-import androidx.compose.ui.graphics.Color
-import kotlin.math.abs
-
-data class HSV(
- /**
- * 0.0 .. 360.0
- */
- val hue: Float,
- /**
- * 0.0 .. 1.0
- */
- val saturation: Float,
- /**
- * 0.0 . 1.0¬
- */
- val value: Float
-) {
- companion object {
- const val HUE_MAX_VALUE = 360f
- }
-}
-
-/**
- * Convert to HSV color space
- * https://www.rapidtables.com/convert/color/rgb-to-hsv.html
- */
-fun Color.toHsv(): HSV {
- val max = maxOf(red, green, blue)
- val min = minOf(red, green, blue)
- val delta = max - min
- val h = when {
- delta == 0f -> 0f
- max == red -> 60 * ((green - blue) / delta).mod(6f)
- max == green -> 60 * ((blue - red) / delta + 2)
- max == blue -> 60 * ((red - green) / delta + 4)
- else -> 0f
- }
- val s = when {
- max == 0f -> 0f
- else -> delta / max
- }
- val v = max
- return HSV(
- hue = h,
- saturation = s,
- value = v
- )
-}
-
-/**
- * Convert to RGB color space
- * https://www.rapidtables.com/convert/color/hsv-to-rgb.html
- */
-fun HSV.toRgb(): Color {
- val c = value * saturation
- val x = minOf(c * (1 - abs((hue / 60).mod(2f) - 1)), 1f)
- val m = value - c
- val tempColor = when {
- hue >= 0 && hue < 60 -> Color(c, x, 0f)
- hue >= 60 && hue < 120 -> Color(x, c, 0f)
- hue >= 120 && hue < 180 -> Color(0f, c, x)
- hue >= 180 && hue < 240 -> Color(0f, x, c)
- hue >= 240 && hue < 300 -> Color(x, 0f, c)
- else -> Color(c, 0f, x)
- }
- return Color(minOf(m + tempColor.red, 1f), minOf(m + tempColor.green, 1f), minOf(m + tempColor.blue, 1f))
-}
-
diff --git a/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/panel/ComposeToolWindow.kt b/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/panel/ComposeToolWindow.kt
deleted file mode 100644
index c7e66f37c9b..00000000000
--- a/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/panel/ComposeToolWindow.kt
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright 2020-2022 JetBrains s.r.o. and respective authors and developers.
- * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE.txt file.
- */
-
-package com.jetbrains.compose.panel
-
-import androidx.compose.runtime.mutableStateOf
-import androidx.compose.ui.awt.ComposePanel
-import com.intellij.openapi.application.ApplicationManager
-import com.intellij.openapi.project.DumbAware
-import com.intellij.openapi.project.Project
-import com.intellij.openapi.wm.ToolWindow
-import com.intellij.openapi.wm.ToolWindowFactory
-import com.intellij.ui.content.ContentFactory
-import com.jetbrains.compose.IntellijTheme
-import java.awt.Dimension
-
-class ComposeToolWindow : ToolWindowFactory, DumbAware {
-
- override fun createToolWindowContent(project: Project, toolWindow: ToolWindow) {
- ApplicationManager.getApplication().invokeLater {
- toolWindow.contentManager.addContent(
- ContentFactory.SERVICE.getInstance().createContent(
- ComposePanel().apply {
- size = Dimension(300, 300)
- setContent {
- IntellijTheme(project) {
- CounterPanel(stateWithIdeLifecycle)
- }
- }
- },
- "Compose tool window",
- false
- )
- )
- }
- }
-
- companion object {
- val stateWithIdeLifecycle = mutableStateOf(CounterState())
- }
-
-}
diff --git a/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/panel/CounterPanel.kt b/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/panel/CounterPanel.kt
deleted file mode 100644
index 24be64a9f97..00000000000
--- a/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/panel/CounterPanel.kt
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright 2020-2022 JetBrains s.r.o. and respective authors and developers.
- * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE.txt file.
- */
-
-package com.jetbrains.compose.panel
-
-import androidx.compose.foundation.layout.Column
-import androidx.compose.material.Button
-import androidx.compose.material.Text
-import androidx.compose.runtime.Composable
-import androidx.compose.runtime.MutableState
-import androidx.compose.runtime.*
-
-@Composable
-fun CounterPanel(stateWithIdeLifecycle: MutableState) {
- var stateInline by remember { mutableStateOf(CounterState()) }
- Column {
- Text("Counter with IDE lifecycle: ${stateWithIdeLifecycle.value.counter}")
- Button(onClick = {
- stateWithIdeLifecycle.value = stateWithIdeLifecycle.value.copy(
- counter = stateWithIdeLifecycle.value.counter + 1
- )
- }) {
- Text("Increment state with IDE lifecycle")
- }
- Text("Counter with @Composable lifecycle: ${stateInline.counter}")
- Button(onClick = {
- stateInline = stateInline.copy(
- counter = stateInline.counter + 1
- )
- }) {
- Text("Increment state with @Composable lifecycle")
- }
- }
-}
diff --git a/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/panel/CounterState.kt b/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/panel/CounterState.kt
deleted file mode 100644
index 5466e579f90..00000000000
--- a/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/panel/CounterState.kt
+++ /dev/null
@@ -1,10 +0,0 @@
-/*
- * Copyright 2020-2022 JetBrains s.r.o. and respective authors and developers.
- * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE.txt file.
- */
-
-package com.jetbrains.compose.panel
-
-data class CounterState(
- val counter: Int = 0
-)
diff --git a/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/theme/Color.kt b/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/theme/Color.kt
deleted file mode 100644
index 9ed4581b850..00000000000
--- a/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/theme/Color.kt
+++ /dev/null
@@ -1,9 +0,0 @@
-package com.jetbrains.compose.theme
-
-import androidx.compose.ui.graphics.Color
-
-val green200 = Color(0xffa5d6a7)
-val green500 = Color(0xff4caf50)
-val green700 = Color(0xff388e3c)
-
-val teal200 = Color(0xff80deea)
diff --git a/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/theme/Shape.kt b/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/theme/Shape.kt
deleted file mode 100644
index 3ac8795fc70..00000000000
--- a/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/theme/Shape.kt
+++ /dev/null
@@ -1,11 +0,0 @@
-package com.jetbrains.compose.theme
-
-import androidx.compose.foundation.shape.RoundedCornerShape
-import androidx.compose.material.Shapes
-import androidx.compose.ui.unit.dp
-
-val shapes = Shapes(
- small = RoundedCornerShape(4.dp),
- medium = RoundedCornerShape(4.dp),
- large = RoundedCornerShape(0.dp)
-)
\ No newline at end of file
diff --git a/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/theme/Theme.kt b/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/theme/Theme.kt
deleted file mode 100644
index 78a3ec5181f..00000000000
--- a/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/theme/Theme.kt
+++ /dev/null
@@ -1,46 +0,0 @@
-package com.jetbrains.compose.theme
-
-import androidx.compose.material.MaterialTheme
-import androidx.compose.material.darkColors
-import androidx.compose.material.lightColors
-import androidx.compose.runtime.Composable
-import androidx.compose.ui.graphics.Color
-import com.jetbrains.compose.theme.intellij.SwingColor
-
-private val DarkGreenColorPalette = darkColors(
- primary = green200,
- primaryVariant = green700,
- secondary = teal200,
- onPrimary = Color.Black,
- onSecondary = Color.White,
- error = Color.Red,
-)
-
-private val LightGreenColorPalette = lightColors(
- primary = green500,
- primaryVariant = green700,
- secondary = teal200,
- onPrimary = Color.White,
- onSurface = Color.Black
-)
-
-@Composable
-fun WidgetTheme(
- darkTheme: Boolean = false,
- content: @Composable() () -> Unit,
-) {
- val colors = if (darkTheme) DarkGreenColorPalette else LightGreenColorPalette
- val swingColor = SwingColor()
-
- MaterialTheme(
- colors = colors.copy(
- background = swingColor.background,
- onBackground = swingColor.onBackground,
- surface = swingColor.background,
- onSurface = swingColor.onBackground,
- ),
- typography = typography,
- shapes = shapes,
- content = content
- )
-}
\ No newline at end of file
diff --git a/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/theme/Type.kt b/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/theme/Type.kt
deleted file mode 100644
index 4bc429afa8f..00000000000
--- a/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/theme/Type.kt
+++ /dev/null
@@ -1,43 +0,0 @@
-package com.jetbrains.compose.theme
-
-import androidx.compose.material.Typography
-import androidx.compose.ui.graphics.Color
-import androidx.compose.ui.text.TextStyle
-import androidx.compose.ui.text.font.FontFamily
-import androidx.compose.ui.text.font.FontWeight
-import androidx.compose.ui.unit.sp
-
-val typography = Typography(
- body1 = TextStyle(
- fontFamily = FontFamily.Default,
- fontWeight = FontWeight.Normal,
- fontSize = 16.sp
- ),
- body2 = TextStyle(
- fontFamily = FontFamily.Default,
- fontWeight = FontWeight.Normal,
- fontSize = 14.sp
- ),
- button = TextStyle(
- fontFamily = FontFamily.Default,
- fontWeight = FontWeight.W500,
- fontSize = 14.sp
- ),
- caption = TextStyle(
- fontFamily = FontFamily.Default,
- fontWeight = FontWeight.Normal,
- fontSize = 12.sp,
- ),
- subtitle1 = TextStyle(
- fontFamily = FontFamily.Default,
- fontWeight = FontWeight.Normal,
- fontSize = 16.sp,
- color = Color.Gray
- ),
- subtitle2 = TextStyle(
- fontFamily = FontFamily.Default,
- fontWeight = FontWeight.Normal,
- fontSize = 14.sp,
- color = Color.Gray
- ),
-)
\ No newline at end of file
diff --git a/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/theme/intellij/SwingColor.kt b/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/theme/intellij/SwingColor.kt
deleted file mode 100644
index 0aac1aaf505..00000000000
--- a/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/theme/intellij/SwingColor.kt
+++ /dev/null
@@ -1,61 +0,0 @@
-package com.jetbrains.compose.theme.intellij
-
-import androidx.compose.runtime.*
-import androidx.compose.ui.graphics.Color
-import com.intellij.ide.ui.LafManagerListener
-import com.intellij.openapi.application.ApplicationManager
-import javax.swing.UIManager
-import java.awt.Color as AWTColor
-
-interface SwingColor {
- val background: Color
- val onBackground: Color
-}
-
-@Composable
-fun SwingColor(): SwingColor {
- val swingColor = remember { SwingColorImpl() }
-
- val messageBus = remember {
- ApplicationManager.getApplication().messageBus.connect()
- }
-
- remember(messageBus) {
- messageBus.subscribe(
- LafManagerListener.TOPIC,
- ThemeChangeListener(swingColor::updateCurrentColors)
- )
- }
-
- DisposableEffect(messageBus) {
- onDispose {
- messageBus.disconnect()
- }
- }
-
- return swingColor
-}
-
-private class SwingColorImpl : SwingColor {
- private val _backgroundState: MutableState = mutableStateOf(getBackgroundColor)
- private val _onBackgroundState: MutableState = mutableStateOf(getOnBackgroundColor)
-
- override val background: Color get() = _backgroundState.value
- override val onBackground: Color get() = _onBackgroundState.value
-
- private val getBackgroundColor get() = getColor(BACKGROUND_KEY)
- private val getOnBackgroundColor get() = getColor(ON_BACKGROUND_KEY)
-
- fun updateCurrentColors() {
- _backgroundState.value = getBackgroundColor
- _onBackgroundState.value = getOnBackgroundColor
- }
-
- private val AWTColor.asComposeColor: Color get() = Color(red, green, blue, alpha)
- private fun getColor(key: String): Color = UIManager.getColor(key).asComposeColor
-
- companion object {
- private const val BACKGROUND_KEY = "Panel.background"
- private const val ON_BACKGROUND_KEY = "Panel.foreground"
- }
-}
\ No newline at end of file
diff --git a/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/theme/intellij/ThemeChangeListener.kt b/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/theme/intellij/ThemeChangeListener.kt
deleted file mode 100644
index 95a83241141..00000000000
--- a/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/theme/intellij/ThemeChangeListener.kt
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.jetbrains.compose.theme.intellij
-
-import com.intellij.ide.ui.LafManager
-import com.intellij.ide.ui.LafManagerListener
-
-internal class ThemeChangeListener(
- val updateColors: () -> Unit
-) : LafManagerListener {
- override fun lookAndFeelChanged(source: LafManager) {
- updateColors()
- }
-}
-
diff --git a/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/widgets/Buttons.kt b/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/widgets/Buttons.kt
deleted file mode 100644
index 89fc8c2c112..00000000000
--- a/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/widgets/Buttons.kt
+++ /dev/null
@@ -1,57 +0,0 @@
-package com.jetbrains.compose.widgets
-
-import androidx.compose.foundation.layout.Row
-import androidx.compose.foundation.layout.padding
-import androidx.compose.material.Button
-import androidx.compose.material.TextButton
-import androidx.compose.material.OutlinedButton
-import androidx.compose.material.Text
-import androidx.compose.material.Icon
-import androidx.compose.material.icons.Icons
-import androidx.compose.material.icons.filled.FavoriteBorder
-import androidx.compose.material.icons.filled.Refresh
-import androidx.compose.runtime.Composable
-import androidx.compose.runtime.mutableStateOf
-import androidx.compose.runtime.remember
-import androidx.compose.ui.Modifier
-import androidx.compose.ui.unit.dp
-
-@Composable
-fun Buttons() {
- Row {
- val btnEnabled = remember { mutableStateOf(true) }
- Button(
- onClick = { btnEnabled.value = !btnEnabled.value},
- modifier = Modifier.padding(8.dp),
- enabled = btnEnabled.value
- ) {
- Icon(
- imageVector = Icons.Default.FavoriteBorder,
- contentDescription = "FavoriteBorder",
- modifier = Modifier.padding(end = 4.dp)
- )
- Text(text = "Button")
- }
- val btnTextEnabled = remember { mutableStateOf(true) }
- TextButton(
- onClick = { btnTextEnabled.value = !btnTextEnabled.value },
- modifier = Modifier.padding(8.dp),
- enabled = btnTextEnabled.value
- ) {
- Text(text = "Text Button")
- }
- OutlinedButton(
- onClick = {
- btnEnabled.value = true
- btnTextEnabled.value = true
- },
- modifier = Modifier.padding(8.dp)
- ) {
- Icon(
- imageVector = Icons.Default.Refresh,
- contentDescription = "Refresh",
- modifier = Modifier.padding(0.dp)
- )
- }
- }
-}
\ No newline at end of file
diff --git a/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/widgets/LazyScrollable.kt b/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/widgets/LazyScrollable.kt
deleted file mode 100644
index e5bba421a05..00000000000
--- a/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/widgets/LazyScrollable.kt
+++ /dev/null
@@ -1,71 +0,0 @@
-package com.jetbrains.compose.widgets
-
-import androidx.compose.desktop.DesktopTheme
-import androidx.compose.foundation.background
-import androidx.compose.foundation.ExperimentalFoundationApi
-import androidx.compose.foundation.lazy.LazyColumn
-import androidx.compose.foundation.lazy.rememberLazyListState
-import androidx.compose.foundation.layout.Box
-import androidx.compose.foundation.layout.fillMaxWidth
-import androidx.compose.foundation.layout.fillMaxHeight
-import androidx.compose.foundation.layout.fillMaxSize
-import androidx.compose.foundation.layout.height
-import androidx.compose.foundation.layout.padding
-import androidx.compose.foundation.layout.Spacer
-import androidx.compose.foundation.rememberScrollbarAdapter
-import androidx.compose.foundation.shape.RoundedCornerShape
-import androidx.compose.foundation.VerticalScrollbar
-import androidx.compose.material.Text
-import androidx.compose.material.MaterialTheme
-import androidx.compose.material.Surface
-import androidx.compose.runtime.Composable
-import androidx.compose.ui.Alignment
-import androidx.compose.ui.graphics.Color
-import androidx.compose.ui.Modifier
-import androidx.compose.ui.unit.dp
-
-@Composable
-fun LazyScrollable() {
- MaterialTheme {
- DesktopTheme {
- Box(
- modifier = Modifier.fillMaxSize()
- .padding(10.dp)
- ) {
-
- val state = rememberLazyListState()
- val itemCount = 100
-
- LazyColumn(Modifier.fillMaxSize().padding(end = 12.dp), state) {
- items(itemCount) { x ->
- TextBox("Item in ScrollableColumn #$x")
- Spacer(modifier = Modifier.height(5.dp))
- }
- }
- VerticalScrollbar(
- modifier = Modifier.align(Alignment.CenterEnd).fillMaxHeight(),
- adapter = rememberScrollbarAdapter(
- scrollState = state
- )
- )
- }
- }
- }
-}
-
-@Composable
-private fun TextBox(text: String = "Item") {
- Surface(
- color = Color(135, 135, 135, 40),
- shape = RoundedCornerShape(4.dp)
- ) {
- Box(
- modifier = Modifier.height(32.dp)
- .fillMaxWidth()
- .padding(start = 10.dp),
- contentAlignment = Alignment.CenterStart
- ) {
- Text(text = text)
- }
- }
-}
\ No newline at end of file
diff --git a/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/widgets/Loaders.kt b/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/widgets/Loaders.kt
deleted file mode 100644
index a18252459b2..00000000000
--- a/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/widgets/Loaders.kt
+++ /dev/null
@@ -1,39 +0,0 @@
-package com.jetbrains.compose.widgets
-
-import androidx.compose.foundation.layout.Box
-import androidx.compose.foundation.layout.fillMaxWidth
-import androidx.compose.foundation.layout.height
-import androidx.compose.foundation.layout.padding
-import androidx.compose.foundation.layout.Row
-import androidx.compose.foundation.layout.size
-import androidx.compose.material.CircularProgressIndicator
-import androidx.compose.material.LinearProgressIndicator
-import androidx.compose.runtime.Composable
-import androidx.compose.ui.Alignment
-import androidx.compose.ui.Modifier
-import androidx.compose.ui.unit.dp
-
-@Composable
-fun Loaders() {
- Row(
- modifier = Modifier.fillMaxWidth().padding(16.dp)
- ) {
- Box(
- modifier = Modifier.height(30.dp),
- contentAlignment = Alignment.Center
- ) {
- CircularProgressIndicator(
- modifier = Modifier.size(20.dp, 20.dp),
- strokeWidth = 4.dp
- )
- }
- Box(
- modifier = Modifier
- .height(30.dp)
- .padding(start = 8.dp),
- contentAlignment = Alignment.Center
- ) {
- LinearProgressIndicator(modifier = Modifier.fillMaxWidth())
- }
- }
-}
\ No newline at end of file
diff --git a/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/widgets/TextInputs.kt b/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/widgets/TextInputs.kt
deleted file mode 100644
index 5ca7a9aad67..00000000000
--- a/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/widgets/TextInputs.kt
+++ /dev/null
@@ -1,53 +0,0 @@
-package com.jetbrains.compose.widgets
-
-import androidx.compose.foundation.layout.Column
-import androidx.compose.foundation.layout.fillMaxWidth
-import androidx.compose.foundation.layout.padding
-import androidx.compose.foundation.text.KeyboardOptions
-import androidx.compose.material.Text
-import androidx.compose.material.TextField
-import androidx.compose.material.OutlinedTextField
-import androidx.compose.ui.text.input.KeyboardType
-import androidx.compose.ui.text.input.PasswordVisualTransformation
-import androidx.compose.ui.text.input.TextFieldValue
-import androidx.compose.runtime.Composable
-import androidx.compose.runtime.getValue
-import androidx.compose.runtime.mutableStateOf
-import androidx.compose.runtime.remember
-import androidx.compose.runtime.setValue
-import androidx.compose.ui.Modifier
-import androidx.compose.ui.text.font.FontFamily
-import androidx.compose.ui.text.TextStyle
-import androidx.compose.ui.unit.dp
-
-@Composable
-fun TextInputs() {
- Column(
- modifier = Modifier.fillMaxWidth().padding(16.dp)
- ) {
- var name by remember { mutableStateOf(TextFieldValue("")) }
- var password by remember { mutableStateOf(TextFieldValue("")) }
-
- TextField(
- value = name,
- onValueChange = { newValue -> name = newValue },
- modifier = Modifier.padding(8.dp).fillMaxWidth(),
- textStyle = TextStyle(fontFamily = FontFamily.SansSerif),
- label = { Text("Account:") },
- placeholder = { Text("account name") }
- )
-
- OutlinedTextField(
- value = password,
- modifier = Modifier.padding(8.dp).fillMaxWidth(),
- label = { Text(text = "Password:") },
- placeholder = { Text(text = "your password") },
- textStyle = TextStyle(fontFamily = FontFamily.SansSerif),
- visualTransformation = PasswordVisualTransformation(),
- onValueChange = {
- password = it
- },
- keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Password)
- )
- }
-}
\ No newline at end of file
diff --git a/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/widgets/Toggles.kt b/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/widgets/Toggles.kt
deleted file mode 100644
index b4a7febac20..00000000000
--- a/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/kotlin/com/jetbrains/compose/widgets/Toggles.kt
+++ /dev/null
@@ -1,90 +0,0 @@
-package com.jetbrains.compose.widgets
-
-import androidx.compose.foundation.clickable
-import androidx.compose.foundation.layout.Column
-import androidx.compose.foundation.layout.Row
-import androidx.compose.foundation.layout.fillMaxWidth
-import androidx.compose.foundation.layout.padding
-import androidx.compose.foundation.text.KeyboardOptions
-import androidx.compose.material.Checkbox
-import androidx.compose.material.MaterialTheme
-import androidx.compose.material.RadioButton
-import androidx.compose.material.Slider
-import androidx.compose.material.Switch
-import androidx.compose.material.SwitchDefaults
-import androidx.compose.material.Text
-import androidx.compose.runtime.Composable
-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.unit.dp
-
-@Composable
-fun Toggles() {
- Column {
- Row {
- Column(
- modifier = Modifier.padding(16.dp)
- ) {
- var checked by remember { mutableStateOf(true) }
- Checkbox(
- checked = checked,
- modifier = Modifier.padding(8.dp),
- onCheckedChange = { checked = !checked }
- )
- var switched by remember { mutableStateOf(true) }
- Switch(
- checked = switched,
- colors = SwitchDefaults.colors(checkedThumbColor = MaterialTheme.colors.primary),
- modifier = Modifier.padding(8.dp),
- onCheckedChange = { switched = it }
- )
- }
- Column(
- modifier = Modifier.padding(16.dp)
- ) {
- var selected by remember { mutableStateOf("Kotlin") }
- Row(verticalAlignment = Alignment.CenterVertically) {
- RadioButton(selected = selected == "Kotlin", onClick = { selected = "Kotlin" })
- Text(
- text = "Kotlin",
- modifier = Modifier.clickable(onClick = { selected = "Kotlin" }).padding(start = 4.dp)
- )
- }
- Row(verticalAlignment = Alignment.CenterVertically) {
- RadioButton(selected = selected == "Java", onClick = { selected = "Java" })
- Text(
- text = "Java",
- modifier = Modifier.clickable(onClick = { selected = "Java" }).padding(start = 4.dp)
- )
- }
- Row(verticalAlignment = Alignment.CenterVertically) {
- RadioButton(selected = selected == "Swift", onClick = { selected = "Swift" })
- Text(
- text = "Swift",
- modifier = Modifier.clickable(onClick = { selected = "Swift" }).padding(start = 4.dp)
- )
- }
- }
- }
-
- var sliderState by remember { mutableStateOf(0f) }
- Slider(value = sliderState, modifier = Modifier.fillMaxWidth().padding(8.dp),
- onValueChange = { newValue ->
- sliderState = newValue
- }
- )
-
- var sliderState2 by remember { mutableStateOf(20f) }
- Slider(value = sliderState2, modifier = Modifier.fillMaxWidth().padding(8.dp),
- valueRange = 0f..100f,
- steps = 5,
- onValueChange = { newValue ->
- sliderState2 = newValue
- }
- )
- }
-}
\ No newline at end of file
diff --git a/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/resources/META-INF/plugin.xml b/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/resources/META-INF/plugin.xml
deleted file mode 100644
index 5932048466d..00000000000
--- a/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/resources/META-INF/plugin.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-
- com.jetbrains.ComposeDemoPlugin
- Jetpack Compose for Desktop Demo
- JetBrains
-
-
-
-
- com.intellij.modules.platform
- org.jetbrains.compose.intellij.platform
- org.jetbrains.kotlin
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/resources/icons/compose.svg b/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/resources/icons/compose.svg
deleted file mode 100644
index 2154d497bd6..00000000000
--- a/experimental/examples/intellij-plugin-with-experimental-shared-base/src/main/resources/icons/compose.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/experimental/examples/intellij-plugin-with-experimental-shared-base/src/test/kotlin/com/jetbrains/compose/color/ColorPickerUITest.kt b/experimental/examples/intellij-plugin-with-experimental-shared-base/src/test/kotlin/com/jetbrains/compose/color/ColorPickerUITest.kt
deleted file mode 100644
index 68ca6d2387a..00000000000
--- a/experimental/examples/intellij-plugin-with-experimental-shared-base/src/test/kotlin/com/jetbrains/compose/color/ColorPickerUITest.kt
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Copyright 2020-2022 JetBrains s.r.o. and respective authors and developers.
- * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE.txt file.
- */
-
-package com.jetbrains.compose.color
-
-import androidx.compose.runtime.mutableStateOf
-import androidx.compose.runtime.remember
-import androidx.compose.ui.graphics.Color
-import androidx.compose.ui.unit.dp
-import androidx.compose.ui.window.Window
-import androidx.compose.ui.window.WindowState
-import androidx.compose.ui.window.application
-
-fun main() = application {
- val windowState = remember { WindowState(width = 400.dp, height = 400.dp) }
- Window(
- onCloseRequest = ::exitApplication,
- title = "ColorPicker",
- state = windowState
- ) {
- ColorPicker(mutableStateOf(Color(0xffaabbcc)))
- }
-}
diff --git a/experimental/examples/intellij-plugin-with-experimental-shared-base/src/test/kotlin/com/jetbrains/compose/color/HSVTest.kt b/experimental/examples/intellij-plugin-with-experimental-shared-base/src/test/kotlin/com/jetbrains/compose/color/HSVTest.kt
deleted file mode 100644
index b1c491b1fe8..00000000000
--- a/experimental/examples/intellij-plugin-with-experimental-shared-base/src/test/kotlin/com/jetbrains/compose/color/HSVTest.kt
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright 2020-2022 JetBrains s.r.o. and respective authors and developers.
- * Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE.txt file.
- */
-
-package com.jetbrains.compose.color
-
-import androidx.compose.ui.graphics.Color
-import org.junit.Test
-import kotlin.test.assertEquals
-
-class HSVTest {
-
- @Test
- fun testGreenToHsv() {
- val greenRgb = Color(0xff00ff00)
- val result = greenRgb.toHsv()
- assertEquals(HSV(120f, 1f, 1f), result)
- assertEquals(greenRgb, result.toRgb())
- }
-
-}