@@ -13,13 +13,14 @@ import type { IpcRenderer } from 'electron';
1313import { debounce } from 'throttle-debounce' ;
1414
1515import 'swach/components/kuler-palette-row' ;
16+ import type ColorModel from 'swach/data-models/color' ;
1617import type { ColorPOJO } from 'swach/services/color-utils' ;
1718import type ColorUtils from 'swach/services/color-utils' ;
1819
1920type harmonyTypes = 'analogous' | 'monochromatic' | 'tetrad' | 'triad' ;
2021
2122class Palette {
22- @tracked colors = [ ] ;
23+ @tracked colors : ColorModel [ ] = [ ] ;
2324 @tracked selectedColorIndex = 0 ;
2425
2526 createdAt : Date ;
@@ -39,9 +40,7 @@ class Palette {
3940interface KulerSignature {
4041 Element : HTMLDivElement ;
4142 Args : {
42- // TODO: correctly type this instead of using `any`
43- // eslint-disable-next-line @typescript-eslint/no-explicit-any
44- baseColor : any ;
43+ baseColor : ColorModel ;
4544 } ;
4645}
4746
@@ -53,10 +52,10 @@ export default class KulerComponent extends Component<KulerSignature> {
5352 // eslint-disable-next-line @typescript-eslint/no-explicit-any
5453 _debouncedColorChange ! : any ;
5554 colorPicker ! : iro . ColorPicker ;
56- harmonies = [ 'analogous' , 'monochromatic' , 'tetrad' , 'triad' ] ;
55+ harmonies = [ 'analogous' , 'monochromatic' , 'tetrad' , 'triad' ] as const ;
5756 declare ipcRenderer : IpcRenderer ;
5857
59- @tracked baseColor ;
58+ @tracked baseColor ! : ColorModel ;
6059 @tracked colors = [ ] ;
6160 @tracked palettes : Palette [ ] = [ ] ;
6261 @tracked selectedPalette ! : Palette ;
@@ -118,21 +117,22 @@ export default class KulerComponent extends Component<KulerSignature> {
118117 for ( const harmony of this . harmonies ) {
119118 const palette = new Palette ( harmony as harmonyTypes ) ;
120119
121- //@ts -expect-error TODO fix this error later
122- let colors = new TinyColor ( this . baseColor . hex ) [ harmony ] ( 5 ) ;
120+ const tinyColors = new TinyColor ( this . baseColor . hex ) [ harmony ] ( 5 ) ;
123121
124- colors = colors . map ( ( color : TinyColor ) => {
122+ const colorPOJOs = tinyColors . map ( ( color : TinyColor ) => {
125123 return this . colorUtils . createColorPOJO ( color . toHexString ( ) ) ;
126124 } ) ;
127- colors = colors . map ( ( color : ColorPOJO ) => color . attributes ) ;
125+ const colors = colorPOJOs . map (
126+ ( color : ColorPOJO ) => color . attributes ,
127+ ) as unknown as ColorModel [ ] ;
128128
129129 palette . colors = colors ;
130- palettes . pushObject ( palette ) ;
130+ palettes . push ( palette ) ;
131131 }
132132
133133 this . palettes = palettes ;
134134
135- this . selectedPalette = this . palettes [ selectedPaletteTypeIndex ] ;
135+ this . selectedPalette = this . palettes [ selectedPaletteTypeIndex ] as Palette ;
136136 }
137137
138138 @action
@@ -144,7 +144,7 @@ export default class KulerComponent extends Component<KulerSignature> {
144144 this . palettes . indexOf ( this . selectedPalette ) ,
145145 ) . then ( ( ) => {
146146 this . colorPicker . setColors (
147- this . selectedPalette . colors . mapBy ( ' hex' ) ,
147+ this . selectedPalette . colors . map ( ( color : ColorModel ) => color . hex ) ,
148148 this . selectedPalette . selectedColorIndex ,
149149 ) ;
150150 } ) ;
@@ -170,7 +170,7 @@ export default class KulerComponent extends Component<KulerSignature> {
170170 if ( palette ) {
171171 this . selectedPalette = palette ;
172172 this . colorPicker . setColors (
173- this . selectedPalette . colors . mapBy ( ' hex' ) ,
173+ this . selectedPalette . colors . map ( ( color : ColorModel ) => color . hex ) ,
174174 palette . selectedColorIndex ,
175175 ) ;
176176 }
@@ -200,7 +200,7 @@ export default class KulerComponent extends Component<KulerSignature> {
200200 }
201201
202202 this . colorPicker . setColors (
203- this . selectedPalette . colors . mapBy ( ' hex' ) ,
203+ this . selectedPalette . colors . map ( ( color : ColorModel ) => color . hex ) ,
204204 this . selectedPalette . selectedColorIndex ,
205205 ) ;
206206 }
@@ -219,7 +219,7 @@ export default class KulerComponent extends Component<KulerSignature> {
219219 this . colorPicker = ( iro . ColorPicker as any ) (
220220 '#kuler-color-picker-container' ,
221221 {
222- colors : this . selectedPalette . colors . mapBy ( ' hex' ) ,
222+ colors : this . selectedPalette . colors . map ( ( color : ColorModel ) => color . hex ) ,
223223 layoutDirection : 'horizontal' ,
224224 layout : [
225225 {
0 commit comments