kempo-ui 0.4.4 → 0.4.5
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/components/TextToSpeech.js +4 -4
- package/dist/components/VoiceSelector.js +49 -0
- package/dist/utils/voice.js +1 -0
- package/docs/components/accordion.html +7 -0
- package/docs/components/aside.html +7 -0
- package/docs/components/calendar.html +7 -0
- package/docs/components/card.html +7 -0
- package/docs/components/code-editor.html +7 -0
- package/docs/components/color-picker.html +7 -0
- package/docs/components/combobox.html +7 -0
- package/docs/components/content-slider.html +7 -0
- package/docs/components/context.html +7 -0
- package/docs/components/dialog.html +7 -0
- package/docs/components/dropdown.html +7 -0
- package/docs/components/filter-list.html +7 -0
- package/docs/components/focus-capture.html +7 -0
- package/docs/components/html-editor.html +7 -0
- package/docs/components/hybrid-component.html +7 -0
- package/docs/components/icon.html +7 -0
- package/docs/components/import.html +7 -0
- package/docs/components/light-component.html +7 -0
- package/docs/components/nav-spacer.html +7 -0
- package/docs/components/nav.html +7 -0
- package/docs/components/photo-viewer.html +7 -0
- package/docs/components/progress.html +7 -0
- package/docs/components/resize.html +7 -0
- package/docs/components/shadow-component.html +7 -0
- package/docs/components/show-more.html +7 -0
- package/docs/components/slider.html +7 -0
- package/docs/components/sortable.html +7 -0
- package/docs/components/speech-to-text.html +7 -0
- package/docs/components/spinner.html +7 -0
- package/docs/components/split.html +7 -0
- package/docs/components/table.html +7 -0
- package/docs/components/tableControls.html +7 -0
- package/docs/components/tableCustomFields.html +7 -0
- package/docs/components/tableFetchRecords.html +7 -0
- package/docs/components/tableFieldSortHide.html +7 -0
- package/docs/components/tablePagination.html +7 -0
- package/docs/components/tablePlaceholder.html +7 -0
- package/docs/components/tableRecordEditing.html +7 -0
- package/docs/components/tableRecordFiltering.html +7 -0
- package/docs/components/tableRecordHiding.html +7 -0
- package/docs/components/tableRecordSearching.html +7 -0
- package/docs/components/tableRecordSelection.html +7 -0
- package/docs/components/tableRowControls.html +7 -0
- package/docs/components/tableServerSync.html +7 -0
- package/docs/components/tableSorting.html +7 -0
- package/docs/components/tabs.html +7 -0
- package/docs/components/tags.html +7 -0
- package/docs/components/text-to-speech.html +51 -1
- package/docs/components/theme-select.html +7 -0
- package/docs/components/theme-switcher.html +7 -0
- package/docs/components/time.html +7 -0
- package/docs/components/timestamp.html +7 -0
- package/docs/components/toast.html +7 -0
- package/docs/components/toggle.html +7 -0
- package/docs/components/tree.html +7 -0
- package/docs/components/voice-selector.html +598 -0
- package/docs/index.html +19 -0
- package/docs/src/components/TextToSpeech.js +4 -4
- package/docs/src/components/VoiceSelector.js +49 -0
- package/docs/src/utils/voice.js +1 -0
- package/docs/utils/context.html +7 -0
- package/docs/utils/cookie.html +7 -0
- package/docs/utils/debounce.html +7 -0
- package/docs/utils/drag.html +7 -0
- package/docs/utils/elevation.html +7 -0
- package/docs/utils/formatTimestamp.html +7 -0
- package/docs/utils/object.html +7 -0
- package/docs/utils/propConverters.html +7 -0
- package/docs/utils/string.html +7 -0
- package/docs/utils/theme.html +7 -0
- package/docs/utils/toTitleCase.html +7 -0
- package/docs/utils/type.html +7 -0
- package/docs/utils/voice.html +536 -0
- package/docs/utils/wait.html +7 -0
- package/docs-src/components/text-to-speech.page.html +44 -1
- package/docs-src/components/voice-selector.page.html +125 -0
- package/docs-src/index.page.html +12 -0
- package/docs-src/nav.fragment.html +7 -0
- package/docs-src/utils/voice.page.html +66 -0
- package/llms.txt +2 -0
- package/package.json +1 -1
- package/src/components/TextToSpeech.js +13 -2
- package/src/components/VoiceSelector.js +271 -0
- package/src/utils/voice.js +103 -0
- package/tests/components/TextToSpeech.browser-test.js +150 -1
- package/tests/components/VoiceSelector.browser-test.js +374 -0
- package/tests/utils/voice.browser-test.js +128 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import{html as
|
|
1
|
+
import{html as t,css as e}from"../lit-all.min.js";import n from"./ShadowComponent.js";import{getVoice as s}from"../utils/voice.js";import"./Icon.js";export default class i extends n{static properties={text:{type:String,reflect:!0},voice:{type:String,reflect:!0},language:{type:String,reflect:!0},rate:{type:Number,reflect:!0},pitch:{type:Number,reflect:!0},volume:{type:Number,reflect:!0},disabled:{type:Boolean,reflect:!0},speaking:{type:Boolean,reflect:!0}};#t=!1;#e=null;constructor(){super(),this.text="",this.voice="",this.language="",this.rate=1,this.pitch=1,this.volume=1,this.disabled=!1,this.speaking=!1}connectedCallback(){super.connectedCallback(),"undefined"!=typeof window&&window.speechSynthesis&&"function"==typeof window.SpeechSynthesisUtterance||(this.#t=!0)}disconnectedCallback(){super.disconnectedCallback(),this.stop()}get effectiveText(){return this.text?this.text:this.textContent.trim()}resolveVoice=()=>{if(this.#t)return null;const t=this.voice||s()||"";if(!t)return null;const e=window.speechSynthesis.getVoices(),n=t.split(",").map(t=>t.trim()).filter(Boolean);for(const t of n){const n=e.find(e=>e.name===t);if(n)return n}return null};speak=t=>{if(this.disabled||this.#t)return;const e=(void 0!==t?String(t):this.effectiveText).trim();if(!e)return;window.speechSynthesis.cancel();const n=new window.SpeechSynthesisUtterance(e);n.rate=this.rate,n.pitch=this.pitch,n.volume=this.volume,this.language&&(n.lang=this.language);const s=this.resolveVoice();s&&(n.voice=s),n.onstart=this.handleStart,n.onend=this.handleEnd,n.onerror=this.handleError,this.#e=n,window.speechSynthesis.speak(n)};stop=()=>{this.#t||window.speechSynthesis.cancel()};toggle=()=>{this.speaking?this.stop():this.speak()};handleStart=()=>{this.speaking=!0,this.dispatchEvent(new CustomEvent("start",{bubbles:!0}))};handleEnd=()=>{this.speaking=!1,this.#e=null,this.dispatchEvent(new CustomEvent("end",{bubbles:!0}))};handleError=t=>{this.speaking=!1,this.#e=null,this.dispatchEvent(new CustomEvent("error",{detail:{error:t.error||"unknown"},bubbles:!0}))};handleClick=()=>{this.disabled||this.toggle()};render(){const e=!this.#t,n=e?this.speaking?"Stop speaking":"Speak":"Text-to-speech not supported in this browser";return t`
|
|
2
2
|
<button
|
|
3
3
|
type="button"
|
|
4
4
|
class="no-btn btn"
|
|
5
|
-
?disabled=${this.disabled||!
|
|
5
|
+
?disabled=${this.disabled||!e}
|
|
6
6
|
@click=${this.handleClick}
|
|
7
7
|
aria-label=${n}
|
|
8
8
|
title=${n}
|
|
@@ -10,7 +10,7 @@ import{html as e,css as t}from"../lit-all.min.js";import n from"./ShadowComponen
|
|
|
10
10
|
<k-icon name=${this.speaking?"stop":"record_voice_over"}></k-icon>
|
|
11
11
|
</button>
|
|
12
12
|
<slot style="display:none"></slot>
|
|
13
|
-
`}static styles=
|
|
13
|
+
`}static styles=e`
|
|
14
14
|
:host {
|
|
15
15
|
--btn_size: 2.5rem;
|
|
16
16
|
--btn_bg: var(--c_bg);
|
|
@@ -53,4 +53,4 @@ import{html as e,css as t}from"../lit-all.min.js";import n from"./ShadowComponen
|
|
|
53
53
|
.btn:disabled {
|
|
54
54
|
cursor: not-allowed;
|
|
55
55
|
}
|
|
56
|
-
`}customElements.define("k-text-to-speech",
|
|
56
|
+
`}customElements.define("k-text-to-speech",i);
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import{html as e,css as t}from"../lit-all.min.js";import s from"./ShadowComponent.js";import{getVoice as n,setVoice as i,subscribeToVoice as a,subscribeToAvailableVoices as l}from"../utils/voice.js";const o=e=>(e||"").split("-")[0].toLowerCase();let c=null;try{if("undefined"!=typeof Intl&&Intl.DisplayNames){const e="undefined"!=typeof navigator&&navigator.language||"en";c=new Intl.DisplayNames([e],{type:"language"})}}catch(e){}const r=new Map,u=e=>{let t=e;if(c)try{t=c.of(e)||e}catch(e){}const s=(e=>{if(r.has(e))return r.get(e);let t="";try{"undefined"!=typeof Intl&&Intl.DisplayNames&&(t=new Intl.DisplayNames([e],{type:"language"}).of(e)||"")}catch(e){}return t&&(t=t.charAt(0).toUpperCase()+t.slice(1)),r.set(e,t),t})(e);return s&&s.toLowerCase()!==t.toLowerCase()?`${t} (${s})`:t};export default class h extends s{static properties={language:{type:String,reflect:!0},placeholder:{type:String,reflect:!0},disabled:{type:Boolean,reflect:!0},voices:{state:!0},selected:{state:!0},currentLang:{state:!0}};#e=null;#t=null;#s=!1;#n=!1;constructor(){super(),this.language="",this.placeholder="Browser default",this.disabled=!1,this.voices=[],this.selected="",this.currentLang=""}connectedCallback(){super.connectedCallback(),"undefined"!=typeof window&&window.speechSynthesis?(this.#e=l(e=>{this.voices=e,this.#i()}),this.#t=a(e=>{if(this.selected=e||"",e){const t=this.voices.find(t=>t.name===e);t&&t.lang&&(this.currentLang=o(t.lang))}})):this.#s=!0}disconnectedCallback(){super.disconnectedCallback(),this.#e&&this.#e(),this.#t&&this.#t(),this.#e=null,this.#t=null}#i=()=>{if(this.#n||0===this.voices.length)return;this.#n=!0;const e=this.selected?this.voices.find(e=>e.name===this.selected):null;if(e&&e.lang)return void(this.currentLang=o(e.lang));if(this.language)return void(this.currentLang=o(this.language));const t="undefined"==typeof navigator?"en":o(navigator.language||"en")||"en",s=this.availableLanguages;s.includes(t)?this.currentLang=t:s.length>0&&(this.currentLang=s[0])};get availableLanguages(){const e=new Set;for(const t of this.voices)t.lang&&e.add(o(t.lang));return[...e].sort()}get voicesForCurrentLanguage(){return this.currentLang?this.voices.filter(e=>o(e.lang)===this.currentLang):this.voices}handleLanguageChange=e=>{if(this.disabled)return;this.currentLang=e.target.value;this.voicesForCurrentLanguage.some(e=>e.name===this.selected)||i("")};handleVoiceChange=e=>{if(this.disabled)return;const t=e.target.value;i(t),this.dispatchEvent(new CustomEvent("change",{detail:{voice:t,language:this.currentLang},bubbles:!0}))};refresh=()=>{this.#s||(this.voices=window.speechSynthesis.getVoices(),this.#i())};render(){if(this.#s)return e`
|
|
2
|
+
<select disabled aria-label="Voice selector (unsupported)">
|
|
3
|
+
<option>Speech synthesis not supported</option>
|
|
4
|
+
</select>
|
|
5
|
+
`;const t=this.availableLanguages,s=this.voicesForCurrentLanguage;return e`
|
|
6
|
+
<div class="row">
|
|
7
|
+
<div class="col" style="min-width: 10rem; flex: 0 0 auto">
|
|
8
|
+
<select
|
|
9
|
+
class="lang"
|
|
10
|
+
aria-label="Language"
|
|
11
|
+
?disabled=${this.disabled||0===t.length}
|
|
12
|
+
.value=${this.currentLang}
|
|
13
|
+
@change=${this.handleLanguageChange}
|
|
14
|
+
>
|
|
15
|
+
${t.map(t=>e`
|
|
16
|
+
<option value=${t} ?selected=${t===this.currentLang}>${u(t)}</option>
|
|
17
|
+
`)}
|
|
18
|
+
</select>
|
|
19
|
+
</div>
|
|
20
|
+
<div class="col">
|
|
21
|
+
<select
|
|
22
|
+
class="voice"
|
|
23
|
+
aria-label="Voice"
|
|
24
|
+
?disabled=${this.disabled}
|
|
25
|
+
.value=${this.selected}
|
|
26
|
+
@change=${this.handleVoiceChange}
|
|
27
|
+
>
|
|
28
|
+
<option value="">${this.placeholder}</option>
|
|
29
|
+
${s.map(t=>{return e`
|
|
30
|
+
<option
|
|
31
|
+
value=${t.name}
|
|
32
|
+
?selected=${t.name===this.selected}
|
|
33
|
+
>${s=t.name,s.split("(")[0].trim()||s}</option>
|
|
34
|
+
`;var s})}
|
|
35
|
+
</select>
|
|
36
|
+
</div>
|
|
37
|
+
</div>
|
|
38
|
+
`}static styles=t`
|
|
39
|
+
:host {
|
|
40
|
+
display: block;
|
|
41
|
+
}
|
|
42
|
+
:host([disabled]) {
|
|
43
|
+
opacity: 0.5;
|
|
44
|
+
pointer-events: none;
|
|
45
|
+
}
|
|
46
|
+
select {
|
|
47
|
+
width: 100%;
|
|
48
|
+
}
|
|
49
|
+
`}customElements.define("k-voice-selector",h);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import e from"./context.js";const t="k-voice",o=e("voice",(()=>{try{return localStorage.getItem(t)||""}catch(e){return""}})());o.subscribe(e=>{try{e?localStorage.setItem(t,e):localStorage.removeItem(t)}catch(e){}}),"undefined"!=typeof window&&window.addEventListener("storage",e=>{e.key===t&&o.set(e.newValue||"")});export const setVoice=e=>o.set(e||"");export const getVoice=()=>o.get();export const subscribeToVoice=e=>o.subscribe(e);export const getAvailableVoices=()=>"undefined"!=typeof window&&window.speechSynthesis?window.speechSynthesis.getVoices():[];export const waitForVoices=(e=2e3)=>{if("undefined"==typeof window||!window.speechSynthesis)return Promise.resolve([]);const t=window.speechSynthesis,o=t.getVoices();return o.length>0?Promise.resolve(o):new Promise(o=>{let s=!1;const i=()=>{s||(s=!0,t.removeEventListener("voiceschanged",i),o(t.getVoices()))};t.addEventListener("voiceschanged",i),setTimeout(()=>{s||(s=!0,t.removeEventListener("voiceschanged",i),o(t.getVoices()))},e)})};export const subscribeToAvailableVoices=e=>{if("undefined"==typeof window||!window.speechSynthesis)return e([]),()=>{};const t=window.speechSynthesis,o=()=>e(t.getVoices());return t.addEventListener("voiceschanged",o),o(),()=>t.removeEventListener("voiceschanged",o)};export default{get:getVoice,set:setVoice,subscribe:subscribeToVoice,getAvailable:getAvailableVoices,waitForVoices:waitForVoices,subscribeAvailable:subscribeToAvailableVoices};
|
|
@@ -198,6 +198,9 @@
|
|
|
198
198
|
>Toggle<br><small>Component</small></a></k-filter-item>
|
|
199
199
|
<k-filter-item filter-keywords="tree treeview components"><a
|
|
200
200
|
href="../components/tree.html">Tree<br><small>Component</small></a></k-filter-item>
|
|
201
|
+
<k-filter-item filter-keywords="voice selector dropdown speech synthesis preference components"><a
|
|
202
|
+
href="../components/voice-selector.html"
|
|
203
|
+
>Voice Selector<br><small>Component</small></a></k-filter-item>
|
|
201
204
|
<k-filter-item filter-keywords="shadow component base"><a
|
|
202
205
|
href="../components/shadow-component.html"
|
|
203
206
|
>Shadow Component<br><small>Base Component</small></a></k-filter-item>
|
|
@@ -231,6 +234,8 @@
|
|
|
231
234
|
href="../utils/theme.html">theme<br><small>Utility</small></a></k-filter-item>
|
|
232
235
|
<k-filter-item filter-keywords="type utils utility"><a
|
|
233
236
|
href="../utils/type.html">type<br><small>Utility</small></a></k-filter-item>
|
|
237
|
+
<k-filter-item filter-keywords="voice speech synthesis preference utils utility"><a
|
|
238
|
+
href="../utils/voice.html">voice<br><small>Utility</small></a></k-filter-item>
|
|
234
239
|
<k-filter-item filter-keywords="wait async utils utility"><a
|
|
235
240
|
href="../utils/wait.html">wait<br><small>Utility</small></a></k-filter-item>
|
|
236
241
|
</k-filter-list>
|
|
@@ -317,6 +322,7 @@
|
|
|
317
322
|
<a href="../components/toast.html">Toast</a>
|
|
318
323
|
<a href="../components/toggle.html">Toggle</a>
|
|
319
324
|
<a href="../components/tree.html">Tree</a>
|
|
325
|
+
<a href="../components/voice-selector.html">Voice Selector</a>
|
|
320
326
|
</div>
|
|
321
327
|
|
|
322
328
|
<h5 class="mb0">Base Components</h5>
|
|
@@ -339,6 +345,7 @@
|
|
|
339
345
|
<a href="../utils/string.html">string</a>
|
|
340
346
|
<a href="../utils/theme.html">theme</a>
|
|
341
347
|
<a href="../utils/type.html">type</a>
|
|
348
|
+
<a href="../utils/voice.html">voice</a>
|
|
342
349
|
<a href="../utils/wait.html">wait</a>
|
|
343
350
|
</div>
|
|
344
351
|
</menu>
|
|
@@ -198,6 +198,9 @@
|
|
|
198
198
|
>Toggle<br><small>Component</small></a></k-filter-item>
|
|
199
199
|
<k-filter-item filter-keywords="tree treeview components"><a
|
|
200
200
|
href="../components/tree.html">Tree<br><small>Component</small></a></k-filter-item>
|
|
201
|
+
<k-filter-item filter-keywords="voice selector dropdown speech synthesis preference components"><a
|
|
202
|
+
href="../components/voice-selector.html"
|
|
203
|
+
>Voice Selector<br><small>Component</small></a></k-filter-item>
|
|
201
204
|
<k-filter-item filter-keywords="shadow component base"><a
|
|
202
205
|
href="../components/shadow-component.html"
|
|
203
206
|
>Shadow Component<br><small>Base Component</small></a></k-filter-item>
|
|
@@ -231,6 +234,8 @@
|
|
|
231
234
|
href="../utils/theme.html">theme<br><small>Utility</small></a></k-filter-item>
|
|
232
235
|
<k-filter-item filter-keywords="type utils utility"><a
|
|
233
236
|
href="../utils/type.html">type<br><small>Utility</small></a></k-filter-item>
|
|
237
|
+
<k-filter-item filter-keywords="voice speech synthesis preference utils utility"><a
|
|
238
|
+
href="../utils/voice.html">voice<br><small>Utility</small></a></k-filter-item>
|
|
234
239
|
<k-filter-item filter-keywords="wait async utils utility"><a
|
|
235
240
|
href="../utils/wait.html">wait<br><small>Utility</small></a></k-filter-item>
|
|
236
241
|
</k-filter-list>
|
|
@@ -317,6 +322,7 @@
|
|
|
317
322
|
<a href="../components/toast.html">Toast</a>
|
|
318
323
|
<a href="../components/toggle.html">Toggle</a>
|
|
319
324
|
<a href="../components/tree.html">Tree</a>
|
|
325
|
+
<a href="../components/voice-selector.html">Voice Selector</a>
|
|
320
326
|
</div>
|
|
321
327
|
|
|
322
328
|
<h5 class="mb0">Base Components</h5>
|
|
@@ -339,6 +345,7 @@
|
|
|
339
345
|
<a href="../utils/string.html">string</a>
|
|
340
346
|
<a href="../utils/theme.html">theme</a>
|
|
341
347
|
<a href="../utils/type.html">type</a>
|
|
348
|
+
<a href="../utils/voice.html">voice</a>
|
|
342
349
|
<a href="../utils/wait.html">wait</a>
|
|
343
350
|
</div>
|
|
344
351
|
</menu>
|
|
@@ -198,6 +198,9 @@
|
|
|
198
198
|
>Toggle<br><small>Component</small></a></k-filter-item>
|
|
199
199
|
<k-filter-item filter-keywords="tree treeview components"><a
|
|
200
200
|
href="../components/tree.html">Tree<br><small>Component</small></a></k-filter-item>
|
|
201
|
+
<k-filter-item filter-keywords="voice selector dropdown speech synthesis preference components"><a
|
|
202
|
+
href="../components/voice-selector.html"
|
|
203
|
+
>Voice Selector<br><small>Component</small></a></k-filter-item>
|
|
201
204
|
<k-filter-item filter-keywords="shadow component base"><a
|
|
202
205
|
href="../components/shadow-component.html"
|
|
203
206
|
>Shadow Component<br><small>Base Component</small></a></k-filter-item>
|
|
@@ -231,6 +234,8 @@
|
|
|
231
234
|
href="../utils/theme.html">theme<br><small>Utility</small></a></k-filter-item>
|
|
232
235
|
<k-filter-item filter-keywords="type utils utility"><a
|
|
233
236
|
href="../utils/type.html">type<br><small>Utility</small></a></k-filter-item>
|
|
237
|
+
<k-filter-item filter-keywords="voice speech synthesis preference utils utility"><a
|
|
238
|
+
href="../utils/voice.html">voice<br><small>Utility</small></a></k-filter-item>
|
|
234
239
|
<k-filter-item filter-keywords="wait async utils utility"><a
|
|
235
240
|
href="../utils/wait.html">wait<br><small>Utility</small></a></k-filter-item>
|
|
236
241
|
</k-filter-list>
|
|
@@ -317,6 +322,7 @@
|
|
|
317
322
|
<a href="../components/toast.html">Toast</a>
|
|
318
323
|
<a href="../components/toggle.html">Toggle</a>
|
|
319
324
|
<a href="../components/tree.html">Tree</a>
|
|
325
|
+
<a href="../components/voice-selector.html">Voice Selector</a>
|
|
320
326
|
</div>
|
|
321
327
|
|
|
322
328
|
<h5 class="mb0">Base Components</h5>
|
|
@@ -339,6 +345,7 @@
|
|
|
339
345
|
<a href="../utils/string.html">string</a>
|
|
340
346
|
<a href="../utils/theme.html">theme</a>
|
|
341
347
|
<a href="../utils/type.html">type</a>
|
|
348
|
+
<a href="../utils/voice.html">voice</a>
|
|
342
349
|
<a href="../utils/wait.html">wait</a>
|
|
343
350
|
</div>
|
|
344
351
|
</menu>
|
|
@@ -198,6 +198,9 @@
|
|
|
198
198
|
>Toggle<br><small>Component</small></a></k-filter-item>
|
|
199
199
|
<k-filter-item filter-keywords="tree treeview components"><a
|
|
200
200
|
href="../components/tree.html">Tree<br><small>Component</small></a></k-filter-item>
|
|
201
|
+
<k-filter-item filter-keywords="voice selector dropdown speech synthesis preference components"><a
|
|
202
|
+
href="../components/voice-selector.html"
|
|
203
|
+
>Voice Selector<br><small>Component</small></a></k-filter-item>
|
|
201
204
|
<k-filter-item filter-keywords="shadow component base"><a
|
|
202
205
|
href="../components/shadow-component.html"
|
|
203
206
|
>Shadow Component<br><small>Base Component</small></a></k-filter-item>
|
|
@@ -231,6 +234,8 @@
|
|
|
231
234
|
href="../utils/theme.html">theme<br><small>Utility</small></a></k-filter-item>
|
|
232
235
|
<k-filter-item filter-keywords="type utils utility"><a
|
|
233
236
|
href="../utils/type.html">type<br><small>Utility</small></a></k-filter-item>
|
|
237
|
+
<k-filter-item filter-keywords="voice speech synthesis preference utils utility"><a
|
|
238
|
+
href="../utils/voice.html">voice<br><small>Utility</small></a></k-filter-item>
|
|
234
239
|
<k-filter-item filter-keywords="wait async utils utility"><a
|
|
235
240
|
href="../utils/wait.html">wait<br><small>Utility</small></a></k-filter-item>
|
|
236
241
|
</k-filter-list>
|
|
@@ -317,6 +322,7 @@
|
|
|
317
322
|
<a href="../components/toast.html">Toast</a>
|
|
318
323
|
<a href="../components/toggle.html">Toggle</a>
|
|
319
324
|
<a href="../components/tree.html">Tree</a>
|
|
325
|
+
<a href="../components/voice-selector.html">Voice Selector</a>
|
|
320
326
|
</div>
|
|
321
327
|
|
|
322
328
|
<h5 class="mb0">Base Components</h5>
|
|
@@ -339,6 +345,7 @@
|
|
|
339
345
|
<a href="../utils/string.html">string</a>
|
|
340
346
|
<a href="../utils/theme.html">theme</a>
|
|
341
347
|
<a href="../utils/type.html">type</a>
|
|
348
|
+
<a href="../utils/voice.html">voice</a>
|
|
342
349
|
<a href="../utils/wait.html">wait</a>
|
|
343
350
|
</div>
|
|
344
351
|
</menu>
|
|
@@ -198,6 +198,9 @@
|
|
|
198
198
|
>Toggle<br><small>Component</small></a></k-filter-item>
|
|
199
199
|
<k-filter-item filter-keywords="tree treeview components"><a
|
|
200
200
|
href="../components/tree.html">Tree<br><small>Component</small></a></k-filter-item>
|
|
201
|
+
<k-filter-item filter-keywords="voice selector dropdown speech synthesis preference components"><a
|
|
202
|
+
href="../components/voice-selector.html"
|
|
203
|
+
>Voice Selector<br><small>Component</small></a></k-filter-item>
|
|
201
204
|
<k-filter-item filter-keywords="shadow component base"><a
|
|
202
205
|
href="../components/shadow-component.html"
|
|
203
206
|
>Shadow Component<br><small>Base Component</small></a></k-filter-item>
|
|
@@ -231,6 +234,8 @@
|
|
|
231
234
|
href="../utils/theme.html">theme<br><small>Utility</small></a></k-filter-item>
|
|
232
235
|
<k-filter-item filter-keywords="type utils utility"><a
|
|
233
236
|
href="../utils/type.html">type<br><small>Utility</small></a></k-filter-item>
|
|
237
|
+
<k-filter-item filter-keywords="voice speech synthesis preference utils utility"><a
|
|
238
|
+
href="../utils/voice.html">voice<br><small>Utility</small></a></k-filter-item>
|
|
234
239
|
<k-filter-item filter-keywords="wait async utils utility"><a
|
|
235
240
|
href="../utils/wait.html">wait<br><small>Utility</small></a></k-filter-item>
|
|
236
241
|
</k-filter-list>
|
|
@@ -317,6 +322,7 @@
|
|
|
317
322
|
<a href="../components/toast.html">Toast</a>
|
|
318
323
|
<a href="../components/toggle.html">Toggle</a>
|
|
319
324
|
<a href="../components/tree.html">Tree</a>
|
|
325
|
+
<a href="../components/voice-selector.html">Voice Selector</a>
|
|
320
326
|
</div>
|
|
321
327
|
|
|
322
328
|
<h5 class="mb0">Base Components</h5>
|
|
@@ -339,6 +345,7 @@
|
|
|
339
345
|
<a href="../utils/string.html">string</a>
|
|
340
346
|
<a href="../utils/theme.html">theme</a>
|
|
341
347
|
<a href="../utils/type.html">type</a>
|
|
348
|
+
<a href="../utils/voice.html">voice</a>
|
|
342
349
|
<a href="../utils/wait.html">wait</a>
|
|
343
350
|
</div>
|
|
344
351
|
</menu>
|
|
@@ -198,6 +198,9 @@
|
|
|
198
198
|
>Toggle<br><small>Component</small></a></k-filter-item>
|
|
199
199
|
<k-filter-item filter-keywords="tree treeview components"><a
|
|
200
200
|
href="../components/tree.html">Tree<br><small>Component</small></a></k-filter-item>
|
|
201
|
+
<k-filter-item filter-keywords="voice selector dropdown speech synthesis preference components"><a
|
|
202
|
+
href="../components/voice-selector.html"
|
|
203
|
+
>Voice Selector<br><small>Component</small></a></k-filter-item>
|
|
201
204
|
<k-filter-item filter-keywords="shadow component base"><a
|
|
202
205
|
href="../components/shadow-component.html"
|
|
203
206
|
>Shadow Component<br><small>Base Component</small></a></k-filter-item>
|
|
@@ -231,6 +234,8 @@
|
|
|
231
234
|
href="../utils/theme.html">theme<br><small>Utility</small></a></k-filter-item>
|
|
232
235
|
<k-filter-item filter-keywords="type utils utility"><a
|
|
233
236
|
href="../utils/type.html">type<br><small>Utility</small></a></k-filter-item>
|
|
237
|
+
<k-filter-item filter-keywords="voice speech synthesis preference utils utility"><a
|
|
238
|
+
href="../utils/voice.html">voice<br><small>Utility</small></a></k-filter-item>
|
|
234
239
|
<k-filter-item filter-keywords="wait async utils utility"><a
|
|
235
240
|
href="../utils/wait.html">wait<br><small>Utility</small></a></k-filter-item>
|
|
236
241
|
</k-filter-list>
|
|
@@ -317,6 +322,7 @@
|
|
|
317
322
|
<a href="../components/toast.html">Toast</a>
|
|
318
323
|
<a href="../components/toggle.html">Toggle</a>
|
|
319
324
|
<a href="../components/tree.html">Tree</a>
|
|
325
|
+
<a href="../components/voice-selector.html">Voice Selector</a>
|
|
320
326
|
</div>
|
|
321
327
|
|
|
322
328
|
<h5 class="mb0">Base Components</h5>
|
|
@@ -339,6 +345,7 @@
|
|
|
339
345
|
<a href="../utils/string.html">string</a>
|
|
340
346
|
<a href="../utils/theme.html">theme</a>
|
|
341
347
|
<a href="../utils/type.html">type</a>
|
|
348
|
+
<a href="../utils/voice.html">voice</a>
|
|
342
349
|
<a href="../utils/wait.html">wait</a>
|
|
343
350
|
</div>
|
|
344
351
|
</menu>
|
|
@@ -198,6 +198,9 @@
|
|
|
198
198
|
>Toggle<br><small>Component</small></a></k-filter-item>
|
|
199
199
|
<k-filter-item filter-keywords="tree treeview components"><a
|
|
200
200
|
href="../components/tree.html">Tree<br><small>Component</small></a></k-filter-item>
|
|
201
|
+
<k-filter-item filter-keywords="voice selector dropdown speech synthesis preference components"><a
|
|
202
|
+
href="../components/voice-selector.html"
|
|
203
|
+
>Voice Selector<br><small>Component</small></a></k-filter-item>
|
|
201
204
|
<k-filter-item filter-keywords="shadow component base"><a
|
|
202
205
|
href="../components/shadow-component.html"
|
|
203
206
|
>Shadow Component<br><small>Base Component</small></a></k-filter-item>
|
|
@@ -231,6 +234,8 @@
|
|
|
231
234
|
href="../utils/theme.html">theme<br><small>Utility</small></a></k-filter-item>
|
|
232
235
|
<k-filter-item filter-keywords="type utils utility"><a
|
|
233
236
|
href="../utils/type.html">type<br><small>Utility</small></a></k-filter-item>
|
|
237
|
+
<k-filter-item filter-keywords="voice speech synthesis preference utils utility"><a
|
|
238
|
+
href="../utils/voice.html">voice<br><small>Utility</small></a></k-filter-item>
|
|
234
239
|
<k-filter-item filter-keywords="wait async utils utility"><a
|
|
235
240
|
href="../utils/wait.html">wait<br><small>Utility</small></a></k-filter-item>
|
|
236
241
|
</k-filter-list>
|
|
@@ -317,6 +322,7 @@
|
|
|
317
322
|
<a href="../components/toast.html">Toast</a>
|
|
318
323
|
<a href="../components/toggle.html">Toggle</a>
|
|
319
324
|
<a href="../components/tree.html">Tree</a>
|
|
325
|
+
<a href="../components/voice-selector.html">Voice Selector</a>
|
|
320
326
|
</div>
|
|
321
327
|
|
|
322
328
|
<h5 class="mb0">Base Components</h5>
|
|
@@ -339,6 +345,7 @@
|
|
|
339
345
|
<a href="../utils/string.html">string</a>
|
|
340
346
|
<a href="../utils/theme.html">theme</a>
|
|
341
347
|
<a href="../utils/type.html">type</a>
|
|
348
|
+
<a href="../utils/voice.html">voice</a>
|
|
342
349
|
<a href="../utils/wait.html">wait</a>
|
|
343
350
|
</div>
|
|
344
351
|
</menu>
|
|
@@ -198,6 +198,9 @@
|
|
|
198
198
|
>Toggle<br><small>Component</small></a></k-filter-item>
|
|
199
199
|
<k-filter-item filter-keywords="tree treeview components"><a
|
|
200
200
|
href="../components/tree.html">Tree<br><small>Component</small></a></k-filter-item>
|
|
201
|
+
<k-filter-item filter-keywords="voice selector dropdown speech synthesis preference components"><a
|
|
202
|
+
href="../components/voice-selector.html"
|
|
203
|
+
>Voice Selector<br><small>Component</small></a></k-filter-item>
|
|
201
204
|
<k-filter-item filter-keywords="shadow component base"><a
|
|
202
205
|
href="../components/shadow-component.html"
|
|
203
206
|
>Shadow Component<br><small>Base Component</small></a></k-filter-item>
|
|
@@ -231,6 +234,8 @@
|
|
|
231
234
|
href="../utils/theme.html">theme<br><small>Utility</small></a></k-filter-item>
|
|
232
235
|
<k-filter-item filter-keywords="type utils utility"><a
|
|
233
236
|
href="../utils/type.html">type<br><small>Utility</small></a></k-filter-item>
|
|
237
|
+
<k-filter-item filter-keywords="voice speech synthesis preference utils utility"><a
|
|
238
|
+
href="../utils/voice.html">voice<br><small>Utility</small></a></k-filter-item>
|
|
234
239
|
<k-filter-item filter-keywords="wait async utils utility"><a
|
|
235
240
|
href="../utils/wait.html">wait<br><small>Utility</small></a></k-filter-item>
|
|
236
241
|
</k-filter-list>
|
|
@@ -317,6 +322,7 @@
|
|
|
317
322
|
<a href="../components/toast.html">Toast</a>
|
|
318
323
|
<a href="../components/toggle.html">Toggle</a>
|
|
319
324
|
<a href="../components/tree.html">Tree</a>
|
|
325
|
+
<a href="../components/voice-selector.html">Voice Selector</a>
|
|
320
326
|
</div>
|
|
321
327
|
|
|
322
328
|
<h5 class="mb0">Base Components</h5>
|
|
@@ -339,6 +345,7 @@
|
|
|
339
345
|
<a href="../utils/string.html">string</a>
|
|
340
346
|
<a href="../utils/theme.html">theme</a>
|
|
341
347
|
<a href="../utils/type.html">type</a>
|
|
348
|
+
<a href="../utils/voice.html">voice</a>
|
|
342
349
|
<a href="../utils/wait.html">wait</a>
|
|
343
350
|
</div>
|
|
344
351
|
</menu>
|
|
@@ -198,6 +198,9 @@
|
|
|
198
198
|
>Toggle<br><small>Component</small></a></k-filter-item>
|
|
199
199
|
<k-filter-item filter-keywords="tree treeview components"><a
|
|
200
200
|
href="../components/tree.html">Tree<br><small>Component</small></a></k-filter-item>
|
|
201
|
+
<k-filter-item filter-keywords="voice selector dropdown speech synthesis preference components"><a
|
|
202
|
+
href="../components/voice-selector.html"
|
|
203
|
+
>Voice Selector<br><small>Component</small></a></k-filter-item>
|
|
201
204
|
<k-filter-item filter-keywords="shadow component base"><a
|
|
202
205
|
href="../components/shadow-component.html"
|
|
203
206
|
>Shadow Component<br><small>Base Component</small></a></k-filter-item>
|
|
@@ -231,6 +234,8 @@
|
|
|
231
234
|
href="../utils/theme.html">theme<br><small>Utility</small></a></k-filter-item>
|
|
232
235
|
<k-filter-item filter-keywords="type utils utility"><a
|
|
233
236
|
href="../utils/type.html">type<br><small>Utility</small></a></k-filter-item>
|
|
237
|
+
<k-filter-item filter-keywords="voice speech synthesis preference utils utility"><a
|
|
238
|
+
href="../utils/voice.html">voice<br><small>Utility</small></a></k-filter-item>
|
|
234
239
|
<k-filter-item filter-keywords="wait async utils utility"><a
|
|
235
240
|
href="../utils/wait.html">wait<br><small>Utility</small></a></k-filter-item>
|
|
236
241
|
</k-filter-list>
|
|
@@ -317,6 +322,7 @@
|
|
|
317
322
|
<a href="../components/toast.html">Toast</a>
|
|
318
323
|
<a href="../components/toggle.html">Toggle</a>
|
|
319
324
|
<a href="../components/tree.html">Tree</a>
|
|
325
|
+
<a href="../components/voice-selector.html">Voice Selector</a>
|
|
320
326
|
</div>
|
|
321
327
|
|
|
322
328
|
<h5 class="mb0">Base Components</h5>
|
|
@@ -339,6 +345,7 @@
|
|
|
339
345
|
<a href="../utils/string.html">string</a>
|
|
340
346
|
<a href="../utils/theme.html">theme</a>
|
|
341
347
|
<a href="../utils/type.html">type</a>
|
|
348
|
+
<a href="../utils/voice.html">voice</a>
|
|
342
349
|
<a href="../utils/wait.html">wait</a>
|
|
343
350
|
</div>
|
|
344
351
|
</menu>
|
|
@@ -198,6 +198,9 @@
|
|
|
198
198
|
>Toggle<br><small>Component</small></a></k-filter-item>
|
|
199
199
|
<k-filter-item filter-keywords="tree treeview components"><a
|
|
200
200
|
href="../components/tree.html">Tree<br><small>Component</small></a></k-filter-item>
|
|
201
|
+
<k-filter-item filter-keywords="voice selector dropdown speech synthesis preference components"><a
|
|
202
|
+
href="../components/voice-selector.html"
|
|
203
|
+
>Voice Selector<br><small>Component</small></a></k-filter-item>
|
|
201
204
|
<k-filter-item filter-keywords="shadow component base"><a
|
|
202
205
|
href="../components/shadow-component.html"
|
|
203
206
|
>Shadow Component<br><small>Base Component</small></a></k-filter-item>
|
|
@@ -231,6 +234,8 @@
|
|
|
231
234
|
href="../utils/theme.html">theme<br><small>Utility</small></a></k-filter-item>
|
|
232
235
|
<k-filter-item filter-keywords="type utils utility"><a
|
|
233
236
|
href="../utils/type.html">type<br><small>Utility</small></a></k-filter-item>
|
|
237
|
+
<k-filter-item filter-keywords="voice speech synthesis preference utils utility"><a
|
|
238
|
+
href="../utils/voice.html">voice<br><small>Utility</small></a></k-filter-item>
|
|
234
239
|
<k-filter-item filter-keywords="wait async utils utility"><a
|
|
235
240
|
href="../utils/wait.html">wait<br><small>Utility</small></a></k-filter-item>
|
|
236
241
|
</k-filter-list>
|
|
@@ -317,6 +322,7 @@
|
|
|
317
322
|
<a href="../components/toast.html">Toast</a>
|
|
318
323
|
<a href="../components/toggle.html">Toggle</a>
|
|
319
324
|
<a href="../components/tree.html">Tree</a>
|
|
325
|
+
<a href="../components/voice-selector.html">Voice Selector</a>
|
|
320
326
|
</div>
|
|
321
327
|
|
|
322
328
|
<h5 class="mb0">Base Components</h5>
|
|
@@ -339,6 +345,7 @@
|
|
|
339
345
|
<a href="../utils/string.html">string</a>
|
|
340
346
|
<a href="../utils/theme.html">theme</a>
|
|
341
347
|
<a href="../utils/type.html">type</a>
|
|
348
|
+
<a href="../utils/voice.html">voice</a>
|
|
342
349
|
<a href="../utils/wait.html">wait</a>
|
|
343
350
|
</div>
|
|
344
351
|
</menu>
|
|
@@ -198,6 +198,9 @@
|
|
|
198
198
|
>Toggle<br><small>Component</small></a></k-filter-item>
|
|
199
199
|
<k-filter-item filter-keywords="tree treeview components"><a
|
|
200
200
|
href="../components/tree.html">Tree<br><small>Component</small></a></k-filter-item>
|
|
201
|
+
<k-filter-item filter-keywords="voice selector dropdown speech synthesis preference components"><a
|
|
202
|
+
href="../components/voice-selector.html"
|
|
203
|
+
>Voice Selector<br><small>Component</small></a></k-filter-item>
|
|
201
204
|
<k-filter-item filter-keywords="shadow component base"><a
|
|
202
205
|
href="../components/shadow-component.html"
|
|
203
206
|
>Shadow Component<br><small>Base Component</small></a></k-filter-item>
|
|
@@ -231,6 +234,8 @@
|
|
|
231
234
|
href="../utils/theme.html">theme<br><small>Utility</small></a></k-filter-item>
|
|
232
235
|
<k-filter-item filter-keywords="type utils utility"><a
|
|
233
236
|
href="../utils/type.html">type<br><small>Utility</small></a></k-filter-item>
|
|
237
|
+
<k-filter-item filter-keywords="voice speech synthesis preference utils utility"><a
|
|
238
|
+
href="../utils/voice.html">voice<br><small>Utility</small></a></k-filter-item>
|
|
234
239
|
<k-filter-item filter-keywords="wait async utils utility"><a
|
|
235
240
|
href="../utils/wait.html">wait<br><small>Utility</small></a></k-filter-item>
|
|
236
241
|
</k-filter-list>
|
|
@@ -317,6 +322,7 @@
|
|
|
317
322
|
<a href="../components/toast.html">Toast</a>
|
|
318
323
|
<a href="../components/toggle.html">Toggle</a>
|
|
319
324
|
<a href="../components/tree.html">Tree</a>
|
|
325
|
+
<a href="../components/voice-selector.html">Voice Selector</a>
|
|
320
326
|
</div>
|
|
321
327
|
|
|
322
328
|
<h5 class="mb0">Base Components</h5>
|
|
@@ -339,6 +345,7 @@
|
|
|
339
345
|
<a href="../utils/string.html">string</a>
|
|
340
346
|
<a href="../utils/theme.html">theme</a>
|
|
341
347
|
<a href="../utils/type.html">type</a>
|
|
348
|
+
<a href="../utils/voice.html">voice</a>
|
|
342
349
|
<a href="../utils/wait.html">wait</a>
|
|
343
350
|
</div>
|
|
344
351
|
</menu>
|
|
@@ -198,6 +198,9 @@
|
|
|
198
198
|
>Toggle<br><small>Component</small></a></k-filter-item>
|
|
199
199
|
<k-filter-item filter-keywords="tree treeview components"><a
|
|
200
200
|
href="../components/tree.html">Tree<br><small>Component</small></a></k-filter-item>
|
|
201
|
+
<k-filter-item filter-keywords="voice selector dropdown speech synthesis preference components"><a
|
|
202
|
+
href="../components/voice-selector.html"
|
|
203
|
+
>Voice Selector<br><small>Component</small></a></k-filter-item>
|
|
201
204
|
<k-filter-item filter-keywords="shadow component base"><a
|
|
202
205
|
href="../components/shadow-component.html"
|
|
203
206
|
>Shadow Component<br><small>Base Component</small></a></k-filter-item>
|
|
@@ -231,6 +234,8 @@
|
|
|
231
234
|
href="../utils/theme.html">theme<br><small>Utility</small></a></k-filter-item>
|
|
232
235
|
<k-filter-item filter-keywords="type utils utility"><a
|
|
233
236
|
href="../utils/type.html">type<br><small>Utility</small></a></k-filter-item>
|
|
237
|
+
<k-filter-item filter-keywords="voice speech synthesis preference utils utility"><a
|
|
238
|
+
href="../utils/voice.html">voice<br><small>Utility</small></a></k-filter-item>
|
|
234
239
|
<k-filter-item filter-keywords="wait async utils utility"><a
|
|
235
240
|
href="../utils/wait.html">wait<br><small>Utility</small></a></k-filter-item>
|
|
236
241
|
</k-filter-list>
|
|
@@ -317,6 +322,7 @@
|
|
|
317
322
|
<a href="../components/toast.html">Toast</a>
|
|
318
323
|
<a href="../components/toggle.html">Toggle</a>
|
|
319
324
|
<a href="../components/tree.html">Tree</a>
|
|
325
|
+
<a href="../components/voice-selector.html">Voice Selector</a>
|
|
320
326
|
</div>
|
|
321
327
|
|
|
322
328
|
<h5 class="mb0">Base Components</h5>
|
|
@@ -339,6 +345,7 @@
|
|
|
339
345
|
<a href="../utils/string.html">string</a>
|
|
340
346
|
<a href="../utils/theme.html">theme</a>
|
|
341
347
|
<a href="../utils/type.html">type</a>
|
|
348
|
+
<a href="../utils/voice.html">voice</a>
|
|
342
349
|
<a href="../utils/wait.html">wait</a>
|
|
343
350
|
</div>
|
|
344
351
|
</menu>
|
|
@@ -198,6 +198,9 @@
|
|
|
198
198
|
>Toggle<br><small>Component</small></a></k-filter-item>
|
|
199
199
|
<k-filter-item filter-keywords="tree treeview components"><a
|
|
200
200
|
href="../components/tree.html">Tree<br><small>Component</small></a></k-filter-item>
|
|
201
|
+
<k-filter-item filter-keywords="voice selector dropdown speech synthesis preference components"><a
|
|
202
|
+
href="../components/voice-selector.html"
|
|
203
|
+
>Voice Selector<br><small>Component</small></a></k-filter-item>
|
|
201
204
|
<k-filter-item filter-keywords="shadow component base"><a
|
|
202
205
|
href="../components/shadow-component.html"
|
|
203
206
|
>Shadow Component<br><small>Base Component</small></a></k-filter-item>
|
|
@@ -231,6 +234,8 @@
|
|
|
231
234
|
href="../utils/theme.html">theme<br><small>Utility</small></a></k-filter-item>
|
|
232
235
|
<k-filter-item filter-keywords="type utils utility"><a
|
|
233
236
|
href="../utils/type.html">type<br><small>Utility</small></a></k-filter-item>
|
|
237
|
+
<k-filter-item filter-keywords="voice speech synthesis preference utils utility"><a
|
|
238
|
+
href="../utils/voice.html">voice<br><small>Utility</small></a></k-filter-item>
|
|
234
239
|
<k-filter-item filter-keywords="wait async utils utility"><a
|
|
235
240
|
href="../utils/wait.html">wait<br><small>Utility</small></a></k-filter-item>
|
|
236
241
|
</k-filter-list>
|
|
@@ -317,6 +322,7 @@
|
|
|
317
322
|
<a href="../components/toast.html">Toast</a>
|
|
318
323
|
<a href="../components/toggle.html">Toggle</a>
|
|
319
324
|
<a href="../components/tree.html">Tree</a>
|
|
325
|
+
<a href="../components/voice-selector.html">Voice Selector</a>
|
|
320
326
|
</div>
|
|
321
327
|
|
|
322
328
|
<h5 class="mb0">Base Components</h5>
|
|
@@ -339,6 +345,7 @@
|
|
|
339
345
|
<a href="../utils/string.html">string</a>
|
|
340
346
|
<a href="../utils/theme.html">theme</a>
|
|
341
347
|
<a href="../utils/type.html">type</a>
|
|
348
|
+
<a href="../utils/voice.html">voice</a>
|
|
342
349
|
<a href="../utils/wait.html">wait</a>
|
|
343
350
|
</div>
|
|
344
351
|
</menu>
|
|
@@ -198,6 +198,9 @@
|
|
|
198
198
|
>Toggle<br><small>Component</small></a></k-filter-item>
|
|
199
199
|
<k-filter-item filter-keywords="tree treeview components"><a
|
|
200
200
|
href="../components/tree.html">Tree<br><small>Component</small></a></k-filter-item>
|
|
201
|
+
<k-filter-item filter-keywords="voice selector dropdown speech synthesis preference components"><a
|
|
202
|
+
href="../components/voice-selector.html"
|
|
203
|
+
>Voice Selector<br><small>Component</small></a></k-filter-item>
|
|
201
204
|
<k-filter-item filter-keywords="shadow component base"><a
|
|
202
205
|
href="../components/shadow-component.html"
|
|
203
206
|
>Shadow Component<br><small>Base Component</small></a></k-filter-item>
|
|
@@ -231,6 +234,8 @@
|
|
|
231
234
|
href="../utils/theme.html">theme<br><small>Utility</small></a></k-filter-item>
|
|
232
235
|
<k-filter-item filter-keywords="type utils utility"><a
|
|
233
236
|
href="../utils/type.html">type<br><small>Utility</small></a></k-filter-item>
|
|
237
|
+
<k-filter-item filter-keywords="voice speech synthesis preference utils utility"><a
|
|
238
|
+
href="../utils/voice.html">voice<br><small>Utility</small></a></k-filter-item>
|
|
234
239
|
<k-filter-item filter-keywords="wait async utils utility"><a
|
|
235
240
|
href="../utils/wait.html">wait<br><small>Utility</small></a></k-filter-item>
|
|
236
241
|
</k-filter-list>
|
|
@@ -317,6 +322,7 @@
|
|
|
317
322
|
<a href="../components/toast.html">Toast</a>
|
|
318
323
|
<a href="../components/toggle.html">Toggle</a>
|
|
319
324
|
<a href="../components/tree.html">Tree</a>
|
|
325
|
+
<a href="../components/voice-selector.html">Voice Selector</a>
|
|
320
326
|
</div>
|
|
321
327
|
|
|
322
328
|
<h5 class="mb0">Base Components</h5>
|
|
@@ -339,6 +345,7 @@
|
|
|
339
345
|
<a href="../utils/string.html">string</a>
|
|
340
346
|
<a href="../utils/theme.html">theme</a>
|
|
341
347
|
<a href="../utils/type.html">type</a>
|
|
348
|
+
<a href="../utils/voice.html">voice</a>
|
|
342
349
|
<a href="../utils/wait.html">wait</a>
|
|
343
350
|
</div>
|
|
344
351
|
</menu>
|