@nectary/components 4.12.0 → 4.12.1

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 (585) hide show
  1. package/accordion/index.d.ts +22 -1
  2. package/accordion/index.js +39 -41
  3. package/accordion/types.d.ts +1 -21
  4. package/accordion/types.js +1 -1
  5. package/accordion-item/index.d.ts +22 -2
  6. package/accordion-item/index.js +49 -53
  7. package/accordion-item/types.d.ts +1 -21
  8. package/accordion-item/types.js +1 -1
  9. package/accordion-item/utils.js +1 -4
  10. package/action-menu/index.d.ts +22 -1
  11. package/action-menu/index.js +77 -62
  12. package/action-menu/types.d.ts +1 -21
  13. package/action-menu/types.js +1 -1
  14. package/action-menu-option/index.d.ts +22 -1
  15. package/action-menu-option/index.js +41 -39
  16. package/action-menu-option/types.d.ts +1 -21
  17. package/action-menu-option/types.js +1 -1
  18. package/action-menu-option/utils.js +3 -6
  19. package/alert/index.d.ts +22 -2
  20. package/alert/index.js +21 -24
  21. package/alert/types.d.ts +1 -21
  22. package/alert/types.js +1 -1
  23. package/alert/utils.js +1 -4
  24. package/avatar/colors.js +1 -1
  25. package/avatar/index.d.ts +22 -2
  26. package/avatar/index.js +41 -42
  27. package/avatar/types.d.ts +1 -21
  28. package/avatar/types.js +1 -1
  29. package/avatar/utils.js +4 -9
  30. package/badge/index.d.ts +22 -3
  31. package/badge/index.js +51 -52
  32. package/badge/types.d.ts +1 -21
  33. package/badge/types.js +1 -1
  34. package/badge/utils.js +1 -4
  35. package/button/index.d.ts +22 -2
  36. package/button/index.js +111 -101
  37. package/button/types.d.ts +1 -21
  38. package/button/types.js +1 -1
  39. package/button/utils.js +2 -18
  40. package/button-group/index.d.ts +22 -1
  41. package/button-group/index.js +18 -20
  42. package/button-group/types.d.ts +3 -22
  43. package/button-group/types.js +1 -1
  44. package/button-group-item/index.d.ts +22 -2
  45. package/button-group-item/index.js +42 -31
  46. package/button-group-item/types.d.ts +3 -22
  47. package/button-group-item/types.js +1 -1
  48. package/card/index.d.ts +40 -0
  49. package/card/index.js +134 -0
  50. package/card/types.d.ts +17 -0
  51. package/card/types.js +1 -0
  52. package/card-container/index.d.ts +21 -1
  53. package/card-container/index.js +5 -8
  54. package/card-container/types.d.ts +1 -21
  55. package/card-container/types.js +1 -1
  56. package/card-v2/index.d.ts +22 -1
  57. package/card-v2/index.js +57 -59
  58. package/card-v2/types.d.ts +1 -21
  59. package/card-v2/types.js +1 -1
  60. package/card-v2-title/index.d.ts +22 -2
  61. package/card-v2-title/index.js +26 -28
  62. package/card-v2-title/types.d.ts +1 -21
  63. package/card-v2-title/types.js +1 -1
  64. package/checkbox/index.d.ts +22 -1
  65. package/checkbox/index.js +81 -88
  66. package/checkbox/types.d.ts +1 -21
  67. package/checkbox/types.js +1 -1
  68. package/chip/colors.js +1 -1
  69. package/chip/index.d.ts +22 -1
  70. package/chip/index.js +75 -62
  71. package/chip/types.d.ts +1 -21
  72. package/chip/types.js +1 -1
  73. package/chip/utils.js +3 -7
  74. package/code-tag/index.d.ts +22 -1
  75. package/code-tag/index.js +14 -17
  76. package/code-tag/types.d.ts +1 -21
  77. package/code-tag/types.js +1 -1
  78. package/color-menu/index.d.ts +22 -2
  79. package/color-menu/index.js +115 -115
  80. package/color-menu/types.d.ts +1 -21
  81. package/color-menu/types.js +1 -1
  82. package/color-menu/utils.js +3 -6
  83. package/color-menu-option/index.d.ts +22 -1
  84. package/color-menu-option/index.js +26 -30
  85. package/color-menu-option/types.d.ts +1 -21
  86. package/color-menu-option/types.js +1 -1
  87. package/color-menu-option/utils.js +3 -6
  88. package/color-swatch/index.d.ts +22 -1
  89. package/color-swatch/index.js +20 -23
  90. package/color-swatch/types.d.ts +1 -21
  91. package/color-swatch/types.js +1 -1
  92. package/color-swatch/utils.js +3 -7
  93. package/date-picker/index.d.ts +22 -2
  94. package/date-picker/index.js +150 -157
  95. package/date-picker/types.d.ts +1 -21
  96. package/date-picker/types.js +1 -1
  97. package/date-picker/utils.js +42 -59
  98. package/dialog/index.d.ts +22 -1
  99. package/dialog/index.js +58 -71
  100. package/dialog/types.d.ts +1 -21
  101. package/dialog/types.js +1 -1
  102. package/dialog/utils.js +7 -11
  103. package/emoji/index.d.ts +22 -1
  104. package/emoji/index.js +16 -19
  105. package/emoji/types.d.ts +1 -21
  106. package/emoji/types.js +1 -1
  107. package/emoji/utils.js +17 -22
  108. package/emoji-picker/index.d.ts +22 -2
  109. package/emoji-picker/index.js +118 -138
  110. package/emoji-picker/types.d.ts +1 -21
  111. package/emoji-picker/types.js +1 -1
  112. package/field/index.d.ts +22 -1
  113. package/field/index.js +60 -63
  114. package/field/types.d.ts +1 -21
  115. package/field/types.js +1 -1
  116. package/file-drop/index.d.ts +22 -1
  117. package/file-drop/index.js +98 -103
  118. package/file-drop/types.d.ts +1 -21
  119. package/file-drop/types.js +1 -1
  120. package/file-drop/utils.js +22 -27
  121. package/file-picker/index.d.ts +22 -1
  122. package/file-picker/index.js +48 -53
  123. package/file-picker/types.d.ts +1 -21
  124. package/file-picker/types.js +1 -1
  125. package/file-picker/utils.js +3 -6
  126. package/file-status/index.d.ts +22 -2
  127. package/file-status/index.js +22 -33
  128. package/file-status/types.d.ts +1 -21
  129. package/file-status/types.js +1 -1
  130. package/file-status/utils.js +1 -4
  131. package/flag/index.d.ts +22 -1
  132. package/flag/index.js +16 -19
  133. package/flag/types.d.ts +1 -21
  134. package/flag/types.js +1 -1
  135. package/flag/utils.js +8 -11
  136. package/grid/index.d.ts +22 -1
  137. package/grid/index.js +5 -8
  138. package/grid/types.d.ts +1 -21
  139. package/grid/types.js +1 -1
  140. package/grid-item/index.d.ts +22 -1
  141. package/grid-item/index.js +13 -17
  142. package/grid-item/types.d.ts +1 -21
  143. package/grid-item/types.js +1 -1
  144. package/help-tooltip/index.d.ts +22 -1
  145. package/help-tooltip/index.js +26 -29
  146. package/help-tooltip/types.d.ts +1 -21
  147. package/help-tooltip/types.js +1 -1
  148. package/horizontal-stepper/index.d.ts +33 -0
  149. package/horizontal-stepper/index.js +62 -0
  150. package/horizontal-stepper/types.d.ts +42 -0
  151. package/horizontal-stepper/types.js +1 -0
  152. package/horizontal-stepper-item/index.d.ts +38 -0
  153. package/horizontal-stepper-item/index.js +62 -0
  154. package/horizontal-stepper-item/types.d.ts +38 -0
  155. package/horizontal-stepper-item/types.js +1 -0
  156. package/horizontal-stepper-item/utils.d.ts +2 -0
  157. package/horizontal-stepper-item/utils.js +1 -0
  158. package/icon/generated-icon-type.js +1 -1
  159. package/icon/index.d.ts +22 -1
  160. package/icon/index.js +28 -30
  161. package/icon/types.d.ts +1 -21
  162. package/icon/types.js +1 -1
  163. package/inline-alert/index.d.ts +22 -2
  164. package/inline-alert/index.js +39 -58
  165. package/inline-alert/types.d.ts +1 -21
  166. package/inline-alert/types.js +1 -1
  167. package/inline-alert/utils.js +1 -4
  168. package/input/index.d.ts +22 -2
  169. package/input/index.js +317 -295
  170. package/input/types.d.ts +1 -21
  171. package/input/types.js +1 -1
  172. package/input/utils.js +46 -56
  173. package/link/index.d.ts +22 -1
  174. package/link/index.js +79 -88
  175. package/link/types.d.ts +1 -21
  176. package/link/types.js +1 -1
  177. package/list/index.d.ts +21 -1
  178. package/list/index.js +6 -9
  179. package/list/types.d.ts +1 -21
  180. package/list/types.js +1 -1
  181. package/list-item/index.d.ts +22 -1
  182. package/list-item/index.js +6 -9
  183. package/list-item/types.d.ts +1 -21
  184. package/list-item/types.js +1 -1
  185. package/package.json +5 -11
  186. package/pagination/index.d.ts +22 -2
  187. package/pagination/index.js +46 -64
  188. package/pagination/types.d.ts +1 -21
  189. package/pagination/types.js +1 -1
  190. package/persistent-overlay/index.d.ts +22 -1
  191. package/persistent-overlay/index.js +44 -42
  192. package/persistent-overlay/types.d.ts +1 -21
  193. package/persistent-overlay/types.js +1 -1
  194. package/pop/index.d.ts +22 -3
  195. package/pop/index.js +150 -149
  196. package/pop/types.d.ts +1 -21
  197. package/pop/types.js +1 -1
  198. package/pop/utils.js +8 -24
  199. package/popover/index.d.ts +22 -2
  200. package/popover/index.js +68 -75
  201. package/popover/types.d.ts +1 -21
  202. package/popover/types.js +1 -1
  203. package/popover/utils.js +7 -18
  204. package/progress/index.d.ts +22 -1
  205. package/progress/index.js +33 -30
  206. package/progress/types.d.ts +1 -21
  207. package/progress/types.js +1 -1
  208. package/progress-stepper/index.d.ts +22 -2
  209. package/progress-stepper/index.js +66 -64
  210. package/progress-stepper/types.d.ts +1 -21
  211. package/progress-stepper/types.js +1 -1
  212. package/progress-stepper-item/index.d.ts +22 -1
  213. package/progress-stepper-item/index.js +50 -58
  214. package/progress-stepper-item/types.d.ts +1 -21
  215. package/progress-stepper-item/types.js +1 -1
  216. package/progress-stepper-item/utils.js +11 -22
  217. package/radio/index.d.ts +22 -1
  218. package/radio/index.js +83 -79
  219. package/radio/types.d.ts +1 -21
  220. package/radio/types.js +1 -1
  221. package/radio-option/index.d.ts +22 -1
  222. package/radio-option/index.js +41 -47
  223. package/radio-option/types.d.ts +1 -21
  224. package/radio-option/types.js +1 -1
  225. package/rich-text/index.d.ts +22 -1
  226. package/rich-text/index.js +46 -45
  227. package/rich-text/types.d.ts +1 -21
  228. package/rich-text/types.js +1 -1
  229. package/rich-text/utils.js +33 -31
  230. package/rich-textarea/index.d.ts +22 -1
  231. package/rich-textarea/index.js +194 -201
  232. package/rich-textarea/types.d.ts +1 -21
  233. package/rich-textarea/types.js +1 -1
  234. package/rich-textarea/utils.js +340 -313
  235. package/segment/index.d.ts +40 -0
  236. package/segment/index.js +110 -0
  237. package/segment/types.d.ts +23 -0
  238. package/segment/types.js +1 -0
  239. package/segment/utils.d.ts +3 -0
  240. package/segment/utils.js +16 -0
  241. package/segment-collapse/index.d.ts +22 -1
  242. package/segment-collapse/index.js +25 -31
  243. package/segment-collapse/types.d.ts +1 -21
  244. package/segment-collapse/types.js +1 -1
  245. package/segmented-control/index.d.ts +22 -1
  246. package/segmented-control/index.js +45 -45
  247. package/segmented-control/types.d.ts +1 -21
  248. package/segmented-control/types.js +1 -1
  249. package/segmented-control-option/index.d.ts +22 -1
  250. package/segmented-control-option/index.js +46 -44
  251. package/segmented-control-option/types.d.ts +1 -21
  252. package/segmented-control-option/types.js +1 -1
  253. package/segmented-icon-control/index.d.ts +22 -1
  254. package/segmented-icon-control/index.js +50 -51
  255. package/segmented-icon-control/types.d.ts +1 -21
  256. package/segmented-icon-control/types.js +1 -1
  257. package/segmented-icon-control-option/index.d.ts +22 -1
  258. package/segmented-icon-control-option/index.js +37 -36
  259. package/segmented-icon-control-option/types.d.ts +1 -21
  260. package/segmented-icon-control-option/types.js +1 -1
  261. package/select-button/index.d.ts +26 -1
  262. package/select-button/index.js +112 -104
  263. package/select-button/types.d.ts +1 -25
  264. package/select-button/types.js +1 -1
  265. package/select-menu/index.d.ts +22 -1
  266. package/select-menu/index.js +164 -201
  267. package/select-menu/types.d.ts +1 -21
  268. package/select-menu/types.js +1 -1
  269. package/select-menu-option/index.d.ts +22 -1
  270. package/select-menu-option/index.js +33 -41
  271. package/select-menu-option/types.d.ts +1 -21
  272. package/select-menu-option/types.js +1 -1
  273. package/select-menu-option/utils.js +1 -4
  274. package/skeleton/index.d.ts +22 -1
  275. package/skeleton/index.js +38 -35
  276. package/skeleton/types.d.ts +1 -21
  277. package/skeleton/types.js +1 -1
  278. package/skeleton-item/index.d.ts +22 -1
  279. package/skeleton-item/index.js +5 -8
  280. package/skeleton-item/types.d.ts +1 -21
  281. package/skeleton-item/types.js +1 -1
  282. package/spinner/index.d.ts +22 -1
  283. package/spinner/index.js +29 -31
  284. package/spinner/types.d.ts +1 -21
  285. package/spinner/types.js +1 -1
  286. package/standalone.d.ts +8 -0
  287. package/standalone.js +87 -79
  288. package/standalone.ts +8 -0
  289. package/stop-events/index.js +12 -12
  290. package/table/index.d.ts +21 -1
  291. package/table/index.js +6 -9
  292. package/table/types.d.ts +1 -21
  293. package/table/types.js +1 -1
  294. package/table-body/index.d.ts +21 -1
  295. package/table-body/index.js +6 -9
  296. package/table-body/types.d.ts +1 -21
  297. package/table-body/types.js +1 -1
  298. package/table-cell/index.d.ts +22 -2
  299. package/table-cell/index.js +9 -13
  300. package/table-cell/types.d.ts +1 -21
  301. package/table-cell/types.js +1 -1
  302. package/table-cell/utils.js +1 -4
  303. package/table-head/index.d.ts +21 -1
  304. package/table-head/index.js +6 -9
  305. package/table-head/types.d.ts +1 -21
  306. package/table-head/types.js +1 -1
  307. package/table-head-cell/index.d.ts +22 -1
  308. package/table-head-cell/index.js +27 -29
  309. package/table-head-cell/types.d.ts +1 -21
  310. package/table-head-cell/types.js +1 -1
  311. package/table-row/index.d.ts +22 -1
  312. package/table-row/index.js +17 -20
  313. package/table-row/types.d.ts +1 -21
  314. package/table-row/types.js +1 -1
  315. package/tabs/index.d.ts +22 -2
  316. package/tabs/index.js +35 -32
  317. package/tabs/types.d.ts +1 -21
  318. package/tabs/types.js +1 -1
  319. package/tabs-icon-option/index.d.ts +22 -1
  320. package/tabs-icon-option/index.js +40 -38
  321. package/tabs-icon-option/types.d.ts +1 -21
  322. package/tabs-icon-option/types.js +1 -1
  323. package/tabs-option/index.d.ts +22 -1
  324. package/tabs-option/index.js +43 -41
  325. package/tabs-option/types.d.ts +1 -21
  326. package/tabs-option/types.js +1 -1
  327. package/tag/colors.js +1 -1
  328. package/tag/index.d.ts +22 -1
  329. package/tag/index.js +44 -45
  330. package/tag/types.d.ts +1 -21
  331. package/tag/types.js +1 -1
  332. package/tag/utils.js +3 -7
  333. package/text/index.d.ts +22 -2
  334. package/text/index.js +28 -33
  335. package/text/types.d.ts +1 -21
  336. package/text/types.js +1 -1
  337. package/text/utils.js +1 -4
  338. package/textarea/index.d.ts +22 -1
  339. package/textarea/index.js +152 -147
  340. package/textarea/types.d.ts +1 -21
  341. package/textarea/types.js +1 -1
  342. package/tile-control/index.d.ts +39 -0
  343. package/tile-control/index.js +111 -0
  344. package/tile-control/types.d.ts +29 -0
  345. package/tile-control/types.js +1 -0
  346. package/tile-control-option/index.d.ts +40 -0
  347. package/tile-control-option/index.js +99 -0
  348. package/tile-control-option/types.d.ts +52 -0
  349. package/tile-control-option/types.js +1 -0
  350. package/time-picker/index.d.ts +22 -2
  351. package/time-picker/index.js +123 -119
  352. package/time-picker/types.d.ts +1 -21
  353. package/time-picker/types.js +1 -1
  354. package/time-picker/utils.js +33 -31
  355. package/title/index.d.ts +22 -2
  356. package/title/index.js +31 -32
  357. package/title/types.d.ts +1 -21
  358. package/title/types.js +1 -1
  359. package/title/utils.js +14 -18
  360. package/toast/index.d.ts +22 -2
  361. package/toast/index.js +34 -37
  362. package/toast/types.d.ts +1 -21
  363. package/toast/types.js +1 -1
  364. package/toast/utils.js +1 -4
  365. package/toast-manager/index.d.ts +22 -3
  366. package/toast-manager/index.js +63 -77
  367. package/toast-manager/types.d.ts +1 -21
  368. package/toast-manager/types.js +1 -1
  369. package/toast-manager/utils.js +1 -4
  370. package/toggle/index.d.ts +22 -1
  371. package/toggle/index.js +75 -81
  372. package/toggle/types.d.ts +1 -21
  373. package/toggle/types.js +1 -1
  374. package/tooltip/index.d.ts +22 -3
  375. package/tooltip/index.js +93 -105
  376. package/tooltip/tooltip-state.js +64 -56
  377. package/tooltip/types.d.ts +1 -21
  378. package/tooltip/types.js +1 -1
  379. package/tooltip/utils.js +13 -32
  380. package/types.d.ts +29 -12
  381. package/utils/adapters.js +1 -1
  382. package/utils/context.js +42 -32
  383. package/utils/countries.js +2 -490
  384. package/utils/csv.js +6 -13
  385. package/utils/debounce.js +3 -10
  386. package/utils/dom.js +53 -60
  387. package/utils/element.d.ts +15 -107
  388. package/utils/element.js +19 -100
  389. package/utils/event-target.js +5 -11
  390. package/utils/form.js +12 -17
  391. package/utils/get-react-event-handler.js +3 -6
  392. package/utils/index.js +12 -65
  393. package/utils/markdown.js +43 -56
  394. package/utils/rect.js +18 -13
  395. package/utils/size.js +3 -8
  396. package/utils/slot.js +9 -13
  397. package/utils/throttle.js +2 -5
  398. package/utils/uid.js +2 -5
  399. package/vertical-stepper/index.d.ts +33 -0
  400. package/vertical-stepper/index.js +58 -0
  401. package/vertical-stepper/types.d.ts +34 -0
  402. package/vertical-stepper/types.js +1 -0
  403. package/vertical-stepper-item/index.d.ts +38 -0
  404. package/vertical-stepper-item/index.js +62 -0
  405. package/vertical-stepper-item/types.d.ts +42 -0
  406. package/vertical-stepper-item/types.js +1 -0
  407. package/vertical-stepper-item/utils.d.ts +2 -0
  408. package/vertical-stepper-item/utils.js +1 -0
  409. package/accordion/global/index.d.ts +0 -1
  410. package/accordion/global/index.js +0 -2
  411. package/accordion-item/global/index.d.ts +0 -1
  412. package/accordion-item/global/index.js +0 -2
  413. package/action-menu/global/index.d.ts +0 -1
  414. package/action-menu/global/index.js +0 -2
  415. package/action-menu-option/global/index.d.ts +0 -1
  416. package/action-menu-option/global/index.js +0 -2
  417. package/alert/global/index.d.ts +0 -1
  418. package/alert/global/index.js +0 -2
  419. package/avatar/global/index.d.ts +0 -1
  420. package/avatar/global/index.js +0 -2
  421. package/badge/global/index.d.ts +0 -1
  422. package/badge/global/index.js +0 -2
  423. package/bundle.d.ts +0 -78
  424. package/bundle.js +0 -13033
  425. package/bundle.ts +0 -80
  426. package/button/global/index.d.ts +0 -1
  427. package/button/global/index.js +0 -2
  428. package/button-group/global/index.d.ts +0 -1
  429. package/button-group/global/index.js +0 -2
  430. package/button-group-item/global/index.d.ts +0 -1
  431. package/button-group-item/global/index.js +0 -2
  432. package/card-container/global/index.d.ts +0 -1
  433. package/card-container/global/index.js +0 -2
  434. package/card-v2/global/index.d.ts +0 -1
  435. package/card-v2/global/index.js +0 -2
  436. package/card-v2-title/global/index.d.ts +0 -1
  437. package/card-v2-title/global/index.js +0 -2
  438. package/checkbox/global/index.d.ts +0 -1
  439. package/checkbox/global/index.js +0 -2
  440. package/chip/global/index.d.ts +0 -1
  441. package/chip/global/index.js +0 -2
  442. package/code-tag/global/index.d.ts +0 -1
  443. package/code-tag/global/index.js +0 -2
  444. package/color-menu/global/index.d.ts +0 -1
  445. package/color-menu/global/index.js +0 -2
  446. package/color-menu-option/global/index.d.ts +0 -1
  447. package/color-menu-option/global/index.js +0 -2
  448. package/color-swatch/global/index.d.ts +0 -1
  449. package/color-swatch/global/index.js +0 -2
  450. package/date-picker/global/index.d.ts +0 -1
  451. package/date-picker/global/index.js +0 -2
  452. package/dialog/global/index.d.ts +0 -1
  453. package/dialog/global/index.js +0 -2
  454. package/emoji/global/index.d.ts +0 -1
  455. package/emoji/global/index.js +0 -2
  456. package/emoji-picker/global/index.d.ts +0 -1
  457. package/emoji-picker/global/index.js +0 -2
  458. package/field/global/index.d.ts +0 -1
  459. package/field/global/index.js +0 -2
  460. package/file-drop/global/index.d.ts +0 -1
  461. package/file-drop/global/index.js +0 -2
  462. package/file-picker/global/index.d.ts +0 -1
  463. package/file-picker/global/index.js +0 -2
  464. package/file-status/global/index.d.ts +0 -1
  465. package/file-status/global/index.js +0 -2
  466. package/flag/global/index.d.ts +0 -1
  467. package/flag/global/index.js +0 -2
  468. package/grid/global/index.d.ts +0 -1
  469. package/grid/global/index.js +0 -2
  470. package/grid-item/global/index.d.ts +0 -1
  471. package/grid-item/global/index.js +0 -2
  472. package/help-tooltip/global/index.d.ts +0 -1
  473. package/help-tooltip/global/index.js +0 -2
  474. package/icon/global/index.d.ts +0 -1
  475. package/icon/global/index.js +0 -2
  476. package/inline-alert/global/index.d.ts +0 -1
  477. package/inline-alert/global/index.js +0 -2
  478. package/input/global/index.d.ts +0 -1
  479. package/input/global/index.js +0 -2
  480. package/link/global/index.d.ts +0 -1
  481. package/link/global/index.js +0 -2
  482. package/list/global/index.d.ts +0 -1
  483. package/list/global/index.js +0 -2
  484. package/list-item/global/index.d.ts +0 -1
  485. package/list-item/global/index.js +0 -2
  486. package/pagination/global/index.d.ts +0 -1
  487. package/pagination/global/index.js +0 -2
  488. package/persistent-overlay/global/index.d.ts +0 -1
  489. package/persistent-overlay/global/index.js +0 -2
  490. package/pop/global/index.d.ts +0 -1
  491. package/pop/global/index.js +0 -2
  492. package/popover/global/index.d.ts +0 -1
  493. package/popover/global/index.js +0 -2
  494. package/progress/global/index.d.ts +0 -1
  495. package/progress/global/index.js +0 -2
  496. package/progress-stepper/global/index.d.ts +0 -1
  497. package/progress-stepper/global/index.js +0 -2
  498. package/progress-stepper-item/global/index.d.ts +0 -1
  499. package/progress-stepper-item/global/index.js +0 -2
  500. package/radio/global/index.d.ts +0 -1
  501. package/radio/global/index.js +0 -2
  502. package/radio-option/global/index.d.ts +0 -1
  503. package/radio-option/global/index.js +0 -2
  504. package/rich-text/global/index.d.ts +0 -1
  505. package/rich-text/global/index.js +0 -2
  506. package/rich-textarea/global/index.d.ts +0 -1
  507. package/rich-textarea/global/index.js +0 -2
  508. package/segment-collapse/global/index.d.ts +0 -1
  509. package/segment-collapse/global/index.js +0 -2
  510. package/segmented-control/global/index.d.ts +0 -1
  511. package/segmented-control/global/index.js +0 -2
  512. package/segmented-control-option/global/index.d.ts +0 -1
  513. package/segmented-control-option/global/index.js +0 -2
  514. package/segmented-icon-control/global/index.d.ts +0 -1
  515. package/segmented-icon-control/global/index.js +0 -2
  516. package/segmented-icon-control-option/global/index.d.ts +0 -1
  517. package/segmented-icon-control-option/global/index.js +0 -2
  518. package/select-button/global/index.d.ts +0 -1
  519. package/select-button/global/index.js +0 -2
  520. package/select-menu/global/index.d.ts +0 -1
  521. package/select-menu/global/index.js +0 -2
  522. package/select-menu-option/global/index.d.ts +0 -1
  523. package/select-menu-option/global/index.js +0 -2
  524. package/skeleton/global/index.d.ts +0 -1
  525. package/skeleton/global/index.js +0 -2
  526. package/skeleton-item/global/index.d.ts +0 -1
  527. package/skeleton-item/global/index.js +0 -2
  528. package/spinner/global/index.d.ts +0 -1
  529. package/spinner/global/index.js +0 -2
  530. package/table/global/index.d.ts +0 -1
  531. package/table/global/index.js +0 -2
  532. package/table-body/global/index.d.ts +0 -1
  533. package/table-body/global/index.js +0 -2
  534. package/table-cell/global/index.d.ts +0 -1
  535. package/table-cell/global/index.js +0 -2
  536. package/table-head/global/index.d.ts +0 -1
  537. package/table-head/global/index.js +0 -2
  538. package/table-head-cell/global/index.d.ts +0 -1
  539. package/table-head-cell/global/index.js +0 -2
  540. package/table-row/global/index.d.ts +0 -1
  541. package/table-row/global/index.js +0 -2
  542. package/tabs/global/index.d.ts +0 -1
  543. package/tabs/global/index.js +0 -2
  544. package/tabs-icon-option/global/index.d.ts +0 -1
  545. package/tabs-icon-option/global/index.js +0 -2
  546. package/tabs-option/global/index.d.ts +0 -1
  547. package/tabs-option/global/index.js +0 -2
  548. package/tag/global/index.d.ts +0 -1
  549. package/tag/global/index.js +0 -2
  550. package/text/global/index.d.ts +0 -1
  551. package/text/global/index.js +0 -2
  552. package/textarea/global/index.d.ts +0 -1
  553. package/textarea/global/index.js +0 -2
  554. package/time-picker/global/index.d.ts +0 -1
  555. package/time-picker/global/index.js +0 -2
  556. package/title/global/index.d.ts +0 -1
  557. package/title/global/index.js +0 -2
  558. package/toast/global/index.d.ts +0 -1
  559. package/toast/global/index.js +0 -2
  560. package/toast-manager/global/index.d.ts +0 -1
  561. package/toast-manager/global/index.js +0 -2
  562. package/toggle/global/index.d.ts +0 -1
  563. package/toggle/global/index.js +0 -2
  564. package/tooltip/global/index.d.ts +0 -1
  565. package/tooltip/global/index.js +0 -2
  566. package/utils/component-names.d.ts +0 -3
  567. package/utils/component-names.js +0 -85
  568. package/utils/global-components-constants.d.ts +0 -3
  569. package/utils/global-components-constants.js +0 -8
  570. package/utils/global-components-manager.d.ts +0 -71
  571. package/utils/global-components-manager.js +0 -24
  572. package/utils/shared/global-elements-manager.d.js +0 -1
  573. package/utils/shared/global-elements-manager.d.ts +0 -62
  574. package/utils/shared/global-elements-manager.js +0 -163
  575. package/utils/shared/global-elements-store.d.js +0 -1
  576. package/utils/shared/global-elements-store.d.ts +0 -12
  577. package/utils/shared/global-elements-store.js +0 -31
  578. package/utils/shared/index.d.js +0 -11
  579. package/utils/shared/index.d.ts +0 -3
  580. package/utils/shared/index.js +0 -11
  581. package/utils/shared/nectary-element-base.d.js +0 -1
  582. package/utils/shared/nectary-element-base.d.ts +0 -9
  583. package/utils/shared/nectary-element-base.js +0 -25
  584. package/utils/shared/package.json +0 -9
  585. package/utils/shared/tsconfig.json +0 -20
package/input/index.js CHANGED
@@ -1,15 +1,11 @@
1
- import { Context, subscribeContext } from "../utils/context.js";
2
- import { getBooleanAttribute, updateAttribute, isAttrEqual, isAttrTrue, updateBooleanAttribute, updateLiteralAttribute, getAttribute, getLiteralAttribute, setClass } from "../utils/dom.js";
3
- import { defineCustomElement, NectaryElement } from "../utils/element.js";
4
- import { isElementFocused } from "../utils/slot.js";
5
- import { getReactEventHandler } from "../utils/get-react-event-handler.js";
6
- import { setFormValue, requestSubmitForm } from "../utils/form.js";
7
- import { sizeValues, DEFAULT_SIZE } from "../utils/size.js";
8
- import { splitValueAndMask, inputTypes, beginMaskedComposition, endMaskedComposition, deleteContentForward, deleteContentBackward, insertFromPaste, insertText, getMergedValueSliced, getMaskSymbols } from "./utils.js";
9
- const templateHTML = '<style>\n:host {\n all: initial;\n display: inline-block;\n vertical-align: middle;\n}\n\n#wrapper {\n position: relative;\n display: flex;\n flex-direction: row;\n align-items: center;\n box-sizing: border-box;\n border-radius: var(--sinch-local-shape-radius);\n width: 100%;\n height: var(--sinch-local-size);\n background-color: var(--sinch-comp-input-color-default-background-initial);\n\n /* Default values */\n --sinch-local-size: var(--sinch-comp-input-size-container-m);\n --sinch-global-size-icon: var(--sinch-comp-input-size-icon-m);\n --sinch-local-shape-radius: var(--sinch-comp-input-shape-radius-size-m);\n}\n\n:host([data-size="l"]) > #wrapper {\n --sinch-local-size: var(--sinch-comp-input-size-container-l);\n --sinch-global-size-icon: var(--sinch-comp-input-size-icon-l);\n --sinch-local-shape-radius: var(--sinch-comp-input-shape-radius-size-l);\n}\n\n:host([data-size="m"]) > #wrapper {\n --sinch-local-size: var(--sinch-comp-input-size-container-m);\n --sinch-global-size-icon: var(--sinch-comp-input-size-icon-m);\n --sinch-local-shape-radius: var(--sinch-comp-input-shape-radius-size-m);\n}\n\n:host([data-size="s"]) > #wrapper {\n --sinch-local-size: var(--sinch-comp-input-size-container-s);\n --sinch-global-size-icon: var(--sinch-comp-input-size-icon-s);\n --sinch-local-shape-radius: var(--sinch-comp-input-shape-radius-size-s);\n}\n\n#input-wrapper {\n position: relative;\n flex: 1;\n flex-basis: 0;\n min-width: 0;\n align-self: stretch;\n}\n\n#input {\n all: initial;\n width: 100%;\n height: 100%;\n padding: 0 12px;\n box-sizing: border-box;\n font: var(--sinch-comp-input-font-input);\n color: var(--sinch-comp-input-color-default-text-initial);\n}\n\n#input::placeholder {\n font: var(--sinch-comp-input-font-placeholder) !important;\n color: var(--sinch-comp-input-color-default-text-placeholder);\n opacity: 1;\n}\n\n#input:disabled {\n color: var(--sinch-comp-input-color-disabled-text-initial);\n -webkit-text-fill-color: var(--sinch-comp-input-color-disabled-text-initial);\n}\n\n#input-mask {\n display: none;\n position: absolute;\n inset: 0;\n padding: 0 12px;\n pointer-events: none;\n color: var(--sinch-comp-input-color-default-text-placeholder);\n white-space: pre;\n height: fit-content;\n margin: auto 0;\n overflow: hidden;\n}\n\n#border {\n position: absolute;\n border: 1px solid var(--sinch-comp-input-color-default-border-initial);\n border-radius: var(--sinch-local-shape-radius);\n inset: 0;\n pointer-events: none;\n}\n\n:host([disabled]) #border {\n border-color: var(--sinch-comp-input-color-disabled-border-initial);\n}\n\n#input-wrapper:focus-within + #border {\n border-color: var(--sinch-comp-input-color-default-border-focus);\n border-width: 2px;\n}\n\n:host([mask]) #input,\n#input-mask {\n font: var(--sinch-sys-font-body-monospace-m);\n}\n\n:host([mask]) #input-mask {\n display: block;\n}\n\n:host([invalid]:not([disabled])) #input-wrapper:not(:focus-within) + #border {\n border-color: var(--sinch-comp-input-color-invalid-border-initial);\n}\n\n#input[type="password"]:not(:placeholder-shown) {\n font-size: 1.5em;\n letter-spacing: 0.1em;\n}\n\n#icon-wrapper {\n position: relative;\n height: 100%;\n}\n\n#icon {\n position: absolute;\n display: flex;\n align-items: center;\n left: 12px;\n top: 0;\n bottom: 0;\n pointer-events: none;\n\n --sinch-global-color-icon: var(--sinch-comp-input-color-default-icon-initial);\n}\n\n:host([disabled]) #icon {\n --sinch-global-color-icon: var(--sinch-comp-input-color-disabled-icon-initial);\n}\n\n#icon-wrapper.empty {\n display: none;\n}\n\n#icon-wrapper.empty ~ #input-wrapper > #input,\n#icon-wrapper.empty ~ #input-wrapper > #input-mask {\n padding-left: 12px;\n}\n\n#icon-wrapper:not(.empty) ~ #input-wrapper > #input,\n#icon-wrapper:not(.empty) ~ #input-wrapper > #input-mask {\n padding-left: calc(var(--sinch-global-size-icon) + 20px);\n}\n\n#right {\n display: flex;\n flex-direction: row;\n align-self: stretch;\n align-items: center;\n gap: 4px;\n padding-right: 4px;\n}\n\n#right.empty {\n display: none;\n}\n\n#left {\n display: flex;\n flex-direction: row;\n align-self: stretch;\n align-items: center;\n gap: 4px;\n padding-left: 4px;\n}\n\n#left.empty {\n display: none;\n}\n</style>\n\n<div id="wrapper">\n <div id="left">\n <slot name="left"></slot>\n </div>\n <div id="icon-wrapper">\n <div id="icon">\n <slot name="icon"></slot>\n </div>\n </div>\n <div id="input-wrapper">\n <div id="input-mask"></div>\n <input id="input" type="text"/>\n </div>\n <div id="border"></div>\n <div id="right">\n <slot name="right"></slot>\n </div>\n</div>\n';
10
- const template = document.createElement("template");
1
+ import { Context, defineCustomElement, getAttribute, getBooleanAttribute, getLiteralAttribute, getReactEventHandler, isAttrEqual, isAttrTrue, isElementFocused, NectaryElement, setClass, subscribeContext, updateAttribute, updateBooleanAttribute, updateLiteralAttribute } from '../utils';
2
+ import { requestSubmitForm, setFormValue } from '../utils/form';
3
+ import { DEFAULT_SIZE, sizeValues } from '../utils/size';
4
+ const templateHTML = '<style>:host{all:initial;display:inline-block;vertical-align:middle}#wrapper{position:relative;display:flex;flex-direction:row;align-items:center;box-sizing:border-box;border-radius:var(--sinch-local-shape-radius);width:100%;height:var(--sinch-local-size);background-color:var(--sinch-comp-input-color-default-background-initial);--sinch-local-size:var(--sinch-comp-input-size-container-m);--sinch-global-size-icon:var(--sinch-comp-input-size-icon-m);--sinch-local-shape-radius:var(--sinch-comp-input-shape-radius-size-m)}:host([data-size="l"])>#wrapper{--sinch-local-size:var(--sinch-comp-input-size-container-l);--sinch-global-size-icon:var(--sinch-comp-input-size-icon-l);--sinch-local-shape-radius:var(--sinch-comp-input-shape-radius-size-l)}:host([data-size="m"])>#wrapper{--sinch-local-size:var(--sinch-comp-input-size-container-m);--sinch-global-size-icon:var(--sinch-comp-input-size-icon-m);--sinch-local-shape-radius:var(--sinch-comp-input-shape-radius-size-m)}:host([data-size="s"])>#wrapper{--sinch-local-size:var(--sinch-comp-input-size-container-s);--sinch-global-size-icon:var(--sinch-comp-input-size-icon-s);--sinch-local-shape-radius:var(--sinch-comp-input-shape-radius-size-s)}#input-wrapper{position:relative;flex:1;flex-basis:0;min-width:0;align-self:stretch}#input{all:initial;width:100%;height:100%;padding:0 12px;box-sizing:border-box;font:var(--sinch-comp-input-font-input);color:var(--sinch-comp-input-color-default-text-initial)}#input::placeholder{font:var(--sinch-comp-input-font-placeholder)!important;color:var(--sinch-comp-input-color-default-text-placeholder);opacity:1}#input:disabled{color:var(--sinch-comp-input-color-disabled-text-initial);-webkit-text-fill-color:var(--sinch-comp-input-color-disabled-text-initial)}#input-mask{display:none;position:absolute;inset:0;padding:0 12px;pointer-events:none;color:var(--sinch-comp-input-color-default-text-placeholder);white-space:pre;height:fit-content;margin:auto 0;overflow:hidden}#border{position:absolute;border:1px solid var(--sinch-comp-input-color-default-border-initial);border-radius:var(--sinch-local-shape-radius);inset:0;pointer-events:none}:host([disabled]) #border{border-color:var(--sinch-comp-input-color-disabled-border-initial)}#input-wrapper:focus-within+#border{border-color:var(--sinch-comp-input-color-default-border-focus);border-width:2px}#input-mask,:host([mask]) #input{font:var(--sinch-sys-font-body-monospace-m)}:host([mask]) #input-mask{display:block}:host([invalid]:not([disabled])) #input-wrapper:not(:focus-within)+#border{border-color:var(--sinch-comp-input-color-invalid-border-initial)}#input[type=password]:not(:placeholder-shown){font-size:1.5em;letter-spacing:.1em}#icon-wrapper{position:relative;height:100%}#icon{position:absolute;display:flex;align-items:center;left:12px;top:0;bottom:0;pointer-events:none;--sinch-global-color-icon:var(--sinch-comp-input-color-default-icon-initial)}:host([disabled]) #icon{--sinch-global-color-icon:var(--sinch-comp-input-color-disabled-icon-initial)}#icon-wrapper.empty{display:none}#icon-wrapper.empty~#input-wrapper>#input,#icon-wrapper.empty~#input-wrapper>#input-mask{padding-left:12px}#icon-wrapper:not(.empty)~#input-wrapper>#input,#icon-wrapper:not(.empty)~#input-wrapper>#input-mask{padding-left:calc(var(--sinch-global-size-icon) + 20px)}#right{display:flex;flex-direction:row;align-self:stretch;align-items:center;gap:4px;padding-right:4px}#right.empty{display:none}#left{display:flex;flex-direction:row;align-self:stretch;align-items:center;gap:4px;padding-left:4px}#left.empty{display:none}</style><div id="wrapper"><div id="left"><slot name="left"></slot></div><div id="icon-wrapper"><div id="icon"><slot name="icon"></slot></div></div><div id="input-wrapper"><div id="input-mask"></div><input id="input" type="text"/></div><div id="border"></div><div id="right"><slot name="right"></slot></div></div>';
5
+ import { deleteContentBackward, deleteContentForward, getMaskSymbols, inputTypes, insertText, beginMaskedComposition, endMaskedComposition, splitValueAndMask, getMergedValueSliced, insertFromPaste } from './utils';
6
+ const template = document.createElement('template');
11
7
  template.innerHTML = templateHTML;
12
- class Input extends NectaryElement {
8
+ export class Input extends NectaryElement {
13
9
  #$input;
14
10
  #$inputMask;
15
11
  #$iconSlot;
@@ -22,7 +18,7 @@ class Input extends NectaryElement {
22
18
  #selectionStart = 0;
23
19
  #selectionEnd = 0;
24
20
  #isCompositionInProgress = false;
25
- #compositionBeginValue = "";
21
+ #compositionBeginValue = '';
26
22
  #wasClearedByMask = false;
27
23
  #controller = null;
28
24
  #sizeContext;
@@ -31,53 +27,55 @@ class Input extends NectaryElement {
31
27
  static formAssociated = true;
32
28
  constructor() {
33
29
  super();
34
- const shadowRoot = this.attachShadow({ delegatesFocus: true });
30
+ const shadowRoot = this.attachShadow({
31
+ delegatesFocus: true
32
+ });
35
33
  shadowRoot.appendChild(template.content.cloneNode(true));
36
34
  this.#internals = this.attachInternals();
37
- this.#$input = shadowRoot.querySelector("#input");
38
- this.#$inputMask = shadowRoot.querySelector("#input-mask");
35
+ this.#$input = shadowRoot.querySelector('#input');
36
+ this.#$inputMask = shadowRoot.querySelector('#input-mask');
39
37
  this.#$iconSlot = shadowRoot.querySelector('slot[name="icon"]');
40
- this.#$iconWrapper = shadowRoot.querySelector("#icon-wrapper");
38
+ this.#$iconWrapper = shadowRoot.querySelector('#icon-wrapper');
41
39
  this.#$rightSlot = shadowRoot.querySelector('slot[name="right"]');
42
- this.#$rightWrapper = shadowRoot.querySelector("#right");
40
+ this.#$rightWrapper = shadowRoot.querySelector('#right');
43
41
  this.#$leftSlot = shadowRoot.querySelector('slot[name="left"]');
44
- this.#$leftWrapper = shadowRoot.querySelector("#left");
45
- this.#$wrapper = shadowRoot.querySelector("#wrapper");
46
- this.#sizeContext = new Context(this.#$wrapper, "size");
42
+ this.#$leftWrapper = shadowRoot.querySelector('#left');
43
+ this.#$wrapper = shadowRoot.querySelector('#wrapper');
44
+ this.#sizeContext = new Context(this.#$wrapper, 'size');
47
45
  this.#controller = new AbortController();
48
46
  }
49
47
  connectedCallback() {
50
48
  super.connectedCallback();
51
- this.setAttribute("role", "textbox");
52
- this.#internals.role = "textbox";
49
+ this.setAttribute('role', 'textbox');
50
+ this.#internals.role = 'textbox';
53
51
  if (this.#controller === null) {
54
52
  this.#controller = new AbortController();
55
53
  }
56
54
  const options = {
57
55
  signal: this.#controller.signal
58
56
  };
59
- this.#$input.addEventListener("keydown", this.#onKeyDown, options);
60
- this.#$input.addEventListener("input", this.#onInput, options);
61
- this.#$input.addEventListener("cut", this.#onCut, options);
62
- this.#$input.addEventListener("copy", this.#onCopy, options);
63
- this.#$input.addEventListener("paste", this.#onPaste, options);
64
- this.#$input.addEventListener("compositionstart", this.#onCompositionStart, options);
65
- this.#$input.addEventListener("compositionend", this.#onCompositionEnd, options);
66
- this.#$input.addEventListener("focus", this.#onInputFocus, options);
67
- this.#$input.addEventListener("blur", this.#onInputBlur, options);
68
- this.#$input.addEventListener("wheel", this.#onWheel, options);
69
- this.#$iconSlot.addEventListener("slotchange", this.#onIconSlotChange, options);
70
- this.#$leftSlot.addEventListener("slotchange", this.#onLeftSlotChange, options);
71
- this.#$rightSlot.addEventListener("slotchange", this.#onRightSlotChange, options);
72
- this.addEventListener("-change", this.#onChangeReactHandler, options);
73
- this.addEventListener("-focus", this.#onFocusReactHandler, options);
74
- this.addEventListener("-blur", this.#onBlurReactHandler, options);
75
- this.addEventListener("-copy", this.#onCopyReactHandler, options);
76
- this.addEventListener("-cut", this.#onCutReactHandler, options);
77
- this.addEventListener("-paste", this.#onPasteReactHandler, options);
78
- this.addEventListener("-wheel", this.#onWheelReactHandler, options);
57
+ this.#$input.addEventListener('keydown', this.#onKeyDown, options);
58
+ this.#$input.addEventListener('input', this.#onInput, options);
59
+ this.#$input.addEventListener('cut', this.#onCut, options);
60
+ this.#$input.addEventListener('copy', this.#onCopy, options);
61
+ this.#$input.addEventListener('paste', this.#onPaste, options);
62
+ this.#$input.addEventListener('compositionstart', this.#onCompositionStart, options);
63
+ this.#$input.addEventListener('compositionend', this.#onCompositionEnd, options);
64
+ this.#$input.addEventListener('focus', this.#onInputFocus, options);
65
+ this.#$input.addEventListener('blur', this.#onInputBlur, options);
66
+ this.#$input.addEventListener('wheel', this.#onWheel, options);
67
+ this.#$iconSlot.addEventListener('slotchange', this.#onIconSlotChange, options);
68
+ this.#$leftSlot.addEventListener('slotchange', this.#onLeftSlotChange, options);
69
+ this.#$rightSlot.addEventListener('slotchange', this.#onRightSlotChange, options);
70
+ this.addEventListener('-change', this.#onChangeReactHandler, options);
71
+ this.addEventListener('-focus', this.#onFocusReactHandler, options);
72
+ this.addEventListener('-blur', this.#onBlurReactHandler, options);
73
+ this.addEventListener('-copy', this.#onCopyReactHandler, options);
74
+ this.addEventListener('-cut', this.#onCutReactHandler, options);
75
+ this.addEventListener('-paste', this.#onPasteReactHandler, options);
76
+ this.addEventListener('-wheel', this.#onWheelReactHandler, options);
79
77
  this.#sizeContext.listen(this.#controller.signal);
80
- subscribeContext(this, "size", this.#onContextSize, this.#controller.signal);
78
+ subscribeContext(this, 'size', this.#onContextSize, this.#controller.signal);
81
79
  this.#onIconSlotChange();
82
80
  this.#onLeftSlotChange();
83
81
  this.#onRightSlotChange();
@@ -92,22 +90,20 @@ class Input extends NectaryElement {
92
90
  setFormValue(this.#internals, this.#$input.value);
93
91
  }
94
92
  formResetCallback() {
95
- this.#$input.value = "";
96
- setFormValue(this.#internals, "");
93
+ this.#$input.value = '';
94
+ setFormValue(this.#internals, '');
97
95
  }
98
96
  formStateRestoreCallback(state) {
99
- if (this.#internals.form === null || getBooleanAttribute(this.#internals.form, "data-form-state-restore") === false) {
97
+ if (this.#internals.form === null || getBooleanAttribute(this.#internals.form, 'data-form-state-restore') === false) {
100
98
  return;
101
99
  }
102
100
  if (state !== null) {
103
- const value = typeof state === "string" ? state : state.get(this.name);
104
- this.#$input.value = value?.toString() ?? "";
105
- setFormValue(this.#internals, value?.toString() ?? "");
101
+ const value = typeof state === 'string' ? state : state.get(this.name);
102
+ this.#$input.value = value?.toString() ?? '';
103
+ setFormValue(this.#internals, value?.toString() ?? '');
106
104
  }
107
105
  }
108
- // This handler mimicks the behavior (with some exceptions) of the implicit form submission logic from the HTML spec:
109
- // https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#implicit-submission
110
- #onKeyDown = (e) => {
106
+ #onKeyDown = e => {
111
107
  const form = this.#internals.form;
112
108
  if (form === null) {
113
109
  return;
@@ -115,190 +111,190 @@ class Input extends NectaryElement {
115
111
  if (form.disabled === true) {
116
112
  return;
117
113
  }
118
- if (e.key === "Enter") {
119
- const submitSelectors = [
120
- 'sinch-button[form-type="submit"]'
121
- ];
122
- const formSubmitters = Array.from(form.querySelectorAll(submitSelectors.join(",")));
123
- const formSubmitter = formSubmitters.find((submitter) => !submitter.disabled) ?? null;
114
+ if (e.key === 'Enter') {
115
+ const submitSelectors = ['sinch-button[form-type="submit"]'];
116
+ const formSubmitters = Array.from(form.querySelectorAll(submitSelectors.join(',')));
117
+ const formSubmitter = formSubmitters.find(submitter => !submitter.disabled) ?? null;
124
118
  if (formSubmitter !== null) {
125
119
  requestSubmitForm(form, formSubmitter);
126
120
  }
127
121
  }
128
122
  };
129
123
  static get observedAttributes() {
130
- return [
131
- "name",
132
- "type",
133
- "value",
134
- "placeholder",
135
- "mask",
136
- "invalid",
137
- "disabled",
138
- "size",
139
- "autocomplete",
140
- "autofocus",
141
- "data-size",
142
- "aria-label"
143
- ];
124
+ return ['name', 'type', 'value', 'placeholder', 'mask', 'invalid', 'disabled', 'size', 'autocomplete', 'autofocus', 'data-size', 'aria-label'];
144
125
  }
145
126
  attributeChangedCallback(name, oldVal, newVal) {
146
127
  switch (name) {
147
- case "name": {
148
- if (isAttrEqual(oldVal, newVal)) {
149
- return;
128
+ case 'name':
129
+ {
130
+ if (isAttrEqual(oldVal, newVal)) {
131
+ return;
132
+ }
133
+ updateAttribute(this.#$input, 'name', newVal);
134
+ break;
150
135
  }
151
- updateAttribute(this.#$input, "name", newVal);
152
- break;
153
- }
154
- case "type": {
155
- updateLiteralAttribute(this.#$input, inputTypes, "type", newVal);
156
- updateAttribute(this.#$input, "spellcheck", newVal === "password" ? "false" : null);
157
- break;
158
- }
159
- case "value": {
160
- const nextVal = newVal ?? "";
161
- const prevVal = this.#$input.value;
162
- if (this.#wasClearedByMask) {
163
- this.#wasClearedByMask = false;
164
- if (nextVal.length === 0) {
136
+ case 'type':
137
+ {
138
+ updateLiteralAttribute(this.#$input, inputTypes, 'type', newVal);
139
+ updateAttribute(this.#$input, 'spellcheck', newVal === 'password' ? 'false' : null);
140
+ break;
141
+ }
142
+ case 'value':
143
+ {
144
+ const nextVal = newVal ?? '';
145
+ const prevVal = this.#$input.value;
146
+ if (this.#wasClearedByMask) {
147
+ this.#wasClearedByMask = false;
148
+ if (nextVal.length === 0) {
149
+ break;
150
+ }
151
+ }
152
+ if (this.#maskSymbols !== null) {
153
+ const {
154
+ value,
155
+ placeholder
156
+ } = splitValueAndMask(nextVal, this.#maskSymbols);
157
+ this.#$input.value = value;
158
+ setFormValue(this.#internals, value);
159
+ this.#$inputMask.textContent = placeholder;
160
+ if (isElementFocused(this.#$input)) {
161
+ this.#setSelectionRange(this.#selectionEnd, this.#selectionEnd);
162
+ }
165
163
  break;
166
164
  }
165
+ if (nextVal !== prevVal) {
166
+ this.#$input.value = nextVal;
167
+ setFormValue(this.#internals, nextVal);
168
+ if (isElementFocused(this.#$input)) {
169
+ this.#setSelectionRange(this.#selectionEnd, this.#selectionEnd);
170
+ }
171
+ }
172
+ break;
173
+ }
174
+ case 'placeholder':
175
+ {
176
+ this.#updatePlaceholder();
177
+ break;
167
178
  }
168
- if (this.#maskSymbols !== null) {
169
- const { value, placeholder } = splitValueAndMask(nextVal, this.#maskSymbols);
170
- this.#$input.value = value;
171
- setFormValue(this.#internals, value);
172
- this.#$inputMask.textContent = placeholder;
173
- if (isElementFocused(this.#$input)) {
174
- this.#setSelectionRange(this.#selectionEnd, this.#selectionEnd);
179
+ case 'mask':
180
+ {
181
+ this.#updateMask();
182
+ break;
183
+ }
184
+ case 'invalid':
185
+ {
186
+ if (isAttrEqual(oldVal, newVal)) {
187
+ return;
175
188
  }
189
+ const isInvalid = isAttrTrue(newVal);
190
+ this.ariaInvalid = isInvalid.toString();
191
+ this.#$input.ariaInvalid = this.ariaInvalid;
192
+ this.#internals.ariaInvalid = this.ariaInvalid;
193
+ updateBooleanAttribute(this, name, isInvalid);
176
194
  break;
177
195
  }
178
- if (nextVal !== prevVal) {
179
- this.#$input.value = nextVal;
180
- setFormValue(this.#internals, nextVal);
181
- if (isElementFocused(this.#$input)) {
182
- this.#setSelectionRange(this.#selectionEnd, this.#selectionEnd);
196
+ case 'disabled':
197
+ {
198
+ if (isAttrEqual(oldVal, newVal)) {
199
+ return;
183
200
  }
201
+ const isDisabled = isAttrTrue(newVal);
202
+ this.#$input.disabled = isDisabled;
203
+ updateBooleanAttribute(this, name, isDisabled);
204
+ break;
184
205
  }
185
- break;
186
- }
187
- case "placeholder": {
188
- this.#updatePlaceholder();
189
- break;
190
- }
191
- case "mask": {
192
- this.#updateMask();
193
- break;
194
- }
195
- case "invalid": {
196
- if (isAttrEqual(oldVal, newVal)) {
197
- return;
206
+ case 'autofocus':
207
+ {
208
+ if (isAttrEqual(oldVal, newVal)) {
209
+ return;
210
+ }
211
+ const isAutofocus = isAttrTrue(newVal);
212
+ this.#$input.autofocus = isAutofocus;
213
+ updateBooleanAttribute(this, name, isAutofocus);
214
+ break;
198
215
  }
199
- const isInvalid = isAttrTrue(newVal);
200
- this.ariaInvalid = isInvalid.toString();
201
- this.#$input.ariaInvalid = this.ariaInvalid;
202
- this.#internals.ariaInvalid = this.ariaInvalid;
203
- updateBooleanAttribute(this, name, isInvalid);
204
- break;
205
- }
206
- case "disabled": {
207
- if (isAttrEqual(oldVal, newVal)) {
208
- return;
216
+ case 'size':
217
+ {
218
+ updateAttribute(this, 'data-size', newVal);
219
+ break;
209
220
  }
210
- const isDisabled = isAttrTrue(newVal);
211
- this.#$input.disabled = isDisabled;
212
- updateBooleanAttribute(this, name, isDisabled);
213
- break;
214
- }
215
- case "autofocus": {
216
- if (isAttrEqual(oldVal, newVal)) {
217
- return;
221
+ case 'data-size':
222
+ {
223
+ this.#onSizeUpdate();
224
+ break;
225
+ }
226
+ case 'autocomplete':
227
+ {
228
+ updateAttribute(this.#$input, name, newVal);
229
+ break;
230
+ }
231
+ case 'aria-label':
232
+ {
233
+ this.#$input.ariaLabel = newVal;
234
+ this.#internals.ariaLabel = newVal;
235
+ break;
218
236
  }
219
- const isAutofocus = isAttrTrue(newVal);
220
- this.#$input.autofocus = isAutofocus;
221
- updateBooleanAttribute(this, name, isAutofocus);
222
- break;
223
- }
224
- case "size": {
225
- updateAttribute(this, "data-size", newVal);
226
- break;
227
- }
228
- case "data-size": {
229
- this.#onSizeUpdate();
230
- break;
231
- }
232
- case "autocomplete": {
233
- updateAttribute(this.#$input, name, newVal);
234
- break;
235
- }
236
- case "aria-label": {
237
- this.#$input.ariaLabel = newVal;
238
- this.#internals.ariaLabel = newVal;
239
- break;
240
- }
241
237
  }
242
238
  }
243
239
  set name(value) {
244
- updateAttribute(this, "name", value);
240
+ updateAttribute(this, 'name', value);
245
241
  }
246
242
  get name() {
247
- return getAttribute(this, "name", "");
243
+ return getAttribute(this, 'name', '');
248
244
  }
249
245
  set type(value) {
250
- updateAttribute(this, "type", value);
246
+ updateAttribute(this, 'type', value);
251
247
  }
252
248
  get type() {
253
- return getLiteralAttribute(this, inputTypes, "type", "text");
249
+ return getLiteralAttribute(this, inputTypes, 'type', 'text');
254
250
  }
255
251
  set value(value) {
256
- updateAttribute(this, "value", value);
252
+ updateAttribute(this, 'value', value);
257
253
  }
258
254
  get value() {
259
- return getAttribute(this, "value", "");
255
+ return getAttribute(this, 'value', '');
260
256
  }
261
257
  set mask(value) {
262
- updateAttribute(this, "mask", value);
258
+ updateAttribute(this, 'mask', value);
263
259
  }
264
260
  get mask() {
265
- return getAttribute(this, "mask");
261
+ return getAttribute(this, 'mask');
266
262
  }
267
263
  set placeholder(value) {
268
- updateAttribute(this, "placeholder", value);
264
+ updateAttribute(this, 'placeholder', value);
269
265
  }
270
266
  get placeholder() {
271
- return getAttribute(this, "placeholder");
267
+ return getAttribute(this, 'placeholder');
272
268
  }
273
269
  set invalid(isInvalid) {
274
- updateBooleanAttribute(this, "invalid", isInvalid);
270
+ updateBooleanAttribute(this, 'invalid', isInvalid);
275
271
  }
276
272
  get invalid() {
277
- return getBooleanAttribute(this, "invalid");
273
+ return getBooleanAttribute(this, 'invalid');
278
274
  }
279
275
  set disabled(isDisabled) {
280
- updateBooleanAttribute(this, "disabled", isDisabled);
276
+ updateBooleanAttribute(this, 'disabled', isDisabled);
281
277
  }
282
278
  get disabled() {
283
- return getBooleanAttribute(this, "disabled");
279
+ return getBooleanAttribute(this, 'disabled');
284
280
  }
285
281
  set autofocus(isAutofocus) {
286
- updateBooleanAttribute(this, "autofocus", isAutofocus);
282
+ updateBooleanAttribute(this, 'autofocus', isAutofocus);
287
283
  }
288
284
  get autofocus() {
289
- return getBooleanAttribute(this, "autofocus");
285
+ return getBooleanAttribute(this, 'autofocus');
290
286
  }
291
287
  set size(size) {
292
- updateLiteralAttribute(this, sizeValues, "size", size);
288
+ updateLiteralAttribute(this, sizeValues, 'size', size);
293
289
  }
294
290
  get size() {
295
- return getLiteralAttribute(this, sizeValues, "size", DEFAULT_SIZE);
291
+ return getLiteralAttribute(this, sizeValues, 'size', DEFAULT_SIZE);
296
292
  }
297
293
  set autocomplete(value) {
298
- updateAttribute(this, "autocomplete", value);
294
+ updateAttribute(this, 'autocomplete', value);
299
295
  }
300
296
  get autocomplete() {
301
- return getAttribute(this, "autocomplete", "");
297
+ return getAttribute(this, 'autocomplete', '');
302
298
  }
303
299
  get selectionStart() {
304
300
  return this.#$input.selectionStart;
@@ -331,7 +327,7 @@ class Input extends NectaryElement {
331
327
  this.#$input.blur();
332
328
  }
333
329
  #setSelectionRange = (start, end, direction) => {
334
- if (this.type !== "number") {
330
+ if (this.type !== 'number') {
335
331
  this.#$input.setSelectionRange(start, end, direction);
336
332
  }
337
333
  };
@@ -343,23 +339,31 @@ class Input extends NectaryElement {
343
339
  if (selectionStart === this.#$input.value.length) {
344
340
  return;
345
341
  }
346
- const { value, placeholder } = beginMaskedComposition(this.#$input.value, this.#maskSymbols, selectionStart);
342
+ const {
343
+ value,
344
+ placeholder
345
+ } = beginMaskedComposition(this.#$input.value, this.#maskSymbols, selectionStart);
347
346
  this.#$input.value = value;
348
347
  this.#setSelectionRange(selectionStart, selectionStart);
349
348
  this.#$inputMask.textContent = placeholder;
350
349
  this.#compositionBeginValue = value;
351
350
  }
352
351
  };
353
- #onCompositionEnd = (e) => {
352
+ #onCompositionEnd = e => {
354
353
  this.#isCompositionInProgress = false;
355
354
  if (this.#maskSymbols !== null) {
356
355
  const value = this.#$input.value;
357
356
  const wasValueInserted = value.length !== this.#compositionBeginValue.length;
358
357
  const res = endMaskedComposition(value, e.data, this.#maskSymbols, this.#$input.selectionStart, wasValueInserted);
359
- this.#compositionBeginValue = "";
358
+ this.#compositionBeginValue = '';
360
359
  if (res !== null) {
361
- const { value: value2, placeholder, mergedValue, cursorPos } = res;
362
- this.#$input.value = value2;
360
+ const {
361
+ value,
362
+ placeholder,
363
+ mergedValue,
364
+ cursorPos
365
+ } = res;
366
+ this.#$input.value = value;
363
367
  this.#setSelectionRange(cursorPos, cursorPos);
364
368
  this.#$inputMask.textContent = placeholder;
365
369
  if (mergedValue.length > 0) {
@@ -375,7 +379,7 @@ class Input extends NectaryElement {
375
379
  this.#onInput();
376
380
  }
377
381
  };
378
- #onMaskBeforeInput = (e) => {
382
+ #onMaskBeforeInput = e => {
379
383
  this.#handleMaskBeforeInput(e.inputType, e.data);
380
384
  e.preventDefault();
381
385
  };
@@ -384,27 +388,36 @@ class Input extends NectaryElement {
384
388
  const selectionEnd = this.#$input.selectionEnd ?? 0;
385
389
  let res = null;
386
390
  switch (inputType) {
387
- case "insertText": {
388
- res = insertText(this.#$input.value, data, this.#maskSymbols, selectionStart, selectionEnd);
389
- break;
390
- }
391
- case "insertFromPaste": {
392
- res = insertFromPaste(this.#$input.value, data, this.#maskSymbols, selectionStart, selectionEnd);
393
- break;
394
- }
395
- case "deleteByCut":
396
- case "deleteContent":
397
- case "deleteContentBackward": {
398
- res = deleteContentBackward(this.#$input.value, this.#maskSymbols, selectionStart, selectionEnd);
399
- break;
400
- }
401
- case "deleteContentForward": {
402
- res = deleteContentForward(this.#$input.value, this.#maskSymbols, selectionStart, selectionEnd);
403
- break;
404
- }
391
+ case 'insertText':
392
+ {
393
+ res = insertText(this.#$input.value, data, this.#maskSymbols, selectionStart, selectionEnd);
394
+ break;
395
+ }
396
+ case 'insertFromPaste':
397
+ {
398
+ res = insertFromPaste(this.#$input.value, data, this.#maskSymbols, selectionStart, selectionEnd);
399
+ break;
400
+ }
401
+ case 'deleteByCut':
402
+ case 'deleteContent':
403
+ case 'deleteContentBackward':
404
+ {
405
+ res = deleteContentBackward(this.#$input.value, this.#maskSymbols, selectionStart, selectionEnd);
406
+ break;
407
+ }
408
+ case 'deleteContentForward':
409
+ {
410
+ res = deleteContentForward(this.#$input.value, this.#maskSymbols, selectionStart, selectionEnd);
411
+ break;
412
+ }
405
413
  }
406
414
  if (res !== null) {
407
- const { value, placeholder, mergedValue, cursorPos } = res;
415
+ const {
416
+ value,
417
+ placeholder,
418
+ mergedValue,
419
+ cursorPos
420
+ } = res;
408
421
  this.#$input.value = value;
409
422
  this.#setSelectionRange(cursorPos, cursorPos);
410
423
  this.#$inputMask.textContent = placeholder;
@@ -422,27 +435,29 @@ class Input extends NectaryElement {
422
435
  const selectionStart = this.#$input.selectionStart ?? 0;
423
436
  const selectionEnd = this.#$input.selectionEnd ?? 0;
424
437
  switch (inputType) {
425
- case "insertFromPaste": {
426
- if (data === null) {
427
- return;
438
+ case 'insertFromPaste':
439
+ {
440
+ if (data === null) {
441
+ return;
442
+ }
443
+ const value = this.value;
444
+ const cursorPos = selectionStart + data.length;
445
+ const nextValue = value.substring(0, selectionStart) + data + value.substring(selectionEnd);
446
+ this.#selectionStart = cursorPos;
447
+ this.#selectionEnd = cursorPos;
448
+ this.#dispatchChangeEvent(nextValue);
449
+ break;
450
+ }
451
+ case 'deleteByCut':
452
+ {
453
+ const value = this.value;
454
+ const cursorPos = selectionStart;
455
+ const nextValue = value.substring(0, selectionStart) + value.substring(selectionEnd);
456
+ this.#selectionStart = cursorPos;
457
+ this.#selectionEnd = cursorPos;
458
+ this.#dispatchChangeEvent(nextValue);
459
+ break;
428
460
  }
429
- const value = this.value;
430
- const cursorPos = selectionStart + data.length;
431
- const nextValue = value.substring(0, selectionStart) + data + value.substring(selectionEnd);
432
- this.#selectionStart = cursorPos;
433
- this.#selectionEnd = cursorPos;
434
- this.#dispatchChangeEvent(nextValue);
435
- break;
436
- }
437
- case "deleteByCut": {
438
- const value = this.value;
439
- const cursorPos = selectionStart;
440
- const nextValue = value.substring(0, selectionStart) + value.substring(selectionEnd);
441
- this.#selectionStart = cursorPos;
442
- this.#selectionEnd = cursorPos;
443
- this.#dispatchChangeEvent(nextValue);
444
- break;
445
- }
446
461
  }
447
462
  }
448
463
  #onInput = () => {
@@ -458,7 +473,7 @@ class Input extends NectaryElement {
458
473
  if (prevValue !== nextValue) {
459
474
  const nextSelectionStart = this.#$input.selectionStart;
460
475
  const nextSelectionEnd = this.#$input.selectionEnd;
461
- if (this.hasAttribute("value") === true) {
476
+ if (this.hasAttribute('value')) {
462
477
  this.#$input.value = prevValue;
463
478
  this.#setSelectionRange(this.#selectionStart, this.#selectionEnd);
464
479
  }
@@ -468,14 +483,17 @@ class Input extends NectaryElement {
468
483
  }
469
484
  };
470
485
  #onWheel = () => {
471
- this.dispatchEvent(
472
- new CustomEvent("-wheel")
473
- );
486
+ this.dispatchEvent(new CustomEvent('-wheel'));
474
487
  };
475
488
  #onMaskInputAutofillChange = () => {
476
489
  const nextVal = this.#$input.value;
477
490
  if (this.#maskSymbols !== null) {
478
- const { value, placeholder, mergedValue, cursorPos } = splitValueAndMask(nextVal, this.#maskSymbols);
491
+ const {
492
+ value,
493
+ placeholder,
494
+ mergedValue,
495
+ cursorPos
496
+ } = splitValueAndMask(nextVal, this.#maskSymbols);
479
497
  this.#$input.value = value;
480
498
  this.#setSelectionRange(cursorPos, cursorPos);
481
499
  this.#$inputMask.textContent = placeholder;
@@ -488,7 +506,7 @@ class Input extends NectaryElement {
488
506
  }
489
507
  }
490
508
  };
491
- #onCopy = (e) => {
509
+ #onCopy = e => {
492
510
  const value = this.#$input.value;
493
511
  const selectionStart = this.#$input.selectionStart ?? 0;
494
512
  const selectionEnd = this.#$input.selectionEnd ?? 0;
@@ -497,14 +515,14 @@ class Input extends NectaryElement {
497
515
  }
498
516
  const copiedValue = this.#maskSymbols === null ? value.substring(selectionStart, selectionEnd) : getMergedValueSliced(value, this.#maskSymbols, selectionStart, selectionEnd);
499
517
  let replacedValue = null;
500
- const replaceWith = (value2) => {
501
- replacedValue = value2 ?? null;
518
+ const replaceWith = value => {
519
+ replacedValue = value ?? null;
502
520
  };
503
521
  if (this.#maskSymbols !== null) {
504
522
  e.preventDefault();
505
- e.clipboardData.setData("text/plain", copiedValue);
523
+ e.clipboardData.setData('text/plain', copiedValue);
506
524
  }
507
- const event = new CustomEvent("-copy", {
525
+ const event = new CustomEvent('-copy', {
508
526
  detail: {
509
527
  value: copiedValue,
510
528
  replaceWith
@@ -516,10 +534,10 @@ class Input extends NectaryElement {
516
534
  e.preventDefault();
517
535
  }
518
536
  if (replacedValue !== null) {
519
- e.clipboardData.setData("text/plain", replacedValue);
537
+ e.clipboardData.setData('text/plain', replacedValue);
520
538
  }
521
539
  };
522
- #onCut = (e) => {
540
+ #onCut = e => {
523
541
  const value = this.#$input.value;
524
542
  const selectionStart = this.#$input.selectionStart ?? 0;
525
543
  const selectionEnd = this.#$input.selectionEnd ?? 0;
@@ -528,14 +546,14 @@ class Input extends NectaryElement {
528
546
  }
529
547
  const copiedValue = this.#maskSymbols === null ? value.substring(selectionStart, selectionEnd) : getMergedValueSliced(value, this.#maskSymbols, selectionStart, selectionEnd);
530
548
  let replacedValue = null;
531
- const replaceWith = (value2) => {
532
- replacedValue = value2 ?? null;
549
+ const replaceWith = value => {
550
+ replacedValue = value ?? null;
533
551
  };
534
552
  if (this.#maskSymbols !== null) {
535
553
  e.preventDefault();
536
- e.clipboardData.setData("text/plain", copiedValue);
554
+ e.clipboardData.setData('text/plain', copiedValue);
537
555
  }
538
- const event = new CustomEvent("-cut", {
556
+ const event = new CustomEvent('-cut', {
539
557
  detail: {
540
558
  value: copiedValue,
541
559
  replaceWith
@@ -547,21 +565,21 @@ class Input extends NectaryElement {
547
565
  e.preventDefault();
548
566
  }
549
567
  if (replacedValue !== null) {
550
- e.clipboardData.setData("text/plain", replacedValue);
568
+ e.clipboardData.setData('text/plain', replacedValue);
551
569
  if (this.#maskSymbols !== null) {
552
- this.#handleMaskBeforeInput("deleteByCut", null);
570
+ this.#handleMaskBeforeInput('deleteByCut', null);
553
571
  } else {
554
- this.#handleBeforeInput("deleteByCut", null);
572
+ this.#handleBeforeInput('deleteByCut', null);
555
573
  }
556
574
  }
557
575
  };
558
- #onPaste = (e) => {
559
- const pasteValue = e.clipboardData?.getData("text/plain") ?? "";
560
- let replacedValue = "";
561
- const replaceWith = (value) => {
562
- replacedValue = value ?? "";
576
+ #onPaste = e => {
577
+ const pasteValue = e.clipboardData?.getData('text/plain') ?? '';
578
+ let replacedValue = '';
579
+ const replaceWith = value => {
580
+ replacedValue = value ?? '';
563
581
  };
564
- const event = new CustomEvent("-paste", {
582
+ const event = new CustomEvent('-paste', {
565
583
  detail: {
566
584
  value: pasteValue,
567
585
  replaceWith
@@ -577,116 +595,120 @@ class Input extends NectaryElement {
577
595
  }
578
596
  e.preventDefault();
579
597
  if (this.#maskSymbols !== null) {
580
- this.#handleMaskBeforeInput("insertFromPaste", replacedValue);
598
+ this.#handleMaskBeforeInput('insertFromPaste', replacedValue);
581
599
  } else {
582
- this.#handleBeforeInput("insertFromPaste", replacedValue);
600
+ this.#handleBeforeInput('insertFromPaste', replacedValue);
583
601
  }
584
602
  };
585
603
  #dispatchMaskClearChangeEvent() {
586
604
  this.#wasClearedByMask = true;
587
- this.#dispatchChangeEvent("");
605
+ this.#dispatchChangeEvent('');
588
606
  }
589
607
  #dispatchChangeEvent(value) {
590
608
  if (value === this.value) {
591
609
  return;
592
610
  }
593
- this.dispatchEvent(
594
- new CustomEvent("-change", {
595
- detail: value
596
- })
597
- );
611
+ this.dispatchEvent(new CustomEvent('-change', {
612
+ detail: value
613
+ }));
598
614
  }
599
- #onContextSize = (e) => {
600
- if (this.hasAttribute("size") === true) {
615
+ #onContextSize = e => {
616
+ if (this.hasAttribute('size')) {
601
617
  return;
602
618
  }
603
619
  switch (e.detail) {
604
- case "l": {
605
- this.setAttribute("data-size", "m");
606
- break;
607
- }
608
- default: {
609
- this.setAttribute("data-size", "s");
610
- }
620
+ case 'l':
621
+ {
622
+ this.setAttribute('data-size', 'm');
623
+ break;
624
+ }
625
+ default:
626
+ {
627
+ this.setAttribute('data-size', 's');
628
+ }
611
629
  }
612
630
  };
613
631
  #updateMask() {
614
632
  if (this.mask !== null) {
615
633
  if (this.#maskSymbols === null) {
616
- this.#$input.addEventListener("beforeinput", this.#onMaskBeforeInput, { signal: this.#controller.signal });
617
- this.#$input.addEventListener("change", this.#onMaskInputAutofillChange, { signal: this.#controller.signal });
634
+ this.#$input.addEventListener('beforeinput', this.#onMaskBeforeInput, {
635
+ signal: this.#controller.signal
636
+ });
637
+ this.#$input.addEventListener('change', this.#onMaskInputAutofillChange, {
638
+ signal: this.#controller.signal
639
+ });
618
640
  }
619
641
  this.#maskSymbols = getMaskSymbols(this.mask);
620
- const { value, placeholder } = splitValueAndMask(this.#$input.value, this.#maskSymbols);
642
+ const {
643
+ value,
644
+ placeholder
645
+ } = splitValueAndMask(this.#$input.value, this.#maskSymbols);
621
646
  this.#$input.value = value;
622
647
  this.#$inputMask.textContent = placeholder;
623
648
  } else {
624
649
  this.#maskSymbols = null;
625
- this.#$input.removeEventListener("beforeinput", this.#onMaskBeforeInput);
626
- this.#$input.removeEventListener("change", this.#onMaskInputAutofillChange);
650
+ this.#$input.removeEventListener('beforeinput', this.#onMaskBeforeInput);
651
+ this.#$input.removeEventListener('change', this.#onMaskInputAutofillChange);
627
652
  }
628
653
  this.#updatePlaceholder();
629
654
  }
630
655
  #updatePlaceholder() {
631
656
  if (this.#maskSymbols === null) {
632
657
  const value = this.placeholder;
633
- this.#$input.placeholder = value ?? "";
634
- this.#internals.ariaPlaceholder = value ?? "";
635
- updateAttribute(this, "aria-placeholder", value);
658
+ this.#$input.placeholder = value ?? '';
659
+ this.#internals.ariaPlaceholder = value ?? '';
660
+ updateAttribute(this, 'aria-placeholder', value);
636
661
  } else {
637
- updateAttribute(this, "aria-placeholder", null);
638
- this.#$input.placeholder = "";
639
- this.#internals.ariaPlaceholder = "";
662
+ updateAttribute(this, 'aria-placeholder', null);
663
+ this.#$input.placeholder = '';
664
+ this.#internals.ariaPlaceholder = '';
640
665
  }
641
666
  }
642
667
  #onIconSlotChange = () => {
643
668
  const isEmpty = this.#$iconSlot.assignedElements().length === 0;
644
- setClass(this.#$iconWrapper, "empty", isEmpty);
669
+ setClass(this.#$iconWrapper, 'empty', isEmpty);
645
670
  };
646
671
  #onLeftSlotChange = () => {
647
672
  const isEmpty = this.#$leftSlot.assignedElements().length === 0;
648
- setClass(this.#$leftWrapper, "empty", isEmpty);
673
+ setClass(this.#$leftWrapper, 'empty', isEmpty);
649
674
  };
650
675
  #onRightSlotChange = () => {
651
676
  const isEmpty = this.#$rightSlot.assignedElements().length === 0;
652
- setClass(this.#$rightWrapper, "empty", isEmpty);
677
+ setClass(this.#$rightWrapper, 'empty', isEmpty);
653
678
  };
654
679
  #onInputFocus = () => {
655
- this.dispatchEvent(new CustomEvent("-focus"));
680
+ this.dispatchEvent(new CustomEvent('-focus'));
656
681
  };
657
682
  #onInputBlur = () => {
658
- this.dispatchEvent(new CustomEvent("-blur"));
683
+ this.dispatchEvent(new CustomEvent('-blur'));
659
684
  };
660
685
  #onSizeUpdate() {
661
686
  if (!this.isDomConnected) {
662
687
  return;
663
688
  }
664
- const size = this.getAttribute("data-size") ?? DEFAULT_SIZE;
689
+ const size = this.getAttribute('data-size') ?? DEFAULT_SIZE;
665
690
  this.#sizeContext.dispatch(size);
666
691
  }
667
- #onChangeReactHandler = (e) => {
668
- getReactEventHandler(this, "on-change")?.(e);
692
+ #onChangeReactHandler = e => {
693
+ getReactEventHandler(this, 'on-change')?.(e);
669
694
  };
670
695
  #onFocusReactHandler = () => {
671
- getReactEventHandler(this, "on-focus")?.();
696
+ getReactEventHandler(this, 'on-focus')?.();
672
697
  };
673
698
  #onBlurReactHandler = () => {
674
- getReactEventHandler(this, "on-blur")?.();
699
+ getReactEventHandler(this, 'on-blur')?.();
675
700
  };
676
- #onCopyReactHandler = (e) => {
677
- getReactEventHandler(this, "on-copy")?.(e);
701
+ #onCopyReactHandler = e => {
702
+ getReactEventHandler(this, 'on-copy')?.(e);
678
703
  };
679
- #onCutReactHandler = (e) => {
680
- getReactEventHandler(this, "on-cut")?.(e);
704
+ #onCutReactHandler = e => {
705
+ getReactEventHandler(this, 'on-cut')?.(e);
681
706
  };
682
- #onPasteReactHandler = (e) => {
683
- getReactEventHandler(this, "on-paste")?.(e);
707
+ #onPasteReactHandler = e => {
708
+ getReactEventHandler(this, 'on-paste')?.(e);
684
709
  };
685
- #onWheelReactHandler = (e) => {
686
- getReactEventHandler(this, "on-wheel")?.(e);
710
+ #onWheelReactHandler = e => {
711
+ getReactEventHandler(this, 'on-wheel')?.(e);
687
712
  };
688
713
  }
689
- defineCustomElement("sinch-input", Input);
690
- export {
691
- Input
692
- };
714
+ defineCustomElement('sinch-input', Input);