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.
Files changed (90) hide show
  1. package/dist/components/TextToSpeech.js +4 -4
  2. package/dist/components/VoiceSelector.js +49 -0
  3. package/dist/utils/voice.js +1 -0
  4. package/docs/components/accordion.html +7 -0
  5. package/docs/components/aside.html +7 -0
  6. package/docs/components/calendar.html +7 -0
  7. package/docs/components/card.html +7 -0
  8. package/docs/components/code-editor.html +7 -0
  9. package/docs/components/color-picker.html +7 -0
  10. package/docs/components/combobox.html +7 -0
  11. package/docs/components/content-slider.html +7 -0
  12. package/docs/components/context.html +7 -0
  13. package/docs/components/dialog.html +7 -0
  14. package/docs/components/dropdown.html +7 -0
  15. package/docs/components/filter-list.html +7 -0
  16. package/docs/components/focus-capture.html +7 -0
  17. package/docs/components/html-editor.html +7 -0
  18. package/docs/components/hybrid-component.html +7 -0
  19. package/docs/components/icon.html +7 -0
  20. package/docs/components/import.html +7 -0
  21. package/docs/components/light-component.html +7 -0
  22. package/docs/components/nav-spacer.html +7 -0
  23. package/docs/components/nav.html +7 -0
  24. package/docs/components/photo-viewer.html +7 -0
  25. package/docs/components/progress.html +7 -0
  26. package/docs/components/resize.html +7 -0
  27. package/docs/components/shadow-component.html +7 -0
  28. package/docs/components/show-more.html +7 -0
  29. package/docs/components/slider.html +7 -0
  30. package/docs/components/sortable.html +7 -0
  31. package/docs/components/speech-to-text.html +7 -0
  32. package/docs/components/spinner.html +7 -0
  33. package/docs/components/split.html +7 -0
  34. package/docs/components/table.html +7 -0
  35. package/docs/components/tableControls.html +7 -0
  36. package/docs/components/tableCustomFields.html +7 -0
  37. package/docs/components/tableFetchRecords.html +7 -0
  38. package/docs/components/tableFieldSortHide.html +7 -0
  39. package/docs/components/tablePagination.html +7 -0
  40. package/docs/components/tablePlaceholder.html +7 -0
  41. package/docs/components/tableRecordEditing.html +7 -0
  42. package/docs/components/tableRecordFiltering.html +7 -0
  43. package/docs/components/tableRecordHiding.html +7 -0
  44. package/docs/components/tableRecordSearching.html +7 -0
  45. package/docs/components/tableRecordSelection.html +7 -0
  46. package/docs/components/tableRowControls.html +7 -0
  47. package/docs/components/tableServerSync.html +7 -0
  48. package/docs/components/tableSorting.html +7 -0
  49. package/docs/components/tabs.html +7 -0
  50. package/docs/components/tags.html +7 -0
  51. package/docs/components/text-to-speech.html +51 -1
  52. package/docs/components/theme-select.html +7 -0
  53. package/docs/components/theme-switcher.html +7 -0
  54. package/docs/components/time.html +7 -0
  55. package/docs/components/timestamp.html +7 -0
  56. package/docs/components/toast.html +7 -0
  57. package/docs/components/toggle.html +7 -0
  58. package/docs/components/tree.html +7 -0
  59. package/docs/components/voice-selector.html +598 -0
  60. package/docs/index.html +19 -0
  61. package/docs/src/components/TextToSpeech.js +4 -4
  62. package/docs/src/components/VoiceSelector.js +49 -0
  63. package/docs/src/utils/voice.js +1 -0
  64. package/docs/utils/context.html +7 -0
  65. package/docs/utils/cookie.html +7 -0
  66. package/docs/utils/debounce.html +7 -0
  67. package/docs/utils/drag.html +7 -0
  68. package/docs/utils/elevation.html +7 -0
  69. package/docs/utils/formatTimestamp.html +7 -0
  70. package/docs/utils/object.html +7 -0
  71. package/docs/utils/propConverters.html +7 -0
  72. package/docs/utils/string.html +7 -0
  73. package/docs/utils/theme.html +7 -0
  74. package/docs/utils/toTitleCase.html +7 -0
  75. package/docs/utils/type.html +7 -0
  76. package/docs/utils/voice.html +536 -0
  77. package/docs/utils/wait.html +7 -0
  78. package/docs-src/components/text-to-speech.page.html +44 -1
  79. package/docs-src/components/voice-selector.page.html +125 -0
  80. package/docs-src/index.page.html +12 -0
  81. package/docs-src/nav.fragment.html +7 -0
  82. package/docs-src/utils/voice.page.html +66 -0
  83. package/llms.txt +2 -0
  84. package/package.json +1 -1
  85. package/src/components/TextToSpeech.js +13 -2
  86. package/src/components/VoiceSelector.js +271 -0
  87. package/src/utils/voice.js +103 -0
  88. package/tests/components/TextToSpeech.browser-test.js +150 -1
  89. package/tests/components/VoiceSelector.browser-test.js +374 -0
  90. package/tests/utils/voice.browser-test.js +128 -0
@@ -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>
@@ -471,6 +478,7 @@
471
478
  <a href="#slotted">Slotted Text</a><br />
472
479
  <a href="#rate">Rate &amp; Pitch</a><br />
473
480
  <a href="#language">Language</a><br />
481
+ <a href="#voice">Voice Selection</a><br />
474
482
  <a href="#dynamic">Dynamic Text</a><br />
475
483
  <a href="#disabled">Disabled</a><br />
476
484
 
@@ -548,6 +556,48 @@
548
556
  </div>
549
557
  </div>
550
558
 
559
+ <h3 id="voice"><a href="#voice" class="no-link">Voice Selection</a></h3>
560
+ <p>Set <code>voice</code> to a specific voice name. The component looks it up in <code>speechSynthesis.getVoices()</code>; if the name isn't installed on the user's device the component silently falls back to the language default. Voice availability varies by browser and OS &mdash; here's a quick reference:</p>
561
+ <table class="b">
562
+ <thead><tr><th>Platform</th><th>Available voices</th></tr></thead>
563
+ <tbody>
564
+ <tr><td>Chrome (any OS)</td><td><code>Google US English</code>, <code>Google UK English Female</code>, <code>Google UK English Male</code>, plus localized <code>Google fran&ccedil;ais</code>, <code>Google espa&ntilde;ol</code>, etc. Most reliable cross-platform names.</td></tr>
565
+ <tr><td>macOS / iOS Safari</td><td><code>Samantha</code>, <code>Alex</code>, <code>Karen</code>, <code>Daniel</code>, <code>Moira</code>, plus any "premium" voices the user has downloaded.</td></tr>
566
+ <tr><td>Windows (Edge / non-Chrome)</td><td><code>Microsoft David</code>, <code>Microsoft Zira</code>, <code>Microsoft Mark</code>, plus regional packs.</td></tr>
567
+ <tr><td>Linux / eSpeak</td><td>A single generic voice; quality is rough.</td></tr>
568
+ <tr><td>Android Chrome</td><td>Whatever TTS engine the user has installed; defaults to Google TTS.</td></tr>
569
+ </tbody>
570
+ </table>
571
+ <p class="mt">There is no voice name that is identical across every platform. For portable code, prefer <code>language</code> over <code>voice</code> &mdash; the browser will pick the best installed voice for that language tag. Only set <code>voice</code> when you specifically want one and accept the device-dependent fallback.</p>
572
+ <div class="row -mx">
573
+ <div class="col m-span-12 px">
574
+ <k-card label="HTML">
575
+ <pre><code class="hljs xml"><span class="hljs-tag">&lt;<span class="hljs-name">k-text-to-speech</span> <span class="hljs-attr">text</span>=<span class="hljs-string">&quot;Hello, this is Google US English&quot;</span> <span class="hljs-attr">voice</span>=<span class="hljs-string">&quot;Google US English&quot;</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">k-text-to-speech</span>&gt;</span><br><span class="hljs-tag">&lt;<span class="hljs-name">k-text-to-speech</span> <span class="hljs-attr">text</span>=<span class="hljs-string">&quot;Hello in French (browser picks a voice)&quot;</span> <span class="hljs-attr">language</span>=<span class="hljs-string">&quot;fr-FR&quot;</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">k-text-to-speech</span>&gt;</span></code></pre>
576
+ </k-card>
577
+ </div>
578
+ <div class="col m-span-12 px">
579
+ <k-card label="Output">
580
+ <k-text-to-speech text="Hello, this is Google US English" voice="Google US English" class="mr"></k-text-to-speech>
581
+ <k-text-to-speech text="Hello in French (browser picks a voice)" language="fr-FR"></k-text-to-speech>
582
+ </k-card>
583
+ </div>
584
+ </div>
585
+
586
+ <h4>Voice Fallback Chain</h4>
587
+ <p>The <code>voice</code> attribute accepts a comma-separated list (like CSS <code>font-family</code>). The component tries each name in order and uses the first one installed; if none match it falls back to the language default.</p>
588
+ <div class="row -mx">
589
+ <div class="col m-span-12 px">
590
+ <k-card label="HTML">
591
+ <pre><code class="hljs xml"><span class="hljs-tag">&lt;<span class="hljs-name">k-text-to-speech</span> <span class="hljs-attr">text</span>=<span class="hljs-string">&quot;Trying Samantha first, then a Google fallback&quot;</span> <span class="hljs-attr">voice</span>=<span class="hljs-string">&quot;Samantha, Google US English, Microsoft Zira&quot;</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">k-text-to-speech</span>&gt;</span></code></pre>
592
+ </k-card>
593
+ </div>
594
+ <div class="col m-span-12 px">
595
+ <k-card label="Output">
596
+ <k-text-to-speech text="Trying Samantha first, then a Google fallback" voice="Samantha, Google US English, Microsoft Zira"></k-text-to-speech>
597
+ </k-card>
598
+ </div>
599
+ </div>
600
+
551
601
  <h3 id="dynamic"><a href="#dynamic" class="no-link">Dynamic Text</a></h3>
552
602
  <p>Set the <code>text</code> property at runtime to read whatever is in an input or other DOM source.</p>
553
603
  <div class="row -mx">
@@ -604,7 +654,7 @@
604
654
  <p>The text to speak. When empty, the element's slotted text content is used. Syncs to <code>text</code> attribute.</p>
605
655
 
606
656
  <h5><code>voice<i>: String</i></code></h5>
607
- <p>Optional voice name (matched against <code>speechSynthesis.getVoices()</code>). Falls back to the default voice for the language. Syncs to <code>voice</code> attribute.</p>
657
+ <p>Optional voice name, or a comma-separated fallback chain (e.g. <code>"Samantha, Google US English, Microsoft Zira"</code>). Each name is matched against <code>speechSynthesis.getVoices()</code> in order; the first installed match wins. If none match, the component falls back to the default voice for the configured <code>language</code>. Syncs to <code>voice</code> attribute.</p>
608
658
 
609
659
  <h5><code>language<i>: String</i></code></h5>
610
660
  <p>BCP&#x2011;47 language tag (e.g. <code>"en-US"</code>, <code>"fr-FR"</code>). Default is empty (browser default). Syncs to <code>language</code> attribute.</p>
@@ -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>