@ktjs/core 0.26.1 → 0.26.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
@@ -15,7 +15,6 @@ declare class KTComputed<T> {
15
15
  */
16
16
  isKT: true;
17
17
  ktType: KTReactiveType;
18
- private _subscribe;
19
18
  constructor(_calculator: () => T, reactives: Array<KTReactive<unknown>>);
20
19
  /**
21
20
  * If new value and old value are both nodes, the old one will be replaced in the DOM
@@ -56,10 +55,13 @@ declare function effect(effectFn: () => void, reactives: Array<KTReactive<any>>,
56
55
 
57
56
  type KTReactive<T> = KTRef<T> | KTComputed<T>;
58
57
  declare const toReactive: <T>(value: T | KTReactive<T>, onChange?: ReactiveChangeHandler<T>) => KTReactive<T>;
59
- type KTReactify<T> = T extends any ? KTReactive<T> | T : never;
58
+ type KTReactify<T> = T extends any ? KTReactive<T> : never;
60
59
  type KTReactifyObject<T extends object> = {
61
60
  [K in keyof T]: KTReactify<T[K]>;
62
61
  };
62
+ type KTReactifyProps<T extends object> = {
63
+ [K in keyof T]: KTReactify<Exclude<T[K], undefined>> | T[K];
64
+ };
63
65
 
64
66
  declare const enum KTReactiveType {
65
67
  REF = 1,
@@ -246,7 +248,7 @@ type KTComponent = (
246
248
  * ## About
247
249
  * @package @ktjs/core
248
250
  * @author Kasukabe Tsumugi <futami16237@gmail.com>
249
- * @version 0.26.1 (Last Update: 2026.02.05 17:35:29.547)
251
+ * @version 0.26.4 (Last Update: 2026.02.05 23:37:34.691)
250
252
  * @license MIT
251
253
  * @link https://github.com/baendlorel/kt.js
252
254
  * @link https://baendlorel.github.io/ Welcome to my site!
@@ -298,7 +300,7 @@ declare function createRedrawable<T>(creator: () => T): KTRef<T> & {
298
300
 
299
301
  // Base events available to all HTML elements
300
302
  type BaseAttr = KTPrefixedEventAttribute &
301
- KTReactifyObject<{
303
+ KTReactifyProps<{
302
304
  [k: string]: any;
303
305
 
304
306
  // # base attributes
@@ -310,7 +312,7 @@ type BaseAttr = KTPrefixedEventAttribute &
310
312
  interface AttributesMap {
311
313
  // Anchor element
312
314
  a: BaseAttr &
313
- KTReactifyObject<{
315
+ KTReactifyProps<{
314
316
  download?: string;
315
317
  href?: string;
316
318
  hreflang?: string;
@@ -331,7 +333,7 @@ interface AttributesMap {
331
333
 
332
334
  // Area element
333
335
  area: BaseAttr &
334
- KTReactifyObject<{
336
+ KTReactifyProps<{
335
337
  alt?: string;
336
338
  coords?: string;
337
339
  download?: string;
@@ -353,7 +355,7 @@ interface AttributesMap {
353
355
 
354
356
  // Audio element
355
357
  audio: BaseAttr &
356
- KTReactifyObject<{
358
+ KTReactifyProps<{
357
359
  autoplay?: boolean;
358
360
  controls?: boolean;
359
361
  crossorigin?: 'anonymous' | 'use-credentials' | '';
@@ -365,20 +367,20 @@ interface AttributesMap {
365
367
 
366
368
  // Base element
367
369
  base: BaseAttr &
368
- KTReactifyObject<{
370
+ KTReactifyProps<{
369
371
  href?: string;
370
372
  target?: '_self' | '_blank' | '_parent' | '_top' | string;
371
373
  }>;
372
374
 
373
375
  // Body element
374
- body: BaseAttr & KTReactifyObject<{}>;
376
+ body: BaseAttr & KTReactifyProps<{}>;
375
377
 
376
378
  // BR element
377
- br: BaseAttr & KTReactifyObject<{}>;
379
+ br: BaseAttr & KTReactifyProps<{}>;
378
380
 
379
381
  // Button element
380
382
  button: BaseAttr &
381
- KTReactifyObject<{
383
+ KTReactifyProps<{
382
384
  disabled?: boolean;
383
385
  form?: string;
384
386
  formaction?: string;
@@ -393,57 +395,57 @@ interface AttributesMap {
393
395
 
394
396
  // Canvas element
395
397
  canvas: BaseAttr &
396
- KTReactifyObject<{
398
+ KTReactifyProps<{
397
399
  height?: number | string;
398
400
  width?: number | string;
399
401
  }>;
400
402
 
401
403
  // Table caption element
402
- caption: BaseAttr & KTReactifyObject<{}>;
404
+ caption: BaseAttr & KTReactifyProps<{}>;
403
405
 
404
406
  // Col element
405
407
  col: BaseAttr &
406
- KTReactifyObject<{
408
+ KTReactifyProps<{
407
409
  span?: number | string;
408
410
  }>;
409
411
 
410
412
  // Colgroup element
411
413
  colgroup: BaseAttr &
412
- KTReactifyObject<{
414
+ KTReactifyProps<{
413
415
  span?: number | string;
414
416
  }>;
415
417
 
416
418
  // Data element
417
419
  data: BaseAttr &
418
- KTReactifyObject<{
420
+ KTReactifyProps<{
419
421
  value?: string;
420
422
  }>;
421
423
 
422
424
  // Datalist element
423
- datalist: BaseAttr & KTReactifyObject<{}>;
425
+ datalist: BaseAttr & KTReactifyProps<{}>;
424
426
 
425
427
  // Del element
426
428
  del: BaseAttr &
427
- KTReactifyObject<{
429
+ KTReactifyProps<{
428
430
  cite?: string;
429
431
  datetime?: string;
430
432
  }>;
431
433
 
432
434
  // Details element
433
435
  details: BaseAttr &
434
- KTReactifyObject<{
436
+ KTReactifyProps<{
435
437
  open?: boolean;
436
438
  }>;
437
439
 
438
440
  // Dialog element
439
441
  dialog: BaseAttr &
440
- KTReactifyObject<{
442
+ KTReactifyProps<{
441
443
  open?: boolean;
442
444
  }>;
443
445
 
444
446
  // Embed element
445
447
  embed: BaseAttr &
446
- KTReactifyObject<{
448
+ KTReactifyProps<{
447
449
  height?: number | string;
448
450
  src?: string;
449
451
  type?: string;
@@ -452,7 +454,7 @@ interface AttributesMap {
452
454
 
453
455
  // Fieldset element
454
456
  fieldset: BaseAttr &
455
- KTReactifyObject<{
457
+ KTReactifyProps<{
456
458
  disabled?: boolean;
457
459
  form?: string;
458
460
  name?: string;
@@ -460,7 +462,7 @@ interface AttributesMap {
460
462
 
461
463
  // Form element
462
464
  form: BaseAttr &
463
- KTReactifyObject<{
465
+ KTReactifyProps<{
464
466
  'accept-charset'?: string;
465
467
  action?: string;
466
468
  autocomplete?: 'on' | 'off';
@@ -473,17 +475,17 @@ interface AttributesMap {
473
475
  }>;
474
476
 
475
477
  // Head element
476
- head: BaseAttr & KTReactifyObject<{}>;
478
+ head: BaseAttr & KTReactifyProps<{}>;
477
479
 
478
480
  // HR element
479
- hr: BaseAttr & KTReactifyObject<{}>;
481
+ hr: BaseAttr & KTReactifyProps<{}>;
480
482
 
481
483
  // HTML element
482
- html: BaseAttr & KTReactifyObject<{}>;
484
+ html: BaseAttr & KTReactifyProps<{}>;
483
485
 
484
486
  // IFrame element
485
487
  iframe: BaseAttr &
486
- KTReactifyObject<{
488
+ KTReactifyProps<{
487
489
  allow?: string;
488
490
  allowfullscreen?: boolean;
489
491
  allowpaymentrequest?: boolean;
@@ -507,7 +509,7 @@ interface AttributesMap {
507
509
 
508
510
  // Image element
509
511
  img: BaseAttr &
510
- KTReactifyObject<{
512
+ KTReactifyProps<{
511
513
  alt?: string;
512
514
  crossorigin?: 'anonymous' | 'use-credentials' | '';
513
515
  decoding?: 'sync' | 'async' | 'auto';
@@ -532,7 +534,7 @@ interface AttributesMap {
532
534
 
533
535
  // Input element
534
536
  input: BaseAttr &
535
- KTReactifyObject<{
537
+ KTReactifyProps<{
536
538
  accept?: string;
537
539
  alt?: string;
538
540
  autocomplete?: string;
@@ -589,29 +591,29 @@ interface AttributesMap {
589
591
 
590
592
  // Ins element
591
593
  ins: BaseAttr &
592
- KTReactifyObject<{
594
+ KTReactifyProps<{
593
595
  cite?: string;
594
596
  datetime?: string;
595
597
  }>;
596
598
 
597
599
  // Label element
598
600
  label: BaseAttr &
599
- KTReactifyObject<{
601
+ KTReactifyProps<{
600
602
  for?: string;
601
603
  }>;
602
604
 
603
605
  // Legend element
604
- legend: BaseAttr & KTReactifyObject<{}>;
606
+ legend: BaseAttr & KTReactifyProps<{}>;
605
607
 
606
608
  // LI element
607
609
  li: BaseAttr &
608
- KTReactifyObject<{
610
+ KTReactifyProps<{
609
611
  value?: number | string;
610
612
  }>;
611
613
 
612
614
  // Link element
613
615
  link: BaseAttr &
614
- KTReactifyObject<{
616
+ KTReactifyProps<{
615
617
  as?: string;
616
618
  crossorigin?: 'anonymous' | 'use-credentials' | '';
617
619
  disabled?: boolean;
@@ -637,16 +639,16 @@ interface AttributesMap {
637
639
 
638
640
  // Map element
639
641
  map: BaseAttr &
640
- KTReactifyObject<{
642
+ KTReactifyProps<{
641
643
  name?: string;
642
644
  }>;
643
645
 
644
646
  // Menu element
645
- menu: BaseAttr & KTReactifyObject<{}>;
647
+ menu: BaseAttr & KTReactifyProps<{}>;
646
648
 
647
649
  // Meta element
648
650
  meta: BaseAttr &
649
- KTReactifyObject<{
651
+ KTReactifyProps<{
650
652
  charset?: string;
651
653
  content?: string;
652
654
  'http-equiv'?: 'content-security-policy' | 'content-type' | 'default-style' | 'refresh' | string;
@@ -655,7 +657,7 @@ interface AttributesMap {
655
657
 
656
658
  // Meter element
657
659
  meter: BaseAttr &
658
- KTReactifyObject<{
660
+ KTReactifyProps<{
659
661
  form?: string;
660
662
  high?: number | string;
661
663
  low?: number | string;
@@ -667,7 +669,7 @@ interface AttributesMap {
667
669
 
668
670
  // Object element
669
671
  object: BaseAttr &
670
- KTReactifyObject<{
672
+ KTReactifyProps<{
671
673
  data?: string;
672
674
  form?: string;
673
675
  height?: number | string;
@@ -679,7 +681,7 @@ interface AttributesMap {
679
681
 
680
682
  // OL element
681
683
  ol: BaseAttr &
682
- KTReactifyObject<{
684
+ KTReactifyProps<{
683
685
  reversed?: boolean;
684
686
  start?: number | string;
685
687
  type?: '1' | 'a' | 'A' | 'i' | 'I';
@@ -687,14 +689,14 @@ interface AttributesMap {
687
689
 
688
690
  // Optgroup element
689
691
  optgroup: BaseAttr &
690
- KTReactifyObject<{
692
+ KTReactifyProps<{
691
693
  disabled?: boolean;
692
694
  label?: string;
693
695
  }>;
694
696
 
695
697
  // Option element
696
698
  option: BaseAttr &
697
- KTReactifyObject<{
699
+ KTReactifyProps<{
698
700
  disabled?: boolean;
699
701
  label?: string;
700
702
  selected?: boolean;
@@ -703,39 +705,39 @@ interface AttributesMap {
703
705
 
704
706
  // Output element
705
707
  output: BaseAttr &
706
- KTReactifyObject<{
708
+ KTReactifyProps<{
707
709
  for?: string;
708
710
  form?: string;
709
711
  name?: string;
710
712
  }>;
711
713
 
712
714
  // Picture element
713
- picture: BaseAttr & KTReactifyObject<{}>;
715
+ picture: BaseAttr & KTReactifyProps<{}>;
714
716
 
715
717
  // Pre element
716
- pre: BaseAttr & KTReactifyObject<{}>;
718
+ pre: BaseAttr & KTReactifyProps<{}>;
717
719
 
718
720
  // Progress element
719
721
  progress: BaseAttr &
720
- KTReactifyObject<{
722
+ KTReactifyProps<{
721
723
  max?: number | string;
722
724
  value?: number | string;
723
725
  }>;
724
726
 
725
727
  // Quote element (q and blockquote)
726
728
  q: BaseAttr &
727
- KTReactifyObject<{
729
+ KTReactifyProps<{
728
730
  cite?: string;
729
731
  }>;
730
732
 
731
733
  blockquote: BaseAttr &
732
- KTReactifyObject<{
734
+ KTReactifyProps<{
733
735
  cite?: string;
734
736
  }>;
735
737
 
736
738
  // Script element
737
739
  script: BaseAttr &
738
- KTReactifyObject<{
740
+ KTReactifyProps<{
739
741
  async?: boolean;
740
742
  crossorigin?: 'anonymous' | 'use-credentials' | '';
741
743
  defer?: boolean;
@@ -756,7 +758,7 @@ interface AttributesMap {
756
758
 
757
759
  // Select element
758
760
  select: BaseAttr &
759
- KTReactifyObject<{
761
+ KTReactifyProps<{
760
762
  autocomplete?: string;
761
763
  disabled?: boolean;
762
764
  form?: string;
@@ -768,13 +770,13 @@ interface AttributesMap {
768
770
 
769
771
  // Slot element
770
772
  slot: BaseAttr &
771
- KTReactifyObject<{
773
+ KTReactifyProps<{
772
774
  name?: string;
773
775
  }>;
774
776
 
775
777
  // Source element
776
778
  source: BaseAttr &
777
- KTReactifyObject<{
779
+ KTReactifyProps<{
778
780
  height?: number | string;
779
781
  media?: string;
780
782
  sizes?: string;
@@ -786,30 +788,30 @@ interface AttributesMap {
786
788
 
787
789
  // Style element
788
790
  style: BaseAttr &
789
- KTReactifyObject<{
791
+ KTReactifyProps<{
790
792
  media?: string;
791
793
  }>;
792
794
 
793
795
  // Table element
794
- table: BaseAttr & KTReactifyObject<{}>;
796
+ table: BaseAttr & KTReactifyProps<{}>;
795
797
 
796
798
  // Table body/footer/header elements
797
- tbody: BaseAttr & KTReactifyObject<{}>;
799
+ tbody: BaseAttr & KTReactifyProps<{}>;
798
800
 
799
- tfoot: BaseAttr & KTReactifyObject<{}>;
801
+ tfoot: BaseAttr & KTReactifyProps<{}>;
800
802
 
801
- thead: BaseAttr & KTReactifyObject<{}>;
803
+ thead: BaseAttr & KTReactifyProps<{}>;
802
804
 
803
805
  // Table cell elements
804
806
  td: BaseAttr &
805
- KTReactifyObject<{
807
+ KTReactifyProps<{
806
808
  colspan?: number | string;
807
809
  headers?: string;
808
810
  rowspan?: number | string;
809
811
  }>;
810
812
 
811
813
  th: BaseAttr &
812
- KTReactifyObject<{
814
+ KTReactifyProps<{
813
815
  abbr?: string;
814
816
  colspan?: number | string;
815
817
  headers?: string;
@@ -818,11 +820,11 @@ interface AttributesMap {
818
820
  }>;
819
821
 
820
822
  // Template element
821
- template: BaseAttr & KTReactifyObject<{}>;
823
+ template: BaseAttr & KTReactifyProps<{}>;
822
824
 
823
825
  // Textarea element
824
826
  textarea: BaseAttr &
825
- KTReactifyObject<{
827
+ KTReactifyProps<{
826
828
  autocomplete?: string;
827
829
  cols?: number | string;
828
830
  dirname?: string;
@@ -840,19 +842,19 @@ interface AttributesMap {
840
842
 
841
843
  // Time element
842
844
  time: BaseAttr &
843
- KTReactifyObject<{
845
+ KTReactifyProps<{
844
846
  datetime?: string;
845
847
  }>;
846
848
 
847
849
  // Title element
848
- title: BaseAttr & KTReactifyObject<{}>;
850
+ title: BaseAttr & KTReactifyProps<{}>;
849
851
 
850
852
  // TR element
851
- tr: BaseAttr & KTReactifyObject<{}>;
853
+ tr: BaseAttr & KTReactifyProps<{}>;
852
854
 
853
855
  // Track element
854
856
  track: BaseAttr &
855
- KTReactifyObject<{
857
+ KTReactifyProps<{
856
858
  default?: boolean;
857
859
  kind?: 'subtitles' | 'captions' | 'descriptions' | 'chapters' | 'metadata';
858
860
  label?: string;
@@ -861,11 +863,11 @@ interface AttributesMap {
861
863
  }>;
862
864
 
863
865
  // UL element
864
- ul: BaseAttr & KTReactifyObject<{}>;
866
+ ul: BaseAttr & KTReactifyProps<{}>;
865
867
 
866
868
  // Video element
867
869
  video: BaseAttr &
868
- KTReactifyObject<{
870
+ KTReactifyProps<{
869
871
  autoplay?: boolean;
870
872
  controls?: boolean;
871
873
  crossorigin?: 'anonymous' | 'use-credentials' | '';
@@ -880,55 +882,55 @@ interface AttributesMap {
880
882
  }>;
881
883
 
882
884
  // Generic HTMLElement (no specific attributes beyond BaseEvent)
883
- abbr: BaseAttr & KTReactifyObject<{}>;
884
- address: BaseAttr & KTReactifyObject<{}>;
885
- article: BaseAttr & KTReactifyObject<{}>;
886
- aside: BaseAttr & KTReactifyObject<{}>;
887
- b: BaseAttr & KTReactifyObject<{}>;
888
- bdi: BaseAttr & KTReactifyObject<{}>;
889
- bdo: BaseAttr & KTReactifyObject<{}>;
890
- cite: BaseAttr & KTReactifyObject<{}>;
891
- code: BaseAttr & KTReactifyObject<{}>;
892
- dd: BaseAttr & KTReactifyObject<{}>;
893
- dfn: BaseAttr & KTReactifyObject<{}>;
894
- div: BaseAttr & KTReactifyObject<{}>;
895
- dl: BaseAttr & KTReactifyObject<{}>;
896
- dt: BaseAttr & KTReactifyObject<{}>;
897
- em: BaseAttr & KTReactifyObject<{}>;
898
- figcaption: BaseAttr & KTReactifyObject<{}>;
899
- figure: BaseAttr & KTReactifyObject<{}>;
900
- footer: BaseAttr & KTReactifyObject<{}>;
901
- h1: BaseAttr & KTReactifyObject<{}>;
902
- h2: BaseAttr & KTReactifyObject<{}>;
903
- h3: BaseAttr & KTReactifyObject<{}>;
904
- h4: BaseAttr & KTReactifyObject<{}>;
905
- h5: BaseAttr & KTReactifyObject<{}>;
906
- h6: BaseAttr & KTReactifyObject<{}>;
907
- header: BaseAttr & KTReactifyObject<{}>;
908
- hgroup: BaseAttr & KTReactifyObject<{}>;
909
- i: BaseAttr & KTReactifyObject<{}>;
910
- kbd: BaseAttr & KTReactifyObject<{}>;
911
- main: BaseAttr & KTReactifyObject<{}>;
912
- mark: BaseAttr & KTReactifyObject<{}>;
913
- nav: BaseAttr & KTReactifyObject<{}>;
914
- noscript: BaseAttr & KTReactifyObject<{}>;
915
- p: BaseAttr & KTReactifyObject<{}>;
916
- rp: BaseAttr & KTReactifyObject<{}>;
917
- rt: BaseAttr & KTReactifyObject<{}>;
918
- ruby: BaseAttr & KTReactifyObject<{}>;
919
- s: BaseAttr & KTReactifyObject<{}>;
920
- samp: BaseAttr & KTReactifyObject<{}>;
921
- search: BaseAttr & KTReactifyObject<{}>;
922
- section: BaseAttr & KTReactifyObject<{}>;
923
- small: BaseAttr & KTReactifyObject<{}>;
924
- span: BaseAttr & KTReactifyObject<{}>;
925
- strong: BaseAttr & KTReactifyObject<{}>;
926
- sub: BaseAttr & KTReactifyObject<{}>;
927
- summary: BaseAttr & KTReactifyObject<{}>;
928
- sup: BaseAttr & KTReactifyObject<{}>;
929
- u: BaseAttr & KTReactifyObject<{}>;
930
- var: BaseAttr & KTReactifyObject<{}>;
931
- wbr: BaseAttr & KTReactifyObject<{}>;
885
+ abbr: BaseAttr & KTReactifyProps<{}>;
886
+ address: BaseAttr & KTReactifyProps<{}>;
887
+ article: BaseAttr & KTReactifyProps<{}>;
888
+ aside: BaseAttr & KTReactifyProps<{}>;
889
+ b: BaseAttr & KTReactifyProps<{}>;
890
+ bdi: BaseAttr & KTReactifyProps<{}>;
891
+ bdo: BaseAttr & KTReactifyProps<{}>;
892
+ cite: BaseAttr & KTReactifyProps<{}>;
893
+ code: BaseAttr & KTReactifyProps<{}>;
894
+ dd: BaseAttr & KTReactifyProps<{}>;
895
+ dfn: BaseAttr & KTReactifyProps<{}>;
896
+ div: BaseAttr & KTReactifyProps<{}>;
897
+ dl: BaseAttr & KTReactifyProps<{}>;
898
+ dt: BaseAttr & KTReactifyProps<{}>;
899
+ em: BaseAttr & KTReactifyProps<{}>;
900
+ figcaption: BaseAttr & KTReactifyProps<{}>;
901
+ figure: BaseAttr & KTReactifyProps<{}>;
902
+ footer: BaseAttr & KTReactifyProps<{}>;
903
+ h1: BaseAttr & KTReactifyProps<{}>;
904
+ h2: BaseAttr & KTReactifyProps<{}>;
905
+ h3: BaseAttr & KTReactifyProps<{}>;
906
+ h4: BaseAttr & KTReactifyProps<{}>;
907
+ h5: BaseAttr & KTReactifyProps<{}>;
908
+ h6: BaseAttr & KTReactifyProps<{}>;
909
+ header: BaseAttr & KTReactifyProps<{}>;
910
+ hgroup: BaseAttr & KTReactifyProps<{}>;
911
+ i: BaseAttr & KTReactifyProps<{}>;
912
+ kbd: BaseAttr & KTReactifyProps<{}>;
913
+ main: BaseAttr & KTReactifyProps<{}>;
914
+ mark: BaseAttr & KTReactifyProps<{}>;
915
+ nav: BaseAttr & KTReactifyProps<{}>;
916
+ noscript: BaseAttr & KTReactifyProps<{}>;
917
+ p: BaseAttr & KTReactifyProps<{}>;
918
+ rp: BaseAttr & KTReactifyProps<{}>;
919
+ rt: BaseAttr & KTReactifyProps<{}>;
920
+ ruby: BaseAttr & KTReactifyProps<{}>;
921
+ s: BaseAttr & KTReactifyProps<{}>;
922
+ samp: BaseAttr & KTReactifyProps<{}>;
923
+ search: BaseAttr & KTReactifyProps<{}>;
924
+ section: BaseAttr & KTReactifyProps<{}>;
925
+ small: BaseAttr & KTReactifyProps<{}>;
926
+ span: BaseAttr & KTReactifyProps<{}>;
927
+ strong: BaseAttr & KTReactifyProps<{}>;
928
+ sub: BaseAttr & KTReactifyProps<{}>;
929
+ summary: BaseAttr & KTReactifyProps<{}>;
930
+ sup: BaseAttr & KTReactifyProps<{}>;
931
+ u: BaseAttr & KTReactifyProps<{}>;
932
+ var: BaseAttr & KTReactifyProps<{}>;
933
+ wbr: BaseAttr & KTReactifyProps<{}>;
932
934
 
933
935
  svg: BaseAttr & {
934
936
  class?: string;
@@ -1410,4 +1412,4 @@ interface KTForProps<T> {
1410
1412
  declare function KTFor<T>(props: KTForProps<T>): KTForElement;
1411
1413
 
1412
1414
  export { $modelOrRef, Fragment, KTAsync, KTComputed, KTFor, KTReactiveType, KTRef, computed, h as createElement, createRedrawable, deref, effect, h, isComputed, isKT, isRef, jsx, jsxDEV, jsxs, ref, surfaceRef, toReactive, toRef };
1413
- export type { EventHandler, HTMLTag, InputElementTag, KTAttribute, KTForElement, KTForProps, KTPrefixedEventAttribute, KTRawAttr, KTRawContent, KTRawContents, KTReactify, KTReactifyObject, KTReactive, KTSurfaceRef, MathMLTag, ReactiveChangeHandler, SVGTag };
1415
+ export type { EventHandler, HTMLTag, InputElementTag, KTAttribute, KTForElement, KTForProps, KTPrefixedEventAttribute, KTRawAttr, KTRawContent, KTRawContents, KTReactify, KTReactifyObject, KTReactifyProps, KTReactive, KTSurfaceRef, MathMLTag, ReactiveChangeHandler, SVGTag };
@@ -91,11 +91,8 @@ var __ktjs_core__ = (function (exports) {
91
91
  }
92
92
 
93
93
  // Shared utilities and cached native methods for kt.js framework
94
- Object.defineProperty(window, '__ktjs__', { value: '0.22.8' });
94
+ Object.defineProperty(window, '__ktjs__', { value: '0.23.0' });
95
95
 
96
- // export const KT_TYPE_REF = 1 as const;
97
- // export const KT_TYPE_COMPUTED = 2 as const;
98
- // export type KTReactiveTypeEnum = typeof KT_TYPE_REF | typeof KT_TYPE_COMPUTED;
99
96
  const isKT = (obj) => obj?.isKT;
100
97
  const isRef = (obj) => obj?.ktType === 1 /* KTReactiveType.REF */;
101
98
  const isComputed = (obj) => obj?.ktType === 2 /* KTReactiveType.COMPUTED */;
@@ -159,12 +156,10 @@ var __ktjs_core__ = (function (exports) {
159
156
  classValue.addOnChange((v) => element.setAttribute('class', v));
160
157
  }
161
158
  else {
162
- // todo 这里要让undefined 排除出reactify类型工具之外
163
159
  element.setAttribute('class', classValue);
164
160
  }
165
161
  }
166
162
  // todo 这里加入reactive支持
167
- // todo 类型定义也要支持reactive响应式
168
163
  const style = attr.style;
169
164
  if (style) {
170
165
  if (typeof style === 'string') {
@@ -438,6 +433,9 @@ var __ktjs_core__ = (function (exports) {
438
433
  * @internal
439
434
  */
440
435
  _onChanges = [];
436
+ /**
437
+ * @internal
438
+ */
441
439
  _subscribe(reactives) {
442
440
  for (let i = 0; i < reactives.length; i++) {
443
441
  const reactive = reactives[i];
@@ -599,7 +597,7 @@ var __ktjs_core__ = (function (exports) {
599
597
  * ## About
600
598
  * @package @ktjs/core
601
599
  * @author Kasukabe Tsumugi <futami16237@gmail.com>
602
- * @version 0.26.1 (Last Update: 2026.02.05 17:35:29.547)
600
+ * @version 0.26.4 (Last Update: 2026.02.05 23:37:34.691)
603
601
  * @license MIT
604
602
  * @link https://github.com/baendlorel/kt.js
605
603
  * @link https://baendlorel.github.io/ Welcome to my site!
@@ -91,11 +91,8 @@ var __ktjs_core__ = (function (exports) {
91
91
  }
92
92
 
93
93
  // Shared utilities and cached native methods for kt.js framework
94
- Object.defineProperty(window, '__ktjs__', { value: '0.22.8' });
94
+ Object.defineProperty(window, '__ktjs__', { value: '0.23.0' });
95
95
 
96
- // export const KT_TYPE_REF = 1 as const;
97
- // export const KT_TYPE_COMPUTED = 2 as const;
98
- // export type KTReactiveTypeEnum = typeof KT_TYPE_REF | typeof KT_TYPE_COMPUTED;
99
96
  var isKT = function (obj) { return obj === null || obj === void 0 ? void 0 : obj.isKT; };
100
97
  var isRef = function (obj) { return (obj === null || obj === void 0 ? void 0 : obj.ktType) === 1 /* KTReactiveType.REF */; };
101
98
  var isComputed = function (obj) { return (obj === null || obj === void 0 ? void 0 : obj.ktType) === 2 /* KTReactiveType.COMPUTED */; };
@@ -161,12 +158,10 @@ var __ktjs_core__ = (function (exports) {
161
158
  classValue.addOnChange(function (v) { return element.setAttribute('class', v); });
162
159
  }
163
160
  else {
164
- // todo 这里要让undefined 排除出reactify类型工具之外
165
161
  element.setAttribute('class', classValue);
166
162
  }
167
163
  }
168
164
  // todo 这里加入reactive支持
169
- // todo 类型定义也要支持reactive响应式
170
165
  var style = attr.style;
171
166
  if (style) {
172
167
  if (typeof style === 'string') {
@@ -440,6 +435,9 @@ var __ktjs_core__ = (function (exports) {
440
435
  this._value = _calculator();
441
436
  this._subscribe(reactives);
442
437
  }
438
+ /**
439
+ * @internal
440
+ */
443
441
  KTComputed.prototype._subscribe = function (reactives) {
444
442
  var _this = this;
445
443
  for (var i = 0; i < reactives.length; i++) {
@@ -602,7 +600,7 @@ var __ktjs_core__ = (function (exports) {
602
600
  * ## About
603
601
  * @package @ktjs/core
604
602
  * @author Kasukabe Tsumugi <futami16237@gmail.com>
605
- * @version 0.26.1 (Last Update: 2026.02.05 17:35:29.547)
603
+ * @version 0.26.4 (Last Update: 2026.02.05 23:37:34.691)
606
604
  * @license MIT
607
605
  * @link https://github.com/baendlorel/kt.js
608
606
  * @link https://baendlorel.github.io/ Welcome to my site!