vidply 1.0.6 → 1.0.8
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 +19 -4
- package/dist/vidply.css +640 -25
- package/dist/vidply.esm.js +2208 -177
- package/dist/vidply.esm.js.map +4 -4
- package/dist/vidply.esm.min.js +6 -6
- package/dist/vidply.esm.min.meta.json +38 -15
- package/dist/vidply.js +2208 -177
- package/dist/vidply.js.map +4 -4
- package/dist/vidply.min.css +1 -1
- package/dist/vidply.min.js +6 -6
- package/dist/vidply.min.meta.json +38 -15
- package/package.json +2 -2
- package/src/controls/CaptionManager.js +30 -0
- package/src/controls/ControlBar.js +11 -4
- package/src/controls/SettingsDialog.js +3 -3
- package/src/controls/TranscriptManager.js +1147 -72
- package/src/core/Player.js +1435 -26
- package/src/i18n/translations.js +70 -15
- package/src/icons/Icons.js +8 -4
- package/src/styles/vidply.css +640 -25
- package/src/utils/StorageManager.js +156 -0
package/dist/vidply.css
CHANGED
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
|
|
61
61
|
/* UI Background Colors */
|
|
62
62
|
--vidply-primary-dark-rgb: 8, 51, 88;
|
|
63
|
-
--vidply-primary-light: #
|
|
63
|
+
--vidply-primary-light: #71b7e2;
|
|
64
64
|
--vidply-primary-rgb: 10, 64, 110;
|
|
65
65
|
--vidply-shadow-lg: 0 12px 48px var(--vidply-black-80);
|
|
66
66
|
--vidply-shadow-md: 0 4px 12px var(--vidply-black-40);
|
|
@@ -105,7 +105,7 @@
|
|
|
105
105
|
display: flex;
|
|
106
106
|
flex-direction: column;
|
|
107
107
|
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
|
|
108
|
-
font-size:
|
|
108
|
+
font-size: 16px;
|
|
109
109
|
line-height: 1.5;
|
|
110
110
|
max-width: 100%;
|
|
111
111
|
overflow: visible;
|
|
@@ -1661,7 +1661,7 @@
|
|
|
1661
1661
|
.vidply-transcript-time {
|
|
1662
1662
|
color: var(--vidply-primary-light);
|
|
1663
1663
|
font-family: 'Courier New', monospace;
|
|
1664
|
-
font-size:
|
|
1664
|
+
font-size: 100%;
|
|
1665
1665
|
font-weight: 600;
|
|
1666
1666
|
margin-bottom: 4px;
|
|
1667
1667
|
margin-right: 8px;
|
|
@@ -1669,7 +1669,7 @@
|
|
|
1669
1669
|
|
|
1670
1670
|
.vidply-transcript-text {
|
|
1671
1671
|
color: var(--vidply-white-90);
|
|
1672
|
-
font-size:
|
|
1672
|
+
font-size: 100%;
|
|
1673
1673
|
line-height: 1.6;
|
|
1674
1674
|
}
|
|
1675
1675
|
|
|
@@ -1683,6 +1683,42 @@
|
|
|
1683
1683
|
text-decoration: underline;
|
|
1684
1684
|
}
|
|
1685
1685
|
|
|
1686
|
+
/* Transcript entry types */
|
|
1687
|
+
.vidply-transcript-description {
|
|
1688
|
+
background: rgb(100 149 237 / 8%); /* Subtle blue tint for descriptions */
|
|
1689
|
+
border-left: 3px solid rgb(100 149 237 / 60%);
|
|
1690
|
+
}
|
|
1691
|
+
|
|
1692
|
+
.vidply-transcript-description .vidply-transcript-text {
|
|
1693
|
+
color: rgb(135 206 250 / 95%); /* Light sky blue for description text */
|
|
1694
|
+
font-style: italic;
|
|
1695
|
+
opacity: 0.9;
|
|
1696
|
+
}
|
|
1697
|
+
|
|
1698
|
+
.vidply-transcript-description .vidply-transcript-time {
|
|
1699
|
+
color: rgb(100 149 237 / 80%); /* Matching blue for timestamp */
|
|
1700
|
+
}
|
|
1701
|
+
|
|
1702
|
+
.vidply-transcript-description:hover,
|
|
1703
|
+
.vidply-transcript-description:focus {
|
|
1704
|
+
background: rgb(100 149 237 / 14%);
|
|
1705
|
+
}
|
|
1706
|
+
|
|
1707
|
+
.vidply-transcript-description:hover .vidply-transcript-text,
|
|
1708
|
+
.vidply-transcript-description:focus .vidply-transcript-text {
|
|
1709
|
+
opacity: 1;
|
|
1710
|
+
}
|
|
1711
|
+
|
|
1712
|
+
.vidply-transcript-description.vidply-transcript-entry-active {
|
|
1713
|
+
background: rgb(100 149 237 / 18%);
|
|
1714
|
+
border-left-color: #6495ed;
|
|
1715
|
+
}
|
|
1716
|
+
|
|
1717
|
+
.vidply-transcript-description.vidply-transcript-entry-active .vidply-transcript-text {
|
|
1718
|
+
color: rgb(135 206 250); /* Brighter on active */
|
|
1719
|
+
opacity: 1;
|
|
1720
|
+
}
|
|
1721
|
+
|
|
1686
1722
|
/* Transcript Scrollbar */
|
|
1687
1723
|
.vidply-transcript-content::-webkit-scrollbar {
|
|
1688
1724
|
width: 8px;
|
|
@@ -1701,44 +1737,623 @@
|
|
|
1701
1737
|
background: var(--vidply-border-hover);
|
|
1702
1738
|
}
|
|
1703
1739
|
|
|
1704
|
-
/*
|
|
1705
|
-
.vidply-
|
|
1706
|
-
|
|
1707
|
-
|
|
1740
|
+
/* Transcript Header Left Side (Settings Button + Title) */
|
|
1741
|
+
.vidply-transcript-header-left {
|
|
1742
|
+
align-items: center;
|
|
1743
|
+
display: flex;
|
|
1744
|
+
gap: 8px;
|
|
1745
|
+
position: relative;
|
|
1746
|
+
}
|
|
1747
|
+
|
|
1748
|
+
/* Transcript Settings Button */
|
|
1749
|
+
.vidply-transcript-settings {
|
|
1750
|
+
align-items: center;
|
|
1751
|
+
background: transparent;
|
|
1752
|
+
border: none;
|
|
1708
1753
|
border-radius: 4px;
|
|
1709
|
-
|
|
1710
|
-
|
|
1754
|
+
color: var(--vidply-text-muted);
|
|
1755
|
+
cursor: pointer;
|
|
1756
|
+
display: flex;
|
|
1757
|
+
height: 28px;
|
|
1758
|
+
justify-content: center;
|
|
1759
|
+
padding: 4px;
|
|
1760
|
+
position: relative;
|
|
1761
|
+
transition: all 0.2s ease;
|
|
1762
|
+
width: 28px;
|
|
1763
|
+
}
|
|
1764
|
+
|
|
1765
|
+
.vidply-transcript-settings:hover {
|
|
1766
|
+
background: var(--vidply-white-10);
|
|
1767
|
+
color: var(--vidply-white);
|
|
1768
|
+
}
|
|
1769
|
+
|
|
1770
|
+
.vidply-transcript-settings:focus {
|
|
1771
|
+
outline: 2px solid var(--vidply-primary-light);
|
|
1772
|
+
outline-offset: 2px;
|
|
1773
|
+
}
|
|
1774
|
+
|
|
1775
|
+
.vidply-transcript-settings .vidply-icon {
|
|
1776
|
+
height: 18px;
|
|
1777
|
+
width: 18px;
|
|
1778
|
+
}
|
|
1779
|
+
|
|
1780
|
+
/* Transcript Settings Menu */
|
|
1781
|
+
.vidply-transcript-settings-menu {
|
|
1782
|
+
background: var(--vidply-bg-menu);
|
|
1783
|
+
border: 1px solid var(--vidply-border);
|
|
1784
|
+
border-radius: 6px;
|
|
1785
|
+
box-shadow: var(--vidply-shadow-lg);
|
|
1786
|
+
display: none;
|
|
1787
|
+
left: 0;
|
|
1788
|
+
min-width: 240px;
|
|
1789
|
+
padding: 6px;
|
|
1790
|
+
position: absolute;
|
|
1791
|
+
top: calc(100% + 4px);
|
|
1792
|
+
z-index: 100;
|
|
1793
|
+
}
|
|
1794
|
+
|
|
1795
|
+
.vidply-transcript-settings-menu::after {
|
|
1796
|
+
border-bottom: 6px solid var(--vidply-bg-menu);
|
|
1797
|
+
border-left: 6px solid transparent;
|
|
1798
|
+
border-right: 6px solid transparent;
|
|
1799
|
+
bottom: 100%;
|
|
1800
|
+
content: '';
|
|
1801
|
+
height: 0;
|
|
1802
|
+
left: 14px;
|
|
1803
|
+
position: absolute;
|
|
1804
|
+
width: 0;
|
|
1805
|
+
}
|
|
1806
|
+
|
|
1807
|
+
/* Transcript Settings Menu Items */
|
|
1808
|
+
.vidply-transcript-settings-item {
|
|
1809
|
+
align-items: flex-start;
|
|
1810
|
+
background: transparent;
|
|
1811
|
+
border: none;
|
|
1812
|
+
border-radius: 4px;
|
|
1813
|
+
color: var(--vidply-white);
|
|
1814
|
+
cursor: pointer;
|
|
1815
|
+
display: flex;
|
|
1816
|
+
font-size: 13px;
|
|
1817
|
+
gap: 8px;
|
|
1818
|
+
padding: 8px 10px;
|
|
1819
|
+
text-align: left;
|
|
1820
|
+
transition: all 0.15s ease;
|
|
1821
|
+
width: 100%;
|
|
1822
|
+
}
|
|
1823
|
+
|
|
1824
|
+
.vidply-transcript-settings-item:hover {
|
|
1825
|
+
background: var(--vidply-primary-20);
|
|
1826
|
+
}
|
|
1827
|
+
|
|
1828
|
+
.vidply-transcript-settings-item:hover span {
|
|
1829
|
+
text-decoration: underline;
|
|
1830
|
+
}
|
|
1831
|
+
|
|
1832
|
+
.vidply-transcript-settings-item:focus {
|
|
1833
|
+
background: var(--vidply-primary-25);
|
|
1834
|
+
outline: none;
|
|
1835
|
+
}
|
|
1836
|
+
|
|
1837
|
+
.vidply-transcript-settings-item:focus span {
|
|
1838
|
+
text-decoration: underline;
|
|
1839
|
+
}
|
|
1840
|
+
|
|
1841
|
+
.vidply-transcript-settings-item:active span {
|
|
1842
|
+
text-decoration: underline;
|
|
1843
|
+
}
|
|
1844
|
+
|
|
1845
|
+
.vidply-transcript-settings-item .vidply-icon {
|
|
1846
|
+
flex-grow: 0.2;
|
|
1847
|
+
height: 20px;
|
|
1848
|
+
opacity: 0.9;
|
|
1849
|
+
width: 20px;
|
|
1850
|
+
}
|
|
1851
|
+
|
|
1852
|
+
.vidply-transcript-settings-item span {
|
|
1853
|
+
flex: 1;
|
|
1854
|
+
}
|
|
1855
|
+
|
|
1856
|
+
/* Move Mode Visual Feedback */
|
|
1857
|
+
.vidply-transcript-move-mode {
|
|
1858
|
+
animation: transcriptPulse 0.5s ease-in-out 2;
|
|
1859
|
+
box-shadow: 0 0 0 3px var(--vidply-primary-light), 0 10px 40px var(--vidply-black-60);
|
|
1860
|
+
}
|
|
1861
|
+
|
|
1862
|
+
@keyframes transcriptPulse {
|
|
1863
|
+
0%, 100% {
|
|
1864
|
+
box-shadow: 0 0 0 3px var(--vidply-primary-light), 0 10px 40px var(--vidply-black-60);
|
|
1865
|
+
}
|
|
1866
|
+
|
|
1867
|
+
50% {
|
|
1868
|
+
box-shadow: 0 0 0 6px var(--vidply-primary-light), 0 10px 40px var(--vidply-black-60);
|
|
1869
|
+
}
|
|
1870
|
+
}
|
|
1871
|
+
|
|
1872
|
+
/* Resize Handles */
|
|
1873
|
+
.vidply-transcript-resize-handle {
|
|
1874
|
+
position: absolute;
|
|
1875
|
+
z-index: 10;
|
|
1876
|
+
}
|
|
1877
|
+
|
|
1878
|
+
/* Corner handles - larger hit area */
|
|
1879
|
+
.vidply-transcript-resize-ne,
|
|
1880
|
+
.vidply-transcript-resize-nw,
|
|
1881
|
+
.vidply-transcript-resize-se,
|
|
1882
|
+
.vidply-transcript-resize-sw {
|
|
1883
|
+
height: 16px;
|
|
1884
|
+
width: 16px;
|
|
1885
|
+
}
|
|
1886
|
+
|
|
1887
|
+
/* Edge handles */
|
|
1888
|
+
.vidply-transcript-resize-n,
|
|
1889
|
+
.vidply-transcript-resize-s {
|
|
1890
|
+
cursor: ns-resize;
|
|
1891
|
+
height: 8px;
|
|
1892
|
+
left: 16px;
|
|
1893
|
+
right: 16px;
|
|
1894
|
+
}
|
|
1895
|
+
|
|
1896
|
+
.vidply-transcript-resize-e,
|
|
1897
|
+
.vidply-transcript-resize-w {
|
|
1898
|
+
bottom: 16px;
|
|
1899
|
+
cursor: ew-resize;
|
|
1900
|
+
top: 16px;
|
|
1901
|
+
width: 8px;
|
|
1902
|
+
}
|
|
1903
|
+
|
|
1904
|
+
/* Position each handle */
|
|
1905
|
+
.vidply-transcript-resize-n {
|
|
1906
|
+
top: -4px;
|
|
1907
|
+
}
|
|
1908
|
+
|
|
1909
|
+
.vidply-transcript-resize-s {
|
|
1910
|
+
bottom: -4px;
|
|
1911
|
+
}
|
|
1912
|
+
|
|
1913
|
+
.vidply-transcript-resize-e {
|
|
1914
|
+
right: -4px;
|
|
1915
|
+
}
|
|
1916
|
+
|
|
1917
|
+
.vidply-transcript-resize-w {
|
|
1918
|
+
left: -4px;
|
|
1919
|
+
}
|
|
1920
|
+
|
|
1921
|
+
.vidply-transcript-resize-ne {
|
|
1922
|
+
cursor: nesw-resize;
|
|
1923
|
+
right: -8px;
|
|
1924
|
+
top: -8px;
|
|
1925
|
+
}
|
|
1926
|
+
|
|
1927
|
+
.vidply-transcript-resize-nw {
|
|
1928
|
+
cursor: nwse-resize;
|
|
1929
|
+
left: -8px;
|
|
1930
|
+
top: -8px;
|
|
1931
|
+
}
|
|
1932
|
+
|
|
1933
|
+
.vidply-transcript-resize-se {
|
|
1934
|
+
bottom: -8px;
|
|
1935
|
+
cursor: nwse-resize;
|
|
1936
|
+
right: -8px;
|
|
1937
|
+
}
|
|
1938
|
+
|
|
1939
|
+
.vidply-transcript-resize-sw {
|
|
1940
|
+
bottom: -8px;
|
|
1941
|
+
cursor: nesw-resize;
|
|
1942
|
+
left: -8px;
|
|
1943
|
+
}
|
|
1944
|
+
|
|
1945
|
+
/* Visual indicator for resize handles when active */
|
|
1946
|
+
.vidply-transcript-resizable .vidply-transcript-resize-handle::after {
|
|
1947
|
+
background: var(--vidply-primary-light);
|
|
1948
|
+
border-radius: 50%;
|
|
1949
|
+
content: '';
|
|
1950
|
+
height: 6px;
|
|
1951
|
+
left: 50%;
|
|
1952
|
+
opacity: 0;
|
|
1953
|
+
position: absolute;
|
|
1954
|
+
top: 50%;
|
|
1955
|
+
transform: translate(-50%, -50%);
|
|
1956
|
+
transition: opacity 0.2s ease;
|
|
1957
|
+
width: 6px;
|
|
1958
|
+
}
|
|
1959
|
+
|
|
1960
|
+
.vidply-transcript-resizable:hover .vidply-transcript-resize-handle::after {
|
|
1961
|
+
opacity: 0.8;
|
|
1962
|
+
}
|
|
1963
|
+
|
|
1964
|
+
.vidply-transcript-resizable .vidply-transcript-resize-handle:hover::after {
|
|
1965
|
+
opacity: 1;
|
|
1966
|
+
}
|
|
1967
|
+
|
|
1968
|
+
/* Resizing State */
|
|
1969
|
+
.vidply-transcript-resizing {
|
|
1970
|
+
box-shadow: 0 0 0 2px var(--vidply-primary-light), 0 10px 40px var(--vidply-black-60);
|
|
1971
|
+
transition: none !important;
|
|
1972
|
+
}
|
|
1973
|
+
|
|
1974
|
+
.vidply-transcript-resizing .vidply-transcript-content {
|
|
1975
|
+
pointer-events: none;
|
|
1976
|
+
}
|
|
1977
|
+
|
|
1978
|
+
/* Keyboard Drag Mode */
|
|
1979
|
+
.vidply-transcript-keyboard-drag {
|
|
1980
|
+
box-shadow: 0 0 0 3px var(--vidply-primary-light), 0 10px 40px var(--vidply-black-60);
|
|
1981
|
+
}
|
|
1982
|
+
|
|
1983
|
+
.vidply-transcript-drag-indicator {
|
|
1984
|
+
background: linear-gradient(135deg, var(--vidply-primary) 0%, var(--vidply-primary-light) 100%);
|
|
1985
|
+
border-radius: 0 0 6px 6px;
|
|
1986
|
+
color: var(--vidply-white);
|
|
1987
|
+
font-size: 12px;
|
|
1988
|
+
font-weight: 600;
|
|
1989
|
+
left: 0;
|
|
1990
|
+
padding: 8px 12px;
|
|
1991
|
+
position: absolute;
|
|
1992
|
+
right: 0;
|
|
1993
|
+
text-align: center;
|
|
1994
|
+
top: 100%;
|
|
1995
|
+
z-index: 1000;
|
|
1996
|
+
}
|
|
1997
|
+
|
|
1998
|
+
/* Move Mode Tooltip */
|
|
1999
|
+
.vidply-transcript-move-tooltip {
|
|
2000
|
+
animation: fadeInDown 0.3s ease;
|
|
2001
|
+
background: var(--vidply-black-90);
|
|
2002
|
+
border-radius: 4px;
|
|
2003
|
+
color: var(--vidply-white);
|
|
2004
|
+
font-size: 12px;
|
|
2005
|
+
left: 50%;
|
|
2006
|
+
padding: 6px 12px;
|
|
2007
|
+
position: absolute;
|
|
2008
|
+
text-align: center;
|
|
2009
|
+
top: 100%;
|
|
2010
|
+
transform: translateX(-50%);
|
|
2011
|
+
white-space: nowrap;
|
|
2012
|
+
z-index: 1000;
|
|
2013
|
+
}
|
|
2014
|
+
|
|
2015
|
+
@keyframes fadeInDown {
|
|
2016
|
+
from {
|
|
2017
|
+
opacity: 0;
|
|
2018
|
+
transform: translateX(-50%) translateY(-10px);
|
|
2019
|
+
}
|
|
2020
|
+
|
|
2021
|
+
to {
|
|
2022
|
+
opacity: 1;
|
|
2023
|
+
transform: translateX(-50%) translateY(0);
|
|
2024
|
+
}
|
|
2025
|
+
}
|
|
2026
|
+
|
|
2027
|
+
/* Transcript Style Dialog - Dropdown Menu Style */
|
|
2028
|
+
.vidply-transcript-style-dialog {
|
|
2029
|
+
background: var(--vidply-bg-menu);
|
|
2030
|
+
border: 1px solid var(--vidply-border);
|
|
2031
|
+
border-radius: 8px;
|
|
2032
|
+
box-shadow: var(--vidply-shadow-lg);
|
|
2033
|
+
display: none;
|
|
2034
|
+
left: 0;
|
|
2035
|
+
max-height: 500px;
|
|
2036
|
+
min-width: 280px;
|
|
2037
|
+
overflow-y: auto;
|
|
2038
|
+
padding: 12px;
|
|
2039
|
+
position: absolute;
|
|
2040
|
+
top: 100%;
|
|
2041
|
+
width: auto;
|
|
2042
|
+
z-index: 100;
|
|
2043
|
+
}
|
|
2044
|
+
|
|
2045
|
+
/* Arrow pointing up to settings button */
|
|
2046
|
+
.vidply-transcript-style-dialog::after {
|
|
2047
|
+
border-color: transparent transparent var(--vidply-bg-menu) transparent;
|
|
2048
|
+
border-style: solid;
|
|
2049
|
+
border-width: 0 8px 8px;
|
|
2050
|
+
content: '';
|
|
2051
|
+
height: 0;
|
|
2052
|
+
left: 12px;
|
|
2053
|
+
position: absolute;
|
|
2054
|
+
top: -8px;
|
|
2055
|
+
width: 0;
|
|
2056
|
+
}
|
|
2057
|
+
|
|
2058
|
+
.vidply-transcript-style-title {
|
|
2059
|
+
border-bottom: 1px solid var(--vidply-border);
|
|
2060
|
+
color: var(--vidply-white);
|
|
2061
|
+
font-size: 14px;
|
|
2062
|
+
font-weight: 600;
|
|
2063
|
+
margin: 0 0 12px;
|
|
2064
|
+
padding-bottom: 8px;
|
|
2065
|
+
}
|
|
2066
|
+
|
|
2067
|
+
.vidply-transcript-style-group {
|
|
2068
|
+
margin-bottom: 12px;
|
|
2069
|
+
}
|
|
2070
|
+
|
|
2071
|
+
.vidply-transcript-style-group:last-child {
|
|
2072
|
+
margin-bottom: 0;
|
|
2073
|
+
}
|
|
2074
|
+
|
|
2075
|
+
.vidply-transcript-style-group label {
|
|
2076
|
+
color: var(--vidply-white-90);
|
|
2077
|
+
display: block;
|
|
2078
|
+
font-size: 12px;
|
|
2079
|
+
font-weight: 500;
|
|
2080
|
+
margin-bottom: 6px;
|
|
2081
|
+
}
|
|
2082
|
+
|
|
2083
|
+
/* Style Select */
|
|
2084
|
+
.vidply-transcript-style-select {
|
|
2085
|
+
background: var(--vidply-white-10);
|
|
2086
|
+
border: 1px solid var(--vidply-border);
|
|
2087
|
+
border-radius: 4px;
|
|
2088
|
+
color: var(--vidply-white);
|
|
2089
|
+
cursor: pointer;
|
|
2090
|
+
font-size: 13px;
|
|
2091
|
+
outline: none;
|
|
2092
|
+
padding: 6px 10px;
|
|
2093
|
+
transition: all 0.2s ease;
|
|
2094
|
+
width: 100%;
|
|
2095
|
+
}
|
|
2096
|
+
|
|
2097
|
+
.vidply-transcript-style-select:hover {
|
|
2098
|
+
background: var(--vidply-white-15);
|
|
2099
|
+
border-color: var(--vidply-border-hover);
|
|
2100
|
+
}
|
|
2101
|
+
|
|
2102
|
+
.vidply-transcript-style-select:focus {
|
|
2103
|
+
background: var(--vidply-white-15);
|
|
2104
|
+
border-color: var(--vidply-primary-light);
|
|
2105
|
+
box-shadow: 0 0 0 2px var(--vidply-primary-20);
|
|
2106
|
+
}
|
|
2107
|
+
|
|
2108
|
+
.vidply-transcript-style-select option {
|
|
2109
|
+
background: #1a1a1a;
|
|
2110
|
+
color: #fff;
|
|
2111
|
+
}
|
|
2112
|
+
|
|
2113
|
+
/* Style Color Input */
|
|
2114
|
+
.vidply-transcript-style-color {
|
|
2115
|
+
border: 1px solid var(--vidply-border);
|
|
2116
|
+
border-radius: 4px;
|
|
2117
|
+
cursor: pointer;
|
|
2118
|
+
height: 32px;
|
|
2119
|
+
outline: none;
|
|
2120
|
+
padding: 4px;
|
|
2121
|
+
transition: all 0.2s ease;
|
|
2122
|
+
width: 100%;
|
|
2123
|
+
}
|
|
2124
|
+
|
|
2125
|
+
.vidply-transcript-style-color:hover {
|
|
2126
|
+
border-color: var(--vidply-border-hover);
|
|
2127
|
+
}
|
|
2128
|
+
|
|
2129
|
+
.vidply-transcript-style-color:focus {
|
|
2130
|
+
border-color: var(--vidply-primary-light);
|
|
2131
|
+
box-shadow: 0 0 0 2px var(--vidply-primary-20);
|
|
2132
|
+
}
|
|
2133
|
+
|
|
2134
|
+
/* Style Range Slider */
|
|
2135
|
+
.vidply-transcript-style-range-container {
|
|
2136
|
+
align-items: center;
|
|
2137
|
+
display: flex;
|
|
2138
|
+
gap: 12px;
|
|
2139
|
+
}
|
|
2140
|
+
|
|
2141
|
+
.vidply-transcript-style-range {
|
|
2142
|
+
-webkit-appearance: none;
|
|
2143
|
+
appearance: none;
|
|
2144
|
+
background: var(--vidply-white-20);
|
|
2145
|
+
border-radius: 3px;
|
|
2146
|
+
cursor: pointer;
|
|
2147
|
+
flex: 1;
|
|
2148
|
+
height: 6px;
|
|
2149
|
+
outline: none;
|
|
2150
|
+
}
|
|
2151
|
+
|
|
2152
|
+
.vidply-transcript-style-range::-webkit-slider-thumb {
|
|
2153
|
+
-webkit-appearance: none;
|
|
2154
|
+
appearance: none;
|
|
2155
|
+
background: var(--vidply-primary-light);
|
|
2156
|
+
border: 2px solid var(--vidply-white);
|
|
2157
|
+
border-radius: 50%;
|
|
2158
|
+
box-shadow: var(--vidply-shadow-sm);
|
|
2159
|
+
cursor: pointer;
|
|
2160
|
+
height: 16px;
|
|
2161
|
+
transition: all 0.15s ease;
|
|
2162
|
+
width: 16px;
|
|
2163
|
+
}
|
|
2164
|
+
|
|
2165
|
+
.vidply-transcript-style-range::-webkit-slider-thumb:hover {
|
|
2166
|
+
background: var(--vidply-primary);
|
|
2167
|
+
transform: scale(1.15);
|
|
2168
|
+
}
|
|
2169
|
+
|
|
2170
|
+
.vidply-transcript-style-range::-moz-range-thumb {
|
|
2171
|
+
background: var(--vidply-primary-light);
|
|
2172
|
+
border: 2px solid var(--vidply-white);
|
|
2173
|
+
border-radius: 50%;
|
|
2174
|
+
box-shadow: var(--vidply-shadow-sm);
|
|
2175
|
+
cursor: pointer;
|
|
2176
|
+
height: 16px;
|
|
2177
|
+
transition: all 0.15s ease;
|
|
2178
|
+
width: 16px;
|
|
2179
|
+
}
|
|
2180
|
+
|
|
2181
|
+
.vidply-transcript-style-range::-moz-range-thumb:hover {
|
|
2182
|
+
background: var(--vidply-primary);
|
|
2183
|
+
transform: scale(1.15);
|
|
2184
|
+
}
|
|
2185
|
+
|
|
2186
|
+
.vidply-transcript-style-value {
|
|
2187
|
+
color: var(--vidply-text-muted);
|
|
2188
|
+
font-size: 13px;
|
|
2189
|
+
font-weight: 600;
|
|
2190
|
+
min-width: 40px;
|
|
2191
|
+
text-align: right;
|
|
2192
|
+
}
|
|
2193
|
+
|
|
2194
|
+
/* Style Close Button */
|
|
2195
|
+
.vidply-transcript-style-close {
|
|
2196
|
+
background: var(--vidply-primary);
|
|
2197
|
+
border: none;
|
|
2198
|
+
border-radius: 4px;
|
|
2199
|
+
color: var(--vidply-white);
|
|
2200
|
+
cursor: pointer;
|
|
2201
|
+
font-size: 13px;
|
|
2202
|
+
font-weight: 600;
|
|
2203
|
+
margin-top: 12px;
|
|
2204
|
+
padding: 8px 16px;
|
|
2205
|
+
transition: all 0.2s ease;
|
|
2206
|
+
width: 100%;
|
|
2207
|
+
}
|
|
2208
|
+
|
|
2209
|
+
.vidply-transcript-style-close:hover {
|
|
2210
|
+
background: var(--vidply-primary-light);
|
|
2211
|
+
transform: translateY(-1px);
|
|
2212
|
+
}
|
|
2213
|
+
|
|
2214
|
+
.vidply-transcript-style-close:active {
|
|
2215
|
+
transform: translateY(0);
|
|
2216
|
+
}
|
|
2217
|
+
|
|
2218
|
+
.vidply-transcript-style-close:focus {
|
|
2219
|
+
box-shadow: 0 0 0 3px var(--vidply-primary-20);
|
|
2220
|
+
outline: none;
|
|
2221
|
+
}
|
|
2222
|
+
|
|
2223
|
+
/* Sign Language Video Wrapper */
|
|
2224
|
+
.vidply-sign-language-wrapper {
|
|
2225
|
+
background: transparent;
|
|
2226
|
+
height: auto;
|
|
1711
2227
|
max-width: 400px;
|
|
2228
|
+
min-height: 100px;
|
|
1712
2229
|
min-width: 150px;
|
|
1713
2230
|
position: absolute;
|
|
1714
2231
|
transition: opacity 0.3s ease;
|
|
1715
|
-
width:
|
|
2232
|
+
width: 280px;
|
|
1716
2233
|
z-index: 3;
|
|
1717
2234
|
}
|
|
1718
2235
|
|
|
1719
|
-
.vidply-fullscreen .vidply-sign-language-
|
|
2236
|
+
.vidply-fullscreen .vidply-sign-language-wrapper {
|
|
1720
2237
|
max-width: 600px;
|
|
1721
2238
|
}
|
|
1722
2239
|
|
|
1723
|
-
|
|
1724
|
-
|
|
1725
|
-
|
|
1726
|
-
right: 16px;
|
|
2240
|
+
.vidply-sign-language-wrapper:focus {
|
|
2241
|
+
outline: 2px solid var(--vidply-primary);
|
|
2242
|
+
outline-offset: 2px;
|
|
1727
2243
|
}
|
|
1728
2244
|
|
|
1729
|
-
|
|
1730
|
-
.vidply-
|
|
1731
|
-
|
|
2245
|
+
/* Sign Language Video */
|
|
2246
|
+
.vidply-sign-language-video {
|
|
2247
|
+
background: var(--vidply-black);
|
|
2248
|
+
border: 2px solid var(--vidply-white-30);
|
|
2249
|
+
border-radius: 4px;
|
|
2250
|
+
box-shadow: 0 4px 12px var(--vidply-black-60);
|
|
2251
|
+
cursor: move;
|
|
2252
|
+
display: block;
|
|
2253
|
+
height: auto;
|
|
2254
|
+
pointer-events: auto;
|
|
2255
|
+
width: 100%;
|
|
1732
2256
|
}
|
|
1733
2257
|
|
|
1734
|
-
|
|
1735
|
-
|
|
1736
|
-
|
|
2258
|
+
/* Dragging and Resizing States */
|
|
2259
|
+
.vidply-sign-dragging .vidply-sign-language-video {
|
|
2260
|
+
cursor: grabbing !important;
|
|
2261
|
+
opacity: 0.9;
|
|
2262
|
+
}
|
|
2263
|
+
|
|
2264
|
+
.vidply-sign-resizing .vidply-sign-language-video {
|
|
2265
|
+
cursor: nwse-resize !important;
|
|
1737
2266
|
}
|
|
1738
2267
|
|
|
1739
|
-
|
|
1740
|
-
.vidply-
|
|
2268
|
+
/* Keyboard Drag/Resize Modes */
|
|
2269
|
+
.vidply-sign-keyboard-drag,
|
|
2270
|
+
.vidply-sign-keyboard-resize {
|
|
2271
|
+
box-shadow: 0 0 0 3px var(--vidply-primary), 0 4px 12px var(--vidply-black-60);
|
|
2272
|
+
}
|
|
2273
|
+
|
|
2274
|
+
.vidply-sign-keyboard-drag::after,
|
|
2275
|
+
.vidply-sign-keyboard-resize::after {
|
|
2276
|
+
align-items: center;
|
|
2277
|
+
background: var(--vidply-primary);
|
|
2278
|
+
border-radius: 4px;
|
|
2279
|
+
color: var(--vidply-white);
|
|
2280
|
+
display: flex;
|
|
2281
|
+
font-size: 12px;
|
|
2282
|
+
font-weight: 600;
|
|
2283
|
+
justify-content: center;
|
|
2284
|
+
left: 50%;
|
|
2285
|
+
padding: 4px 8px;
|
|
2286
|
+
pointer-events: none;
|
|
2287
|
+
position: absolute;
|
|
2288
|
+
top: -28px;
|
|
2289
|
+
transform: translateX(-50%);
|
|
2290
|
+
white-space: nowrap;
|
|
2291
|
+
z-index: 10;
|
|
2292
|
+
}
|
|
2293
|
+
|
|
2294
|
+
.vidply-sign-keyboard-drag::after {
|
|
2295
|
+
content: 'DRAG MODE (Arrow keys to move, ESC to exit)';
|
|
2296
|
+
}
|
|
2297
|
+
|
|
2298
|
+
.vidply-sign-keyboard-resize::after {
|
|
2299
|
+
content: 'RESIZE MODE (Arrow keys to resize, ESC to exit)';
|
|
2300
|
+
}
|
|
2301
|
+
|
|
2302
|
+
/* Resize Handles */
|
|
2303
|
+
.vidply-sign-resize-handle {
|
|
2304
|
+
background: var(--vidply-white);
|
|
2305
|
+
border: 1px solid var(--vidply-black-30);
|
|
2306
|
+
border-radius: 50%;
|
|
2307
|
+
height: 12px;
|
|
2308
|
+
opacity: 0;
|
|
2309
|
+
position: absolute;
|
|
2310
|
+
transition: opacity 0.2s ease, background 0.2s ease;
|
|
2311
|
+
width: 12px;
|
|
2312
|
+
z-index: 10;
|
|
2313
|
+
}
|
|
2314
|
+
|
|
2315
|
+
.vidply-sign-language-wrapper:hover .vidply-sign-resize-handle,
|
|
2316
|
+
.vidply-sign-language-wrapper:focus .vidply-sign-resize-handle {
|
|
2317
|
+
opacity: 1;
|
|
2318
|
+
}
|
|
2319
|
+
|
|
2320
|
+
.vidply-sign-resize-handle:hover {
|
|
2321
|
+
background: var(--vidply-primary);
|
|
2322
|
+
}
|
|
2323
|
+
|
|
2324
|
+
.vidply-sign-resize-nw {
|
|
2325
|
+
cursor: nwse-resize;
|
|
2326
|
+
left: -6px;
|
|
2327
|
+
top: -6px;
|
|
2328
|
+
}
|
|
2329
|
+
|
|
2330
|
+
.vidply-sign-resize-ne {
|
|
2331
|
+
cursor: nesw-resize;
|
|
2332
|
+
right: -6px;
|
|
2333
|
+
top: -6px;
|
|
2334
|
+
}
|
|
2335
|
+
|
|
2336
|
+
.vidply-sign-resize-sw {
|
|
2337
|
+
bottom: -6px;
|
|
2338
|
+
cursor: nesw-resize;
|
|
2339
|
+
left: -6px;
|
|
2340
|
+
}
|
|
2341
|
+
|
|
2342
|
+
.vidply-sign-resize-se {
|
|
2343
|
+
bottom: -6px;
|
|
2344
|
+
cursor: nwse-resize;
|
|
2345
|
+
right: -6px;
|
|
2346
|
+
}
|
|
2347
|
+
|
|
2348
|
+
/* Sign Language Video Positions */
|
|
2349
|
+
.vidply-sign-position-bottom-right {
|
|
1741
2350
|
bottom: 95px; /* Above controls */
|
|
2351
|
+
right: 16px;
|
|
2352
|
+
}
|
|
2353
|
+
|
|
2354
|
+
.vidply-sign-position-bottom-left {
|
|
2355
|
+
bottom: 95px; /* Above controls */
|
|
2356
|
+
left: 16px;
|
|
1742
2357
|
}
|
|
1743
2358
|
|
|
1744
2359
|
.vidply-sign-position-top-right {
|
|
@@ -1753,7 +2368,7 @@
|
|
|
1753
2368
|
|
|
1754
2369
|
/* Responsive Sign Language Video */
|
|
1755
2370
|
@media (width <= 640px) {
|
|
1756
|
-
.vidply-sign-language-
|
|
2371
|
+
.vidply-sign-language-wrapper {
|
|
1757
2372
|
min-width: 120px;
|
|
1758
2373
|
width: 35%;
|
|
1759
2374
|
}
|