@ktjs/core 0.25.0 → 0.26.2

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
@@ -56,6 +56,13 @@ declare function effect(effectFn: () => void, reactives: Array<KTReactive<any>>,
56
56
 
57
57
  type KTReactive<T> = KTRef<T> | KTComputed<T>;
58
58
  declare const toReactive: <T>(value: T | KTReactive<T>, onChange?: ReactiveChangeHandler<T>) => KTReactive<T>;
59
+ type KTReactify<T> = T extends any ? KTReactive<T> : never;
60
+ type KTReactifyObject<T extends object> = {
61
+ [K in keyof T]: KTReactify<T[K]>;
62
+ };
63
+ type KTReactifyProps<T extends object> = {
64
+ [K in keyof T]: KTReactify<Exclude<T[K], undefined>> | T[K];
65
+ };
59
66
 
60
67
  declare const enum KTReactiveType {
61
68
  REF = 1,
@@ -242,7 +249,7 @@ type KTComponent = (
242
249
  * ## About
243
250
  * @package @ktjs/core
244
251
  * @author Kasukabe Tsumugi <futami16237@gmail.com>
245
- * @version 0.25.0 (Last Update: 2026.02.05 16:20:09.244)
252
+ * @version 0.26.2 (Last Update: 2026.02.05 20:44:45.309)
246
253
  * @license MIT
247
254
  * @link https://github.com/baendlorel/kt.js
248
255
  * @link https://baendlorel.github.io/ Welcome to my site!
@@ -293,593 +300,638 @@ declare function createRedrawable<T>(creator: () => T): KTRef<T> & {
293
300
  };
294
301
 
295
302
  // Base events available to all HTML elements
296
- type BaseAttr = KTPrefixedEventAttribute & {
297
- [k: string]: any;
303
+ type BaseAttr = KTPrefixedEventAttribute &
304
+ KTReactifyProps<{
305
+ [k: string]: any;
298
306
 
299
- // # base attributes
300
- class?: string;
301
- className?: string;
302
- style?: string | Partial<CSSStyleDeclaration>;
303
- };
307
+ // # base attributes
308
+ class?: string;
309
+ className?: string;
310
+ style?: string | Partial<CSSStyleDeclaration>;
311
+ }>;
304
312
 
305
313
  interface AttributesMap {
306
314
  // Anchor element
307
- a: BaseAttr & {
308
- download?: string;
309
- href?: string;
310
- hreflang?: string;
311
- ping?: string;
312
- referrerpolicy?:
313
- | 'no-referrer'
314
- | 'no-referrer-when-downgrade'
315
- | 'origin'
316
- | 'origin-when-cross-origin'
317
- | 'same-origin'
318
- | 'strict-origin'
319
- | 'strict-origin-when-cross-origin'
320
- | 'unsafe-url';
321
- rel?: string;
322
- target?: '_self' | '_blank' | '_parent' | '_top' | string;
323
- type?: string;
324
- };
315
+ a: BaseAttr &
316
+ KTReactifyProps<{
317
+ download?: string;
318
+ href?: string;
319
+ hreflang?: string;
320
+ ping?: string;
321
+ referrerpolicy?:
322
+ | 'no-referrer'
323
+ | 'no-referrer-when-downgrade'
324
+ | 'origin'
325
+ | 'origin-when-cross-origin'
326
+ | 'same-origin'
327
+ | 'strict-origin'
328
+ | 'strict-origin-when-cross-origin'
329
+ | 'unsafe-url';
330
+ rel?: string;
331
+ target?: '_self' | '_blank' | '_parent' | '_top' | string;
332
+ type?: string;
333
+ }>;
325
334
 
326
335
  // Area element
327
- area: BaseAttr & {
328
- alt?: string;
329
- coords?: string;
330
- download?: string;
331
- href?: string;
332
- ping?: string;
333
- referrerpolicy?:
334
- | 'no-referrer'
335
- | 'no-referrer-when-downgrade'
336
- | 'origin'
337
- | 'origin-when-cross-origin'
338
- | 'same-origin'
339
- | 'strict-origin'
340
- | 'strict-origin-when-cross-origin'
341
- | 'unsafe-url';
342
- rel?: string;
343
- shape?: 'rect' | 'circle' | 'poly' | 'default';
344
- target?: '_self' | '_blank' | '_parent' | '_top' | string;
345
- };
336
+ area: BaseAttr &
337
+ KTReactifyProps<{
338
+ alt?: string;
339
+ coords?: string;
340
+ download?: string;
341
+ href?: string;
342
+ ping?: string;
343
+ referrerpolicy?:
344
+ | 'no-referrer'
345
+ | 'no-referrer-when-downgrade'
346
+ | 'origin'
347
+ | 'origin-when-cross-origin'
348
+ | 'same-origin'
349
+ | 'strict-origin'
350
+ | 'strict-origin-when-cross-origin'
351
+ | 'unsafe-url';
352
+ rel?: string;
353
+ shape?: 'rect' | 'circle' | 'poly' | 'default';
354
+ target?: '_self' | '_blank' | '_parent' | '_top' | string;
355
+ }>;
346
356
 
347
357
  // Audio element
348
- audio: BaseAttr & {
349
- autoplay?: boolean;
350
- controls?: boolean;
351
- crossorigin?: 'anonymous' | 'use-credentials' | '';
352
- loop?: boolean;
353
- muted?: boolean;
354
- preload?: 'none' | 'metadata' | 'auto' | '';
355
- src?: string;
356
- };
358
+ audio: BaseAttr &
359
+ KTReactifyProps<{
360
+ autoplay?: boolean;
361
+ controls?: boolean;
362
+ crossorigin?: 'anonymous' | 'use-credentials' | '';
363
+ loop?: boolean;
364
+ muted?: boolean;
365
+ preload?: 'none' | 'metadata' | 'auto' | '';
366
+ src?: string;
367
+ }>;
357
368
 
358
369
  // Base element
359
- base: BaseAttr & {
360
- href?: string;
361
- target?: '_self' | '_blank' | '_parent' | '_top' | string;
362
- };
370
+ base: BaseAttr &
371
+ KTReactifyProps<{
372
+ href?: string;
373
+ target?: '_self' | '_blank' | '_parent' | '_top' | string;
374
+ }>;
363
375
 
364
376
  // Body element
365
- body: BaseAttr & {};
377
+ body: BaseAttr & KTReactifyProps<{}>;
366
378
 
367
379
  // BR element
368
- br: BaseAttr & {};
380
+ br: BaseAttr & KTReactifyProps<{}>;
369
381
 
370
382
  // Button element
371
- button: BaseAttr & {
372
- disabled?: boolean;
373
- form?: string;
374
- formaction?: string;
375
- formenctype?: 'application/x-www-form-urlencoded' | 'multipart/form-data' | 'text/plain';
376
- formmethod?: 'get' | 'post' | 'dialog';
377
- formnovalidate?: boolean;
378
- formtarget?: '_self' | '_blank' | '_parent' | '_top' | string;
379
- name?: string;
380
- type?: 'submit' | 'reset' | 'button';
381
- value?: string;
382
- };
383
+ button: BaseAttr &
384
+ KTReactifyProps<{
385
+ disabled?: boolean;
386
+ form?: string;
387
+ formaction?: string;
388
+ formenctype?: 'application/x-www-form-urlencoded' | 'multipart/form-data' | 'text/plain';
389
+ formmethod?: 'get' | 'post' | 'dialog';
390
+ formnovalidate?: boolean;
391
+ formtarget?: '_self' | '_blank' | '_parent' | '_top' | string;
392
+ name?: string;
393
+ type?: 'submit' | 'reset' | 'button';
394
+ value?: string;
395
+ }>;
383
396
 
384
397
  // Canvas element
385
- canvas: BaseAttr & {
386
- height?: number | string;
387
- width?: number | string;
388
- };
398
+ canvas: BaseAttr &
399
+ KTReactifyProps<{
400
+ height?: number | string;
401
+ width?: number | string;
402
+ }>;
389
403
 
390
404
  // Table caption element
391
- caption: BaseAttr & {};
405
+ caption: BaseAttr & KTReactifyProps<{}>;
392
406
 
393
407
  // Col element
394
- col: BaseAttr & {
395
- span?: number | string;
396
- };
408
+ col: BaseAttr &
409
+ KTReactifyProps<{
410
+ span?: number | string;
411
+ }>;
397
412
 
398
413
  // Colgroup element
399
- colgroup: BaseAttr & {
400
- span?: number | string;
401
- };
414
+ colgroup: BaseAttr &
415
+ KTReactifyProps<{
416
+ span?: number | string;
417
+ }>;
402
418
 
403
419
  // Data element
404
- data: BaseAttr & {
405
- value?: string;
406
- };
420
+ data: BaseAttr &
421
+ KTReactifyProps<{
422
+ value?: string;
423
+ }>;
407
424
 
408
425
  // Datalist element
409
- datalist: BaseAttr & {};
426
+ datalist: BaseAttr & KTReactifyProps<{}>;
410
427
 
411
428
  // Del element
412
- del: BaseAttr & {
413
- cite?: string;
414
- datetime?: string;
415
- };
429
+ del: BaseAttr &
430
+ KTReactifyProps<{
431
+ cite?: string;
432
+ datetime?: string;
433
+ }>;
416
434
 
417
435
  // Details element
418
- details: BaseAttr & {
419
- open?: boolean;
420
- };
436
+ details: BaseAttr &
437
+ KTReactifyProps<{
438
+ open?: boolean;
439
+ }>;
421
440
 
422
441
  // Dialog element
423
- dialog: BaseAttr & {
424
- open?: boolean;
425
- };
442
+ dialog: BaseAttr &
443
+ KTReactifyProps<{
444
+ open?: boolean;
445
+ }>;
426
446
 
427
447
  // Embed element
428
- embed: BaseAttr & {
429
- height?: number | string;
430
- src?: string;
431
- type?: string;
432
- width?: number | string;
433
- };
448
+ embed: BaseAttr &
449
+ KTReactifyProps<{
450
+ height?: number | string;
451
+ src?: string;
452
+ type?: string;
453
+ width?: number | string;
454
+ }>;
434
455
 
435
456
  // Fieldset element
436
- fieldset: BaseAttr & {
437
- disabled?: boolean;
438
- form?: string;
439
- name?: string;
440
- };
457
+ fieldset: BaseAttr &
458
+ KTReactifyProps<{
459
+ disabled?: boolean;
460
+ form?: string;
461
+ name?: string;
462
+ }>;
441
463
 
442
464
  // Form element
443
- form: BaseAttr & {
444
- 'accept-charset'?: string;
445
- action?: string;
446
- autocomplete?: 'on' | 'off';
447
- enctype?: 'application/x-www-form-urlencoded' | 'multipart/form-data' | 'text/plain';
448
- method?: 'POST' | 'GET' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD' | 'OPTIONS' | 'CONNECT' | 'TRACE' | otherstring;
449
-
450
- name?: string;
451
- novalidate?: boolean;
452
- target?: '_self' | '_blank' | '_parent' | '_top' | string;
453
- };
465
+ form: BaseAttr &
466
+ KTReactifyProps<{
467
+ 'accept-charset'?: string;
468
+ action?: string;
469
+ autocomplete?: 'on' | 'off';
470
+ enctype?: 'application/x-www-form-urlencoded' | 'multipart/form-data' | 'text/plain';
471
+ method?: 'POST' | 'GET' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD' | 'OPTIONS' | 'CONNECT' | 'TRACE' | otherstring;
472
+
473
+ name?: string;
474
+ novalidate?: boolean;
475
+ target?: '_self' | '_blank' | '_parent' | '_top' | string;
476
+ }>;
454
477
 
455
478
  // Head element
456
- head: BaseAttr & {};
479
+ head: BaseAttr & KTReactifyProps<{}>;
457
480
 
458
481
  // HR element
459
- hr: BaseAttr & {};
482
+ hr: BaseAttr & KTReactifyProps<{}>;
460
483
 
461
484
  // HTML element
462
- html: BaseAttr & {};
485
+ html: BaseAttr & KTReactifyProps<{}>;
463
486
 
464
487
  // IFrame element
465
- iframe: BaseAttr & {
466
- allow?: string;
467
- allowfullscreen?: boolean;
468
- allowpaymentrequest?: boolean;
469
- height?: number | string;
470
- loading?: 'eager' | 'lazy';
471
- name?: string;
472
- referrerpolicy?:
473
- | 'no-referrer'
474
- | 'no-referrer-when-downgrade'
475
- | 'origin'
476
- | 'origin-when-cross-origin'
477
- | 'same-origin'
478
- | 'strict-origin'
479
- | 'strict-origin-when-cross-origin'
480
- | 'unsafe-url';
481
- sandbox?: string;
482
- src?: string;
483
- srcdoc?: string;
484
- width?: number | string;
485
- };
488
+ iframe: BaseAttr &
489
+ KTReactifyProps<{
490
+ allow?: string;
491
+ allowfullscreen?: boolean;
492
+ allowpaymentrequest?: boolean;
493
+ height?: number | string;
494
+ loading?: 'eager' | 'lazy';
495
+ name?: string;
496
+ referrerpolicy?:
497
+ | 'no-referrer'
498
+ | 'no-referrer-when-downgrade'
499
+ | 'origin'
500
+ | 'origin-when-cross-origin'
501
+ | 'same-origin'
502
+ | 'strict-origin'
503
+ | 'strict-origin-when-cross-origin'
504
+ | 'unsafe-url';
505
+ sandbox?: string;
506
+ src?: string;
507
+ srcdoc?: string;
508
+ width?: number | string;
509
+ }>;
486
510
 
487
511
  // Image element
488
- img: BaseAttr & {
489
- alt?: string;
490
- crossorigin?: 'anonymous' | 'use-credentials' | '';
491
- decoding?: 'sync' | 'async' | 'auto';
492
- height?: number | string;
493
- ismap?: boolean;
494
- loading?: 'eager' | 'lazy';
495
- referrerpolicy?:
496
- | 'no-referrer'
497
- | 'no-referrer-when-downgrade'
498
- | 'origin'
499
- | 'origin-when-cross-origin'
500
- | 'same-origin'
501
- | 'strict-origin'
502
- | 'strict-origin-when-cross-origin'
503
- | 'unsafe-url';
504
- sizes?: string;
505
- src?: string;
506
- srcset?: string;
507
- usemap?: string;
508
- width?: number | string;
509
- };
512
+ img: BaseAttr &
513
+ KTReactifyProps<{
514
+ alt?: string;
515
+ crossorigin?: 'anonymous' | 'use-credentials' | '';
516
+ decoding?: 'sync' | 'async' | 'auto';
517
+ height?: number | string;
518
+ ismap?: boolean;
519
+ loading?: 'eager' | 'lazy';
520
+ referrerpolicy?:
521
+ | 'no-referrer'
522
+ | 'no-referrer-when-downgrade'
523
+ | 'origin'
524
+ | 'origin-when-cross-origin'
525
+ | 'same-origin'
526
+ | 'strict-origin'
527
+ | 'strict-origin-when-cross-origin'
528
+ | 'unsafe-url';
529
+ sizes?: string;
530
+ src?: string;
531
+ srcset?: string;
532
+ usemap?: string;
533
+ width?: number | string;
534
+ }>;
510
535
 
511
536
  // Input element
512
- input: BaseAttr & {
513
- accept?: string;
514
- alt?: string;
515
- autocomplete?: string;
516
- checked?: boolean;
517
- dirname?: string;
518
- disabled?: boolean;
519
- form?: string;
520
- formaction?: string;
521
- formenctype?: 'application/x-www-form-urlencoded' | 'multipart/form-data' | 'text/plain';
522
- formmethod?: 'get' | 'post';
523
- formnovalidate?: boolean;
524
- formtarget?: '_self' | '_blank' | '_parent' | '_top' | string;
525
- height?: number | string;
526
- list?: string;
527
- max?: number | string;
528
- maxlength?: number | string;
529
- min?: number | string;
530
- minlength?: number | string;
531
- multiple?: boolean;
532
- name?: string;
533
- pattern?: string;
534
- placeholder?: string;
535
- readonly?: boolean;
536
- required?: boolean;
537
- size?: number | string;
538
- src?: string;
539
- step?: number | string;
540
- type?:
541
- | 'button'
542
- | 'checkbox'
543
- | 'color'
544
- | 'date'
545
- | 'datetime-local'
546
- | 'email'
547
- | 'file'
548
- | 'hidden'
549
- | 'image'
550
- | 'month'
551
- | 'number'
552
- | 'password'
553
- | 'radio'
554
- | 'range'
555
- | 'reset'
556
- | 'search'
557
- | 'submit'
558
- | 'tel'
559
- | 'text'
560
- | 'time'
561
- | 'url'
562
- | 'week';
563
- value?: string;
564
- width?: number | string;
565
- };
537
+ input: BaseAttr &
538
+ KTReactifyProps<{
539
+ accept?: string;
540
+ alt?: string;
541
+ autocomplete?: string;
542
+ checked?: boolean;
543
+ dirname?: string;
544
+ disabled?: boolean;
545
+ form?: string;
546
+ formaction?: string;
547
+ formenctype?: 'application/x-www-form-urlencoded' | 'multipart/form-data' | 'text/plain';
548
+ formmethod?: 'get' | 'post';
549
+ formnovalidate?: boolean;
550
+ formtarget?: '_self' | '_blank' | '_parent' | '_top' | string;
551
+ height?: number | string;
552
+ list?: string;
553
+ max?: number | string;
554
+ maxlength?: number | string;
555
+ min?: number | string;
556
+ minlength?: number | string;
557
+ multiple?: boolean;
558
+ name?: string;
559
+ pattern?: string;
560
+ placeholder?: string;
561
+ readonly?: boolean;
562
+ required?: boolean;
563
+ size?: number | string;
564
+ src?: string;
565
+ step?: number | string;
566
+ type?:
567
+ | 'button'
568
+ | 'checkbox'
569
+ | 'color'
570
+ | 'date'
571
+ | 'datetime-local'
572
+ | 'email'
573
+ | 'file'
574
+ | 'hidden'
575
+ | 'image'
576
+ | 'month'
577
+ | 'number'
578
+ | 'password'
579
+ | 'radio'
580
+ | 'range'
581
+ | 'reset'
582
+ | 'search'
583
+ | 'submit'
584
+ | 'tel'
585
+ | 'text'
586
+ | 'time'
587
+ | 'url'
588
+ | 'week';
589
+ value?: string;
590
+ width?: number | string;
591
+ }>;
566
592
 
567
593
  // Ins element
568
- ins: BaseAttr & {
569
- cite?: string;
570
- datetime?: string;
571
- };
594
+ ins: BaseAttr &
595
+ KTReactifyProps<{
596
+ cite?: string;
597
+ datetime?: string;
598
+ }>;
572
599
 
573
600
  // Label element
574
- label: BaseAttr & {
575
- for?: string;
576
- };
601
+ label: BaseAttr &
602
+ KTReactifyProps<{
603
+ for?: string;
604
+ }>;
577
605
 
578
606
  // Legend element
579
- legend: BaseAttr & {};
607
+ legend: BaseAttr & KTReactifyProps<{}>;
580
608
 
581
609
  // LI element
582
- li: BaseAttr & {
583
- value?: number | string;
584
- };
610
+ li: BaseAttr &
611
+ KTReactifyProps<{
612
+ value?: number | string;
613
+ }>;
585
614
 
586
615
  // Link element
587
- link: BaseAttr & {
588
- as?: string;
589
- crossorigin?: 'anonymous' | 'use-credentials' | '';
590
- disabled?: boolean;
591
- href?: string;
592
- hreflang?: string;
593
- imagesizes?: string;
594
- imagesrcset?: string;
595
- integrity?: string;
596
- media?: string;
597
- referrerpolicy?:
598
- | 'no-referrer'
599
- | 'no-referrer-when-downgrade'
600
- | 'origin'
601
- | 'origin-when-cross-origin'
602
- | 'same-origin'
603
- | 'strict-origin'
604
- | 'strict-origin-when-cross-origin'
605
- | 'unsafe-url';
606
- rel?: string;
607
- sizes?: string;
608
- type?: string;
609
- };
616
+ link: BaseAttr &
617
+ KTReactifyProps<{
618
+ as?: string;
619
+ crossorigin?: 'anonymous' | 'use-credentials' | '';
620
+ disabled?: boolean;
621
+ href?: string;
622
+ hreflang?: string;
623
+ imagesizes?: string;
624
+ imagesrcset?: string;
625
+ integrity?: string;
626
+ media?: string;
627
+ referrerpolicy?:
628
+ | 'no-referrer'
629
+ | 'no-referrer-when-downgrade'
630
+ | 'origin'
631
+ | 'origin-when-cross-origin'
632
+ | 'same-origin'
633
+ | 'strict-origin'
634
+ | 'strict-origin-when-cross-origin'
635
+ | 'unsafe-url';
636
+ rel?: string;
637
+ sizes?: string;
638
+ type?: string;
639
+ }>;
610
640
 
611
641
  // Map element
612
- map: BaseAttr & {
613
- name?: string;
614
- };
642
+ map: BaseAttr &
643
+ KTReactifyProps<{
644
+ name?: string;
645
+ }>;
615
646
 
616
647
  // Menu element
617
- menu: BaseAttr & {};
648
+ menu: BaseAttr & KTReactifyProps<{}>;
618
649
 
619
650
  // Meta element
620
- meta: BaseAttr & {
621
- charset?: string;
622
- content?: string;
623
- 'http-equiv'?: 'content-security-policy' | 'content-type' | 'default-style' | 'refresh' | string;
624
- name?: string;
625
- };
651
+ meta: BaseAttr &
652
+ KTReactifyProps<{
653
+ charset?: string;
654
+ content?: string;
655
+ 'http-equiv'?: 'content-security-policy' | 'content-type' | 'default-style' | 'refresh' | string;
656
+ name?: string;
657
+ }>;
626
658
 
627
659
  // Meter element
628
- meter: BaseAttr & {
629
- form?: string;
630
- high?: number | string;
631
- low?: number | string;
632
- max?: number | string;
633
- min?: number | string;
634
- optimum?: number | string;
635
- value?: number | string;
636
- };
660
+ meter: BaseAttr &
661
+ KTReactifyProps<{
662
+ form?: string;
663
+ high?: number | string;
664
+ low?: number | string;
665
+ max?: number | string;
666
+ min?: number | string;
667
+ optimum?: number | string;
668
+ value?: number | string;
669
+ }>;
637
670
 
638
671
  // Object element
639
- object: BaseAttr & {
640
- data?: string;
641
- form?: string;
642
- height?: number | string;
643
- name?: string;
644
- type?: string;
645
- usemap?: string;
646
- width?: number | string;
647
- };
672
+ object: BaseAttr &
673
+ KTReactifyProps<{
674
+ data?: string;
675
+ form?: string;
676
+ height?: number | string;
677
+ name?: string;
678
+ type?: string;
679
+ usemap?: string;
680
+ width?: number | string;
681
+ }>;
648
682
 
649
683
  // OL element
650
- ol: BaseAttr & {
651
- reversed?: boolean;
652
- start?: number | string;
653
- type?: '1' | 'a' | 'A' | 'i' | 'I';
654
- };
684
+ ol: BaseAttr &
685
+ KTReactifyProps<{
686
+ reversed?: boolean;
687
+ start?: number | string;
688
+ type?: '1' | 'a' | 'A' | 'i' | 'I';
689
+ }>;
655
690
 
656
691
  // Optgroup element
657
- optgroup: BaseAttr & {
658
- disabled?: boolean;
659
- label?: string;
660
- };
692
+ optgroup: BaseAttr &
693
+ KTReactifyProps<{
694
+ disabled?: boolean;
695
+ label?: string;
696
+ }>;
661
697
 
662
698
  // Option element
663
- option: BaseAttr & {
664
- disabled?: boolean;
665
- label?: string;
666
- selected?: boolean;
667
- value?: string;
668
- };
699
+ option: BaseAttr &
700
+ KTReactifyProps<{
701
+ disabled?: boolean;
702
+ label?: string;
703
+ selected?: boolean;
704
+ value?: string;
705
+ }>;
669
706
 
670
707
  // Output element
671
- output: BaseAttr & {
672
- for?: string;
673
- form?: string;
674
- name?: string;
675
- };
708
+ output: BaseAttr &
709
+ KTReactifyProps<{
710
+ for?: string;
711
+ form?: string;
712
+ name?: string;
713
+ }>;
676
714
 
677
715
  // Picture element
678
- picture: BaseAttr & {};
716
+ picture: BaseAttr & KTReactifyProps<{}>;
679
717
 
680
718
  // Pre element
681
- pre: BaseAttr & {};
719
+ pre: BaseAttr & KTReactifyProps<{}>;
682
720
 
683
721
  // Progress element
684
- progress: BaseAttr & {
685
- max?: number | string;
686
- value?: number | string;
687
- };
722
+ progress: BaseAttr &
723
+ KTReactifyProps<{
724
+ max?: number | string;
725
+ value?: number | string;
726
+ }>;
688
727
 
689
728
  // Quote element (q and blockquote)
690
- q: BaseAttr & {
691
- cite?: string;
692
- };
729
+ q: BaseAttr &
730
+ KTReactifyProps<{
731
+ cite?: string;
732
+ }>;
693
733
 
694
- blockquote: BaseAttr & {
695
- cite?: string;
696
- };
734
+ blockquote: BaseAttr &
735
+ KTReactifyProps<{
736
+ cite?: string;
737
+ }>;
697
738
 
698
739
  // Script element
699
- script: BaseAttr & {
700
- async?: boolean;
701
- crossorigin?: 'anonymous' | 'use-credentials' | '';
702
- defer?: boolean;
703
- integrity?: string;
704
- nomodule?: boolean;
705
- referrerpolicy?:
706
- | 'no-referrer'
707
- | 'no-referrer-when-downgrade'
708
- | 'origin'
709
- | 'origin-when-cross-origin'
710
- | 'same-origin'
711
- | 'strict-origin'
712
- | 'strict-origin-when-cross-origin'
713
- | 'unsafe-url';
714
- src?: string;
715
- type?: string;
716
- };
740
+ script: BaseAttr &
741
+ KTReactifyProps<{
742
+ async?: boolean;
743
+ crossorigin?: 'anonymous' | 'use-credentials' | '';
744
+ defer?: boolean;
745
+ integrity?: string;
746
+ nomodule?: boolean;
747
+ referrerpolicy?:
748
+ | 'no-referrer'
749
+ | 'no-referrer-when-downgrade'
750
+ | 'origin'
751
+ | 'origin-when-cross-origin'
752
+ | 'same-origin'
753
+ | 'strict-origin'
754
+ | 'strict-origin-when-cross-origin'
755
+ | 'unsafe-url';
756
+ src?: string;
757
+ type?: string;
758
+ }>;
717
759
 
718
760
  // Select element
719
- select: BaseAttr & {
720
- autocomplete?: string;
721
- disabled?: boolean;
722
- form?: string;
723
- multiple?: boolean;
724
- name?: string;
725
- required?: boolean;
726
- size?: number | string;
727
- };
761
+ select: BaseAttr &
762
+ KTReactifyProps<{
763
+ autocomplete?: string;
764
+ disabled?: boolean;
765
+ form?: string;
766
+ multiple?: boolean;
767
+ name?: string;
768
+ required?: boolean;
769
+ size?: number | string;
770
+ }>;
728
771
 
729
772
  // Slot element
730
- slot: BaseAttr & {
731
- name?: string;
732
- };
773
+ slot: BaseAttr &
774
+ KTReactifyProps<{
775
+ name?: string;
776
+ }>;
733
777
 
734
778
  // Source element
735
- source: BaseAttr & {
736
- height?: number | string;
737
- media?: string;
738
- sizes?: string;
739
- src?: string;
740
- srcset?: string;
741
- type?: string;
742
- width?: number | string;
743
- };
779
+ source: BaseAttr &
780
+ KTReactifyProps<{
781
+ height?: number | string;
782
+ media?: string;
783
+ sizes?: string;
784
+ src?: string;
785
+ srcset?: string;
786
+ type?: string;
787
+ width?: number | string;
788
+ }>;
744
789
 
745
790
  // Style element
746
- style: BaseAttr & {
747
- media?: string;
748
- };
791
+ style: BaseAttr &
792
+ KTReactifyProps<{
793
+ media?: string;
794
+ }>;
749
795
 
750
796
  // Table element
751
- table: BaseAttr & {};
797
+ table: BaseAttr & KTReactifyProps<{}>;
752
798
 
753
799
  // Table body/footer/header elements
754
- tbody: BaseAttr & {};
800
+ tbody: BaseAttr & KTReactifyProps<{}>;
755
801
 
756
- tfoot: BaseAttr & {};
802
+ tfoot: BaseAttr & KTReactifyProps<{}>;
757
803
 
758
- thead: BaseAttr & {};
804
+ thead: BaseAttr & KTReactifyProps<{}>;
759
805
 
760
806
  // Table cell elements
761
- td: BaseAttr & {
762
- colspan?: number | string;
763
- headers?: string;
764
- rowspan?: number | string;
765
- };
766
-
767
- th: BaseAttr & {
768
- abbr?: string;
769
- colspan?: number | string;
770
- headers?: string;
771
- rowspan?: number | string;
772
- scope?: 'row' | 'col' | 'rowgroup' | 'colgroup';
773
- };
807
+ td: BaseAttr &
808
+ KTReactifyProps<{
809
+ colspan?: number | string;
810
+ headers?: string;
811
+ rowspan?: number | string;
812
+ }>;
813
+
814
+ th: BaseAttr &
815
+ KTReactifyProps<{
816
+ abbr?: string;
817
+ colspan?: number | string;
818
+ headers?: string;
819
+ rowspan?: number | string;
820
+ scope?: 'row' | 'col' | 'rowgroup' | 'colgroup';
821
+ }>;
774
822
 
775
823
  // Template element
776
- template: BaseAttr & {};
824
+ template: BaseAttr & KTReactifyProps<{}>;
777
825
 
778
826
  // Textarea element
779
- textarea: BaseAttr & {
780
- autocomplete?: string;
781
- cols?: number | string;
782
- dirname?: string;
783
- disabled?: boolean;
784
- form?: string;
785
- maxlength?: number | string;
786
- minlength?: number | string;
787
- name?: string;
788
- placeholder?: string;
789
- readonly?: boolean;
790
- required?: boolean;
791
- rows?: number | string;
792
- wrap?: 'hard' | 'soft' | 'off';
793
- };
827
+ textarea: BaseAttr &
828
+ KTReactifyProps<{
829
+ autocomplete?: string;
830
+ cols?: number | string;
831
+ dirname?: string;
832
+ disabled?: boolean;
833
+ form?: string;
834
+ maxlength?: number | string;
835
+ minlength?: number | string;
836
+ name?: string;
837
+ placeholder?: string;
838
+ readonly?: boolean;
839
+ required?: boolean;
840
+ rows?: number | string;
841
+ wrap?: 'hard' | 'soft' | 'off';
842
+ }>;
794
843
 
795
844
  // Time element
796
- time: BaseAttr & {
797
- datetime?: string;
798
- };
845
+ time: BaseAttr &
846
+ KTReactifyProps<{
847
+ datetime?: string;
848
+ }>;
799
849
 
800
850
  // Title element
801
- title: BaseAttr & {};
851
+ title: BaseAttr & KTReactifyProps<{}>;
802
852
 
803
853
  // TR element
804
- tr: BaseAttr & {};
854
+ tr: BaseAttr & KTReactifyProps<{}>;
805
855
 
806
856
  // Track element
807
- track: BaseAttr & {
808
- default?: boolean;
809
- kind?: 'subtitles' | 'captions' | 'descriptions' | 'chapters' | 'metadata';
810
- label?: string;
811
- src?: string;
812
- srclang?: string;
813
- };
857
+ track: BaseAttr &
858
+ KTReactifyProps<{
859
+ default?: boolean;
860
+ kind?: 'subtitles' | 'captions' | 'descriptions' | 'chapters' | 'metadata';
861
+ label?: string;
862
+ src?: string;
863
+ srclang?: string;
864
+ }>;
814
865
 
815
866
  // UL element
816
- ul: BaseAttr & {};
867
+ ul: BaseAttr & KTReactifyProps<{}>;
817
868
 
818
869
  // Video element
819
- video: BaseAttr & {
820
- autoplay?: boolean;
821
- controls?: boolean;
822
- crossorigin?: 'anonymous' | 'use-credentials' | '';
823
- height?: number | string;
824
- loop?: boolean;
825
- muted?: boolean;
826
- playsinline?: boolean;
827
- poster?: string;
828
- preload?: 'none' | 'metadata' | 'auto' | '';
829
- src?: string;
830
- width?: number | string;
831
- };
870
+ video: BaseAttr &
871
+ KTReactifyProps<{
872
+ autoplay?: boolean;
873
+ controls?: boolean;
874
+ crossorigin?: 'anonymous' | 'use-credentials' | '';
875
+ height?: number | string;
876
+ loop?: boolean;
877
+ muted?: boolean;
878
+ playsinline?: boolean;
879
+ poster?: string;
880
+ preload?: 'none' | 'metadata' | 'auto' | '';
881
+ src?: string;
882
+ width?: number | string;
883
+ }>;
832
884
 
833
885
  // Generic HTMLElement (no specific attributes beyond BaseEvent)
834
- abbr: BaseAttr & {};
835
- address: BaseAttr & {};
836
- article: BaseAttr & {};
837
- aside: BaseAttr & {};
838
- b: BaseAttr & {};
839
- bdi: BaseAttr & {};
840
- bdo: BaseAttr & {};
841
- cite: BaseAttr & {};
842
- code: BaseAttr & {};
843
- dd: BaseAttr & {};
844
- dfn: BaseAttr & {};
845
- div: BaseAttr & {};
846
- dl: BaseAttr & {};
847
- dt: BaseAttr & {};
848
- em: BaseAttr & {};
849
- figcaption: BaseAttr & {};
850
- figure: BaseAttr & {};
851
- footer: BaseAttr & {};
852
- h1: BaseAttr & {};
853
- h2: BaseAttr & {};
854
- h3: BaseAttr & {};
855
- h4: BaseAttr & {};
856
- h5: BaseAttr & {};
857
- h6: BaseAttr & {};
858
- header: BaseAttr & {};
859
- hgroup: BaseAttr & {};
860
- i: BaseAttr & {};
861
- kbd: BaseAttr & {};
862
- main: BaseAttr & {};
863
- mark: BaseAttr & {};
864
- nav: BaseAttr & {};
865
- noscript: BaseAttr & {};
866
- p: BaseAttr & {};
867
- rp: BaseAttr & {};
868
- rt: BaseAttr & {};
869
- ruby: BaseAttr & {};
870
- s: BaseAttr & {};
871
- samp: BaseAttr & {};
872
- search: BaseAttr & {};
873
- section: BaseAttr & {};
874
- small: BaseAttr & {};
875
- span: BaseAttr & {};
876
- strong: BaseAttr & {};
877
- sub: BaseAttr & {};
878
- summary: BaseAttr & {};
879
- sup: BaseAttr & {};
880
- u: BaseAttr & {};
881
- var: BaseAttr & {};
882
- wbr: BaseAttr & {};
886
+ abbr: BaseAttr & KTReactifyProps<{}>;
887
+ address: BaseAttr & KTReactifyProps<{}>;
888
+ article: BaseAttr & KTReactifyProps<{}>;
889
+ aside: BaseAttr & KTReactifyProps<{}>;
890
+ b: BaseAttr & KTReactifyProps<{}>;
891
+ bdi: BaseAttr & KTReactifyProps<{}>;
892
+ bdo: BaseAttr & KTReactifyProps<{}>;
893
+ cite: BaseAttr & KTReactifyProps<{}>;
894
+ code: BaseAttr & KTReactifyProps<{}>;
895
+ dd: BaseAttr & KTReactifyProps<{}>;
896
+ dfn: BaseAttr & KTReactifyProps<{}>;
897
+ div: BaseAttr & KTReactifyProps<{}>;
898
+ dl: BaseAttr & KTReactifyProps<{}>;
899
+ dt: BaseAttr & KTReactifyProps<{}>;
900
+ em: BaseAttr & KTReactifyProps<{}>;
901
+ figcaption: BaseAttr & KTReactifyProps<{}>;
902
+ figure: BaseAttr & KTReactifyProps<{}>;
903
+ footer: BaseAttr & KTReactifyProps<{}>;
904
+ h1: BaseAttr & KTReactifyProps<{}>;
905
+ h2: BaseAttr & KTReactifyProps<{}>;
906
+ h3: BaseAttr & KTReactifyProps<{}>;
907
+ h4: BaseAttr & KTReactifyProps<{}>;
908
+ h5: BaseAttr & KTReactifyProps<{}>;
909
+ h6: BaseAttr & KTReactifyProps<{}>;
910
+ header: BaseAttr & KTReactifyProps<{}>;
911
+ hgroup: BaseAttr & KTReactifyProps<{}>;
912
+ i: BaseAttr & KTReactifyProps<{}>;
913
+ kbd: BaseAttr & KTReactifyProps<{}>;
914
+ main: BaseAttr & KTReactifyProps<{}>;
915
+ mark: BaseAttr & KTReactifyProps<{}>;
916
+ nav: BaseAttr & KTReactifyProps<{}>;
917
+ noscript: BaseAttr & KTReactifyProps<{}>;
918
+ p: BaseAttr & KTReactifyProps<{}>;
919
+ rp: BaseAttr & KTReactifyProps<{}>;
920
+ rt: BaseAttr & KTReactifyProps<{}>;
921
+ ruby: BaseAttr & KTReactifyProps<{}>;
922
+ s: BaseAttr & KTReactifyProps<{}>;
923
+ samp: BaseAttr & KTReactifyProps<{}>;
924
+ search: BaseAttr & KTReactifyProps<{}>;
925
+ section: BaseAttr & KTReactifyProps<{}>;
926
+ small: BaseAttr & KTReactifyProps<{}>;
927
+ span: BaseAttr & KTReactifyProps<{}>;
928
+ strong: BaseAttr & KTReactifyProps<{}>;
929
+ sub: BaseAttr & KTReactifyProps<{}>;
930
+ summary: BaseAttr & KTReactifyProps<{}>;
931
+ sup: BaseAttr & KTReactifyProps<{}>;
932
+ u: BaseAttr & KTReactifyProps<{}>;
933
+ var: BaseAttr & KTReactifyProps<{}>;
934
+ wbr: BaseAttr & KTReactifyProps<{}>;
883
935
 
884
936
  svg: BaseAttr & {
885
937
  class?: string;
@@ -1361,4 +1413,4 @@ interface KTForProps<T> {
1361
1413
  declare function KTFor<T>(props: KTForProps<T>): KTForElement;
1362
1414
 
1363
1415
  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 };
1364
- export type { EventHandler, HTMLTag, InputElementTag, KTAttribute, KTForElement, KTForProps, KTPrefixedEventAttribute, KTRawAttr, KTRawContent, KTRawContents, KTReactive, KTSurfaceRef, MathMLTag, ReactiveChangeHandler, SVGTag };
1416
+ export type { EventHandler, HTMLTag, InputElementTag, KTAttribute, KTForElement, KTForProps, KTPrefixedEventAttribute, KTRawAttr, KTRawContent, KTRawContents, KTReactify, KTReactifyObject, KTReactifyProps, KTReactive, KTSurfaceRef, MathMLTag, ReactiveChangeHandler, SVGTag };