Reorganise project structure

GitOrigin-RevId: 21550b01dfef4f580fe57fc00bfa4d7c2a87b943
This commit is contained in:
Sebastiano Poggi
2022-12-05 20:40:12 +01:00
committed by intellij-monorepo-bot
parent 6f530981a4
commit 85cc9c6c50
157 changed files with 1414 additions and 347 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -2,7 +2,7 @@
<configuration default="false" name="IDE sample" type="GradleRunConfiguration" factoryName="Gradle">
<ExternalSystemSettings>
<option name="executionName" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="externalProjectPath" value="$PROJECT_DIR$/samples/ide-plugin" />
<option name="externalSystemIdString" value="GRADLE" />
<option name="scriptParameters" value="" />
<option name="taskDescriptions">
@@ -10,7 +10,7 @@
</option>
<option name="taskNames">
<list>
<option value="themes:intellij:idea:runIde" />
<option value="runIde" />
</list>
</option>
<option name="vmOptions" />

View File

@@ -2,7 +2,7 @@
<configuration default="false" name="Stand-alone sample" type="GradleRunConfiguration" factoryName="Gradle">
<ExternalSystemSettings>
<option name="executionName" />
<option name="externalProjectPath" value="$PROJECT_DIR$/sample" />
<option name="externalProjectPath" value="$PROJECT_DIR$/samples/standalone" />
<option name="externalSystemIdString" value="GRADLE" />
<option name="scriptParameters" value="" />
<option name="taskDescriptions">

View File

@@ -0,0 +1,13 @@
plugins {
alias(libs.plugins.kotlinJvm)
alias(libs.plugins.composeDesktop)
}
dependencies {
api(compose.desktop.currentOs) {
exclude(group = "org.jetbrains.compose.material")
}
implementation(libs.jna)
implementation(libs.kotlinx.serialization.json)
}

View File

@@ -1,4 +1,4 @@
package org.jetbrains.jewel
package org.jetbrains.jewel.util
import androidx.compose.ui.graphics.Color

View File

@@ -0,0 +1,7 @@
package org.jetbrains.jewel.util
import androidx.compose.runtime.Composable
import androidx.compose.ui.platform.LocalDensity
@Composable
fun Int.pxToDp() = with(LocalDensity.current) { this@pxToDp.toDp() }

View File

@@ -0,0 +1,6 @@
package org.jetbrains.jewel.util
import androidx.compose.foundation.lazy.LazyListState
val LazyListState.visibleItemsRange
get() = firstVisibleItemIndex..firstVisibleItemIndex + layoutInfo.visibleItemsInfo.size

View File

@@ -0,0 +1,6 @@
package org.jetbrains.jewel.util
import androidx.compose.ui.Modifier
fun Modifier.appendIf(condition: Boolean, transformer: Modifier.() -> Modifier): Modifier =
if (!condition) this else transformer()

View File

@@ -1,4 +1,4 @@
package org.jetbrains.jewel
package org.jetbrains.jewel.util
private val osName = System.getProperty("os.name")

View File

@@ -1,4 +1,4 @@
package org.jetbrains.jewel.font
package org.jetbrains.jewel.util.font
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.map

View File

@@ -1,4 +1,4 @@
package org.jetbrains.jewel.font
package org.jetbrains.jewel.util.font
import com.sun.jna.platform.win32.Advapi32Util
import com.sun.jna.platform.win32.WinReg
@@ -18,9 +18,9 @@ import kotlinx.coroutines.withContext
import kotlinx.serialization.ExperimentalSerializationApi
import kotlinx.serialization.json.Json
import kotlinx.serialization.json.decodeFromStream
import org.jetbrains.jewel.isLinux
import org.jetbrains.jewel.isMacOs
import org.jetbrains.jewel.isWindows
import org.jetbrains.jewel.util.isLinux
import org.jetbrains.jewel.util.isMacOs
import org.jetbrains.jewel.util.isWindows
import java.io.File
import java.util.TreeMap
import java.util.zip.ZipFile

View File

@@ -1,4 +1,4 @@
package org.jetbrains.jewel.font
package org.jetbrains.jewel.util.font
import androidx.compose.ui.text.font.FontFamily
import androidx.compose.ui.text.font.FontStyle

View File

@@ -1,4 +1,4 @@
package org.jetbrains.jewel.font
package org.jetbrains.jewel.util.font
import kotlinx.serialization.KSerializer
import kotlinx.serialization.SerialName

View File

@@ -1,4 +1,4 @@
package org.jetbrains.jewel.font
package org.jetbrains.jewel.util.font
import androidx.compose.ui.text.font.FontFamily
import androidx.compose.ui.text.platform.FileFont

View File

@@ -17,11 +17,7 @@ kotlin {
}
dependencies {
compileOnly(compose.desktop.currentOs) {
exclude(group = "org.jetbrains.compose.material")
}
implementation(libs.kotlinx.serialization.json)
implementation(libs.jna)
api(projects.composeUtils)
}
val sourcesJar by tasks.creating(Jar::class) {

View File

@@ -1,4 +1,4 @@
package org.jetbrains.jewel.theme.intellij
package org.jetbrains.jewel
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.shape.CornerSize

View File

@@ -1,4 +1,4 @@
package org.jetbrains.jewel.theme.intellij
package org.jetbrains.jewel
import androidx.compose.runtime.Composable
import androidx.compose.ui.graphics.painter.Painter

View File

@@ -1,4 +1,4 @@
package org.jetbrains.jewel.theme.intellij
package org.jetbrains.jewel
import androidx.compose.ui.graphics.Brush
import androidx.compose.ui.graphics.Color

View File

@@ -1,33 +1,32 @@
package org.jetbrains.jewel.theme.intellij
package org.jetbrains.jewel
import androidx.compose.foundation.LocalIndication
import androidx.compose.foundation.LocalScrollbarStyle
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.runtime.compositionLocalOf
import org.jetbrains.jewel.NoIndication
import org.jetbrains.jewel.styles.ButtonStyle
import org.jetbrains.jewel.styles.CheckboxStyle
import org.jetbrains.jewel.styles.FrameStyle
import org.jetbrains.jewel.styles.LocalButtonStyle
import org.jetbrains.jewel.styles.LocalCheckboxStyle
import org.jetbrains.jewel.styles.LocalFrameStyle
import org.jetbrains.jewel.styles.LocalIconButtonStyle
import org.jetbrains.jewel.styles.LocalRadioButtonStyle
import org.jetbrains.jewel.styles.LocalSeparatorStyle
import org.jetbrains.jewel.styles.LocalSliderStyle
import org.jetbrains.jewel.styles.LocalTabStyle
import org.jetbrains.jewel.styles.LocalTextFieldStyle
import org.jetbrains.jewel.styles.LocalTextStyle
import org.jetbrains.jewel.styles.LocalTreeViewStyle
import org.jetbrains.jewel.styles.RadioButtonStyle
import org.jetbrains.jewel.styles.ScrollbarStyle
import org.jetbrains.jewel.styles.SeparatorStyle
import org.jetbrains.jewel.styles.SliderStyle
import org.jetbrains.jewel.styles.TabStyle
import org.jetbrains.jewel.styles.TextFieldStyle
import org.jetbrains.jewel.styles.TreeViewStyle
import org.jetbrains.jewel.styles.localNotProvided
import org.jetbrains.jewel.theme.intellij.styles.ButtonStyle
import org.jetbrains.jewel.theme.intellij.styles.CheckboxStyle
import org.jetbrains.jewel.theme.intellij.styles.FrameStyle
import org.jetbrains.jewel.theme.intellij.styles.LocalButtonStyle
import org.jetbrains.jewel.theme.intellij.styles.LocalCheckboxStyle
import org.jetbrains.jewel.theme.intellij.styles.LocalFrameStyle
import org.jetbrains.jewel.theme.intellij.styles.LocalIconButtonStyle
import org.jetbrains.jewel.theme.intellij.styles.LocalRadioButtonStyle
import org.jetbrains.jewel.theme.intellij.styles.LocalSeparatorStyle
import org.jetbrains.jewel.theme.intellij.styles.LocalSliderStyle
import org.jetbrains.jewel.theme.intellij.styles.LocalTabStyle
import org.jetbrains.jewel.theme.intellij.styles.LocalTextFieldStyle
import org.jetbrains.jewel.theme.intellij.styles.LocalTreeViewStyle
import org.jetbrains.jewel.theme.intellij.styles.RadioButtonStyle
import org.jetbrains.jewel.theme.intellij.styles.ScrollbarStyle
import org.jetbrains.jewel.theme.intellij.styles.SeparatorStyle
import org.jetbrains.jewel.theme.intellij.styles.SliderStyle
import org.jetbrains.jewel.theme.intellij.styles.TabStyle
import org.jetbrains.jewel.theme.intellij.styles.TextFieldStyle
import org.jetbrains.jewel.theme.intellij.styles.TreeViewStyle
val LocalTypography = compositionLocalOf<IntelliJTypography> { localNotProvided() }
val LocalMetrics = compositionLocalOf<IntelliJMetrics> { localNotProvided() }

View File

@@ -1,4 +1,4 @@
package org.jetbrains.jewel.theme.intellij
package org.jetbrains.jewel
data class IntelliJThemeDefinition(
val palette: IntelliJPalette,

View File

@@ -1,4 +1,4 @@
package org.jetbrains.jewel.theme.intellij
package org.jetbrains.jewel
import androidx.compose.ui.text.TextStyle

View File

@@ -1,6 +1,6 @@
@file:OptIn(ExperimentalComposeUiApi::class)
package org.jetbrains.jewel.theme.intellij.components
package org.jetbrains.jewel.components
import androidx.compose.foundation.clickable
import androidx.compose.foundation.focusable
@@ -32,18 +32,17 @@ import androidx.compose.ui.input.pointer.onPointerEvent
import androidx.compose.ui.semantics.Role
import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.onEach
import org.jetbrains.jewel.components.ImageSliceValues
import org.jetbrains.jewel.components.state.ButtonMouseState
import org.jetbrains.jewel.components.state.ButtonState
import org.jetbrains.jewel.modifiers.background
import org.jetbrains.jewel.shape
import org.jetbrains.jewel.styles.ButtonAppearance
import org.jetbrains.jewel.styles.ButtonStyle
import org.jetbrains.jewel.styles.LocalButtonStyle
import org.jetbrains.jewel.styles.LocalIconButtonStyle
import org.jetbrains.jewel.styles.LocalTextStyle
import org.jetbrains.jewel.styles.Styles
import org.jetbrains.jewel.styles.withTextStyle
import org.jetbrains.jewel.theme.intellij.styles.ButtonAppearance
import org.jetbrains.jewel.theme.intellij.styles.ButtonStyle
import org.jetbrains.jewel.theme.intellij.styles.LocalButtonStyle
import org.jetbrains.jewel.theme.intellij.styles.LocalIconButtonStyle
@Composable
fun IconButton(

View File

@@ -1,4 +1,4 @@
package org.jetbrains.jewel.theme.intellij.components
package org.jetbrains.jewel.components
import androidx.compose.foundation.focusable
import androidx.compose.foundation.interaction.FocusInteraction
@@ -42,11 +42,11 @@ import androidx.compose.ui.unit.Dp
import org.jetbrains.jewel.components.state.ButtonMouseState
import org.jetbrains.jewel.components.state.CheckboxState
import org.jetbrains.jewel.shape
import org.jetbrains.jewel.styles.CheckboxStyle
import org.jetbrains.jewel.styles.LocalCheckboxStyle
import org.jetbrains.jewel.styles.LocalTextStyle
import org.jetbrains.jewel.styles.Styles
import org.jetbrains.jewel.styles.withTextStyle
import org.jetbrains.jewel.theme.intellij.styles.CheckboxStyle
import org.jetbrains.jewel.theme.intellij.styles.LocalCheckboxStyle
@Composable
fun Checkbox(

View File

@@ -1,4 +1,4 @@
package org.jetbrains.jewel.theme.intellij.components
package org.jetbrains.jewel.components
import androidx.compose.animation.core.animateFloat
import androidx.compose.animation.core.infiniteRepeatable

View File

@@ -1,4 +1,4 @@
package org.jetbrains.jewel.theme.intellij.components
package org.jetbrains.jewel.components
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
@@ -13,7 +13,7 @@ import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
import org.jetbrains.jewel.Orientation
import org.jetbrains.jewel.theme.intellij.LocalPalette
import org.jetbrains.jewel.LocalPalette
@Composable
fun Divider(

View File

@@ -1,4 +1,4 @@
package org.jetbrains.jewel.theme.intellij.components
package org.jetbrains.jewel.components
import androidx.compose.animation.core.FiniteAnimationSpec
import androidx.compose.foundation.ExperimentalFoundationApi
@@ -45,7 +45,7 @@ import androidx.compose.ui.unit.Density
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.IntOffset
import androidx.compose.ui.unit.dp
import org.jetbrains.jewel.theme.intellij.visibleItemsRange
import org.jetbrains.jewel.util.visibleItemsRange
import kotlin.math.max
import kotlin.math.min
@@ -259,6 +259,7 @@ fun FocusableLazyColumn(
}
}
@OptIn(ExperimentalFoundationApi::class)
private fun LazyListScope.stickyHeader(
entry: LazyListScopeContainer.Entry.StickyHeader,
onItemFocused: (Int) -> Unit
@@ -295,6 +296,7 @@ private fun LazyListScope.items(
}
}
@OptIn(ExperimentalFoundationApi::class)
private fun LazyListScope.item(
entry: LazyListScopeContainer.Entry.Item,
onItemFocused: (Int) -> Unit

View File

@@ -1,4 +1,4 @@
package org.jetbrains.jewel.theme.intellij.components
package org.jetbrains.jewel.components
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.padding

View File

@@ -1,4 +1,4 @@
package org.jetbrains.jewel.theme.intellij.components
package org.jetbrains.jewel.components
import androidx.compose.animation.animateColorAsState
import androidx.compose.foundation.background
@@ -7,7 +7,7 @@ import androidx.compose.foundation.layout.BoxScope
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.ui.Modifier
import org.jetbrains.jewel.theme.intellij.LocalPalette
import org.jetbrains.jewel.LocalPalette
@Composable
fun Surface(modifier: Modifier = Modifier, content: @Composable BoxScope.() -> Unit) {

View File

@@ -1,4 +1,4 @@
package org.jetbrains.jewel.theme.intellij.components
package org.jetbrains.jewel.components
import androidx.compose.foundation.focusable
import androidx.compose.foundation.interaction.FocusInteraction
@@ -40,12 +40,12 @@ import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.unit.Dp
import org.jetbrains.jewel.components.state.ButtonMouseState
import org.jetbrains.jewel.shape
import org.jetbrains.jewel.styles.LocalRadioButtonStyle
import org.jetbrains.jewel.styles.LocalTextStyle
import org.jetbrains.jewel.styles.RadioButtonState
import org.jetbrains.jewel.styles.RadioButtonStyle
import org.jetbrains.jewel.styles.Styles
import org.jetbrains.jewel.styles.withTextStyle
import org.jetbrains.jewel.theme.intellij.styles.LocalRadioButtonStyle
import org.jetbrains.jewel.theme.intellij.styles.RadioButtonState
import org.jetbrains.jewel.theme.intellij.styles.RadioButtonStyle
@Composable
fun RadioButton(

View File

@@ -1,4 +1,4 @@
package org.jetbrains.jewel.theme.intellij.components
package org.jetbrains.jewel.components
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.fillMaxHeight
@@ -13,8 +13,8 @@ import androidx.compose.ui.geometry.Offset
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
import org.jetbrains.jewel.Orientation
import org.jetbrains.jewel.theme.intellij.styles.LocalSeparatorStyle
import org.jetbrains.jewel.theme.intellij.styles.SeparatorStyle
import org.jetbrains.jewel.styles.LocalSeparatorStyle
import org.jetbrains.jewel.styles.SeparatorStyle
@Composable
fun Separator(

View File

@@ -1,15 +1,15 @@
package org.jetbrains.jewel.theme.intellij.components
package org.jetbrains.jewel.components
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.awt.SwingPanel
import org.jetbrains.jewel.Orientation
import org.jetbrains.jewel.theme.intellij.styles.LocalSliderStyle
import org.jetbrains.jewel.theme.intellij.styles.SliderAppearance
import org.jetbrains.jewel.theme.intellij.styles.SliderStyle
import org.jetbrains.jewel.theme.intellij.styles.appearance
import org.jetbrains.jewel.toAwtColor
import org.jetbrains.jewel.styles.LocalSliderStyle
import org.jetbrains.jewel.styles.SliderAppearance
import org.jetbrains.jewel.styles.SliderStyle
import org.jetbrains.jewel.styles.appearance
import org.jetbrains.jewel.util.toAwtColor
import javax.swing.JSlider
import javax.swing.SwingConstants

View File

@@ -1,6 +1,6 @@
@file:OptIn(ExperimentalTypeInference::class)
package org.jetbrains.jewel.theme.intellij.components
package org.jetbrains.jewel.components
import androidx.compose.foundation.background
import androidx.compose.foundation.gestures.FlingBehavior

View File

@@ -1,4 +1,4 @@
package org.jetbrains.jewel.theme.intellij.components
package org.jetbrains.jewel.components
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Arrangement
@@ -36,12 +36,12 @@ import androidx.compose.ui.semantics.Role
import org.jetbrains.jewel.Orientation
import org.jetbrains.jewel.components.state.TabState
import org.jetbrains.jewel.shape
import org.jetbrains.jewel.styles.LocalTabStyle
import org.jetbrains.jewel.styles.LocalTextStyle
import org.jetbrains.jewel.styles.Styles
import org.jetbrains.jewel.styles.TabAppearance
import org.jetbrains.jewel.styles.TabStyle
import org.jetbrains.jewel.styles.withTextStyle
import org.jetbrains.jewel.theme.intellij.styles.LocalTabStyle
import org.jetbrains.jewel.theme.intellij.styles.TabAppearance
import org.jetbrains.jewel.theme.intellij.styles.TabStyle
@Composable
fun <T : Any> TabRow(

View File

@@ -1,4 +1,4 @@
package org.jetbrains.jewel.theme.intellij.components
package org.jetbrains.jewel.components
import androidx.compose.foundation.text.BasicText
import androidx.compose.foundation.text.InlineTextContent

View File

@@ -1,4 +1,4 @@
package org.jetbrains.jewel.theme.intellij.components
package org.jetbrains.jewel.components
import androidx.compose.foundation.focusable
import androidx.compose.foundation.interaction.FocusInteraction
@@ -19,9 +19,9 @@ import androidx.compose.ui.graphics.drawscope.Stroke
import kotlinx.coroutines.flow.onEach
import org.jetbrains.jewel.components.state.TextFieldState
import org.jetbrains.jewel.shape
import org.jetbrains.jewel.styles.LocalTextFieldStyle
import org.jetbrains.jewel.styles.LocalTextStyle
import org.jetbrains.jewel.theme.intellij.styles.LocalTextFieldStyle
import org.jetbrains.jewel.theme.intellij.styles.TextFieldStyle
import org.jetbrains.jewel.styles.TextFieldStyle
@Composable
fun TextField(

View File

@@ -1,6 +1,6 @@
@file:OptIn(ExperimentalComposeUiApi::class)
package org.jetbrains.jewel.theme.intellij.components
package org.jetbrains.jewel.components
import androidx.compose.foundation.ExperimentalFoundationApi
import androidx.compose.foundation.background
@@ -45,12 +45,12 @@ import androidx.compose.ui.input.pointer.isMetaPressed
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.times
import kotlinx.coroutines.launch
import org.jetbrains.jewel.theme.intellij.appendIf
import org.jetbrains.jewel.theme.intellij.styles.LocalTreeViewStyle
import org.jetbrains.jewel.theme.intellij.styles.TreeViewState
import org.jetbrains.jewel.theme.intellij.styles.TreeViewStyle
import org.jetbrains.jewel.theme.intellij.styles.updateTreeViewAppearanceTransition
import org.jetbrains.jewel.theme.intellij.visibleItemsRange
import org.jetbrains.jewel.styles.LocalTreeViewStyle
import org.jetbrains.jewel.styles.TreeViewState
import org.jetbrains.jewel.styles.TreeViewStyle
import org.jetbrains.jewel.styles.updateTreeViewAppearanceTransition
import org.jetbrains.jewel.util.appendIf
import org.jetbrains.jewel.util.visibleItemsRange
import org.jetbrains.skiko.hostOs
import java.io.File
import java.nio.file.Path

View File

@@ -12,27 +12,25 @@ import androidx.compose.ui.unit.IntSize
import org.jetbrains.jewel.components.ImageSlice
import org.jetbrains.jewel.components.ImageSliceValues
fun Modifier.background(image: ImageBitmap, maintainAspect: Boolean = true): Modifier {
return then(
fun Modifier.background(image: ImageBitmap, maintainAspect: Boolean = true): Modifier =
then(
DrawImageBackgroundModifier(image, maintainAspect, debugInspectorInfo {
name = "background"
properties["image"] = image
})
)
}
fun Modifier.background(image: ImageBitmap, slices: ImageSliceValues): Modifier =
background(ImageSlice(image, slices))
fun Modifier.background(imageSlice: ImageSlice): Modifier {
return then(
fun Modifier.background(imageSlice: ImageSlice): Modifier =
then(
DrawImageSliceBackgroundModifier(imageSlice, debugInspectorInfo {
name = "background"
properties["image"] = imageSlice.image
properties["slices"] = imageSlice.slices
})
)
}
abstract class CustomBackgroundModifier(
inspectorInfo: InspectorInfo.() -> Unit

View File

@@ -1,4 +1,4 @@
package org.jetbrains.jewel.theme.intellij.styles
package org.jetbrains.jewel.styles
import androidx.compose.animation.core.updateTransition
import androidx.compose.foundation.layout.PaddingValues
@@ -16,16 +16,13 @@ import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.DpSize
import androidx.compose.ui.unit.dp
import org.jetbrains.jewel.Insets
import org.jetbrains.jewel.IntelliJMetrics
import org.jetbrains.jewel.IntelliJPalette
import org.jetbrains.jewel.ShapeStroke
import org.jetbrains.jewel.animateShapeStroke
import org.jetbrains.jewel.components.state.ButtonAppearanceTransitionState
import org.jetbrains.jewel.components.state.ButtonMouseState
import org.jetbrains.jewel.components.state.ButtonState
import org.jetbrains.jewel.styles.ControlStyle
import org.jetbrains.jewel.styles.Styles
import org.jetbrains.jewel.styles.localNotProvided
import org.jetbrains.jewel.theme.intellij.IntelliJMetrics
import org.jetbrains.jewel.theme.intellij.IntelliJPalette
import org.jetbrains.jewel.toBrush
@Immutable

View File

@@ -1,4 +1,4 @@
package org.jetbrains.jewel.theme.intellij.styles
package org.jetbrains.jewel.styles
import androidx.compose.runtime.Composable
import androidx.compose.runtime.Immutable
@@ -12,14 +12,11 @@ import androidx.compose.ui.state.ToggleableState
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
import org.jetbrains.jewel.IntelliJPainters
import org.jetbrains.jewel.IntelliJPalette
import org.jetbrains.jewel.ShapeStroke
import org.jetbrains.jewel.components.state.ButtonMouseState
import org.jetbrains.jewel.components.state.CheckboxState
import org.jetbrains.jewel.styles.ControlStyle
import org.jetbrains.jewel.styles.Styles
import org.jetbrains.jewel.styles.localNotProvided
import org.jetbrains.jewel.theme.intellij.IntelliJPainters
import org.jetbrains.jewel.theme.intellij.IntelliJPalette
typealias CheckboxStyle = ControlStyle<CheckboxAppearance, CheckboxState>

View File

@@ -1,14 +1,11 @@
package org.jetbrains.jewel.theme.intellij.styles
package org.jetbrains.jewel.styles
import androidx.compose.runtime.Composable
import androidx.compose.runtime.Immutable
import androidx.compose.runtime.ReadOnlyComposable
import androidx.compose.runtime.compositionLocalOf
import androidx.compose.ui.graphics.Color
import org.jetbrains.jewel.styles.ControlStyle
import org.jetbrains.jewel.styles.Styles
import org.jetbrains.jewel.styles.localNotProvided
import org.jetbrains.jewel.theme.intellij.IntelliJPalette
import org.jetbrains.jewel.IntelliJPalette
typealias FrameStyle = ControlStyle<FrameAppearance, Unit>

View File

@@ -1,4 +1,4 @@
package org.jetbrains.jewel.theme.intellij.styles
package org.jetbrains.jewel.styles
import androidx.compose.runtime.Composable
import androidx.compose.runtime.Immutable
@@ -11,13 +11,10 @@ import androidx.compose.ui.graphics.painter.Painter
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
import org.jetbrains.jewel.IntelliJPainters
import org.jetbrains.jewel.IntelliJPalette
import org.jetbrains.jewel.ShapeStroke
import org.jetbrains.jewel.components.state.ButtonMouseState
import org.jetbrains.jewel.styles.ControlStyle
import org.jetbrains.jewel.styles.Styles
import org.jetbrains.jewel.styles.localNotProvided
import org.jetbrains.jewel.theme.intellij.IntelliJPainters
import org.jetbrains.jewel.theme.intellij.IntelliJPalette
typealias RadioButtonStyle = ControlStyle<RadioButtonAppearance, RadioButtonState>

View File

@@ -1,9 +1,9 @@
package org.jetbrains.jewel.theme.intellij.styles
package org.jetbrains.jewel.styles
import androidx.compose.foundation.ScrollbarStyle
import androidx.compose.foundation.shape.RoundedCornerShape
import org.jetbrains.jewel.theme.intellij.IntelliJMetrics
import org.jetbrains.jewel.theme.intellij.IntelliJPalette
import org.jetbrains.jewel.IntelliJMetrics
import org.jetbrains.jewel.IntelliJPalette
// TODO consider that scrollbars have different behaviors on different OSes
// Scrollbars on IJ do NOT follow the LaF defaults! They are only influenced by the ScrollbarUI being used, which depends on the OS.

View File

@@ -1,4 +1,4 @@
package org.jetbrains.jewel.theme.intellij.styles
package org.jetbrains.jewel.styles
import androidx.compose.foundation.BorderStroke
import androidx.compose.runtime.Composable
@@ -7,9 +7,8 @@ import androidx.compose.runtime.ReadOnlyComposable
import androidx.compose.runtime.compositionLocalOf
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.dp
import org.jetbrains.jewel.styles.Styles
import org.jetbrains.jewel.theme.intellij.IntelliJMetrics
import org.jetbrains.jewel.theme.intellij.IntelliJPalette
import org.jetbrains.jewel.IntelliJMetrics
import org.jetbrains.jewel.IntelliJPalette
@Immutable
data class SeparatorStyle(

View File

@@ -1,16 +1,13 @@
package org.jetbrains.jewel.theme.intellij.styles
package org.jetbrains.jewel.styles
import androidx.compose.runtime.Composable
import androidx.compose.runtime.ReadOnlyComposable
import androidx.compose.runtime.compositionLocalOf
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.text.TextStyle
import org.jetbrains.jewel.IntelliJPalette
import org.jetbrains.jewel.Orientation
import org.jetbrains.jewel.styles.ControlStyle
import org.jetbrains.jewel.styles.Styles
import org.jetbrains.jewel.styles.localNotProvided
import org.jetbrains.jewel.theme.intellij.IntelliJPalette
import org.jetbrains.jewel.theme.intellij.IntelliJTypography
import org.jetbrains.jewel.IntelliJTypography
typealias SliderStyle = ControlStyle<SliderAppearance, SliderState>

View File

@@ -1,4 +1,4 @@
package org.jetbrains.jewel.theme.intellij.styles
package org.jetbrains.jewel.styles
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.PaddingValues
@@ -14,13 +14,10 @@ import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
import org.jetbrains.jewel.BottomLineShape
import org.jetbrains.jewel.IntelliJPalette
import org.jetbrains.jewel.Orientation
import org.jetbrains.jewel.ShapeStroke
import org.jetbrains.jewel.components.state.TabState
import org.jetbrains.jewel.styles.ControlStyle
import org.jetbrains.jewel.styles.Styles
import org.jetbrains.jewel.styles.localNotProvided
import org.jetbrains.jewel.theme.intellij.IntelliJPalette
typealias TabStyle = ControlStyle<TabAppearance, TabState>

View File

@@ -1,4 +1,4 @@
package org.jetbrains.jewel.theme.intellij.styles
package org.jetbrains.jewel.styles
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.runtime.Composable
@@ -14,13 +14,10 @@ import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import org.jetbrains.jewel.Insets
import org.jetbrains.jewel.IntelliJMetrics
import org.jetbrains.jewel.IntelliJPalette
import org.jetbrains.jewel.ShapeStroke
import org.jetbrains.jewel.components.state.TextFieldState
import org.jetbrains.jewel.styles.ControlStyle
import org.jetbrains.jewel.styles.Styles
import org.jetbrains.jewel.styles.localNotProvided
import org.jetbrains.jewel.theme.intellij.IntelliJMetrics
import org.jetbrains.jewel.theme.intellij.IntelliJPalette
import org.jetbrains.jewel.toBrush
typealias TextFieldStyle = ControlStyle<TextFieldAppearance, TextFieldState>

View File

@@ -1,4 +1,4 @@
package org.jetbrains.jewel.theme.intellij.styles
package org.jetbrains.jewel.styles
import androidx.compose.animation.animateColor
import androidx.compose.animation.core.updateTransition
@@ -9,13 +9,10 @@ import androidx.compose.runtime.compositionLocalOf
import androidx.compose.runtime.getValue
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.Dp
import org.jetbrains.jewel.styles.ControlStyle
import org.jetbrains.jewel.styles.Styles
import org.jetbrains.jewel.styles.localNotProvided
import org.jetbrains.jewel.theme.intellij.IntelliJMetrics
import org.jetbrains.jewel.theme.intellij.IntelliJPainters
import org.jetbrains.jewel.theme.intellij.IntelliJPalette
import org.jetbrains.jewel.theme.intellij.PainterProvider
import org.jetbrains.jewel.IntelliJMetrics
import org.jetbrains.jewel.IntelliJPainters
import org.jetbrains.jewel.IntelliJPalette
import org.jetbrains.jewel.PainterProvider
typealias TreeViewStyle = ControlStyle<TreeViewAppearance, TreeViewState>

View File

@@ -1,7 +1,8 @@
[versions]
composeDesktop = "1.2.1"
coroutines = "1.6.0"
ideaGradlePlugin = "1.10.0"
idea = "223.7571.203"
ideaGradlePlugin = "1.11.0-SNAPSHOT"
jna = "5.10.0"
kotlin = "1.7.10"
kotlinxSerialization = "1.3.1"
@@ -11,6 +12,12 @@ compose-components-splitpane = { module = "org.jetbrains.compose.components:comp
jna = { module = "net.java.dev.jna:jna-platform", version.ref = "jna" }
kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinxSerialization" }
kotlinx-coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "coroutines" }
ij-platform-ide-core = { module = "com.jetbrains.intellij.platform:ide-core", version.ref = "idea" }
ij-platform-ide-impl = { module = "com.jetbrains.intellij.platform:ide-impl", version.ref = "idea" }
ij-platform-core-ui = { module = "com.jetbrains.intellij.platform:core-ui", version.ref = "idea" }
[bundles]
idea = ["ij-platform-ide-core", "ij-platform-ide-impl", "ij-platform-core-ui"]
[plugins]
composeDesktop = { id = "org.jetbrains.compose", version.ref = "composeDesktop" }

View File

@@ -0,0 +1,41 @@
plugins {
alias(libs.plugins.kotlinJvm)
alias(libs.plugins.composeDesktop)
alias(libs.plugins.ideaGradlePlugin)
}
kotlin {
target {
compilations.all {
kotlinOptions {
jvmTarget = "17"
freeCompilerArgs = listOf("-Xopt-in=kotlin.RequiresOptIn", "-Xopt-in=kotlinx.coroutines.ExperimentalCoroutinesApi")
}
}
}
sourceSets {
all {
languageSettings.optIn("kotlinx.coroutines.ExperimentalCoroutinesApi")
languageSettings.optIn("kotlin.experimental.ExperimentalTypeInference")
languageSettings.optIn("androidx.compose.ui.ExperimentalComposeUiApi")
}
}
}
intellij {
pluginName.set("Jewel")
version.set("LATEST-EAP-SNAPSHOT")
plugins.set(listOf("org.jetbrains.kotlin"))
version.set("2022.3") // IJ 22.3 RC2
}
repositories {
maven("https://androidx.dev/storage/compose-compiler/repository/")
maven("https://www.jetbrains.com/intellij-repository/releases")
maven("https://cache-redirector.jetbrains.com/intellij-dependencies")
mavenCentral()
}
dependencies {
implementation(projects.themes.darcula.ideBridge)
}

View File

@@ -1,4 +1,4 @@
package org.jetbrains.jewel.theme.idea.demo
package org.jetbrains.jewel.samples.ideplugin
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Arrangement
@@ -21,21 +21,21 @@ import com.intellij.openapi.project.Project
import com.intellij.openapi.wm.ToolWindow
import com.intellij.openapi.wm.ToolWindowFactory
import kotlinx.coroutines.ExperimentalCoroutinesApi
import org.jetbrains.jewel.IntelliJTheme
import org.jetbrains.jewel.Orientation
import org.jetbrains.jewel.theme.idea.IntelliJTheme
import org.jetbrains.jewel.theme.idea.addComposePanel
import org.jetbrains.jewel.theme.intellij.IntelliJTheme
import org.jetbrains.jewel.theme.intellij.components.Button
import org.jetbrains.jewel.theme.intellij.components.Checkbox
import org.jetbrains.jewel.theme.intellij.components.CheckboxRow
import org.jetbrains.jewel.theme.intellij.components.Divider
import org.jetbrains.jewel.theme.intellij.components.RadioButtonRow
import org.jetbrains.jewel.theme.intellij.components.Tab
import org.jetbrains.jewel.theme.intellij.components.TabRow
import org.jetbrains.jewel.theme.intellij.components.TabScope
import org.jetbrains.jewel.theme.intellij.components.Text
import org.jetbrains.jewel.theme.intellij.components.TextField
import org.jetbrains.jewel.theme.intellij.components.rememberTabContainerState
import org.jetbrains.jewel.components.Button
import org.jetbrains.jewel.components.Checkbox
import org.jetbrains.jewel.components.CheckboxRow
import org.jetbrains.jewel.components.Divider
import org.jetbrains.jewel.components.RadioButtonRow
import org.jetbrains.jewel.components.Tab
import org.jetbrains.jewel.components.TabRow
import org.jetbrains.jewel.components.TabScope
import org.jetbrains.jewel.components.Text
import org.jetbrains.jewel.components.TextField
import org.jetbrains.jewel.components.rememberTabContainerState
import org.jetbrains.jewel.themes.darcula.idebridge.IntelliJTheme
import org.jetbrains.jewel.themes.darcula.idebridge.addComposePanel
@ExperimentalCoroutinesApi
internal class JewelDemoToolWindow : ToolWindowFactory, DumbAware {
@@ -74,7 +74,10 @@ internal class JewelDemoToolWindow : ToolWindowFactory, DumbAware {
horizontalArrangement = Arrangement.spacedBy(24.dp)
) {
Text("One")
Divider(orientation = Orientation.Vertical, startIndent = 12.dp)
Divider(
orientation = Orientation.Vertical,
startIndent = 12.dp
)
Text("Two")
Divider(orientation = Orientation.Vertical)
Text("Three")

View File

@@ -1,4 +1,4 @@
package org.jetbrains.jewel.theme.idea.demo
package org.jetbrains.jewel.samples.ideplugin
import androidx.compose.foundation.VerticalScrollbar
import androidx.compose.foundation.layout.Box
@@ -18,13 +18,13 @@ import com.intellij.openapi.project.Project
import com.intellij.openapi.wm.ToolWindow
import com.intellij.openapi.wm.ToolWindowFactory
import kotlinx.coroutines.ExperimentalCoroutinesApi
import org.jetbrains.jewel.theme.idea.IntelliJTheme
import org.jetbrains.jewel.theme.idea.addComposePanel
import org.jetbrains.jewel.theme.intellij.components.Surface
import org.jetbrains.jewel.theme.intellij.components.Text
import org.jetbrains.jewel.theme.intellij.components.Tree
import org.jetbrains.jewel.theme.intellij.components.TreeLayout
import org.jetbrains.jewel.theme.intellij.components.asTree
import org.jetbrains.jewel.components.Surface
import org.jetbrains.jewel.components.Text
import org.jetbrains.jewel.components.Tree
import org.jetbrains.jewel.components.TreeLayout
import org.jetbrains.jewel.components.asTree
import org.jetbrains.jewel.themes.darcula.idebridge.IntelliJTheme
import org.jetbrains.jewel.themes.darcula.idebridge.addComposePanel
import java.nio.file.Paths
@ExperimentalCoroutinesApi
@@ -47,7 +47,8 @@ internal class PKGSDemo : ToolWindowFactory, DumbAware {
onTreeElementDoubleClick = {
when (it) {
is Tree.Element.Leaf -> println("CIAO ${it.data.absolutePath}")
is Tree.Element.Node -> tree = tree.replaceElement(it, it.copy(isOpen = !it.isOpen))
is Tree.Element.Node -> tree =
tree.replaceElement(it, it.copy(isOpen = !it.isOpen))
}
},
rowContent = {

View File

@@ -1,5 +1,3 @@
@file:Suppress("UnstableApiUsage")
import org.jetbrains.compose.desktop.application.dsl.TargetFormat
plugins {
@@ -26,17 +24,13 @@ kotlin {
}
dependencies {
implementation(compose.desktop.currentOs) {
exclude(group = "org.jetbrains.compose.material")
}
implementation(projects.library)
implementation(projects.themes.intellij.standalone)
api(libs.compose.components.splitpane)
implementation(projects.themes.darcula.standalone)
implementation(libs.compose.components.splitpane)
}
compose.desktop {
application {
mainClass = "org.jetbrains.jewel.sample.MainKt"
mainClass = "org.jetbrains.jewel.samples.standalone.MainKt"
nativeDistributions {
targetFormats(TargetFormat.Dmg)
packageName = "Jewel Sample"

View File

@@ -1,6 +1,6 @@
@file:OptIn(ExperimentalFoundationApi::class)
package org.jetbrains.jewel.sample
package org.jetbrains.jewel.samples.standalone
import androidx.compose.foundation.ExperimentalFoundationApi
import androidx.compose.foundation.background
@@ -15,13 +15,13 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.window.singleWindowApplication
import kotlinx.coroutines.launch
import org.jetbrains.jewel.theme.intellij.IntelliJThemeLight
import org.jetbrains.jewel.theme.intellij.LocalPalette
import org.jetbrains.jewel.theme.intellij.components.Button
import org.jetbrains.jewel.theme.intellij.components.FocusableLazyColumn
import org.jetbrains.jewel.theme.intellij.components.Text
import org.jetbrains.jewel.theme.intellij.components.TextField
import org.jetbrains.jewel.theme.intellij.components.rememberFocusableLazyListState
import org.jetbrains.jewel.themes.darcula.IntelliJThemeLight
import org.jetbrains.jewel.themes.darcula.LocalPalette
import org.jetbrains.jewel.themes.darcula.components.Button
import org.jetbrains.jewel.themes.darcula.components.FocusableLazyColumn
import org.jetbrains.jewel.themes.darcula.components.Text
import org.jetbrains.jewel.themes.darcula.components.rememberFocusableLazyListState
import java.awt.TextField
fun main() = singleWindowApplication {
IntelliJThemeLight {

View File

@@ -1,4 +1,4 @@
package org.jetbrains.jewel.sample
package org.jetbrains.jewel.samples.standalone
import androidx.compose.foundation.ScrollbarAdapter
import androidx.compose.foundation.VerticalScrollbar
@@ -24,12 +24,12 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
import androidx.compose.ui.window.singleWindowApplication
import org.jetbrains.jewel.theme.intellij.IntelliJMetrics
import org.jetbrains.jewel.theme.intellij.IntelliJTheme
import org.jetbrains.jewel.theme.intellij.components.Checkbox
import org.jetbrains.jewel.theme.intellij.components.Slider
import org.jetbrains.jewel.theme.intellij.default
import org.jetbrains.jewel.theme.intellij.styles.SliderStyle
import org.jetbrains.jewel.themes.darcula.IntelliJMetrics
import org.jetbrains.jewel.themes.darcula.IntelliJTheme
import org.jetbrains.jewel.themes.darcula.components.Checkbox
import org.jetbrains.jewel.themes.darcula.components.Slider
import org.jetbrains.jewel.themes.darcula.default
import org.jetbrains.jewel.themes.darcula.styles.SliderStyle
fun main() = singleWindowApplication(
title = "JSlider sample"

View File

@@ -1,6 +1,6 @@
@file:OptIn(ExperimentalTime::class, ExperimentalComposeUiApi::class, ExperimentalSplitPaneApi::class)
package org.jetbrains.jewel.sample
package org.jetbrains.jewel.samples.standalone
import androidx.compose.foundation.focusable
import androidx.compose.foundation.layout.Column
@@ -15,14 +15,14 @@ import androidx.compose.ui.ExperimentalComposeUiApi
import androidx.compose.ui.Modifier
import androidx.compose.ui.window.singleWindowApplication
import org.jetbrains.compose.splitpane.ExperimentalSplitPaneApi
import org.jetbrains.jewel.theme.intellij.IntelliJTheme
import org.jetbrains.jewel.theme.intellij.components.Checkbox
import org.jetbrains.jewel.theme.intellij.components.Surface
import org.jetbrains.jewel.theme.intellij.components.Tab
import org.jetbrains.jewel.theme.intellij.components.TabRow
import org.jetbrains.jewel.theme.intellij.components.TabScope
import org.jetbrains.jewel.theme.intellij.components.Text
import org.jetbrains.jewel.theme.intellij.components.rememberTabContainerState
import org.jetbrains.jewel.themes.darcula.IntelliJTheme
import org.jetbrains.jewel.themes.darcula.components.Checkbox
import org.jetbrains.jewel.themes.darcula.components.Surface
import org.jetbrains.jewel.themes.darcula.components.Tab
import org.jetbrains.jewel.themes.darcula.components.TabRow
import org.jetbrains.jewel.themes.darcula.components.TabScope
import org.jetbrains.jewel.themes.darcula.components.Text
import org.jetbrains.jewel.themes.darcula.components.rememberTabContainerState
import kotlin.time.ExperimentalTime
@Suppress("EXPERIMENTAL_IS_NOT_ENABLED")

View File

@@ -1,4 +1,4 @@
package org.jetbrains.jewel.sample
package org.jetbrains.jewel.samples.standalone
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.fillMaxSize
@@ -6,11 +6,11 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.dp
import androidx.compose.ui.window.singleWindowApplication
import org.jetbrains.jewel.theme.intellij.IntelliJThemeDark
import org.jetbrains.jewel.theme.intellij.components.Surface
import org.jetbrains.jewel.theme.intellij.components.Table
import org.jetbrains.jewel.theme.intellij.components.TableView
import org.jetbrains.jewel.theme.intellij.components.Text
import org.jetbrains.jewel.themes.darcula.IntelliJThemeDark
import org.jetbrains.jewel.themes.darcula.components.Surface
import org.jetbrains.jewel.themes.darcula.components.Table
import org.jetbrains.jewel.themes.darcula.components.TableView
import org.jetbrains.jewel.themes.darcula.components.Text
fun main() {
singleWindowApplication {

View File

@@ -1,6 +1,6 @@
@file:OptIn(ExperimentalSplitPaneApi::class)
package org.jetbrains.jewel.sample
package org.jetbrains.jewel.samples.standalone
import androidx.compose.foundation.VerticalScrollbar
import androidx.compose.foundation.focusable
@@ -25,14 +25,14 @@ import org.jetbrains.compose.splitpane.ExperimentalSplitPaneApi
import org.jetbrains.compose.splitpane.HorizontalSplitPane
import org.jetbrains.compose.splitpane.rememberSplitPaneState
import org.jetbrains.jewel.Orientation
import org.jetbrains.jewel.theme.intellij.IntelliJTheme
import org.jetbrains.jewel.theme.intellij.components.Checkbox
import org.jetbrains.jewel.theme.intellij.components.Separator
import org.jetbrains.jewel.theme.intellij.components.Surface
import org.jetbrains.jewel.theme.intellij.components.Text
import org.jetbrains.jewel.theme.intellij.components.Tree
import org.jetbrains.jewel.theme.intellij.components.TreeLayout
import org.jetbrains.jewel.theme.intellij.components.asTree
import org.jetbrains.jewel.themes.darcula.IntelliJTheme
import org.jetbrains.jewel.themes.darcula.components.Checkbox
import org.jetbrains.jewel.themes.darcula.components.Separator
import org.jetbrains.jewel.themes.darcula.components.Surface
import org.jetbrains.jewel.themes.darcula.components.Text
import org.jetbrains.jewel.themes.darcula.components.Tree
import org.jetbrains.jewel.themes.darcula.components.TreeLayout
import org.jetbrains.jewel.themes.darcula.components.asTree
import org.jetbrains.skiko.Cursor
import java.nio.file.Paths

View File

@@ -1,4 +1,4 @@
package org.jetbrains.jewel.sample
package org.jetbrains.jewel.samples.standalone
import androidx.compose.foundation.VerticalScrollbar
import androidx.compose.foundation.background
@@ -50,28 +50,28 @@ import org.jetbrains.compose.splitpane.HorizontalSplitPane
import org.jetbrains.jewel.Orientation
import org.jetbrains.jewel.components.Icon
import org.jetbrains.jewel.isMacOs
import org.jetbrains.jewel.theme.intellij.IntelliJTheme
import org.jetbrains.jewel.theme.intellij.components.Button
import org.jetbrains.jewel.theme.intellij.components.CheckboxRow
import org.jetbrains.jewel.theme.intellij.components.CircularProgressIndicator
import org.jetbrains.jewel.theme.intellij.components.Divider
import org.jetbrains.jewel.theme.intellij.components.GroupHeader
import org.jetbrains.jewel.theme.intellij.components.IconButton
import org.jetbrains.jewel.theme.intellij.components.RadioButtonRow
import org.jetbrains.jewel.theme.intellij.components.Slider
import org.jetbrains.jewel.theme.intellij.components.Surface
import org.jetbrains.jewel.theme.intellij.components.Tab
import org.jetbrains.jewel.theme.intellij.components.TabRow
import org.jetbrains.jewel.theme.intellij.components.Text
import org.jetbrains.jewel.theme.intellij.components.TextField
import org.jetbrains.jewel.theme.intellij.components.Tree
import org.jetbrains.jewel.theme.intellij.components.TreeLayout
import org.jetbrains.jewel.theme.intellij.components.asTree
import org.jetbrains.jewel.theme.intellij.components.rememberTabContainerState
import org.jetbrains.jewel.theme.intellij.pxToDp
import org.jetbrains.jewel.theme.intellij.styles.ButtonStyle
import org.jetbrains.jewel.theme.intellij.styles.IntelliJButtonStyleVariations
import org.jetbrains.jewel.theme.intellij.styles.SliderStyle
import org.jetbrains.jewel.themes.darcula.IntelliJTheme
import org.jetbrains.jewel.themes.darcula.components.Button
import org.jetbrains.jewel.themes.darcula.components.CheckboxRow
import org.jetbrains.jewel.themes.darcula.components.CircularProgressIndicator
import org.jetbrains.jewel.themes.darcula.components.Divider
import org.jetbrains.jewel.themes.darcula.components.GroupHeader
import org.jetbrains.jewel.themes.darcula.components.IconButton
import org.jetbrains.jewel.themes.darcula.components.RadioButtonRow
import org.jetbrains.jewel.themes.darcula.components.Slider
import org.jetbrains.jewel.themes.darcula.components.Surface
import org.jetbrains.jewel.themes.darcula.components.Tab
import org.jetbrains.jewel.themes.darcula.components.TabRow
import org.jetbrains.jewel.themes.darcula.components.Text
import org.jetbrains.jewel.themes.darcula.components.TextField
import org.jetbrains.jewel.themes.darcula.components.Tree
import org.jetbrains.jewel.themes.darcula.components.TreeLayout
import org.jetbrains.jewel.themes.darcula.components.asTree
import org.jetbrains.jewel.themes.darcula.components.rememberTabContainerState
import org.jetbrains.jewel.themes.darcula.pxToDp
import org.jetbrains.jewel.themes.darcula.styles.ButtonStyle
import org.jetbrains.jewel.themes.darcula.styles.IntelliJButtonStyleVariations
import org.jetbrains.jewel.themes.darcula.styles.SliderStyle
import java.awt.Cursor
import java.awt.Dimension
import java.awt.event.WindowEvent

View File

Before

Width:  |  Height:  |  Size: 461 B

After

Width:  |  Height:  |  Size: 461 B

View File

Before

Width:  |  Height:  |  Size: 461 B

After

Width:  |  Height:  |  Size: 461 B

View File

@@ -7,6 +7,7 @@ pluginManagement {
gradlePluginPortal()
maven("https://maven.pkg.jetbrains.space/kotlin/p/kotlin/dev/")
maven("https://maven.pkg.jetbrains.space/public/p/compose/dev")
maven("https://oss.sonatype.org/content/repositories/snapshots/")
mavenCentral()
}
}
@@ -22,9 +23,12 @@ dependencyResolutionManagement {
}
include(
":library",
":sample",
":themes:intellij",
":themes:intellij:standalone",
":themes:intellij:idea"
":core",
":compose-utils",
":samples:ide-plugin",
":samples:standalone",
":themes:darcula:standalone",
":themes:darcula:ide-bridge",
":themes:new-ui:standalone",
":themes:new-ui:ide-bridge"
)

View File

@@ -0,0 +1,35 @@
plugins {
alias(libs.plugins.kotlinJvm)
alias(libs.plugins.composeDesktop)
}
kotlin {
target {
compilations.all {
kotlinOptions {
jvmTarget = "17"
}
}
}
sourceSets {
all {
languageSettings {
optIn("kotlinx.coroutines.ExperimentalCoroutinesApi")
optIn("kotlin.experimental.ExperimentalTypeInference")
optIn("androidx.compose.ui.ExperimentalComposeUiApi")
}
}
}
}
repositories {
maven("https://androidx.dev/storage/compose-compiler/repository/")
maven("https://www.jetbrains.com/intellij-repository/releases")
maven("https://cache-redirector.jetbrains.com/intellij-dependencies")
mavenCentral()
}
dependencies {
api(projects.themes.darcula.standalone)
compileOnly(libs.bundles.idea)
}

View File

@@ -1,6 +1,6 @@
@file:Suppress("UnstableApiUsage")
package org.jetbrains.jewel.theme.idea
package org.jetbrains.jewel.themes.darcula.idebridge
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.runtime.Composable

Some files were not shown because too many files have changed in this diff Show More