@italia/video 0.0.1-alpha.0 → 0.1.0-alpha.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/custom-elements.json +20 -3
- package/dist/src/it-video.d.ts.map +1 -1
- package/dist/src/it-video.js +17 -90
- package/dist/src/it-video.js.map +1 -1
- package/package.json +5 -6
package/custom-elements.json
CHANGED
|
@@ -82,7 +82,8 @@
|
|
|
82
82
|
"text": "VideoJSTranslations"
|
|
83
83
|
},
|
|
84
84
|
"default": "{ it: itLang }",
|
|
85
|
-
"attribute": "translations"
|
|
85
|
+
"attribute": "translations",
|
|
86
|
+
"reflects": true
|
|
86
87
|
},
|
|
87
88
|
{
|
|
88
89
|
"kind": "field",
|
|
@@ -325,7 +326,7 @@
|
|
|
325
326
|
{
|
|
326
327
|
"kind": "variable",
|
|
327
328
|
"name": "meta",
|
|
328
|
-
"default": "{ title: 'Componenti/Video', tags: ['autodocs'], component: 'it-video', args: { src: 'https://vjs.zencdn.net/v/oceans.webm', poster: '', type: 'video/mp4', options: undefined, track: [], consentOptions: {}, language: 'it', translations: { it: itLang as any },
|
|
329
|
+
"default": "{ title: 'Componenti/Video', tags: ['autodocs'], component: 'it-video', args: { src: 'https://vjs.zencdn.net/v/oceans.webm', poster: '', type: 'video/mp4', options: undefined, track: [], consentOptions: {}, language: 'it', translations: { it: itLang as any }, initPlugins: '', }, argTypes: { src: { control: 'text', description: 'Sorgente del video' }, poster: { control: 'text', description: \"Sorgente dell'immagine di anteprima\" }, type: { control: 'text', description: 'Tipo del video.', table: { defaultValue: { summary: 'video/mp4' } } }, options: { control: 'object', description: 'Opzioni per il video player. https://videojs.com/guides/options/ qui tutte le opzioni disponibili.', }, track: { control: 'text', table: { defaultValue: { summary: '[{kind:\"chapter\", src: \"/path/file.ext\", srclang:\"it\", label: \"Capitoli\", default: true }]', }, }, description: 'Tracce per didascalie, sottotitoli, capitoli e descrizioni. Nel campo `kind` è necessario indicare la tipologia di traccia fra <ul><li>captions</li><li>subtitles</li><li>description</li><li>chapters</li><li>metadata</li></ul>', }, consentOptions: { name: 'consent-options', control: 'object', description: 'Oggetto per la configurazione del consenso dei cookie. <br/>Di default viene salvata una variabile nel localstorage con lo stesso nome del type del video, ma è possibile personalizzarla passando in `consentOptions` un valore per `consentKey`. <br/>Inoltre, quando viene dato il consenso permanente per i cookie, è possibile personalizzare il comportamento passando in questo oggetto due funzioni specifiche per la gestione della memorizzazione del consenso: `onAccept` e `isAccepted`.', table: { defaultValue: { summary: '{}', }, }, }, language: { control: 'text', description: \"Lingua del player di cui verrano usate le corrispondenti 'transaltions'\", table: { defaultValue: { summary: 'it' } }, }, translations: { control: 'object', description: 'Traduzioni del player per le diverse lingue. Di base è disponibile solo la lingua it. Usare questa prop per aggiungere le traduzioni in altre lingue. ', }, initPlugins: { name: 'init-plugins', control: 'text', description: 'Nome della propria funzione presente nella window che verrà invocata da video.js per inizializzare eventuali plugin aggiuntivi definiti dallo sviluppatore.', }, }, decorators: [(Story) => html`<div class=\"sbdocs-video-container\">${Story()}</div>`], parameters: { docs: { source: { excludeDecorators: true }, description: { component: ` <Description>Componente Video Player.</Description> <br/><br/> Il tag video HTML5 consente di incorporare video all’interno di una pagina web senza dover utilizzare plugin esterni. Questo componente utilizza la libreria [video.js](https://videojs.com/) per implementare funzionalità avanzate come il supporto a diversi formati video, la personalizzazione dell’interfaccia utente e l’integrazione con API esterne. <div class=\"callout callout-success\"><div class=\"callout-inner\"><div class=\"callout-title\"><span class=\"text\">Accessibilità</span></div> <p>Le persone che utilizzano le tecnologie assistive possono agevolmente accedere ai comandi di questo player video, tuttavia per rendere accessibile un contenuto video è necessario soddisfare i Criteri di Successo contenuti nelle <a href=\"https://www.w3.org/Translations/WCAG21-it/#time-based-media\">linee guida 1.2 Media temporizzati delle WCAG (versione corrente)</a>. In particolare:</p> <ul> <li>Se il contenuto è costituito da “solo video” oppure “solo audio”, è necessario fornire una trascrizione (Criterio di Successo 1.2.1)</li> <li>Fornire sempre sottotitoli (Criterio di Successo 1.2.2).</li> <li>Fornire audio descrizioni quando sono presenti scene o contenuti non descritte dalla traccia audio primaria. (Criteri di Successo 1.2.3 e 1.2.5)</li> </ul></div></div> `, }, }, }, } satisfies Meta<VideoProps>"
|
|
329
330
|
},
|
|
330
331
|
{
|
|
331
332
|
"kind": "variable",
|
|
@@ -341,7 +342,7 @@
|
|
|
341
342
|
"type": {
|
|
342
343
|
"text": "Story"
|
|
343
344
|
},
|
|
344
|
-
"default": "{ name: 'Come usarlo', tags: ['!dev'], render: () => html`<div class=\"hide-preview\"></div>`, parameters: { viewMode: 'docs', // assicura che si apra la tab Docs anziché Canvas docs: { description: { story: ` Per aggiungere un video, è sufficiente utilizzare il componente \\`<it-video />\\` ed i relativi attributi per gestirne la sorgente, e le opzioni del video player. - Usa l'attributo \\`options\\` per passare al player le opzioni definite qui [https://videojs.com/guides/options/](https://videojs.com/guides/options/). - Usa l'attributo \\`translations\\` per definire le traduzioni diverse dalla lingua italiana, o per sovrascrivere le traduzioni italiane pre-impostate. ### Font per le icone del player Per utilizzare le icone del player, è necessario includere il font \\`VideoJS.woff\\` nella tua applicazione. Puoi farlo aggiungendo il css compilato di design-web-components nel tuo sorgente HTML: \\`\\`\\`html <link rel=\"stylesheet\" href=\"design-web-components/dist/design-web-components.css\" /> \\`\\`\\` oppure se stai usando SCSS puoi definire il font direttamente nel tuo file SCSS: \\`\\`\\`scss @font-face { font-family: VideoJS; src: url('./assets/fonts/VideoJS.woff') format('woff'); font-weight: normal; font-style: normal; } \\`\\`\\` copiando l'asset \\`VideoJS.woff\\` nella tua cartella assets/fonts (lo puoi copiare dal package design-web-components). ### Plugin Esistono numerosi plugin disponibili per Video.js, che consentono di aggiungere nuove funzionalità, come la riproduzione di video in VR, l’analisi delle statistiche di visualizzazione del video, le utility per la UI mobile e molto altro ancora. #### Utilizzo di ulteriori plugin <Description> (Ad esempio il plugin per l'embed di Vimeo)</Description> Con l'attributo \\`init-plugins\\` è possibile passare al componente \\`<it-video>\\` il nome della propria funzione di inizializzazione dei plugin, che deve essere definita nella window. Esempio: \\`\\`\\`html <it-video ...... init-plugins=\"myInitPlugin\"></it-video> <script> const myInitPlugin = (videojs)=>{ /*my code*/ }</script> \\`\\`\\` `, }, }, }, }"
|
|
345
|
+
"default": "{ name: 'Come usarlo', tags: ['!dev'], render: () => html`<div class=\"hide-preview\"></div>`, parameters: { viewMode: 'docs', // assicura che si apra la tab Docs anziché Canvas docs: { description: { story: ` Per aggiungere un video, è sufficiente utilizzare il componente \\`<it-video />\\` ed i relativi attributi per gestirne la sorgente, e le opzioni del video player. - Usa l'attributo \\`options\\` per passare al player le opzioni definite qui [https://videojs.com/guides/options/](https://videojs.com/guides/options/). - Usa l'attributo \\`translations\\` per definire le traduzioni del player diverse dalla lingua italiana, o per sovrascrivere le traduzioni italiane pre-impostate. ### Font per le icone del player Per utilizzare le icone del player, è necessario includere il font \\`VideoJS.woff\\` nella tua applicazione. Puoi farlo aggiungendo il css compilato di design-web-components nel tuo sorgente HTML: \\`\\`\\`html <link rel=\"stylesheet\" href=\"design-web-components/dist/design-web-components.css\" /> \\`\\`\\` oppure se stai usando SCSS puoi definire il font direttamente nel tuo file SCSS: \\`\\`\\`scss @font-face { font-family: VideoJS; src: url('./assets/fonts/VideoJS.woff') format('woff'); font-weight: normal; font-style: normal; } \\`\\`\\` copiando l'asset \\`VideoJS.woff\\` nella tua cartella assets/fonts (lo puoi copiare dal package design-web-components). ### Plugin Esistono numerosi plugin disponibili per Video.js, che consentono di aggiungere nuove funzionalità, come la riproduzione di video in VR, l’analisi delle statistiche di visualizzazione del video, le utility per la UI mobile e molto altro ancora. #### Utilizzo di ulteriori plugin <Description> (Ad esempio il plugin per l'embed di Vimeo)</Description> Con l'attributo \\`init-plugins\\` è possibile passare al componente \\`<it-video>\\` il nome della propria funzione di inizializzazione dei plugin, che deve essere definita nella window. Esempio: \\`\\`\\`html <it-video ...... init-plugins=\"myInitPlugin\"></it-video> <script> const myInitPlugin = (videojs)=>{ /*my code*/ }</script> \\`\\`\\` `, }, }, }, }"
|
|
345
346
|
},
|
|
346
347
|
{
|
|
347
348
|
"kind": "variable",
|
|
@@ -390,6 +391,14 @@
|
|
|
390
391
|
"text": "Story"
|
|
391
392
|
},
|
|
392
393
|
"default": "{ ...meta, name: 'Embed da piattaforme terze', parameters: { docs: { description: { story: ` Oltre a consentire la riproduzione di video direttamente sulle proprie pagine web, il player video.js offre anche la possibilità di incorporare video provenienti da altre piattaforme come YouTube. Questa funzionalità consente di sfruttare i video già disponibili su queste piattaforme, senza doverli caricare sul proprio sito web. Tuttavia, è importante tenere in considerazione la questione della privacy: quando si incorporano video di terze parti, si può finire per condividere con queste piattaforme i dati degli utenti che visualizzano i video, come ad esempio le informazioni sulla navigazione o l’indirizzo IP. È quindi importante l’utilizzo di questa funzionalità assieme al componente di accettazione del consenso per garantire la protezione della privacy degli utenti. <div class=\"callout callout-warning\"><div class=\"callout-inner\"><div class=\"callout-title\"><span class=\"text\">Nota</span></div> <p>Gli esempi che seguono fanno tutti riferimento alla piattaforma di terze parti YouTube.</p> </div></div> <div class=\"callout callout-info\"><div class=\"callout-inner\"><div class=\"callout-title\"><span class=\"text\">Responsabilità della privacy</span></div> <p>Coinvolgi il Responsabile per la protezione dei dati (RDP/DPO) della tua amministrazione e ricordati di aggiornare la cookie policy del sito. Designers Italia mette a disposizione il [kit Privacy](https://designers.italia.it/risorse-per-progettare/organizzare/privacy/) per approfondire questi temi e in particolare uno strumento dedicato alla redazione della Cookie policy che trovi in [questa azione del kit](https://designers.italia.it/risorse-per-progettare/organizzare/privacy/rispetta-la-privacy-per-il-go-live-di-un-sito/).</p> </div></div> #### Attivazione dell’overlay di consenso L’utilizzo di un overlay per il consenso è una soluzione comune per garantire la conformità alla normativa sulla privacy in materia di cookie e tracciamento degli utenti. L’overlay per il consenso consente di informare l’utente sui cookie utilizzati e di ottenere il suo consenso in modo esplicito e consapevole alla riproduzione del video prima dell’installazione di qualunque cookie. <div class=\"callout callout-info\"><div class=\"callout-inner\"><div class=\"callout-title\"><span class=\"text\">Obblighi</span></div> <p>Per questo la Pubblica Amministrazione che fa uso di servizi di terze parti come YouTube deve necessariamente specificare l’utilizzo di cookie di tracciamento da parte di piattaforme di terze parti, inserendo inoltre il link alla propria cookie policy all’interno dell’overlay (dove adesso c’è il link a ‘#’). Nella sezione seguente vengono illustrate le funzioni per la gestione delle preferenze con JavaScript.</p> </div></div> L'overlay di consenso viene automaticamente istanziato dal componente se si tratta di un video Youtube. Per personalizzare il comportamento sulle scelte effettuate nell'overlay di consenso, è possibile passare al componente \\`<it-video>\\` l'attributo \\`consentOptions\\` con il seguente formato: \\`\\`\\`js consentOptions = { consentKey?: string; //nome della variabile da usare nel localStorage per il salvataggio della preferenza sul consenso. Di default è 'youtube' per i video di Youtube. onAccept?: Function; //(accepted, consentKey)=>{} - funzione che viene invocata quando si accetta il consenso permanente per un video di questa tipologia. Se presente, non viene gestita la preferenza nel localstorage, ma è compito dello sviluppatore implementare la logica di salvataggio delle preferenze isAccepted?: Function; // (consentKey)=>{} - funzione che ritorna un valore booleano (true/false), che indica se l'utente ha gia accettato il consenso permanente per tutti i video di quel tipo. }; \\`\\`\\` Di default sono gia previsti testi e icona, ma è possibile (ed è suggerito) modificare il testo con il link alla pagina della privacy policy. I testi e l'icona sono modificabili attraverso il sistema di traduzioni. Vedi la guida dedicata. `, }, }, }, render: (params) => html`${renderComponent({ ...params, src: 'https://youtu.be/_0j7ZQ67KtY', type: undefined, translations: undefined, })}`, }"
|
|
394
|
+
},
|
|
395
|
+
{
|
|
396
|
+
"kind": "variable",
|
|
397
|
+
"name": "I18n",
|
|
398
|
+
"type": {
|
|
399
|
+
"text": "Story"
|
|
400
|
+
},
|
|
401
|
+
"default": "{ name: 'i18n', tags: ['!dev'], render: () => html`<div class=\"hide-preview\"></div>`, parameters: { viewMode: 'docs', // assicura che si apra la tab Docs anziché Canvas docs: { description: { story: ` Oltre all'attributo \\`translations\\` che permette di modificare le traduzioni interne al player, sono disponibili ulteriori stringhe traducibili tramite l'[utility di internazionalizzazione](/docs/i18n-internazionalizzazione--documentazione). \\`\\`\\`js const translation = { ${JSON.stringify(i18nIT).replaceAll('{\"', '\"').replaceAll('\",', '\",\\n\\t').replaceAll('\"}', '\"')} } \\`\\`\\` `, }, }, }, }"
|
|
393
402
|
}
|
|
394
403
|
],
|
|
395
404
|
"exports": [
|
|
@@ -464,6 +473,14 @@
|
|
|
464
473
|
"name": "EmbedDaPiattaformeTerze",
|
|
465
474
|
"module": "stories/it-video.stories.ts"
|
|
466
475
|
}
|
|
476
|
+
},
|
|
477
|
+
{
|
|
478
|
+
"kind": "js",
|
|
479
|
+
"name": "I18n",
|
|
480
|
+
"declaration": {
|
|
481
|
+
"name": "I18n",
|
|
482
|
+
"module": "stories/it-video.stories.ts"
|
|
483
|
+
}
|
|
467
484
|
}
|
|
468
485
|
]
|
|
469
486
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"it-video.d.ts","sourceRoot":"","sources":["../../src/it-video.ts"],"names":[],"mappings":"AAKA,OAAO,EAAW,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAKlE,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAQvF,qBACa,OAAQ,SAAQ,sBAAsB;IACjD,MAAM,CAAC,MAAM,iCAAY;IAEzB,OAAO,CAAC,OAAO,CAAoD;IAEvC,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,IAAI,EAAE,MAAM,CAAe;IAE3B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM;IAEvC,QAAQ,SAAQ;
|
|
1
|
+
{"version":3,"file":"it-video.d.ts","sourceRoot":"","sources":["../../src/it-video.ts"],"names":[],"mappings":"AAKA,OAAO,EAAW,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAKlE,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAQvF,qBACa,OAAQ,SAAQ,sBAAsB;IACjD,MAAM,CAAC,MAAM,iCAAY;IAEzB,OAAO,CAAC,OAAO,CAAoD;IAEvC,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,IAAI,EAAE,MAAM,CAAe;IAE3B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM;IAEvC,QAAQ,SAAQ;IAED,YAAY,EAAE,mBAAmB,CAAkB;IAEnE,KAAK,EAAE,KAAK,CAAM;IAEjB,cAAc,CAAC,EAAE,cAAc,CAAM;IAGjE,eAAe,SAAM;IAGrB,OAAO,CAAC,MAAM,CAAa;IAG3B,OAAO,CAAC,YAAY,CAAa;IAGjC,OAAO,CAAC,eAAe,CAAkB;IAEzC;;OAEG;IACH,OAAO,KAAK,aAAa,GAGxB;IAKD,YAAY;IAUZ,kBAAkB;IAUlB,aAAa;IAQb,aAAa,CAAC,QAAQ,GAAE,OAAe;IAoBvC,iBAAiB;IAKjB,eAAe;IAmBf,eAAe,CAAC,eAAe,GAAE,OAAe;IAkFhD,YAAY;IAKZ,MAAM;IAgCN,iBAAiB,IAAI,IAAI;IAWzB,oBAAoB,IAAI,IAAI;CAO7B;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,wBAAwB,CAAC,EAAE,OAAO,CAAC;KACpC;IACD,UAAU,qBAAqB;QAC7B,UAAU,EAAE,OAAO,CAAC;KACrB;CACF"}
|
package/dist/src/it-video.js
CHANGED
|
@@ -70012,10 +70012,26 @@ var VALIDATION_STATUS;
|
|
|
70012
70012
|
* One indicating no validation error.
|
|
70013
70013
|
*/
|
|
70014
70014
|
VALIDATION_STATUS["NO_ERROR"] = "";
|
|
70015
|
+
/**
|
|
70016
|
+
* One indicating that the value is invalid (generic).
|
|
70017
|
+
*/
|
|
70018
|
+
VALIDATION_STATUS["INVALID"] = "invalid";
|
|
70015
70019
|
/**
|
|
70016
70020
|
* One indicating missing required value.
|
|
70017
70021
|
*/
|
|
70018
70022
|
VALIDATION_STATUS["ERROR_REQUIRED"] = "required";
|
|
70023
|
+
/**
|
|
70024
|
+
* One indicating that the value does not match the pattern.
|
|
70025
|
+
*/
|
|
70026
|
+
VALIDATION_STATUS["PATTERN"] = "pattern";
|
|
70027
|
+
/**
|
|
70028
|
+
* One indicating that the value is shorter than the minimum length.
|
|
70029
|
+
*/
|
|
70030
|
+
VALIDATION_STATUS["MINLENGTH"] = "minlength";
|
|
70031
|
+
/**
|
|
70032
|
+
* One indicating that the value is less than the maximum length.
|
|
70033
|
+
*/
|
|
70034
|
+
VALIDATION_STATUS["MAXLENGTH"] = "maxlength";
|
|
70019
70035
|
})(VALIDATION_STATUS || (VALIDATION_STATUS = {}));
|
|
70020
70036
|
|
|
70021
70037
|
class SetAttributesDirective extends Directive {
|
|
@@ -71321,95 +71337,6 @@ var styles = css`/***************************** 1 ******************************
|
|
|
71321
71337
|
/***************************** NEUTRAL 1 ****************************************/
|
|
71322
71338
|
/***************************** NEUTRAL 2 ****************************************/
|
|
71323
71339
|
/***************************** NEUTRAL 2 / 3 ****************************************/
|
|
71324
|
-
.form-check .toggles label:has(input[type=checkbox]:focus:not([data-focus-mouse=true])), :focus:not([data-focus-mouse=true]),
|
|
71325
|
-
.it-carousel-wrapper .splide__pagination button:focus:not([data-focus-mouse=true]),
|
|
71326
|
-
.upload:focus:not([data-focus-mouse=true]) + label,
|
|
71327
|
-
.upload-dragdrop-input:focus[type=file]:not([data-focus-mouse=true]) + label,
|
|
71328
|
-
.avatar-upload:focus-within:not([data-focus-mouse=true]),
|
|
71329
|
-
.rating input:focus:not([data-focus-mouse=true]) + label svg {
|
|
71330
|
-
border-color: hsl(0, 0%, 0%) !important;
|
|
71331
|
-
box-shadow: 0 0 0 2px var(--bs-color-border-inverse), 0 0 0 5px var(--bs-color-outline-focus) !important;
|
|
71332
|
-
outline: 3px solid transparent !important;
|
|
71333
|
-
outline-offset: 3px !important;
|
|
71334
|
-
}
|
|
71335
|
-
|
|
71336
|
-
.form-check .toggles label:has(input[type=checkbox]:focus[data-focus-mouse=true]), [data-focus-mouse=true]:not(.btn) {
|
|
71337
|
-
border-color: inherit !important;
|
|
71338
|
-
box-shadow: none !important;
|
|
71339
|
-
outline: none !important;
|
|
71340
|
-
}
|
|
71341
|
-
|
|
71342
|
-
[tabindex="-1"]:focus:not(:focus-visible) {
|
|
71343
|
-
box-shadow: none !important;
|
|
71344
|
-
}
|
|
71345
|
-
|
|
71346
|
-
p a:focus:not([data-focus-mouse=true], .btn) {
|
|
71347
|
-
outline-offset: 0px !important;
|
|
71348
|
-
outline: 3px hsl(0, 0%, 0%) solid !important;
|
|
71349
|
-
background: hsl(0, 0%, 100%);
|
|
71350
|
-
box-shadow: none !important;
|
|
71351
|
-
color: hsl(210, 100%, 40%) !important;
|
|
71352
|
-
}
|
|
71353
|
-
|
|
71354
|
-
.shadow:focus:not([data-focus-mouse=true]),
|
|
71355
|
-
.shadow-none:focus:not([data-focus-mouse=true]),
|
|
71356
|
-
.shadow-sm:focus:not([data-focus-mouse=true]),
|
|
71357
|
-
.shadow-lg:focus:not([data-focus-mouse=true]) {
|
|
71358
|
-
box-shadow: 0 0 0 2px hsl(0, 0%, 100%), 0 0 0 5px hsl(0, 0%, 0%) !important;
|
|
71359
|
-
}
|
|
71360
|
-
|
|
71361
|
-
.avatar-group-stacked .avatar:focus:not([data-focus-mouse=true]) {
|
|
71362
|
-
border: 0;
|
|
71363
|
-
margin-left: -4px;
|
|
71364
|
-
margin-top: 2px;
|
|
71365
|
-
margin-right: 2px;
|
|
71366
|
-
}
|
|
71367
|
-
.avatar-group-stacked .avatar.avatar-dropdown .btn-dropdown:focus:not([data-focus-mouse=true]) {
|
|
71368
|
-
height: 100%;
|
|
71369
|
-
width: 100%;
|
|
71370
|
-
border-radius: 50%;
|
|
71371
|
-
}
|
|
71372
|
-
|
|
71373
|
-
.chip button:focus:not([data-focus-mouse=true]) {
|
|
71374
|
-
border-radius: 50%;
|
|
71375
|
-
}
|
|
71376
|
-
|
|
71377
|
-
.form-check .toggles label:has(input[type=checkbox]:focus:not([data-focus-mouse=true])) input,
|
|
71378
|
-
.form-check .toggles label:has(input[type=checkbox]:focus:not([data-focus-mouse=true])) .lever {
|
|
71379
|
-
border-color: inherit !important;
|
|
71380
|
-
box-shadow: none !important;
|
|
71381
|
-
outline: none !important;
|
|
71382
|
-
}
|
|
71383
|
-
.form-check.form-check-group :focus:not([data-focus-mouse=true]),
|
|
71384
|
-
.form-check.form-check-group [type=checkbox]:focus + label,
|
|
71385
|
-
.form-check.form-check-group [type=radio]:focus + label {
|
|
71386
|
-
width: 100%;
|
|
71387
|
-
}
|
|
71388
|
-
|
|
71389
|
-
.bg-dark .btn:focus:not([data-focus-mouse=true]),
|
|
71390
|
-
.bg-dark .it-carousel-wrapper .splide__pagination button.btn:focus:not([data-focus-mouse=true]),
|
|
71391
|
-
.it-carousel-wrapper .splide__pagination .bg-dark button.btn:focus:not([data-focus-mouse=true]),
|
|
71392
|
-
.bg-dark .upload:focus:not([data-focus-mouse=true]) + label.btn,
|
|
71393
|
-
.bg-dark .upload-dragdrop-input:focus[type=file]:not([data-focus-mouse=true]) + label.btn,
|
|
71394
|
-
.bg-dark .btn.avatar-upload:focus-within:not([data-focus-mouse=true]),
|
|
71395
|
-
.bg-dark .rating input:focus:not([data-focus-mouse=true]) + label svg.btn,
|
|
71396
|
-
.rating input:focus:not([data-focus-mouse=true]) + label .bg-dark svg.btn, .bg-dark .form-check .toggles label.btn:has(input[type=checkbox]:focus:not([data-focus-mouse=true])), .form-check .toggles .bg-dark label.btn:has(input[type=checkbox]:focus:not([data-focus-mouse=true])),
|
|
71397
|
-
.back-to-top.dark:focus:not([data-focus-mouse=true]),
|
|
71398
|
-
.it-carousel-wrapper .splide__pagination button.back-to-top.dark:focus:not([data-focus-mouse=true]),
|
|
71399
|
-
.upload:focus:not([data-focus-mouse=true]) + label.back-to-top.dark,
|
|
71400
|
-
.upload-dragdrop-input:focus[type=file]:not([data-focus-mouse=true]) + label.back-to-top.dark,
|
|
71401
|
-
.back-to-top.dark.avatar-upload:focus-within:not([data-focus-mouse=true]),
|
|
71402
|
-
.rating input:focus:not([data-focus-mouse=true]) + label svg.back-to-top.dark,
|
|
71403
|
-
.form-check .toggles label.back-to-top.dark:has(input[type=checkbox]:focus:not([data-focus-mouse=true])) {
|
|
71404
|
-
box-shadow: 0 0 0 2px hsl(0, 0%, 0%), 0 0 0 5px hsl(0, 0%, 100%) !important;
|
|
71405
|
-
}
|
|
71406
|
-
|
|
71407
|
-
.autocomplete__wrapper .autocomplete__menu .autocomplete__hint:focus,
|
|
71408
|
-
.autocomplete__wrapper .autocomplete__menu .autocomplete__option:focus {
|
|
71409
|
-
border: 3px solid hsl(0, 0%, 0%) !important;
|
|
71410
|
-
box-shadow: none !important;
|
|
71411
|
-
}
|
|
71412
|
-
|
|
71413
71340
|
/* stylelint-disable */
|
|
71414
71341
|
.vjs-svg-icon {
|
|
71415
71342
|
display: inline-block;
|
|
@@ -73898,7 +73825,7 @@ __decorate([
|
|
|
73898
73825
|
__metadata("design:type", Object)
|
|
73899
73826
|
], ItVideo.prototype, "language", void 0);
|
|
73900
73827
|
__decorate([
|
|
73901
|
-
property({ type: Object }),
|
|
73828
|
+
property({ type: Object, reflect: true }),
|
|
73902
73829
|
__metadata("design:type", Object)
|
|
73903
73830
|
], ItVideo.prototype, "translations", void 0);
|
|
73904
73831
|
__decorate([
|