@nectary/components 0.30.0 → 0.32.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 (279) hide show
  1. package/accordion-item/types.d.ts +0 -2
  2. package/action-menu-option/types.d.ts +0 -2
  3. package/alert-button/types.d.ts +0 -2
  4. package/alert-close/types.d.ts +1 -4
  5. package/button/types.d.ts +13 -2
  6. package/card-button/types.d.ts +0 -2
  7. package/card-link/types.d.ts +0 -2
  8. package/checkbox/types.d.ts +0 -2
  9. package/date-picker/index.js +4 -4
  10. package/date-picker/types.d.ts +16 -1
  11. package/date-picker/utils.d.ts +1 -1
  12. package/date-picker/utils.js +10 -7
  13. package/dialog/index.js +2 -2
  14. package/dropdown/types.d.ts +0 -2
  15. package/icon-button/index.js +1 -1
  16. package/icon-button/types.d.ts +0 -2
  17. package/icons-branded/ai/index.d.ts +11 -0
  18. package/icons-branded/ai/index.js +4 -0
  19. package/icons-branded/custom-message/index.d.ts +11 -0
  20. package/icons-branded/custom-message/index.js +4 -0
  21. package/icons-branded/integration/index.d.ts +11 -0
  22. package/icons-branded/integration/index.js +4 -0
  23. package/icons-branded/line-chart-down/index.d.ts +11 -0
  24. package/icons-branded/line-chart-down/index.js +4 -0
  25. package/icons-branded/line-chart-up/index.d.ts +11 -0
  26. package/icons-branded/line-chart-up/index.js +4 -0
  27. package/icons-branded/time/index.d.ts +11 -0
  28. package/icons-branded/time/index.js +4 -0
  29. package/illustrations/5g/index.d.ts +11 -0
  30. package/illustrations/5g/index.js +4 -0
  31. package/illustrations/about-page/index.d.ts +11 -0
  32. package/illustrations/about-page/index.js +4 -0
  33. package/illustrations/bank/index.d.ts +11 -0
  34. package/illustrations/bank/index.js +4 -0
  35. package/illustrations/boost/index.d.ts +11 -0
  36. package/illustrations/boost/index.js +4 -0
  37. package/illustrations/buildvoicebot/index.d.ts +11 -0
  38. package/illustrations/buildvoicebot/index.js +4 -0
  39. package/illustrations/call-center/index.d.ts +11 -0
  40. package/illustrations/call-center/index.js +4 -0
  41. package/illustrations/cat-texting/index.d.ts +11 -0
  42. package/illustrations/cat-texting/index.js +4 -0
  43. package/illustrations/chat-bot/index.d.ts +11 -0
  44. package/illustrations/chat-bot/index.js +4 -0
  45. package/illustrations/check/index.d.ts +11 -0
  46. package/illustrations/check/index.js +4 -0
  47. package/illustrations/code/index.d.ts +11 -0
  48. package/illustrations/code/index.js +4 -0
  49. package/illustrations/contact-us/index.d.ts +11 -0
  50. package/illustrations/contact-us/index.js +4 -0
  51. package/illustrations/contactus/index.d.ts +11 -0
  52. package/illustrations/contactus/index.js +4 -0
  53. package/illustrations/conversation-api/index.d.ts +11 -0
  54. package/illustrations/conversation-api/index.js +4 -0
  55. package/illustrations/cooking/index.d.ts +11 -0
  56. package/illustrations/cooking/index.js +4 -0
  57. package/illustrations/costumer-support/index.d.ts +11 -0
  58. package/illustrations/costumer-support/index.js +4 -0
  59. package/illustrations/credit-card/index.d.ts +11 -0
  60. package/illustrations/credit-card/index.js +4 -0
  61. package/illustrations/credit-card-30-degrees/index.d.ts +11 -0
  62. package/illustrations/credit-card-30-degrees/index.js +4 -0
  63. package/illustrations/cute-bee/index.d.ts +11 -0
  64. package/illustrations/cute-bee/index.js +4 -0
  65. package/illustrations/decorative-flamingo/index.d.ts +11 -0
  66. package/illustrations/decorative-flamingo/index.js +4 -0
  67. package/illustrations/decorative-rainbow/index.d.ts +11 -0
  68. package/illustrations/decorative-rainbow/index.js +4 -0
  69. package/illustrations/delivery-service-package/index.d.ts +11 -0
  70. package/illustrations/delivery-service-package/index.js +4 -0
  71. package/illustrations/desktop/index.d.ts +11 -0
  72. package/illustrations/desktop/index.js +4 -0
  73. package/illustrations/document/index.d.ts +11 -0
  74. package/illustrations/document/index.js +4 -0
  75. package/illustrations/flower-hand/index.d.ts +11 -0
  76. package/illustrations/flower-hand/index.js +4 -0
  77. package/illustrations/football/index.d.ts +11 -0
  78. package/illustrations/football/index.js +4 -0
  79. package/illustrations/geometric-shapes-passing/index.d.ts +11 -0
  80. package/illustrations/geometric-shapes-passing/index.js +4 -0
  81. package/illustrations/girl-on-phone/index.d.ts +11 -0
  82. package/illustrations/girl-on-phone/index.js +4 -0
  83. package/illustrations/global-reach/index.d.ts +11 -0
  84. package/illustrations/global-reach/index.js +4 -0
  85. package/illustrations/hand-ok/index.d.ts +11 -0
  86. package/illustrations/hand-ok/index.js +4 -0
  87. package/illustrations/hands-laptop/index.d.ts +11 -0
  88. package/illustrations/hands-laptop/index.js +4 -0
  89. package/illustrations/handset-omnichannel-messages/index.d.ts +11 -0
  90. package/illustrations/handset-omnichannel-messages/index.js +4 -0
  91. package/illustrations/happy-text/index.d.ts +11 -0
  92. package/illustrations/happy-text/index.js +4 -0
  93. package/illustrations/headphones/index.d.ts +11 -0
  94. package/illustrations/headphones/index.js +4 -0
  95. package/illustrations/heart/index.d.ts +11 -0
  96. package/illustrations/heart/index.js +4 -0
  97. package/illustrations/hero-messages/index.d.ts +11 -0
  98. package/illustrations/hero-messages/index.js +4 -0
  99. package/illustrations/hero-page/index.d.ts +11 -0
  100. package/illustrations/hero-page/index.js +4 -0
  101. package/illustrations/jump/index.d.ts +11 -0
  102. package/illustrations/jump/index.js +4 -0
  103. package/illustrations/laptop-holding/index.d.ts +11 -0
  104. package/illustrations/laptop-holding/index.js +4 -0
  105. package/illustrations/laptop-sitting-verified/index.d.ts +11 -0
  106. package/illustrations/laptop-sitting-verified/index.js +4 -0
  107. package/illustrations/lightning/index.d.ts +11 -0
  108. package/illustrations/lightning/index.js +4 -0
  109. package/illustrations/lock/index.d.ts +11 -0
  110. package/illustrations/lock/index.js +4 -0
  111. package/illustrations/lying-and-looking-at-the-phone/index.d.ts +11 -0
  112. package/illustrations/lying-and-looking-at-the-phone/index.js +4 -0
  113. package/illustrations/magnifying-glass/index.d.ts +11 -0
  114. package/illustrations/magnifying-glass/index.js +4 -0
  115. package/illustrations/man-on-right/index.d.ts +11 -0
  116. package/illustrations/man-on-right/index.js +4 -0
  117. package/illustrations/meeting-scrum/index.d.ts +11 -0
  118. package/illustrations/meeting-scrum/index.js +4 -0
  119. package/illustrations/meeting-scrum-2/index.d.ts +11 -0
  120. package/illustrations/meeting-scrum-2/index.js +4 -0
  121. package/illustrations/megaphone/index.d.ts +11 -0
  122. package/illustrations/megaphone/index.js +4 -0
  123. package/illustrations/menu/index.d.ts +11 -0
  124. package/illustrations/menu/index.js +4 -0
  125. package/illustrations/message-passing/index.d.ts +11 -0
  126. package/illustrations/message-passing/index.js +4 -0
  127. package/illustrations/message-recieved/index.d.ts +11 -0
  128. package/illustrations/message-recieved/index.js +4 -0
  129. package/illustrations/messages/index.d.ts +11 -0
  130. package/illustrations/messages/index.js +4 -0
  131. package/illustrations/messages-on-yellow-bg/index.d.ts +11 -0
  132. package/illustrations/messages-on-yellow-bg/index.js +4 -0
  133. package/illustrations/messages-shopping/index.d.ts +11 -0
  134. package/illustrations/messages-shopping/index.js +4 -0
  135. package/illustrations/monitor/index.d.ts +11 -0
  136. package/illustrations/monitor/index.js +4 -0
  137. package/illustrations/numbers-passing/index.d.ts +11 -0
  138. package/illustrations/numbers-passing/index.js +4 -0
  139. package/illustrations/office-worker/index.d.ts +11 -0
  140. package/illustrations/office-worker/index.js +4 -0
  141. package/illustrations/old-person-on-phone/index.d.ts +11 -0
  142. package/illustrations/old-person-on-phone/index.js +4 -0
  143. package/illustrations/omnichannel-messaging/index.d.ts +11 -0
  144. package/illustrations/omnichannel-messaging/index.js +4 -0
  145. package/illustrations/on-the-phone/index.d.ts +11 -0
  146. package/illustrations/on-the-phone/index.js +4 -0
  147. package/illustrations/parcel-delivery/index.d.ts +11 -0
  148. package/illustrations/parcel-delivery/index.js +4 -0
  149. package/illustrations/passing-heart/index.d.ts +11 -0
  150. package/illustrations/passing-heart/index.js +4 -0
  151. package/illustrations/passing-heart-cool/index.d.ts +11 -0
  152. package/illustrations/passing-heart-cool/index.js +4 -0
  153. package/illustrations/person-on-phone/index.d.ts +11 -0
  154. package/illustrations/person-on-phone/index.js +4 -0
  155. package/illustrations/person-on-walk/index.d.ts +11 -0
  156. package/illustrations/person-on-walk/index.js +4 -0
  157. package/illustrations/person-with-dog/index.d.ts +11 -0
  158. package/illustrations/person-with-dog/index.js +4 -0
  159. package/illustrations/person-with-phone/index.d.ts +11 -0
  160. package/illustrations/person-with-phone/index.js +4 -0
  161. package/illustrations/pineapple/index.d.ts +11 -0
  162. package/illustrations/pineapple/index.js +4 -0
  163. package/illustrations/pizza/index.d.ts +11 -0
  164. package/illustrations/pizza/index.js +4 -0
  165. package/illustrations/plane/index.d.ts +11 -0
  166. package/illustrations/plane/index.js +4 -0
  167. package/illustrations/presenting-charts/index.d.ts +11 -0
  168. package/illustrations/presenting-charts/index.js +4 -0
  169. package/illustrations/product-page/index.d.ts +11 -0
  170. package/illustrations/product-page/index.js +4 -0
  171. package/illustrations/product-page-2/index.d.ts +11 -0
  172. package/illustrations/product-page-2/index.js +4 -0
  173. package/illustrations/scooter/index.d.ts +11 -0
  174. package/illustrations/scooter/index.js +4 -0
  175. package/illustrations/security/index.d.ts +11 -0
  176. package/illustrations/security/index.js +4 -0
  177. package/illustrations/security-camera/index.d.ts +11 -0
  178. package/illustrations/security-camera/index.js +4 -0
  179. package/illustrations/sherlockholmes/index.d.ts +11 -0
  180. package/illustrations/sherlockholmes/index.js +4 -0
  181. package/illustrations/shoe/index.d.ts +11 -0
  182. package/illustrations/shoe/index.js +4 -0
  183. package/illustrations/shopping/index.d.ts +11 -0
  184. package/illustrations/shopping/index.js +4 -0
  185. package/illustrations/shopping-cart/index.d.ts +11 -0
  186. package/illustrations/shopping-cart/index.js +4 -0
  187. package/illustrations/sick-kid/index.d.ts +11 -0
  188. package/illustrations/sick-kid/index.js +4 -0
  189. package/illustrations/sitting-messaging/index.d.ts +11 -0
  190. package/illustrations/sitting-messaging/index.js +4 -0
  191. package/illustrations/sitting-person/index.d.ts +11 -0
  192. package/illustrations/sitting-person/index.js +4 -0
  193. package/illustrations/sitting-person-2/index.d.ts +11 -0
  194. package/illustrations/sitting-person-2/index.js +4 -0
  195. package/illustrations/sofa/index.d.ts +11 -0
  196. package/illustrations/sofa/index.js +4 -0
  197. package/illustrations/stats/index.d.ts +11 -0
  198. package/illustrations/stats/index.js +4 -0
  199. package/illustrations/support-center/index.d.ts +11 -0
  200. package/illustrations/support-center/index.js +4 -0
  201. package/illustrations/supporting-device/index.d.ts +11 -0
  202. package/illustrations/supporting-device/index.js +4 -0
  203. package/illustrations/supporting-device-2/index.d.ts +11 -0
  204. package/illustrations/supporting-device-2/index.js +4 -0
  205. package/illustrations/supporting-device-3/index.d.ts +11 -0
  206. package/illustrations/supporting-device-3/index.js +4 -0
  207. package/illustrations/supporting-device-4/index.d.ts +11 -0
  208. package/illustrations/supporting-device-4/index.js +4 -0
  209. package/illustrations/surf/index.d.ts +11 -0
  210. package/illustrations/surf/index.js +4 -0
  211. package/illustrations/taxi/index.d.ts +11 -0
  212. package/illustrations/taxi/index.js +4 -0
  213. package/illustrations/taxi-2/index.d.ts +11 -0
  214. package/illustrations/taxi-2/index.js +4 -0
  215. package/illustrations/teamwork-from-phone/index.d.ts +11 -0
  216. package/illustrations/teamwork-from-phone/index.js +4 -0
  217. package/illustrations/telemast/index.d.ts +11 -0
  218. package/illustrations/telemast/index.js +4 -0
  219. package/illustrations/texting-sitting/index.d.ts +11 -0
  220. package/illustrations/texting-sitting/index.js +4 -0
  221. package/illustrations/texting-sofa/index.d.ts +11 -0
  222. package/illustrations/texting-sofa/index.js +4 -0
  223. package/illustrations/train/index.d.ts +11 -0
  224. package/illustrations/train/index.js +4 -0
  225. package/illustrations/video-voice-call/index.d.ts +11 -0
  226. package/illustrations/video-voice-call/index.js +4 -0
  227. package/illustrations/voicebot/index.d.ts +11 -0
  228. package/illustrations/voicebot/index.js +4 -0
  229. package/illustrations/walking-on-phone/index.d.ts +11 -0
  230. package/illustrations/walking-on-phone/index.js +4 -0
  231. package/illustrations/what-tools/index.d.ts +11 -0
  232. package/illustrations/what-tools/index.js +4 -0
  233. package/illustrations/win-together/index.d.ts +11 -0
  234. package/illustrations/win-together/index.js +4 -0
  235. package/illustrations/win-together-two-people/index.d.ts +11 -0
  236. package/illustrations/win-together-two-people/index.js +4 -0
  237. package/illustrations/wizard/index.d.ts +11 -0
  238. package/illustrations/wizard/index.js +4 -0
  239. package/illustrations/woman-hand-lifted/index.d.ts +11 -0
  240. package/illustrations/woman-hand-lifted/index.js +4 -0
  241. package/illustrations/woman-on-left/index.d.ts +11 -0
  242. package/illustrations/woman-on-left/index.js +4 -0
  243. package/illustrations/woman-on-right/index.d.ts +11 -0
  244. package/illustrations/woman-on-right/index.js +4 -0
  245. package/input/types.d.ts +35 -10
  246. package/link/index.d.ts +1 -1
  247. package/link/index.js +1 -1
  248. package/package.json +1 -1
  249. package/pagination/types.d.ts +0 -2
  250. package/popover/index.js +2 -2
  251. package/radio-option/types.d.ts +0 -2
  252. package/search/types.d.ts +0 -2
  253. package/segment/index.js +30 -3
  254. package/segment-collapse/types.d.ts +0 -2
  255. package/segmented-control-option/index.js +1 -1
  256. package/segmented-control-option/types.d.ts +0 -2
  257. package/segmented-icon-control-option/types.d.ts +0 -2
  258. package/select/index.js +1 -1
  259. package/select/types.d.ts +0 -2
  260. package/tabs-option/types.d.ts +0 -2
  261. package/tag-close/types.d.ts +1 -4
  262. package/text/index.js +1 -3
  263. package/textarea/types.d.ts +0 -2
  264. package/time-picker/index.d.ts +17 -0
  265. package/time-picker/index.js +525 -0
  266. package/time-picker/types.d.ts +31 -0
  267. package/time-picker/types.js +1 -0
  268. package/time-picker/utils.d.ts +11 -0
  269. package/time-picker/utils.js +94 -0
  270. package/toggle/types.d.ts +0 -2
  271. package/utils.js +1 -1
  272. /package/{illustration → illustrations}/create-illustration-class.d.ts +0 -0
  273. /package/{illustration → illustrations}/create-illustration-class.js +0 -0
  274. /package/{illustration → illustrations}/phone-and-cat/index.d.ts +0 -0
  275. /package/{illustration → illustrations}/phone-and-cat/index.js +0 -0
  276. /package/{illustration → illustrations}/types.d.ts +0 -0
  277. /package/{illustration → illustrations}/types.js +0 -0
  278. /package/{illustration → illustrations}/utils.d.ts +0 -0
  279. /package/{illustration → illustrations}/utils.js +0 -0
package/input/types.d.ts CHANGED
@@ -2,38 +2,63 @@ import type { TSinchElementReact } from '../types';
2
2
  import type { SyntheticEvent } from 'react';
3
3
  export declare type TSinchInputType = 'text' | 'password';
4
4
  export declare type TSinchInputElement = HTMLElement & {
5
+ /** Text field type, `text` by default */
5
6
  type: TSinchInputType;
7
+ /** Value */
6
8
  value: string;
9
+ /** Label */
7
10
  label: string;
11
+ /** Text that appears in the text field when it has no value set */
8
12
  placeholder: string | null;
13
+ /** Optional text */
9
14
  optionalText: string | null;
10
- invalidText: string | null;
15
+ /** Additional text */
11
16
  additionalText: string | null;
17
+ /** Invalid text, controls the overall invalid state of the text field */
18
+ invalidText: string | null;
19
+ /** Disabled */
12
20
  disabled: boolean;
13
- selectionStart: HTMLInputElement['selectionStart'];
14
- selectionEnd: HTMLInputElement['selectionEnd'];
15
- selectionDirection: HTMLInputElement['selectionDirection'];
16
- focus(): void;
17
- blur(): void;
21
+ selectionStart: number | null;
22
+ selectionEnd: number | null;
23
+ selectionDirection: 'forward' | 'backward' | 'none' | null;
24
+ /** Change value event */
18
25
  addEventListener(type: 'change', listener: (e: CustomEvent<string>) => void): void;
26
+ /** Text field type, `text` by default */
19
27
  setAttribute(name: 'type', value: TSinchInputType): void;
28
+ /** Value */
20
29
  setAttribute(name: 'value', value: string): void;
30
+ /** Label */
21
31
  setAttribute(name: 'label', value: string): void;
32
+ /** Text that appears in the text field when it has no value set */
22
33
  setAttribute(name: 'placeholder', value: string): void;
34
+ /** Optional text */
23
35
  setAttribute(name: 'optionaltext', value: string): void;
24
- setAttribute(name: 'invalidtext', value: string): void;
36
+ /** Additional text */
25
37
  setAttribute(name: 'additionaltext', value: string): void;
38
+ /** Invalid text, controls the overall invalid state of the text field */
39
+ setAttribute(name: 'invalidtext', value: string): void;
40
+ /** Disabled */
26
41
  setAttribute(name: 'disabled', value: ''): void;
27
42
  };
28
43
  export declare type TSinchInputReact = TSinchElementReact<TSinchInputElement> & {
29
- type?: TSinchInputType;
44
+ /** Controlled value, doesn't change on its own and requres an onChange-value state loop */
30
45
  value: string;
46
+ /** Label that shows in UI */
31
47
  label: string;
48
+ /** Label that is used for a11y – might be different from `label` */
49
+ 'aria-label': string;
50
+ /** Text field type, `text` by default */
51
+ type?: TSinchInputType;
52
+ /** Text that appears in the text field when it has no value set */
32
53
  placeholder?: string;
54
+ /** Optional text */
33
55
  optionalText?: string;
34
- invalidText?: string;
56
+ /** Additional text */
35
57
  additionalText?: string;
58
+ /** Invalid text, controls the overall invalid state of the text field */
59
+ invalidText?: string;
60
+ /** Disabled */
36
61
  disabled?: boolean;
37
- 'aria-label': string;
62
+ /** Change value handler */
38
63
  onChange: (e: SyntheticEvent<TSinchInputElement, CustomEvent<string>>) => void;
39
64
  };
package/link/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import '../icons/cancel';
1
+ import '../icons/open-in-new';
2
2
  import type { TSinchLinkElement, TSinchLinkReact } from './types';
3
3
  declare global {
4
4
  namespace JSX {
package/link/index.js CHANGED
@@ -7,7 +7,7 @@ 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 '../icons/cancel';
10
+ import '../icons/open-in-new';
11
11
  import { defineCustomElement, getBooleanAttribute, getAttribute, updateBooleanAttribute, updateAttribute, NectaryElement, isAttrTrue } from '../utils';
12
12
  const templateHTML = '<style>:host{display:inline;outline:0}a{font:var(--sinch-font-body);font-size:inherit;line-height:inherit;color:var(--sinch-color-text-link);fill:var(--sinch-color-text-link);--sinch-size-icon:1em}#icon{display:none;margin-left:.2em;vertical-align:-.25em}a:hover{color:var(--sinch-color-tropical-600);fill:var(--sinch-color-tropical-600)}:host([disabled]:not([disabled=false])) a{color:var(--sinch-color-tropical-200);pointer-events:none;cursor:initial;fill:var(--sinch-color-tropical-200)}:host([external]:not([external=false])) #icon{display:inline-block}</style><a><span id="content"></span><sinch-icon-open-in-new id="icon"></sinch-icon-open-in-new></a>';
13
13
  const template = document.createElement('template');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nectary/components",
3
- "version": "0.30.0",
3
+ "version": "0.32.0",
4
4
  "files": [
5
5
  "theme.css",
6
6
  "**/*/*.js",
@@ -3,8 +3,6 @@ import type { SyntheticEvent } from 'react';
3
3
  export declare type TSinchPaginationElement = HTMLElement & {
4
4
  value: number;
5
5
  max: number;
6
- focus(): void;
7
- blur(): void;
8
6
  readonly prevButtonRect: TRect;
9
7
  readonly nextButtonRect: TRect;
10
8
  nthButtonRect(index: number): TRect | null;
package/popover/index.js CHANGED
@@ -153,7 +153,7 @@ defineCustomElement('sinch-popover', (_$target = new WeakMap(), _$dialog = new W
153
153
 
154
154
  _classPrivateFieldGet(this, _$dialog).addEventListener('cancel', _classPrivateFieldGet(this, _onCancel));
155
155
 
156
- _classPrivateFieldGet(this, _$dialog).addEventListener('click', _classPrivateFieldGet(this, _onBackdropClick));
156
+ _classPrivateFieldGet(this, _$dialog).addEventListener('mousedown', _classPrivateFieldGet(this, _onBackdropClick));
157
157
 
158
158
  this.addEventListener('close', _classPrivateFieldGet(this, _onCloseReactHandler));
159
159
 
@@ -169,7 +169,7 @@ defineCustomElement('sinch-popover', (_$target = new WeakMap(), _$dialog = new W
169
169
  disconnectedCallback() {
170
170
  _classPrivateFieldGet(this, _$dialog).removeEventListener('cancel', _classPrivateFieldGet(this, _onCancel));
171
171
 
172
- _classPrivateFieldGet(this, _$dialog).removeEventListener('click', _classPrivateFieldGet(this, _onBackdropClick));
172
+ _classPrivateFieldGet(this, _$dialog).removeEventListener('mousedown', _classPrivateFieldGet(this, _onBackdropClick));
173
173
 
174
174
  this.removeEventListener('close', _classPrivateFieldGet(this, _onCloseReactHandler));
175
175
 
@@ -4,8 +4,6 @@ export declare type TSinchRadioOptionElement = HTMLElement & {
4
4
  checked: boolean;
5
5
  disabled: boolean;
6
6
  text: string;
7
- focus(): void;
8
- blur(): void;
9
7
  setAttribute(name: 'value', value: string): void;
10
8
  setAttribute(name: 'checked', value: ''): void;
11
9
  setAttribute(name: 'disabled', value: ''): void;
package/search/types.d.ts CHANGED
@@ -9,8 +9,6 @@ export declare type TSinchSearchElement = HTMLElement & {
9
9
  selectionEnd: HTMLInputElement['selectionEnd'];
10
10
  selectionDirection: HTMLInputElement['selectionDirection'];
11
11
  readonly dropdownRect: TRect;
12
- focus(): void;
13
- blur(): void;
14
12
  addEventListener(type: 'change', listener: (e: CustomEvent<string>) => void): void;
15
13
  setAttribute(name: 'value', value: string): void;
16
14
  setAttribute(name: 'label', value: string): void;
package/segment/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import _classPrivateFieldGet from '@babel/runtime/helpers/classPrivateFieldGet';
2
2
  import _classPrivateFieldSet from '@babel/runtime/helpers/classPrivateFieldSet';
3
3
 
4
- var _$caption, _$previewSlot, _$previewWrapper, _$infoSlot, _$infoWrapper, _$collapseSlot, _$collapseWrapper, _onPreviewSlotChange, _onInfoSlotChange, _onCollapseSlotChange;
4
+ var _$caption, _$previewSlot, _$previewWrapper, _$infoSlot, _$infoWrapper, _$collapseSlot, _$collapseWrapper, _$actionSlot, _$actionWrapper, _onPreviewSlotChange, _onInfoSlotChange, _onCollapseSlotChange, _onActionSlotChange;
5
5
 
6
6
  function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
7
7
 
@@ -10,11 +10,11 @@ function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollect
10
10
  import '../title';
11
11
  import { getTitleLevelFromType } from '../title/utils';
12
12
  import { defineCustomElement, getAttribute, getBooleanAttribute, getLiteralAttribute, getRect, isAttrTrue, NectaryElement, setClass, updateAttribute, updateBooleanAttribute, updateLiteralAttribute } from '../utils';
13
- const templateHTML = '<style>:host{display:block}#wrapper{display:flex;flex-direction:column;gap:16px;width:100%;height:100%;border:1px solid var(--sinch-color-snow-700);border-radius:var(--sinch-shape-radius-l);box-sizing:border-box;background-color:var(--sinch-color-snow-100);color:var(--sinch-color-text-default);font:var(--sinch-font-body);box-shadow:var(--sinch-elevation-level-2);padding:8px 24px 16px;overflow:hidden}#header{display:flex;flex-direction:row;align-items:center;height:48px;gap:8px;--sinch-size-icon:32px}#caption{font:var(--sinch-font-title-l);color:var(--sinch-color-text-default);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:1em}#info{display:flex;flex-direction:row;align-items:center;gap:8px;margin-left:auto;align-self:stretch}#info.empty{display:none}#preview{flex:1;flex-basis:auto;height:48px;min-width:0;overflow:hidden;margin-left:24px}#preview.empty{display:none}#preview:not(.empty)+#info.empty+#collapse:not(.empty),#preview:not(.empty)+#info:not(.empty){margin-left:24px}#collapse.empty{display:none}#content-wrapper{flex:1;min-height:0;overflow-y:auto}#action{display:flex;flex-direction:row;justify-content:flex-end;gap:16px}:host([collapsed]:not([collapsed=false])) :is(#content-wrapper,#action){display:none}:host([collapsed]:not([collapsed=false])) #wrapper{padding-bottom:8px}::slotted([slot=icon]){margin-right:8px}</style><div id="wrapper"><div id="header"><slot name="icon"></slot><sinch-title id="caption" level="3" type="m"></sinch-title><div id="preview"><slot name="preview"></slot></div><div id="info"><slot name="info"></slot></div><div id="collapse"><slot name="collapse"></slot></div></div><div id="content-wrapper"><slot name="content"></slot></div><div id="action"><slot name="action"></slot></div></div>';
13
+ const templateHTML = '<style>:host{display:block}#wrapper{display:flex;flex-direction:column;gap:16px;width:100%;height:100%;border:1px solid var(--sinch-color-snow-700);border-radius:var(--sinch-shape-radius-l);box-sizing:border-box;background-color:var(--sinch-color-snow-100);color:var(--sinch-color-text-default);font:var(--sinch-font-body);box-shadow:var(--sinch-elevation-level-2);padding:8px 24px 16px}#header{display:flex;flex-direction:row;align-items:center;height:48px;gap:8px;--sinch-size-icon:32px}#caption{font:var(--sinch-font-title-l);color:var(--sinch-color-text-default);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:1em}#info{display:flex;flex-direction:row;align-items:center;gap:8px;margin-left:auto;align-self:stretch}#info.empty{display:none}#preview{flex:1;flex-basis:auto;height:48px;min-width:0;overflow:hidden;margin-left:24px}#preview.empty{display:none}#info.empty+#collapse{margin-left:auto}#collapse.empty{display:none}#preview:not(.empty)+#info.empty+#collapse:not(.empty),#preview:not(.empty)+#info:not(.empty){margin-left:24px}#content-wrapper{flex:1;min-height:0;overflow-y:auto}#action{display:flex;flex-direction:row;justify-content:flex-end;gap:16px}#action.empty{display:none}:host([collapsed]:not([collapsed=false])) :is(#content-wrapper,#action){display:none}:host([collapsed]:not([collapsed=false])) #wrapper{padding-bottom:8px}::slotted([slot=icon]){margin-right:8px}</style><div id="wrapper"><div id="header"><slot name="icon"></slot><sinch-title id="caption" level="3" type="m"></sinch-title><div id="preview"><slot name="preview"></slot></div><div id="info"><slot name="info"></slot></div><div id="collapse"><slot name="collapse"></slot></div></div><div id="content-wrapper"><slot name="content"></slot></div><div id="action"><slot name="action"></slot></div></div>';
14
14
  import { assertSize, sizeValues } from './utils';
15
15
  const template = document.createElement('template');
16
16
  template.innerHTML = templateHTML;
17
- defineCustomElement('sinch-segment', (_$caption = new WeakMap(), _$previewSlot = new WeakMap(), _$previewWrapper = new WeakMap(), _$infoSlot = new WeakMap(), _$infoWrapper = new WeakMap(), _$collapseSlot = new WeakMap(), _$collapseWrapper = new WeakMap(), _onPreviewSlotChange = new WeakMap(), _onInfoSlotChange = new WeakMap(), _onCollapseSlotChange = new WeakMap(), class extends NectaryElement {
17
+ defineCustomElement('sinch-segment', (_$caption = new WeakMap(), _$previewSlot = new WeakMap(), _$previewWrapper = new WeakMap(), _$infoSlot = new WeakMap(), _$infoWrapper = new WeakMap(), _$collapseSlot = new WeakMap(), _$collapseWrapper = new WeakMap(), _$actionSlot = new WeakMap(), _$actionWrapper = new WeakMap(), _onPreviewSlotChange = new WeakMap(), _onInfoSlotChange = new WeakMap(), _onCollapseSlotChange = new WeakMap(), _onActionSlotChange = new WeakMap(), class extends NectaryElement {
18
18
  constructor() {
19
19
  super();
20
20
 
@@ -53,6 +53,16 @@ defineCustomElement('sinch-segment', (_$caption = new WeakMap(), _$previewSlot =
53
53
  value: void 0
54
54
  });
55
55
 
56
+ _classPrivateFieldInitSpec(this, _$actionSlot, {
57
+ writable: true,
58
+ value: void 0
59
+ });
60
+
61
+ _classPrivateFieldInitSpec(this, _$actionWrapper, {
62
+ writable: true,
63
+ value: void 0
64
+ });
65
+
56
66
  _classPrivateFieldInitSpec(this, _onPreviewSlotChange, {
57
67
  writable: true,
58
68
  value: () => {
@@ -74,6 +84,13 @@ defineCustomElement('sinch-segment', (_$caption = new WeakMap(), _$previewSlot =
74
84
  }
75
85
  });
76
86
 
87
+ _classPrivateFieldInitSpec(this, _onActionSlotChange, {
88
+ writable: true,
89
+ value: () => {
90
+ setClass(_classPrivateFieldGet(this, _$actionWrapper), 'empty', _classPrivateFieldGet(this, _$actionSlot).assignedElements().length === 0);
91
+ }
92
+ });
93
+
77
94
  const shadowRoot = this.attachShadow();
78
95
  shadowRoot.appendChild(template.content.cloneNode(true));
79
96
 
@@ -85,11 +102,15 @@ defineCustomElement('sinch-segment', (_$caption = new WeakMap(), _$previewSlot =
85
102
 
86
103
  _classPrivateFieldSet(this, _$collapseSlot, shadowRoot.querySelector('slot[name="collapse"]'));
87
104
 
105
+ _classPrivateFieldSet(this, _$actionSlot, shadowRoot.querySelector('slot[name="action"]'));
106
+
88
107
  _classPrivateFieldSet(this, _$previewWrapper, shadowRoot.querySelector('#preview'));
89
108
 
90
109
  _classPrivateFieldSet(this, _$infoWrapper, shadowRoot.querySelector('#info'));
91
110
 
92
111
  _classPrivateFieldSet(this, _$collapseWrapper, shadowRoot.querySelector('#collapse'));
112
+
113
+ _classPrivateFieldSet(this, _$actionWrapper, shadowRoot.querySelector('#action'));
93
114
  }
94
115
 
95
116
  connectedCallback() {
@@ -99,11 +120,15 @@ defineCustomElement('sinch-segment', (_$caption = new WeakMap(), _$previewSlot =
99
120
 
100
121
  _classPrivateFieldGet(this, _$collapseSlot).addEventListener('slotchange', _classPrivateFieldGet(this, _onCollapseSlotChange));
101
122
 
123
+ _classPrivateFieldGet(this, _$actionSlot).addEventListener('slotchange', _classPrivateFieldGet(this, _onActionSlotChange));
124
+
102
125
  _classPrivateFieldGet(this, _onPreviewSlotChange).call(this);
103
126
 
104
127
  _classPrivateFieldGet(this, _onInfoSlotChange).call(this);
105
128
 
106
129
  _classPrivateFieldGet(this, _onCollapseSlotChange).call(this);
130
+
131
+ _classPrivateFieldGet(this, _onActionSlotChange).call(this);
107
132
  }
108
133
 
109
134
  disconnectedCallback() {
@@ -112,6 +137,8 @@ defineCustomElement('sinch-segment', (_$caption = new WeakMap(), _$previewSlot =
112
137
  _classPrivateFieldGet(this, _$infoSlot).removeEventListener('slotchange', _classPrivateFieldGet(this, _onInfoSlotChange));
113
138
 
114
139
  _classPrivateFieldGet(this, _$collapseSlot).removeEventListener('slotchange', _classPrivateFieldGet(this, _onCollapseSlotChange));
140
+
141
+ _classPrivateFieldGet(this, _$actionSlot).removeEventListener('slotchange', _classPrivateFieldGet(this, _onActionSlotChange));
115
142
  }
116
143
 
117
144
  static get observedAttributes() {
@@ -2,8 +2,6 @@ import type { TSinchElementReact } from '../types';
2
2
  import type { SyntheticEvent } from 'react';
3
3
  export declare type TSinchSegmentExpandElement = HTMLElement & {
4
4
  value: boolean;
5
- focus(): void;
6
- blur(): void;
7
5
  addEventListener(type: 'change', listener: (e: CustomEvent<boolean>) => void): void;
8
6
  setAttribute(name: 'value', value: string): void;
9
7
  };
@@ -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, NectaryElement, updateAttribute, updateBooleanAttribute, updateExplicitBooleanAttribute } from '../utils';
11
- const templateHTML = '<style>:host{display:block;outline:0}#wrapper{display:flex;position:relative;flex-direction:row;align-items:center;gap:12px;width:100%;height:42px;padding:8px 20px;box-sizing:border-box;border:1px solid var(--sinch-color-snow-600);border-left-width:0;border-right-width:0;color:var(--sinch-color-stormy-500);background-color:var(--sinch-color-snow-100);--sinch-color-icon:var(--sinch-color-stormy-500);--sinch-size-icon:16px}#wrapper:hover{background-color:var(--sinch-color-snow-500)}:host(:first-child) #wrapper{border-left-width:1px;border-top-left-radius:4px;border-bottom-left-radius:4px}:host(:last-child) #wrapper{border-right-width:1px;border-top-right-radius:4px;border-bottom-right-radius:4px}#content{font:var(--sinch-font-title-s);flex-shrink:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host([checked]:not([checked=false])) #wrapper{border-color:var(--sinch-color-stormy-500)}:host([checked]:not([checked=false]):not(:first-child)) #wrapper::before{content:"";width:1px;background-color:var(--sinch-color-stormy-500);position:absolute;left:0;top:-1px;bottom:-1px}:host([checked]:not([checked=false]):not(:last-child)) #wrapper::after{content:"";width:1px;background-color:var(--sinch-color-stormy-500);position:absolute;right:0;top:-1px;bottom:-1px}#button{all:initial;position:absolute;left:0;top:0;box-sizing:border-box;width:100%;height:100%;cursor:pointer;z-index:1}#button:disabled{cursor:unset}#button:focus::before{content:"";position:absolute;left:-3px;right:-3px;top:-4px;bottom:-4px;border-style:solid;border-color:var(--sinch-color-aqua-400);border-width:0}#button:focus-visible::before{border-width:2px}:host(:first-child) #button:focus::before{left:-4px;border-top-left-radius:6px;border-bottom-left-radius:6px}:host(:last-child) #button:focus::before{right:-4px;border-top-right-radius:6px;border-bottom-right-radius:6px}@supports not selector(:focus-visible){#button:focus::before{border-width:2px}}:host([disabled]:not([disabled=false])) #wrapper{background-color:var(--sinch-color-snow-100);color:var(--sinch-color-stormy-100);--sinch-color-icon:var(--sinch-color-stormy-100)}</style><div id="wrapper"><slot name="icon"></slot><label for="button" id="content"></label> <button id="button"></button></div>';
11
+ const templateHTML = '<style>:host{display:block;outline:0}#wrapper{display:flex;position:relative;flex-direction:row;align-items:center;gap:12px;width:100%;height:32px;padding:0 16px;box-sizing:border-box;border:1px solid var(--sinch-color-snow-600);border-left-width:0;border-right-width:0;color:var(--sinch-color-stormy-500);background-color:var(--sinch-color-snow-100);--sinch-color-icon:var(--sinch-color-stormy-500);--sinch-size-icon:16px}#wrapper:hover{background-color:var(--sinch-color-snow-500)}:host(:first-child) #wrapper{border-left-width:1px;border-top-left-radius:4px;border-bottom-left-radius:4px}:host(:last-child) #wrapper{border-right-width:1px;border-top-right-radius:4px;border-bottom-right-radius:4px}#content{font:var(--sinch-font-title-s);flex-shrink:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host([checked]:not([checked=false])) #wrapper{border-color:var(--sinch-color-stormy-500)}:host([checked]:not([checked=false]):not(:first-child)) #wrapper::before{content:"";width:1px;background-color:var(--sinch-color-stormy-500);position:absolute;left:0;top:-1px;bottom:-1px}:host([checked]:not([checked=false]):not(:last-child)) #wrapper::after{content:"";width:1px;background-color:var(--sinch-color-stormy-500);position:absolute;right:0;top:-1px;bottom:-1px}#button{all:initial;position:absolute;left:0;top:0;box-sizing:border-box;width:100%;height:100%;cursor:pointer;z-index:1}#button:disabled{cursor:unset}#button:focus::before{content:"";position:absolute;left:-3px;right:-3px;top:-4px;bottom:-4px;border-style:solid;border-color:var(--sinch-color-aqua-400);border-width:0}#button:focus-visible::before{border-width:2px}:host(:first-child) #button:focus::before{left:-4px;border-top-left-radius:6px;border-bottom-left-radius:6px}:host(:last-child) #button:focus::before{right:-4px;border-top-right-radius:6px;border-bottom-right-radius:6px}@supports not selector(:focus-visible){#button:focus::before{border-width:2px}}:host([disabled]:not([disabled=false])) #wrapper{background-color:var(--sinch-color-snow-100);color:var(--sinch-color-stormy-100);--sinch-color-icon:var(--sinch-color-stormy-100)}</style><div id="wrapper"><slot name="icon"></slot><label for="button" id="content"></label> <button id="button"></button></div>';
12
12
  const template = document.createElement('template');
13
13
  template.innerHTML = templateHTML;
14
14
  defineCustomElement('sinch-segmented-control-option', (_$button = new WeakMap(), _$label = new WeakMap(), _onClick = new WeakMap(), class extends NectaryElement {
@@ -3,8 +3,6 @@ export declare type TSinchSegmentedControlOptionElement = HTMLElement & {
3
3
  value: string;
4
4
  disabled: boolean;
5
5
  text: string;
6
- focus(): void;
7
- blur(): void;
8
6
  setAttribute(name: 'value', value: string): void;
9
7
  setAttribute(name: 'text', value: string): void;
10
8
  setAttribute(name: 'disabled', value: ''): void;
@@ -2,8 +2,6 @@ import type { TSinchElementReact } from '../types';
2
2
  export declare type TSinchSegmentedIconControlOptionElement = HTMLElement & {
3
3
  value: string;
4
4
  disabled: boolean;
5
- focus(): void;
6
- blur(): void;
7
5
  setAttribute(name: 'value', value: string): void;
8
6
  setAttribute(name: 'disabled', value: ''): void;
9
7
  };
package/select/index.js CHANGED
@@ -13,7 +13,7 @@ function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(
13
13
 
14
14
  import '../dropdown';
15
15
  import { defineCustomElement, getAttribute, getBooleanAttribute, getIntegerAttribute, isAttrTrue, NectaryElement, updateAttribute, updateBooleanAttribute, updateExplicitBooleanAttribute, updateIntegerAttribute } from '../utils';
16
- const templateHTML = '<style>:host{display:inline-block;vertical-align:middle;outline:0;--sinch-color-icon:var(--sinch-color-stormy-500)}#wrapper{position:relative;--sinch-popover-expand-width:1}sinch-dropdown{display:block}#button{all:initial;display:flex;align-items:center;gap:8px;border:1px solid var(--sinch-color-stormy-200);border-radius:var(--sinch-shape-radius-s);box-sizing:border-box;width:100%;height:48px;margin:2px 0;padding:8px 12px;font:var(--sinch-font-body);color:var(--sinch-color-text-default);background-color:var(--sinch-color-snow-100);cursor:pointer}#button:focus{border-color:var(--sinch-color-stormy-600)}#dropdown-icon{fill:var(--sinch-color-stormy-500)}#button>*{pointer-events:none}#button[data-unselected]{color:var(--sinch-color-text-muted)}#button:disabled{border-color:var(--sinch-color-snow-500);color:var(--sinch-color-stormy-100);cursor:initial}#button:disabled #dropdown-icon{fill:var(--sinch-color-stormy-100)}:host([invalidtext]:not([invalidtext=""])) #button:not(:disabled){border-color:var(--sinch-color-text-invalid)}#content{flex:1;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#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-s);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="dropdown"></label><slot name="tooltip"></slot><span id="optional"></span></div><sinch-dropdown id="dropdown"><button slot="target" id="button"><span id="content"></span> <svg id="dropdown-icon" width="12" height="8" aria-hidden="true"><path d="M1.41.59 6 5.17 10.59.59 12 2 6 8 0 2 1.41.59Z"/></svg></button><slot name="option" slot="option"></slot></sinch-dropdown><div id="bottom"><span id="invalid"></span> <span id="additional"></span></div></div>';
16
+ const templateHTML = '<style>:host{display:inline-block;vertical-align:middle;outline:0;--sinch-color-icon:var(--sinch-color-stormy-500)}#wrapper{position:relative;--sinch-popover-expand-width:1}sinch-dropdown{display:block}#button{all:initial;display:flex;align-items:center;gap:8px;border:1px solid var(--sinch-color-stormy-200);border-radius:var(--sinch-shape-radius-s);box-sizing:border-box;width:100%;height:48px;margin:2px 0;padding:8px 12px;font:var(--sinch-font-body);color:var(--sinch-color-text-default);background-color:var(--sinch-color-snow-100);cursor:pointer}#button:focus{border-color:var(--sinch-color-stormy-600)}#dropdown-icon{fill:var(--sinch-color-stormy-500)}#button>*{pointer-events:none}#button[data-unselected]{color:var(--sinch-color-text-muted)}#button:disabled{border-color:var(--sinch-color-snow-500);color:var(--sinch-color-stormy-100);cursor:initial}#button:disabled #dropdown-icon{fill:var(--sinch-color-stormy-100)}:host([invalidtext]:not([invalidtext=""])) #button:not(:disabled){border-color:var(--sinch-color-text-invalid)}#content{flex:1;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#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-s);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="button"></label><slot name="tooltip"></slot><span id="optional"></span></div><sinch-dropdown id="dropdown"><button slot="target" id="button"><span id="content"></span> <svg id="dropdown-icon" width="12" height="8" aria-hidden="true"><path d="M1.41.59 6 5.17 10.59.59 12 2 6 8 0 2 1.41.59Z"/></svg></button><slot name="option" slot="option"></slot></sinch-dropdown><div id="bottom"><span id="invalid"></span> <span id="additional"></span></div></div>';
17
17
  const template = document.createElement('template');
18
18
  template.innerHTML = templateHTML;
19
19
  defineCustomElement('sinch-select', (_$button = new WeakMap(), _$buttonContent = new WeakMap(), _$label = new WeakMap(), _$optionalText = new WeakMap(), _$additionalText = new WeakMap(), _$invalidText = new WeakMap(), _$dropdown = new WeakMap(), _$optionSlot = new WeakMap(), _$sh = new WeakMap(), _createElement = new WeakSet(), _updateButtonContent = new WeakSet(), _onValueChange = new WeakMap(), _getOptionWithValue = new WeakSet(), _onLabelClick = new WeakMap(), _onDropdownClick = new WeakMap(), _onDropdownClose = new WeakMap(), class extends NectaryElement {
package/select/types.d.ts CHANGED
@@ -10,8 +10,6 @@ export declare type TSinchSelectElement = HTMLElement & {
10
10
  maxVisibleItems: number | null;
11
11
  disabled: boolean;
12
12
  readonly dropdownRect: TRect;
13
- focus(): void;
14
- blur(): void;
15
13
  addEventListener(type: 'change', listener: (e: CustomEvent<string>) => void): void;
16
14
  setAttribute(name: 'value', value: string): void;
17
15
  setAttribute(name: 'label', value: string): void;
@@ -4,8 +4,6 @@ export declare type TSinchTabsOptionElement = HTMLElement & {
4
4
  disabled: boolean;
5
5
  checked: boolean;
6
6
  text: string;
7
- focus(): void;
8
- blur(): void;
9
7
  setAttribute(name: 'value', value: string): void;
10
8
  setAttribute(name: 'disabled', value: ''): void;
11
9
  setAttribute(name: 'checked', value: ''): void;
@@ -1,6 +1,3 @@
1
1
  import type { TSinchElementReact } from '../types';
2
- export declare type TSinchTagCloseElement = HTMLElement & {
3
- focus(): void;
4
- blur(): void;
5
- };
2
+ export declare type TSinchTagCloseElement = HTMLElement;
6
3
  export declare type TSinchTagCloseReact = TSinchElementReact<TSinchTagCloseElement>;
package/text/index.js CHANGED
@@ -7,9 +7,7 @@ template.innerHTML = templateHTML;
7
7
  defineCustomElement('sinch-text', class extends NectaryElement {
8
8
  constructor() {
9
9
  super();
10
- const shadowRoot = this.attachShadow({
11
- delegatesFocus: false
12
- });
10
+ const shadowRoot = this.attachShadow();
13
11
  shadowRoot.appendChild(template.content.cloneNode(true));
14
12
  }
15
13
 
@@ -13,8 +13,6 @@ export declare type TSinchTextareaElement = HTMLElement & {
13
13
  selectionDirection: HTMLTextAreaElement['selectionDirection'];
14
14
  rows: HTMLTextAreaElement['rows'];
15
15
  resizable: boolean;
16
- focus(): void;
17
- blur(): void;
18
16
  addEventListener(type: 'change', listener: (e: CustomEvent<string>) => void): void;
19
17
  setAttribute(name: 'value', value: string): void;
20
18
  setAttribute(name: 'label', value: string): void;
@@ -0,0 +1,17 @@
1
+ import '../icon-button';
2
+ import '../icons/done';
3
+ import '../icons/arrow-drop-up';
4
+ import '../icons/arrow-drop-down';
5
+ import '../segmented-control';
6
+ import '../segmented-control-option';
7
+ import type { TSinchTimePickerElement, TSinchTimePickerReact } from './types';
8
+ declare global {
9
+ namespace JSX {
10
+ interface IntrinsicElements {
11
+ 'sinch-time-picker': TSinchTimePickerReact;
12
+ }
13
+ }
14
+ interface HTMLElementTagNameMap {
15
+ 'sinch-time-picker': TSinchTimePickerElement;
16
+ }
17
+ }