@nectary/components 2.8.8 → 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 (447) hide show
  1. package/package.json +1 -1
  2. package/accordion/index.d.ts +0 -11
  3. package/accordion/index.js +0 -86
  4. package/accordion/types.d.ts +0 -21
  5. package/accordion/types.js +0 -1
  6. package/accordion-item/index.d.ts +0 -14
  7. package/accordion-item/index.js +0 -95
  8. package/accordion-item/types.d.ts +0 -36
  9. package/accordion-item/types.js +0 -1
  10. package/accordion-item/utils.d.ts +0 -2
  11. package/accordion-item/utils.js +0 -1
  12. package/action-menu/index.d.ts +0 -11
  13. package/action-menu/index.js +0 -195
  14. package/action-menu/types.d.ts +0 -13
  15. package/action-menu/types.js +0 -1
  16. package/action-menu-option/index.d.ts +0 -12
  17. package/action-menu-option/index.js +0 -82
  18. package/action-menu-option/types.d.ts +0 -23
  19. package/action-menu-option/types.js +0 -1
  20. package/action-menu-option/utils.d.ts +0 -2
  21. package/action-menu-option/utils.js +0 -3
  22. package/alert/index.d.ts +0 -14
  23. package/alert/index.js +0 -48
  24. package/alert/types.d.ts +0 -18
  25. package/alert/types.js +0 -1
  26. package/alert/utils.d.ts +0 -2
  27. package/alert/utils.js +0 -1
  28. package/avatar/index.d.ts +0 -11
  29. package/avatar/index.js +0 -94
  30. package/avatar/types.d.ts +0 -37
  31. package/avatar/types.js +0 -1
  32. package/avatar/utils.d.ts +0 -4
  33. package/avatar/utils.js +0 -7
  34. package/badge/index.d.ts +0 -11
  35. package/badge/index.js +0 -114
  36. package/badge/types.d.ts +0 -34
  37. package/badge/types.js +0 -1
  38. package/badge/utils.d.ts +0 -2
  39. package/badge/utils.js +0 -1
  40. package/button/index.d.ts +0 -11
  41. package/button/index.js +0 -182
  42. package/button/types.d.ts +0 -53
  43. package/button/types.js +0 -1
  44. package/button/utils.d.ts +0 -2
  45. package/button/utils.js +0 -1
  46. package/card/index.d.ts +0 -13
  47. package/card/index.js +0 -133
  48. package/card/types.d.ts +0 -28
  49. package/card/types.js +0 -1
  50. package/card-container/index.d.ts +0 -11
  51. package/card-container/index.js +0 -11
  52. package/card-container/types.d.ts +0 -3
  53. package/card-container/types.js +0 -1
  54. package/chat/index.d.ts +0 -11
  55. package/chat/index.js +0 -11
  56. package/chat/types.d.ts +0 -3
  57. package/chat/types.js +0 -1
  58. package/chat-block/index.d.ts +0 -11
  59. package/chat-block/index.js +0 -86
  60. package/chat-block/types.d.ts +0 -30
  61. package/chat-block/types.js +0 -1
  62. package/chat-bubble/index.d.ts +0 -11
  63. package/chat-bubble/index.js +0 -41
  64. package/chat-bubble/types.d.ts +0 -20
  65. package/chat-bubble/types.js +0 -1
  66. package/chat-bubble/utils.d.ts +0 -3
  67. package/chat-bubble/utils.js +0 -2
  68. package/checkbox/index.d.ts +0 -11
  69. package/checkbox/index.js +0 -126
  70. package/checkbox/types.d.ts +0 -49
  71. package/checkbox/types.js +0 -1
  72. package/chip/index.d.ts +0 -13
  73. package/chip/index.js +0 -144
  74. package/chip/types.d.ts +0 -37
  75. package/chip/types.js +0 -1
  76. package/chip/utils.d.ts +0 -2
  77. package/chip/utils.js +0 -6
  78. package/code-tag/index.d.ts +0 -11
  79. package/code-tag/index.js +0 -31
  80. package/code-tag/types.d.ts +0 -11
  81. package/code-tag/types.js +0 -1
  82. package/color-menu/index.d.ts +0 -11
  83. package/color-menu/index.js +0 -308
  84. package/color-menu/types.d.ts +0 -32
  85. package/color-menu/types.js +0 -1
  86. package/color-menu/utils.d.ts +0 -1
  87. package/color-menu/utils.js +0 -11
  88. package/color-menu-option/index.d.ts +0 -13
  89. package/color-menu-option/index.js +0 -48
  90. package/color-menu-option/types.d.ts +0 -11
  91. package/color-menu-option/types.js +0 -1
  92. package/color-menu-option/utils.d.ts +0 -1
  93. package/color-menu-option/utils.js +0 -11
  94. package/color-swatch/index.d.ts +0 -12
  95. package/color-swatch/index.js +0 -54
  96. package/color-swatch/types.d.ts +0 -11
  97. package/color-swatch/types.js +0 -1
  98. package/color-swatch/utils.d.ts +0 -2
  99. package/color-swatch/utils.js +0 -6
  100. package/date-picker/index.d.ts +0 -14
  101. package/date-picker/index.js +0 -381
  102. package/date-picker/types.d.ts +0 -70
  103. package/date-picker/types.js +0 -1
  104. package/date-picker/utils.d.ts +0 -28
  105. package/date-picker/utils.js +0 -142
  106. package/dialog/index.d.ts +0 -15
  107. package/dialog/index.js +0 -144
  108. package/dialog/types.d.ts +0 -28
  109. package/dialog/types.js +0 -1
  110. package/dialog/utils.d.ts +0 -2
  111. package/dialog/utils.js +0 -18
  112. package/emoji/index.d.ts +0 -11
  113. package/emoji/index.js +0 -46
  114. package/emoji/types.d.ts +0 -11
  115. package/emoji/types.js +0 -1
  116. package/emoji/utils.d.ts +0 -3
  117. package/emoji/utils.js +0 -47
  118. package/emoji-picker/index.d.ts +0 -22
  119. package/emoji-picker/index.js +0 -308
  120. package/emoji-picker/types.d.ts +0 -26
  121. package/emoji-picker/types.js +0 -1
  122. package/field/index.d.ts +0 -11
  123. package/field/index.js +0 -120
  124. package/field/types.d.ts +0 -35
  125. package/field/types.js +0 -1
  126. package/file-drop/index.d.ts +0 -13
  127. package/file-drop/index.js +0 -205
  128. package/file-drop/types.d.ts +0 -50
  129. package/file-drop/types.js +0 -1
  130. package/file-drop/utils.d.ts +0 -2
  131. package/file-drop/utils.js +0 -31
  132. package/file-picker/index.d.ts +0 -11
  133. package/file-picker/index.js +0 -103
  134. package/file-picker/types.d.ts +0 -32
  135. package/file-picker/types.js +0 -1
  136. package/file-picker/utils.d.ts +0 -1
  137. package/file-picker/utils.js +0 -8
  138. package/file-status/index.d.ts +0 -14
  139. package/file-status/index.js +0 -61
  140. package/file-status/types.d.ts +0 -18
  141. package/file-status/types.js +0 -1
  142. package/file-status/utils.d.ts +0 -2
  143. package/file-status/utils.js +0 -1
  144. package/flag/index.d.ts +0 -11
  145. package/flag/index.js +0 -46
  146. package/flag/types.d.ts +0 -11
  147. package/flag/types.js +0 -1
  148. package/flag/utils.d.ts +0 -1
  149. package/flag/utils.js +0 -17
  150. package/grid/index.d.ts +0 -11
  151. package/grid/index.js +0 -11
  152. package/grid/types.d.ts +0 -3
  153. package/grid/types.js +0 -1
  154. package/grid-item/index.d.ts +0 -11
  155. package/grid-item/index.js +0 -35
  156. package/grid-item/types.d.ts +0 -17
  157. package/grid-item/types.js +0 -1
  158. package/help-tooltip/index.d.ts +0 -13
  159. package/help-tooltip/index.js +0 -74
  160. package/help-tooltip/types.d.ts +0 -3
  161. package/help-tooltip/types.js +0 -1
  162. package/horizontal-stepper/index.d.ts +0 -11
  163. package/horizontal-stepper/index.js +0 -61
  164. package/horizontal-stepper/types.d.ts +0 -13
  165. package/horizontal-stepper/types.js +0 -1
  166. package/horizontal-stepper-item/index.d.ts +0 -14
  167. package/horizontal-stepper-item/index.js +0 -61
  168. package/horizontal-stepper-item/types.d.ts +0 -24
  169. package/horizontal-stepper-item/types.js +0 -1
  170. package/horizontal-stepper-item/utils.d.ts +0 -2
  171. package/horizontal-stepper-item/utils.js +0 -1
  172. package/icon/index.d.ts +0 -11
  173. package/icon/index.js +0 -32
  174. package/icon/types.d.ts +0 -11
  175. package/icon/types.js +0 -1
  176. package/icon-button/index.d.ts +0 -12
  177. package/icon-button/index.js +0 -175
  178. package/icon-button/types.d.ts +0 -44
  179. package/icon-button/types.js +0 -1
  180. package/icon-button/utils.d.ts +0 -2
  181. package/icon-button/utils.js +0 -1
  182. package/inline-alert/index.d.ts +0 -15
  183. package/inline-alert/index.js +0 -83
  184. package/inline-alert/types.d.ts +0 -15
  185. package/inline-alert/types.js +0 -1
  186. package/inline-alert/utils.d.ts +0 -2
  187. package/inline-alert/utils.js +0 -1
  188. package/input/index.d.ts +0 -11
  189. package/input/index.js +0 -637
  190. package/input/types.d.ts +0 -86
  191. package/input/types.js +0 -1
  192. package/input/utils.d.ts +0 -26
  193. package/input/utils.js +0 -302
  194. package/link/index.d.ts +0 -12
  195. package/link/index.js +0 -150
  196. package/link/types.d.ts +0 -59
  197. package/link/types.js +0 -1
  198. package/list/index.d.ts +0 -11
  199. package/list/index.js +0 -14
  200. package/list/types.d.ts +0 -3
  201. package/list/types.js +0 -1
  202. package/list-item/index.d.ts +0 -11
  203. package/list-item/index.js +0 -14
  204. package/list-item/types.d.ts +0 -3
  205. package/list-item/types.js +0 -1
  206. package/pagination/index.d.ts +0 -12
  207. package/pagination/index.js +0 -147
  208. package/pagination/types.d.ts +0 -16
  209. package/pagination/types.js +0 -1
  210. package/pop/index.d.ts +0 -11
  211. package/pop/index.js +0 -425
  212. package/pop/types.d.ts +0 -35
  213. package/pop/types.js +0 -1
  214. package/pop/utils.d.ts +0 -4
  215. package/pop/utils.js +0 -16
  216. package/popover/index.d.ts +0 -12
  217. package/popover/index.js +0 -146
  218. package/popover/types.d.ts +0 -40
  219. package/popover/types.js +0 -1
  220. package/popover/utils.d.ts +0 -4
  221. package/popover/utils.js +0 -10
  222. package/progress/index.d.ts +0 -12
  223. package/progress/index.js +0 -58
  224. package/progress/types.d.ts +0 -12
  225. package/progress/types.js +0 -1
  226. package/progress-stepper/index.d.ts +0 -11
  227. package/progress-stepper/index.js +0 -206
  228. package/progress-stepper/types.d.ts +0 -22
  229. package/progress-stepper/types.js +0 -1
  230. package/progress-stepper-item/index.d.ts +0 -12
  231. package/progress-stepper-item/index.js +0 -82
  232. package/progress-stepper-item/types.d.ts +0 -23
  233. package/progress-stepper-item/types.js +0 -1
  234. package/progress-stepper-item/utils.d.ts +0 -11
  235. package/progress-stepper-item/utils.js +0 -13
  236. package/radio/index.d.ts +0 -11
  237. package/radio/index.js +0 -154
  238. package/radio/types.d.ts +0 -14
  239. package/radio/types.js +0 -1
  240. package/radio-option/index.d.ts +0 -11
  241. package/radio-option/index.js +0 -79
  242. package/radio-option/types.d.ts +0 -18
  243. package/radio-option/types.js +0 -1
  244. package/rich-text/index.d.ts +0 -14
  245. package/rich-text/index.js +0 -75
  246. package/rich-text/types.d.ts +0 -12
  247. package/rich-text/types.js +0 -1
  248. package/rich-text/utils.d.ts +0 -7
  249. package/rich-text/utils.js +0 -107
  250. package/rich-textarea/index.d.ts +0 -11
  251. package/rich-textarea/index.js +0 -464
  252. package/rich-textarea/types.d.ts +0 -48
  253. package/rich-textarea/types.js +0 -1
  254. package/rich-textarea/utils.d.ts +0 -39
  255. package/rich-textarea/utils.js +0 -1730
  256. package/segment/index.d.ts +0 -12
  257. package/segment/index.js +0 -109
  258. package/segment/types.d.ts +0 -16
  259. package/segment/types.js +0 -1
  260. package/segment/utils.d.ts +0 -3
  261. package/segment/utils.js +0 -16
  262. package/segment-collapse/index.d.ts +0 -13
  263. package/segment-collapse/index.js +0 -60
  264. package/segment-collapse/types.d.ts +0 -11
  265. package/segment-collapse/types.js +0 -1
  266. package/segmented-control/index.d.ts +0 -11
  267. package/segmented-control/index.js +0 -85
  268. package/segmented-control/types.d.ts +0 -11
  269. package/segmented-control/types.js +0 -1
  270. package/segmented-control-option/index.d.ts +0 -11
  271. package/segmented-control-option/index.js +0 -95
  272. package/segmented-control-option/types.d.ts +0 -19
  273. package/segmented-control-option/types.js +0 -1
  274. package/segmented-icon-control/index.d.ts +0 -11
  275. package/segmented-icon-control/index.js +0 -101
  276. package/segmented-icon-control/types.d.ts +0 -14
  277. package/segmented-icon-control/types.js +0 -1
  278. package/segmented-icon-control-option/index.d.ts +0 -11
  279. package/segmented-icon-control-option/index.js +0 -82
  280. package/segmented-icon-control-option/types.d.ts +0 -16
  281. package/segmented-icon-control-option/types.js +0 -1
  282. package/select-button/index.d.ts +0 -13
  283. package/select-button/index.js +0 -202
  284. package/select-button/types.d.ts +0 -50
  285. package/select-button/types.js +0 -1
  286. package/select-menu/index.d.ts +0 -15
  287. package/select-menu/index.js +0 -339
  288. package/select-menu/types.d.ts +0 -41
  289. package/select-menu/types.js +0 -1
  290. package/select-menu-option/index.d.ts +0 -28
  291. package/select-menu-option/index.js +0 -65
  292. package/select-menu-option/types.d.ts +0 -26
  293. package/select-menu-option/types.js +0 -1
  294. package/skeleton/index.d.ts +0 -11
  295. package/skeleton/index.js +0 -108
  296. package/skeleton/types.d.ts +0 -9
  297. package/skeleton/types.js +0 -1
  298. package/skeleton-item/index.d.ts +0 -11
  299. package/skeleton-item/index.js +0 -11
  300. package/skeleton-item/types.d.ts +0 -13
  301. package/skeleton-item/types.js +0 -1
  302. package/spinner/index.d.ts +0 -11
  303. package/spinner/index.js +0 -58
  304. package/spinner/types.d.ts +0 -12
  305. package/spinner/types.js +0 -1
  306. package/standalone.d.ts +0 -85
  307. package/standalone.js +0 -87
  308. package/stop-events/index.d.ts +0 -1
  309. package/stop-events/index.js +0 -27
  310. package/table/index.d.ts +0 -11
  311. package/table/index.js +0 -14
  312. package/table/types.d.ts +0 -3
  313. package/table/types.js +0 -1
  314. package/table-body/index.d.ts +0 -11
  315. package/table-body/index.js +0 -14
  316. package/table-body/types.d.ts +0 -3
  317. package/table-body/types.js +0 -1
  318. package/table-cell/index.d.ts +0 -11
  319. package/table-cell/index.js +0 -21
  320. package/table-cell/types.d.ts +0 -9
  321. package/table-cell/types.js +0 -1
  322. package/table-cell/utils.d.ts +0 -2
  323. package/table-cell/utils.js +0 -1
  324. package/table-head/index.d.ts +0 -11
  325. package/table-head/index.js +0 -14
  326. package/table-head/types.d.ts +0 -3
  327. package/table-head/types.js +0 -1
  328. package/table-head-cell/index.d.ts +0 -12
  329. package/table-head-cell/index.js +0 -57
  330. package/table-head-cell/types.d.ts +0 -15
  331. package/table-head-cell/types.js +0 -1
  332. package/table-row/index.d.ts +0 -11
  333. package/table-row/index.js +0 -42
  334. package/table-row/types.d.ts +0 -11
  335. package/table-row/types.js +0 -1
  336. package/tabs/index.d.ts +0 -11
  337. package/tabs/index.js +0 -80
  338. package/tabs/types.d.ts +0 -18
  339. package/tabs/types.js +0 -1
  340. package/tabs-icon-option/index.d.ts +0 -11
  341. package/tabs-icon-option/index.js +0 -79
  342. package/tabs-icon-option/types.d.ts +0 -19
  343. package/tabs-icon-option/types.js +0 -1
  344. package/tabs-option/index.d.ts +0 -12
  345. package/tabs-option/index.js +0 -86
  346. package/tabs-option/types.d.ts +0 -25
  347. package/tabs-option/types.js +0 -1
  348. package/tag/index.d.ts +0 -12
  349. package/tag/index.js +0 -84
  350. package/tag/types.d.ts +0 -23
  351. package/tag/types.js +0 -1
  352. package/tag/utils.d.ts +0 -2
  353. package/tag/utils.js +0 -6
  354. package/text/index.d.ts +0 -11
  355. package/text/index.js +0 -64
  356. package/text/types.d.ts +0 -30
  357. package/text/types.js +0 -1
  358. package/text/utils.d.ts +0 -2
  359. package/text/utils.js +0 -1
  360. package/textarea/index.d.ts +0 -11
  361. package/textarea/index.js +0 -322
  362. package/textarea/types.d.ts +0 -60
  363. package/textarea/types.js +0 -1
  364. package/tile-control/index.d.ts +0 -11
  365. package/tile-control/index.js +0 -110
  366. package/tile-control/types.d.ts +0 -37
  367. package/tile-control/types.js +0 -1
  368. package/tile-control-option/index.d.ts +0 -11
  369. package/tile-control-option/index.js +0 -98
  370. package/tile-control-option/types.d.ts +0 -37
  371. package/tile-control-option/types.js +0 -1
  372. package/time-picker/index.d.ts +0 -15
  373. package/time-picker/index.js +0 -337
  374. package/time-picker/types.d.ts +0 -34
  375. package/time-picker/types.js +0 -1
  376. package/time-picker/utils.d.ts +0 -11
  377. package/time-picker/utils.js +0 -75
  378. package/title/index.d.ts +0 -11
  379. package/title/index.js +0 -60
  380. package/title/types.d.ts +0 -31
  381. package/title/types.js +0 -1
  382. package/title/utils.d.ts +0 -3
  383. package/title/utils.js +0 -17
  384. package/toast/index.d.ts +0 -13
  385. package/toast/index.js +0 -86
  386. package/toast/types.d.ts +0 -28
  387. package/toast/types.js +0 -1
  388. package/toast/utils.d.ts +0 -2
  389. package/toast/utils.js +0 -1
  390. package/toast-manager/index.d.ts +0 -13
  391. package/toast-manager/index.js +0 -170
  392. package/toast-manager/types.d.ts +0 -13
  393. package/toast-manager/types.js +0 -1
  394. package/toast-manager/utils.d.ts +0 -2
  395. package/toast-manager/utils.js +0 -1
  396. package/toggle/index.d.ts +0 -11
  397. package/toggle/index.js +0 -141
  398. package/toggle/types.d.ts +0 -23
  399. package/toggle/types.js +0 -1
  400. package/tooltip/index.d.ts +0 -13
  401. package/tooltip/index.js +0 -264
  402. package/tooltip/tooltip-state.d.ts +0 -19
  403. package/tooltip/tooltip-state.js +0 -126
  404. package/tooltip/types.d.ts +0 -35
  405. package/tooltip/types.js +0 -1
  406. package/tooltip/utils.d.ts +0 -5
  407. package/tooltip/utils.js +0 -17
  408. package/utils/context.d.ts +0 -20
  409. package/utils/context.js +0 -84
  410. package/utils/countries.d.ts +0 -6
  411. package/utils/countries.js +0 -2
  412. package/utils/csv.d.ts +0 -5
  413. package/utils/csv.js +0 -22
  414. package/utils/debounce.d.ts +0 -8
  415. package/utils/debounce.js +0 -22
  416. package/utils/dom.d.ts +0 -34
  417. package/utils/dom.js +0 -154
  418. package/utils/element.d.ts +0 -16
  419. package/utils/element.js +0 -48
  420. package/utils/event-target.d.ts +0 -4
  421. package/utils/event-target.js +0 -26
  422. package/utils/get-react-event-handler.d.ts +0 -1
  423. package/utils/get-react-event-handler.js +0 -8
  424. package/utils/index.d.ts +0 -12
  425. package/utils/index.js +0 -12
  426. package/utils/markdown.d.ts +0 -19
  427. package/utils/markdown.js +0 -143
  428. package/utils/rect.d.ts +0 -4
  429. package/utils/rect.js +0 -28
  430. package/utils/size.d.ts +0 -5
  431. package/utils/size.js +0 -3
  432. package/utils/slot.d.ts +0 -4
  433. package/utils/slot.js +0 -38
  434. package/utils/throttle.d.ts +0 -4
  435. package/utils/throttle.js +0 -20
  436. package/utils/uid.d.ts +0 -1
  437. package/utils/uid.js +0 -13
  438. package/vertical-stepper/index.d.ts +0 -11
  439. package/vertical-stepper/index.js +0 -57
  440. package/vertical-stepper/types.d.ts +0 -13
  441. package/vertical-stepper/types.js +0 -1
  442. package/vertical-stepper-item/index.d.ts +0 -14
  443. package/vertical-stepper-item/index.js +0 -61
  444. package/vertical-stepper-item/types.d.ts +0 -24
  445. package/vertical-stepper-item/types.js +0 -1
  446. package/vertical-stepper-item/utils.d.ts +0 -2
  447. 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 {};