@corti/dictation-web 0.3.0-rc → 0.4.0-rc

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 (201) hide show
  1. package/README.md +9 -4
  2. package/dist/bundle.js +3098 -1630
  3. package/dist/components/audio-visualiser.d.ts +5 -3
  4. package/dist/components/audio-visualiser.js +38 -46
  5. package/dist/components/audio-visualiser.js.map +1 -1
  6. package/dist/components/corti-dictation.d.ts +122 -0
  7. package/dist/components/corti-dictation.js +234 -0
  8. package/dist/components/corti-dictation.js.map +1 -0
  9. package/dist/components/device-selector.d.ts +14 -0
  10. package/dist/components/device-selector.js +75 -0
  11. package/dist/components/device-selector.js.map +1 -0
  12. package/dist/components/language-selector.d.ts +15 -0
  13. package/dist/components/language-selector.js +74 -0
  14. package/dist/components/language-selector.js.map +1 -0
  15. package/dist/components/recording-button.d.ts +29 -0
  16. package/dist/components/recording-button.js +217 -0
  17. package/dist/components/recording-button.js.map +1 -0
  18. package/dist/components/settings-menu.d.ts +9 -15
  19. package/dist/components/settings-menu.js +48 -161
  20. package/dist/components/settings-menu.js.map +1 -1
  21. package/dist/constants.d.ts +8 -2
  22. package/dist/constants.js +38 -12
  23. package/dist/constants.js.map +1 -1
  24. package/dist/contexts/dictation-context.d.ts +99 -0
  25. package/dist/contexts/dictation-context.js +257 -0
  26. package/dist/contexts/dictation-context.js.map +1 -0
  27. package/dist/controllers/DictationController.d.ts +35 -0
  28. package/dist/controllers/DictationController.js +130 -0
  29. package/dist/controllers/DictationController.js.map +1 -0
  30. package/dist/controllers/MediaController.d.ts +31 -0
  31. package/dist/controllers/MediaController.js +99 -0
  32. package/dist/controllers/MediaController.js.map +1 -0
  33. package/dist/controllers/devices-controller.d.ts +26 -0
  34. package/dist/controllers/devices-controller.js +99 -0
  35. package/dist/controllers/devices-controller.js.map +1 -0
  36. package/dist/controllers/dictation-controller.d.ts +28 -0
  37. package/dist/controllers/dictation-controller.js +141 -0
  38. package/dist/controllers/dictation-controller.js.map +1 -0
  39. package/dist/controllers/languages-controller.d.ts +26 -0
  40. package/dist/controllers/languages-controller.js +83 -0
  41. package/dist/controllers/languages-controller.js.map +1 -0
  42. package/dist/controllers/media-controller.d.ts +24 -0
  43. package/dist/controllers/media-controller.js +115 -0
  44. package/dist/controllers/media-controller.js.map +1 -0
  45. package/dist/index.d.ts +9 -1
  46. package/dist/index.js +29 -3
  47. package/dist/index.js.map +1 -1
  48. package/dist/package.json +14 -0
  49. package/dist/src/components/audio-visualiser.d.ts +14 -0
  50. package/dist/src/components/audio-visualiser.js +57 -0
  51. package/dist/src/components/audio-visualiser.js.map +1 -0
  52. package/dist/src/components/corti-dictation.d.ts +123 -0
  53. package/dist/src/components/corti-dictation.js +224 -0
  54. package/dist/src/components/corti-dictation.js.map +1 -0
  55. package/dist/src/components/device-selector.d.ts +24 -0
  56. package/dist/src/components/device-selector.js +106 -0
  57. package/dist/src/components/device-selector.js.map +1 -0
  58. package/dist/src/components/language-selector.d.ts +24 -0
  59. package/dist/src/components/language-selector.js +100 -0
  60. package/dist/src/components/language-selector.js.map +1 -0
  61. package/dist/src/components/recording-button.d.ts +37 -0
  62. package/dist/src/components/recording-button.js +203 -0
  63. package/dist/src/components/recording-button.js.map +1 -0
  64. package/dist/src/components/settings-menu.d.ts +16 -0
  65. package/dist/src/components/settings-menu.js +80 -0
  66. package/dist/src/components/settings-menu.js.map +1 -0
  67. package/dist/src/constants.d.ts +4 -0
  68. package/dist/src/constants.js +37 -0
  69. package/dist/src/constants.js.map +1 -0
  70. package/dist/src/contexts/dictation-context.d.ts +97 -0
  71. package/dist/src/contexts/dictation-context.js +208 -0
  72. package/dist/src/contexts/dictation-context.js.map +1 -0
  73. package/dist/src/controllers/DictationController.d.ts +35 -0
  74. package/dist/src/controllers/DictationController.js +130 -0
  75. package/dist/src/controllers/DictationController.js.map +1 -0
  76. package/dist/src/controllers/MediaController.d.ts +31 -0
  77. package/dist/src/controllers/MediaController.js +99 -0
  78. package/dist/src/controllers/MediaController.js.map +1 -0
  79. package/dist/src/icons/icons.d.ts +17 -0
  80. package/dist/src/icons/icons.js +158 -0
  81. package/dist/src/icons/icons.js.map +1 -0
  82. package/dist/src/styles/ComponentStyles.d.ts +2 -0
  83. package/dist/src/styles/ComponentStyles.js +18 -0
  84. package/dist/src/styles/ComponentStyles.js.map +1 -0
  85. package/dist/src/styles/audio-visualiser.d.ts +2 -0
  86. package/dist/src/styles/audio-visualiser.js +33 -0
  87. package/dist/src/styles/audio-visualiser.js.map +1 -0
  88. package/dist/src/styles/buttons.d.ts +2 -0
  89. package/dist/src/styles/buttons.js +52 -0
  90. package/dist/src/styles/buttons.js.map +1 -0
  91. package/dist/src/styles/callout.d.ts +2 -0
  92. package/dist/src/styles/callout.js +23 -0
  93. package/dist/src/styles/callout.js.map +1 -0
  94. package/dist/src/styles/default-theme.d.ts +2 -0
  95. package/dist/src/styles/default-theme.js +50 -0
  96. package/dist/src/styles/default-theme.js.map +1 -0
  97. package/dist/src/styles/recording-button.d.ts +2 -0
  98. package/dist/src/styles/recording-button.js +8 -0
  99. package/dist/src/styles/recording-button.js.map +1 -0
  100. package/dist/src/styles/select.d.ts +2 -0
  101. package/dist/src/styles/select.js +36 -0
  102. package/dist/src/styles/select.js.map +1 -0
  103. package/dist/src/styles/settings-menu.d.ts +2 -0
  104. package/dist/src/styles/settings-menu.js +34 -0
  105. package/dist/src/styles/settings-menu.js.map +1 -0
  106. package/dist/src/types.d.ts +7 -0
  107. package/dist/src/types.js +2 -0
  108. package/dist/src/types.js.map +1 -0
  109. package/dist/src/utils/auth.d.ts +9 -0
  110. package/dist/src/utils/auth.js +21 -0
  111. package/dist/src/utils/auth.js.map +1 -0
  112. package/dist/src/utils/converters.d.ts +4 -0
  113. package/dist/src/utils/converters.js +8 -0
  114. package/dist/src/utils/converters.js.map +1 -0
  115. package/dist/src/utils/devices.d.ts +26 -0
  116. package/dist/src/utils/devices.js +53 -0
  117. package/dist/src/utils/devices.js.map +1 -0
  118. package/dist/src/utils/events.d.ts +44 -0
  119. package/dist/src/utils/events.js +88 -0
  120. package/dist/src/utils/events.js.map +1 -0
  121. package/dist/src/utils/languages.d.ts +7 -0
  122. package/dist/src/utils/languages.js +29 -0
  123. package/dist/src/utils/languages.js.map +1 -0
  124. package/dist/src/utils/media.d.ts +6 -0
  125. package/dist/src/utils/media.js +39 -0
  126. package/dist/src/utils/media.js.map +1 -0
  127. package/dist/src/utils/token.d.ts +13 -0
  128. package/dist/src/utils/token.js +60 -0
  129. package/dist/src/utils/token.js.map +1 -0
  130. package/dist/src/utils/validation.d.ts +1 -0
  131. package/dist/src/utils/validation.js +7 -0
  132. package/dist/src/utils/validation.js.map +1 -0
  133. package/dist/stories/audio-visualiser.stories.d.ts +39 -0
  134. package/dist/stories/audio-visualiser.stories.js +71 -0
  135. package/dist/stories/audio-visualiser.stories.js.map +1 -0
  136. package/dist/stories/corti-dictation.stories.d.ts +27 -0
  137. package/dist/stories/corti-dictation.stories.js +129 -0
  138. package/dist/stories/corti-dictation.stories.js.map +1 -0
  139. package/dist/stories/device-selector.stories.d.ts +18 -0
  140. package/dist/stories/device-selector.stories.js +84 -0
  141. package/dist/stories/device-selector.stories.js.map +1 -0
  142. package/dist/stories/language-selector.stories.d.ts +18 -0
  143. package/dist/stories/language-selector.stories.js +53 -0
  144. package/dist/stories/language-selector.stories.js.map +1 -0
  145. package/dist/stories/recording-button.stories.d.ts +27 -0
  146. package/dist/stories/recording-button.stories.js +90 -0
  147. package/dist/stories/recording-button.stories.js.map +1 -0
  148. package/dist/stories/settings-menu.stories.d.ts +23 -0
  149. package/dist/stories/settings-menu.stories.js +156 -0
  150. package/dist/stories/settings-menu.stories.js.map +1 -0
  151. package/dist/styles/ComponentStyles.js +5 -39
  152. package/dist/styles/ComponentStyles.js.map +1 -1
  153. package/dist/styles/audio-visualiser.d.ts +2 -0
  154. package/dist/styles/audio-visualiser.js +33 -0
  155. package/dist/styles/audio-visualiser.js.map +1 -0
  156. package/dist/styles/buttons.js +19 -26
  157. package/dist/styles/buttons.js.map +1 -1
  158. package/dist/styles/callout.js +7 -17
  159. package/dist/styles/callout.js.map +1 -1
  160. package/dist/styles/component-styles.d.ts +2 -0
  161. package/dist/styles/component-styles.js +22 -0
  162. package/dist/styles/component-styles.js.map +1 -0
  163. package/dist/styles/default-theme.d.ts +2 -0
  164. package/dist/styles/default-theme.js +14 -0
  165. package/dist/styles/default-theme.js.map +1 -0
  166. package/dist/styles/recording-button.d.ts +2 -0
  167. package/dist/styles/recording-button.js +8 -0
  168. package/dist/styles/recording-button.js.map +1 -0
  169. package/dist/styles/select.js +9 -9
  170. package/dist/styles/select.js.map +1 -1
  171. package/dist/styles/settings-menu.d.ts +2 -0
  172. package/dist/styles/settings-menu.js +34 -0
  173. package/dist/styles/settings-menu.js.map +1 -0
  174. package/dist/tsconfig.stories.tsbuildinfo +1 -0
  175. package/dist/types.d.ts +6 -8
  176. package/dist/types.js.map +1 -1
  177. package/dist/utils/auth.d.ts +9 -0
  178. package/dist/utils/auth.js +21 -0
  179. package/dist/utils/auth.js.map +1 -0
  180. package/dist/utils/converters.d.ts +4 -0
  181. package/dist/utils/converters.js +8 -0
  182. package/dist/utils/converters.js.map +1 -0
  183. package/dist/utils/devices.d.ts +26 -0
  184. package/dist/utils/devices.js +53 -0
  185. package/dist/utils/devices.js.map +1 -0
  186. package/dist/utils/events.d.ts +44 -0
  187. package/dist/utils/events.js +88 -0
  188. package/dist/utils/events.js.map +1 -0
  189. package/dist/utils/languages.d.ts +8 -0
  190. package/dist/utils/languages.js +29 -0
  191. package/dist/utils/languages.js.map +1 -0
  192. package/dist/utils/media.d.ts +6 -0
  193. package/dist/utils/media.js +39 -0
  194. package/dist/utils/media.js.map +1 -0
  195. package/dist/utils/token.d.ts +13 -0
  196. package/dist/utils/token.js +60 -0
  197. package/dist/utils/token.js.map +1 -0
  198. package/dist/utils/validation.d.ts +1 -0
  199. package/dist/utils/validation.js +7 -0
  200. package/dist/utils/validation.js.map +1 -0
  201. package/package.json +29 -55
@@ -0,0 +1,129 @@
1
+ import { action } from "@storybook/addon-actions";
2
+ import { html } from "lit";
3
+ import "../src/components/corti-dictation.js";
4
+ export default {
5
+ argTypes: {
6
+ accessToken: {
7
+ control: "text",
8
+ description: "Access token for authentication (required to render)",
9
+ },
10
+ },
11
+ component: "corti-dictation",
12
+ title: "CortiDictation",
13
+ };
14
+ export const DefaultValues = ({ accessToken }) => {
15
+ return html `
16
+ <corti-dictation
17
+ .accessToken=${accessToken}
18
+ @languages-changed=${action("languages-changed")}
19
+ @recording-devices-changed=${action("recording-devices-changed")}
20
+ @stream-closed=${action("stream-closed")}
21
+ @usage=${action("usage")}
22
+ @transcript=${action("transcript")}
23
+ @command=${action("command")}
24
+ @ready=${action("ready")}
25
+ @audio-level-changed=${action("audio-level-changed")}
26
+ @recording-state-changed=${action("recording-state-changed")}
27
+ @network-activity=${action("network-activity")}
28
+ @error=${action("error")}
29
+ ></corti-dictation>
30
+ `;
31
+ };
32
+ export const OnlyLanguageSettings = ({ accessToken, }) => {
33
+ return html `
34
+ <corti-dictation
35
+ .accessToken=${accessToken}
36
+ settingsEnabled="language"
37
+ @languages-changed=${action("languages-changed")}
38
+ @recording-devices-changed=${action("recording-devices-changed")}
39
+ @stream-closed=${action("stream-closed")}
40
+ @usage=${action("usage")}
41
+ @transcript=${action("transcript")}
42
+ @command=${action("command")}
43
+ @ready=${action("ready")}
44
+ @audio-level-changed=${action("audio-level-changed")}
45
+ @recording-state-changed=${action("recording-state-changed")}
46
+ @network-activity=${action("network-activity")}
47
+ @error=${action("error")}
48
+ ></corti-dictation>
49
+ `;
50
+ };
51
+ export const OnlyDeviceSettings = ({ accessToken, }) => {
52
+ return html `
53
+ <corti-dictation
54
+ .accessToken=${accessToken}
55
+ .settingsEnabled=${["device"]}
56
+ @languages-changed=${action("languages-changed")}
57
+ @recording-devices-changed=${action("recording-devices-changed")}
58
+ @stream-closed=${action("stream-closed")}
59
+ @usage=${action("usage")}
60
+ @transcript=${action("transcript")}
61
+ @command=${action("command")}
62
+ @ready=${action("ready")}
63
+ @audio-level-changed=${action("audio-level-changed")}
64
+ @recording-state-changed=${action("recording-state-changed")}
65
+ @network-activity=${action("network-activity")}
66
+ @error=${action("error")}
67
+ ></corti-dictation>
68
+ `;
69
+ };
70
+ export const NoSettings = ({ accessToken }) => {
71
+ return html `
72
+ <corti-dictation
73
+ .accessToken=${accessToken}
74
+ .settingsEnabled=${[]}
75
+ @languages-changed=${action("languages-changed")}
76
+ @recording-devices-changed=${action("recording-devices-changed")}
77
+ @stream-closed=${action("stream-closed")}
78
+ @usage=${action("usage")}
79
+ @transcript=${action("transcript")}
80
+ @command=${action("command")}
81
+ @ready=${action("ready")}
82
+ @audio-level-changed=${action("audio-level-changed")}
83
+ @recording-state-changed=${action("recording-state-changed")}
84
+ @network-activity=${action("network-activity")}
85
+ @error=${action("error")}
86
+ ></corti-dictation>
87
+ `;
88
+ };
89
+ export const WithCustomLanguages = ({ accessToken, }) => {
90
+ return html `
91
+ <corti-dictation
92
+ .accessToken=${accessToken}
93
+ .languagesSupported=${["en", "es", "fr", "de"]}
94
+ settingsEnabled="language"
95
+ @languages-changed=${action("languages-changed")}
96
+ @recording-devices-changed=${action("recording-devices-changed")}
97
+ @stream-closed=${action("stream-closed")}
98
+ @usage=${action("usage")}
99
+ @transcript=${action("transcript")}
100
+ @command=${action("command")}
101
+ @ready=${action("ready")}
102
+ @audio-level-changed=${action("audio-level-changed")}
103
+ @recording-state-changed=${action("recording-state-changed")}
104
+ @network-activity=${action("network-activity")}
105
+ @error=${action("error")}
106
+ ></corti-dictation>
107
+ `;
108
+ };
109
+ export const WithLanguagesAttribute = ({ accessToken, }) => {
110
+ return html `
111
+ <corti-dictation
112
+ .accessToken=${accessToken}
113
+ languagesSupported="en,da,es,fr"
114
+ settingsEnabled="language"
115
+ @languages-changed=${action("languages-changed")}
116
+ @recording-devices-changed=${action("recording-devices-changed")}
117
+ @stream-closed=${action("stream-closed")}
118
+ @usage=${action("usage")}
119
+ @transcript=${action("transcript")}
120
+ @command=${action("command")}
121
+ @ready=${action("ready")}
122
+ @audio-level-changed=${action("audio-level-changed")}
123
+ @recording-state-changed=${action("recording-state-changed")}
124
+ @network-activity=${action("network-activity")}
125
+ @error=${action("error")}
126
+ ></corti-dictation>
127
+ `;
128
+ };
129
+ //# sourceMappingURL=corti-dictation.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"corti-dictation.stories.js","sourceRoot":"","sources":["../../stories/corti-dictation.stories.ts"],"names":[],"mappings":"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","sourcesContent":["import { action } from \"@storybook/addon-actions\";\nimport { html, type TemplateResult } from \"lit\";\n\nimport \"../src/components/corti-dictation.js\";\n\nexport default {\n argTypes: {\n accessToken: {\n control: \"text\",\n description: \"Access token for authentication (required to render)\",\n },\n },\n component: \"corti-dictation\",\n title: \"CortiDictation\",\n};\n\ninterface Story<T> {\n (args: T): TemplateResult;\n args?: Partial<T>;\n argTypes?: Record<string, unknown>;\n}\n\ninterface StoryArgs {\n accessToken?: string;\n}\n\nexport const DefaultValues: Story<StoryArgs> = ({ accessToken }: StoryArgs) => {\n return html`\n <corti-dictation\n .accessToken=${accessToken}\n @languages-changed=${action(\"languages-changed\")}\n @recording-devices-changed=${action(\"recording-devices-changed\")}\n @stream-closed=${action(\"stream-closed\")}\n @usage=${action(\"usage\")}\n @transcript=${action(\"transcript\")}\n @command=${action(\"command\")}\n @ready=${action(\"ready\")}\n @audio-level-changed=${action(\"audio-level-changed\")}\n @recording-state-changed=${action(\"recording-state-changed\")}\n @network-activity=${action(\"network-activity\")}\n @error=${action(\"error\")}\n ></corti-dictation>\n `;\n};\n\nexport const OnlyLanguageSettings: Story<StoryArgs> = ({\n accessToken,\n}: StoryArgs) => {\n return html`\n <corti-dictation\n .accessToken=${accessToken}\n settingsEnabled=\"language\"\n @languages-changed=${action(\"languages-changed\")}\n @recording-devices-changed=${action(\"recording-devices-changed\")}\n @stream-closed=${action(\"stream-closed\")}\n @usage=${action(\"usage\")}\n @transcript=${action(\"transcript\")}\n @command=${action(\"command\")}\n @ready=${action(\"ready\")}\n @audio-level-changed=${action(\"audio-level-changed\")}\n @recording-state-changed=${action(\"recording-state-changed\")}\n @network-activity=${action(\"network-activity\")}\n @error=${action(\"error\")}\n ></corti-dictation>\n `;\n};\n\nexport const OnlyDeviceSettings: Story<StoryArgs> = ({\n accessToken,\n}: StoryArgs) => {\n return html`\n <corti-dictation\n .accessToken=${accessToken}\n .settingsEnabled=${[\"device\"]}\n @languages-changed=${action(\"languages-changed\")}\n @recording-devices-changed=${action(\"recording-devices-changed\")}\n @stream-closed=${action(\"stream-closed\")}\n @usage=${action(\"usage\")}\n @transcript=${action(\"transcript\")}\n @command=${action(\"command\")}\n @ready=${action(\"ready\")}\n @audio-level-changed=${action(\"audio-level-changed\")}\n @recording-state-changed=${action(\"recording-state-changed\")}\n @network-activity=${action(\"network-activity\")}\n @error=${action(\"error\")}\n ></corti-dictation>\n `;\n};\n\nexport const NoSettings: Story<StoryArgs> = ({ accessToken }: StoryArgs) => {\n return html`\n <corti-dictation\n .accessToken=${accessToken}\n .settingsEnabled=${[]}\n @languages-changed=${action(\"languages-changed\")}\n @recording-devices-changed=${action(\"recording-devices-changed\")}\n @stream-closed=${action(\"stream-closed\")}\n @usage=${action(\"usage\")}\n @transcript=${action(\"transcript\")}\n @command=${action(\"command\")}\n @ready=${action(\"ready\")}\n @audio-level-changed=${action(\"audio-level-changed\")}\n @recording-state-changed=${action(\"recording-state-changed\")}\n @network-activity=${action(\"network-activity\")}\n @error=${action(\"error\")}\n ></corti-dictation>\n `;\n};\n\nexport const WithCustomLanguages: Story<StoryArgs> = ({\n accessToken,\n}: StoryArgs) => {\n return html`\n <corti-dictation\n .accessToken=${accessToken}\n .languagesSupported=${[\"en\", \"es\", \"fr\", \"de\"]}\n settingsEnabled=\"language\"\n @languages-changed=${action(\"languages-changed\")}\n @recording-devices-changed=${action(\"recording-devices-changed\")}\n @stream-closed=${action(\"stream-closed\")}\n @usage=${action(\"usage\")}\n @transcript=${action(\"transcript\")}\n @command=${action(\"command\")}\n @ready=${action(\"ready\")}\n @audio-level-changed=${action(\"audio-level-changed\")}\n @recording-state-changed=${action(\"recording-state-changed\")}\n @network-activity=${action(\"network-activity\")}\n @error=${action(\"error\")}\n ></corti-dictation>\n `;\n};\n\nexport const WithLanguagesAttribute: Story<StoryArgs> = ({\n accessToken,\n}: StoryArgs) => {\n return html`\n <corti-dictation\n .accessToken=${accessToken}\n languagesSupported=\"en,da,es,fr\"\n settingsEnabled=\"language\"\n @languages-changed=${action(\"languages-changed\")}\n @recording-devices-changed=${action(\"recording-devices-changed\")}\n @stream-closed=${action(\"stream-closed\")}\n @usage=${action(\"usage\")}\n @transcript=${action(\"transcript\")}\n @command=${action(\"command\")}\n @ready=${action(\"ready\")}\n @audio-level-changed=${action(\"audio-level-changed\")}\n @recording-state-changed=${action(\"recording-state-changed\")}\n @network-activity=${action(\"network-activity\")}\n @error=${action(\"error\")}\n ></corti-dictation>\n `;\n};\n"]}
@@ -0,0 +1,18 @@
1
+ import { type TemplateResult } from "lit";
2
+ import "../src/components/device-selector.js";
3
+ import "../src/contexts/dictation-context.js";
4
+ declare const _default: {
5
+ component: string;
6
+ title: string;
7
+ };
8
+ export default _default;
9
+ interface Story<T> {
10
+ (args: T): TemplateResult;
11
+ args?: Partial<T>;
12
+ argTypes?: Record<string, unknown>;
13
+ }
14
+ type StoryArgs = Record<string, never>;
15
+ export declare const DefaultValues: Story<StoryArgs>;
16
+ export declare const WithSelectedDevice: Story<StoryArgs>;
17
+ export declare const WithCustomDevices: Story<StoryArgs>;
18
+ export declare const Disabled: Story<StoryArgs>;
@@ -0,0 +1,84 @@
1
+ import { action } from "@storybook/addon-actions";
2
+ import { html } from "lit";
3
+ import "../src/components/device-selector.js";
4
+ import "../src/contexts/dictation-context.js";
5
+ export default {
6
+ component: "device-selector",
7
+ title: "DeviceSelector",
8
+ };
9
+ export const DefaultValues = () => {
10
+ return html `
11
+ <dictation-context-provider ?noWrapper=${true}>
12
+ <device-selector
13
+ @recording-devices-changed=${action("recording-devices-changed")}
14
+ @ready=${action("ready")}
15
+ @error=${action("error")}
16
+ ></device-selector>
17
+ </dictation-context-provider>
18
+ `;
19
+ };
20
+ export const WithSelectedDevice = () => {
21
+ const mockDevice = {
22
+ deviceId: "mock-device-1",
23
+ groupId: "group1",
24
+ kind: "audioinput",
25
+ label: "Mock Microphone",
26
+ toJSON: () => ({}),
27
+ };
28
+ return html `
29
+ <dictation-context-provider .selectedDevice=${mockDevice} ?noWrapper=${true}>
30
+ <device-selector
31
+ @recording-devices-changed=${action("recording-devices-changed")}
32
+ @ready=${action("ready")}
33
+ @error=${action("error")}
34
+ ></device-selector>
35
+ </dictation-context-provider>
36
+ `;
37
+ };
38
+ export const WithCustomDevices = () => {
39
+ const customDevices = [
40
+ {
41
+ deviceId: "device1",
42
+ groupId: "group1",
43
+ kind: "audioinput",
44
+ label: "Custom Microphone 1",
45
+ toJSON: () => ({}),
46
+ },
47
+ {
48
+ deviceId: "device2",
49
+ groupId: "group1",
50
+ kind: "audioinput",
51
+ label: "Custom Microphone 2",
52
+ toJSON: () => ({}),
53
+ },
54
+ {
55
+ deviceId: "device3",
56
+ groupId: "group1",
57
+ kind: "audioinput",
58
+ label: "Custom Microphone 3",
59
+ toJSON: () => ({}),
60
+ },
61
+ ];
62
+ return html `
63
+ <dictation-context-provider .devices=${customDevices} ?noWrapper=${true}>
64
+ <device-selector
65
+ @recording-devices-changed=${action("recording-devices-changed")}
66
+ @ready=${action("ready")}
67
+ @error=${action("error")}
68
+ ></device-selector>
69
+ </dictation-context-provider>
70
+ `;
71
+ };
72
+ export const Disabled = () => {
73
+ return html `
74
+ <dictation-context-provider ?noWrapper=${true}>
75
+ <device-selector
76
+ disabled
77
+ @recording-devices-changed=${action("recording-devices-changed")}
78
+ @ready=${action("ready")}
79
+ @error=${action("error")}
80
+ ></device-selector>
81
+ </dictation-context-provider>
82
+ `;
83
+ };
84
+ //# sourceMappingURL=device-selector.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device-selector.stories.js","sourceRoot":"","sources":["../../stories/device-selector.stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,IAAI,EAAuB,MAAM,KAAK,CAAC;AAChD,OAAO,sCAAsC,CAAC;AAC9C,OAAO,sCAAsC,CAAC;AAE9C,eAAe;IACb,SAAS,EAAE,iBAAiB;IAC5B,KAAK,EAAE,gBAAgB;CACxB,CAAC;AAUF,MAAM,CAAC,MAAM,aAAa,GAAqB,GAAG,EAAE;IAClD,OAAO,IAAI,CAAA;6CACgC,IAAI;;qCAEZ,MAAM,CAAC,2BAA2B,CAAC;iBACvD,MAAM,CAAC,OAAO,CAAC;iBACf,MAAM,CAAC,OAAO,CAAC;;;GAG7B,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAqB,GAAG,EAAE;IACvD,MAAM,UAAU,GAAoB;QAClC,QAAQ,EAAE,eAAe;QACzB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,iBAAiB;QACxB,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;KACnB,CAAC;IAEF,OAAO,IAAI,CAAA;kDACqC,UAAU,eAAe,IAAI;;qCAE1C,MAAM,CAAC,2BAA2B,CAAC;iBACvD,MAAM,CAAC,OAAO,CAAC;iBACf,MAAM,CAAC,OAAO,CAAC;;;GAG7B,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAqB,GAAG,EAAE;IACtD,MAAM,aAAa,GAAsB;QACvC;YACE,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,QAAQ;YACjB,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,qBAAqB;YAC5B,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;SACnB;QACD;YACE,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,QAAQ;YACjB,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,qBAAqB;YAC5B,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;SACnB;QACD;YACE,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,QAAQ;YACjB,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,qBAAqB;YAC5B,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;SACnB;KACF,CAAC;IAEF,OAAO,IAAI,CAAA;2CAC8B,aAAa,eAAe,IAAI;;qCAEtC,MAAM,CAAC,2BAA2B,CAAC;iBACvD,MAAM,CAAC,OAAO,CAAC;iBACf,MAAM,CAAC,OAAO,CAAC;;;GAG7B,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAqB,GAAG,EAAE;IAC7C,OAAO,IAAI,CAAA;6CACgC,IAAI;;;qCAGZ,MAAM,CAAC,2BAA2B,CAAC;iBACvD,MAAM,CAAC,OAAO,CAAC;iBACf,MAAM,CAAC,OAAO,CAAC;;;GAG7B,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { action } from \"@storybook/addon-actions\";\nimport { html, type TemplateResult } from \"lit\";\nimport \"../src/components/device-selector.js\";\nimport \"../src/contexts/dictation-context.js\";\n\nexport default {\n component: \"device-selector\",\n title: \"DeviceSelector\",\n};\n\ninterface Story<T> {\n (args: T): TemplateResult;\n args?: Partial<T>;\n argTypes?: Record<string, unknown>;\n}\n\ntype StoryArgs = Record<string, never>;\n\nexport const DefaultValues: Story<StoryArgs> = () => {\n return html`\n <dictation-context-provider ?noWrapper=${true}>\n <device-selector\n @recording-devices-changed=${action(\"recording-devices-changed\")}\n @ready=${action(\"ready\")}\n @error=${action(\"error\")}\n ></device-selector>\n </dictation-context-provider>\n `;\n};\n\nexport const WithSelectedDevice: Story<StoryArgs> = () => {\n const mockDevice: MediaDeviceInfo = {\n deviceId: \"mock-device-1\",\n groupId: \"group1\",\n kind: \"audioinput\",\n label: \"Mock Microphone\",\n toJSON: () => ({}),\n };\n\n return html`\n <dictation-context-provider .selectedDevice=${mockDevice} ?noWrapper=${true}>\n <device-selector\n @recording-devices-changed=${action(\"recording-devices-changed\")}\n @ready=${action(\"ready\")}\n @error=${action(\"error\")}\n ></device-selector>\n </dictation-context-provider>\n `;\n};\n\nexport const WithCustomDevices: Story<StoryArgs> = () => {\n const customDevices: MediaDeviceInfo[] = [\n {\n deviceId: \"device1\",\n groupId: \"group1\",\n kind: \"audioinput\",\n label: \"Custom Microphone 1\",\n toJSON: () => ({}),\n },\n {\n deviceId: \"device2\",\n groupId: \"group1\",\n kind: \"audioinput\",\n label: \"Custom Microphone 2\",\n toJSON: () => ({}),\n },\n {\n deviceId: \"device3\",\n groupId: \"group1\",\n kind: \"audioinput\",\n label: \"Custom Microphone 3\",\n toJSON: () => ({}),\n },\n ];\n\n return html`\n <dictation-context-provider .devices=${customDevices} ?noWrapper=${true}>\n <device-selector\n @recording-devices-changed=${action(\"recording-devices-changed\")}\n @ready=${action(\"ready\")}\n @error=${action(\"error\")}\n ></device-selector>\n </dictation-context-provider>\n `;\n};\n\nexport const Disabled: Story<StoryArgs> = () => {\n return html`\n <dictation-context-provider ?noWrapper=${true}>\n <device-selector\n disabled\n @recording-devices-changed=${action(\"recording-devices-changed\")}\n @ready=${action(\"ready\")}\n @error=${action(\"error\")}\n ></device-selector>\n </dictation-context-provider>\n `;\n};\n"]}
@@ -0,0 +1,18 @@
1
+ import { type TemplateResult } from "lit";
2
+ import "../src/components/language-selector.js";
3
+ import "../src/contexts/dictation-context.js";
4
+ declare const _default: {
5
+ component: string;
6
+ title: string;
7
+ };
8
+ export default _default;
9
+ interface Story<T> {
10
+ (args: T): TemplateResult;
11
+ args?: Partial<T>;
12
+ argTypes?: Record<string, unknown>;
13
+ }
14
+ type StoryArgs = Record<string, never>;
15
+ export declare const DefaultValues: Story<StoryArgs>;
16
+ export declare const WithCustomLanguages: Story<StoryArgs>;
17
+ export declare const WithLanguagesAttribute: Story<StoryArgs>;
18
+ export declare const Disabled: Story<StoryArgs>;
@@ -0,0 +1,53 @@
1
+ import { action } from "@storybook/addon-actions";
2
+ import { html } from "lit";
3
+ import "../src/components/language-selector.js";
4
+ import "../src/contexts/dictation-context.js";
5
+ export default {
6
+ component: "language-selector",
7
+ title: "LanguageSelector",
8
+ };
9
+ export const DefaultValues = () => {
10
+ return html `
11
+ <dictation-context-provider ?noWrapper=${true}>
12
+ <language-selector
13
+ @languages-changed=${action("languages-changed")}
14
+ @error=${action("error")}
15
+ ></language-selector>
16
+ </dictation-context-provider>
17
+ `;
18
+ };
19
+ export const WithCustomLanguages = () => {
20
+ return html `
21
+ <dictation-context-provider
22
+ .languages=${["en", "es", "fr", "de", "it"]}
23
+ ?noWrapper=${true}
24
+ >
25
+ <language-selector
26
+ @languages-changed=${action("languages-changed")}
27
+ @error=${action("error")}
28
+ ></language-selector>
29
+ </dictation-context-provider>
30
+ `;
31
+ };
32
+ export const WithLanguagesAttribute = () => {
33
+ return html `
34
+ <dictation-context-provider languages="en,da,es,fr" ?noWrapper=${true}>
35
+ <language-selector
36
+ @languages-changed=${action("languages-changed")}
37
+ @error=${action("error")}
38
+ ></language-selector>
39
+ </dictation-context-provider>
40
+ `;
41
+ };
42
+ export const Disabled = () => {
43
+ return html `
44
+ <dictation-context-provider ?noWrapper=${true}>
45
+ <language-selector
46
+ disabled
47
+ @languages-changed=${action("languages-changed")}
48
+ @error=${action("error")}
49
+ ></language-selector>
50
+ </dictation-context-provider>
51
+ `;
52
+ };
53
+ //# sourceMappingURL=language-selector.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"language-selector.stories.js","sourceRoot":"","sources":["../../stories/language-selector.stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,IAAI,EAAuB,MAAM,KAAK,CAAC;AAEhD,OAAO,wCAAwC,CAAC;AAChD,OAAO,sCAAsC,CAAC;AAE9C,eAAe;IACb,SAAS,EAAE,mBAAmB;IAC9B,KAAK,EAAE,kBAAkB;CAC1B,CAAC;AAUF,MAAM,CAAC,MAAM,aAAa,GAAqB,GAAG,EAAE;IAClD,OAAO,IAAI,CAAA;6CACgC,IAAI;;6BAEpB,MAAM,CAAC,mBAAmB,CAAC;iBACvC,MAAM,CAAC,OAAO,CAAC;;;GAG7B,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAqB,GAAG,EAAE;IACxD,OAAO,IAAI,CAAA;;mBAEM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;mBAC9B,IAAI;;;6BAGM,MAAM,CAAC,mBAAmB,CAAC;iBACvC,MAAM,CAAC,OAAO,CAAC;;;GAG7B,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAqB,GAAG,EAAE;IAC3D,OAAO,IAAI,CAAA;qEACwD,IAAI;;6BAE5C,MAAM,CAAC,mBAAmB,CAAC;iBACvC,MAAM,CAAC,OAAO,CAAC;;;GAG7B,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAqB,GAAG,EAAE;IAC7C,OAAO,IAAI,CAAA;6CACgC,IAAI;;;6BAGpB,MAAM,CAAC,mBAAmB,CAAC;iBACvC,MAAM,CAAC,OAAO,CAAC;;;GAG7B,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { action } from \"@storybook/addon-actions\";\nimport { html, type TemplateResult } from \"lit\";\n\nimport \"../src/components/language-selector.js\";\nimport \"../src/contexts/dictation-context.js\";\n\nexport default {\n component: \"language-selector\",\n title: \"LanguageSelector\",\n};\n\ninterface Story<T> {\n (args: T): TemplateResult;\n args?: Partial<T>;\n argTypes?: Record<string, unknown>;\n}\n\ntype StoryArgs = Record<string, never>;\n\nexport const DefaultValues: Story<StoryArgs> = () => {\n return html`\n <dictation-context-provider ?noWrapper=${true}>\n <language-selector\n @languages-changed=${action(\"languages-changed\")}\n @error=${action(\"error\")}\n ></language-selector>\n </dictation-context-provider>\n `;\n};\n\nexport const WithCustomLanguages: Story<StoryArgs> = () => {\n return html`\n <dictation-context-provider\n .languages=${[\"en\", \"es\", \"fr\", \"de\", \"it\"]}\n ?noWrapper=${true}\n >\n <language-selector\n @languages-changed=${action(\"languages-changed\")}\n @error=${action(\"error\")}\n ></language-selector>\n </dictation-context-provider>\n `;\n};\n\nexport const WithLanguagesAttribute: Story<StoryArgs> = () => {\n return html`\n <dictation-context-provider languages=\"en,da,es,fr\" ?noWrapper=${true}>\n <language-selector\n @languages-changed=${action(\"languages-changed\")}\n @error=${action(\"error\")}\n ></language-selector>\n </dictation-context-provider>\n `;\n};\n\nexport const Disabled: Story<StoryArgs> = () => {\n return html`\n <dictation-context-provider ?noWrapper=${true}>\n <language-selector\n disabled\n @languages-changed=${action(\"languages-changed\")}\n @error=${action(\"error\")}\n ></language-selector>\n </dictation-context-provider>\n `;\n};\n"]}
@@ -0,0 +1,27 @@
1
+ import { type TemplateResult } from "lit";
2
+ import "../src/components/recording-button.js";
3
+ import "../src/contexts/dictation-context.js";
4
+ declare const _default: {
5
+ argTypes: {
6
+ preventFocus: {
7
+ control: string;
8
+ description: string;
9
+ };
10
+ };
11
+ component: string;
12
+ title: string;
13
+ };
14
+ export default _default;
15
+ interface Story<T> {
16
+ (args: T): TemplateResult;
17
+ args?: Partial<T>;
18
+ argTypes?: Record<string, unknown>;
19
+ }
20
+ interface StoryArgs {
21
+ preventFocus?: boolean;
22
+ }
23
+ export declare const Stopped: Story<StoryArgs>;
24
+ export declare const Recording: Story<StoryArgs>;
25
+ export declare const Initializing: Story<StoryArgs>;
26
+ export declare const Stopping: Story<StoryArgs>;
27
+ export declare const PreventFocusDisabled: Story<StoryArgs>;
@@ -0,0 +1,90 @@
1
+ import { action } from "@storybook/addon-actions";
2
+ import { html } from "lit";
3
+ import "../src/components/recording-button.js";
4
+ import "../src/contexts/dictation-context.js";
5
+ export default {
6
+ argTypes: {
7
+ preventFocus: {
8
+ control: "boolean",
9
+ description: "Prevent button from taking focus on click",
10
+ },
11
+ },
12
+ component: "recording-button",
13
+ title: "RecordingButton",
14
+ };
15
+ export const Stopped = ({ preventFocus }) => {
16
+ return html `
17
+ <dictation-context-provider ?noWrapper=${true}>
18
+ <recording-button
19
+ ?preventFocus=${preventFocus}
20
+ @recording-state-changed=${action("recording-state-changed")}
21
+ @network-activity=${action("network-activity")}
22
+ @error=${action("error")}
23
+ ></recording-button>
24
+ </dictation-context-provider>
25
+ `;
26
+ };
27
+ Stopped.args = {
28
+ preventFocus: true,
29
+ };
30
+ export const Recording = ({ preventFocus }) => {
31
+ return html `
32
+ <dictation-context-provider ?noWrapper=${true} recordingState="recording">
33
+ <recording-button
34
+ ?preventFocus=${preventFocus}
35
+ @recording-state-changed=${action("recording-state-changed")}
36
+ @network-activity=${action("network-activity")}
37
+ @error=${action("error")}
38
+ ></recording-button>
39
+ </dictation-context-provider>
40
+ `;
41
+ };
42
+ Recording.args = {
43
+ preventFocus: true,
44
+ };
45
+ export const Initializing = ({ preventFocus }) => {
46
+ return html `
47
+ <dictation-context-provider ?noWrapper=${true} recordingState="initializing">
48
+ <recording-button
49
+ ?preventFocus=${preventFocus}
50
+ @recording-state-changed=${action("recording-state-changed")}
51
+ @network-activity=${action("network-activity")}
52
+ @error=${action("error")}
53
+ ></recording-button>
54
+ </dictation-context-provider>
55
+ `;
56
+ };
57
+ Initializing.args = {
58
+ preventFocus: true,
59
+ };
60
+ export const Stopping = ({ preventFocus }) => {
61
+ return html `
62
+ <dictation-context-provider ?noWrapper=${true} recordingState="stopping">
63
+ <recording-button
64
+ ?preventFocus=${preventFocus}
65
+ @recording-state-changed=${action("recording-state-changed")}
66
+ @network-activity=${action("network-activity")}
67
+ @error=${action("error")}
68
+ ></recording-button>
69
+ </dictation-context-provider>
70
+ `;
71
+ };
72
+ Stopping.args = {
73
+ preventFocus: true,
74
+ };
75
+ export const PreventFocusDisabled = ({ preventFocus, }) => {
76
+ return html `
77
+ <dictation-context-provider ?noWrapper=${true}>
78
+ <recording-button
79
+ ?preventFocus=${preventFocus}
80
+ @recording-state-changed=${action("recording-state-changed")}
81
+ @network-activity=${action("network-activity")}
82
+ @error=${action("error")}
83
+ ></recording-button>
84
+ </dictation-context-provider>
85
+ `;
86
+ };
87
+ PreventFocusDisabled.args = {
88
+ preventFocus: false,
89
+ };
90
+ //# sourceMappingURL=recording-button.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recording-button.stories.js","sourceRoot":"","sources":["../../stories/recording-button.stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,IAAI,EAAuB,MAAM,KAAK,CAAC;AAEhD,OAAO,uCAAuC,CAAC;AAC/C,OAAO,sCAAsC,CAAC;AAE9C,eAAe;IACb,QAAQ,EAAE;QACR,YAAY,EAAE;YACZ,OAAO,EAAE,SAAS;YAClB,WAAW,EAAE,2CAA2C;SACzD;KACF;IACD,SAAS,EAAE,kBAAkB;IAC7B,KAAK,EAAE,iBAAiB;CACzB,CAAC;AAYF,MAAM,CAAC,MAAM,OAAO,GAAqB,CAAC,EAAE,YAAY,EAAa,EAAE,EAAE;IACvE,OAAO,IAAI,CAAA;6CACgC,IAAI;;wBAEzB,YAAY;mCACD,MAAM,CAAC,yBAAyB,CAAC;4BACxC,MAAM,CAAC,kBAAkB,CAAC;iBACrC,MAAM,CAAC,OAAO,CAAC;;;GAG7B,CAAC;AACJ,CAAC,CAAC;AACF,OAAO,CAAC,IAAI,GAAG;IACb,YAAY,EAAE,IAAI;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAqB,CAAC,EAAE,YAAY,EAAa,EAAE,EAAE;IACzE,OAAO,IAAI,CAAA;6CACgC,IAAI;;wBAEzB,YAAY;mCACD,MAAM,CAAC,yBAAyB,CAAC;4BACxC,MAAM,CAAC,kBAAkB,CAAC;iBACrC,MAAM,CAAC,OAAO,CAAC;;;GAG7B,CAAC;AACJ,CAAC,CAAC;AACF,SAAS,CAAC,IAAI,GAAG;IACf,YAAY,EAAE,IAAI;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAqB,CAAC,EAAE,YAAY,EAAa,EAAE,EAAE;IAC5E,OAAO,IAAI,CAAA;6CACgC,IAAI;;wBAEzB,YAAY;mCACD,MAAM,CAAC,yBAAyB,CAAC;4BACxC,MAAM,CAAC,kBAAkB,CAAC;iBACrC,MAAM,CAAC,OAAO,CAAC;;;GAG7B,CAAC;AACJ,CAAC,CAAC;AACF,YAAY,CAAC,IAAI,GAAG;IAClB,YAAY,EAAE,IAAI;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAqB,CAAC,EAAE,YAAY,EAAa,EAAE,EAAE;IACxE,OAAO,IAAI,CAAA;6CACgC,IAAI;;wBAEzB,YAAY;mCACD,MAAM,CAAC,yBAAyB,CAAC;4BACxC,MAAM,CAAC,kBAAkB,CAAC;iBACrC,MAAM,CAAC,OAAO,CAAC;;;GAG7B,CAAC;AACJ,CAAC,CAAC;AACF,QAAQ,CAAC,IAAI,GAAG;IACd,YAAY,EAAE,IAAI;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAqB,CAAC,EACrD,YAAY,GACF,EAAE,EAAE;IACd,OAAO,IAAI,CAAA;6CACgC,IAAI;;wBAEzB,YAAY;mCACD,MAAM,CAAC,yBAAyB,CAAC;4BACxC,MAAM,CAAC,kBAAkB,CAAC;iBACrC,MAAM,CAAC,OAAO,CAAC;;;GAG7B,CAAC;AACJ,CAAC,CAAC;AACF,oBAAoB,CAAC,IAAI,GAAG;IAC1B,YAAY,EAAE,KAAK;CACpB,CAAC","sourcesContent":["import { action } from \"@storybook/addon-actions\";\nimport { html, type TemplateResult } from \"lit\";\n\nimport \"../src/components/recording-button.js\";\nimport \"../src/contexts/dictation-context.js\";\n\nexport default {\n argTypes: {\n preventFocus: {\n control: \"boolean\",\n description: \"Prevent button from taking focus on click\",\n },\n },\n component: \"recording-button\",\n title: \"RecordingButton\",\n};\n\ninterface Story<T> {\n (args: T): TemplateResult;\n args?: Partial<T>;\n argTypes?: Record<string, unknown>;\n}\n\ninterface StoryArgs {\n preventFocus?: boolean;\n}\n\nexport const Stopped: Story<StoryArgs> = ({ preventFocus }: StoryArgs) => {\n return html`\n <dictation-context-provider ?noWrapper=${true}>\n <recording-button\n ?preventFocus=${preventFocus}\n @recording-state-changed=${action(\"recording-state-changed\")}\n @network-activity=${action(\"network-activity\")}\n @error=${action(\"error\")}\n ></recording-button>\n </dictation-context-provider>\n `;\n};\nStopped.args = {\n preventFocus: true,\n};\n\nexport const Recording: Story<StoryArgs> = ({ preventFocus }: StoryArgs) => {\n return html`\n <dictation-context-provider ?noWrapper=${true} recordingState=\"recording\">\n <recording-button\n ?preventFocus=${preventFocus}\n @recording-state-changed=${action(\"recording-state-changed\")}\n @network-activity=${action(\"network-activity\")}\n @error=${action(\"error\")}\n ></recording-button>\n </dictation-context-provider>\n `;\n};\nRecording.args = {\n preventFocus: true,\n};\n\nexport const Initializing: Story<StoryArgs> = ({ preventFocus }: StoryArgs) => {\n return html`\n <dictation-context-provider ?noWrapper=${true} recordingState=\"initializing\">\n <recording-button\n ?preventFocus=${preventFocus}\n @recording-state-changed=${action(\"recording-state-changed\")}\n @network-activity=${action(\"network-activity\")}\n @error=${action(\"error\")}\n ></recording-button>\n </dictation-context-provider>\n `;\n};\nInitializing.args = {\n preventFocus: true,\n};\n\nexport const Stopping: Story<StoryArgs> = ({ preventFocus }: StoryArgs) => {\n return html`\n <dictation-context-provider ?noWrapper=${true} recordingState=\"stopping\">\n <recording-button\n ?preventFocus=${preventFocus}\n @recording-state-changed=${action(\"recording-state-changed\")}\n @network-activity=${action(\"network-activity\")}\n @error=${action(\"error\")}\n ></recording-button>\n </dictation-context-provider>\n `;\n};\nStopping.args = {\n preventFocus: true,\n};\n\nexport const PreventFocusDisabled: Story<StoryArgs> = ({\n preventFocus,\n}: StoryArgs) => {\n return html`\n <dictation-context-provider ?noWrapper=${true}>\n <recording-button\n ?preventFocus=${preventFocus}\n @recording-state-changed=${action(\"recording-state-changed\")}\n @network-activity=${action(\"network-activity\")}\n @error=${action(\"error\")}\n ></recording-button>\n </dictation-context-provider>\n `;\n};\nPreventFocusDisabled.args = {\n preventFocus: false,\n};\n"]}
@@ -0,0 +1,23 @@
1
+ import { type TemplateResult } from "lit";
2
+ import "../src/components/settings-menu.js";
3
+ import "../src/contexts/dictation-context.js";
4
+ declare const _default: {
5
+ component: string;
6
+ title: string;
7
+ };
8
+ export default _default;
9
+ interface Story<T> {
10
+ (args: T): TemplateResult;
11
+ args?: Partial<T>;
12
+ argTypes?: Record<string, unknown>;
13
+ }
14
+ type StoryArgs = Record<string, never>;
15
+ export declare const DefaultValues: Story<StoryArgs>;
16
+ export declare const DisabledSettings: Story<StoryArgs>;
17
+ export declare const OnlyDeviceSelector: Story<StoryArgs>;
18
+ export declare const OnlyLanguageSelector: Story<StoryArgs>;
19
+ export declare const NoSettings: Story<StoryArgs>;
20
+ export declare const WithCustomLanguages: Story<StoryArgs>;
21
+ export declare const WithLanguagesAttribute: Story<StoryArgs>;
22
+ export declare const WithCustomDevices: Story<StoryArgs>;
23
+ export declare const BothWithCustomOptions: Story<StoryArgs>;
@@ -0,0 +1,156 @@
1
+ import { action } from "@storybook/addon-actions";
2
+ import { html } from "lit";
3
+ import "../src/components/settings-menu.js";
4
+ import "../src/contexts/dictation-context.js";
5
+ export default {
6
+ component: "settings-menu",
7
+ title: "SettingsMenu",
8
+ };
9
+ export const DefaultValues = () => {
10
+ return html `
11
+ <dictation-context-provider>
12
+ <settings-menu
13
+ @languages-changed=${action("languages-changed")}
14
+ @recording-devices-changed=${action("recording-devices-changed")}
15
+ @ready=${action("ready")}
16
+ @error=${action("error")}
17
+ ></settings-menu>
18
+ </dictation-context-provider>
19
+ `;
20
+ };
21
+ export const DisabledSettings = () => {
22
+ return html `
23
+ <dictation-context-provider recordingState="recording">
24
+ <settings-menu
25
+ @languages-changed=${action("languages-changed")}
26
+ @recording-devices-changed=${action("recording-devices-changed")}
27
+ @ready=${action("ready")}
28
+ @error=${action("error")}
29
+ ></settings-menu>
30
+ </dictation-context-provider>
31
+ `;
32
+ };
33
+ export const OnlyDeviceSelector = () => {
34
+ return html `
35
+ <dictation-context-provider>
36
+ <settings-menu
37
+ settingsEnabled="device"
38
+ @languages-changed=${action("languages-changed")}
39
+ @recording-devices-changed=${action("recording-devices-changed")}
40
+ @ready=${action("ready")}
41
+ @error=${action("error")}
42
+ ></settings-menu>
43
+ </dictation-context-provider>
44
+ `;
45
+ };
46
+ export const OnlyLanguageSelector = () => {
47
+ return html `
48
+ <dictation-context-provider>
49
+ <settings-menu
50
+ .settingsEnabled=${["language"]}
51
+ @languages-changed=${action("languages-changed")}
52
+ @recording-devices-changed=${action("recording-devices-changed")}
53
+ @ready=${action("ready")}
54
+ @error=${action("error")}
55
+ ></settings-menu>
56
+ </dictation-context-provider>
57
+ `;
58
+ };
59
+ export const NoSettings = () => {
60
+ return html `
61
+ <dictation-context-provider>
62
+ <settings-menu
63
+ .settingsEnabled=${[]}
64
+ @languages-changed=${action("languages-changed")}
65
+ @recording-devices-changed=${action("recording-devices-changed")}
66
+ @ready=${action("ready")}
67
+ @error=${action("error")}
68
+ ></settings-menu>
69
+ </dictation-context-provider>
70
+ `;
71
+ };
72
+ export const WithCustomLanguages = () => {
73
+ return html `
74
+ <dictation-context-provider .languages=${["en", "es", "fr", "de", "it"]}>
75
+ <settings-menu
76
+ settingsEnabled="language"
77
+ @languages-changed=${action("languages-changed")}
78
+ @recording-devices-changed=${action("recording-devices-changed")}
79
+ @ready=${action("ready")}
80
+ @error=${action("error")}
81
+ ></settings-menu>
82
+ </dictation-context-provider>
83
+ `;
84
+ };
85
+ export const WithLanguagesAttribute = () => {
86
+ return html `
87
+ <dictation-context-provider languages="en,da,es,fr">
88
+ <settings-menu
89
+ settingsEnabled="language"
90
+ @languages-changed=${action("languages-changed")}
91
+ @recording-devices-changed=${action("recording-devices-changed")}
92
+ @ready=${action("ready")}
93
+ @error=${action("error")}
94
+ ></settings-menu>
95
+ </dictation-context-provider>
96
+ `;
97
+ };
98
+ export const WithCustomDevices = () => {
99
+ const customDevices = [
100
+ {
101
+ deviceId: "device1",
102
+ groupId: "group1",
103
+ kind: "audioinput",
104
+ label: "Built-in Microphone",
105
+ toJSON: () => ({}),
106
+ },
107
+ {
108
+ deviceId: "device2",
109
+ groupId: "group2",
110
+ kind: "audioinput",
111
+ label: "External USB Microphone",
112
+ toJSON: () => ({}),
113
+ },
114
+ ];
115
+ return html `
116
+ <dictation-context-provider .devices=${customDevices}>
117
+ <settings-menu
118
+ settingsEnabled="device"
119
+ @languages-changed=${action("languages-changed")}
120
+ @recording-devices-changed=${action("recording-devices-changed")}
121
+ @ready=${action("ready")}
122
+ @error=${action("error")}
123
+ ></settings-menu>
124
+ </dictation-context-provider>
125
+ `;
126
+ };
127
+ export const BothWithCustomOptions = () => {
128
+ const customDevices = [
129
+ {
130
+ deviceId: "device1",
131
+ groupId: "group1",
132
+ kind: "audioinput",
133
+ label: "Headset Microphone",
134
+ toJSON: () => ({}),
135
+ },
136
+ {
137
+ deviceId: "device2",
138
+ groupId: "group2",
139
+ kind: "audioinput",
140
+ label: "Desk Microphone",
141
+ toJSON: () => ({}),
142
+ },
143
+ ];
144
+ return html `
145
+ <dictation-context-provider languages="en,fr,de" .devices=${customDevices}>
146
+ <settings-menu
147
+ settingsEnabled="device,language"
148
+ @languages-changed=${action("languages-changed")}
149
+ @recording-devices-changed=${action("recording-devices-changed")}
150
+ @ready=${action("ready")}
151
+ @error=${action("error")}
152
+ ></settings-menu>
153
+ </dictation-context-provider>
154
+ `;
155
+ };
156
+ //# sourceMappingURL=settings-menu.stories.js.map