@nectary/components 2.8.7 → 2.9.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 (448) hide show
  1. package/package.json +1 -1
  2. package/types.d.ts +1 -1
  3. package/accordion/index.d.ts +0 -11
  4. package/accordion/index.js +0 -86
  5. package/accordion/types.d.ts +0 -21
  6. package/accordion/types.js +0 -1
  7. package/accordion-item/index.d.ts +0 -14
  8. package/accordion-item/index.js +0 -95
  9. package/accordion-item/types.d.ts +0 -36
  10. package/accordion-item/types.js +0 -1
  11. package/accordion-item/utils.d.ts +0 -2
  12. package/accordion-item/utils.js +0 -1
  13. package/action-menu/index.d.ts +0 -11
  14. package/action-menu/index.js +0 -195
  15. package/action-menu/types.d.ts +0 -13
  16. package/action-menu/types.js +0 -1
  17. package/action-menu-option/index.d.ts +0 -12
  18. package/action-menu-option/index.js +0 -82
  19. package/action-menu-option/types.d.ts +0 -23
  20. package/action-menu-option/types.js +0 -1
  21. package/action-menu-option/utils.d.ts +0 -2
  22. package/action-menu-option/utils.js +0 -3
  23. package/alert/index.d.ts +0 -14
  24. package/alert/index.js +0 -48
  25. package/alert/types.d.ts +0 -18
  26. package/alert/types.js +0 -1
  27. package/alert/utils.d.ts +0 -2
  28. package/alert/utils.js +0 -1
  29. package/avatar/index.d.ts +0 -11
  30. package/avatar/index.js +0 -94
  31. package/avatar/types.d.ts +0 -37
  32. package/avatar/types.js +0 -1
  33. package/avatar/utils.d.ts +0 -4
  34. package/avatar/utils.js +0 -7
  35. package/badge/index.d.ts +0 -11
  36. package/badge/index.js +0 -114
  37. package/badge/types.d.ts +0 -34
  38. package/badge/types.js +0 -1
  39. package/badge/utils.d.ts +0 -2
  40. package/badge/utils.js +0 -1
  41. package/button/index.d.ts +0 -11
  42. package/button/index.js +0 -182
  43. package/button/types.d.ts +0 -53
  44. package/button/types.js +0 -1
  45. package/button/utils.d.ts +0 -2
  46. package/button/utils.js +0 -1
  47. package/card/index.d.ts +0 -13
  48. package/card/index.js +0 -133
  49. package/card/types.d.ts +0 -28
  50. package/card/types.js +0 -1
  51. package/card-container/index.d.ts +0 -11
  52. package/card-container/index.js +0 -11
  53. package/card-container/types.d.ts +0 -3
  54. package/card-container/types.js +0 -1
  55. package/chat/index.d.ts +0 -11
  56. package/chat/index.js +0 -11
  57. package/chat/types.d.ts +0 -3
  58. package/chat/types.js +0 -1
  59. package/chat-block/index.d.ts +0 -11
  60. package/chat-block/index.js +0 -86
  61. package/chat-block/types.d.ts +0 -30
  62. package/chat-block/types.js +0 -1
  63. package/chat-bubble/index.d.ts +0 -11
  64. package/chat-bubble/index.js +0 -41
  65. package/chat-bubble/types.d.ts +0 -20
  66. package/chat-bubble/types.js +0 -1
  67. package/chat-bubble/utils.d.ts +0 -3
  68. package/chat-bubble/utils.js +0 -2
  69. package/checkbox/index.d.ts +0 -11
  70. package/checkbox/index.js +0 -126
  71. package/checkbox/types.d.ts +0 -49
  72. package/checkbox/types.js +0 -1
  73. package/chip/index.d.ts +0 -13
  74. package/chip/index.js +0 -144
  75. package/chip/types.d.ts +0 -37
  76. package/chip/types.js +0 -1
  77. package/chip/utils.d.ts +0 -2
  78. package/chip/utils.js +0 -6
  79. package/code-tag/index.d.ts +0 -11
  80. package/code-tag/index.js +0 -31
  81. package/code-tag/types.d.ts +0 -11
  82. package/code-tag/types.js +0 -1
  83. package/color-menu/index.d.ts +0 -11
  84. package/color-menu/index.js +0 -308
  85. package/color-menu/types.d.ts +0 -32
  86. package/color-menu/types.js +0 -1
  87. package/color-menu/utils.d.ts +0 -1
  88. package/color-menu/utils.js +0 -11
  89. package/color-menu-option/index.d.ts +0 -13
  90. package/color-menu-option/index.js +0 -48
  91. package/color-menu-option/types.d.ts +0 -11
  92. package/color-menu-option/types.js +0 -1
  93. package/color-menu-option/utils.d.ts +0 -1
  94. package/color-menu-option/utils.js +0 -11
  95. package/color-swatch/index.d.ts +0 -12
  96. package/color-swatch/index.js +0 -54
  97. package/color-swatch/types.d.ts +0 -11
  98. package/color-swatch/types.js +0 -1
  99. package/color-swatch/utils.d.ts +0 -2
  100. package/color-swatch/utils.js +0 -6
  101. package/date-picker/index.d.ts +0 -14
  102. package/date-picker/index.js +0 -381
  103. package/date-picker/types.d.ts +0 -70
  104. package/date-picker/types.js +0 -1
  105. package/date-picker/utils.d.ts +0 -28
  106. package/date-picker/utils.js +0 -142
  107. package/dialog/index.d.ts +0 -15
  108. package/dialog/index.js +0 -144
  109. package/dialog/types.d.ts +0 -28
  110. package/dialog/types.js +0 -1
  111. package/dialog/utils.d.ts +0 -2
  112. package/dialog/utils.js +0 -18
  113. package/emoji/index.d.ts +0 -11
  114. package/emoji/index.js +0 -46
  115. package/emoji/types.d.ts +0 -11
  116. package/emoji/types.js +0 -1
  117. package/emoji/utils.d.ts +0 -3
  118. package/emoji/utils.js +0 -47
  119. package/emoji-picker/index.d.ts +0 -22
  120. package/emoji-picker/index.js +0 -308
  121. package/emoji-picker/types.d.ts +0 -26
  122. package/emoji-picker/types.js +0 -1
  123. package/field/index.d.ts +0 -11
  124. package/field/index.js +0 -120
  125. package/field/types.d.ts +0 -35
  126. package/field/types.js +0 -1
  127. package/file-drop/index.d.ts +0 -13
  128. package/file-drop/index.js +0 -205
  129. package/file-drop/types.d.ts +0 -50
  130. package/file-drop/types.js +0 -1
  131. package/file-drop/utils.d.ts +0 -2
  132. package/file-drop/utils.js +0 -31
  133. package/file-picker/index.d.ts +0 -11
  134. package/file-picker/index.js +0 -103
  135. package/file-picker/types.d.ts +0 -32
  136. package/file-picker/types.js +0 -1
  137. package/file-picker/utils.d.ts +0 -1
  138. package/file-picker/utils.js +0 -8
  139. package/file-status/index.d.ts +0 -14
  140. package/file-status/index.js +0 -61
  141. package/file-status/types.d.ts +0 -18
  142. package/file-status/types.js +0 -1
  143. package/file-status/utils.d.ts +0 -2
  144. package/file-status/utils.js +0 -1
  145. package/flag/index.d.ts +0 -11
  146. package/flag/index.js +0 -46
  147. package/flag/types.d.ts +0 -11
  148. package/flag/types.js +0 -1
  149. package/flag/utils.d.ts +0 -1
  150. package/flag/utils.js +0 -17
  151. package/grid/index.d.ts +0 -11
  152. package/grid/index.js +0 -11
  153. package/grid/types.d.ts +0 -3
  154. package/grid/types.js +0 -1
  155. package/grid-item/index.d.ts +0 -11
  156. package/grid-item/index.js +0 -35
  157. package/grid-item/types.d.ts +0 -17
  158. package/grid-item/types.js +0 -1
  159. package/help-tooltip/index.d.ts +0 -13
  160. package/help-tooltip/index.js +0 -74
  161. package/help-tooltip/types.d.ts +0 -3
  162. package/help-tooltip/types.js +0 -1
  163. package/horizontal-stepper/index.d.ts +0 -11
  164. package/horizontal-stepper/index.js +0 -61
  165. package/horizontal-stepper/types.d.ts +0 -13
  166. package/horizontal-stepper/types.js +0 -1
  167. package/horizontal-stepper-item/index.d.ts +0 -14
  168. package/horizontal-stepper-item/index.js +0 -61
  169. package/horizontal-stepper-item/types.d.ts +0 -24
  170. package/horizontal-stepper-item/types.js +0 -1
  171. package/horizontal-stepper-item/utils.d.ts +0 -2
  172. package/horizontal-stepper-item/utils.js +0 -1
  173. package/icon/index.d.ts +0 -11
  174. package/icon/index.js +0 -32
  175. package/icon/types.d.ts +0 -11
  176. package/icon/types.js +0 -1
  177. package/icon-button/index.d.ts +0 -12
  178. package/icon-button/index.js +0 -175
  179. package/icon-button/types.d.ts +0 -44
  180. package/icon-button/types.js +0 -1
  181. package/icon-button/utils.d.ts +0 -2
  182. package/icon-button/utils.js +0 -1
  183. package/inline-alert/index.d.ts +0 -15
  184. package/inline-alert/index.js +0 -83
  185. package/inline-alert/types.d.ts +0 -15
  186. package/inline-alert/types.js +0 -1
  187. package/inline-alert/utils.d.ts +0 -2
  188. package/inline-alert/utils.js +0 -1
  189. package/input/index.d.ts +0 -11
  190. package/input/index.js +0 -637
  191. package/input/types.d.ts +0 -86
  192. package/input/types.js +0 -1
  193. package/input/utils.d.ts +0 -26
  194. package/input/utils.js +0 -302
  195. package/link/index.d.ts +0 -12
  196. package/link/index.js +0 -150
  197. package/link/types.d.ts +0 -59
  198. package/link/types.js +0 -1
  199. package/list/index.d.ts +0 -11
  200. package/list/index.js +0 -14
  201. package/list/types.d.ts +0 -3
  202. package/list/types.js +0 -1
  203. package/list-item/index.d.ts +0 -11
  204. package/list-item/index.js +0 -14
  205. package/list-item/types.d.ts +0 -3
  206. package/list-item/types.js +0 -1
  207. package/pagination/index.d.ts +0 -12
  208. package/pagination/index.js +0 -147
  209. package/pagination/types.d.ts +0 -16
  210. package/pagination/types.js +0 -1
  211. package/pop/index.d.ts +0 -11
  212. package/pop/index.js +0 -425
  213. package/pop/types.d.ts +0 -35
  214. package/pop/types.js +0 -1
  215. package/pop/utils.d.ts +0 -4
  216. package/pop/utils.js +0 -16
  217. package/popover/index.d.ts +0 -12
  218. package/popover/index.js +0 -146
  219. package/popover/types.d.ts +0 -40
  220. package/popover/types.js +0 -1
  221. package/popover/utils.d.ts +0 -4
  222. package/popover/utils.js +0 -10
  223. package/progress/index.d.ts +0 -12
  224. package/progress/index.js +0 -58
  225. package/progress/types.d.ts +0 -12
  226. package/progress/types.js +0 -1
  227. package/progress-stepper/index.d.ts +0 -11
  228. package/progress-stepper/index.js +0 -206
  229. package/progress-stepper/types.d.ts +0 -22
  230. package/progress-stepper/types.js +0 -1
  231. package/progress-stepper-item/index.d.ts +0 -12
  232. package/progress-stepper-item/index.js +0 -82
  233. package/progress-stepper-item/types.d.ts +0 -23
  234. package/progress-stepper-item/types.js +0 -1
  235. package/progress-stepper-item/utils.d.ts +0 -11
  236. package/progress-stepper-item/utils.js +0 -13
  237. package/radio/index.d.ts +0 -11
  238. package/radio/index.js +0 -154
  239. package/radio/types.d.ts +0 -14
  240. package/radio/types.js +0 -1
  241. package/radio-option/index.d.ts +0 -11
  242. package/radio-option/index.js +0 -79
  243. package/radio-option/types.d.ts +0 -18
  244. package/radio-option/types.js +0 -1
  245. package/rich-text/index.d.ts +0 -14
  246. package/rich-text/index.js +0 -75
  247. package/rich-text/types.d.ts +0 -12
  248. package/rich-text/types.js +0 -1
  249. package/rich-text/utils.d.ts +0 -7
  250. package/rich-text/utils.js +0 -107
  251. package/rich-textarea/index.d.ts +0 -11
  252. package/rich-textarea/index.js +0 -464
  253. package/rich-textarea/types.d.ts +0 -48
  254. package/rich-textarea/types.js +0 -1
  255. package/rich-textarea/utils.d.ts +0 -39
  256. package/rich-textarea/utils.js +0 -1730
  257. package/segment/index.d.ts +0 -12
  258. package/segment/index.js +0 -109
  259. package/segment/types.d.ts +0 -16
  260. package/segment/types.js +0 -1
  261. package/segment/utils.d.ts +0 -3
  262. package/segment/utils.js +0 -16
  263. package/segment-collapse/index.d.ts +0 -13
  264. package/segment-collapse/index.js +0 -60
  265. package/segment-collapse/types.d.ts +0 -11
  266. package/segment-collapse/types.js +0 -1
  267. package/segmented-control/index.d.ts +0 -11
  268. package/segmented-control/index.js +0 -85
  269. package/segmented-control/types.d.ts +0 -11
  270. package/segmented-control/types.js +0 -1
  271. package/segmented-control-option/index.d.ts +0 -11
  272. package/segmented-control-option/index.js +0 -95
  273. package/segmented-control-option/types.d.ts +0 -19
  274. package/segmented-control-option/types.js +0 -1
  275. package/segmented-icon-control/index.d.ts +0 -11
  276. package/segmented-icon-control/index.js +0 -101
  277. package/segmented-icon-control/types.d.ts +0 -14
  278. package/segmented-icon-control/types.js +0 -1
  279. package/segmented-icon-control-option/index.d.ts +0 -11
  280. package/segmented-icon-control-option/index.js +0 -82
  281. package/segmented-icon-control-option/types.d.ts +0 -16
  282. package/segmented-icon-control-option/types.js +0 -1
  283. package/select-button/index.d.ts +0 -13
  284. package/select-button/index.js +0 -202
  285. package/select-button/types.d.ts +0 -50
  286. package/select-button/types.js +0 -1
  287. package/select-menu/index.d.ts +0 -15
  288. package/select-menu/index.js +0 -332
  289. package/select-menu/types.d.ts +0 -41
  290. package/select-menu/types.js +0 -1
  291. package/select-menu-option/index.d.ts +0 -28
  292. package/select-menu-option/index.js +0 -65
  293. package/select-menu-option/types.d.ts +0 -26
  294. package/select-menu-option/types.js +0 -1
  295. package/skeleton/index.d.ts +0 -11
  296. package/skeleton/index.js +0 -108
  297. package/skeleton/types.d.ts +0 -9
  298. package/skeleton/types.js +0 -1
  299. package/skeleton-item/index.d.ts +0 -11
  300. package/skeleton-item/index.js +0 -11
  301. package/skeleton-item/types.d.ts +0 -13
  302. package/skeleton-item/types.js +0 -1
  303. package/spinner/index.d.ts +0 -11
  304. package/spinner/index.js +0 -58
  305. package/spinner/types.d.ts +0 -12
  306. package/spinner/types.js +0 -1
  307. package/standalone.d.ts +0 -85
  308. package/standalone.js +0 -87
  309. package/stop-events/index.d.ts +0 -1
  310. package/stop-events/index.js +0 -27
  311. package/table/index.d.ts +0 -11
  312. package/table/index.js +0 -14
  313. package/table/types.d.ts +0 -3
  314. package/table/types.js +0 -1
  315. package/table-body/index.d.ts +0 -11
  316. package/table-body/index.js +0 -14
  317. package/table-body/types.d.ts +0 -3
  318. package/table-body/types.js +0 -1
  319. package/table-cell/index.d.ts +0 -11
  320. package/table-cell/index.js +0 -21
  321. package/table-cell/types.d.ts +0 -9
  322. package/table-cell/types.js +0 -1
  323. package/table-cell/utils.d.ts +0 -2
  324. package/table-cell/utils.js +0 -1
  325. package/table-head/index.d.ts +0 -11
  326. package/table-head/index.js +0 -14
  327. package/table-head/types.d.ts +0 -3
  328. package/table-head/types.js +0 -1
  329. package/table-head-cell/index.d.ts +0 -12
  330. package/table-head-cell/index.js +0 -57
  331. package/table-head-cell/types.d.ts +0 -15
  332. package/table-head-cell/types.js +0 -1
  333. package/table-row/index.d.ts +0 -11
  334. package/table-row/index.js +0 -42
  335. package/table-row/types.d.ts +0 -11
  336. package/table-row/types.js +0 -1
  337. package/tabs/index.d.ts +0 -11
  338. package/tabs/index.js +0 -80
  339. package/tabs/types.d.ts +0 -18
  340. package/tabs/types.js +0 -1
  341. package/tabs-icon-option/index.d.ts +0 -11
  342. package/tabs-icon-option/index.js +0 -79
  343. package/tabs-icon-option/types.d.ts +0 -19
  344. package/tabs-icon-option/types.js +0 -1
  345. package/tabs-option/index.d.ts +0 -12
  346. package/tabs-option/index.js +0 -86
  347. package/tabs-option/types.d.ts +0 -25
  348. package/tabs-option/types.js +0 -1
  349. package/tag/index.d.ts +0 -12
  350. package/tag/index.js +0 -84
  351. package/tag/types.d.ts +0 -23
  352. package/tag/types.js +0 -1
  353. package/tag/utils.d.ts +0 -2
  354. package/tag/utils.js +0 -6
  355. package/text/index.d.ts +0 -11
  356. package/text/index.js +0 -64
  357. package/text/types.d.ts +0 -30
  358. package/text/types.js +0 -1
  359. package/text/utils.d.ts +0 -2
  360. package/text/utils.js +0 -1
  361. package/textarea/index.d.ts +0 -11
  362. package/textarea/index.js +0 -322
  363. package/textarea/types.d.ts +0 -60
  364. package/textarea/types.js +0 -1
  365. package/tile-control/index.d.ts +0 -11
  366. package/tile-control/index.js +0 -110
  367. package/tile-control/types.d.ts +0 -37
  368. package/tile-control/types.js +0 -1
  369. package/tile-control-option/index.d.ts +0 -11
  370. package/tile-control-option/index.js +0 -98
  371. package/tile-control-option/types.d.ts +0 -37
  372. package/tile-control-option/types.js +0 -1
  373. package/time-picker/index.d.ts +0 -15
  374. package/time-picker/index.js +0 -337
  375. package/time-picker/types.d.ts +0 -34
  376. package/time-picker/types.js +0 -1
  377. package/time-picker/utils.d.ts +0 -11
  378. package/time-picker/utils.js +0 -75
  379. package/title/index.d.ts +0 -11
  380. package/title/index.js +0 -60
  381. package/title/types.d.ts +0 -31
  382. package/title/types.js +0 -1
  383. package/title/utils.d.ts +0 -3
  384. package/title/utils.js +0 -17
  385. package/toast/index.d.ts +0 -13
  386. package/toast/index.js +0 -86
  387. package/toast/types.d.ts +0 -28
  388. package/toast/types.js +0 -1
  389. package/toast/utils.d.ts +0 -2
  390. package/toast/utils.js +0 -1
  391. package/toast-manager/index.d.ts +0 -13
  392. package/toast-manager/index.js +0 -170
  393. package/toast-manager/types.d.ts +0 -13
  394. package/toast-manager/types.js +0 -1
  395. package/toast-manager/utils.d.ts +0 -2
  396. package/toast-manager/utils.js +0 -1
  397. package/toggle/index.d.ts +0 -11
  398. package/toggle/index.js +0 -141
  399. package/toggle/types.d.ts +0 -23
  400. package/toggle/types.js +0 -1
  401. package/tooltip/index.d.ts +0 -13
  402. package/tooltip/index.js +0 -264
  403. package/tooltip/tooltip-state.d.ts +0 -19
  404. package/tooltip/tooltip-state.js +0 -126
  405. package/tooltip/types.d.ts +0 -35
  406. package/tooltip/types.js +0 -1
  407. package/tooltip/utils.d.ts +0 -5
  408. package/tooltip/utils.js +0 -17
  409. package/utils/context.d.ts +0 -20
  410. package/utils/context.js +0 -84
  411. package/utils/countries.d.ts +0 -6
  412. package/utils/countries.js +0 -2
  413. package/utils/csv.d.ts +0 -5
  414. package/utils/csv.js +0 -22
  415. package/utils/debounce.d.ts +0 -8
  416. package/utils/debounce.js +0 -22
  417. package/utils/dom.d.ts +0 -34
  418. package/utils/dom.js +0 -154
  419. package/utils/element.d.ts +0 -16
  420. package/utils/element.js +0 -48
  421. package/utils/event-target.d.ts +0 -4
  422. package/utils/event-target.js +0 -26
  423. package/utils/get-react-event-handler.d.ts +0 -1
  424. package/utils/get-react-event-handler.js +0 -8
  425. package/utils/index.d.ts +0 -12
  426. package/utils/index.js +0 -12
  427. package/utils/markdown.d.ts +0 -19
  428. package/utils/markdown.js +0 -143
  429. package/utils/rect.d.ts +0 -4
  430. package/utils/rect.js +0 -28
  431. package/utils/size.d.ts +0 -5
  432. package/utils/size.js +0 -3
  433. package/utils/slot.d.ts +0 -4
  434. package/utils/slot.js +0 -38
  435. package/utils/throttle.d.ts +0 -4
  436. package/utils/throttle.js +0 -20
  437. package/utils/uid.d.ts +0 -1
  438. package/utils/uid.js +0 -13
  439. package/vertical-stepper/index.d.ts +0 -11
  440. package/vertical-stepper/index.js +0 -57
  441. package/vertical-stepper/types.d.ts +0 -13
  442. package/vertical-stepper/types.js +0 -1
  443. package/vertical-stepper-item/index.d.ts +0 -14
  444. package/vertical-stepper-item/index.js +0 -61
  445. package/vertical-stepper-item/types.d.ts +0 -24
  446. package/vertical-stepper-item/types.js +0 -1
  447. package/vertical-stepper-item/utils.d.ts +0 -2
  448. package/vertical-stepper-item/utils.js +0 -1
package/input/types.d.ts DELETED
@@ -1,86 +0,0 @@
1
- import type { TSinchElementReact } from '../types';
2
- import type { TSinchSize } from '../utils/size';
3
- export type TSinchInputType = 'text' | 'password';
4
- export type TSinchInputClipboardEvent = CustomEvent<{
5
- value: string;
6
- replaceWith: (value: string) => void;
7
- }>;
8
- export type TSinchInputElement = HTMLElement & {
9
- /** Text field type, `text` by default */
10
- type: TSinchInputType;
11
- /** Value */
12
- value: string;
13
- /** Mask */
14
- mask: string | null;
15
- /** Text that appears in the text field when it has no value set */
16
- placeholder: string | null;
17
- /** The HTML autocomplete attribute */
18
- autocomplete: string;
19
- /** Invalid state */
20
- invalid: boolean;
21
- /** Disabled */
22
- disabled: boolean;
23
- /** Whether the input should be autocofused */
24
- autofocus: boolean;
25
- /** Size, `m` by default */
26
- size: TSinchSize;
27
- selectionStart: number | null;
28
- selectionEnd: number | null;
29
- selectionDirection: 'forward' | 'backward' | 'none' | null;
30
- setSelectionRange(selectionStart: number, selectionEnd: number): void;
31
- /** Change value event */
32
- addEventListener(type: '-change', listener: (e: CustomEvent<string>) => void): void;
33
- /** Focus event */
34
- addEventListener(type: '-focus', listener: (e: CustomEvent<void>) => void): void;
35
- /** Blur event */
36
- addEventListener(type: '-blur', listener: (e: CustomEvent<void>) => void): void;
37
- /** Text field type, `text` by default */
38
- setAttribute(name: 'type', value: TSinchInputType): void;
39
- /** Value */
40
- setAttribute(name: 'value', value: string): void;
41
- /** Mask */
42
- setAttribute(name: 'mask', value: string): void;
43
- /** Text that appears in the text field when it has no value set */
44
- setAttribute(name: 'placeholder', value: string): void;
45
- /** The HTML autocomplete attribute */
46
- setAttribute(name: 'autocomplete', value: string): void;
47
- /** Invalid state */
48
- setAttribute(name: 'invalid', value: ''): void;
49
- /** Disabled */
50
- setAttribute(name: 'disabled', value: ''): void;
51
- /** Autofocus */
52
- setAttribute(name: 'autofocus', value: ''): void;
53
- /** Size, `m` by default */
54
- setAttribute(name: 'size', value: TSinchSize): void;
55
- };
56
- export type TSinchInputReact = TSinchElementReact<TSinchInputElement> & {
57
- /** Controlled value, doesn't change on its own and requres an onChange-value state loop */
58
- value: string;
59
- /** Mask */
60
- mask?: string;
61
- /** Label that is used for a11y – might be different from `label` */
62
- 'aria-label': string;
63
- /** Text field type, `text` by default */
64
- type?: TSinchInputType;
65
- /** The HTML autocomplete attribute */
66
- autocomplete?: string;
67
- /** Text that appears in the text field when it has no value set */
68
- placeholder?: string;
69
- /** Invalid state */
70
- invalid?: boolean;
71
- /** Disabled */
72
- disabled?: boolean;
73
- /** Autofocus */
74
- autofocus?: boolean;
75
- /** Size, `m` by default */
76
- size?: TSinchSize;
77
- /** Change value handler */
78
- 'on-change'?: (e: CustomEvent<string>) => void;
79
- /** Focus handler */
80
- 'on-focus'?: (e: CustomEvent<void>) => void;
81
- /** Blur handler */
82
- 'on-blur'?: (e: CustomEvent<void>) => void;
83
- 'on-cut'?: (e: TSinchInputClipboardEvent) => void;
84
- 'on-copy'?: (e: TSinchInputClipboardEvent) => void;
85
- 'on-paste'?: (e: TSinchInputClipboardEvent) => void;
86
- };
package/input/types.js DELETED
@@ -1 +0,0 @@
1
- export {};
package/input/utils.d.ts DELETED
@@ -1,26 +0,0 @@
1
- import type { TSinchInputType } from './types';
2
- type TSInchInputMaskSymbolModeDigit = 0;
3
- type TSInchInputMaskSymbolModeLetter = 1;
4
- type TSInchInputMaskSymbolModeExact = 2;
5
- type TSinchInputMaskSymbol = {
6
- value: string;
7
- mode: TSInchInputMaskSymbolModeDigit | TSInchInputMaskSymbolModeLetter | TSInchInputMaskSymbolModeExact;
8
- placeholder: string;
9
- };
10
- type TSinchMaskInputResult = {
11
- value: string;
12
- placeholder: string;
13
- cursorPos: number;
14
- mergedValue: string;
15
- };
16
- export declare const inputTypes: readonly TSinchInputType[];
17
- export declare const getMaskSymbols: (maskValue: string) => TSinchInputMaskSymbol[];
18
- export declare const deleteContentBackward: (inputValue: string, maskSymbols: readonly TSinchInputMaskSymbol[], selectionStart: number, selectionEnd: number) => TSinchMaskInputResult | null;
19
- export declare const deleteContentForward: (inputValue: string, maskSymbols: readonly TSinchInputMaskSymbol[], selectionStart: number, selectionEnd: number) => TSinchMaskInputResult | null;
20
- export declare const beginMaskedComposition: (inputValue: string, maskSymbols: readonly TSinchInputMaskSymbol[], selectionStart: number) => Pick<TSinchMaskInputResult, 'value' | 'placeholder'>;
21
- export declare const endMaskedComposition: (inputValue: string, data: string, maskSymbols: readonly TSinchInputMaskSymbol[], selectionStart: number, wasValueInserted: boolean) => TSinchMaskInputResult | null;
22
- export declare const insertText: (inputValue: string, data: string, maskSymbols: readonly TSinchInputMaskSymbol[], selectionStart: number, selectionEnd: number) => TSinchMaskInputResult | null;
23
- export declare const insertFromPaste: (inputValue: string, data: string, maskSymbols: readonly TSinchInputMaskSymbol[], selectionStart: number, selectionEnd: number) => TSinchMaskInputResult | null;
24
- export declare const splitValueAndMask: (inputValue: string, maskSymbols: readonly TSinchInputMaskSymbol[]) => TSinchMaskInputResult;
25
- export declare const getMergedValueSliced: (inputValue: string, maskSymbols: readonly TSinchInputMaskSymbol[], selectionStart: number, selectionEnd: number) => string;
26
- export {};
package/input/utils.js DELETED
@@ -1,302 +0,0 @@
1
- export const inputTypes = ['text', 'password'];
2
- const MASK_SYMBOL_LETTER = 'A';
3
- const MASK_SYMBOL_DIGIT = '0';
4
- const EMPTY_CHAR = ' ';
5
- const MASK_MODE_DIGIT = 0;
6
- const MASK_MODE_LETTER = 1;
7
- const MASK_MODE_EXACT = 2;
8
- const MASK_PLACEHOLDER_DELIMITER = '@@';
9
- const MASK_PLACEHOLDER = '_';
10
- const testMaskedValue = (maskSymbol, inputChar) => {
11
- switch (maskSymbol.mode) {
12
- case MASK_MODE_DIGIT:
13
- {
14
- return /\d/.test(inputChar);
15
- }
16
- case MASK_MODE_LETTER:
17
- {
18
- return /\p{Letter}/u.test(inputChar);
19
- }
20
- }
21
- return false;
22
- };
23
- const isExactMode = maskSymbol => maskSymbol.mode === MASK_MODE_EXACT;
24
- const isEmptyChar = char => char === EMPTY_CHAR;
25
- export const getMaskSymbols = maskValue => {
26
- const res = [];
27
- const [mask, placeholder] = maskValue.split(MASK_PLACEHOLDER_DELIMITER);
28
- const maskSymbols = [...mask];
29
- const placeholderChars = placeholder != null ? [...placeholder] : [];
30
- for (let maskIndex = 0, placeholderIndex = 0; maskIndex < maskSymbols.length; maskIndex++, placeholderIndex++) {
31
- if (maskSymbols[maskIndex] === '\\') {
32
- maskIndex += 1;
33
- res.push({
34
- value: maskSymbols[maskIndex],
35
- mode: MASK_MODE_EXACT,
36
- placeholder: placeholderChars[placeholderIndex] ?? maskSymbols[maskIndex]
37
- });
38
- continue;
39
- }
40
- if (maskSymbols[maskIndex] === MASK_SYMBOL_LETTER || maskSymbols[maskIndex] === MASK_SYMBOL_DIGIT) {
41
- res.push({
42
- value: maskSymbols[maskIndex],
43
- mode: maskSymbols[maskIndex] === MASK_SYMBOL_LETTER ? MASK_MODE_LETTER : MASK_MODE_DIGIT,
44
- placeholder: placeholderChars[placeholderIndex] ?? MASK_PLACEHOLDER
45
- });
46
- continue;
47
- }
48
- res.push({
49
- value: maskSymbols[maskIndex],
50
- mode: MASK_MODE_EXACT,
51
- placeholder: placeholderChars[placeholderIndex] ?? maskSymbols[maskIndex]
52
- });
53
- }
54
- return res;
55
- };
56
- const clearCharsSelection = (chars, selectionStart, selectionEnd) => {
57
- for (let i = selectionStart; i < selectionEnd && i < chars.length; i++) {
58
- chars[i] = EMPTY_CHAR;
59
- }
60
- };
61
- const getPlaceholder = (chars, maskSymbols) => {
62
- const res = new Array(maskSymbols.length);
63
- for (let i = 0; i < maskSymbols.length; i++) {
64
- res[i] = i >= chars.length || isEmptyChar(chars[i]) || isExactMode(maskSymbols[i]) ? maskSymbols[i].placeholder : EMPTY_CHAR;
65
- }
66
- return res.join('');
67
- };
68
- const isMaskedInputComplete = (chars, maskSymbols) => {
69
- if (chars.length > maskSymbols.length) {
70
- throw new Error('chars.length > maskSymbols.length');
71
- }
72
- if (chars.length < maskSymbols.length) {
73
- return false;
74
- }
75
- for (let i = 0; i < maskSymbols.length; i++) {
76
- if (i >= chars.length || !isExactMode(maskSymbols[i]) && !testMaskedValue(maskSymbols[i], chars[i])) {
77
- return false;
78
- }
79
- }
80
- return true;
81
- };
82
- const getCharsFromInputValue = (inputValue, maskSymbols) => {
83
- const chars = new Array(maskSymbols.length);
84
- let i = 0;
85
- for (const c of inputValue) {
86
- chars[i++] = c;
87
- }
88
- chars.fill(EMPTY_CHAR, i);
89
- return chars;
90
- };
91
- const isCursorAtTheBeginning = (maskSymbols, selectoinStart) => {
92
- if (selectoinStart >= maskSymbols.length) {
93
- return false;
94
- }
95
- for (let i = 0; i < selectoinStart; i++) {
96
- if (!isExactMode(maskSymbols[i])) {
97
- return false;
98
- }
99
- }
100
- return true;
101
- };
102
- const getMergedValue = (chars, maskSymbols) => {
103
- if (!isMaskedInputComplete(chars, maskSymbols)) {
104
- return '';
105
- }
106
- const res = new Array(chars.length);
107
- for (let i = 0; i < chars.length; i++) {
108
- res[i] = isExactMode(maskSymbols[i]) ? maskSymbols[i].value : chars[i];
109
- }
110
- return res.join('');
111
- };
112
- const findLastNonEmptyCharIndex = chars => {
113
- for (let i = chars.length - 1; i >= 0; i--) {
114
- if (!isEmptyChar(chars[i])) {
115
- return i;
116
- }
117
- }
118
- return -1;
119
- };
120
- const compileResult = (chars, maskSymbols, cursorPos) => {
121
- if (chars.length > maskSymbols.length) {
122
- chars.length = maskSymbols.length;
123
- }
124
- let lastEmptyPos = findLastNonEmptyCharIndex(chars) + 1;
125
- while (lastEmptyPos < maskSymbols.length && isExactMode(maskSymbols[lastEmptyPos])) {
126
- ++lastEmptyPos;
127
- }
128
- if (lastEmptyPos < chars.length) {
129
- chars.length = lastEmptyPos;
130
- }
131
- return {
132
- value: chars.join(''),
133
- placeholder: getPlaceholder(chars, maskSymbols),
134
- cursorPos: Math.min(cursorPos, chars.length),
135
- mergedValue: getMergedValue(chars, maskSymbols)
136
- };
137
- };
138
- export const deleteContentBackward = (inputValue, maskSymbols, selectionStart, selectionEnd) => {
139
- if (selectionEnd === 0) {
140
- return null;
141
- }
142
- const chars = getCharsFromInputValue(inputValue, maskSymbols);
143
- if (selectionStart !== selectionEnd) {
144
- clearCharsSelection(chars, selectionStart, selectionEnd);
145
- return compileResult(chars, maskSymbols, selectionStart);
146
- }
147
- let cusrsorPos = selectionStart;
148
- while (cusrsorPos > 0 && isExactMode(maskSymbols[cusrsorPos - 1])) {
149
- --cusrsorPos;
150
- }
151
- if (cusrsorPos > 0) {
152
- clearCharsSelection(chars, cusrsorPos - 1, cusrsorPos);
153
- do {
154
- --cusrsorPos;
155
- } while (cusrsorPos > 0 && isExactMode(maskSymbols[cusrsorPos - 1]));
156
- }
157
- return compileResult(chars, maskSymbols, cusrsorPos);
158
- };
159
- export const deleteContentForward = (inputValue, maskSymbols, selectionStart, selectionEnd) => {
160
- if (selectionStart >= maskSymbols.length) {
161
- return null;
162
- }
163
- const chars = getCharsFromInputValue(inputValue, maskSymbols);
164
- if (selectionStart !== selectionEnd) {
165
- clearCharsSelection(chars, selectionStart, selectionEnd);
166
- return compileResult(chars, maskSymbols, selectionEnd);
167
- }
168
- let cursorPos = selectionStart;
169
- while (cursorPos < maskSymbols.length && isExactMode(maskSymbols[cursorPos])) {
170
- cursorPos++;
171
- }
172
- if (cursorPos < chars.length) {
173
- clearCharsSelection(chars, cursorPos, cursorPos + 1);
174
- }
175
- return compileResult(chars, maskSymbols, cursorPos + 1);
176
- };
177
- export const beginMaskedComposition = (inputValue, maskSymbols, selectionStart) => {
178
- const chars = getCharsFromInputValue(inputValue, maskSymbols);
179
- const placeholder = new Array(chars.length);
180
- for (let i = 0; i < maskSymbols.length; i++) {
181
- placeholder[i] = isEmptyChar(chars[i]) || isExactMode(maskSymbols[i]) ? maskSymbols[i].placeholder : EMPTY_CHAR;
182
- }
183
- placeholder[selectionStart] = EMPTY_CHAR;
184
- chars.splice(selectionStart, 1);
185
- return {
186
- value: chars.join(''),
187
- placeholder: placeholder.join('')
188
- };
189
- };
190
- export const endMaskedComposition = (inputValue, data, maskSymbols, selectionStart, wasValueInserted) => {
191
- let cursorPos = selectionStart;
192
- const chars = getCharsFromInputValue(inputValue, maskSymbols);
193
- const dataChars = [...data];
194
- if (!wasValueInserted) {
195
- chars.splice(cursorPos, 0, ...dataChars);
196
- chars.length = maskSymbols.length;
197
- cursorPos += dataChars.length;
198
- }
199
- cursorPos -= dataChars.length;
200
- clearCharsSelection(chars, cursorPos, cursorPos + dataChars.length);
201
- while (cursorPos < maskSymbols.length && isExactMode(maskSymbols[cursorPos])) {
202
- cursorPos++;
203
- }
204
- if (cursorPos >= maskSymbols.length) {
205
- return compileResult(chars, maskSymbols, cursorPos);
206
- }
207
- for (let dataPos = 0; dataPos < dataChars.length && cursorPos < maskSymbols.length; ++dataPos, ++cursorPos) {
208
- const data = dataChars[dataPos];
209
- if (isEmptyChar(chars[cursorPos]) && testMaskedValue(maskSymbols[cursorPos], data)) {
210
- chars[cursorPos] = data;
211
- }
212
- }
213
- while (cursorPos < maskSymbols.length && isExactMode(maskSymbols[cursorPos])) {
214
- cursorPos++;
215
- }
216
- return compileResult(chars, maskSymbols, cursorPos);
217
- };
218
- export const insertText = (inputValue, data, maskSymbols, selectionStart, selectionEnd) => {
219
- const chars = getCharsFromInputValue(inputValue, maskSymbols);
220
- let cursorPos = selectionStart;
221
- clearCharsSelection(chars, selectionStart, selectionEnd);
222
- while (cursorPos < maskSymbols.length && isExactMode(maskSymbols[cursorPos])) {
223
- cursorPos++;
224
- }
225
- if (cursorPos >= maskSymbols.length) {
226
- return compileResult(chars, maskSymbols, cursorPos);
227
- }
228
- if (testMaskedValue(maskSymbols[cursorPos], data)) {
229
- if (cursorPos >= chars.length) {
230
- chars.length = cursorPos + 1;
231
- }
232
- chars[cursorPos] = data;
233
- do {
234
- cursorPos++;
235
- } while (cursorPos < maskSymbols.length && isExactMode(maskSymbols[cursorPos]));
236
- }
237
- return compileResult(chars, maskSymbols, cursorPos);
238
- };
239
- export const insertFromPaste = (inputValue, data, maskSymbols, selectionStart, selectionEnd) => {
240
- const chars = getCharsFromInputValue(inputValue, maskSymbols);
241
- let cursorPos = selectionStart;
242
- clearCharsSelection(chars, selectionStart, selectionEnd);
243
- if (isCursorAtTheBeginning(maskSymbols, cursorPos)) {
244
- cursorPos = 0;
245
- } else {
246
- while (cursorPos < maskSymbols.length && isExactMode(maskSymbols[cursorPos])) {
247
- cursorPos++;
248
- }
249
- }
250
- if (cursorPos >= maskSymbols.length) {
251
- return compileResult(chars, maskSymbols, cursorPos);
252
- }
253
- const dataChars = [...data];
254
- for (let dataPos = 0; dataPos < dataChars.length && cursorPos < maskSymbols.length;) {
255
- const data = dataChars[dataPos];
256
- const maskSymbol = maskSymbols[cursorPos];
257
- if (isExactMode(maskSymbol)) {
258
- if (maskSymbol.value === data) {
259
- ++dataPos;
260
- }
261
- ++cursorPos;
262
- } else {
263
- if (testMaskedValue(maskSymbol, data)) {
264
- chars[cursorPos] = data;
265
- ++cursorPos;
266
- }
267
- ++dataPos;
268
- }
269
- }
270
- return compileResult(chars, maskSymbols, cursorPos);
271
- };
272
- export const splitValueAndMask = (inputValue, maskSymbols) => {
273
- const chars = getCharsFromInputValue('', maskSymbols);
274
- const dataChars = getCharsFromInputValue(inputValue, maskSymbols);
275
- let cursorPos = 0;
276
- for (let dataPos = 0; dataPos < dataChars.length && cursorPos < maskSymbols.length;) {
277
- const data = dataChars[dataPos];
278
- const maskSymbol = maskSymbols[cursorPos];
279
- if (isExactMode(maskSymbol)) {
280
- if (maskSymbol.value === data) {
281
- ++dataPos;
282
- }
283
- ++cursorPos;
284
- } else {
285
- if (testMaskedValue(maskSymbol, data)) {
286
- chars[cursorPos] = data;
287
- ++cursorPos;
288
- }
289
- ++dataPos;
290
- }
291
- }
292
- return compileResult(chars, maskSymbols, chars.length);
293
- };
294
- export const getMergedValueSliced = (inputValue, maskSymbols, selectionStart, selectionEnd) => {
295
- const chars = getCharsFromInputValue(inputValue, maskSymbols);
296
- for (let i = selectionStart; i < selectionEnd && i < maskSymbols.length; i++) {
297
- if (isExactMode(maskSymbols[i])) {
298
- chars[i] = maskSymbols[i].value;
299
- }
300
- }
301
- return chars.slice(selectionStart, selectionEnd).join('');
302
- };
package/link/index.d.ts DELETED
@@ -1,12 +0,0 @@
1
- import '../icon';
2
- import type { TSinchLinkElement, TSinchLinkReact } from './types';
3
- declare global {
4
- namespace JSX {
5
- interface IntrinsicElements {
6
- 'sinch-link': TSinchLinkReact;
7
- }
8
- }
9
- interface HTMLElementTagNameMap {
10
- 'sinch-link': TSinchLinkElement;
11
- }
12
- }
package/link/index.js DELETED
@@ -1,150 +0,0 @@
1
- import '../icon';
2
- import { defineCustomElement, getBooleanAttribute, getAttribute, updateBooleanAttribute, updateAttribute, NectaryElement, isAttrTrue, getReactEventHandler, isAttrEqual } from '../utils';
3
- const templateHTML = '<style>:host{display:inline}a{font:var(--sinch-comp-link-default-font-initial);font-size:inherit;line-height:inherit;text-decoration:var(--sinch-comp-link-default-text-decoration-initial);color:var(--sinch-comp-link-color-default-text-initial);border-radius:.5em;white-space:nowrap;--sinch-global-color-icon:var(--sinch-comp-link-color-default-icon-initial)}a:hover{text-decoration:var(--sinch-comp-link-default-text-decoration-hover);color:var(--sinch-comp-link-color-default-text-hover);--sinch-global-color-icon:var(--sinch-comp-link-color-default-icon-hover)}a:focus-visible{outline:2px solid var(--sinch-comp-link-color-default-outline-focus);outline-offset:2px}:host([standalone]){display:block}:host([standalone]) a{display:block;font:var(--sinch-comp-link-standalone-font-initial);font-size:inherit;line-height:inherit;text-decoration:none;width:fit-content}#external-icon,#standalone-icon{display:none;height:1em}#icon-prefix{display:none;margin-left:-.25em}:host([external]:not([standalone])) #external-icon{display:inline-block;margin-left:.25em;vertical-align:-.2em;--sinch-global-size-icon:1em}:host([standalone][external]) #external-icon{display:inline-block;vertical-align:-.4em;--sinch-global-size-icon:1.5em}:host([standalone]) #icon-prefix{display:inline}:host([standalone]:not([external])) #standalone-icon{display:inline-block;vertical-align:-.4em;--sinch-global-size-icon:1.5em}:host([disabled]) a{color:var(--sinch-comp-link-color-disabled-text-initial);pointer-events:none;cursor:initial;text-decoration:var(--sinch-comp-link-default-text-decoration-disabled);--sinch-global-color-icon:var(--sinch-comp-link-color-disabled-icon-initial)}#content{white-space:var(--sinch-global-text-white-space,normal)}</style><a referrerpolicy="no-referer" aria-hidden="true"><span id="content"></span><span id="icon-prefix">&nbsp;</span><sinch-icon id="external-icon" name="open_in_new"></sinch-icon><sinch-icon id="standalone-icon" name="arrow_forward"></sinch-icon></a>';
4
- const template = document.createElement('template');
5
- template.innerHTML = templateHTML;
6
- defineCustomElement('sinch-link', class extends NectaryElement {
7
- #$anchor;
8
- #$text;
9
- constructor() {
10
- super();
11
- const shadowRoot = this.attachShadow();
12
- shadowRoot.appendChild(template.content.cloneNode(true));
13
- this.#$anchor = shadowRoot.querySelector('a');
14
- this.#$text = shadowRoot.querySelector('#content');
15
- }
16
- connectedCallback() {
17
- this.setAttribute('role', 'link');
18
- this.#$anchor.addEventListener('click', this.#onAnchorClick);
19
- this.#$anchor.addEventListener('focus', this.#onAnchorFocus);
20
- this.#$anchor.addEventListener('blur', this.#onAnchorBlur);
21
- this.addEventListener('-click', this.#onClickReactHandler);
22
- this.addEventListener('-focus', this.#onFocusReactHandler);
23
- this.addEventListener('-blur', this.#onBlurReactHandler);
24
- }
25
- disconnectedCallback() {
26
- this.#$anchor.removeEventListener('click', this.#onAnchorClick);
27
- this.#$anchor.removeEventListener('focus', this.#onAnchorFocus);
28
- this.#$anchor.removeEventListener('blur', this.#onAnchorBlur);
29
- this.removeEventListener('-click', this.#onClickReactHandler);
30
- this.removeEventListener('-focus', this.#onFocusReactHandler);
31
- this.removeEventListener('-blur', this.#onBlurReactHandler);
32
- }
33
- static get observedAttributes() {
34
- return ['text', 'href', 'use-history', 'external', 'standalone', 'disabled'];
35
- }
36
- attributeChangedCallback(name, oldVal, newVal) {
37
- if (isAttrEqual(oldVal, newVal)) {
38
- return;
39
- }
40
- switch (name) {
41
- case 'text':
42
- {
43
- this.#$text.textContent = newVal;
44
- break;
45
- }
46
- case 'href':
47
- {
48
- updateAttribute(this.#$anchor, 'href', newVal);
49
- break;
50
- }
51
- case 'use-history':
52
- {
53
- const shouldUseHistory = isAttrTrue(newVal);
54
- if (shouldUseHistory) {
55
- updateBooleanAttribute(this, 'preventdefault', true);
56
- }
57
- updateBooleanAttribute(this, name, shouldUseHistory);
58
- break;
59
- }
60
- case 'standalone':
61
- case 'disabled':
62
- {
63
- updateBooleanAttribute(this, name, isAttrTrue(newVal));
64
- break;
65
- }
66
- case 'external':
67
- {
68
- const isExternal = isAttrTrue(newVal);
69
- updateAttribute(this.#$anchor, 'target', isExternal ? '_blank' : null);
70
- updateBooleanAttribute(this, name, isExternal);
71
- break;
72
- }
73
- }
74
- }
75
- get text() {
76
- return getAttribute(this, 'text', '');
77
- }
78
- set text(value) {
79
- updateAttribute(this, 'text', value);
80
- }
81
- get href() {
82
- return getAttribute(this, 'href', '');
83
- }
84
- set href(value) {
85
- updateAttribute(this, 'href', value);
86
- }
87
- set 'use-history'(value) {
88
- updateBooleanAttribute(this, 'use-history', value);
89
- }
90
- get 'use-history'() {
91
- return getBooleanAttribute(this, 'use-history');
92
- }
93
- set disabled(isDisabled) {
94
- updateBooleanAttribute(this, 'disabled', isDisabled);
95
- }
96
- get disabled() {
97
- return getBooleanAttribute(this, 'disabled');
98
- }
99
- set external(isExternal) {
100
- updateBooleanAttribute(this, 'external', isExternal);
101
- }
102
- get external() {
103
- return getBooleanAttribute(this, 'external');
104
- }
105
- set standalone(isstandalone) {
106
- updateBooleanAttribute(this, 'standalone', isstandalone);
107
- }
108
- get standalone() {
109
- return getBooleanAttribute(this, 'standalone');
110
- }
111
- set preventDefault(isPrevented) {
112
- updateBooleanAttribute(this, 'preventdefault', isPrevented);
113
- }
114
- get preventDefault() {
115
- return getBooleanAttribute(this, 'preventdefault');
116
- }
117
- get focusable() {
118
- return true;
119
- }
120
- focus() {
121
- this.#$anchor.focus();
122
- }
123
- blur() {
124
- this.#$anchor.blur();
125
- }
126
- #onAnchorClick = e => {
127
- if (this.preventDefault) {
128
- e.preventDefault();
129
- if (this['use-history']) {
130
- history.pushState({}, '', this.href);
131
- }
132
- }
133
- this.dispatchEvent(new CustomEvent('-click'));
134
- };
135
- #onAnchorFocus = () => {
136
- this.dispatchEvent(new CustomEvent('-focus'));
137
- };
138
- #onAnchorBlur = () => {
139
- this.dispatchEvent(new CustomEvent('-blur'));
140
- };
141
- #onFocusReactHandler = () => {
142
- getReactEventHandler(this, 'on-focus')?.();
143
- };
144
- #onBlurReactHandler = () => {
145
- getReactEventHandler(this, 'on-blur')?.();
146
- };
147
- #onClickReactHandler = e => {
148
- getReactEventHandler(this, 'on-click')?.(e);
149
- };
150
- });
package/link/types.d.ts DELETED
@@ -1,59 +0,0 @@
1
- import type { TSinchElementReact } from '../types';
2
- export type TSinchLinkElement = HTMLElement & {
3
- /** Text content of hyperlink */
4
- text: string;
5
- /** URL that hyperlink point to */
6
- href: string;
7
- /** Disabled */
8
- disabled: boolean;
9
- /** Replaces the anchor tag behaviour to use history instead */
10
- 'use-history': boolean;
11
- /** Sets `target="_blank" and a special external icon on the left side */
12
- external: boolean;
13
- /** Special standalone (`display: block`) mode with an arrow icon on the right side */
14
- standalone: boolean;
15
- /** Prevents default behaviour on hyperlink click */
16
- preventDefault: boolean;
17
- /** Click event */
18
- addEventListener(type: '-click', listener: (e: CustomEvent<void>) => void): void;
19
- /** Focus event */
20
- addEventListener(type: '-focus', listener: (e: CustomEvent<void>) => void): void;
21
- /** Blur event */
22
- addEventListener(type: '-blur', listener: (e: CustomEvent<void>) => void): void;
23
- /** Text content of hyperlink */
24
- setAttribute(name: 'text', value: string): void;
25
- /** URL that hyperlink point to */
26
- setAttribute(name: 'href', value: string): void;
27
- /** Disabled */
28
- setAttribute(name: 'disabled', value: ''): void;
29
- /** Sets `target="_blank" and a special external icon on the left side */
30
- setAttribute(name: 'external', value: ''): void;
31
- /** Special standalone (`display: block`) mode with an arrow icon on the right side */
32
- setAttribute(name: 'standalone', value: ''): void;
33
- /** Prevents default behaviour on hyperlink click */
34
- setAttribute(name: 'preventdefault', value: ''): void;
35
- };
36
- export type TSinchLinkReact = TSinchElementReact<TSinchLinkElement> & {
37
- /** Text content of hyperlink */
38
- text: string;
39
- /** URL that hyperlink point to */
40
- href: string;
41
- /** Replaces the anchor tag behaviour to use history instead */
42
- 'use-history'?: boolean;
43
- /** Disabled */
44
- disabled?: boolean;
45
- /** Sets `target="_blank" and a special external icon on the left side */
46
- external?: boolean;
47
- /** Special standalone (`display: block`) mode with an arrow icon on the right side */
48
- standalone?: boolean;
49
- /** Prevents default behaviour on hyperlink click */
50
- preventDefault?: boolean;
51
- /** Label that is used for a11y – might be different from `text` */
52
- 'aria-label': string;
53
- /** Click even handler */
54
- 'on-click'?: (e: CustomEvent<void>) => void;
55
- /** Focus even handler */
56
- 'on-focus'?: (e: CustomEvent<void>) => void;
57
- /** Blur even handler */
58
- 'on-blur'?: (e: CustomEvent<void>) => void;
59
- };
package/link/types.js DELETED
@@ -1 +0,0 @@
1
- export {};
package/list/index.d.ts DELETED
@@ -1,11 +0,0 @@
1
- import type { TSinchListElement, TSinchListReact } from './types';
2
- declare global {
3
- namespace JSX {
4
- interface IntrinsicElements {
5
- 'sinch-list': TSinchListReact;
6
- }
7
- }
8
- interface HTMLElementTagNameMap {
9
- 'sinch-list': TSinchListElement;
10
- }
11
- }
package/list/index.js DELETED
@@ -1,14 +0,0 @@
1
- import { defineCustomElement, NectaryElement } from '../utils';
2
- const templateHTML = '<style>:host{display:block;height:100%}#wrapper{display:flex;flex-direction:column;box-sizing:border-box;width:100%;height:100%;overflow-y:auto}</style><div id="wrapper"><slot></slot></div>';
3
- const template = document.createElement('template');
4
- template.innerHTML = templateHTML;
5
- defineCustomElement('sinch-list', class extends NectaryElement {
6
- constructor() {
7
- super();
8
- const shadowRoot = this.attachShadow();
9
- shadowRoot.appendChild(template.content.cloneNode(true));
10
- }
11
- connectedCallback() {
12
- this.setAttribute('role', 'list');
13
- }
14
- });
package/list/types.d.ts DELETED
@@ -1,3 +0,0 @@
1
- import type { TSinchElementReact } from '../types';
2
- export type TSinchListElement = HTMLElement;
3
- export type TSinchListReact = TSinchElementReact<TSinchListElement>;
package/list/types.js DELETED
@@ -1 +0,0 @@
1
- export {};