@nectary/components 0.13.0 → 0.15.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 (131) hide show
  1. package/card/index.js +1 -1
  2. package/checkbox/index.js +1 -1
  3. package/dialog/index.js +1 -1
  4. package/icon/add-alert/index.d.ts +11 -0
  5. package/icon/add-alert/index.js +4 -0
  6. package/icon/app-settings-alt/index.d.ts +11 -0
  7. package/icon/app-settings-alt/index.js +4 -0
  8. package/icon/apps/index.d.ts +11 -0
  9. package/icon/apps/index.js +4 -0
  10. package/icon/arrow-drop-down/index.d.ts +11 -0
  11. package/icon/arrow-drop-down/index.js +4 -0
  12. package/icon/arrow-drop-down-circle/index.d.ts +11 -0
  13. package/icon/arrow-drop-down-circle/index.js +4 -0
  14. package/icon/arrow-drop-up/index.d.ts +11 -0
  15. package/icon/arrow-drop-up/index.js +4 -0
  16. package/icon/arrow-left/index.d.ts +11 -0
  17. package/icon/arrow-left/index.js +4 -0
  18. package/icon/arrow-right/index.d.ts +11 -0
  19. package/icon/arrow-right/index.js +4 -0
  20. package/icon/attach-email/index.d.ts +11 -0
  21. package/icon/attach-email/index.js +4 -0
  22. package/icon/attachment/index.d.ts +11 -0
  23. package/icon/attachment/index.js +4 -0
  24. package/icon/auto-delete/index.d.ts +11 -0
  25. package/icon/auto-delete/index.js +4 -0
  26. package/icon/campaign/index.d.ts +11 -0
  27. package/icon/campaign/index.js +4 -0
  28. package/icon/check/index.d.ts +11 -0
  29. package/icon/check/index.js +4 -0
  30. package/icon/cloud/index.d.ts +11 -0
  31. package/icon/cloud/index.js +4 -0
  32. package/icon/cloud-circle/index.d.ts +11 -0
  33. package/icon/cloud-circle/index.js +4 -0
  34. package/icon/cloud-done/index.d.ts +11 -0
  35. package/icon/cloud-done/index.js +4 -0
  36. package/icon/cloud-download/index.d.ts +11 -0
  37. package/icon/cloud-download/index.js +4 -0
  38. package/icon/cloud-off/index.d.ts +11 -0
  39. package/icon/cloud-off/index.js +4 -0
  40. package/icon/cloud-queue/index.d.ts +11 -0
  41. package/icon/cloud-queue/index.js +4 -0
  42. package/icon/cloud-upload/index.d.ts +11 -0
  43. package/icon/cloud-upload/index.js +4 -0
  44. package/icon/create-icon-class.d.ts +38 -36
  45. package/icon/create-new-folder/index.d.ts +11 -0
  46. package/icon/create-new-folder/index.js +4 -0
  47. package/icon/double-arrow/index.d.ts +11 -0
  48. package/icon/double-arrow/index.js +4 -0
  49. package/icon/download/index.d.ts +11 -0
  50. package/icon/download/index.js +4 -0
  51. package/icon/download-done/index.d.ts +11 -0
  52. package/icon/download-done/index.js +4 -0
  53. package/icon/error/index.d.ts +11 -0
  54. package/icon/error/index.js +4 -0
  55. package/icon/error-outline/index.d.ts +11 -0
  56. package/icon/error-outline/index.js +4 -0
  57. package/icon/first-page/index.d.ts +11 -0
  58. package/icon/first-page/index.js +4 -0
  59. package/icon/folder/index.d.ts +11 -0
  60. package/icon/folder/index.js +4 -0
  61. package/icon/folder-open/index.d.ts +11 -0
  62. package/icon/folder-open/index.js +4 -0
  63. package/icon/folder-shared/index.d.ts +11 -0
  64. package/icon/folder-shared/index.js +4 -0
  65. package/icon/fullscreen/index.d.ts +11 -0
  66. package/icon/fullscreen/index.js +4 -0
  67. package/icon/fullscreen-exit/index.d.ts +11 -0
  68. package/icon/fullscreen-exit/index.js +4 -0
  69. package/icon/home-work/index.d.ts +11 -0
  70. package/icon/home-work/index.js +4 -0
  71. package/icon/last-page/index.d.ts +11 -0
  72. package/icon/last-page/index.js +4 -0
  73. package/icon/legend-toggle/index.d.ts +11 -0
  74. package/icon/legend-toggle/index.js +4 -0
  75. package/icon/menu/index.d.ts +11 -0
  76. package/icon/menu/index.js +4 -0
  77. package/icon/menu-open/index.d.ts +11 -0
  78. package/icon/menu-open/index.js +4 -0
  79. package/icon/notification-important/index.d.ts +11 -0
  80. package/icon/notification-important/index.js +4 -0
  81. package/icon/payments/index.d.ts +11 -0
  82. package/icon/payments/index.js +4 -0
  83. package/icon/refresh/index.d.ts +11 -0
  84. package/icon/refresh/index.js +4 -0
  85. package/icon/request-quote/index.d.ts +11 -0
  86. package/icon/request-quote/index.js +4 -0
  87. package/icon/rule-folder/index.d.ts +11 -0
  88. package/icon/rule-folder/index.js +4 -0
  89. package/icon/search/index.d.ts +11 -0
  90. package/icon/search/index.js +4 -0
  91. package/icon/snippet-folder/index.d.ts +11 -0
  92. package/icon/snippet-folder/index.js +4 -0
  93. package/icon/subdirectory-arrow-left/index.d.ts +11 -0
  94. package/icon/subdirectory-arrow-left/index.js +4 -0
  95. package/icon/subdirectory-arrow-right/index.d.ts +11 -0
  96. package/icon/subdirectory-arrow-right/index.js +4 -0
  97. package/icon/switch-left/index.d.ts +11 -0
  98. package/icon/switch-left/index.js +4 -0
  99. package/icon/switch-right/index.d.ts +11 -0
  100. package/icon/switch-right/index.js +4 -0
  101. package/icon/text-snippet/index.d.ts +11 -0
  102. package/icon/text-snippet/index.js +4 -0
  103. package/icon/topic/index.d.ts +11 -0
  104. package/icon/topic/index.js +4 -0
  105. package/icon/unfold-less/index.d.ts +11 -0
  106. package/icon/unfold-less/index.js +4 -0
  107. package/icon/unfold-more/index.d.ts +11 -0
  108. package/icon/unfold-more/index.js +4 -0
  109. package/icon/upload/index.d.ts +11 -0
  110. package/icon/upload/index.js +4 -0
  111. package/icon/warning/index.d.ts +11 -0
  112. package/icon/warning/index.js +4 -0
  113. package/icon/warning-amber/index.d.ts +11 -0
  114. package/icon/warning-amber/index.js +4 -0
  115. package/icon-branded/create-icon-class.d.ts +38 -36
  116. package/illustration/create-illustration-class.d.ts +38 -36
  117. package/index.d.ts +57 -0
  118. package/index.js +58 -1
  119. package/input/index.d.ts +5 -0
  120. package/input/index.js +18 -7
  121. package/logo/create-logo-class.d.ts +38 -36
  122. package/package.json +1 -1
  123. package/radio-option/index.js +1 -1
  124. package/search/index.d.ts +34 -0
  125. package/search/index.js +470 -0
  126. package/search-option/index.d.ts +20 -0
  127. package/search-option/index.js +76 -0
  128. package/spinner/index.js +5 -0
  129. package/tooltip/index.js +1 -1
  130. package/utils.d.ts +2 -1
  131. package/utils.js +3 -0
@@ -0,0 +1,4 @@
1
+ import { defineCustomElement } from '../../utils';
2
+ import { createIconClass } from '../create-icon-class';
3
+ const templateHTML = '<svg viewBox="0 0 24 24"><path d="M12 5.99 19.53 19H4.47L12 5.99ZM2.74 18c-.77 1.33.19 3 1.73 3h15.06c1.54 0 2.5-1.67 1.73-3L13.73 4.99c-.77-1.33-2.69-1.33-3.46 0L2.74 18ZM11 11v2c0 .55.45 1 1 1s1-.45 1-1v-2c0-.55-.45-1-1-1s-1 .45-1 1Zm0 5h2v2h-2v-2Z"/></svg>';
4
+ defineCustomElement('sinch-icon-warning-amber', createIconClass(templateHTML));
@@ -144,42 +144,42 @@ export declare const createIconClass: (templateHTML: string) => {
144
144
  readonly PROCESSING_INSTRUCTION_NODE: number;
145
145
  readonly TEXT_NODE: number;
146
146
  dispatchEvent(event: Event): boolean;
147
- ariaAtomic: string;
148
- ariaAutoComplete: string;
149
- ariaBusy: string;
150
- ariaChecked: string;
151
- ariaColCount: string;
152
- ariaColIndex: string;
153
- ariaColSpan: string;
154
- ariaCurrent: string;
155
- ariaDisabled: string;
156
- ariaExpanded: string;
157
- ariaHasPopup: string;
158
- ariaHidden: string;
159
- ariaKeyShortcuts: string;
160
- ariaLabel: string;
161
- ariaLevel: string;
162
- ariaLive: string;
163
- ariaModal: string;
164
- ariaMultiLine: string;
165
- ariaMultiSelectable: string;
166
- ariaOrientation: string;
167
- ariaPlaceholder: string;
168
- ariaPosInSet: string;
169
- ariaPressed: string;
170
- ariaReadOnly: string;
171
- ariaRequired: string;
172
- ariaRoleDescription: string;
173
- ariaRowCount: string;
174
- ariaRowIndex: string;
175
- ariaRowSpan: string;
176
- ariaSelected: string;
177
- ariaSetSize: string;
178
- ariaSort: string;
179
- ariaValueMax: string;
180
- ariaValueMin: string;
181
- ariaValueNow: string;
182
- ariaValueText: string;
147
+ ariaAtomic: string | null;
148
+ ariaAutoComplete: string | null;
149
+ ariaBusy: string | null;
150
+ ariaChecked: string | null;
151
+ ariaColCount: string | null;
152
+ ariaColIndex: string | null;
153
+ ariaColSpan: string | null;
154
+ ariaCurrent: string | null;
155
+ ariaDisabled: string | null;
156
+ ariaExpanded: string | null;
157
+ ariaHasPopup: string | null;
158
+ ariaHidden: string | null;
159
+ ariaKeyShortcuts: string | null;
160
+ ariaLabel: string | null;
161
+ ariaLevel: string | null;
162
+ ariaLive: string | null;
163
+ ariaModal: string | null;
164
+ ariaMultiLine: string | null;
165
+ ariaMultiSelectable: string | null;
166
+ ariaOrientation: string | null;
167
+ ariaPlaceholder: string | null;
168
+ ariaPosInSet: string | null;
169
+ ariaPressed: string | null;
170
+ ariaReadOnly: string | null;
171
+ ariaRequired: string | null;
172
+ ariaRoleDescription: string | null;
173
+ ariaRowCount: string | null;
174
+ ariaRowIndex: string | null;
175
+ ariaRowSpan: string | null;
176
+ ariaSelected: string | null;
177
+ ariaSetSize: string | null;
178
+ ariaSort: string | null;
179
+ ariaValueMax: string | null;
180
+ ariaValueMin: string | null;
181
+ ariaValueNow: string | null;
182
+ ariaValueText: string | null;
183
183
  animate(keyframes: Keyframe[] | PropertyIndexedKeyframes | null, options?: number | KeyframeAnimationOptions | undefined): Animation;
184
184
  getAnimations(options?: GetAnimationsOptions | undefined): Animation[];
185
185
  after(...nodes: (string | Node)[]): void;
@@ -273,11 +273,13 @@ export declare const createIconClass: (templateHTML: string) => {
273
273
  onreset: ((this: GlobalEventHandlers, ev: Event) => any) | null;
274
274
  onresize: ((this: GlobalEventHandlers, ev: UIEvent) => any) | null;
275
275
  onscroll: ((this: GlobalEventHandlers, ev: Event) => any) | null;
276
+ onsecuritypolicyviolation: ((this: GlobalEventHandlers, ev: SecurityPolicyViolationEvent) => any) | null;
276
277
  onseeked: ((this: GlobalEventHandlers, ev: Event) => any) | null;
277
278
  onseeking: ((this: GlobalEventHandlers, ev: Event) => any) | null;
278
279
  onselect: ((this: GlobalEventHandlers, ev: Event) => any) | null;
279
280
  onselectionchange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
280
281
  onselectstart: ((this: GlobalEventHandlers, ev: Event) => any) | null;
282
+ onslotchange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
281
283
  onstalled: ((this: GlobalEventHandlers, ev: Event) => any) | null;
282
284
  onsubmit: ((this: GlobalEventHandlers, ev: SubmitEvent) => any) | null;
283
285
  onsuspend: ((this: GlobalEventHandlers, ev: Event) => any) | null;
@@ -143,42 +143,42 @@ export declare const createIllustrationClass: (templateHTML: string) => {
143
143
  readonly PROCESSING_INSTRUCTION_NODE: number;
144
144
  readonly TEXT_NODE: number;
145
145
  dispatchEvent(event: Event): boolean;
146
- ariaAtomic: string;
147
- ariaAutoComplete: string;
148
- ariaBusy: string;
149
- ariaChecked: string;
150
- ariaColCount: string;
151
- ariaColIndex: string;
152
- ariaColSpan: string;
153
- ariaCurrent: string;
154
- ariaDisabled: string;
155
- ariaExpanded: string;
156
- ariaHasPopup: string;
157
- ariaHidden: string;
158
- ariaKeyShortcuts: string;
159
- ariaLabel: string;
160
- ariaLevel: string;
161
- ariaLive: string;
162
- ariaModal: string;
163
- ariaMultiLine: string;
164
- ariaMultiSelectable: string;
165
- ariaOrientation: string;
166
- ariaPlaceholder: string;
167
- ariaPosInSet: string;
168
- ariaPressed: string;
169
- ariaReadOnly: string;
170
- ariaRequired: string;
171
- ariaRoleDescription: string;
172
- ariaRowCount: string;
173
- ariaRowIndex: string;
174
- ariaRowSpan: string;
175
- ariaSelected: string;
176
- ariaSetSize: string;
177
- ariaSort: string;
178
- ariaValueMax: string;
179
- ariaValueMin: string;
180
- ariaValueNow: string;
181
- ariaValueText: string;
146
+ ariaAtomic: string | null;
147
+ ariaAutoComplete: string | null;
148
+ ariaBusy: string | null;
149
+ ariaChecked: string | null;
150
+ ariaColCount: string | null;
151
+ ariaColIndex: string | null;
152
+ ariaColSpan: string | null;
153
+ ariaCurrent: string | null;
154
+ ariaDisabled: string | null;
155
+ ariaExpanded: string | null;
156
+ ariaHasPopup: string | null;
157
+ ariaHidden: string | null;
158
+ ariaKeyShortcuts: string | null;
159
+ ariaLabel: string | null;
160
+ ariaLevel: string | null;
161
+ ariaLive: string | null;
162
+ ariaModal: string | null;
163
+ ariaMultiLine: string | null;
164
+ ariaMultiSelectable: string | null;
165
+ ariaOrientation: string | null;
166
+ ariaPlaceholder: string | null;
167
+ ariaPosInSet: string | null;
168
+ ariaPressed: string | null;
169
+ ariaReadOnly: string | null;
170
+ ariaRequired: string | null;
171
+ ariaRoleDescription: string | null;
172
+ ariaRowCount: string | null;
173
+ ariaRowIndex: string | null;
174
+ ariaRowSpan: string | null;
175
+ ariaSelected: string | null;
176
+ ariaSetSize: string | null;
177
+ ariaSort: string | null;
178
+ ariaValueMax: string | null;
179
+ ariaValueMin: string | null;
180
+ ariaValueNow: string | null;
181
+ ariaValueText: string | null;
182
182
  animate(keyframes: Keyframe[] | PropertyIndexedKeyframes | null, options?: number | KeyframeAnimationOptions | undefined): Animation;
183
183
  getAnimations(options?: GetAnimationsOptions | undefined): Animation[];
184
184
  after(...nodes: (string | Node)[]): void;
@@ -272,11 +272,13 @@ export declare const createIllustrationClass: (templateHTML: string) => {
272
272
  onreset: ((this: GlobalEventHandlers, ev: Event) => any) | null;
273
273
  onresize: ((this: GlobalEventHandlers, ev: UIEvent) => any) | null;
274
274
  onscroll: ((this: GlobalEventHandlers, ev: Event) => any) | null;
275
+ onsecuritypolicyviolation: ((this: GlobalEventHandlers, ev: SecurityPolicyViolationEvent) => any) | null;
275
276
  onseeked: ((this: GlobalEventHandlers, ev: Event) => any) | null;
276
277
  onseeking: ((this: GlobalEventHandlers, ev: Event) => any) | null;
277
278
  onselect: ((this: GlobalEventHandlers, ev: Event) => any) | null;
278
279
  onselectionchange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
279
280
  onselectstart: ((this: GlobalEventHandlers, ev: Event) => any) | null;
281
+ onslotchange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
280
282
  onstalled: ((this: GlobalEventHandlers, ev: Event) => any) | null;
281
283
  onsubmit: ((this: GlobalEventHandlers, ev: SubmitEvent) => any) | null;
282
284
  onsuspend: ((this: GlobalEventHandlers, ev: Event) => any) | null;
package/index.d.ts CHANGED
@@ -48,10 +48,65 @@ import './icon/north';
48
48
  import './icon/north-east';
49
49
  import './icon/north-west';
50
50
  import './icon/open-in-new';
51
+ import './icon/search';
51
52
  import './icon/south';
52
53
  import './icon/south-east';
53
54
  import './icon/south-west';
54
55
  import './icon/west';
56
+ import './icon/add-alert';
57
+ import './icon/auto-delete';
58
+ import './icon/error';
59
+ import './icon/error-outline';
60
+ import './icon/notification-important';
61
+ import './icon/attach-email';
62
+ import './icon/attachment';
63
+ import './icon/cloud';
64
+ import './icon/cloud-circle';
65
+ import './icon/cloud-done';
66
+ import './icon/cloud-download';
67
+ import './icon/cloud-off';
68
+ import './icon/cloud-queue';
69
+ import './icon/cloud-upload';
70
+ import './icon/create-new-folder';
71
+ import './icon/download';
72
+ import './icon/download-done';
73
+ import './icon/folder';
74
+ import './icon/folder-open';
75
+ import './icon/folder-shared';
76
+ import './icon/request-quote';
77
+ import './icon/rule-folder';
78
+ import './icon/snippet-folder';
79
+ import './icon/text-snippet';
80
+ import './icon/topic';
81
+ import './icon/upload';
82
+ import './icon/app-settings-alt';
83
+ import './icon/apps';
84
+ import './icon/arrow-drop-down';
85
+ import './icon/arrow-drop-down-circle';
86
+ import './icon/arrow-drop-up';
87
+ import './icon/arrow-left';
88
+ import './icon/arrow-right';
89
+ import './icon/campaign';
90
+ import './icon/check';
91
+ import './icon/double-arrow';
92
+ import './icon/first-page';
93
+ import './icon/fullscreen';
94
+ import './icon/fullscreen-exit';
95
+ import './icon/home-work';
96
+ import './icon/last-page';
97
+ import './icon/legend-toggle';
98
+ import './icon/menu';
99
+ import './icon/menu-open';
100
+ import './icon/payments';
101
+ import './icon/refresh';
102
+ import './icon/subdirectory-arrow-left';
103
+ import './icon/subdirectory-arrow-right';
104
+ import './icon/switch-left';
105
+ import './icon/switch-right';
106
+ import './icon/unfold-less';
107
+ import './icon/unfold-more';
108
+ import './icon/warning';
109
+ import './icon/warning-amber';
55
110
  import './illustration/phone-and-cat';
56
111
  import './pagination';
57
112
  import './table';
@@ -79,3 +134,5 @@ import './dialog';
79
134
  import './grid';
80
135
  import './grid-item';
81
136
  import './icon-button';
137
+ import './search';
138
+ import './search-option';
package/index.js CHANGED
@@ -48,10 +48,65 @@ import './icon/north';
48
48
  import './icon/north-east';
49
49
  import './icon/north-west';
50
50
  import './icon/open-in-new';
51
+ import './icon/search';
51
52
  import './icon/south';
52
53
  import './icon/south-east';
53
54
  import './icon/south-west';
54
55
  import './icon/west';
56
+ import './icon/add-alert';
57
+ import './icon/auto-delete';
58
+ import './icon/error';
59
+ import './icon/error-outline';
60
+ import './icon/notification-important';
61
+ import './icon/attach-email';
62
+ import './icon/attachment';
63
+ import './icon/cloud';
64
+ import './icon/cloud-circle';
65
+ import './icon/cloud-done';
66
+ import './icon/cloud-download';
67
+ import './icon/cloud-off';
68
+ import './icon/cloud-queue';
69
+ import './icon/cloud-upload';
70
+ import './icon/create-new-folder';
71
+ import './icon/download';
72
+ import './icon/download-done';
73
+ import './icon/folder';
74
+ import './icon/folder-open';
75
+ import './icon/folder-shared';
76
+ import './icon/request-quote';
77
+ import './icon/rule-folder';
78
+ import './icon/snippet-folder';
79
+ import './icon/text-snippet';
80
+ import './icon/topic';
81
+ import './icon/upload';
82
+ import './icon/app-settings-alt';
83
+ import './icon/apps';
84
+ import './icon/arrow-drop-down';
85
+ import './icon/arrow-drop-down-circle';
86
+ import './icon/arrow-drop-up';
87
+ import './icon/arrow-left';
88
+ import './icon/arrow-right';
89
+ import './icon/campaign';
90
+ import './icon/check';
91
+ import './icon/double-arrow';
92
+ import './icon/first-page';
93
+ import './icon/fullscreen';
94
+ import './icon/fullscreen-exit';
95
+ import './icon/home-work';
96
+ import './icon/last-page';
97
+ import './icon/legend-toggle';
98
+ import './icon/menu';
99
+ import './icon/menu-open';
100
+ import './icon/payments';
101
+ import './icon/refresh';
102
+ import './icon/subdirectory-arrow-left';
103
+ import './icon/subdirectory-arrow-right';
104
+ import './icon/switch-left';
105
+ import './icon/switch-right';
106
+ import './icon/unfold-less';
107
+ import './icon/unfold-more';
108
+ import './icon/warning';
109
+ import './icon/warning-amber';
55
110
  import './illustration/phone-and-cat';
56
111
  import './pagination';
57
112
  import './table';
@@ -78,4 +133,6 @@ import './icon-branded/users';
78
133
  import './dialog';
79
134
  import './grid';
80
135
  import './grid-item';
81
- import './icon-button';
136
+ import './icon-button';
137
+ import './search';
138
+ import './search-option';
package/input/index.d.ts CHANGED
@@ -1,6 +1,9 @@
1
1
  import type { TSinchElementReact } from '../types';
2
2
  import type { DOMAttributes, FocusEvent, SyntheticEvent } from 'react';
3
+ declare const inputTypes: readonly ["text", "password"];
4
+ export declare type TTextInputType = typeof inputTypes[number];
3
5
  export declare type TSinchInputElement = HTMLElement & {
6
+ type: TTextInputType;
4
7
  value: string;
5
8
  label: string;
6
9
  placeholder: string | null;
@@ -12,6 +15,7 @@ export declare type TSinchInputElement = HTMLElement & {
12
15
  blur(): void;
13
16
  };
14
17
  export declare type TSinchInputReact = TSinchElementReact<TSinchInputElement> & {
18
+ type?: TTextInputType;
15
19
  value: string;
16
20
  label: string;
17
21
  placeholder?: string;
@@ -35,3 +39,4 @@ declare global {
35
39
  'sinch-input': TSinchInputElement;
36
40
  }
37
41
  }
42
+ export {};
package/input/index.js CHANGED
@@ -7,8 +7,9 @@ function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedec
7
7
 
8
8
  function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
9
9
 
10
- import { defineCustomElement, getAttribute, getBooleanAttribute, isAttrTrue, updateAttribute, updateBooleanAttribute } from '../utils';
11
- const templateHTML = '<style>:host{display:inline-block;vertical-align:middle;outline:0;--sinch-color-icon:var(--sinch-color-stormy-500)}#wrapper{width:100%;box-sizing:border-box}#input{all:initial;border:1px solid var(--sinch-color-stormy-200);box-sizing:border-box;border-radius:4px;width:100%;height:48px;margin:2px 0;padding:0 12px;font:var(--sinch-font-body);color:var(--sinch-color-text-default);caret-color:var(--sinch-caret-color,auto)}#input::placeholder{font:var(--sinch-font-body);color:var(--sinch-color-text-muted)}#input:disabled{border-color:var(--sinch-color-snow-500);color:var(--sinch-color-stormy-100)}#input:disabled::placeholder{color:var(--sinch-color-snow-500)}#input:focus{border-color:var(--sinch-color-stormy-600)}:host([invalidtext]:not([invalidtext=""])) #input:not(:disabled){border-color:var(--sinch-color-text-invalid)}#bottom,#top{display:flex;align-items:baseline}#top{height:24px}#bottom{height:20px}#additional,#invalid,#label,#optional{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#label{font:var(--sinch-font-title-4);color:var(--sinch-color-text-default)}#optional{flex:1;text-align:right;font:var(--sinch-font-small-text);color:var(--sinch-color-text-muted)}#additional{flex:1;text-align:right;font:var(--sinch-font-extra-small-text);color:var(--sinch-color-text-muted)}#invalid{font:var(--sinch-font-extra-small-text);color:var(--sinch-color-text-invalid)}::slotted(sinch-help-tooltip){align-self:center;margin:0 8px}:host([disabled]:not([disabled=false])) :is(#label,#additional,#optional,#invalid){color:var(--sinch-color-stormy-100)}:host([disabled]:not([disabled=false])){--sinch-color-icon:var(--sinch-color-stormy-100)}</style><div id="wrapper"><div id="top"><label id="label" for="input"></label><slot name="tooltip"></slot><span id="optional"></span></div><input id="input" type="text"/><div id="bottom"><span id="invalid"></span> <span id="additional"></span></div></div>';
10
+ import { defineCustomElement, getAttribute, getBooleanAttribute, getLiteralAttribute, isAttrTrue, updateAttribute, updateBooleanAttribute, updateLiteralAttribute } from '../utils';
11
+ const templateHTML = '<style>:host{display:inline-block;vertical-align:middle;outline:0;--sinch-color-icon:var(--sinch-color-stormy-500)}#wrapper{width:100%;box-sizing:border-box}#input{all:initial;border:1px solid var(--sinch-color-stormy-200);box-sizing:border-box;border-radius:4px;width:100%;height:48px;margin:2px 0;padding:0 12px;font:var(--sinch-font-body);color:var(--sinch-color-text-default);caret-color:var(--sinch-caret-color,auto)}#input::placeholder{font:var(--sinch-font-body);color:var(--sinch-color-text-muted)}#input:disabled{border-color:var(--sinch-color-snow-500);color:var(--sinch-color-stormy-100)}#input:disabled::placeholder{color:var(--sinch-color-snow-500)}#input:focus{border-color:var(--sinch-color-stormy-600)}#input[type=password]{font-size:1.5em;letter-spacing:.1em}:host([invalidtext]:not([invalidtext=""])) #input:not(:disabled){border-color:var(--sinch-color-text-invalid)}#bottom,#top{display:flex;align-items:baseline}#top{height:24px}#bottom{height:20px}#additional,#invalid,#label,#optional{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#label{font:var(--sinch-font-title-4);color:var(--sinch-color-text-default)}#optional{flex:1;text-align:right;font:var(--sinch-font-small-text);color:var(--sinch-color-text-muted)}#additional{flex:1;text-align:right;font:var(--sinch-font-extra-small-text);color:var(--sinch-color-text-muted)}#invalid{font:var(--sinch-font-extra-small-text);color:var(--sinch-color-text-invalid)}::slotted(sinch-help-tooltip){align-self:center;margin:0 8px}:host([disabled]:not([disabled=false])) :is(#label,#additional,#optional,#invalid){color:var(--sinch-color-stormy-100)}:host([disabled]:not([disabled=false])){--sinch-color-icon:var(--sinch-color-stormy-100)}</style><div id="wrapper"><div id="top"><label id="label" for="input"></label><slot name="tooltip"></slot><span id="optional"></span></div><input id="input" type="text"/><div id="bottom"><span id="invalid"></span> <span id="additional"></span></div></div>';
12
+ const inputTypes = ['text', 'password'];
12
13
  const template = document.createElement('template');
13
14
  template.innerHTML = templateHTML;
14
15
  defineCustomElement('sinch-input', (_$input = new WeakMap(), _$label = new WeakMap(), _$optionalText = new WeakMap(), _$additionalText = new WeakMap(), _$invalidText = new WeakMap(), _selectionStart = new WeakMap(), _selectionEnd = new WeakMap(), _onInput = new WeakMap(), class extends HTMLElement {
@@ -115,17 +116,21 @@ defineCustomElement('sinch-input', (_$input = new WeakMap(), _$label = new WeakM
115
116
  }
116
117
 
117
118
  static get observedAttributes() {
118
- return ['value', 'placeholder', 'label', 'optionaltext', 'additionaltext', 'invalidtext', 'disabled'];
119
- }
120
-
121
- get type() {
122
- return 'text';
119
+ return ['type', 'value', 'placeholder', 'label', 'optionaltext', 'additionaltext', 'invalidtext', 'disabled'];
123
120
  }
124
121
 
125
122
  get nodeName() {
126
123
  return 'input';
127
124
  }
128
125
 
126
+ set type(value) {
127
+ updateAttribute(this, 'type', value);
128
+ }
129
+
130
+ get type() {
131
+ return getLiteralAttribute(this, inputTypes, 'type', 'text');
132
+ }
133
+
129
134
  set value(value) {
130
135
  updateAttribute(this, 'value', value);
131
136
  }
@@ -184,6 +189,12 @@ defineCustomElement('sinch-input', (_$input = new WeakMap(), _$label = new WeakM
184
189
 
185
190
  attributeChangedCallback(name, _, newVal) {
186
191
  switch (name) {
192
+ case 'type':
193
+ {
194
+ updateLiteralAttribute(_classPrivateFieldGet(this, _$input), inputTypes, 'type', newVal);
195
+ break;
196
+ }
197
+
187
198
  case 'value':
188
199
  {
189
200
  const nextVal = newVal ?? '';
@@ -144,42 +144,42 @@ export declare const createLogoClass: (templateHTML: string) => {
144
144
  readonly PROCESSING_INSTRUCTION_NODE: number;
145
145
  readonly TEXT_NODE: number;
146
146
  dispatchEvent(event: Event): boolean;
147
- ariaAtomic: string;
148
- ariaAutoComplete: string;
149
- ariaBusy: string;
150
- ariaChecked: string;
151
- ariaColCount: string;
152
- ariaColIndex: string;
153
- ariaColSpan: string;
154
- ariaCurrent: string;
155
- ariaDisabled: string;
156
- ariaExpanded: string;
157
- ariaHasPopup: string;
158
- ariaHidden: string;
159
- ariaKeyShortcuts: string;
160
- ariaLabel: string;
161
- ariaLevel: string;
162
- ariaLive: string;
163
- ariaModal: string;
164
- ariaMultiLine: string;
165
- ariaMultiSelectable: string;
166
- ariaOrientation: string;
167
- ariaPlaceholder: string;
168
- ariaPosInSet: string;
169
- ariaPressed: string;
170
- ariaReadOnly: string;
171
- ariaRequired: string;
172
- ariaRoleDescription: string;
173
- ariaRowCount: string;
174
- ariaRowIndex: string;
175
- ariaRowSpan: string;
176
- ariaSelected: string;
177
- ariaSetSize: string;
178
- ariaSort: string;
179
- ariaValueMax: string;
180
- ariaValueMin: string;
181
- ariaValueNow: string;
182
- ariaValueText: string;
147
+ ariaAtomic: string | null;
148
+ ariaAutoComplete: string | null;
149
+ ariaBusy: string | null;
150
+ ariaChecked: string | null;
151
+ ariaColCount: string | null;
152
+ ariaColIndex: string | null;
153
+ ariaColSpan: string | null;
154
+ ariaCurrent: string | null;
155
+ ariaDisabled: string | null;
156
+ ariaExpanded: string | null;
157
+ ariaHasPopup: string | null;
158
+ ariaHidden: string | null;
159
+ ariaKeyShortcuts: string | null;
160
+ ariaLabel: string | null;
161
+ ariaLevel: string | null;
162
+ ariaLive: string | null;
163
+ ariaModal: string | null;
164
+ ariaMultiLine: string | null;
165
+ ariaMultiSelectable: string | null;
166
+ ariaOrientation: string | null;
167
+ ariaPlaceholder: string | null;
168
+ ariaPosInSet: string | null;
169
+ ariaPressed: string | null;
170
+ ariaReadOnly: string | null;
171
+ ariaRequired: string | null;
172
+ ariaRoleDescription: string | null;
173
+ ariaRowCount: string | null;
174
+ ariaRowIndex: string | null;
175
+ ariaRowSpan: string | null;
176
+ ariaSelected: string | null;
177
+ ariaSetSize: string | null;
178
+ ariaSort: string | null;
179
+ ariaValueMax: string | null;
180
+ ariaValueMin: string | null;
181
+ ariaValueNow: string | null;
182
+ ariaValueText: string | null;
183
183
  animate(keyframes: Keyframe[] | PropertyIndexedKeyframes | null, options?: number | KeyframeAnimationOptions | undefined): Animation;
184
184
  getAnimations(options?: GetAnimationsOptions | undefined): Animation[];
185
185
  after(...nodes: (string | Node)[]): void;
@@ -273,11 +273,13 @@ export declare const createLogoClass: (templateHTML: string) => {
273
273
  onreset: ((this: GlobalEventHandlers, ev: Event) => any) | null;
274
274
  onresize: ((this: GlobalEventHandlers, ev: UIEvent) => any) | null;
275
275
  onscroll: ((this: GlobalEventHandlers, ev: Event) => any) | null;
276
+ onsecuritypolicyviolation: ((this: GlobalEventHandlers, ev: SecurityPolicyViolationEvent) => any) | null;
276
277
  onseeked: ((this: GlobalEventHandlers, ev: Event) => any) | null;
277
278
  onseeking: ((this: GlobalEventHandlers, ev: Event) => any) | null;
278
279
  onselect: ((this: GlobalEventHandlers, ev: Event) => any) | null;
279
280
  onselectionchange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
280
281
  onselectstart: ((this: GlobalEventHandlers, ev: Event) => any) | null;
282
+ onslotchange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
281
283
  onstalled: ((this: GlobalEventHandlers, ev: Event) => any) | null;
282
284
  onsubmit: ((this: GlobalEventHandlers, ev: SubmitEvent) => any) | null;
283
285
  onsuspend: ((this: GlobalEventHandlers, ev: Event) => any) | null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nectary/components",
3
- "version": "0.13.0",
3
+ "version": "0.15.0",
4
4
  "files": [
5
5
  "theme.css",
6
6
  "**/*/*.js",
@@ -8,7 +8,7 @@ function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedec
8
8
  function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
9
9
 
10
10
  import { defineCustomElement, getAttribute, getBooleanAttribute, isAttrTrue, updateAttribute, updateBooleanAttribute } from '../utils';
11
- const templateHTML = '<style>:host{--sinch-color-radio-outer-circle:var(--sinch-color-transparent);--sinch-color-radio-background:var(--sinch-color-snow-100);--sinch-color-radio-border:var(--sinch-color-stormy-300);--sinch-color-radio-outer-circle-checked:var(--sinch-color-transparent);--sinch-color-radio-border-checked:var(--sinch-color-tropical-500);--sinch-color-radio-outer-circle-hover:var(--sinch-color-snow-500);--sinch-color-radio-border-hover:var(--sinch-color-stormy-300);--sinch-color-radio-outer-circle-hover-checked:var(--sinch-color-tropical-100);--sinch-color-radio-border-hover-checked:var(--sinch-color-tropical-500);--sinch-color-radio-outer-circle-focus:var(--sinch-color-snow-800);--sinch-color-radio-border-focus:var(--sinch-color-stormy-300);--sinch-color-radio-outer-circle-focus-checked:var(--sinch-color-tropical-200);--sinch-color-radio-border-focus-checked:var(--sinch-color-tropical-500);--sinch-color-radio-outer-circle-active:var(--sinch-color-stormy-100);--sinch-color-radio-border-active:var(--sinch-color-stormy-300);--sinch-color-radio-outer-circle-active-checked:var(--sinch-color-tropical-300);--sinch-color-radio-border-active-checked:var(--sinch-color-tropical-500);--sinch-color-radio-outer-circle-disabled:var(--sinch-color-transparent);--sinch-color-radio-border-disabled:var(--sinch-color-stormy-100);--sinch-color-radio-outer-circle-disabled-checked:var(--sinch-color-transparent);--sinch-color-radio-border-disabled-checked:var(--sinch-color-stormy-100);display:block;outline:0}#wrapper{display:flex;height:32px;box-sizing:border-box;width:100%}#input{all:initial;display:block;width:32px;height:32px;cursor:pointer}#input:disabled{cursor:initial}#icon-container{position:relative;width:32px;height:32px}#input::before{content:"";position:absolute;top:0;left:0;width:32px;height:32px;border-radius:50%;pointer-events:none;background-color:var(--sinch-color-radio-outer-circle);transition:background-color .1s linear}#input::after{content:"";position:absolute;top:6px;left:6px;width:20px;height:20px;border-radius:50%;pointer-events:none;background-color:var(--sinch-color-radio-background);box-shadow:0 0 0 2px var(--sinch-color-radio-border) inset;transition:background-color .1s linear}#icon-knob{position:absolute;left:11px;top:11px;width:10px;height:10px;border-radius:50%;transition:opacity .1s linear;opacity:0%;background-color:var(--sinch-color-radio-border);pointer-events:none}@media (prefers-reduced-motion){#icon-knob,#input::after,#input::before{transition:none}}#label{align-self:center;flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding-left:8px;font:var(--sinch-font-body);color:var(--sinch-color-text-default)}:host([disabled]:not([disabled=false])) #label{color:var(--sinch-color-stormy-200)}#input:checked::before{background-color:var(--sinch-color-radio-outer-circle-checked)}#input:checked::after{box-shadow:0 0 0 2px var(--sinch-color-radio-border-checked) inset}#input:checked~#icon-knob{opacity:100%;background-color:var(--sinch-color-radio-border-checked)}#input:focus::before{background-color:var(--sinch-color-radio-outer-circle-focus)}#input:focus::after{box-shadow:0 0 0 2px var(--sinch-color-radio-border-focus) inset}#input:focus~#icon-knob{background-color:var(--sinch-color-radio-border-focus)}#input:hover::before{background-color:var(--sinch-color-radio-outer-circle-hover)}#input:hover::after{box-shadow:0 0 0 2px var(--sinch-color-radio-border-hover) inset}#input:hover~#icon-knob{background-color:var(--sinch-color-radio-border-hover)}#input:active::before{background-color:var(--sinch-color-radio-outer-circle-active)}#input:active::after{box-shadow:0 0 0 2px var(--sinch-color-radio-border-active) inset}#input:active~#icon-knob{background-color:var(--sinch-color-radio-border-active)}#input:disabled::before{background-color:var(--sinch-color-radio-outer-circle-disabled)}#input:disabled::after{box-shadow:0 0 0 2px var(--sinch-color-radio-border-disabled) inset}#input:disabled~#icon-knob{background-color:var(--sinch-color-radio-border-disabled)}#input:focus:checked::before{background-color:var(--sinch-color-radio-outer-circle-focus-checked)}#input:focus:checked::after{box-shadow:0 0 0 2px var(--sinch-color-radio-border-focus-checked) inset}#input:focus:checked~#icon-knob{opacity:100%;background-color:var(--sinch-color-radio-border-focus-checked)}#input:hover:checked::before{background-color:var(--sinch-color-radio-outer-circle-hover-checked)}#input:hover:checked::after{box-shadow:0 0 0 2px var(--sinch-color-radio-border-hover-checked) inset}#input:hover:checked~#icon-knob{opacity:100%;background-color:var(--sinch-color-radio-border-hover-checked)}#input:active:checked::before{background-color:var(--sinch-color-radio-outer-circle-active-checked)}#input:active:checked::after{box-shadow:0 0 0 2px var(--sinch-color-radio-border-active-checked) inset}#input:active:checked~#icon-knob{opacity:100%;background-color:var(--sinch-color-radio-border-active-checked)}#input:disabled:checked::before{background-color:var(--sinch-color-radio-outer-circle-disabled-checked)}#input:disabled:checked::after{box-shadow:0 0 0 2px var(--sinch-color-radio-border-disabled-checked) inset}#input:disabled:checked~#icon-knob{opacity:100%;background-color:var(--sinch-color-radio-border-disabled-checked)}</style><div id="wrapper"><div id="icon-container"><input id="input" type="radio"/><div id="icon-knob"></div></div><label for="input" id="label"></label></div>';
11
+ const templateHTML = '<style>:host{--sinch-color-radio-outer-circle:var(--sinch-color-transparent);--sinch-color-radio-background:var(--sinch-color-snow-100);--sinch-color-radio-border:var(--sinch-color-stormy-300);--sinch-color-radio-outer-circle-checked:var(--sinch-color-transparent);--sinch-color-radio-border-checked:var(--sinch-color-tropical-500);--sinch-color-radio-outer-circle-hover:var(--sinch-color-snow-500);--sinch-color-radio-border-hover:var(--sinch-color-stormy-300);--sinch-color-radio-outer-circle-hover-checked:var(--sinch-color-tropical-100);--sinch-color-radio-border-hover-checked:var(--sinch-color-tropical-500);--sinch-color-radio-outer-circle-focus:var(--sinch-color-snow-800);--sinch-color-radio-border-focus:var(--sinch-color-stormy-300);--sinch-color-radio-outer-circle-focus-checked:var(--sinch-color-tropical-200);--sinch-color-radio-border-focus-checked:var(--sinch-color-tropical-500);--sinch-color-radio-outer-circle-active:var(--sinch-color-stormy-100);--sinch-color-radio-border-active:var(--sinch-color-stormy-300);--sinch-color-radio-outer-circle-active-checked:var(--sinch-color-tropical-300);--sinch-color-radio-border-active-checked:var(--sinch-color-tropical-500);--sinch-color-radio-outer-circle-disabled:var(--sinch-color-transparent);--sinch-color-radio-border-disabled:var(--sinch-color-stormy-100);--sinch-color-radio-outer-circle-disabled-checked:var(--sinch-color-transparent);--sinch-color-radio-border-disabled-checked:var(--sinch-color-stormy-100);display:block;outline:0}#wrapper{display:flex;height:32px;box-sizing:border-box;width:100%}#input{all:initial;display:block;width:32px;height:32px;cursor:pointer}#input:disabled{cursor:initial}#icon-container{position:relative;width:32px;height:32px}#input::before{content:"";position:absolute;top:0;left:0;width:32px;height:32px;border-radius:50%;pointer-events:none;background-color:var(--sinch-color-radio-outer-circle);transition:background-color .1s linear}#input::after{content:"";position:absolute;top:6px;left:6px;width:20px;height:20px;border-radius:50%;pointer-events:none;background-color:var(--sinch-color-radio-background);box-shadow:0 0 0 2px var(--sinch-color-radio-border) inset;transition:background-color .1s linear}#icon-knob{position:absolute;left:11px;top:11px;width:10px;height:10px;border-radius:50%;transition:opacity .1s linear;opacity:0;background-color:var(--sinch-color-radio-border);pointer-events:none}@media (prefers-reduced-motion){#icon-knob,#input::after,#input::before{transition:none}}#label{align-self:center;flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding-left:8px;font:var(--sinch-font-body);color:var(--sinch-color-text-default)}:host([disabled]:not([disabled=false])) #label{color:var(--sinch-color-stormy-200)}#input:checked::before{background-color:var(--sinch-color-radio-outer-circle-checked)}#input:checked::after{box-shadow:0 0 0 2px var(--sinch-color-radio-border-checked) inset}#input:checked~#icon-knob{opacity:1;background-color:var(--sinch-color-radio-border-checked)}#input:focus::before{background-color:var(--sinch-color-radio-outer-circle-focus)}#input:focus::after{box-shadow:0 0 0 2px var(--sinch-color-radio-border-focus) inset}#input:focus~#icon-knob{background-color:var(--sinch-color-radio-border-focus)}#input:hover::before{background-color:var(--sinch-color-radio-outer-circle-hover)}#input:hover::after{box-shadow:0 0 0 2px var(--sinch-color-radio-border-hover) inset}#input:hover~#icon-knob{background-color:var(--sinch-color-radio-border-hover)}#input:active::before{background-color:var(--sinch-color-radio-outer-circle-active)}#input:active::after{box-shadow:0 0 0 2px var(--sinch-color-radio-border-active) inset}#input:active~#icon-knob{background-color:var(--sinch-color-radio-border-active)}#input:disabled::before{background-color:var(--sinch-color-radio-outer-circle-disabled)}#input:disabled::after{box-shadow:0 0 0 2px var(--sinch-color-radio-border-disabled) inset}#input:disabled~#icon-knob{background-color:var(--sinch-color-radio-border-disabled)}#input:focus:checked::before{background-color:var(--sinch-color-radio-outer-circle-focus-checked)}#input:focus:checked::after{box-shadow:0 0 0 2px var(--sinch-color-radio-border-focus-checked) inset}#input:focus:checked~#icon-knob{opacity:1;background-color:var(--sinch-color-radio-border-focus-checked)}#input:hover:checked::before{background-color:var(--sinch-color-radio-outer-circle-hover-checked)}#input:hover:checked::after{box-shadow:0 0 0 2px var(--sinch-color-radio-border-hover-checked) inset}#input:hover:checked~#icon-knob{opacity:1;background-color:var(--sinch-color-radio-border-hover-checked)}#input:active:checked::before{background-color:var(--sinch-color-radio-outer-circle-active-checked)}#input:active:checked::after{box-shadow:0 0 0 2px var(--sinch-color-radio-border-active-checked) inset}#input:active:checked~#icon-knob{opacity:1;background-color:var(--sinch-color-radio-border-active-checked)}#input:disabled:checked::before{background-color:var(--sinch-color-radio-outer-circle-disabled-checked)}#input:disabled:checked::after{box-shadow:0 0 0 2px var(--sinch-color-radio-border-disabled-checked) inset}#input:disabled:checked~#icon-knob{opacity:1;background-color:var(--sinch-color-radio-border-disabled-checked)}</style><div id="wrapper"><div id="icon-container"><input id="input" type="radio"/><div id="icon-knob"></div></div><label for="input" id="label"></label></div>';
12
12
  export const isRadioOptionElement = element => {
13
13
  return element instanceof Element && element.tagName === 'SINCH-RADIO-OPTION';
14
14
  };
@@ -0,0 +1,34 @@
1
+ import '../icon/search';
2
+ import '../icon/close';
3
+ import type { TRect, TSinchElementReact } from '../types';
4
+ import type { FocusEvent, SyntheticEvent } from 'react';
5
+ export declare type TSinchSearchElement = HTMLElement & {
6
+ value: string;
7
+ label: string | null;
8
+ placeholder: string | null;
9
+ maxVisibleItems: number | null;
10
+ readonly dropdownRect: TRect;
11
+ focus(): void;
12
+ blur(): void;
13
+ };
14
+ export declare type TSinchSearchReact = TSinchElementReact<TSinchSearchElement> & {
15
+ value: string;
16
+ label?: string;
17
+ placeholder?: string;
18
+ maxVisibleItems?: number;
19
+ 'aria-label': string;
20
+ 'clear-aria-label': string;
21
+ onChange: (e: SyntheticEvent<TSinchSearchElement, CustomEvent<string>>) => void;
22
+ onFocus?: (e: FocusEvent<TSinchSearchElement>) => void;
23
+ onBlur?: (e: FocusEvent<TSinchSearchElement>) => void;
24
+ };
25
+ declare global {
26
+ namespace JSX {
27
+ interface IntrinsicElements {
28
+ 'sinch-search': TSinchSearchReact;
29
+ }
30
+ }
31
+ interface HTMLElementTagNameMap {
32
+ 'sinch-search': TSinchSearchElement;
33
+ }
34
+ }