@roku-sdk/components 0.0.0-stage → 2.18.0

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 (211) hide show
  1. package/BREAKING_CHANGES.md +84 -0
  2. package/LICENSE +21 -0
  3. package/README.md +19 -2
  4. package/core-jsx.d.ts +53 -0
  5. package/eslint.config.mjs +3 -0
  6. package/jsx.d.ts +273 -0
  7. package/package.json +84 -3
  8. package/src/__tests__/container.test.tsx +150 -0
  9. package/src/__tests__/glyphs.test.ts +202 -0
  10. package/src/__tests__/modal-boundary-export.test.ts +12 -0
  11. package/src/__tests__/native-modal.test.tsx +224 -0
  12. package/src/__tests__/tween-release.test.tsx +125 -0
  13. package/src/__tests__/tween-stops-shape.test.tsx +165 -0
  14. package/src/__tests__/tween-without-compat.test.tsx +64 -0
  15. package/src/__tests__/tween.test.tsx +195 -0
  16. package/src/blended-busy-spinner.props.ts +37 -0
  17. package/src/blended-busy-spinner.tsx +13 -0
  18. package/src/bounding-tracker.props.ts +18 -0
  19. package/src/bounding-tracker.tsx +13 -0
  20. package/src/button-row.tsx +126 -0
  21. package/src/channel-store.props.ts +425 -0
  22. package/src/channel-store.tsx +76 -0
  23. package/src/container.tsx +130 -0
  24. package/src/core/jsx-runtime.ts +39 -0
  25. package/src/focusable-group.props.ts +8 -0
  26. package/src/focusable-group.tsx +17 -0
  27. package/src/focusable.props.ts +14 -0
  28. package/src/focusable.tsx +17 -0
  29. package/src/glyphs.ts +116 -0
  30. package/src/helpers/index.tsx +4 -0
  31. package/src/helpers/resolution-context.tsx +68 -0
  32. package/src/helpers/scale-for-device-resolution.ts +31 -0
  33. package/src/index.tsx +70 -0
  34. package/src/jsx-props.ts +87 -0
  35. package/src/kdfs.d.ts +14 -0
  36. package/src/kdfs.ts +15 -0
  37. package/src/key-handler.props.ts +33 -0
  38. package/src/key-handler.tsx +24 -0
  39. package/src/modal-dialog.props.ts +38 -0
  40. package/src/modal-dialog.tsx +41 -0
  41. package/src/retain-asset.ts +24 -0
  42. package/src/sg-intrinsics.json +1153 -0
  43. package/src/sg-nodes/__tests__/__snapshots__/font.test.tsx.snap +13 -0
  44. package/src/sg-nodes/__tests__/__snapshots__/prop-forwarding.test.tsx.snap +4409 -0
  45. package/src/sg-nodes/__tests__/core-props.test.ts +301 -0
  46. package/src/sg-nodes/__tests__/font.test.tsx +141 -0
  47. package/src/sg-nodes/__tests__/imperative-methods.test.ts +268 -0
  48. package/src/sg-nodes/__tests__/prop-forwarding.test.tsx +1049 -0
  49. package/src/sg-nodes/__tests__/solid-integration.test.tsx +719 -0
  50. package/src/sg-nodes/animated-image.props.ts +64 -0
  51. package/src/sg-nodes/animated-image.tsx +23 -0
  52. package/src/sg-nodes/animation.props.ts +292 -0
  53. package/src/sg-nodes/animation.tsx +190 -0
  54. package/src/sg-nodes/array-grid.ts +602 -0
  55. package/src/sg-nodes/audio.props.ts +302 -0
  56. package/src/sg-nodes/audio.tsx +57 -0
  57. package/src/sg-nodes/busy-spinner.props.ts +59 -0
  58. package/src/sg-nodes/busy-spinner.tsx +84 -0
  59. package/src/sg-nodes/button-group.props.ts +141 -0
  60. package/src/sg-nodes/button-group.tsx +30 -0
  61. package/src/sg-nodes/button.props.ts +119 -0
  62. package/src/sg-nodes/button.tsx +31 -0
  63. package/src/sg-nodes/check-list.props.ts +71 -0
  64. package/src/sg-nodes/check-list.tsx +55 -0
  65. package/src/sg-nodes/content-node.props.ts +1316 -0
  66. package/src/sg-nodes/content-node.tsx +153 -0
  67. package/src/sg-nodes/core-props.ts +197 -0
  68. package/src/sg-nodes/custom-keyboard.props.ts +108 -0
  69. package/src/sg-nodes/custom-keyboard.tsx +48 -0
  70. package/src/sg-nodes/dialog.props.ts +159 -0
  71. package/src/sg-nodes/dialog.tsx +36 -0
  72. package/src/sg-nodes/dynamic-key-grid.props.ts +22 -0
  73. package/src/sg-nodes/dynamic-key-grid.tsx +16 -0
  74. package/src/sg-nodes/dynamic-keyboard.props.ts +30 -0
  75. package/src/sg-nodes/dynamic-keyboard.tsx +18 -0
  76. package/src/sg-nodes/dynamic-mini-keyboard.props.ts +22 -0
  77. package/src/sg-nodes/dynamic-mini-keyboard.tsx +18 -0
  78. package/src/sg-nodes/dynamic-pinpad.props.ts +57 -0
  79. package/src/sg-nodes/dynamic-pinpad.tsx +18 -0
  80. package/src/sg-nodes/effect.props.ts +116 -0
  81. package/src/sg-nodes/effect.tsx +39 -0
  82. package/src/sg-nodes/font.props.ts +45 -0
  83. package/src/sg-nodes/font.tsx +80 -0
  84. package/src/sg-nodes/group.props.ts +105 -0
  85. package/src/sg-nodes/group.tsx +30 -0
  86. package/src/sg-nodes/label-list.props.ts +86 -0
  87. package/src/sg-nodes/label-list.tsx +64 -0
  88. package/src/sg-nodes/label.props.ts +207 -0
  89. package/src/sg-nodes/label.tsx +56 -0
  90. package/src/sg-nodes/layout-group.props.ts +69 -0
  91. package/src/sg-nodes/layout-group.tsx +75 -0
  92. package/src/sg-nodes/list-panel.props.ts +104 -0
  93. package/src/sg-nodes/list-panel.tsx +49 -0
  94. package/src/sg-nodes/markup-grid.props.ts +78 -0
  95. package/src/sg-nodes/markup-grid.tsx +38 -0
  96. package/src/sg-nodes/markup-list.props.ts +68 -0
  97. package/src/sg-nodes/markup-list.tsx +38 -0
  98. package/src/sg-nodes/mask-group.props.ts +78 -0
  99. package/src/sg-nodes/mask-group.tsx +59 -0
  100. package/src/sg-nodes/media-playback-methods.ts +20 -0
  101. package/src/sg-nodes/node.ts +77 -0
  102. package/src/sg-nodes/overhang.props.ts +169 -0
  103. package/src/sg-nodes/overhang.tsx +29 -0
  104. package/src/sg-nodes/panel-set.props.ts +71 -0
  105. package/src/sg-nodes/panel-set.tsx +53 -0
  106. package/src/sg-nodes/panel.props.ts +176 -0
  107. package/src/sg-nodes/panel.tsx +56 -0
  108. package/src/sg-nodes/poster-grid.props.ts +277 -0
  109. package/src/sg-nodes/poster-grid.tsx +45 -0
  110. package/src/sg-nodes/poster.props.ts +125 -0
  111. package/src/sg-nodes/poster.tsx +44 -0
  112. package/src/sg-nodes/radio-button-list.props.ts +59 -0
  113. package/src/sg-nodes/radio-button-list.tsx +68 -0
  114. package/src/sg-nodes/rectangle.props.ts +29 -0
  115. package/src/sg-nodes/rectangle.tsx +27 -0
  116. package/src/sg-nodes/row-list.props.ts +288 -0
  117. package/src/sg-nodes/row-list.tsx +47 -0
  118. package/src/sg-nodes/scene.props.ts +65 -0
  119. package/src/sg-nodes/scene.tsx +15 -0
  120. package/src/sg-nodes/scrollable-text.props.ts +133 -0
  121. package/src/sg-nodes/scrollable-text.tsx +64 -0
  122. package/src/sg-nodes/scrolling-label.props.ts +106 -0
  123. package/src/sg-nodes/scrolling-label.tsx +42 -0
  124. package/src/sg-nodes/simple-label.props.ts +156 -0
  125. package/src/sg-nodes/simple-label.tsx +59 -0
  126. package/src/sg-nodes/sound-effect.props.ts +130 -0
  127. package/src/sg-nodes/sound-effect.tsx +65 -0
  128. package/src/sg-nodes/standard-dialog.props.ts +520 -0
  129. package/src/sg-nodes/standard-dialog.tsx +428 -0
  130. package/src/sg-nodes/standard-keyboard-dialog.props.ts +84 -0
  131. package/src/sg-nodes/standard-keyboard-dialog.tsx +59 -0
  132. package/src/sg-nodes/standard-message-dialog.props.ts +56 -0
  133. package/src/sg-nodes/standard-message-dialog.tsx +48 -0
  134. package/src/sg-nodes/standard-pinpad-dialog.props.ts +64 -0
  135. package/src/sg-nodes/standard-pinpad-dialog.tsx +46 -0
  136. package/src/sg-nodes/standard-progress-dialog.props.ts +30 -0
  137. package/src/sg-nodes/standard-progress-dialog.tsx +43 -0
  138. package/src/sg-nodes/target-group.props.ts +278 -0
  139. package/src/sg-nodes/target-group.tsx +63 -0
  140. package/src/sg-nodes/target-list.props.ts +128 -0
  141. package/src/sg-nodes/target-list.tsx +66 -0
  142. package/src/sg-nodes/target-set.props.ts +63 -0
  143. package/src/sg-nodes/target-set.tsx +42 -0
  144. package/src/sg-nodes/time-grid.props.ts +646 -0
  145. package/src/sg-nodes/time-grid.tsx +87 -0
  146. package/src/sg-nodes/tween.props.ts +115 -0
  147. package/src/sg-nodes/types.ts +150 -0
  148. package/src/sg-nodes/video.props.ts +573 -0
  149. package/src/sg-nodes/video.tsx +73 -0
  150. package/src/sg-nodes/voice-text-edit-box.props.ts +91 -0
  151. package/src/sg-nodes/voice-text-edit-box.tsx +15 -0
  152. package/src/sg-nodes/zoom-row-list.props.ts +416 -0
  153. package/src/sg-nodes/zoom-row-list.tsx +42 -0
  154. package/src/standard-dialog-next/__tests__/standard-dialog-next.test.tsx +186 -0
  155. package/src/standard-dialog-next/index.ts +5 -0
  156. package/src/standard-dialog-next/standard-dialog-next.props.ts +80 -0
  157. package/src/standard-dialog-next/standard-dialog-next.tsx +326 -0
  158. package/src/test-helpers/tween-test-setup.ts +78 -0
  159. package/src/tween.tsx +173 -0
  160. package/src/types.ts +8 -0
  161. package/src/xml-components/blended-busy-spinner/BlendedBusySpinner.brs +13 -0
  162. package/src/xml-components/blended-busy-spinner/BlendedBusySpinner.xml +10 -0
  163. package/src/xml-components/blended-busy-spinner/BlendedBusySpinner.xml.d.ts +42 -0
  164. package/src/xml-components/bounding-tracker/BoundingTracker.brs +26 -0
  165. package/src/xml-components/bounding-tracker/BoundingTracker.xml +14 -0
  166. package/src/xml-components/bounding-tracker/BoundingTracker.xml.d.ts +42 -0
  167. package/src/xml-components/channel-store/channelStoreExt.brs +159 -0
  168. package/src/xml-components/channel-store/channelStoreExt.xml +29 -0
  169. package/src/xml-components/channel-store/channelStoreExt.xml.d.ts +57 -0
  170. package/src/xml-components/focus/focusable-group.brs +251 -0
  171. package/src/xml-components/focus/focusable-group.xml +15 -0
  172. package/src/xml-components/focus/focusable-group.xml.d.ts +42 -0
  173. package/src/xml-components/focus/focusable.xml +18 -0
  174. package/src/xml-components/focus/focusable.xml.d.ts +48 -0
  175. package/src/xml-components/keyboards/CustomAddressKDF.keyboard.json +547 -0
  176. package/src/xml-components/keyboards/CustomKeyboard.brs +322 -0
  177. package/src/xml-components/keyboards/CustomKeyboard.xml +45 -0
  178. package/src/xml-components/keyboards/CustomKeyboard.xml.d.ts +73 -0
  179. package/src/xml-components/keyboards/KeyGridExt.xml +4 -0
  180. package/src/xml-components/keyboards/KeyGridExt.xml.d.ts +37 -0
  181. package/src/xml-components/keyboards/KeyboardExt.xml +4 -0
  182. package/src/xml-components/keyboards/KeyboardExt.xml.d.ts +37 -0
  183. package/src/xml-components/keyboards/MOPPinPadCustomKDF.keyboard.json +151 -0
  184. package/src/xml-components/keyboards/MiniKeyboardExt.xml +4 -0
  185. package/src/xml-components/keyboards/MiniKeyboardExt.xml.d.ts +37 -0
  186. package/src/xml-components/keyboards/PhonePadCustomKDF.keyboard.json +42 -0
  187. package/src/xml-components/keyboards/PinPadExt.brs +102 -0
  188. package/src/xml-components/keyboards/PinPadExt.xml +17 -0
  189. package/src/xml-components/keyboards/PinPadExt.xml.d.ts +49 -0
  190. package/src/xml-components/keyboards/WifiCustomKDF.keyboard.json +1242 -0
  191. package/src/xml-components/keyhandler/KeyHandler.brs +30 -0
  192. package/src/xml-components/keyhandler/KeyHandler.xml +16 -0
  193. package/src/xml-components/keyhandler/KeyHandler.xml.d.ts +45 -0
  194. package/src/xml-components/managed-list-panel/ManagedListPanel.brs +137 -0
  195. package/src/xml-components/managed-list-panel/ManagedListPanel.xml +10 -0
  196. package/src/xml-components/managed-list-panel/ManagedListPanel.xml.d.ts +37 -0
  197. package/src/xml-components/modal/Modal.brs +105 -0
  198. package/src/xml-components/modal/Modal.xml +22 -0
  199. package/src/xml-components/modal/Modal.xml.d.ts +54 -0
  200. package/src/xml-components/modal/StandardDialogExt.xml +10 -0
  201. package/src/xml-components/modal/StandardDialogExt.xml.d.ts +37 -0
  202. package/src/xml-components/modal/StandardKeyboardDialogExt.xml +10 -0
  203. package/src/xml-components/modal/StandardKeyboardDialogExt.xml.d.ts +37 -0
  204. package/src/xml-components/modal/StandardMessageDialogExt.xml +10 -0
  205. package/src/xml-components/modal/StandardMessageDialogExt.xml.d.ts +37 -0
  206. package/src/xml-components/modal/StandardPinPadDialogExt.xml +10 -0
  207. package/src/xml-components/modal/StandardPinPadDialogExt.xml.d.ts +37 -0
  208. package/src/xml-components/modal/StandardProgressDialogExt.xml +10 -0
  209. package/src/xml-components/modal/StandardProgressDialogExt.xml.d.ts +37 -0
  210. package/src/xml-components/modal/tests/Modal.test.brs +195 -0
  211. package/tsconfig.json +10 -0
@@ -0,0 +1,37 @@
1
+ // Auto-generated TypeScript declarations for XML component import.
2
+ // DO NOT EDIT — this file is regenerated during build.
3
+ //
4
+ // Source component: MiniKeyboardExt
5
+ // Extends: DynamicMiniKeyboard
6
+
7
+ import type { IDynamicMiniKeyboardProps } from "@roku-sdk/components";
8
+ import type { TypedXmlComponent } from "@roku-sdk/interfaces";
9
+
10
+ export interface IMiniKeyboardExtProps extends IDynamicMiniKeyboardProps {}
11
+
12
+ declare const _default: TypedXmlComponent<"MiniKeyboardExt", Record<string, never>>;
13
+ export default _default;
14
+
15
+ declare module "@roku-sdk/solid" {
16
+ namespace JSX {
17
+ interface IntrinsicElements {
18
+ miniKeyboardExt: IMiniKeyboardExtProps;
19
+ }
20
+ }
21
+ }
22
+
23
+ declare module "@roku-sdk/solid/jsx-runtime" {
24
+ namespace JSX {
25
+ interface IntrinsicElements {
26
+ miniKeyboardExt: IMiniKeyboardExtProps;
27
+ }
28
+ }
29
+ }
30
+
31
+ declare module "solid-js" {
32
+ namespace JSX {
33
+ interface IntrinsicElements {
34
+ miniKeyboardExt: IMiniKeyboardExtProps;
35
+ }
36
+ }
37
+ }
@@ -0,0 +1,42 @@
1
+ {
2
+ "keyboardWidthFHD": 495,
3
+ "keyboardHeightFHD": 350,
4
+ "keyboardWidthHD": 324,
5
+ "keyboardHeightHD": 240,
6
+ "sections": [
7
+ {
8
+ "grids": [
9
+ {
10
+ "modes": "phone",
11
+ "rows": [
12
+ {
13
+ "keys": [{ "label": "1" }, { "label": "2" }, { "label": "3" }]
14
+ },
15
+ {
16
+ "keys": [{ "label": "4" }, { "label": "5" }, { "label": "6" }]
17
+ },
18
+ {
19
+ "keys": [{ "label": "7" }, { "label": "8" }, { "label": "9" }]
20
+ },
21
+ {
22
+ "keys": [
23
+ {
24
+ "icon": "theme:DKB_ClearKeyBitmap",
25
+ "focusIcon": "theme:DKB_ClearKeyFocusBitmap",
26
+ "strOut": "clear"
27
+ },
28
+ { "label": "0" },
29
+ {
30
+ "icon": "theme:DKB_DeleteKeyBitmap",
31
+ "focusIcon": "theme:DKB_DeleteKeyFocusBitmap",
32
+ "autoRepeat": 1,
33
+ "strOut": "backspace"
34
+ }
35
+ ]
36
+ }
37
+ ]
38
+ }
39
+ ]
40
+ }
41
+ ]
42
+ }
@@ -0,0 +1,102 @@
1
+ Sub Init()
2
+ this = m.top
3
+ textEditBox = this.textEditBox
4
+ textEditBox.observeField("renderTracking", "renderTrackingTextEditBoxChanged")
5
+ textEditBox.observeFieldScoped("showUnderscores", "showUnderscoresFieldChanged")
6
+ textEditBox.observeFieldScoped("centerUnderscores", "centerUnderscoresFieldChanged")
7
+ End Sub
8
+
9
+ Sub renderTrackingTextEditBoxChanged()
10
+ disableVoiceUnderscoreControlChanged()
11
+ showUnderscoresChanged()
12
+ centerUnderscoresChanged()
13
+ maxTextLengthChanged()
14
+ secureModeChanged()
15
+ hintTextChanged()
16
+ hintTextColorChanged()
17
+ textColorChanged()
18
+ End Sub
19
+
20
+ Sub showUnderscoresFieldChanged(event as Object)
21
+ this = m.top
22
+ textEditBox = this.textEditBox
23
+ newVal = event.getData()
24
+ ' Keep the TypeScript prop authoritative across voice and focus changes.
25
+ if this.showUnderscores <> invalid and newVal <> this.showUnderscores
26
+ textEditBox.showUnderscores = this.showUnderscores
27
+ end if
28
+ End Sub
29
+
30
+ Sub centerUnderscoresFieldChanged(event as Object)
31
+ this = m.top
32
+ textEditBox = this.textEditBox
33
+ newVal = event.getData()
34
+ ' Keep the TypeScript prop authoritative across voice and focus changes.
35
+ if this.centerUnderscores <> invalid and newVal <> this.centerUnderscores
36
+ textEditBox.centerUnderscores = this.centerUnderscores
37
+ end if
38
+ End Sub
39
+
40
+ Sub disableVoiceUnderscoreControlChanged()
41
+ this = m.top
42
+ textEditBox = this.textEditBox
43
+ if this.disableVoiceUnderscoreControl <> invalid
44
+ textEditBox.disableVoiceUnderscoreControl = this.disableVoiceUnderscoreControl
45
+ end if
46
+ End Sub
47
+
48
+ Sub showUnderscoresChanged()
49
+ this = m.top
50
+ textEditBox = this.textEditBox
51
+ if this.showUnderscores <> invalid
52
+ textEditBox.showUnderscores = this.showUnderscores
53
+ end if
54
+ End Sub
55
+
56
+ Sub centerUnderscoresChanged()
57
+ this = m.top
58
+ textEditBox = this.textEditBox
59
+ if this.centerUnderscores <> invalid
60
+ textEditBox.centerUnderscores = this.centerUnderscores
61
+ end if
62
+ End Sub
63
+
64
+ Sub maxTextLengthChanged()
65
+ this = m.top
66
+ textEditBox = this.textEditBox
67
+ if this.maxTextLength <> invalid
68
+ textEditBox.maxTextLength = this.maxTextLength
69
+ end if
70
+ End Sub
71
+
72
+ Sub secureModeChanged()
73
+ this = m.top
74
+ textEditBox = this.textEditBox
75
+ if this.secureMode <> invalid
76
+ textEditBox.secureMode = this.secureMode
77
+ end if
78
+ End Sub
79
+
80
+ Sub hintTextChanged()
81
+ this = m.top
82
+ textEditBox = this.textEditBox
83
+ if this.hintText <> invalid
84
+ textEditBox.hintText = this.hintText
85
+ end if
86
+ End Sub
87
+
88
+ Sub hintTextColorChanged()
89
+ this = m.top
90
+ textEditBox = this.textEditBox
91
+ if this.hintTextColor <> invalid and this.hintTextColor <> ""
92
+ textEditBox.hintTextColor = this.hintTextColor
93
+ end if
94
+ End Sub
95
+
96
+ Sub textColorChanged()
97
+ this = m.top
98
+ textEditBox = this.textEditBox
99
+ if this.textColor <> invalid and this.textColor <> ""
100
+ textEditBox.textColor = this.textColor
101
+ end if
102
+ End Sub
@@ -0,0 +1,17 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+
3
+ <component name="PinPadExt" extends="DynamicPinPad">
4
+ <script type="text/brightscript" uri="PinPadExt.brs" />
5
+ <interface>
6
+ <field id="secureMode" type="boolean" onChange="secureModeChanged" />
7
+ <field id="hintText" type="string" onChange="hintTextChanged" />
8
+ <field id="maxTextLength" type="float" onChange="maxTextLengthChanged" />
9
+ <field id="disableVoiceUnderscoreControl" type="boolean" value="true"
10
+ onChange="disableVoiceUnderscoreControlChanged" />
11
+ <field id="showUnderscores" type="boolean" onChange="showUnderscoresChanged" />
12
+ <field id="centerUnderscores" type="boolean" onChange="centerUnderscoresChanged" />
13
+ <field id="hintTextColor" type="string" onChange="hintTextColorChanged" />
14
+ <field id="textColor" type="string" onChange="textColorChanged" />
15
+ </interface>
16
+
17
+ </component>
@@ -0,0 +1,49 @@
1
+ // Auto-generated TypeScript declarations for XML component import.
2
+ // DO NOT EDIT — this file is regenerated during build.
3
+ //
4
+ // Source component: PinPadExt
5
+ // Extends: DynamicPinPad
6
+
7
+ import type { IDynamicPinPadProps } from "@roku-sdk/components";
8
+ import type { TypedXmlComponent } from "@roku-sdk/interfaces";
9
+
10
+ interface PinPadExtFields {
11
+ secureMode: boolean;
12
+ hintText: string;
13
+ maxTextLength: number;
14
+ /** @default "true" */
15
+ disableVoiceUnderscoreControl: boolean;
16
+ showUnderscores: boolean;
17
+ centerUnderscores: boolean;
18
+ hintTextColor: string;
19
+ textColor: string;
20
+ }
21
+
22
+ export interface IPinPadExtProps extends IDynamicPinPadProps, Partial<PinPadExtFields> {}
23
+
24
+ declare const _default: TypedXmlComponent<"PinPadExt", PinPadExtFields>;
25
+ export default _default;
26
+
27
+ declare module "@roku-sdk/solid" {
28
+ namespace JSX {
29
+ interface IntrinsicElements {
30
+ pinPadExt: IPinPadExtProps;
31
+ }
32
+ }
33
+ }
34
+
35
+ declare module "@roku-sdk/solid/jsx-runtime" {
36
+ namespace JSX {
37
+ interface IntrinsicElements {
38
+ pinPadExt: IPinPadExtProps;
39
+ }
40
+ }
41
+ }
42
+
43
+ declare module "solid-js" {
44
+ namespace JSX {
45
+ interface IntrinsicElements {
46
+ pinPadExt: IPinPadExtProps;
47
+ }
48
+ }
49
+ }