@ktjs/core 0.31.3 → 0.31.4

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
@@ -2,20 +2,23 @@ import { otherstring, HTMLTag, SVGTag, MathMLTag, JSXTag } from '@ktjs/shared';
2
2
  export { HTMLTag, InputElementTag, MathMLTag, SVGTag } from '@ktjs/shared';
3
3
 
4
4
  // Base events available to all HTML elements
5
- type BaseAttr = KTPrefixedEventAttribute &
6
- KTReactifyProps<{
7
- [k: string]: any;
8
-
5
+ type BaseAttr = KTPrefixedEventAttribute & {
6
+ [k: string]: KTMaybeReactive<any>;
7
+ [k: `on:${string}`]: (...args: any[]) => any;
8
+ } & KTMaybeReactiveProps<{
9
9
  // # base attributes
10
+ id?: string;
11
+ name?: string;
10
12
  class?: string;
11
13
  className?: string;
12
- style?: string | Partial<CSSStyleDeclaration>;
13
- }>;
14
+ }> & {
15
+ style?: string | Partial<CSSStyleDeclaration> | KTReactify<string> | KTReactify<Partial<CSSStyleDeclaration>>;
16
+ };
14
17
 
15
18
  interface AttributesMap {
16
19
  // Anchor element
17
20
  a: BaseAttr &
18
- KTReactifyProps<{
21
+ KTMaybeReactiveProps<{
19
22
  download?: string;
20
23
  href?: string;
21
24
  hreflang?: string;
@@ -36,7 +39,7 @@ interface AttributesMap {
36
39
 
37
40
  // Area element
38
41
  area: BaseAttr &
39
- KTReactifyProps<{
42
+ KTMaybeReactiveProps<{
40
43
  alt?: string;
41
44
  coords?: string;
42
45
  download?: string;
@@ -58,7 +61,7 @@ interface AttributesMap {
58
61
 
59
62
  // Audio element
60
63
  audio: BaseAttr &
61
- KTReactifyProps<{
64
+ KTMaybeReactiveProps<{
62
65
  autoplay?: boolean;
63
66
  controls?: boolean;
64
67
  crossorigin?: 'anonymous' | 'use-credentials' | '';
@@ -70,20 +73,20 @@ interface AttributesMap {
70
73
 
71
74
  // Base element
72
75
  base: BaseAttr &
73
- KTReactifyProps<{
76
+ KTMaybeReactiveProps<{
74
77
  href?: string;
75
78
  target?: '_self' | '_blank' | '_parent' | '_top' | string;
76
79
  }>;
77
80
 
78
81
  // Body element
79
- body: BaseAttr & KTReactifyProps<{}>;
82
+ body: BaseAttr & KTMaybeReactiveProps<{}>;
80
83
 
81
84
  // BR element
82
- br: BaseAttr & KTReactifyProps<{}>;
85
+ br: BaseAttr & KTMaybeReactiveProps<{}>;
83
86
 
84
87
  // Button element
85
88
  button: BaseAttr &
86
- KTReactifyProps<{
89
+ KTMaybeReactiveProps<{
87
90
  disabled?: boolean;
88
91
  form?: string;
89
92
  formaction?: string;
@@ -98,57 +101,57 @@ interface AttributesMap {
98
101
 
99
102
  // Canvas element
100
103
  canvas: BaseAttr &
101
- KTReactifyProps<{
104
+ KTMaybeReactiveProps<{
102
105
  height?: number | string;
103
106
  width?: number | string;
104
107
  }>;
105
108
 
106
109
  // Table caption element
107
- caption: BaseAttr & KTReactifyProps<{}>;
110
+ caption: BaseAttr & KTMaybeReactiveProps<{}>;
108
111
 
109
112
  // Col element
110
113
  col: BaseAttr &
111
- KTReactifyProps<{
114
+ KTMaybeReactiveProps<{
112
115
  span?: number | string;
113
116
  }>;
114
117
 
115
118
  // Colgroup element
116
119
  colgroup: BaseAttr &
117
- KTReactifyProps<{
120
+ KTMaybeReactiveProps<{
118
121
  span?: number | string;
119
122
  }>;
120
123
 
121
124
  // Data element
122
125
  data: BaseAttr &
123
- KTReactifyProps<{
126
+ KTMaybeReactiveProps<{
124
127
  value?: string;
125
128
  }>;
126
129
 
127
130
  // Datalist element
128
- datalist: BaseAttr & KTReactifyProps<{}>;
131
+ datalist: BaseAttr & KTMaybeReactiveProps<{}>;
129
132
 
130
133
  // Del element
131
134
  del: BaseAttr &
132
- KTReactifyProps<{
135
+ KTMaybeReactiveProps<{
133
136
  cite?: string;
134
137
  datetime?: string;
135
138
  }>;
136
139
 
137
140
  // Details element
138
141
  details: BaseAttr &
139
- KTReactifyProps<{
142
+ KTMaybeReactiveProps<{
140
143
  open?: boolean;
141
144
  }>;
142
145
 
143
146
  // Dialog element
144
147
  dialog: BaseAttr &
145
- KTReactifyProps<{
148
+ KTMaybeReactiveProps<{
146
149
  open?: boolean;
147
150
  }>;
148
151
 
149
152
  // Embed element
150
153
  embed: BaseAttr &
151
- KTReactifyProps<{
154
+ KTMaybeReactiveProps<{
152
155
  height?: number | string;
153
156
  src?: string;
154
157
  type?: string;
@@ -157,7 +160,7 @@ interface AttributesMap {
157
160
 
158
161
  // Fieldset element
159
162
  fieldset: BaseAttr &
160
- KTReactifyProps<{
163
+ KTMaybeReactiveProps<{
161
164
  disabled?: boolean;
162
165
  form?: string;
163
166
  name?: string;
@@ -165,7 +168,7 @@ interface AttributesMap {
165
168
 
166
169
  // Form element
167
170
  form: BaseAttr &
168
- KTReactifyProps<{
171
+ KTMaybeReactiveProps<{
169
172
  'accept-charset'?: string;
170
173
  action?: string;
171
174
  autocomplete?: 'on' | 'off';
@@ -178,17 +181,17 @@ interface AttributesMap {
178
181
  }>;
179
182
 
180
183
  // Head element
181
- head: BaseAttr & KTReactifyProps<{}>;
184
+ head: BaseAttr & KTMaybeReactiveProps<{}>;
182
185
 
183
186
  // HR element
184
- hr: BaseAttr & KTReactifyProps<{}>;
187
+ hr: BaseAttr & KTMaybeReactiveProps<{}>;
185
188
 
186
189
  // HTML element
187
- html: BaseAttr & KTReactifyProps<{}>;
190
+ html: BaseAttr & KTMaybeReactiveProps<{}>;
188
191
 
189
192
  // IFrame element
190
193
  iframe: BaseAttr &
191
- KTReactifyProps<{
194
+ KTMaybeReactiveProps<{
192
195
  allow?: string;
193
196
  allowfullscreen?: boolean;
194
197
  allowpaymentrequest?: boolean;
@@ -212,7 +215,7 @@ interface AttributesMap {
212
215
 
213
216
  // Image element
214
217
  img: BaseAttr &
215
- KTReactifyProps<{
218
+ KTMaybeReactiveProps<{
216
219
  alt?: string;
217
220
  crossorigin?: 'anonymous' | 'use-credentials' | '';
218
221
  decoding?: 'sync' | 'async' | 'auto';
@@ -237,7 +240,7 @@ interface AttributesMap {
237
240
 
238
241
  // Input element
239
242
  input: BaseAttr &
240
- KTReactifyProps<{
243
+ KTMaybeReactiveProps<{
241
244
  accept?: string;
242
245
  alt?: string;
243
246
  autocomplete?: string;
@@ -294,29 +297,29 @@ interface AttributesMap {
294
297
 
295
298
  // Ins element
296
299
  ins: BaseAttr &
297
- KTReactifyProps<{
300
+ KTMaybeReactiveProps<{
298
301
  cite?: string;
299
302
  datetime?: string;
300
303
  }>;
301
304
 
302
305
  // Label element
303
306
  label: BaseAttr &
304
- KTReactifyProps<{
307
+ KTMaybeReactiveProps<{
305
308
  for?: string;
306
309
  }>;
307
310
 
308
311
  // Legend element
309
- legend: BaseAttr & KTReactifyProps<{}>;
312
+ legend: BaseAttr & KTMaybeReactiveProps<{}>;
310
313
 
311
314
  // LI element
312
315
  li: BaseAttr &
313
- KTReactifyProps<{
316
+ KTMaybeReactiveProps<{
314
317
  value?: number | string;
315
318
  }>;
316
319
 
317
320
  // Link element
318
321
  link: BaseAttr &
319
- KTReactifyProps<{
322
+ KTMaybeReactiveProps<{
320
323
  as?: string;
321
324
  crossorigin?: 'anonymous' | 'use-credentials' | '';
322
325
  disabled?: boolean;
@@ -342,16 +345,16 @@ interface AttributesMap {
342
345
 
343
346
  // Map element
344
347
  map: BaseAttr &
345
- KTReactifyProps<{
348
+ KTMaybeReactiveProps<{
346
349
  name?: string;
347
350
  }>;
348
351
 
349
352
  // Menu element
350
- menu: BaseAttr & KTReactifyProps<{}>;
353
+ menu: BaseAttr & KTMaybeReactiveProps<{}>;
351
354
 
352
355
  // Meta element
353
356
  meta: BaseAttr &
354
- KTReactifyProps<{
357
+ KTMaybeReactiveProps<{
355
358
  charset?: string;
356
359
  content?: string;
357
360
  'http-equiv'?: 'content-security-policy' | 'content-type' | 'default-style' | 'refresh' | string;
@@ -360,7 +363,7 @@ interface AttributesMap {
360
363
 
361
364
  // Meter element
362
365
  meter: BaseAttr &
363
- KTReactifyProps<{
366
+ KTMaybeReactiveProps<{
364
367
  form?: string;
365
368
  high?: number | string;
366
369
  low?: number | string;
@@ -372,7 +375,7 @@ interface AttributesMap {
372
375
 
373
376
  // Object element
374
377
  object: BaseAttr &
375
- KTReactifyProps<{
378
+ KTMaybeReactiveProps<{
376
379
  data?: string;
377
380
  form?: string;
378
381
  height?: number | string;
@@ -384,7 +387,7 @@ interface AttributesMap {
384
387
 
385
388
  // OL element
386
389
  ol: BaseAttr &
387
- KTReactifyProps<{
390
+ KTMaybeReactiveProps<{
388
391
  reversed?: boolean;
389
392
  start?: number | string;
390
393
  type?: '1' | 'a' | 'A' | 'i' | 'I';
@@ -392,14 +395,14 @@ interface AttributesMap {
392
395
 
393
396
  // Optgroup element
394
397
  optgroup: BaseAttr &
395
- KTReactifyProps<{
398
+ KTMaybeReactiveProps<{
396
399
  disabled?: boolean;
397
400
  label?: string;
398
401
  }>;
399
402
 
400
403
  // Option element
401
404
  option: BaseAttr &
402
- KTReactifyProps<{
405
+ KTMaybeReactiveProps<{
403
406
  disabled?: boolean;
404
407
  label?: string;
405
408
  selected?: boolean;
@@ -408,39 +411,39 @@ interface AttributesMap {
408
411
 
409
412
  // Output element
410
413
  output: BaseAttr &
411
- KTReactifyProps<{
414
+ KTMaybeReactiveProps<{
412
415
  for?: string;
413
416
  form?: string;
414
417
  name?: string;
415
418
  }>;
416
419
 
417
420
  // Picture element
418
- picture: BaseAttr & KTReactifyProps<{}>;
421
+ picture: BaseAttr & KTMaybeReactiveProps<{}>;
419
422
 
420
423
  // Pre element
421
- pre: BaseAttr & KTReactifyProps<{}>;
424
+ pre: BaseAttr & KTMaybeReactiveProps<{}>;
422
425
 
423
426
  // Progress element
424
427
  progress: BaseAttr &
425
- KTReactifyProps<{
428
+ KTMaybeReactiveProps<{
426
429
  max?: number | string;
427
430
  value?: number | string;
428
431
  }>;
429
432
 
430
433
  // Quote element (q and blockquote)
431
434
  q: BaseAttr &
432
- KTReactifyProps<{
435
+ KTMaybeReactiveProps<{
433
436
  cite?: string;
434
437
  }>;
435
438
 
436
439
  blockquote: BaseAttr &
437
- KTReactifyProps<{
440
+ KTMaybeReactiveProps<{
438
441
  cite?: string;
439
442
  }>;
440
443
 
441
444
  // Script element
442
445
  script: BaseAttr &
443
- KTReactifyProps<{
446
+ KTMaybeReactiveProps<{
444
447
  async?: boolean;
445
448
  crossorigin?: 'anonymous' | 'use-credentials' | '';
446
449
  defer?: boolean;
@@ -461,7 +464,7 @@ interface AttributesMap {
461
464
 
462
465
  // Select element
463
466
  select: BaseAttr &
464
- KTReactifyProps<{
467
+ KTMaybeReactiveProps<{
465
468
  autocomplete?: string;
466
469
  disabled?: boolean;
467
470
  form?: string;
@@ -473,13 +476,13 @@ interface AttributesMap {
473
476
 
474
477
  // Slot element
475
478
  slot: BaseAttr &
476
- KTReactifyProps<{
479
+ KTMaybeReactiveProps<{
477
480
  name?: string;
478
481
  }>;
479
482
 
480
483
  // Source element
481
484
  source: BaseAttr &
482
- KTReactifyProps<{
485
+ KTMaybeReactiveProps<{
483
486
  height?: number | string;
484
487
  media?: string;
485
488
  sizes?: string;
@@ -491,30 +494,30 @@ interface AttributesMap {
491
494
 
492
495
  // Style element
493
496
  style: BaseAttr &
494
- KTReactifyProps<{
497
+ KTMaybeReactiveProps<{
495
498
  media?: string;
496
499
  }>;
497
500
 
498
501
  // Table element
499
- table: BaseAttr & KTReactifyProps<{}>;
502
+ table: BaseAttr & KTMaybeReactiveProps<{}>;
500
503
 
501
504
  // Table body/footer/header elements
502
- tbody: BaseAttr & KTReactifyProps<{}>;
505
+ tbody: BaseAttr & KTMaybeReactiveProps<{}>;
503
506
 
504
- tfoot: BaseAttr & KTReactifyProps<{}>;
507
+ tfoot: BaseAttr & KTMaybeReactiveProps<{}>;
505
508
 
506
- thead: BaseAttr & KTReactifyProps<{}>;
509
+ thead: BaseAttr & KTMaybeReactiveProps<{}>;
507
510
 
508
511
  // Table cell elements
509
512
  td: BaseAttr &
510
- KTReactifyProps<{
513
+ KTMaybeReactiveProps<{
511
514
  colspan?: number | string;
512
515
  headers?: string;
513
516
  rowspan?: number | string;
514
517
  }>;
515
518
 
516
519
  th: BaseAttr &
517
- KTReactifyProps<{
520
+ KTMaybeReactiveProps<{
518
521
  abbr?: string;
519
522
  colspan?: number | string;
520
523
  headers?: string;
@@ -523,11 +526,11 @@ interface AttributesMap {
523
526
  }>;
524
527
 
525
528
  // Template element
526
- template: BaseAttr & KTReactifyProps<{}>;
529
+ template: BaseAttr & KTMaybeReactiveProps<{}>;
527
530
 
528
531
  // Textarea element
529
532
  textarea: BaseAttr &
530
- KTReactifyProps<{
533
+ KTMaybeReactiveProps<{
531
534
  autocomplete?: string;
532
535
  cols?: number | string;
533
536
  dirname?: string;
@@ -545,19 +548,19 @@ interface AttributesMap {
545
548
 
546
549
  // Time element
547
550
  time: BaseAttr &
548
- KTReactifyProps<{
551
+ KTMaybeReactiveProps<{
549
552
  datetime?: string;
550
553
  }>;
551
554
 
552
555
  // Title element
553
- title: BaseAttr & KTReactifyProps<{}>;
556
+ title: BaseAttr & KTMaybeReactiveProps<{}>;
554
557
 
555
558
  // TR element
556
- tr: BaseAttr & KTReactifyProps<{}>;
559
+ tr: BaseAttr & KTMaybeReactiveProps<{}>;
557
560
 
558
561
  // Track element
559
562
  track: BaseAttr &
560
- KTReactifyProps<{
563
+ KTMaybeReactiveProps<{
561
564
  default?: boolean;
562
565
  kind?: 'subtitles' | 'captions' | 'descriptions' | 'chapters' | 'metadata';
563
566
  label?: string;
@@ -566,11 +569,11 @@ interface AttributesMap {
566
569
  }>;
567
570
 
568
571
  // UL element
569
- ul: BaseAttr & KTReactifyProps<{}>;
572
+ ul: BaseAttr & KTMaybeReactiveProps<{}>;
570
573
 
571
574
  // Video element
572
575
  video: BaseAttr &
573
- KTReactifyProps<{
576
+ KTMaybeReactiveProps<{
574
577
  autoplay?: boolean;
575
578
  controls?: boolean;
576
579
  crossorigin?: 'anonymous' | 'use-credentials' | '';
@@ -585,298 +588,329 @@ interface AttributesMap {
585
588
  }>;
586
589
 
587
590
  // Generic HTMLElement (no specific attributes beyond BaseEvent)
588
- abbr: BaseAttr & KTReactifyProps<{}>;
589
- address: BaseAttr & KTReactifyProps<{}>;
590
- article: BaseAttr & KTReactifyProps<{}>;
591
- aside: BaseAttr & KTReactifyProps<{}>;
592
- b: BaseAttr & KTReactifyProps<{}>;
593
- bdi: BaseAttr & KTReactifyProps<{}>;
594
- bdo: BaseAttr & KTReactifyProps<{}>;
595
- cite: BaseAttr & KTReactifyProps<{}>;
596
- code: BaseAttr & KTReactifyProps<{}>;
597
- dd: BaseAttr & KTReactifyProps<{}>;
598
- dfn: BaseAttr & KTReactifyProps<{}>;
599
- div: BaseAttr & KTReactifyProps<{}>;
600
- dl: BaseAttr & KTReactifyProps<{}>;
601
- dt: BaseAttr & KTReactifyProps<{}>;
602
- em: BaseAttr & KTReactifyProps<{}>;
603
- figcaption: BaseAttr & KTReactifyProps<{}>;
604
- figure: BaseAttr & KTReactifyProps<{}>;
605
- footer: BaseAttr & KTReactifyProps<{}>;
606
- h1: BaseAttr & KTReactifyProps<{}>;
607
- h2: BaseAttr & KTReactifyProps<{}>;
608
- h3: BaseAttr & KTReactifyProps<{}>;
609
- h4: BaseAttr & KTReactifyProps<{}>;
610
- h5: BaseAttr & KTReactifyProps<{}>;
611
- h6: BaseAttr & KTReactifyProps<{}>;
612
- header: BaseAttr & KTReactifyProps<{}>;
613
- hgroup: BaseAttr & KTReactifyProps<{}>;
614
- i: BaseAttr & KTReactifyProps<{}>;
615
- kbd: BaseAttr & KTReactifyProps<{}>;
616
- main: BaseAttr & KTReactifyProps<{}>;
617
- mark: BaseAttr & KTReactifyProps<{}>;
618
- nav: BaseAttr & KTReactifyProps<{}>;
619
- noscript: BaseAttr & KTReactifyProps<{}>;
620
- p: BaseAttr & KTReactifyProps<{}>;
621
- rp: BaseAttr & KTReactifyProps<{}>;
622
- rt: BaseAttr & KTReactifyProps<{}>;
623
- ruby: BaseAttr & KTReactifyProps<{}>;
624
- s: BaseAttr & KTReactifyProps<{}>;
625
- samp: BaseAttr & KTReactifyProps<{}>;
626
- search: BaseAttr & KTReactifyProps<{}>;
627
- section: BaseAttr & KTReactifyProps<{}>;
628
- small: BaseAttr & KTReactifyProps<{}>;
629
- span: BaseAttr & KTReactifyProps<{}>;
630
- strong: BaseAttr & KTReactifyProps<{}>;
631
- sub: BaseAttr & KTReactifyProps<{}>;
632
- summary: BaseAttr & KTReactifyProps<{}>;
633
- sup: BaseAttr & KTReactifyProps<{}>;
634
- u: BaseAttr & KTReactifyProps<{}>;
635
- var: BaseAttr & KTReactifyProps<{}>;
636
- wbr: BaseAttr & KTReactifyProps<{}>;
637
-
638
- svg: BaseAttr & {
639
- class?: string;
640
- style?: string | Partial<CSSStyleDeclaration>;
641
- width?: number | string;
642
- height?: number | string;
643
- viewBox?: string;
644
- xmlns?: string;
645
- fill?: string;
646
- stroke?: string;
647
- strokeWidth?: number | string;
648
- strokeLinecap?: 'butt' | 'round' | 'square' | 'inherit';
649
- strokeLinejoin?: 'miter' | 'round' | 'bevel' | 'inherit';
650
- strokeDasharray?: string;
651
- strokeDashoffset?: number | string;
652
- opacity?: number | string;
653
- preserveAspectRatio?: string;
654
- transform?: string;
655
- x?: number | string;
656
- y?: number | string;
657
- rx?: number | string;
658
- ry?: number | string;
659
- r?: number | string;
660
- cx?: number | string;
661
- cy?: number | string;
662
- d?: string;
663
- points?: string;
664
- pathLength?: number | string;
665
- viewbox?: string;
666
- role?: string;
667
- focusable?: boolean | 'true' | 'false';
668
- xlinkHref?: string; // legacy xlink:href
669
- };
591
+ abbr: BaseAttr & KTMaybeReactiveProps<{}>;
592
+ address: BaseAttr & KTMaybeReactiveProps<{}>;
593
+ article: BaseAttr & KTMaybeReactiveProps<{}>;
594
+ aside: BaseAttr & KTMaybeReactiveProps<{}>;
595
+ b: BaseAttr & KTMaybeReactiveProps<{}>;
596
+ bdi: BaseAttr & KTMaybeReactiveProps<{}>;
597
+ bdo: BaseAttr & KTMaybeReactiveProps<{}>;
598
+ cite: BaseAttr & KTMaybeReactiveProps<{}>;
599
+ code: BaseAttr & KTMaybeReactiveProps<{}>;
600
+ dd: BaseAttr & KTMaybeReactiveProps<{}>;
601
+ dfn: BaseAttr & KTMaybeReactiveProps<{}>;
602
+ div: BaseAttr & KTMaybeReactiveProps<{}>;
603
+ dl: BaseAttr & KTMaybeReactiveProps<{}>;
604
+ dt: BaseAttr & KTMaybeReactiveProps<{}>;
605
+ em: BaseAttr & KTMaybeReactiveProps<{}>;
606
+ figcaption: BaseAttr & KTMaybeReactiveProps<{}>;
607
+ figure: BaseAttr & KTMaybeReactiveProps<{}>;
608
+ footer: BaseAttr & KTMaybeReactiveProps<{}>;
609
+ h1: BaseAttr & KTMaybeReactiveProps<{}>;
610
+ h2: BaseAttr & KTMaybeReactiveProps<{}>;
611
+ h3: BaseAttr & KTMaybeReactiveProps<{}>;
612
+ h4: BaseAttr & KTMaybeReactiveProps<{}>;
613
+ h5: BaseAttr & KTMaybeReactiveProps<{}>;
614
+ h6: BaseAttr & KTMaybeReactiveProps<{}>;
615
+ header: BaseAttr & KTMaybeReactiveProps<{}>;
616
+ hgroup: BaseAttr & KTMaybeReactiveProps<{}>;
617
+ i: BaseAttr & KTMaybeReactiveProps<{}>;
618
+ kbd: BaseAttr & KTMaybeReactiveProps<{}>;
619
+ main: BaseAttr & KTMaybeReactiveProps<{}>;
620
+ mark: BaseAttr & KTMaybeReactiveProps<{}>;
621
+ nav: BaseAttr & KTMaybeReactiveProps<{}>;
622
+ noscript: BaseAttr & KTMaybeReactiveProps<{}>;
623
+ p: BaseAttr & KTMaybeReactiveProps<{}>;
624
+ rp: BaseAttr & KTMaybeReactiveProps<{}>;
625
+ rt: BaseAttr & KTMaybeReactiveProps<{}>;
626
+ ruby: BaseAttr & KTMaybeReactiveProps<{}>;
627
+ s: BaseAttr & KTMaybeReactiveProps<{}>;
628
+ samp: BaseAttr & KTMaybeReactiveProps<{}>;
629
+ search: BaseAttr & KTMaybeReactiveProps<{}>;
630
+ section: BaseAttr & KTMaybeReactiveProps<{}>;
631
+ small: BaseAttr & KTMaybeReactiveProps<{}>;
632
+ span: BaseAttr & KTMaybeReactiveProps<{}>;
633
+ strong: BaseAttr & KTMaybeReactiveProps<{}>;
634
+ sub: BaseAttr & KTMaybeReactiveProps<{}>;
635
+ summary: BaseAttr & KTMaybeReactiveProps<{}>;
636
+ sup: BaseAttr & KTMaybeReactiveProps<{}>;
637
+ u: BaseAttr & KTMaybeReactiveProps<{}>;
638
+ var: BaseAttr & KTMaybeReactiveProps<{}>;
639
+ wbr: BaseAttr & KTMaybeReactiveProps<{}>;
640
+
641
+ svg: BaseAttr &
642
+ KTMaybeReactiveProps<{
643
+ class?: string;
644
+ style?: string | Partial<CSSStyleDeclaration>;
645
+ width?: number | string;
646
+ height?: number | string;
647
+ viewBox?: string;
648
+ xmlns?: string;
649
+ fill?: string;
650
+ stroke?: string;
651
+ strokeWidth?: number | string;
652
+ strokeLinecap?: 'butt' | 'round' | 'square' | 'inherit';
653
+ strokeLinejoin?: 'miter' | 'round' | 'bevel' | 'inherit';
654
+ strokeDasharray?: string;
655
+ strokeDashoffset?: number | string;
656
+ opacity?: number | string;
657
+ preserveAspectRatio?: string;
658
+ transform?: string;
659
+ x?: number | string;
660
+ y?: number | string;
661
+ rx?: number | string;
662
+ ry?: number | string;
663
+ r?: number | string;
664
+ cx?: number | string;
665
+ cy?: number | string;
666
+ d?: string;
667
+ points?: string;
668
+ pathLength?: number | string;
669
+ viewbox?: string;
670
+ role?: string;
671
+ focusable?: boolean | 'true' | 'false';
672
+ xlinkHref?: string; // legacy xlink:href
673
+ }>;
670
674
  }
671
675
 
672
676
  interface SVGAttributesMap {
673
- a: AttributesMap['svg'] & { href?: string; x?: number | string; y?: number | string };
674
- animate: AttributesMap['svg'] & {
675
- attributeName?: string;
676
- from?: string | number;
677
- to?: string | number;
678
- dur?: string;
679
- repeatCount?: string | number;
680
- };
681
- animateMotion: AttributesMap['svg'] & { path?: string; dur?: string; rotate?: string };
682
- animateTransform: AttributesMap['svg'] & { type?: string; from?: string; to?: string; dur?: string };
683
- circle: AttributesMap['svg'] & { cx?: number | string; cy?: number | string; r?: number | string };
684
- clipPath: AttributesMap['svg'] & { clipPathUnits?: 'userSpaceOnUse' | 'objectBoundingBox' };
677
+ a: AttributesMap['svg'] & KTMaybeReactiveProps<{ href?: string; x?: number | string; y?: number | string }>;
678
+ animate: AttributesMap['svg'] &
679
+ KTMaybeReactiveProps<{
680
+ attributeName?: string;
681
+ from?: string | number;
682
+ to?: string | number;
683
+ dur?: string;
684
+ repeatCount?: string | number;
685
+ }>;
686
+ animateMotion: AttributesMap['svg'] & KTMaybeReactiveProps<{ path?: string; dur?: string; rotate?: string }>;
687
+ animateTransform: AttributesMap['svg'] &
688
+ KTMaybeReactiveProps<{ type?: string; from?: string; to?: string; dur?: string }>;
689
+ circle: AttributesMap['svg'] &
690
+ KTMaybeReactiveProps<{ cx?: number | string; cy?: number | string; r?: number | string }>;
691
+ clipPath: AttributesMap['svg'] & KTMaybeReactiveProps<{ clipPathUnits?: 'userSpaceOnUse' | 'objectBoundingBox' }>;
685
692
  defs: AttributesMap['svg'];
686
693
  desc: AttributesMap['svg'];
687
- ellipse: AttributesMap['svg'] & {
688
- cx?: number | string;
689
- cy?: number | string;
690
- rx?: number | string;
691
- ry?: number | string;
692
- };
694
+ ellipse: AttributesMap['svg'] &
695
+ KTMaybeReactiveProps<{
696
+ cx?: number | string;
697
+ cy?: number | string;
698
+ rx?: number | string;
699
+ ry?: number | string;
700
+ }>;
693
701
 
694
702
  // Filter primitives (provide common props)
695
- feBlend: AttributesMap['svg'] & { in?: string; in2?: string; mode?: string };
696
- feColorMatrix: AttributesMap['svg'] & {
697
- type?: 'matrix' | 'saturate' | 'hueRotate' | 'luminanceToAlpha';
698
- values?: string;
699
- };
700
- feComponentTransfer: AttributesMap['svg'] & {};
701
- feComposite: AttributesMap['svg'] & {
702
- in?: string;
703
- in2?: string;
704
- operator?: string;
705
- k1?: number | string;
706
- k2?: number | string;
707
- k3?: number | string;
708
- k4?: number | string;
709
- };
710
- feConvolveMatrix: AttributesMap['svg'] & {
711
- order?: string | number;
712
- kernelMatrix?: string;
713
- divisor?: string | number;
714
- bias?: string | number;
715
- };
716
- feDiffuseLighting: AttributesMap['svg'] & {};
717
- feDisplacementMap: AttributesMap['svg'] & {
718
- in?: string;
719
- in2?: string;
720
- scale?: number | string;
721
- xChannelSelector?: string;
722
- yChannelSelector?: string;
723
- };
724
- feDistantLight: AttributesMap['svg'] & { azimuth?: number | string; elevation?: number | string };
725
- feDropShadow: AttributesMap['svg'] & {
726
- dx?: number | string;
727
- dy?: number | string;
728
- stdDeviation?: number | string;
729
- floodColor?: string;
730
- floodOpacity?: number | string;
731
- };
732
- feFlood: AttributesMap['svg'] & { floodColor?: string; floodOpacity?: number | string };
733
- feFuncA: AttributesMap['svg'] & {};
734
- feFuncB: AttributesMap['svg'] & {};
735
- feFuncG: AttributesMap['svg'] & {};
736
- feFuncR: AttributesMap['svg'] & {};
737
- feGaussianBlur: AttributesMap['svg'] & { stdDeviation?: number | string; edgeMode?: string };
738
- feImage: AttributesMap['svg'] & { href?: string };
739
- feMerge: AttributesMap['svg'] & {};
740
- feMergeNode: AttributesMap['svg'] & { in?: string };
741
- feMorphology: AttributesMap['svg'] & { operator?: 'erode' | 'dilate'; radius?: number | string };
742
- feOffset: AttributesMap['svg'] & { dx?: number | string; dy?: number | string };
743
- fePointLight: AttributesMap['svg'] & { x?: number | string; y?: number | string; z?: number | string };
744
- feSpecularLighting: AttributesMap['svg'] & {
745
- specularConstant?: number | string;
746
- specularExponent?: number | string;
747
- surfaceScale?: number | string;
748
- };
749
- feSpotLight: AttributesMap['svg'] & {
750
- x?: number | string;
751
- y?: number | string;
752
- z?: number | string;
753
- pointsAtX?: number | string;
754
- pointsAtY?: number | string;
755
- pointsAtZ?: number | string;
756
- specularExponent?: number | string;
757
- limitingConeAngle?: number | string;
758
- };
759
- feTile: AttributesMap['svg'] & {};
760
- feTurbulence: AttributesMap['svg'] & {
761
- baseFrequency?: number | string;
762
- numOctaves?: number | string;
763
- seed?: number | string;
764
- stitchTiles?: string;
765
- type?: 'fractalNoise' | 'turbulence';
766
- };
703
+ feBlend: AttributesMap['svg'] & KTMaybeReactiveProps<{ in?: string; in2?: string; mode?: string }>;
704
+ feColorMatrix: AttributesMap['svg'] &
705
+ KTMaybeReactiveProps<{
706
+ type?: 'matrix' | 'saturate' | 'hueRotate' | 'luminanceToAlpha';
707
+ values?: string;
708
+ }>;
709
+ feComponentTransfer: AttributesMap['svg'] & KTMaybeReactiveProps<{}>;
710
+ feComposite: AttributesMap['svg'] &
711
+ KTMaybeReactiveProps<{
712
+ in?: string;
713
+ in2?: string;
714
+ operator?: string;
715
+ k1?: number | string;
716
+ k2?: number | string;
717
+ k3?: number | string;
718
+ k4?: number | string;
719
+ }>;
720
+ feConvolveMatrix: AttributesMap['svg'] &
721
+ KTMaybeReactiveProps<{
722
+ order?: string | number;
723
+ kernelMatrix?: string;
724
+ divisor?: string | number;
725
+ bias?: string | number;
726
+ }>;
727
+ feDiffuseLighting: AttributesMap['svg'] & KTMaybeReactiveProps<{}>;
728
+ feDisplacementMap: AttributesMap['svg'] &
729
+ KTMaybeReactiveProps<{
730
+ in?: string;
731
+ in2?: string;
732
+ scale?: number | string;
733
+ xChannelSelector?: string;
734
+ yChannelSelector?: string;
735
+ }>;
736
+ feDistantLight: AttributesMap['svg'] &
737
+ KTMaybeReactiveProps<{ azimuth?: number | string; elevation?: number | string }>;
738
+ feDropShadow: AttributesMap['svg'] &
739
+ KTMaybeReactiveProps<{
740
+ dx?: number | string;
741
+ dy?: number | string;
742
+ stdDeviation?: number | string;
743
+ floodColor?: string;
744
+ floodOpacity?: number | string;
745
+ }>;
746
+ feFlood: AttributesMap['svg'] & KTMaybeReactiveProps<{ floodColor?: string; floodOpacity?: number | string }>;
747
+ feFuncA: AttributesMap['svg'] & KTMaybeReactiveProps<{}>;
748
+ feFuncB: AttributesMap['svg'] & KTMaybeReactiveProps<{}>;
749
+ feFuncG: AttributesMap['svg'] & KTMaybeReactiveProps<{}>;
750
+ feFuncR: AttributesMap['svg'] & KTMaybeReactiveProps<{}>;
751
+ feGaussianBlur: AttributesMap['svg'] & KTMaybeReactiveProps<{ stdDeviation?: number | string; edgeMode?: string }>;
752
+ feImage: AttributesMap['svg'] & KTMaybeReactiveProps<{ href?: string }>;
753
+ feMerge: AttributesMap['svg'] & KTMaybeReactiveProps<{}>;
754
+ feMergeNode: AttributesMap['svg'] & KTMaybeReactiveProps<{ in?: string }>;
755
+ feMorphology: AttributesMap['svg'] &
756
+ KTMaybeReactiveProps<{ operator?: 'erode' | 'dilate'; radius?: number | string }>;
757
+ feOffset: AttributesMap['svg'] & KTMaybeReactiveProps<{ dx?: number | string; dy?: number | string }>;
758
+ fePointLight: AttributesMap['svg'] &
759
+ KTMaybeReactiveProps<{ x?: number | string; y?: number | string; z?: number | string }>;
760
+ feSpecularLighting: AttributesMap['svg'] &
761
+ KTMaybeReactiveProps<{
762
+ specularConstant?: number | string;
763
+ specularExponent?: number | string;
764
+ surfaceScale?: number | string;
765
+ }>;
766
+ feSpotLight: AttributesMap['svg'] &
767
+ KTMaybeReactiveProps<{
768
+ x?: number | string;
769
+ y?: number | string;
770
+ z?: number | string;
771
+ pointsAtX?: number | string;
772
+ pointsAtY?: number | string;
773
+ pointsAtZ?: number | string;
774
+ specularExponent?: number | string;
775
+ limitingConeAngle?: number | string;
776
+ }>;
777
+ feTile: AttributesMap['svg'] & KTMaybeReactiveProps<{}>;
778
+ feTurbulence: AttributesMap['svg'] &
779
+ KTMaybeReactiveProps<{
780
+ baseFrequency?: number | string;
781
+ numOctaves?: number | string;
782
+ seed?: number | string;
783
+ stitchTiles?: string;
784
+ type?: 'fractalNoise' | 'turbulence';
785
+ }>;
767
786
 
768
- filter: AttributesMap['svg'] & {
769
- x?: number | string;
770
- y?: number | string;
771
- width?: number | string;
772
- height?: number | string;
773
- filterUnits?: string;
774
- primitiveUnits?: string;
775
- };
776
- foreignObject: AttributesMap['svg'] & {
777
- x?: number | string;
778
- y?: number | string;
779
- width?: number | string;
780
- height?: number | string;
781
- };
787
+ filter: AttributesMap['svg'] &
788
+ KTMaybeReactiveProps<{
789
+ x?: number | string;
790
+ y?: number | string;
791
+ width?: number | string;
792
+ height?: number | string;
793
+ filterUnits?: string;
794
+ primitiveUnits?: string;
795
+ }>;
796
+ foreignObject: AttributesMap['svg'] &
797
+ KTMaybeReactiveProps<{
798
+ x?: number | string;
799
+ y?: number | string;
800
+ width?: number | string;
801
+ height?: number | string;
802
+ }>;
782
803
  g: AttributesMap['svg'];
783
- image: AttributesMap['svg'] & {
784
- href?: string;
785
- x?: number | string;
786
- y?: number | string;
787
- width?: number | string;
788
- height?: number | string;
789
- };
790
- line: AttributesMap['svg'] & {
791
- x1?: number | string;
792
- y1?: number | string;
793
- x2?: number | string;
794
- y2?: number | string;
795
- };
796
- linearGradient: AttributesMap['svg'] & {
797
- x1?: number | string;
798
- y1?: number | string;
799
- x2?: number | string;
800
- y2?: number | string;
801
- gradientUnits?: 'userSpaceOnUse' | 'objectBoundingBox';
802
- gradientTransform?: string;
803
- };
804
- marker: AttributesMap['svg'] & {
805
- markerUnits?: string;
806
- markerWidth?: number | string;
807
- markerHeight?: number | string;
808
- refX?: number | string;
809
- refY?: number | string;
810
- orient?: string;
811
- };
812
- mask: AttributesMap['svg'] & {
813
- maskUnits?: string;
814
- maskContentUnits?: string;
815
- x?: number | string;
816
- y?: number | string;
817
- width?: number | string;
818
- height?: number | string;
819
- };
804
+ image: AttributesMap['svg'] &
805
+ KTMaybeReactiveProps<{
806
+ href?: string;
807
+ x?: number | string;
808
+ y?: number | string;
809
+ width?: number | string;
810
+ height?: number | string;
811
+ }>;
812
+ line: AttributesMap['svg'] &
813
+ KTMaybeReactiveProps<{
814
+ x1?: number | string;
815
+ y1?: number | string;
816
+ x2?: number | string;
817
+ y2?: number | string;
818
+ }>;
819
+ linearGradient: AttributesMap['svg'] &
820
+ KTMaybeReactiveProps<{
821
+ x1?: number | string;
822
+ y1?: number | string;
823
+ x2?: number | string;
824
+ y2?: number | string;
825
+ gradientUnits?: 'userSpaceOnUse' | 'objectBoundingBox';
826
+ gradientTransform?: string;
827
+ }>;
828
+ marker: AttributesMap['svg'] &
829
+ KTMaybeReactiveProps<{
830
+ markerUnits?: string;
831
+ markerWidth?: number | string;
832
+ markerHeight?: number | string;
833
+ refX?: number | string;
834
+ refY?: number | string;
835
+ orient?: string;
836
+ }>;
837
+ mask: AttributesMap['svg'] &
838
+ KTMaybeReactiveProps<{
839
+ maskUnits?: string;
840
+ maskContentUnits?: string;
841
+ x?: number | string;
842
+ y?: number | string;
843
+ width?: number | string;
844
+ height?: number | string;
845
+ }>;
820
846
  metadata: AttributesMap['svg'];
821
- mpath: AttributesMap['svg'] & { href?: string };
822
- path: AttributesMap['svg'] & { d?: string; pathLength?: number | string };
823
- pattern: AttributesMap['svg'] & {
824
- patternUnits?: string;
825
- patternContentUnits?: string;
826
- width?: number | string;
827
- height?: number | string;
828
- x?: number | string;
829
- y?: number | string;
830
- };
831
- polygon: AttributesMap['svg'] & { points?: string };
832
- polyline: AttributesMap['svg'] & { points?: string };
833
- radialGradient: AttributesMap['svg'] & {
834
- cx?: number | string;
835
- cy?: number | string;
836
- r?: number | string;
837
- fx?: number | string;
838
- fy?: number | string;
839
- gradientUnits?: 'userSpaceOnUse' | 'objectBoundingBox';
840
- gradientTransform?: string;
841
- };
842
- rect: AttributesMap['svg'] & {
843
- x?: number | string;
844
- y?: number | string;
845
- width?: number | string;
846
- height?: number | string;
847
- rx?: number | string;
848
- ry?: number | string;
849
- };
850
- script: AttributesMap['svg'] & { href?: string; type?: string };
851
- set: AttributesMap['svg'] & { attributeName?: string; to?: string | number; begin?: string; dur?: string };
852
- stop: AttributesMap['svg'] & { offset?: number | string; stopColor?: string; stopOpacity?: number | string };
853
- style: AttributesMap['svg'] & { media?: string };
847
+ mpath: AttributesMap['svg'] & KTMaybeReactiveProps<{ href?: string }>;
848
+ path: AttributesMap['svg'] & KTMaybeReactiveProps<{ d?: string; pathLength?: number | string }>;
849
+ pattern: AttributesMap['svg'] &
850
+ KTMaybeReactiveProps<{
851
+ patternUnits?: string;
852
+ patternContentUnits?: string;
853
+ width?: number | string;
854
+ height?: number | string;
855
+ x?: number | string;
856
+ y?: number | string;
857
+ }>;
858
+ polygon: AttributesMap['svg'] & KTMaybeReactiveProps<{ points?: string }>;
859
+ polyline: AttributesMap['svg'] & KTMaybeReactiveProps<{ points?: string }>;
860
+ radialGradient: AttributesMap['svg'] &
861
+ KTMaybeReactiveProps<{
862
+ cx?: number | string;
863
+ cy?: number | string;
864
+ r?: number | string;
865
+ fx?: number | string;
866
+ fy?: number | string;
867
+ gradientUnits?: 'userSpaceOnUse' | 'objectBoundingBox';
868
+ gradientTransform?: string;
869
+ }>;
870
+ rect: AttributesMap['svg'] &
871
+ KTMaybeReactiveProps<{
872
+ x?: number | string;
873
+ y?: number | string;
874
+ width?: number | string;
875
+ height?: number | string;
876
+ rx?: number | string;
877
+ ry?: number | string;
878
+ }>;
879
+ script: AttributesMap['svg'] & KTMaybeReactiveProps<{ href?: string; type?: string }>;
880
+ set: AttributesMap['svg'] &
881
+ KTMaybeReactiveProps<{ attributeName?: string; to?: string | number; begin?: string; dur?: string }>;
882
+ stop: AttributesMap['svg'] &
883
+ KTMaybeReactiveProps<{ offset?: number | string; stopColor?: string; stopOpacity?: number | string }>;
884
+ style: AttributesMap['svg'] & KTMaybeReactiveProps<{ media?: string }>;
854
885
  svg: AttributesMap['svg'];
855
886
  switch: AttributesMap['svg'];
856
- symbol: AttributesMap['svg'] & { viewBox?: string; preserveAspectRatio?: string };
857
- text: AttributesMap['svg'] & {
858
- x?: number | string;
859
- y?: number | string;
860
- dx?: number | string;
861
- dy?: number | string;
862
- textLength?: number | string;
863
- };
864
- textPath: AttributesMap['svg'] & { href?: string; startOffset?: number | string };
887
+ symbol: AttributesMap['svg'] & KTMaybeReactiveProps<{ viewBox?: string; preserveAspectRatio?: string }>;
888
+ text: AttributesMap['svg'] &
889
+ KTMaybeReactiveProps<{
890
+ x?: number | string;
891
+ y?: number | string;
892
+ dx?: number | string;
893
+ dy?: number | string;
894
+ textLength?: number | string;
895
+ }>;
896
+ textPath: AttributesMap['svg'] & KTMaybeReactiveProps<{ href?: string; startOffset?: number | string }>;
865
897
  title: AttributesMap['svg'];
866
- tspan: AttributesMap['svg'] & {
867
- x?: number | string;
868
- y?: number | string;
869
- dx?: number | string;
870
- dy?: number | string;
871
- };
872
- use: AttributesMap['svg'] & {
873
- href?: string;
874
- x?: number | string;
875
- y?: number | string;
876
- width?: number | string;
877
- height?: number | string;
878
- };
879
- view: AttributesMap['svg'] & { viewBox?: string; preserveAspectRatio?: string };
898
+ tspan: AttributesMap['svg'] &
899
+ KTMaybeReactiveProps<{
900
+ x?: number | string;
901
+ y?: number | string;
902
+ dx?: number | string;
903
+ dy?: number | string;
904
+ }>;
905
+ use: AttributesMap['svg'] &
906
+ KTMaybeReactiveProps<{
907
+ href?: string;
908
+ x?: number | string;
909
+ y?: number | string;
910
+ width?: number | string;
911
+ height?: number | string;
912
+ }>;
913
+ view: AttributesMap['svg'] & KTMaybeReactiveProps<{ viewBox?: string; preserveAspectRatio?: string }>;
880
914
  }
881
915
 
882
916
  declare namespace JSX {
@@ -1222,14 +1256,26 @@ declare class KTReactive<T> {
1222
1256
  }
1223
1257
 
1224
1258
  // & Shockingly, If T is boolean, KTReactify<T> becomes KTReactive<true> | KTReactive<false>. It causes @ktjs/mui that disabledRefs not assignable.
1225
- type KTReactify<T> = T extends boolean ? KTReactive<boolean> : T extends any ? KTReactive<T> : never;
1259
+ /**
1260
+ * Makes `KTReactify<'a' | 'b'> to be KTReactive<'a'> | KTReactive<'b'>`
1261
+ */
1262
+ type KTReactifySplit<T> = T extends boolean ? KTReactive<boolean> : T extends any ? KTReactive<T> : never;
1226
1263
 
1227
1264
  type KTReactifyObject<T extends object> = {
1228
- [K in keyof T]: KTReactify<T[K]>;
1265
+ [K in keyof T]: KTReactifySplit<T[K]>;
1229
1266
  };
1230
1267
 
1231
1268
  type KTReactifyProps<T extends object> = {
1232
- [K in keyof T]: KTReactify<Exclude<T[K], undefined>> | T[K];
1269
+ [K in keyof T]: KTReactifySplit<Exclude<T[K], undefined>> | T[K];
1270
+ };
1271
+
1272
+ /**
1273
+ * Makes `KTReactify<'a' | 'b'>` to be `KTReactive<'a' | 'b'>`
1274
+ */
1275
+ type KTReactify<T> = [T] extends [KTReactive<infer U>] ? KTReactive<U> : KTReactive<T>;
1276
+ type KTMaybeReactive<T> = T | KTReactify<T>;
1277
+ type KTMaybeReactiveProps<T extends object> = {
1278
+ [K in keyof T]: K extends `on:${string}` ? T[K] : KTMaybeReactive<Exclude<T[K], undefined>> | T[K];
1233
1279
  };
1234
1280
 
1235
1281
  declare class KTRef<T> implements KTReactive<T> {
@@ -1484,4 +1530,4 @@ declare function KTFor<T>(props: KTForProps<T>): KTForElement;
1484
1530
  declare function KTConditional(condition: boolean | KTReactive<boolean>, tagIf: JSXTag, propsIf: KTAttribute, tagElse?: JSXTag, propsElse?: KTAttribute): JSX.Element;
1485
1531
 
1486
1532
  export { $initRef, $modelOrRef, Fragment, JSX, KTAsync, KTComputed, KTConditional, KTFor, KTReactive, KTReactiveType, KTRef, applyAttr, computed, h as createElement, mathml$1 as createMathMLElement, svg$1 as createSVGElement, dereactive, effect, h, isComputed, isKT, isRef, jsx, jsxDEV, jsxs, mathml, mathml as mathmlRuntime, ref, surfaceRef, svg, svg as svgRuntime, toReactive, toRef };
1487
- export type { EventHandler, HTML, KTAttribute, KTForElement, KTForProps, KTPrefixedEventAttribute, KTRawAttr, KTRawContent, KTRawContents, KTReactify, KTReactifyObject, KTReactifyProps, KTSurfaceRef, ReactiveChangeHandler, ReactiveChangeKey };
1533
+ export type { EventHandler, HTML, KTAttribute, KTForElement, KTForProps, KTMaybeReactive, KTMaybeReactiveProps, KTPrefixedEventAttribute, KTRawAttr, KTRawContent, KTRawContents, KTReactify, KTReactifyObject, KTReactifyProps, KTReactifySplit, KTSurfaceRef, ReactiveChangeHandler, ReactiveChangeKey };
package/dist/index.mjs CHANGED
@@ -605,7 +605,7 @@ function applyKModel(element, valueRef) {
605
605
  * ## About
606
606
  * @package @ktjs/core
607
607
  * @author Kasukabe Tsumugi <futami16237@gmail.com>
608
- * @version 0.31.3 (Last Update: 2026.02.26 17:15:32.758)
608
+ * @version 0.31.4 (Last Update: 2026.02.27 09:04:05.124)
609
609
  * @license MIT
610
610
  * @link https://github.com/baendlorel/kt.js
611
611
  * @link https://baendlorel.github.io/ Welcome to my site!
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ktjs/core",
3
- "version": "0.31.3",
3
+ "version": "0.31.4",
4
4
  "description": "Core functionality for kt.js - DOM manipulation utilities with JSX/TSX support",
5
5
  "description_zh": "kt.js 的核心功能,提供支持 JSX/TSX 的 DOM 操作工具。",
6
6
  "type": "module",