@ktjs/core 0.18.4 → 0.18.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -34,9 +34,9 @@ type BaseAttr = {
34
34
 
35
35
  // # Events
36
36
  // Mouse events
37
- 'on:click'?: (ev: MouseEvent) => void;
38
- 'on:dblclick'?: (ev: MouseEvent) => void;
39
- 'on:mousedown'?: (ev: MouseEvent) => void;
37
+ 'on:click'?: (ev: PointerEvent) => void;
38
+ 'on:dblclick'?: (ev: PointerEvent) => void;
39
+ 'on:mousedown'?: (ev: PointerEvent) => void;
40
40
  'on:mouseup'?: (ev: MouseEvent) => void;
41
41
  'on:mousemove'?: (ev: MouseEvent) => void;
42
42
  'on:mouseenter'?: (ev: MouseEvent) => void;
@@ -792,13 +792,222 @@ interface AttributesMap {
792
792
  };
793
793
  }
794
794
 
795
- type Redraw = (props?: KTAttribute, ...args: any[]) => KTHTMLElement;
796
- type KTHTMLElement<El extends HTMLElement = HTMLElement, R extends Function = Redraw> = El & {
795
+ interface SVGAttributesMap {
796
+ a: AttributesMap['svg'] & { href?: string; x?: number | string; y?: number | string };
797
+ animate: AttributesMap['svg'] & {
798
+ attributeName?: string;
799
+ from?: string | number;
800
+ to?: string | number;
801
+ dur?: string;
802
+ repeatCount?: string | number;
803
+ };
804
+ animateMotion: AttributesMap['svg'] & { path?: string; dur?: string; rotate?: string };
805
+ animateTransform: AttributesMap['svg'] & { type?: string; from?: string; to?: string; dur?: string };
806
+ circle: AttributesMap['svg'] & { cx?: number | string; cy?: number | string; r?: number | string };
807
+ clipPath: AttributesMap['svg'] & { clipPathUnits?: 'userSpaceOnUse' | 'objectBoundingBox' };
808
+ defs: AttributesMap['svg'];
809
+ desc: AttributesMap['svg'];
810
+ ellipse: AttributesMap['svg'] & {
811
+ cx?: number | string;
812
+ cy?: number | string;
813
+ rx?: number | string;
814
+ ry?: number | string;
815
+ };
816
+
817
+ // Filter primitives (provide common props)
818
+ feBlend: AttributesMap['svg'] & { in?: string; in2?: string; mode?: string };
819
+ feColorMatrix: AttributesMap['svg'] & {
820
+ type?: 'matrix' | 'saturate' | 'hueRotate' | 'luminanceToAlpha';
821
+ values?: string;
822
+ };
823
+ feComponentTransfer: AttributesMap['svg'] & {};
824
+ feComposite: AttributesMap['svg'] & {
825
+ in?: string;
826
+ in2?: string;
827
+ operator?: string;
828
+ k1?: number | string;
829
+ k2?: number | string;
830
+ k3?: number | string;
831
+ k4?: number | string;
832
+ };
833
+ feConvolveMatrix: AttributesMap['svg'] & {
834
+ order?: string | number;
835
+ kernelMatrix?: string;
836
+ divisor?: string | number;
837
+ bias?: string | number;
838
+ };
839
+ feDiffuseLighting: AttributesMap['svg'] & {};
840
+ feDisplacementMap: AttributesMap['svg'] & {
841
+ in?: string;
842
+ in2?: string;
843
+ scale?: number | string;
844
+ xChannelSelector?: string;
845
+ yChannelSelector?: string;
846
+ };
847
+ feDistantLight: AttributesMap['svg'] & { azimuth?: number | string; elevation?: number | string };
848
+ feDropShadow: AttributesMap['svg'] & {
849
+ dx?: number | string;
850
+ dy?: number | string;
851
+ stdDeviation?: number | string;
852
+ floodColor?: string;
853
+ floodOpacity?: number | string;
854
+ };
855
+ feFlood: AttributesMap['svg'] & { floodColor?: string; floodOpacity?: number | string };
856
+ feFuncA: AttributesMap['svg'] & {};
857
+ feFuncB: AttributesMap['svg'] & {};
858
+ feFuncG: AttributesMap['svg'] & {};
859
+ feFuncR: AttributesMap['svg'] & {};
860
+ feGaussianBlur: AttributesMap['svg'] & { stdDeviation?: number | string; edgeMode?: string };
861
+ feImage: AttributesMap['svg'] & { href?: string };
862
+ feMerge: AttributesMap['svg'] & {};
863
+ feMergeNode: AttributesMap['svg'] & { in?: string };
864
+ feMorphology: AttributesMap['svg'] & { operator?: 'erode' | 'dilate'; radius?: number | string };
865
+ feOffset: AttributesMap['svg'] & { dx?: number | string; dy?: number | string };
866
+ fePointLight: AttributesMap['svg'] & { x?: number | string; y?: number | string; z?: number | string };
867
+ feSpecularLighting: AttributesMap['svg'] & {
868
+ specularConstant?: number | string;
869
+ specularExponent?: number | string;
870
+ surfaceScale?: number | string;
871
+ };
872
+ feSpotLight: AttributesMap['svg'] & {
873
+ x?: number | string;
874
+ y?: number | string;
875
+ z?: number | string;
876
+ pointsAtX?: number | string;
877
+ pointsAtY?: number | string;
878
+ pointsAtZ?: number | string;
879
+ specularExponent?: number | string;
880
+ limitingConeAngle?: number | string;
881
+ };
882
+ feTile: AttributesMap['svg'] & {};
883
+ feTurbulence: AttributesMap['svg'] & {
884
+ baseFrequency?: number | string;
885
+ numOctaves?: number | string;
886
+ seed?: number | string;
887
+ stitchTiles?: string;
888
+ type?: 'fractalNoise' | 'turbulence';
889
+ };
890
+
891
+ filter: AttributesMap['svg'] & {
892
+ x?: number | string;
893
+ y?: number | string;
894
+ width?: number | string;
895
+ height?: number | string;
896
+ filterUnits?: string;
897
+ primitiveUnits?: string;
898
+ };
899
+ foreignObject: AttributesMap['svg'] & {
900
+ x?: number | string;
901
+ y?: number | string;
902
+ width?: number | string;
903
+ height?: number | string;
904
+ };
905
+ g: AttributesMap['svg'];
906
+ image: AttributesMap['svg'] & {
907
+ href?: string;
908
+ x?: number | string;
909
+ y?: number | string;
910
+ width?: number | string;
911
+ height?: number | string;
912
+ };
913
+ line: AttributesMap['svg'] & {
914
+ x1?: number | string;
915
+ y1?: number | string;
916
+ x2?: number | string;
917
+ y2?: number | string;
918
+ };
919
+ linearGradient: AttributesMap['svg'] & {
920
+ x1?: number | string;
921
+ y1?: number | string;
922
+ x2?: number | string;
923
+ y2?: number | string;
924
+ gradientUnits?: 'userSpaceOnUse' | 'objectBoundingBox';
925
+ gradientTransform?: string;
926
+ };
927
+ marker: AttributesMap['svg'] & {
928
+ markerUnits?: string;
929
+ markerWidth?: number | string;
930
+ markerHeight?: number | string;
931
+ refX?: number | string;
932
+ refY?: number | string;
933
+ orient?: string;
934
+ };
935
+ mask: AttributesMap['svg'] & {
936
+ maskUnits?: string;
937
+ maskContentUnits?: string;
938
+ x?: number | string;
939
+ y?: number | string;
940
+ width?: number | string;
941
+ height?: number | string;
942
+ };
943
+ metadata: AttributesMap['svg'];
944
+ mpath: AttributesMap['svg'] & { href?: string };
945
+ path: AttributesMap['svg'] & { d?: string; pathLength?: number | string };
946
+ pattern: AttributesMap['svg'] & {
947
+ patternUnits?: string;
948
+ patternContentUnits?: string;
949
+ width?: number | string;
950
+ height?: number | string;
951
+ x?: number | string;
952
+ y?: number | string;
953
+ };
954
+ polygon: AttributesMap['svg'] & { points?: string };
955
+ polyline: AttributesMap['svg'] & { points?: string };
956
+ radialGradient: AttributesMap['svg'] & {
957
+ cx?: number | string;
958
+ cy?: number | string;
959
+ r?: number | string;
960
+ fx?: number | string;
961
+ fy?: number | string;
962
+ gradientUnits?: 'userSpaceOnUse' | 'objectBoundingBox';
963
+ gradientTransform?: string;
964
+ };
965
+ rect: AttributesMap['svg'] & {
966
+ x?: number | string;
967
+ y?: number | string;
968
+ width?: number | string;
969
+ height?: number | string;
970
+ rx?: number | string;
971
+ ry?: number | string;
972
+ };
973
+ script: AttributesMap['svg'] & { href?: string; type?: string };
974
+ set: AttributesMap['svg'] & { attributeName?: string; to?: string | number; begin?: string; dur?: string };
975
+ stop: AttributesMap['svg'] & { offset?: number | string; stopColor?: string; stopOpacity?: number | string };
976
+ style: AttributesMap['svg'] & { media?: string };
977
+ svg: AttributesMap['svg'];
978
+ switch: AttributesMap['svg'];
979
+ symbol: AttributesMap['svg'] & { viewBox?: string; preserveAspectRatio?: string };
980
+ text: AttributesMap['svg'] & {
981
+ x?: number | string;
982
+ y?: number | string;
983
+ dx?: number | string;
984
+ dy?: number | string;
985
+ textLength?: number | string;
986
+ };
987
+ textPath: AttributesMap['svg'] & { href?: string; startOffset?: number | string };
988
+ title: AttributesMap['svg'];
989
+ tspan: AttributesMap['svg'] & {
990
+ x?: number | string;
991
+ y?: number | string;
992
+ dx?: number | string;
993
+ dy?: number | string;
994
+ };
995
+ use: AttributesMap['svg'] & {
996
+ href?: string;
997
+ x?: number | string;
998
+ y?: number | string;
999
+ width?: number | string;
1000
+ height?: number | string;
1001
+ };
1002
+ view: AttributesMap['svg'] & { viewBox?: string; preserveAspectRatio?: string };
1003
+ }
1004
+
1005
+ type KTHTMLElement<El extends HTMLElement = HTMLElement> = El & {
797
1006
  /**
798
1007
  * Automically generate a redraw function if it is not provided
799
1008
  * @param props
800
1009
  */
801
- redraw: R;
1010
+ redraw: (props?: KTAttribute, ...args: any[]) => KTHTMLElement;
802
1011
  };
803
1012
 
804
1013
  declare global {
@@ -806,49 +1015,174 @@ declare global {
806
1015
  type Element = KTHTMLElement;
807
1016
 
808
1017
  interface IntrinsicElements {
809
- div: AttributesMap['div'];
810
- span: AttributesMap['span'];
811
- input: AttributesMap['input'];
812
- button: AttributesMap['button'];
813
- ul: AttributesMap['ul'];
814
- li: AttributesMap['li'];
815
- p: AttributesMap['p'];
816
- a: AttributesMap['a'];
817
- img: AttributesMap['img'];
818
- form: AttributesMap['form'];
1018
+ // Document-level & metadata
1019
+ html: AttributesMap['html'];
1020
+ head: AttributesMap['head'];
1021
+ title: AttributesMap['title'];
1022
+ base: AttributesMap['base'];
1023
+ link: AttributesMap['link'];
1024
+ meta: AttributesMap['meta'];
1025
+
1026
+ // Sectioning
1027
+ body: AttributesMap['body'];
1028
+ header: AttributesMap['header'];
1029
+ footer: AttributesMap['footer'];
1030
+ nav: AttributesMap['nav'];
1031
+ main: AttributesMap['main'];
1032
+ section: AttributesMap['section'];
1033
+ article: AttributesMap['article'];
1034
+ aside: AttributesMap['aside'];
1035
+
1036
+ // Headings
819
1037
  h1: AttributesMap['h1'];
820
1038
  h2: AttributesMap['h2'];
821
1039
  h3: AttributesMap['h3'];
822
1040
  h4: AttributesMap['h4'];
823
1041
  h5: AttributesMap['h5'];
824
1042
  h6: AttributesMap['h6'];
1043
+
1044
+ // Text content
1045
+ p: AttributesMap['p'];
1046
+ pre: AttributesMap['pre'];
1047
+ code: AttributesMap['code'];
1048
+ strong: AttributesMap['strong'];
1049
+ small: AttributesMap['small'];
1050
+ em: AttributesMap['em'];
1051
+ br: AttributesMap['br'];
1052
+ i: AttributesMap['i'];
1053
+
1054
+ // Lists
1055
+ ul: AttributesMap['ul'];
1056
+ ol: AttributesMap['ol'];
1057
+ li: AttributesMap['li'];
1058
+
1059
+ // Tables
825
1060
  table: AttributesMap['table'];
826
1061
  thead: AttributesMap['thead'];
827
1062
  tbody: AttributesMap['tbody'];
1063
+ tfoot: AttributesMap['tfoot'];
828
1064
  tr: AttributesMap['tr'];
829
1065
  th: AttributesMap['th'];
830
1066
  td: AttributesMap['td'];
1067
+
1068
+ // Forms
1069
+ form: AttributesMap['form'];
831
1070
  label: AttributesMap['label'];
1071
+ input: AttributesMap['input'];
1072
+ textarea: AttributesMap['textarea'];
832
1073
  select: AttributesMap['select'];
833
1074
  option: AttributesMap['option'];
834
- textarea: AttributesMap['textarea'];
835
- section: AttributesMap['section'];
836
- header: AttributesMap['header'];
837
- footer: AttributesMap['footer'];
838
- nav: AttributesMap['nav'];
839
- article: AttributesMap['article'];
840
- aside: AttributesMap['aside'];
841
- main: AttributesMap['main'];
842
- figure: AttributesMap['figure'];
843
- figcaption: AttributesMap['figcaption'];
844
- video: AttributesMap['video'];
1075
+ optgroup: AttributesMap['optgroup'];
1076
+ button: AttributesMap['button'];
1077
+ fieldset: AttributesMap['fieldset'];
1078
+ legend: AttributesMap['legend'];
1079
+ datalist: AttributesMap['datalist'];
1080
+ output: AttributesMap['output'];
1081
+
1082
+ // Media & embedded
1083
+ img: AttributesMap['img'];
1084
+ picture: AttributesMap['picture'];
1085
+ source: AttributesMap['source'];
845
1086
  audio: AttributesMap['audio'];
1087
+ video: AttributesMap['video'];
1088
+ track: AttributesMap['track'];
1089
+ iframe: AttributesMap['iframe'];
1090
+ embed: AttributesMap['embed'];
1091
+ object: AttributesMap['object'];
846
1092
  canvas: AttributesMap['canvas'];
1093
+
1094
+ // Interactive & misc
1095
+ a: AttributesMap['a'] & SVGAttributesMap['a'];
1096
+ area: AttributesMap['area'];
1097
+ map: AttributesMap['map'];
1098
+ details: AttributesMap['details'];
1099
+ dialog: AttributesMap['dialog'];
1100
+ summary: AttributesMap['summary'];
1101
+ slot: AttributesMap['slot'];
1102
+
1103
+ // Scripting & styles
1104
+ script: AttributesMap['script'];
1105
+ style: AttributesMap['style'];
1106
+
1107
+ // Semantic & phrasing
1108
+ figure: AttributesMap['figure'];
1109
+ figcaption: AttributesMap['figcaption'];
1110
+ blockquote: AttributesMap['blockquote'];
1111
+ q: AttributesMap['q'];
1112
+
1113
+ // Generic elements
1114
+ div: AttributesMap['div'];
1115
+ span: AttributesMap['span'];
1116
+ address: AttributesMap['address'];
1117
+ abbr: AttributesMap['abbr'];
1118
+ b: AttributesMap['b'];
1119
+ cite: AttributesMap['cite'];
1120
+ dl: AttributesMap['dl'];
1121
+ dt: AttributesMap['dt'];
1122
+ dd: AttributesMap['dd'];
1123
+ hr: AttributesMap['hr'];
1124
+
1125
+ // SVG
847
1126
  svg: AttributesMap['svg'];
848
- code: AttributesMap['code'];
849
- strong: AttributesMap['strong'];
850
- small: AttributesMap['small'];
851
- pre: AttributesMap['pre'];
1127
+ // a: SVGAttributesMap['a'];
1128
+ animate: SVGAttributesMap['animate'];
1129
+ animateMotion: SVGAttributesMap['animateMotion'];
1130
+ animateTransform: SVGAttributesMap['animateTransform'];
1131
+ circle: SVGAttributesMap['circle'];
1132
+ clipPath: SVGAttributesMap['clipPath'];
1133
+ defs: SVGAttributesMap['defs'];
1134
+ desc: SVGAttributesMap['desc'];
1135
+ ellipse: SVGAttributesMap['ellipse'];
1136
+ feBlend: SVGAttributesMap['feBlend'];
1137
+ feColorMatrix: SVGAttributesMap['feColorMatrix'];
1138
+ feComponentTransfer: SVGAttributesMap['feComponentTransfer'];
1139
+ feComposite: SVGAttributesMap['feComposite'];
1140
+ feConvolveMatrix: SVGAttributesMap['feConvolveMatrix'];
1141
+ feDiffuseLighting: SVGAttributesMap['feDiffuseLighting'];
1142
+ feDisplacementMap: SVGAttributesMap['feDisplacementMap'];
1143
+ feDistantLight: SVGAttributesMap['feDistantLight'];
1144
+ feDropShadow: SVGAttributesMap['feDropShadow'];
1145
+ feFlood: SVGAttributesMap['feFlood'];
1146
+ feFuncA: SVGAttributesMap['feFuncA'];
1147
+ feFuncB: SVGAttributesMap['feFuncB'];
1148
+ feFuncG: SVGAttributesMap['feFuncG'];
1149
+ feFuncR: SVGAttributesMap['feFuncR'];
1150
+ feGaussianBlur: SVGAttributesMap['feGaussianBlur'];
1151
+ feImage: SVGAttributesMap['feImage'];
1152
+ feMerge: SVGAttributesMap['feMerge'];
1153
+ feMergeNode: SVGAttributesMap['feMergeNode'];
1154
+ feMorphology: SVGAttributesMap['feMorphology'];
1155
+ feOffset: SVGAttributesMap['feOffset'];
1156
+ fePointLight: SVGAttributesMap['fePointLight'];
1157
+ feSpecularLighting: SVGAttributesMap['feSpecularLighting'];
1158
+ feSpotLight: SVGAttributesMap['feSpotLight'];
1159
+ feTile: SVGAttributesMap['feTile'];
1160
+ feTurbulence: SVGAttributesMap['feTurbulence'];
1161
+ filter: SVGAttributesMap['filter'];
1162
+ foreignObject: SVGAttributesMap['foreignObject'];
1163
+ g: SVGAttributesMap['g'];
1164
+ image: SVGAttributesMap['image'];
1165
+ line: SVGAttributesMap['line'];
1166
+ linearGradient: SVGAttributesMap['linearGradient'];
1167
+ marker: SVGAttributesMap['marker'];
1168
+ mask: SVGAttributesMap['mask'];
1169
+ metadata: SVGAttributesMap['metadata'];
1170
+ mpath: SVGAttributesMap['mpath'];
1171
+ path: SVGAttributesMap['path'];
1172
+ pattern: SVGAttributesMap['pattern'];
1173
+ polygon: SVGAttributesMap['polygon'];
1174
+ polyline: SVGAttributesMap['polyline'];
1175
+ radialGradient: SVGAttributesMap['radialGradient'];
1176
+ rect: SVGAttributesMap['rect'];
1177
+ set: SVGAttributesMap['set'];
1178
+ stop: SVGAttributesMap['stop'];
1179
+ switch: SVGAttributesMap['switch'];
1180
+ symbol: SVGAttributesMap['symbol'];
1181
+ text: SVGAttributesMap['text'];
1182
+ textPath: SVGAttributesMap['textPath'];
1183
+ tspan: SVGAttributesMap['tspan'];
1184
+ use: SVGAttributesMap['use'];
1185
+ view: SVGAttributesMap['view'];
852
1186
  }
853
1187
 
854
1188
  interface IntrinsicAttributes {
@@ -962,7 +1296,7 @@ type HTML<T extends (HTMLTag | SVGTag) & otherstring> = T extends SVGTag ? SVGEl
962
1296
  * ## About
963
1297
  * @package @ktjs/core
964
1298
  * @author Kasukabe Tsumugi <futami16237@gmail.com>
965
- * @version 0.18.4 (Last Update: 2026.01.31 01:05:10.539)
1299
+ * @version 0.18.7 (Last Update: 2026.01.31 14:27:12.962)
966
1300
  * @license MIT
967
1301
  * @link https://github.com/baendlorel/kt.js
968
1302
  * @link https://baendlorel.github.io/ Welcome to my site!
@@ -1052,4 +1386,4 @@ interface KTForProps<T> {
1052
1386
  declare function KTFor<T>(props: KTForProps<T>): KForElement;
1053
1387
 
1054
1388
  export { Fragment, KTAsync, KTFor, h as createElement, createRedrawable, createRedrawableNoref, h, jsx, jsxDEV, jsxs, ref };
1055
- export type { EventHandler, HTMLTag, KTAttribute, KTForProps, KTHTMLElement, KTRawAttr, KTRawContent, KTRawContents, KTRef, Redraw };
1389
+ export type { EventHandler, HTMLTag, KTAttribute, KTForProps, KTHTMLElement, KTRawAttr, KTRawContent, KTRawContents, KTRef };
@@ -202,7 +202,7 @@ var __ktjs_core__ = (function (exports) {
202
202
  * ## About
203
203
  * @package @ktjs/core
204
204
  * @author Kasukabe Tsumugi <futami16237@gmail.com>
205
- * @version 0.18.4 (Last Update: 2026.01.31 01:05:10.539)
205
+ * @version 0.18.7 (Last Update: 2026.01.31 14:27:12.962)
206
206
  * @license MIT
207
207
  * @link https://github.com/baendlorel/kt.js
208
208
  * @link https://baendlorel.github.io/ Welcome to my site!
@@ -215,7 +215,7 @@ var __ktjs_core__ = (function (exports) {
215
215
  * ## About
216
216
  * @package @ktjs/core
217
217
  * @author Kasukabe Tsumugi <futami16237@gmail.com>
218
- * @version 0.18.4 (Last Update: 2026.01.31 01:05:10.539)
218
+ * @version 0.18.7 (Last Update: 2026.01.31 14:27:12.962)
219
219
  * @license MIT
220
220
  * @link https://github.com/baendlorel/kt.js
221
221
  * @link https://baendlorel.github.io/ Welcome to my site!
package/dist/index.mjs CHANGED
@@ -199,7 +199,7 @@ const svgTempWrapper = document.createElement('div');
199
199
  * ## About
200
200
  * @package @ktjs/core
201
201
  * @author Kasukabe Tsumugi <futami16237@gmail.com>
202
- * @version 0.18.4 (Last Update: 2026.01.31 01:05:10.539)
202
+ * @version 0.18.7 (Last Update: 2026.01.31 14:27:12.962)
203
203
  * @license MIT
204
204
  * @link https://github.com/baendlorel/kt.js
205
205
  * @link https://baendlorel.github.io/ Welcome to my site!