@uibit/video 0.1.0 → 0.2.0

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/README.md CHANGED
@@ -1,7 +1,17 @@
1
1
  # Video
2
2
 
3
+ [![NPM Version](https://img.shields.io/npm/v/@uibit/video.svg?style=flat-square&color=black)](https://www.npmjs.com/package/@uibit/video)
4
+
5
+
3
6
  [Interactive Demonstration](https://rawlings.github.io/uibit/components/video)
4
7
 
8
+ ## Installation
9
+
10
+ ```bash
11
+ npm install @uibit/video
12
+ ```
13
+
14
+
5
15
  Video provides a customizable web component wrapper for native `<video>` elements and `<iframe>` video embeds. It replaces standard browser control interfaces with a sleek grayscale control bar featuring timeline scrubbing, volume controls, and fullscreen actions.
6
16
 
7
17
  ## Value Delivery
@@ -100,6 +100,12 @@
100
100
  "default": "#ffffff"
101
101
  }
102
102
  ],
103
+ "cssParts": [
104
+ {
105
+ "description": "The custom controls bar.",
106
+ "name": "controls"
107
+ }
108
+ ],
103
109
  "slots": [
104
110
  {
105
111
  "description": "The default slot where the native `<video>` or `<iframe>` element is placed.",
@@ -115,7 +121,8 @@
115
121
  },
116
122
  "default": "''",
117
123
  "description": "Poster image URL. Also used as background for iframes before playing.",
118
- "attribute": "poster"
124
+ "attribute": "poster",
125
+ "see": "://developer.mozilla.org/en-US/docs/Web/HTML/Element/video#poster"
119
126
  },
120
127
  {
121
128
  "kind": "field",
@@ -260,7 +267,8 @@
260
267
  },
261
268
  {
262
269
  "kind": "method",
263
- "name": "togglePlay"
270
+ "name": "togglePlay",
271
+ "description": "Toggles the playback state of the video between play and pause."
264
272
  },
265
273
  {
266
274
  "kind": "method",
@@ -269,7 +277,8 @@
269
277
  },
270
278
  {
271
279
  "kind": "method",
272
- "name": "toggleMute"
280
+ "name": "toggleMute",
281
+ "description": "Toggles the audio mute state."
273
282
  },
274
283
  {
275
284
  "kind": "method",
@@ -427,6 +436,221 @@
427
436
  }
428
437
  }
429
438
  ]
439
+ },
440
+ {
441
+ "kind": "field",
442
+ "name": "locale",
443
+ "type": {
444
+ "text": "string"
445
+ },
446
+ "default": "''",
447
+ "description": "BCP 47 locale string for formatting and localization. Defaults to inherited document language.",
448
+ "attribute": "locale",
449
+ "inheritedFrom": {
450
+ "name": "UIBitElement",
451
+ "module": "../../platform/core/src/element.ts"
452
+ }
453
+ },
454
+ {
455
+ "kind": "field",
456
+ "name": "resolvedLocale",
457
+ "type": {
458
+ "text": "string | undefined"
459
+ },
460
+ "description": "Resolves the active locale for formatting and localization.\nChecks the `locale` property first, then traverses up the DOM to find\nthe nearest ancestor with a `lang` attribute, and finally falls back\nto undefined (which defaults to browser locale).",
461
+ "readonly": true,
462
+ "inheritedFrom": {
463
+ "name": "UIBitElement",
464
+ "module": "../../platform/core/src/element.ts"
465
+ }
466
+ },
467
+ {
468
+ "kind": "field",
469
+ "name": "_disposables",
470
+ "type": {
471
+ "text": "Set<() => void>"
472
+ },
473
+ "privacy": "private",
474
+ "default": "new Set()",
475
+ "inheritedFrom": {
476
+ "name": "UIBitElement",
477
+ "module": "../../platform/core/src/element.ts"
478
+ }
479
+ },
480
+ {
481
+ "kind": "method",
482
+ "name": "createProperty",
483
+ "static": true,
484
+ "parameters": [
485
+ {
486
+ "name": "name",
487
+ "type": {
488
+ "text": "PropertyKey"
489
+ }
490
+ },
491
+ {
492
+ "name": "options",
493
+ "optional": true,
494
+ "type": {
495
+ "text": "PropertyDeclaration"
496
+ }
497
+ }
498
+ ],
499
+ "description": "Overrides createProperty to automatically map camelCase property names\nto kebab-case attribute names by default.",
500
+ "inheritedFrom": {
501
+ "name": "UIBitElement",
502
+ "module": "../../platform/core/src/element.ts"
503
+ }
504
+ },
505
+ {
506
+ "kind": "method",
507
+ "name": "finalizeStyles",
508
+ "static": true,
509
+ "return": {
510
+ "type": {
511
+ "text": "Array<any>"
512
+ }
513
+ },
514
+ "parameters": [
515
+ {
516
+ "name": "styles",
517
+ "optional": true,
518
+ "type": {
519
+ "text": "CSSResultGroup"
520
+ }
521
+ }
522
+ ],
523
+ "description": "Automatically prepends basic layout resets (border-box) to the\ncomponent's final styles.",
524
+ "inheritedFrom": {
525
+ "name": "UIBitElement",
526
+ "module": "../../platform/core/src/element.ts"
527
+ }
528
+ },
529
+ {
530
+ "kind": "method",
531
+ "name": "dispatchCustomEvent",
532
+ "return": {
533
+ "type": {
534
+ "text": "boolean"
535
+ }
536
+ },
537
+ "parameters": [
538
+ {
539
+ "name": "name",
540
+ "type": {
541
+ "text": "string"
542
+ }
543
+ },
544
+ {
545
+ "name": "detail",
546
+ "optional": true,
547
+ "type": {
548
+ "text": "T"
549
+ }
550
+ },
551
+ {
552
+ "name": "options",
553
+ "optional": true,
554
+ "type": {
555
+ "text": "Omit<CustomEventInit<T>, 'detail'>"
556
+ }
557
+ }
558
+ ],
559
+ "description": "Helper to dispatch a custom event with standard bubbles and composed options.",
560
+ "inheritedFrom": {
561
+ "name": "UIBitElement",
562
+ "module": "../../platform/core/src/element.ts"
563
+ }
564
+ },
565
+ {
566
+ "kind": "method",
567
+ "name": "getCssPropertyValue",
568
+ "return": {
569
+ "type": {
570
+ "text": "string"
571
+ }
572
+ },
573
+ "parameters": [
574
+ {
575
+ "name": "propertyName",
576
+ "type": {
577
+ "text": "string"
578
+ }
579
+ }
580
+ ],
581
+ "description": "Helper to retrieve a computed CSS custom property value from the element.",
582
+ "inheritedFrom": {
583
+ "name": "UIBitElement",
584
+ "module": "../../platform/core/src/element.ts"
585
+ }
586
+ },
587
+ {
588
+ "kind": "method",
589
+ "name": "registerDisposable",
590
+ "parameters": [
591
+ {
592
+ "name": "cleanup",
593
+ "type": {
594
+ "text": "() => void"
595
+ }
596
+ }
597
+ ],
598
+ "description": "Register a cleanup function to be executed when the element is disconnected from the DOM.",
599
+ "inheritedFrom": {
600
+ "name": "UIBitElement",
601
+ "module": "../../platform/core/src/element.ts"
602
+ }
603
+ },
604
+ {
605
+ "kind": "method",
606
+ "name": "listen",
607
+ "return": {
608
+ "type": {
609
+ "text": "() => void"
610
+ }
611
+ },
612
+ "parameters": [
613
+ {
614
+ "name": "target",
615
+ "type": {
616
+ "text": "EventTarget"
617
+ }
618
+ },
619
+ {
620
+ "name": "type",
621
+ "type": {
622
+ "text": "K"
623
+ }
624
+ },
625
+ {
626
+ "name": "listener",
627
+ "type": {
628
+ "text": "(this: EventTarget, ev: HTMLElementEventMap[K]) => any"
629
+ }
630
+ },
631
+ {
632
+ "name": "options",
633
+ "optional": true,
634
+ "type": {
635
+ "text": "boolean | AddEventListenerOptions"
636
+ }
637
+ }
638
+ ],
639
+ "description": "Utility to add an event listener that is automatically cleaned up when the element is disconnected.",
640
+ "inheritedFrom": {
641
+ "name": "UIBitElement",
642
+ "module": "../../platform/core/src/element.ts"
643
+ }
644
+ }
645
+ ],
646
+ "events": [
647
+ {
648
+ "description": "Emitted when playback starts.",
649
+ "name": "play"
650
+ },
651
+ {
652
+ "description": "Emitted when playback pauses.",
653
+ "name": "pause"
430
654
  }
431
655
  ],
432
656
  "attributes": [
@@ -447,12 +671,37 @@
447
671
  "default": "true",
448
672
  "description": "Show player controls.",
449
673
  "fieldName": "controls"
674
+ },
675
+ {
676
+ "name": "locale",
677
+ "type": {
678
+ "text": "string"
679
+ },
680
+ "default": "''",
681
+ "description": "BCP 47 locale string for formatting and localization. Defaults to inherited document language.",
682
+ "fieldName": "locale",
683
+ "inheritedFrom": {
684
+ "name": "UIBitElement",
685
+ "module": "../../platform/core/src/element.ts"
686
+ }
687
+ }
688
+ ],
689
+ "cssStates": [
690
+ {
691
+ "name": "playing",
692
+ "description": "Fired when the video is actively playing."
693
+ },
694
+ {
695
+ "name": "fullscreen",
696
+ "description": "Active when in fullscreen mode."
450
697
  }
451
698
  ],
452
699
  "superclass": {
453
700
  "name": "UIBitElement",
454
701
  "package": "@uibit/core"
455
702
  },
703
+ "summary": "A custom element wrapper for native video and iframe elements, providing a consistent, customizable, and premium player controls experience.",
704
+ "see": "://developer.mozilla.org/en-US/docs/Web/HTML/Element/video",
456
705
  "tagName": "uibit-video",
457
706
  "customElement": true
458
707
  }
@@ -483,6 +732,250 @@
483
732
  }
484
733
  }
485
734
  ]
735
+ },
736
+ {
737
+ "kind": "javascript-module",
738
+ "path": "../../platform/core/src/element.ts",
739
+ "declarations": [
740
+ {
741
+ "kind": "class",
742
+ "description": "A foundational base class for all UIBit web components.\nProvides custom event helpers, default kebab-case attribute mapping,\nautomatic cleanup/disposable tracking, and auto-injected reset styles.",
743
+ "name": "UIBitElement",
744
+ "members": [
745
+ {
746
+ "kind": "field",
747
+ "name": "locale",
748
+ "type": {
749
+ "text": "string"
750
+ },
751
+ "default": "''",
752
+ "description": "BCP 47 locale string for formatting and localization. Defaults to inherited document language.",
753
+ "attribute": "locale"
754
+ },
755
+ {
756
+ "kind": "field",
757
+ "name": "resolvedLocale",
758
+ "type": {
759
+ "text": "string | undefined"
760
+ },
761
+ "description": "Resolves the active locale for formatting and localization.\nChecks the `locale` property first, then traverses up the DOM to find\nthe nearest ancestor with a `lang` attribute, and finally falls back\nto undefined (which defaults to browser locale).",
762
+ "readonly": true
763
+ },
764
+ {
765
+ "kind": "field",
766
+ "name": "_disposables",
767
+ "type": {
768
+ "text": "Set<() => void>"
769
+ },
770
+ "privacy": "private",
771
+ "default": "new Set()"
772
+ },
773
+ {
774
+ "kind": "method",
775
+ "name": "createProperty",
776
+ "static": true,
777
+ "parameters": [
778
+ {
779
+ "name": "name",
780
+ "type": {
781
+ "text": "PropertyKey"
782
+ }
783
+ },
784
+ {
785
+ "name": "options",
786
+ "optional": true,
787
+ "type": {
788
+ "text": "PropertyDeclaration"
789
+ }
790
+ }
791
+ ],
792
+ "description": "Overrides createProperty to automatically map camelCase property names\nto kebab-case attribute names by default."
793
+ },
794
+ {
795
+ "kind": "method",
796
+ "name": "finalizeStyles",
797
+ "static": true,
798
+ "return": {
799
+ "type": {
800
+ "text": "Array<any>"
801
+ }
802
+ },
803
+ "parameters": [
804
+ {
805
+ "name": "styles",
806
+ "optional": true,
807
+ "type": {
808
+ "text": "CSSResultGroup"
809
+ }
810
+ }
811
+ ],
812
+ "description": "Automatically prepends basic layout resets (border-box) to the\ncomponent's final styles."
813
+ },
814
+ {
815
+ "kind": "method",
816
+ "name": "dispatchCustomEvent",
817
+ "return": {
818
+ "type": {
819
+ "text": "boolean"
820
+ }
821
+ },
822
+ "parameters": [
823
+ {
824
+ "name": "name",
825
+ "type": {
826
+ "text": "string"
827
+ }
828
+ },
829
+ {
830
+ "name": "detail",
831
+ "optional": true,
832
+ "type": {
833
+ "text": "T"
834
+ }
835
+ },
836
+ {
837
+ "name": "options",
838
+ "optional": true,
839
+ "type": {
840
+ "text": "Omit<CustomEventInit<T>, 'detail'>"
841
+ }
842
+ }
843
+ ],
844
+ "description": "Helper to dispatch a custom event with standard bubbles and composed options."
845
+ },
846
+ {
847
+ "kind": "method",
848
+ "name": "getCssPropertyValue",
849
+ "return": {
850
+ "type": {
851
+ "text": "string"
852
+ }
853
+ },
854
+ "parameters": [
855
+ {
856
+ "name": "propertyName",
857
+ "type": {
858
+ "text": "string"
859
+ }
860
+ }
861
+ ],
862
+ "description": "Helper to retrieve a computed CSS custom property value from the element."
863
+ },
864
+ {
865
+ "kind": "method",
866
+ "name": "registerDisposable",
867
+ "parameters": [
868
+ {
869
+ "name": "cleanup",
870
+ "type": {
871
+ "text": "() => void"
872
+ }
873
+ }
874
+ ],
875
+ "description": "Register a cleanup function to be executed when the element is disconnected from the DOM."
876
+ },
877
+ {
878
+ "kind": "method",
879
+ "name": "listen",
880
+ "return": {
881
+ "type": {
882
+ "text": "() => void"
883
+ }
884
+ },
885
+ "parameters": [
886
+ {
887
+ "name": "target",
888
+ "type": {
889
+ "text": "EventTarget"
890
+ }
891
+ },
892
+ {
893
+ "name": "type",
894
+ "type": {
895
+ "text": "K"
896
+ }
897
+ },
898
+ {
899
+ "name": "listener",
900
+ "type": {
901
+ "text": "(this: EventTarget, ev: HTMLElementEventMap[K]) => any"
902
+ }
903
+ },
904
+ {
905
+ "name": "options",
906
+ "optional": true,
907
+ "type": {
908
+ "text": "boolean | AddEventListenerOptions"
909
+ }
910
+ }
911
+ ],
912
+ "description": "Utility to add an event listener that is automatically cleaned up when the element is disconnected."
913
+ },
914
+ {
915
+ "kind": "method",
916
+ "name": "listen",
917
+ "return": {
918
+ "type": {
919
+ "text": "() => void"
920
+ }
921
+ },
922
+ "parameters": [
923
+ {
924
+ "name": "target",
925
+ "type": {
926
+ "text": "EventTarget"
927
+ }
928
+ },
929
+ {
930
+ "name": "type",
931
+ "type": {
932
+ "text": "string"
933
+ }
934
+ },
935
+ {
936
+ "name": "listener",
937
+ "type": {
938
+ "text": "EventListenerOrEventListenerObject"
939
+ }
940
+ },
941
+ {
942
+ "name": "options",
943
+ "optional": true,
944
+ "type": {
945
+ "text": "boolean | AddEventListenerOptions"
946
+ }
947
+ }
948
+ ]
949
+ }
950
+ ],
951
+ "attributes": [
952
+ {
953
+ "name": "locale",
954
+ "type": {
955
+ "text": "string"
956
+ },
957
+ "default": "''",
958
+ "description": "BCP 47 locale string for formatting and localization. Defaults to inherited document language.",
959
+ "fieldName": "locale"
960
+ }
961
+ ],
962
+ "superclass": {
963
+ "name": "LitElement",
964
+ "package": "lit"
965
+ },
966
+ "customElement": true
967
+ }
968
+ ],
969
+ "exports": [
970
+ {
971
+ "kind": "js",
972
+ "name": "UIBitElement",
973
+ "declaration": {
974
+ "name": "UIBitElement",
975
+ "module": "../../platform/core/src/element.ts"
976
+ }
977
+ }
978
+ ]
486
979
  }
487
980
  ]
488
981
  }
@@ -1,27 +1,39 @@
1
- import { Component, ChangeDetectionStrategy, ElementRef, input, effect, booleanAttribute } from '@angular/core';
1
+ import { Component, ChangeDetectionStrategy, ElementRef, input, effect, output, booleanAttribute } from '@angular/core';
2
2
  import '@uibit/video';
3
3
  import type { Video as HTMLElementClass } from '@uibit/video';
4
-
5
4
  @Component({
6
- selector: 'uibit-video',
7
- template: '<ng-content></ng-content>',
8
- changeDetection: ChangeDetectionStrategy.OnPush,
9
- standalone: true
5
+ selector: 'uibit-video',
6
+ template: '<ng-content></ng-content>',
7
+ changeDetection: ChangeDetectionStrategy.OnPush,
8
+ standalone: true,
9
+ host: {
10
+ '(play)': 'play.emit($event)',
11
+ '(pause)': 'pause.emit($event)'
12
+ }
10
13
  })
11
14
  export class NgxVideo {
12
- constructor(private el: ElementRef<HTMLElementClass>) {
13
- effect(() => {
14
- if (this.el.nativeElement) {
15
- this.el.nativeElement.poster = this.poster();
16
- }
15
+ constructor(private el: ElementRef<HTMLElementClass>){
16
+ effect(()=>{
17
+ if (this.el.nativeElement) {
18
+ this.el.nativeElement.poster = this.poster();
19
+ }
20
+ });
21
+ effect(()=>{
22
+ if (this.el.nativeElement) {
23
+ this.el.nativeElement.controls = this.controls();
24
+ }
25
+ });
26
+ effect(()=>{
27
+ if (this.el.nativeElement) {
28
+ this.el.nativeElement.locale = this.locale();
29
+ }
30
+ });
31
+ }
32
+ readonly poster = input<string>('');
33
+ readonly controls = input<boolean, any>(true, {
34
+ transform: booleanAttribute
17
35
  });
18
- effect(() => {
19
- if (this.el.nativeElement) {
20
- this.el.nativeElement.controls = this.controls();
21
- }
22
- });
23
- }
24
-
25
- readonly poster = input<string, any>('');
26
- readonly controls = input<boolean, any>(true, { transform: booleanAttribute });
36
+ readonly locale = input<string>('');
37
+ readonly play = output<CustomEvent<any>>();
38
+ readonly pause = output<CustomEvent<any>>();
27
39
  }
@@ -4,7 +4,13 @@ import '@uibit/video';
4
4
  declare global {
5
5
  namespace astroHTML.JSX {
6
6
  interface IntrinsicElements {
7
- 'uibit-video': Partial<HTMLElementClass> & astroHTML.JSX.HTMLAttributes;
7
+ 'uibit-video': Partial<HTMLElementClass> & astroHTML.JSX.HTMLAttributes & {
8
+ poster?: string;
9
+ controls?: boolean;
10
+ locale?: string;
11
+ "on:play"?: (event: Event) => void;
12
+ "on:pause"?: (event: Event) => void;
13
+ };
8
14
  }
9
15
  }
10
16
  }
@@ -8,6 +8,11 @@ declare module 'preact' {
8
8
  'uibit-video': JSX.HTMLAttributes<HTMLElementClass> & {
9
9
  poster?: string;
10
10
  controls?: boolean;
11
+ locale?: string;
12
+ onPlay?: (event: Event) => void;
13
+ "on:play"?: (event: Event) => void;
14
+ onPause?: (event: Event) => void;
15
+ "on:pause"?: (event: Event) => void;
11
16
  };
12
17
  }
13
18
  }
@@ -0,0 +1,104 @@
1
+ import React, { useRef, useEffect, useLayoutEffect, useImperativeHandle } from 'react';
2
+ import type { Video as HTMLElementClass } from '@uibit/video';
3
+ import '@uibit/video';
4
+ const useTypeOfLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect;
5
+ export interface VideoProps extends Omit<React.HTMLAttributes<HTMLElementClass>, 'poster' | 'controls' | 'locale' | 'onPlay' | 'onPause'> {
6
+ children?: React.ReactNode;
7
+ poster?: string;
8
+ controls?: boolean;
9
+ locale?: string;
10
+ onPlay?: (event: Event) => void;
11
+ onPause?: (event: Event) => void;
12
+ }
13
+ export const Video = ({ ref, children, ...props }: VideoProps & {
14
+ ref?: React.Ref<HTMLElementClass>;
15
+ })=>{
16
+ const innerRef = useRef<HTMLElementClass>(null);
17
+ const propsRef = useRef(props);
18
+ propsRef.current = props;
19
+ useImperativeHandle(ref, ()=>innerRef.current!);
20
+ useTypeOfLayoutEffect(()=>{
21
+ const element = innerRef.current;
22
+ if (element && props.poster !== undefined) {
23
+ (element as any).poster = props.poster;
24
+ }
25
+ }, [
26
+ props.poster
27
+ ]);
28
+ useTypeOfLayoutEffect(()=>{
29
+ const element = innerRef.current;
30
+ if (element && props.controls !== undefined) {
31
+ (element as any).controls = props.controls;
32
+ }
33
+ }, [
34
+ props.controls
35
+ ]);
36
+ useTypeOfLayoutEffect(()=>{
37
+ const element = innerRef.current;
38
+ if (element && props.locale !== undefined) {
39
+ (element as any).locale = props.locale;
40
+ }
41
+ }, [
42
+ props.locale
43
+ ]);
44
+ useTypeOfLayoutEffect(()=>{
45
+ const element = innerRef.current;
46
+ if (!element) return;
47
+ const handleEvent = (event: Event)=>{
48
+ if (propsRef.current.onPlay) {
49
+ propsRef.current.onPlay(event as any);
50
+ }
51
+ };
52
+ element.addEventListener('play', handleEvent);
53
+ return ()=>{
54
+ element.removeEventListener('play', handleEvent);
55
+ };
56
+ }, []);
57
+ useTypeOfLayoutEffect(()=>{
58
+ const element = innerRef.current;
59
+ if (!element) return;
60
+ const handleEvent = (event: Event)=>{
61
+ if (propsRef.current.onPause) {
62
+ propsRef.current.onPause(event as any);
63
+ }
64
+ };
65
+ element.addEventListener('pause', handleEvent);
66
+ return ()=>{
67
+ element.removeEventListener('pause', handleEvent);
68
+ };
69
+ }, []);
70
+ const domProps = {
71
+ ...props
72
+ };
73
+ const customPropNames = [
74
+ 'poster',
75
+ 'controls',
76
+ 'locale',
77
+ 'onPlay',
78
+ 'onPause'
79
+ ];
80
+ for (const key of customPropNames){
81
+ delete (domProps as any)[key];
82
+ }
83
+ return React.createElement('uibit-video', {
84
+ ref: innerRef,
85
+ ...domProps
86
+ }, children);
87
+ };
88
+ declare global {
89
+ namespace React {
90
+ namespace JSX {
91
+ interface IntrinsicElements {
92
+ 'uibit-video': React.ClassAttributes<HTMLElementClass> & React.HTMLAttributes<HTMLElementClass> & {
93
+ children?: React.ReactNode;
94
+ class?: string;
95
+ poster?: string;
96
+ controls?: boolean;
97
+ locale?: string;
98
+ onPlay?: (event: CustomEvent<any>) => void;
99
+ onPause?: (event: CustomEvent<any>) => void;
100
+ };
101
+ }
102
+ }
103
+ }
104
+ }
@@ -8,7 +8,9 @@ declare module 'solid-js' {
8
8
  'uibit-video': Partial<HTMLElementClass> & JSX.HTMLAttributes<HTMLElementClass> & {
9
9
  poster?: string;
10
10
  controls?: boolean;
11
-
11
+ locale?: string;
12
+ "on:play"?: (event: Event) => void;
13
+ "on:pause"?: (event: Event) => void;
12
14
  };
13
15
  }
14
16
  }
@@ -7,6 +7,11 @@ declare module '@stencil/core' {
7
7
  'uibit-video': HTMLElementClass & {
8
8
  poster?: string;
9
9
  controls?: boolean;
10
+ locale?: string;
11
+ onPlay?: (event: Event) => void;
12
+ "on:play"?: (event: Event) => void;
13
+ onPause?: (event: Event) => void;
14
+ "on:pause"?: (event: Event) => void;
10
15
  };
11
16
  }
12
17
  }
@@ -1,32 +1,66 @@
1
1
  <script lang="ts">
2
2
  import '@uibit/video';
3
3
  import type { Video as HTMLElementClass } from '@uibit/video';
4
-
5
- let {
6
- poster = undefined,
7
- controls = undefined,
8
- children
4
+
5
+ let {
6
+ poster = $bindable(),
7
+ controls = $bindable(),
8
+ locale = $bindable(),
9
+ children,
10
+ ...restProps
9
11
  } = $props<{
10
- children?: any;
12
+ children?: import('svelte').Snippet;
11
13
  poster?: string;
12
14
  controls?: boolean;
13
-
15
+ locale?: string;
16
+
17
+ [key: string]: any;
14
18
  }>();
15
-
16
- let elementRef: HTMLElementClass | null = $state(null);
17
-
18
- $effect(() => {
19
- if (elementRef && poster !== undefined) {
19
+
20
+ let elementRef: HTMLElementClass | null = $state(null);
21
+
22
+ $effect(() => {
23
+ if (elementRef && poster !== undefined && elementRef.poster !== poster) {
20
24
  elementRef.poster = poster;
21
25
  }
22
- if (elementRef && controls !== undefined) {
26
+ if (elementRef && controls !== undefined && elementRef.controls !== controls) {
23
27
  elementRef.controls = controls;
24
28
  }
29
+ if (elementRef && locale !== undefined && elementRef.locale !== locale) {
30
+ elementRef.locale = locale;
31
+ }
25
32
  });
26
-
33
+
34
+ $effect(() => {
35
+ const element = elementRef;
36
+ if (!element) return;
37
+
38
+ const handleEvent = () => {
39
+ if (poster !== element.poster) {
40
+ poster = element.poster as any;
41
+ }
42
+ if (controls !== element.controls) {
43
+ controls = element.controls as any;
44
+ }
45
+ if (locale !== element.locale) {
46
+ locale = element.locale as any;
47
+ }
48
+ };
49
+
50
+ const events = ['change', 'input', 'play', 'pause'];
51
+ for (const event of events) {
52
+ element.addEventListener(event, handleEvent);
53
+ }
54
+ return () => {
55
+ for (const event of events) {
56
+ element.removeEventListener(event, handleEvent);
57
+ }
58
+ };
59
+ });
60
+
27
61
  </script>
28
62
 
29
- <uibit-video bind:this={elementRef} {...$$restProps}>
63
+ <uibit-video bind:this={elementRef} {...restProps}>
30
64
 
31
65
  {#if children}
32
66
  {@render children()}
@@ -1,23 +1,87 @@
1
- import { defineComponent, h } from 'vue';
1
+ import { defineComponent, h, ref, watch } from 'vue';
2
2
  import type { Video as HTMLElementClass } from '@uibit/video';
3
3
  import '@uibit/video';
4
-
5
4
  export const Video = defineComponent({
6
- name: 'Video',
7
- props: {
8
- poster: { type: [String, Number, Boolean, Array, Object] as any },
9
- controls: { type: [String, Number, Boolean, Array, Object] as any }
10
- },
11
- emits: [],
12
- setup(props, { slots, emit }) {
13
- return () => {
14
- const eventListeners: Record<string, any> = {};
15
-
16
-
17
- return h('uibit-video', {
18
- ...props,
19
- ...eventListeners
20
- }, slots.default?.());
21
- };
22
- }
5
+ name: 'Video',
6
+ props: {
7
+ poster: {
8
+ type: [
9
+ String,
10
+ Number,
11
+ Boolean,
12
+ Array,
13
+ Object
14
+ ] as any
15
+ },
16
+ controls: {
17
+ type: [
18
+ String,
19
+ Number,
20
+ Boolean,
21
+ Array,
22
+ Object
23
+ ] as any
24
+ },
25
+ locale: {
26
+ type: [
27
+ String,
28
+ Number,
29
+ Boolean,
30
+ Array,
31
+ Object
32
+ ] as any
33
+ }
34
+ },
35
+ emits: [
36
+ 'play',
37
+ 'pause'
38
+ ],
39
+ setup (props, { slots, emit }) {
40
+ const elementRef = ref<HTMLElementClass | null>(null);
41
+ if (false) {
42
+ watch(()=>props.modelValue, (newVal)=>{
43
+ if (elementRef.value && newVal !== undefined && elementRef.value.value !== newVal) {
44
+ elementRef.value.value = newVal;
45
+ }
46
+ });
47
+ watch(()=>props.value, (newVal)=>{
48
+ if (elementRef.value && newVal !== undefined && elementRef.value.value !== newVal) {
49
+ elementRef.value.value = newVal;
50
+ }
51
+ });
52
+ }
53
+ watch(()=>props.poster, (newVal)=>{
54
+ if (elementRef.value && newVal !== undefined) {
55
+ (elementRef.value as any).poster = newVal;
56
+ }
57
+ });
58
+ watch(()=>props.controls, (newVal)=>{
59
+ if (elementRef.value && newVal !== undefined) {
60
+ (elementRef.value as any).controls = newVal;
61
+ }
62
+ });
63
+ watch(()=>props.locale, (newVal)=>{
64
+ if (elementRef.value && newVal !== undefined) {
65
+ (elementRef.value as any).locale = newVal;
66
+ }
67
+ });
68
+ return ()=>{
69
+ const eventListeners: Record<string, any> = {};
70
+ eventListeners['onPlay'] = (event: Event)=>{
71
+ emit('play', event);
72
+ };
73
+ eventListeners['onPause'] = (event: Event)=>{
74
+ emit('pause', event);
75
+ };
76
+ const mergedProps = {
77
+ ...props,
78
+ ...eventListeners,
79
+ ref: elementRef
80
+ };
81
+ if (false && props.modelValue !== undefined) {
82
+ (mergedProps as any).value = props.modelValue;
83
+ }
84
+ return h('uibit-video', mergedProps, slots.default?.());
85
+ };
86
+ }
23
87
  });
package/dist/video.d.ts CHANGED
@@ -4,6 +4,14 @@ import { UIBitElement } from '@uibit/core';
4
4
  * Enhanced custom video component that wraps a native `<video>` or `<iframe>` element.
5
5
  * Provides custom interactive player controls with Scandinavian design aesthetics.
6
6
  *
7
+ * @summary A custom element wrapper for native video and iframe elements, providing a consistent, customizable, and premium player controls experience.
8
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video
9
+ * @cssstate playing - Fired when the video is actively playing.
10
+ * @cssstate fullscreen - Active when in fullscreen mode.
11
+ * @csspart controls - The custom controls bar.
12
+ * @fires play - Emitted when playback starts.
13
+ * @fires pause - Emitted when playback pauses.
14
+ *
7
15
  * @slot - The default slot where the native `<video>` or `<iframe>` element is placed.
8
16
  *
9
17
  * @cssprop [--uibit-video-radius=0.5rem] - Border radius of the video player.
@@ -15,9 +23,14 @@ import { UIBitElement } from '@uibit/core';
15
23
  */
16
24
  export declare class Video extends UIBitElement {
17
25
  static styles: import("lit").CSSResult;
18
- /** Poster image URL. Also used as background for iframes before playing. */
26
+ /**
27
+ * Poster image URL. Also used as background for iframes before playing.
28
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video#poster
29
+ */
19
30
  poster: string;
20
- /** Show player controls. */
31
+ /**
32
+ * Show player controls.
33
+ */
21
34
  controls: boolean;
22
35
  private _isPlaying;
23
36
  private _currentTime;
@@ -37,8 +50,15 @@ export declare class Video extends UIBitElement {
37
50
  private _detectSlottedElements;
38
51
  private _setupVideoListeners;
39
52
  private _onSlotChange;
53
+ /**
54
+ * Toggles the playback state of the video between play and pause.
55
+ * @see toggleMute
56
+ */
40
57
  togglePlay(): void;
41
58
  private _playIframe;
59
+ /**
60
+ * Toggles the audio mute state.
61
+ */
42
62
  toggleMute(): void;
43
63
  private _onVolumePointerDown;
44
64
  private _onVolumePointerMove;
@@ -1 +1 @@
1
- {"version":3,"file":"video.d.ts","sourceRoot":"","sources":["../src/video.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1C,OAAO,EAA2C,YAAY,EAAE,MAAM,aAAa,CAAC;AAKpF;;;;;;;;;;;;GAYG;AACH,qBACa,KAAM,SAAQ,YAAY;IACrC,MAAM,CAAC,MAAM,0BAAU;IAEvB,4EAA4E;IAChD,MAAM,SAAM;IAExC,4BAA4B;IACC,QAAQ,UAAQ;IAEpC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,cAAc,CAAS;IAEZ,OAAO,CAAC,YAAY,CAAC,CAAc;IAE/D,OAAO,CAAC,QAAQ,CAAiC;IACjD,OAAO,CAAC,SAAS,CAAkC;IAEnD,iBAAiB,SAGhB;IAED,YAAY,CAAC,iBAAiB,EAAE,cAAc,QAG7C;IAED,OAAO,CAAC,sBAAsB;IA8B9B,OAAO,CAAC,oBAAoB;IAuC5B,OAAO,CAAC,aAAa;IAMrB,UAAU,SAYT;IAED,OAAO,CAAC,WAAW;IAcnB,UAAU,SAIT;IAED,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,oBAAoB;IAK5B,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,sBAAsB;IAY9B,gBAAgB,SASf;IAED,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,sBAAsB;IAK9B,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,wBAAwB;IAWhC,OAAO,CAAC,UAAU;IAiClB,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,cAAc;IAUtB,MAAM,oCA+HL;CACF;eAEc,KAAK"}
1
+ {"version":3,"file":"video.d.ts","sourceRoot":"","sources":["../src/video.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1C,OAAO,EAA2C,YAAY,EAAE,MAAM,aAAa,CAAC;AAKpF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBACa,KAAM,SAAQ,YAAY;IACrC,MAAM,CAAC,MAAM,0BAAU;IAEvB;;;OAGG;IACyB,MAAM,SAAM;IAExC;;OAEG;IAC0B,QAAQ,UAAQ;IAEpC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,cAAc,CAAS;IAEZ,OAAO,CAAC,YAAY,CAAC,CAAc;IAE/D,OAAO,CAAC,QAAQ,CAAiC;IACjD,OAAO,CAAC,SAAS,CAAkC;IAEnD,iBAAiB,SAGhB;IAED,YAAY,CAAC,iBAAiB,EAAE,cAAc,QAG7C;IAED,OAAO,CAAC,sBAAsB;IA8B9B,OAAO,CAAC,oBAAoB;IAuC5B,OAAO,CAAC,aAAa;IAIrB;;;OAGG;IACH,UAAU,SAYT;IAED,OAAO,CAAC,WAAW;IAcnB;;OAEG;IACH,UAAU,SAIT;IAED,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,oBAAoB;IAK5B,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,sBAAsB;IAY9B,gBAAgB,SASf;IAED,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,sBAAsB;IAK9B,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,wBAAwB;IAWhC,OAAO,CAAC,UAAU;IAiClB,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,cAAc;IAUtB,MAAM,oCA+HL;CACF;eAEc,KAAK"}
package/dist/video.js CHANGED
@@ -13,6 +13,14 @@ import { styles } from './styles';
13
13
  * Enhanced custom video component that wraps a native `<video>` or `<iframe>` element.
14
14
  * Provides custom interactive player controls with Scandinavian design aesthetics.
15
15
  *
16
+ * @summary A custom element wrapper for native video and iframe elements, providing a consistent, customizable, and premium player controls experience.
17
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video
18
+ * @cssstate playing - Fired when the video is actively playing.
19
+ * @cssstate fullscreen - Active when in fullscreen mode.
20
+ * @csspart controls - The custom controls bar.
21
+ * @fires play - Emitted when playback starts.
22
+ * @fires pause - Emitted when playback pauses.
23
+ *
16
24
  * @slot - The default slot where the native `<video>` or `<iframe>` element is placed.
17
25
  *
18
26
  * @cssprop [--uibit-video-radius=0.5rem] - Border radius of the video player.
@@ -25,9 +33,14 @@ import { styles } from './styles';
25
33
  let Video = class Video extends UIBitElement {
26
34
  constructor() {
27
35
  super(...arguments);
28
- /** Poster image URL. Also used as background for iframes before playing. */
36
+ /**
37
+ * Poster image URL. Also used as background for iframes before playing.
38
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video#poster
39
+ */
29
40
  this.poster = '';
30
- /** Show player controls. */
41
+ /**
42
+ * Show player controls.
43
+ */
31
44
  this.controls = true;
32
45
  this._isPlaying = false;
33
46
  this._currentTime = 0;
@@ -117,7 +130,10 @@ let Video = class Video extends UIBitElement {
117
130
  _onSlotChange() {
118
131
  this._detectSlottedElements();
119
132
  }
120
- // ── Actions ────────────────────────────────────────────────────
133
+ /**
134
+ * Toggles the playback state of the video between play and pause.
135
+ * @see toggleMute
136
+ */
121
137
  togglePlay() {
122
138
  if (this._isIframeMode) {
123
139
  this._playIframe();
@@ -144,6 +160,9 @@ let Video = class Video extends UIBitElement {
144
160
  }
145
161
  }
146
162
  }
163
+ /**
164
+ * Toggles the audio mute state.
165
+ */
147
166
  toggleMute() {
148
167
  if (!this._videoEl)
149
168
  return;
package/dist/video.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"video.js","sourceRoot":"","sources":["../src/video.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"video.js","sourceRoot":"","sources":["../src/video.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uibit/video",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "Custom premium customizable wrapper for native video elements and iframe video embeds",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -11,7 +11,7 @@
11
11
  "import": "./dist/index.js"
12
12
  },
13
13
  "./custom-elements.json": "./custom-elements.json",
14
- "./react": "./dist/frameworks/react/index.d.ts",
14
+ "./react": "./dist/frameworks/react/index.ts",
15
15
  "./vue": "./dist/frameworks/vue/index.ts",
16
16
  "./svelte": "./dist/frameworks/svelte/index.svelte",
17
17
  "./angular": "./dist/frameworks/angular/index.ts",
@@ -45,13 +45,13 @@
45
45
  },
46
46
  "dependencies": {
47
47
  "lucide": "^1.24.0",
48
- "@uibit/core": "0.1.0"
48
+ "@uibit/core": "0.2.0"
49
49
  },
50
50
  "devDependencies": {
51
51
  "@types/node": "^20.19.43",
52
52
  "lit": "^3.3.3",
53
53
  "typescript": "7.0.2",
54
- "@uibit/codegen": "0.1.0"
54
+ "@uibit/codegen": "0.2.0"
55
55
  },
56
56
  "peerDependencies": {
57
57
  "lit": "^3.0.0",
@@ -82,9 +82,9 @@
82
82
  "tagName": "uibit-video"
83
83
  },
84
84
  "scripts": {
85
- "build": "cem analyze --globs 'src/**/*.ts' --litelement && uibit-codegen --package . && tsc",
86
- "dev": "concurrently \"cem analyze --globs 'src/**/*.ts' --litelement --watch\" \"tsc --watch\"",
87
- "analyze": "cem analyze --globs 'src/**/*.ts' --litelement",
85
+ "build": "cem analyze --config ../custom-elements-manifest.config.js && uibit-codegen --package . && tsc",
86
+ "dev": "concurrently \"cem analyze --config ../custom-elements-manifest.config.js --watch\" \"tsc --watch\"",
87
+ "analyze": "cem analyze --config ../custom-elements-manifest.config.js",
88
88
  "typecheck": "tsc --noEmit",
89
89
  "test": "vitest run -c ../../../vitest.config.ts --passWithNoTests"
90
90
  }
@@ -1,18 +0,0 @@
1
- import type { HTMLAttributes, ClassAttributes } from 'react';
2
- import type { Video as HTMLElementClass } from '@uibit/video';
3
- import '@uibit/video';
4
-
5
- declare global {
6
- namespace React {
7
- namespace JSX {
8
- interface IntrinsicElements {
9
- 'uibit-video': ClassAttributes<HTMLElementClass> & HTMLAttributes<HTMLElementClass> & {
10
- children?: React.ReactNode;
11
- class?: string;
12
- poster?: string;
13
- controls?: boolean;
14
- };
15
- }
16
- }
17
- }
18
- }