@ktjs/core 0.25.0 → 0.26.1

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