kempo-ui 0.4.3 → 0.4.4
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/.claude/skills/get-icon/SKILL.md +144 -0
- package/.claude/skills/highlight-code/SKILL.md +62 -0
- package/.claude/skills/new-component/SKILL.md +362 -0
- package/.github/skills/get-icon/SKILL.md +4 -4
- package/.github/skills/highlight-code/SKILL.md +51 -20
- package/.github/skills/new-component/SKILL.md +183 -152
- package/AGENTS.md +2 -2
- package/dist/components/SpeechToText.js +60 -0
- package/dist/components/TextToSpeech.js +56 -0
- package/docs/components/accordion.html +8 -0
- package/docs/components/aside.html +8 -0
- package/docs/components/calendar.html +8 -0
- package/docs/components/card.html +8 -0
- package/docs/components/code-editor.html +8 -0
- package/docs/components/color-picker.html +8 -0
- package/docs/components/combobox.html +8 -0
- package/docs/components/content-slider.html +8 -0
- package/docs/components/context.html +8 -0
- package/docs/components/dialog.html +8 -0
- package/docs/components/dropdown.html +8 -0
- package/docs/components/filter-list.html +8 -0
- package/docs/components/focus-capture.html +8 -0
- package/docs/components/html-editor.html +8 -0
- package/docs/components/hybrid-component.html +8 -0
- package/docs/components/icon.html +8 -0
- package/docs/components/import.html +8 -0
- package/docs/components/light-component.html +8 -0
- package/docs/components/nav-spacer.html +8 -0
- package/docs/components/nav.html +8 -0
- package/docs/components/photo-viewer.html +8 -0
- package/docs/components/progress.html +8 -0
- package/docs/components/resize.html +8 -0
- package/docs/components/shadow-component.html +8 -0
- package/docs/components/show-more.html +8 -0
- package/docs/components/slider.html +8 -0
- package/docs/components/sortable.html +8 -0
- package/docs/components/speech-to-text.html +717 -0
- package/docs/components/spinner.html +8 -0
- package/docs/components/split.html +8 -0
- package/docs/components/table.html +8 -0
- package/docs/components/tableControls.html +8 -0
- package/docs/components/tableCustomFields.html +8 -0
- package/docs/components/tableFetchRecords.html +8 -0
- package/docs/components/tableFieldSortHide.html +8 -0
- package/docs/components/tablePagination.html +8 -0
- package/docs/components/tablePlaceholder.html +8 -0
- package/docs/components/tableRecordEditing.html +8 -0
- package/docs/components/tableRecordFiltering.html +8 -0
- package/docs/components/tableRecordHiding.html +8 -0
- package/docs/components/tableRecordSearching.html +8 -0
- package/docs/components/tableRecordSelection.html +8 -0
- package/docs/components/tableRowControls.html +8 -0
- package/docs/components/tableServerSync.html +8 -0
- package/docs/components/tableSorting.html +8 -0
- package/docs/components/tabs.html +8 -0
- package/docs/components/tags.html +8 -0
- package/docs/components/text-to-speech.html +668 -0
- package/docs/components/theme-select.html +8 -0
- package/docs/components/theme-switcher.html +8 -0
- package/docs/components/time.html +8 -0
- package/docs/components/timestamp.html +8 -0
- package/docs/components/toast.html +8 -0
- package/docs/components/toggle.html +8 -0
- package/docs/components/tree.html +8 -0
- package/docs/icons/mic.svg +1 -0
- package/docs/icons/record_voice_over.svg +1 -0
- package/docs/icons/stop.svg +1 -0
- package/docs/index.html +20 -0
- package/docs/src/components/SpeechToText.js +60 -0
- package/docs/src/components/TextToSpeech.js +56 -0
- package/docs/utils/context.html +8 -0
- package/docs/utils/cookie.html +8 -0
- package/docs/utils/debounce.html +8 -0
- package/docs/utils/drag.html +8 -0
- package/docs/utils/elevation.html +8 -0
- package/docs/utils/formatTimestamp.html +8 -0
- package/docs/utils/object.html +8 -0
- package/docs/utils/propConverters.html +8 -0
- package/docs/utils/string.html +8 -0
- package/docs/utils/theme.html +8 -0
- package/docs/utils/toTitleCase.html +8 -0
- package/docs/utils/type.html +8 -0
- package/docs/utils/wait.html +8 -0
- package/docs-src/components/speech-to-text.page.html +251 -0
- package/docs-src/components/text-to-speech.page.html +202 -0
- package/docs-src/index.page.html +12 -0
- package/docs-src/nav.fragment.html +8 -0
- package/icons/mic.svg +1 -0
- package/icons/record_voice_over.svg +1 -0
- package/icons/stop.svg +1 -0
- package/llms.txt +2 -0
- package/package.json +1 -1
- package/src/components/SpeechToText.js +252 -0
- package/src/components/TextToSpeech.js +194 -0
- package/tests/components/SpeechToText.browser-test.js +530 -0
- package/tests/components/TextToSpeech.browser-test.js +432 -0
|
@@ -120,6 +120,9 @@
|
|
|
120
120
|
<k-filter-item filter-keywords="sortable drag drop sort components"><a
|
|
121
121
|
href="../components/sortable.html"
|
|
122
122
|
>Sortable<br><small>Component</small></a></k-filter-item>
|
|
123
|
+
<k-filter-item filter-keywords="speech to text speechtotext microphone voice recognition transcription components"><a
|
|
124
|
+
href="../components/speech-to-text.html"
|
|
125
|
+
>Speech To Text<br><small>Component</small></a></k-filter-item>
|
|
123
126
|
<k-filter-item filter-keywords="spinner loading components"><a
|
|
124
127
|
href="../components/spinner.html">Spinner<br><small>Component</small></a></k-filter-item>
|
|
125
128
|
<k-filter-item filter-keywords="split pane components"><a
|
|
@@ -172,6 +175,9 @@
|
|
|
172
175
|
href="../components/tabs.html">Tabs<br><small>Component</small></a></k-filter-item>
|
|
173
176
|
<k-filter-item filter-keywords="tags tag input components"><a
|
|
174
177
|
href="../components/tags.html">Tags<br><small>Component</small></a></k-filter-item>
|
|
178
|
+
<k-filter-item filter-keywords="text to speech texttospeech tts speak voice synthesis components"><a
|
|
179
|
+
href="../components/text-to-speech.html"
|
|
180
|
+
>Text To Speech<br><small>Component</small></a></k-filter-item>
|
|
175
181
|
<k-filter-item filter-keywords="theme select dropdown dark light components"><a
|
|
176
182
|
href="../components/theme-select.html"
|
|
177
183
|
>Theme Select<br><small>Component</small></a></k-filter-item>
|
|
@@ -297,11 +303,13 @@
|
|
|
297
303
|
<a href="../components/show-more.html">Show More</a>
|
|
298
304
|
<a href="../components/slider.html">Slider</a>
|
|
299
305
|
<a href="../components/sortable.html">Sortable</a>
|
|
306
|
+
<a href="../components/speech-to-text.html">Speech To Text</a>
|
|
300
307
|
<a href="../components/spinner.html">Spinner</a>
|
|
301
308
|
<a href="../components/split.html">Split</a>
|
|
302
309
|
<a href="../components/table.html">Table</a>
|
|
303
310
|
<a href="../components/tabs.html">Tabs</a>
|
|
304
311
|
<a href="../components/tags.html">Tags</a>
|
|
312
|
+
<a href="../components/text-to-speech.html">Text To Speech</a>
|
|
305
313
|
<a href="../components/theme-select.html">Theme Select</a>
|
|
306
314
|
<a href="../components/theme-switcher.html">Theme Switcher</a>
|
|
307
315
|
<a href="../components/time.html">Time</a>
|
|
@@ -120,6 +120,9 @@
|
|
|
120
120
|
<k-filter-item filter-keywords="sortable drag drop sort components"><a
|
|
121
121
|
href="../components/sortable.html"
|
|
122
122
|
>Sortable<br><small>Component</small></a></k-filter-item>
|
|
123
|
+
<k-filter-item filter-keywords="speech to text speechtotext microphone voice recognition transcription components"><a
|
|
124
|
+
href="../components/speech-to-text.html"
|
|
125
|
+
>Speech To Text<br><small>Component</small></a></k-filter-item>
|
|
123
126
|
<k-filter-item filter-keywords="spinner loading components"><a
|
|
124
127
|
href="../components/spinner.html">Spinner<br><small>Component</small></a></k-filter-item>
|
|
125
128
|
<k-filter-item filter-keywords="split pane components"><a
|
|
@@ -172,6 +175,9 @@
|
|
|
172
175
|
href="../components/tabs.html">Tabs<br><small>Component</small></a></k-filter-item>
|
|
173
176
|
<k-filter-item filter-keywords="tags tag input components"><a
|
|
174
177
|
href="../components/tags.html">Tags<br><small>Component</small></a></k-filter-item>
|
|
178
|
+
<k-filter-item filter-keywords="text to speech texttospeech tts speak voice synthesis components"><a
|
|
179
|
+
href="../components/text-to-speech.html"
|
|
180
|
+
>Text To Speech<br><small>Component</small></a></k-filter-item>
|
|
175
181
|
<k-filter-item filter-keywords="theme select dropdown dark light components"><a
|
|
176
182
|
href="../components/theme-select.html"
|
|
177
183
|
>Theme Select<br><small>Component</small></a></k-filter-item>
|
|
@@ -297,11 +303,13 @@
|
|
|
297
303
|
<a href="../components/show-more.html">Show More</a>
|
|
298
304
|
<a href="../components/slider.html">Slider</a>
|
|
299
305
|
<a href="../components/sortable.html">Sortable</a>
|
|
306
|
+
<a href="../components/speech-to-text.html">Speech To Text</a>
|
|
300
307
|
<a href="../components/spinner.html">Spinner</a>
|
|
301
308
|
<a href="../components/split.html">Split</a>
|
|
302
309
|
<a href="../components/table.html">Table</a>
|
|
303
310
|
<a href="../components/tabs.html">Tabs</a>
|
|
304
311
|
<a href="../components/tags.html">Tags</a>
|
|
312
|
+
<a href="../components/text-to-speech.html">Text To Speech</a>
|
|
305
313
|
<a href="../components/theme-select.html">Theme Select</a>
|
|
306
314
|
<a href="../components/theme-switcher.html">Theme Switcher</a>
|
|
307
315
|
<a href="../components/time.html">Time</a>
|
|
@@ -120,6 +120,9 @@
|
|
|
120
120
|
<k-filter-item filter-keywords="sortable drag drop sort components"><a
|
|
121
121
|
href="../components/sortable.html"
|
|
122
122
|
>Sortable<br><small>Component</small></a></k-filter-item>
|
|
123
|
+
<k-filter-item filter-keywords="speech to text speechtotext microphone voice recognition transcription components"><a
|
|
124
|
+
href="../components/speech-to-text.html"
|
|
125
|
+
>Speech To Text<br><small>Component</small></a></k-filter-item>
|
|
123
126
|
<k-filter-item filter-keywords="spinner loading components"><a
|
|
124
127
|
href="../components/spinner.html">Spinner<br><small>Component</small></a></k-filter-item>
|
|
125
128
|
<k-filter-item filter-keywords="split pane components"><a
|
|
@@ -172,6 +175,9 @@
|
|
|
172
175
|
href="../components/tabs.html">Tabs<br><small>Component</small></a></k-filter-item>
|
|
173
176
|
<k-filter-item filter-keywords="tags tag input components"><a
|
|
174
177
|
href="../components/tags.html">Tags<br><small>Component</small></a></k-filter-item>
|
|
178
|
+
<k-filter-item filter-keywords="text to speech texttospeech tts speak voice synthesis components"><a
|
|
179
|
+
href="../components/text-to-speech.html"
|
|
180
|
+
>Text To Speech<br><small>Component</small></a></k-filter-item>
|
|
175
181
|
<k-filter-item filter-keywords="theme select dropdown dark light components"><a
|
|
176
182
|
href="../components/theme-select.html"
|
|
177
183
|
>Theme Select<br><small>Component</small></a></k-filter-item>
|
|
@@ -297,11 +303,13 @@
|
|
|
297
303
|
<a href="../components/show-more.html">Show More</a>
|
|
298
304
|
<a href="../components/slider.html">Slider</a>
|
|
299
305
|
<a href="../components/sortable.html">Sortable</a>
|
|
306
|
+
<a href="../components/speech-to-text.html">Speech To Text</a>
|
|
300
307
|
<a href="../components/spinner.html">Spinner</a>
|
|
301
308
|
<a href="../components/split.html">Split</a>
|
|
302
309
|
<a href="../components/table.html">Table</a>
|
|
303
310
|
<a href="../components/tabs.html">Tabs</a>
|
|
304
311
|
<a href="../components/tags.html">Tags</a>
|
|
312
|
+
<a href="../components/text-to-speech.html">Text To Speech</a>
|
|
305
313
|
<a href="../components/theme-select.html">Theme Select</a>
|
|
306
314
|
<a href="../components/theme-switcher.html">Theme Switcher</a>
|
|
307
315
|
<a href="../components/time.html">Time</a>
|
|
@@ -120,6 +120,9 @@
|
|
|
120
120
|
<k-filter-item filter-keywords="sortable drag drop sort components"><a
|
|
121
121
|
href="../components/sortable.html"
|
|
122
122
|
>Sortable<br><small>Component</small></a></k-filter-item>
|
|
123
|
+
<k-filter-item filter-keywords="speech to text speechtotext microphone voice recognition transcription components"><a
|
|
124
|
+
href="../components/speech-to-text.html"
|
|
125
|
+
>Speech To Text<br><small>Component</small></a></k-filter-item>
|
|
123
126
|
<k-filter-item filter-keywords="spinner loading components"><a
|
|
124
127
|
href="../components/spinner.html">Spinner<br><small>Component</small></a></k-filter-item>
|
|
125
128
|
<k-filter-item filter-keywords="split pane components"><a
|
|
@@ -172,6 +175,9 @@
|
|
|
172
175
|
href="../components/tabs.html">Tabs<br><small>Component</small></a></k-filter-item>
|
|
173
176
|
<k-filter-item filter-keywords="tags tag input components"><a
|
|
174
177
|
href="../components/tags.html">Tags<br><small>Component</small></a></k-filter-item>
|
|
178
|
+
<k-filter-item filter-keywords="text to speech texttospeech tts speak voice synthesis components"><a
|
|
179
|
+
href="../components/text-to-speech.html"
|
|
180
|
+
>Text To Speech<br><small>Component</small></a></k-filter-item>
|
|
175
181
|
<k-filter-item filter-keywords="theme select dropdown dark light components"><a
|
|
176
182
|
href="../components/theme-select.html"
|
|
177
183
|
>Theme Select<br><small>Component</small></a></k-filter-item>
|
|
@@ -297,11 +303,13 @@
|
|
|
297
303
|
<a href="../components/show-more.html">Show More</a>
|
|
298
304
|
<a href="../components/slider.html">Slider</a>
|
|
299
305
|
<a href="../components/sortable.html">Sortable</a>
|
|
306
|
+
<a href="../components/speech-to-text.html">Speech To Text</a>
|
|
300
307
|
<a href="../components/spinner.html">Spinner</a>
|
|
301
308
|
<a href="../components/split.html">Split</a>
|
|
302
309
|
<a href="../components/table.html">Table</a>
|
|
303
310
|
<a href="../components/tabs.html">Tabs</a>
|
|
304
311
|
<a href="../components/tags.html">Tags</a>
|
|
312
|
+
<a href="../components/text-to-speech.html">Text To Speech</a>
|
|
305
313
|
<a href="../components/theme-select.html">Theme Select</a>
|
|
306
314
|
<a href="../components/theme-switcher.html">Theme Switcher</a>
|
|
307
315
|
<a href="../components/time.html">Time</a>
|
|
@@ -120,6 +120,9 @@
|
|
|
120
120
|
<k-filter-item filter-keywords="sortable drag drop sort components"><a
|
|
121
121
|
href="../components/sortable.html"
|
|
122
122
|
>Sortable<br><small>Component</small></a></k-filter-item>
|
|
123
|
+
<k-filter-item filter-keywords="speech to text speechtotext microphone voice recognition transcription components"><a
|
|
124
|
+
href="../components/speech-to-text.html"
|
|
125
|
+
>Speech To Text<br><small>Component</small></a></k-filter-item>
|
|
123
126
|
<k-filter-item filter-keywords="spinner loading components"><a
|
|
124
127
|
href="../components/spinner.html">Spinner<br><small>Component</small></a></k-filter-item>
|
|
125
128
|
<k-filter-item filter-keywords="split pane components"><a
|
|
@@ -172,6 +175,9 @@
|
|
|
172
175
|
href="../components/tabs.html">Tabs<br><small>Component</small></a></k-filter-item>
|
|
173
176
|
<k-filter-item filter-keywords="tags tag input components"><a
|
|
174
177
|
href="../components/tags.html">Tags<br><small>Component</small></a></k-filter-item>
|
|
178
|
+
<k-filter-item filter-keywords="text to speech texttospeech tts speak voice synthesis components"><a
|
|
179
|
+
href="../components/text-to-speech.html"
|
|
180
|
+
>Text To Speech<br><small>Component</small></a></k-filter-item>
|
|
175
181
|
<k-filter-item filter-keywords="theme select dropdown dark light components"><a
|
|
176
182
|
href="../components/theme-select.html"
|
|
177
183
|
>Theme Select<br><small>Component</small></a></k-filter-item>
|
|
@@ -297,11 +303,13 @@
|
|
|
297
303
|
<a href="../components/show-more.html">Show More</a>
|
|
298
304
|
<a href="../components/slider.html">Slider</a>
|
|
299
305
|
<a href="../components/sortable.html">Sortable</a>
|
|
306
|
+
<a href="../components/speech-to-text.html">Speech To Text</a>
|
|
300
307
|
<a href="../components/spinner.html">Spinner</a>
|
|
301
308
|
<a href="../components/split.html">Split</a>
|
|
302
309
|
<a href="../components/table.html">Table</a>
|
|
303
310
|
<a href="../components/tabs.html">Tabs</a>
|
|
304
311
|
<a href="../components/tags.html">Tags</a>
|
|
312
|
+
<a href="../components/text-to-speech.html">Text To Speech</a>
|
|
305
313
|
<a href="../components/theme-select.html">Theme Select</a>
|
|
306
314
|
<a href="../components/theme-switcher.html">Theme Switcher</a>
|
|
307
315
|
<a href="../components/time.html">Time</a>
|
|
@@ -120,6 +120,9 @@
|
|
|
120
120
|
<k-filter-item filter-keywords="sortable drag drop sort components"><a
|
|
121
121
|
href="../components/sortable.html"
|
|
122
122
|
>Sortable<br><small>Component</small></a></k-filter-item>
|
|
123
|
+
<k-filter-item filter-keywords="speech to text speechtotext microphone voice recognition transcription components"><a
|
|
124
|
+
href="../components/speech-to-text.html"
|
|
125
|
+
>Speech To Text<br><small>Component</small></a></k-filter-item>
|
|
123
126
|
<k-filter-item filter-keywords="spinner loading components"><a
|
|
124
127
|
href="../components/spinner.html">Spinner<br><small>Component</small></a></k-filter-item>
|
|
125
128
|
<k-filter-item filter-keywords="split pane components"><a
|
|
@@ -172,6 +175,9 @@
|
|
|
172
175
|
href="../components/tabs.html">Tabs<br><small>Component</small></a></k-filter-item>
|
|
173
176
|
<k-filter-item filter-keywords="tags tag input components"><a
|
|
174
177
|
href="../components/tags.html">Tags<br><small>Component</small></a></k-filter-item>
|
|
178
|
+
<k-filter-item filter-keywords="text to speech texttospeech tts speak voice synthesis components"><a
|
|
179
|
+
href="../components/text-to-speech.html"
|
|
180
|
+
>Text To Speech<br><small>Component</small></a></k-filter-item>
|
|
175
181
|
<k-filter-item filter-keywords="theme select dropdown dark light components"><a
|
|
176
182
|
href="../components/theme-select.html"
|
|
177
183
|
>Theme Select<br><small>Component</small></a></k-filter-item>
|
|
@@ -297,11 +303,13 @@
|
|
|
297
303
|
<a href="../components/show-more.html">Show More</a>
|
|
298
304
|
<a href="../components/slider.html">Slider</a>
|
|
299
305
|
<a href="../components/sortable.html">Sortable</a>
|
|
306
|
+
<a href="../components/speech-to-text.html">Speech To Text</a>
|
|
300
307
|
<a href="../components/spinner.html">Spinner</a>
|
|
301
308
|
<a href="../components/split.html">Split</a>
|
|
302
309
|
<a href="../components/table.html">Table</a>
|
|
303
310
|
<a href="../components/tabs.html">Tabs</a>
|
|
304
311
|
<a href="../components/tags.html">Tags</a>
|
|
312
|
+
<a href="../components/text-to-speech.html">Text To Speech</a>
|
|
305
313
|
<a href="../components/theme-select.html">Theme Select</a>
|
|
306
314
|
<a href="../components/theme-switcher.html">Theme Switcher</a>
|
|
307
315
|
<a href="../components/time.html">Time</a>
|
|
@@ -120,6 +120,9 @@
|
|
|
120
120
|
<k-filter-item filter-keywords="sortable drag drop sort components"><a
|
|
121
121
|
href="../components/sortable.html"
|
|
122
122
|
>Sortable<br><small>Component</small></a></k-filter-item>
|
|
123
|
+
<k-filter-item filter-keywords="speech to text speechtotext microphone voice recognition transcription components"><a
|
|
124
|
+
href="../components/speech-to-text.html"
|
|
125
|
+
>Speech To Text<br><small>Component</small></a></k-filter-item>
|
|
123
126
|
<k-filter-item filter-keywords="spinner loading components"><a
|
|
124
127
|
href="../components/spinner.html">Spinner<br><small>Component</small></a></k-filter-item>
|
|
125
128
|
<k-filter-item filter-keywords="split pane components"><a
|
|
@@ -172,6 +175,9 @@
|
|
|
172
175
|
href="../components/tabs.html">Tabs<br><small>Component</small></a></k-filter-item>
|
|
173
176
|
<k-filter-item filter-keywords="tags tag input components"><a
|
|
174
177
|
href="../components/tags.html">Tags<br><small>Component</small></a></k-filter-item>
|
|
178
|
+
<k-filter-item filter-keywords="text to speech texttospeech tts speak voice synthesis components"><a
|
|
179
|
+
href="../components/text-to-speech.html"
|
|
180
|
+
>Text To Speech<br><small>Component</small></a></k-filter-item>
|
|
175
181
|
<k-filter-item filter-keywords="theme select dropdown dark light components"><a
|
|
176
182
|
href="../components/theme-select.html"
|
|
177
183
|
>Theme Select<br><small>Component</small></a></k-filter-item>
|
|
@@ -297,11 +303,13 @@
|
|
|
297
303
|
<a href="../components/show-more.html">Show More</a>
|
|
298
304
|
<a href="../components/slider.html">Slider</a>
|
|
299
305
|
<a href="../components/sortable.html">Sortable</a>
|
|
306
|
+
<a href="../components/speech-to-text.html">Speech To Text</a>
|
|
300
307
|
<a href="../components/spinner.html">Spinner</a>
|
|
301
308
|
<a href="../components/split.html">Split</a>
|
|
302
309
|
<a href="../components/table.html">Table</a>
|
|
303
310
|
<a href="../components/tabs.html">Tabs</a>
|
|
304
311
|
<a href="../components/tags.html">Tags</a>
|
|
312
|
+
<a href="../components/text-to-speech.html">Text To Speech</a>
|
|
305
313
|
<a href="../components/theme-select.html">Theme Select</a>
|
|
306
314
|
<a href="../components/theme-switcher.html">Theme Switcher</a>
|
|
307
315
|
<a href="../components/time.html">Time</a>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path fill="currentColor" d="M395-435q-35-35-35-85v-240q0-50 35-85t85-35q50 0 85 35t35 85v240q0 50-35 85t-85 35q-50 0-85-35Zm85-205Zm-40 520v-123q-104-14-172-93t-68-184h80q0 83 58.5 141.5T480-320q83 0 141.5-58.5T680-520h80q0 105-68 184t-172 93v123h-80Zm68.5-371.5Q520-503 520-520v-240q0-17-11.5-28.5T480-800q-17 0-28.5 11.5T440-760v240q0 17 11.5 28.5T480-480q17 0 28.5-11.5Z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path fill="currentColor" d="m798-322-62-62q44-41 69-97t25-119q0-63-25-118t-69-96l62-64q56 53 89 125t33 153q0 81-33 153t-89 125ZM670-450l-64-64q18-17 29-38.5t11-47.5q0-26-11-47.5T606-686l64-64q32 29 50 67.5t18 82.5q0 44-18 82.5T670-450Zm-310 10q-66 0-113-47t-47-113q0-66 47-113t113-47q66 0 113 47t47 113q0 66-47 113t-113 47ZM40-120v-112q0-33 17-62t47-44q51-26 115-44t141-18q77 0 141 18t115 44q30 15 47 44t17 62v112H40Zm80-80h480v-32q0-11-5.5-20T580-266q-36-18-92.5-36T360-320q-71 0-127.5 18T140-266q-9 5-14.5 14t-5.5 20v32Zm296.5-343.5Q440-567 440-600t-23.5-56.5Q393-680 360-680t-56.5 23.5Q280-633 280-600t23.5 56.5Q327-520 360-520t56.5-23.5ZM360-600Zm0 400Z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path fill="currentColor" d="M240-240v-480h480v480H240Z"/></svg>
|
package/docs/index.html
CHANGED
|
@@ -120,6 +120,9 @@
|
|
|
120
120
|
<k-filter-item filter-keywords="sortable drag drop sort components"><a
|
|
121
121
|
href="./components/sortable.html"
|
|
122
122
|
>Sortable<br><small>Component</small></a></k-filter-item>
|
|
123
|
+
<k-filter-item filter-keywords="speech to text speechtotext microphone voice recognition transcription components"><a
|
|
124
|
+
href="./components/speech-to-text.html"
|
|
125
|
+
>Speech To Text<br><small>Component</small></a></k-filter-item>
|
|
123
126
|
<k-filter-item filter-keywords="spinner loading components"><a
|
|
124
127
|
href="./components/spinner.html">Spinner<br><small>Component</small></a></k-filter-item>
|
|
125
128
|
<k-filter-item filter-keywords="split pane components"><a
|
|
@@ -172,6 +175,9 @@
|
|
|
172
175
|
href="./components/tabs.html">Tabs<br><small>Component</small></a></k-filter-item>
|
|
173
176
|
<k-filter-item filter-keywords="tags tag input components"><a
|
|
174
177
|
href="./components/tags.html">Tags<br><small>Component</small></a></k-filter-item>
|
|
178
|
+
<k-filter-item filter-keywords="text to speech texttospeech tts speak voice synthesis components"><a
|
|
179
|
+
href="./components/text-to-speech.html"
|
|
180
|
+
>Text To Speech<br><small>Component</small></a></k-filter-item>
|
|
175
181
|
<k-filter-item filter-keywords="theme select dropdown dark light components"><a
|
|
176
182
|
href="./components/theme-select.html"
|
|
177
183
|
>Theme Select<br><small>Component</small></a></k-filter-item>
|
|
@@ -297,11 +303,13 @@
|
|
|
297
303
|
<a href="./components/show-more.html">Show More</a>
|
|
298
304
|
<a href="./components/slider.html">Slider</a>
|
|
299
305
|
<a href="./components/sortable.html">Sortable</a>
|
|
306
|
+
<a href="./components/speech-to-text.html">Speech To Text</a>
|
|
300
307
|
<a href="./components/spinner.html">Spinner</a>
|
|
301
308
|
<a href="./components/split.html">Split</a>
|
|
302
309
|
<a href="./components/table.html">Table</a>
|
|
303
310
|
<a href="./components/tabs.html">Tabs</a>
|
|
304
311
|
<a href="./components/tags.html">Tags</a>
|
|
312
|
+
<a href="./components/text-to-speech.html">Text To Speech</a>
|
|
305
313
|
<a href="./components/theme-select.html">Theme Select</a>
|
|
306
314
|
<a href="./components/theme-switcher.html">Theme Switcher</a>
|
|
307
315
|
<a href="./components/time.html">Time</a>
|
|
@@ -630,6 +638,12 @@
|
|
|
630
638
|
<p class="tc-muted">Drag-and-drop lists with reordering and sort events.</p>
|
|
631
639
|
</a>
|
|
632
640
|
</div>
|
|
641
|
+
<div class="span-12 t-span-6 d-span-4 px">
|
|
642
|
+
<a href="./components/speech-to-text.html" class="card mb no-link d-b">
|
|
643
|
+
<h3 class="tc-primary">Speech To Text</h3>
|
|
644
|
+
<p class="tc-muted">Microphone button that uses the Web Speech API to transcribe spoken input.</p>
|
|
645
|
+
</a>
|
|
646
|
+
</div>
|
|
633
647
|
<div class="span-12 t-span-6 d-span-4 px">
|
|
634
648
|
<a href="./components/spinner.html" class="card mb no-link d-b">
|
|
635
649
|
<h3 class="tc-primary">Spinner</h3>
|
|
@@ -660,6 +674,12 @@
|
|
|
660
674
|
<p class="tc-muted">Input field for adding and removing tags with keyboard support.</p>
|
|
661
675
|
</a>
|
|
662
676
|
</div>
|
|
677
|
+
<div class="span-12 t-span-6 d-span-4 px">
|
|
678
|
+
<a href="./components/text-to-speech.html" class="card mb no-link d-b">
|
|
679
|
+
<h3 class="tc-primary">Text To Speech</h3>
|
|
680
|
+
<p class="tc-muted">Button that speaks the given text aloud using the browser's SpeechSynthesis API.</p>
|
|
681
|
+
</a>
|
|
682
|
+
</div>
|
|
663
683
|
<div class="span-12 t-span-6 d-span-4 px">
|
|
664
684
|
<a href="./components/theme-select.html" class="card mb no-link d-b">
|
|
665
685
|
<h3 class="tc-primary">Theme Select</h3>
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import{html as t,css as i}from"../lit-all.min.js";import n from"./ShadowComponent.js";import"./Icon.js";export default class e extends n{static properties={language:{type:String,reflect:!0},continuous:{type:Boolean,reflect:!0},interim:{type:Boolean,reflect:!0},minConfidence:{type:Number,reflect:!0,attribute:"min-confidence"},timeout:{type:Number,reflect:!0},disabled:{type:Boolean,reflect:!0},listening:{type:Boolean,reflect:!0}};#t=null;#i="";#n="";#e=!1;#s=null;constructor(){super(),this.language="en-US",this.continuous=!1,this.interim=!1,this.minConfidence=0,this.timeout=0,this.disabled=!1,this.listening=!1}connectedCallback(){super.connectedCallback();const t=window.SpeechRecognition||window.webkitSpeechRecognition;t?(this.#t=new t,this.#t.lang=this.language,this.#t.continuous=this.continuous,this.#t.interimResults=!0,this.#t.onstart=this.handleStart,this.#t.onend=this.handleEnd,this.#t.onresult=this.handleResult,this.#t.onerror=this.handleError):this.#e=!0}disconnectedCallback(){if(super.disconnectedCallback(),this.#o(),this.#t){try{this.#t.stop()}catch(t){}this.#t.onstart=null,this.#t.onend=null,this.#t.onresult=null,this.#t.onerror=null,this.#t=null}}updated(t){super.updated(t),this.#t&&(t.has("language")&&(this.#t.lang=this.language),t.has("continuous")&&(this.#t.continuous=this.continuous))}handleStart=()=>{this.#i="",this.#n="",this.listening=!0,this.#r(),this.dispatchEvent(new CustomEvent("start",{bubbles:!0}))};handleResult=t=>{let i="",n="";for(let e=t.resultIndex;e<t.results.length;e++){const s=t.results[e],o=s[0];("number"==typeof o.confidence?o.confidence:0)<this.minConfidence||(s.isFinal?i+=o.transcript:n+=o.transcript)}i&&(this.#i+=i),(i||n)&&(this.#n=n),(i||this.interim)&&this.dispatchEvent(new CustomEvent("result",{detail:{text:(this.#i+(n||this.#n)).trim(),isFinal:!!i&&!n},bubbles:!0}))};handleEnd=()=>{this.listening=!1,this.#o();const t=(this.#i+this.#n).trim();this.dispatchEvent(new CustomEvent("end",{detail:{text:t},bubbles:!0}))};handleError=t=>{this.listening=!1,this.#o(),this.dispatchEvent(new CustomEvent("error",{detail:{error:t.error,message:t.message},bubbles:!0}))};#r=()=>{this.#o(),this.timeout>0&&(this.#s=setTimeout(()=>this.stop(),1e3*this.timeout))};#o=()=>{this.#s&&(clearTimeout(this.#s),this.#s=null)};handleClick=()=>{this.disabled||(this.listening?this.stop():this.start())};start=()=>{if(!this.disabled&&this.#t&&!this.listening)try{this.#t.start()}catch(t){}};stop=()=>{if(this.#t&&this.listening)try{this.#t.stop()}catch(t){}};toggle=()=>{this.handleClick()};render(){const i=!this.#e,n=i?this.listening?"Stop listening":"Start listening":"Speech recognition not supported in this browser";return t`
|
|
2
|
+
<button
|
|
3
|
+
type="button"
|
|
4
|
+
class="no-btn btn ${this.listening?"listening":""}"
|
|
5
|
+
?disabled=${this.disabled||!i}
|
|
6
|
+
@click=${this.handleClick}
|
|
7
|
+
aria-label=${n}
|
|
8
|
+
title=${n}
|
|
9
|
+
>
|
|
10
|
+
<k-icon name=${this.listening?"stop":"mic"}></k-icon>
|
|
11
|
+
</button>
|
|
12
|
+
`}static styles=i`
|
|
13
|
+
:host {
|
|
14
|
+
--btn_size: 2.5rem;
|
|
15
|
+
--btn_bg: var(--c_bg);
|
|
16
|
+
--btn_bg__listening: var(--c_danger, #d32f2f);
|
|
17
|
+
--btn_tc__listening: white;
|
|
18
|
+
display: inline-block;
|
|
19
|
+
}
|
|
20
|
+
:host([disabled]) {
|
|
21
|
+
opacity: 0.5;
|
|
22
|
+
pointer-events: none;
|
|
23
|
+
}
|
|
24
|
+
.btn {
|
|
25
|
+
display: inline-flex;
|
|
26
|
+
align-items: center;
|
|
27
|
+
justify-content: center;
|
|
28
|
+
width: var(--btn_size);
|
|
29
|
+
height: var(--btn_size);
|
|
30
|
+
padding: 0;
|
|
31
|
+
border: 1px solid var(--c_border);
|
|
32
|
+
border-radius: 50%;
|
|
33
|
+
background: var(--btn_bg);
|
|
34
|
+
color: var(--tc);
|
|
35
|
+
cursor: pointer;
|
|
36
|
+
transition: background var(--animation_ms), color var(--animation_ms), border-color var(--animation_ms);
|
|
37
|
+
}
|
|
38
|
+
.btn:hover:not(:disabled) {
|
|
39
|
+
background: var(--c_bg__alt);
|
|
40
|
+
}
|
|
41
|
+
.btn:focus-visible {
|
|
42
|
+
outline: none;
|
|
43
|
+
box-shadow: var(--focus_shadow);
|
|
44
|
+
}
|
|
45
|
+
:host([listening]) .btn,
|
|
46
|
+
:host([listening]) .btn:hover,
|
|
47
|
+
:host([listening]) .btn:focus-visible {
|
|
48
|
+
background: var(--btn_bg__listening);
|
|
49
|
+
color: var(--btn_tc__listening);
|
|
50
|
+
border-color: transparent;
|
|
51
|
+
animation: pulse 1.4s infinite;
|
|
52
|
+
}
|
|
53
|
+
.btn:disabled {
|
|
54
|
+
cursor: not-allowed;
|
|
55
|
+
}
|
|
56
|
+
@keyframes pulse {
|
|
57
|
+
0%, 100% { box-shadow: 0 0 0 0 rgba(211, 47, 47, 0.5); }
|
|
58
|
+
50% { box-shadow: 0 0 0 10px rgba(211, 47, 47, 0); }
|
|
59
|
+
}
|
|
60
|
+
`}customElements.define("k-speech-to-text",e);
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import{html as e,css as t}from"../lit-all.min.js";import n from"./ShadowComponent.js";import"./Icon.js";export default class s 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}};#e=!1;#t=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.#e=!0)}disconnectedCallback(){super.disconnectedCallback(),this.stop()}get effectiveText(){return this.text?this.text:this.textContent.trim()}resolveVoice=()=>{if(!this.voice||this.#e)return null;return window.speechSynthesis.getVoices().find(e=>e.name===this.voice)||null};speak=e=>{if(this.disabled||this.#e)return;const t=(void 0!==e?String(e):this.effectiveText).trim();if(!t)return;window.speechSynthesis.cancel();const n=new window.SpeechSynthesisUtterance(t);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.#t=n,window.speechSynthesis.speak(n)};stop=()=>{this.#e||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.#t=null,this.dispatchEvent(new CustomEvent("end",{bubbles:!0}))};handleError=e=>{this.speaking=!1,this.#t=null,this.dispatchEvent(new CustomEvent("error",{detail:{error:e.error||"unknown"},bubbles:!0}))};handleClick=()=>{this.disabled||this.toggle()};render(){const t=!this.#e,n=t?this.speaking?"Stop speaking":"Speak":"Text-to-speech not supported in this browser";return e`
|
|
2
|
+
<button
|
|
3
|
+
type="button"
|
|
4
|
+
class="no-btn btn"
|
|
5
|
+
?disabled=${this.disabled||!t}
|
|
6
|
+
@click=${this.handleClick}
|
|
7
|
+
aria-label=${n}
|
|
8
|
+
title=${n}
|
|
9
|
+
>
|
|
10
|
+
<k-icon name=${this.speaking?"stop":"record_voice_over"}></k-icon>
|
|
11
|
+
</button>
|
|
12
|
+
<slot style="display:none"></slot>
|
|
13
|
+
`}static styles=t`
|
|
14
|
+
:host {
|
|
15
|
+
--btn_size: 2.5rem;
|
|
16
|
+
--btn_bg: var(--c_bg);
|
|
17
|
+
--btn_bg__speaking: var(--c_primary);
|
|
18
|
+
--btn_tc__speaking: white;
|
|
19
|
+
display: inline-block;
|
|
20
|
+
}
|
|
21
|
+
:host([disabled]) {
|
|
22
|
+
opacity: 0.5;
|
|
23
|
+
pointer-events: none;
|
|
24
|
+
}
|
|
25
|
+
.btn {
|
|
26
|
+
display: inline-flex;
|
|
27
|
+
align-items: center;
|
|
28
|
+
justify-content: center;
|
|
29
|
+
width: var(--btn_size);
|
|
30
|
+
height: var(--btn_size);
|
|
31
|
+
padding: 0;
|
|
32
|
+
border: 1px solid var(--c_border);
|
|
33
|
+
border-radius: 50%;
|
|
34
|
+
background: var(--btn_bg);
|
|
35
|
+
color: var(--tc);
|
|
36
|
+
cursor: pointer;
|
|
37
|
+
transition: background var(--animation_ms), color var(--animation_ms), border-color var(--animation_ms);
|
|
38
|
+
}
|
|
39
|
+
.btn:hover:not(:disabled) {
|
|
40
|
+
background: var(--c_bg__alt);
|
|
41
|
+
}
|
|
42
|
+
.btn:focus-visible {
|
|
43
|
+
outline: none;
|
|
44
|
+
box-shadow: var(--focus_shadow);
|
|
45
|
+
}
|
|
46
|
+
:host([speaking]) .btn,
|
|
47
|
+
:host([speaking]) .btn:hover,
|
|
48
|
+
:host([speaking]) .btn:focus-visible {
|
|
49
|
+
background: var(--btn_bg__speaking);
|
|
50
|
+
color: var(--btn_tc__speaking);
|
|
51
|
+
border-color: transparent;
|
|
52
|
+
}
|
|
53
|
+
.btn:disabled {
|
|
54
|
+
cursor: not-allowed;
|
|
55
|
+
}
|
|
56
|
+
`}customElements.define("k-text-to-speech",s);
|
package/docs/utils/context.html
CHANGED
|
@@ -120,6 +120,9 @@
|
|
|
120
120
|
<k-filter-item filter-keywords="sortable drag drop sort components"><a
|
|
121
121
|
href="../components/sortable.html"
|
|
122
122
|
>Sortable<br><small>Component</small></a></k-filter-item>
|
|
123
|
+
<k-filter-item filter-keywords="speech to text speechtotext microphone voice recognition transcription components"><a
|
|
124
|
+
href="../components/speech-to-text.html"
|
|
125
|
+
>Speech To Text<br><small>Component</small></a></k-filter-item>
|
|
123
126
|
<k-filter-item filter-keywords="spinner loading components"><a
|
|
124
127
|
href="../components/spinner.html">Spinner<br><small>Component</small></a></k-filter-item>
|
|
125
128
|
<k-filter-item filter-keywords="split pane components"><a
|
|
@@ -172,6 +175,9 @@
|
|
|
172
175
|
href="../components/tabs.html">Tabs<br><small>Component</small></a></k-filter-item>
|
|
173
176
|
<k-filter-item filter-keywords="tags tag input components"><a
|
|
174
177
|
href="../components/tags.html">Tags<br><small>Component</small></a></k-filter-item>
|
|
178
|
+
<k-filter-item filter-keywords="text to speech texttospeech tts speak voice synthesis components"><a
|
|
179
|
+
href="../components/text-to-speech.html"
|
|
180
|
+
>Text To Speech<br><small>Component</small></a></k-filter-item>
|
|
175
181
|
<k-filter-item filter-keywords="theme select dropdown dark light components"><a
|
|
176
182
|
href="../components/theme-select.html"
|
|
177
183
|
>Theme Select<br><small>Component</small></a></k-filter-item>
|
|
@@ -297,11 +303,13 @@
|
|
|
297
303
|
<a href="../components/show-more.html">Show More</a>
|
|
298
304
|
<a href="../components/slider.html">Slider</a>
|
|
299
305
|
<a href="../components/sortable.html">Sortable</a>
|
|
306
|
+
<a href="../components/speech-to-text.html">Speech To Text</a>
|
|
300
307
|
<a href="../components/spinner.html">Spinner</a>
|
|
301
308
|
<a href="../components/split.html">Split</a>
|
|
302
309
|
<a href="../components/table.html">Table</a>
|
|
303
310
|
<a href="../components/tabs.html">Tabs</a>
|
|
304
311
|
<a href="../components/tags.html">Tags</a>
|
|
312
|
+
<a href="../components/text-to-speech.html">Text To Speech</a>
|
|
305
313
|
<a href="../components/theme-select.html">Theme Select</a>
|
|
306
314
|
<a href="../components/theme-switcher.html">Theme Switcher</a>
|
|
307
315
|
<a href="../components/time.html">Time</a>
|
package/docs/utils/cookie.html
CHANGED
|
@@ -120,6 +120,9 @@
|
|
|
120
120
|
<k-filter-item filter-keywords="sortable drag drop sort components"><a
|
|
121
121
|
href="../components/sortable.html"
|
|
122
122
|
>Sortable<br><small>Component</small></a></k-filter-item>
|
|
123
|
+
<k-filter-item filter-keywords="speech to text speechtotext microphone voice recognition transcription components"><a
|
|
124
|
+
href="../components/speech-to-text.html"
|
|
125
|
+
>Speech To Text<br><small>Component</small></a></k-filter-item>
|
|
123
126
|
<k-filter-item filter-keywords="spinner loading components"><a
|
|
124
127
|
href="../components/spinner.html">Spinner<br><small>Component</small></a></k-filter-item>
|
|
125
128
|
<k-filter-item filter-keywords="split pane components"><a
|
|
@@ -172,6 +175,9 @@
|
|
|
172
175
|
href="../components/tabs.html">Tabs<br><small>Component</small></a></k-filter-item>
|
|
173
176
|
<k-filter-item filter-keywords="tags tag input components"><a
|
|
174
177
|
href="../components/tags.html">Tags<br><small>Component</small></a></k-filter-item>
|
|
178
|
+
<k-filter-item filter-keywords="text to speech texttospeech tts speak voice synthesis components"><a
|
|
179
|
+
href="../components/text-to-speech.html"
|
|
180
|
+
>Text To Speech<br><small>Component</small></a></k-filter-item>
|
|
175
181
|
<k-filter-item filter-keywords="theme select dropdown dark light components"><a
|
|
176
182
|
href="../components/theme-select.html"
|
|
177
183
|
>Theme Select<br><small>Component</small></a></k-filter-item>
|
|
@@ -297,11 +303,13 @@
|
|
|
297
303
|
<a href="../components/show-more.html">Show More</a>
|
|
298
304
|
<a href="../components/slider.html">Slider</a>
|
|
299
305
|
<a href="../components/sortable.html">Sortable</a>
|
|
306
|
+
<a href="../components/speech-to-text.html">Speech To Text</a>
|
|
300
307
|
<a href="../components/spinner.html">Spinner</a>
|
|
301
308
|
<a href="../components/split.html">Split</a>
|
|
302
309
|
<a href="../components/table.html">Table</a>
|
|
303
310
|
<a href="../components/tabs.html">Tabs</a>
|
|
304
311
|
<a href="../components/tags.html">Tags</a>
|
|
312
|
+
<a href="../components/text-to-speech.html">Text To Speech</a>
|
|
305
313
|
<a href="../components/theme-select.html">Theme Select</a>
|
|
306
314
|
<a href="../components/theme-switcher.html">Theme Switcher</a>
|
|
307
315
|
<a href="../components/time.html">Time</a>
|
package/docs/utils/debounce.html
CHANGED
|
@@ -120,6 +120,9 @@
|
|
|
120
120
|
<k-filter-item filter-keywords="sortable drag drop sort components"><a
|
|
121
121
|
href="../components/sortable.html"
|
|
122
122
|
>Sortable<br><small>Component</small></a></k-filter-item>
|
|
123
|
+
<k-filter-item filter-keywords="speech to text speechtotext microphone voice recognition transcription components"><a
|
|
124
|
+
href="../components/speech-to-text.html"
|
|
125
|
+
>Speech To Text<br><small>Component</small></a></k-filter-item>
|
|
123
126
|
<k-filter-item filter-keywords="spinner loading components"><a
|
|
124
127
|
href="../components/spinner.html">Spinner<br><small>Component</small></a></k-filter-item>
|
|
125
128
|
<k-filter-item filter-keywords="split pane components"><a
|
|
@@ -172,6 +175,9 @@
|
|
|
172
175
|
href="../components/tabs.html">Tabs<br><small>Component</small></a></k-filter-item>
|
|
173
176
|
<k-filter-item filter-keywords="tags tag input components"><a
|
|
174
177
|
href="../components/tags.html">Tags<br><small>Component</small></a></k-filter-item>
|
|
178
|
+
<k-filter-item filter-keywords="text to speech texttospeech tts speak voice synthesis components"><a
|
|
179
|
+
href="../components/text-to-speech.html"
|
|
180
|
+
>Text To Speech<br><small>Component</small></a></k-filter-item>
|
|
175
181
|
<k-filter-item filter-keywords="theme select dropdown dark light components"><a
|
|
176
182
|
href="../components/theme-select.html"
|
|
177
183
|
>Theme Select<br><small>Component</small></a></k-filter-item>
|
|
@@ -297,11 +303,13 @@
|
|
|
297
303
|
<a href="../components/show-more.html">Show More</a>
|
|
298
304
|
<a href="../components/slider.html">Slider</a>
|
|
299
305
|
<a href="../components/sortable.html">Sortable</a>
|
|
306
|
+
<a href="../components/speech-to-text.html">Speech To Text</a>
|
|
300
307
|
<a href="../components/spinner.html">Spinner</a>
|
|
301
308
|
<a href="../components/split.html">Split</a>
|
|
302
309
|
<a href="../components/table.html">Table</a>
|
|
303
310
|
<a href="../components/tabs.html">Tabs</a>
|
|
304
311
|
<a href="../components/tags.html">Tags</a>
|
|
312
|
+
<a href="../components/text-to-speech.html">Text To Speech</a>
|
|
305
313
|
<a href="../components/theme-select.html">Theme Select</a>
|
|
306
314
|
<a href="../components/theme-switcher.html">Theme Switcher</a>
|
|
307
315
|
<a href="../components/time.html">Time</a>
|
package/docs/utils/drag.html
CHANGED
|
@@ -120,6 +120,9 @@
|
|
|
120
120
|
<k-filter-item filter-keywords="sortable drag drop sort components"><a
|
|
121
121
|
href="../components/sortable.html"
|
|
122
122
|
>Sortable<br><small>Component</small></a></k-filter-item>
|
|
123
|
+
<k-filter-item filter-keywords="speech to text speechtotext microphone voice recognition transcription components"><a
|
|
124
|
+
href="../components/speech-to-text.html"
|
|
125
|
+
>Speech To Text<br><small>Component</small></a></k-filter-item>
|
|
123
126
|
<k-filter-item filter-keywords="spinner loading components"><a
|
|
124
127
|
href="../components/spinner.html">Spinner<br><small>Component</small></a></k-filter-item>
|
|
125
128
|
<k-filter-item filter-keywords="split pane components"><a
|
|
@@ -172,6 +175,9 @@
|
|
|
172
175
|
href="../components/tabs.html">Tabs<br><small>Component</small></a></k-filter-item>
|
|
173
176
|
<k-filter-item filter-keywords="tags tag input components"><a
|
|
174
177
|
href="../components/tags.html">Tags<br><small>Component</small></a></k-filter-item>
|
|
178
|
+
<k-filter-item filter-keywords="text to speech texttospeech tts speak voice synthesis components"><a
|
|
179
|
+
href="../components/text-to-speech.html"
|
|
180
|
+
>Text To Speech<br><small>Component</small></a></k-filter-item>
|
|
175
181
|
<k-filter-item filter-keywords="theme select dropdown dark light components"><a
|
|
176
182
|
href="../components/theme-select.html"
|
|
177
183
|
>Theme Select<br><small>Component</small></a></k-filter-item>
|
|
@@ -297,11 +303,13 @@
|
|
|
297
303
|
<a href="../components/show-more.html">Show More</a>
|
|
298
304
|
<a href="../components/slider.html">Slider</a>
|
|
299
305
|
<a href="../components/sortable.html">Sortable</a>
|
|
306
|
+
<a href="../components/speech-to-text.html">Speech To Text</a>
|
|
300
307
|
<a href="../components/spinner.html">Spinner</a>
|
|
301
308
|
<a href="../components/split.html">Split</a>
|
|
302
309
|
<a href="../components/table.html">Table</a>
|
|
303
310
|
<a href="../components/tabs.html">Tabs</a>
|
|
304
311
|
<a href="../components/tags.html">Tags</a>
|
|
312
|
+
<a href="../components/text-to-speech.html">Text To Speech</a>
|
|
305
313
|
<a href="../components/theme-select.html">Theme Select</a>
|
|
306
314
|
<a href="../components/theme-switcher.html">Theme Switcher</a>
|
|
307
315
|
<a href="../components/time.html">Time</a>
|
|
@@ -120,6 +120,9 @@
|
|
|
120
120
|
<k-filter-item filter-keywords="sortable drag drop sort components"><a
|
|
121
121
|
href="../components/sortable.html"
|
|
122
122
|
>Sortable<br><small>Component</small></a></k-filter-item>
|
|
123
|
+
<k-filter-item filter-keywords="speech to text speechtotext microphone voice recognition transcription components"><a
|
|
124
|
+
href="../components/speech-to-text.html"
|
|
125
|
+
>Speech To Text<br><small>Component</small></a></k-filter-item>
|
|
123
126
|
<k-filter-item filter-keywords="spinner loading components"><a
|
|
124
127
|
href="../components/spinner.html">Spinner<br><small>Component</small></a></k-filter-item>
|
|
125
128
|
<k-filter-item filter-keywords="split pane components"><a
|
|
@@ -172,6 +175,9 @@
|
|
|
172
175
|
href="../components/tabs.html">Tabs<br><small>Component</small></a></k-filter-item>
|
|
173
176
|
<k-filter-item filter-keywords="tags tag input components"><a
|
|
174
177
|
href="../components/tags.html">Tags<br><small>Component</small></a></k-filter-item>
|
|
178
|
+
<k-filter-item filter-keywords="text to speech texttospeech tts speak voice synthesis components"><a
|
|
179
|
+
href="../components/text-to-speech.html"
|
|
180
|
+
>Text To Speech<br><small>Component</small></a></k-filter-item>
|
|
175
181
|
<k-filter-item filter-keywords="theme select dropdown dark light components"><a
|
|
176
182
|
href="../components/theme-select.html"
|
|
177
183
|
>Theme Select<br><small>Component</small></a></k-filter-item>
|
|
@@ -297,11 +303,13 @@
|
|
|
297
303
|
<a href="../components/show-more.html">Show More</a>
|
|
298
304
|
<a href="../components/slider.html">Slider</a>
|
|
299
305
|
<a href="../components/sortable.html">Sortable</a>
|
|
306
|
+
<a href="../components/speech-to-text.html">Speech To Text</a>
|
|
300
307
|
<a href="../components/spinner.html">Spinner</a>
|
|
301
308
|
<a href="../components/split.html">Split</a>
|
|
302
309
|
<a href="../components/table.html">Table</a>
|
|
303
310
|
<a href="../components/tabs.html">Tabs</a>
|
|
304
311
|
<a href="../components/tags.html">Tags</a>
|
|
312
|
+
<a href="../components/text-to-speech.html">Text To Speech</a>
|
|
305
313
|
<a href="../components/theme-select.html">Theme Select</a>
|
|
306
314
|
<a href="../components/theme-switcher.html">Theme Switcher</a>
|
|
307
315
|
<a href="../components/time.html">Time</a>
|