@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
@@ -1,15 +1,11 @@
1
- import { getEmojiBaseUrl } from "../emoji/utils.js";
2
- import { updateAttribute, getAttribute, updateBooleanAttribute, getBooleanAttribute, getIntegerAttribute, 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 { parseMarkdown } from "../utils/markdown.js";
7
- import { createParseVisitor, getEndRange, formatList, handleEmojiMousedown, formatOutdent, formatIndent, formatInline, insertLink, insertText, insertLineBreak, deleteContentBackward, setBrowserCaret, serializeMarkdown, getSelectionInfo, isSelectionEqual, insertFromPaste, isEditorEmpty } from "./utils.js";
8
- const templateHTML = '<style>\n:host {\n display: block;\n}\n\n#wrapper {\n display: flex;\n flex-direction: column;\n position: relative;\n width: 100%;\n box-sizing: border-box;\n background-color: var(--sinch-comp-textarea-color-default-background-initial);\n border-radius: var(--sinch-local-shape-radius);\n overflow: hidden;\n\n --sinch-local-shape-radius: var(--sinch-comp-textarea-shape-radius);\n}\n\n#input-wrapper {\n position: relative;\n padding: 8px 10px 8px 12px;\n box-sizing: border-box;\n}\n\n#input {\n font: var(--sinch-comp-textarea-font-input);\n color: var(--sinch-comp-textarea-color-default-text-initial);\n white-space: pre-wrap;\n overflow-wrap: break-word;\n border: none;\n outline: none;\n}\n\n#placeholder {\n display: none;\n position: absolute;\n left: 0;\n top: 0;\n font: var(--sinch-comp-textarea-font-input);\n color: var(--sinch-comp-textarea-color-default-text-placeholder);\n padding: 8px 10px 8px 12px;\n pointer-events: none;\n user-select: none;\n}\n\n#input.empty + #placeholder {\n display: block;\n}\n\n#border {\n position: absolute;\n border: 1px solid var(--sinch-comp-textarea-color-default-border-initial);\n border-radius: var(--sinch-local-shape-radius);\n inset: 0;\n pointer-events: none;\n}\n\n:host([invalid]) #border {\n border-color: var(--sinch-comp-textarea-color-invalid-border-initial);\n}\n\n:host([disabled]) {\n color: var(--sinch-comp-textarea-color-disabled-text-initial);\n -webkit-text-fill-color: var(--sinch-comp-textarea-color-disabled-text-initial);\n}\n\n:host([disabled]) #border {\n border-color: var(--sinch-comp-textarea-color-disabled-border-initial);\n}\n\n:host(:not([disabled])) #input-wrapper:focus-within ~ #border {\n border-color: var(--sinch-comp-textarea-color-default-border-focus);\n border-width: 2px;\n}\n\n.p,\n.oli,\n.uli {\n margin: 0;\n}\n\n.oli.l0,\n.uli.l0 {\n margin-left: 6px;\n}\n\n.oli.l1,\n.uli.l1 {\n margin-left: 36px;\n}\n\n.oli.l2,\n.uli.l2 {\n margin-left: 64px;\n}\n\n.oli.l3,\n.uli.l3 {\n margin-left: 92px;\n}\n\n.oli.l4,\n.uli.l4 {\n margin-left: 120px;\n}\n\n.uli.l0 {\n counter-reset: list-0 list-1 list-2 list-3 list-4;\n}\n\n.uli.l1 {\n counter-reset: list-1 list-2 list-3 list-4;\n}\n\n.uli.l2 {\n counter-reset: list-2 list-3 list-4;\n}\n\n.uli.l3 {\n counter-reset: list-3 list-4;\n}\n\n.uli.l4 {\n counter-reset: list-4;\n}\n\n.oli.l0 {\n counter-reset: list-1 list-2 list-3 list-4;\n}\n\n.oli.l1 {\n counter-reset: list-2 list-3 list-4;\n}\n\n.oli.l2 {\n counter-reset: list-3 list-4;\n}\n\n.oli.l3 {\n counter-reset: list-4;\n}\n\n.oli.l0::before {\n counter-increment: list-0;\n content: counter(list-0, decimal) ". ";\n}\n\n.oli.l1::before {\n counter-increment: list-1;\n content: counter(list-1, lower-alpha) ". ";\n}\n\n.oli.l2::before {\n counter-increment: list-2;\n content: counter(list-2, lower-roman) ". ";\n}\n\n.oli.l3::before {\n counter-increment: list-3;\n content: counter(list-3, decimal) ". ";\n}\n\n.oli.l4::before {\n counter-increment: list-4;\n content: counter(list-4, lower-alpha) ". ";\n}\n\n.oli:first-of-type,\n.oli.block,\n.p + .oli {\n counter-reset: list-0 list-1 list-2 list-3 list-4;\n}\n\n.uli::before {\n content: "\\25CF";\n display: inline-block;\n width: 16px;\n}\n\n.uli.block,\n.oli.block,\n.uli + .p,\n.oli + .p,\n.p + .uli,\n.p + .oli {\n margin-top: 0.5em;\n}\n\n.c {\n font: var(--sinch-comp-code-tag-font-text);\n font-size: inherit;\n line-height: inherit;\n color: var(--sinch-comp-code-tag-color-default-text-initial);\n border: 1px solid var(--sinch-comp-code-tag-color-default-border-initial);\n background-color: var(--sinch-comp-code-tag-color-default-background-initial);\n padding: 0 0.25em;\n border-radius: var(--sinch-comp-code-tag-shape-radius);\n}\n\n.l {\n font: var(--sinch-comp-link-default-font-initial);\n color: var(--sinch-comp-link-color-default-text-initial);\n text-decoration: underline;\n}\n\n.i {\n font-style: italic;\n}\n\n.b {\n font-weight: bold;\n}\n\n.s {\n text-decoration: line-through;\n}\n\n.e {\n background-repeat: no-repeat;\n background-position: 50% 50%;\n background-size: contain;\n width: 1em;\n height: 1em;\n vertical-align: -0.2em;\n}\n\n#top-wrapper {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 8px;\n padding: 4px 4px 0;\n}\n\n#top-wrapper.empty {\n display: none;\n}\n\n#bottom-wrapper {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 8px;\n padding: 0 4px 4px;\n}\n\n#bottom-wrapper.empty {\n display: none;\n}\n</style>\n\n<div id="wrapper">\n <div id="top-wrapper">\n <slot id="top" name="top"></slot>\n </div>\n <div id="input-wrapper">\n <div\n id="input"\n contentEditable\n suppressContentEditableWarning\n autoCapitalize="false"\n autoCorrect="false"\n autoSave="false"\n spellCheck="false"\n >\n </div>\n <div id="placeholder"></div>\n </div>\n <div id="border"></div>\n <div id="bottom-wrapper">\n <slot id="bottom" name="bottom"></slot>\n </div>\n</div>\n';
9
- const template = document.createElement("template");
1
+ import { getEmojiBaseUrl } from '../emoji/utils';
2
+ import { defineCustomElement, getAttribute, getBooleanAttribute, getIntegerAttribute, getReactEventHandler, isElementFocused, NectaryElement, parseMarkdown, setClass, updateAttribute, updateBooleanAttribute } from '../utils';
3
+ const templateHTML = '<style>:host{display:block}#wrapper{display:flex;flex-direction:column;position:relative;width:100%;box-sizing:border-box;background-color:var(--sinch-comp-textarea-color-default-background-initial);border-radius:var(--sinch-local-shape-radius);overflow:hidden;--sinch-local-shape-radius:var(--sinch-comp-textarea-shape-radius)}#input-wrapper{position:relative;padding:8px 10px 8px 12px;box-sizing:border-box}#input{font:var(--sinch-comp-textarea-font-input);color:var(--sinch-comp-textarea-color-default-text-initial);white-space:pre-wrap;overflow-wrap:break-word;border:none;outline:0}#placeholder{display:none;position:absolute;left:0;top:0;font:var(--sinch-comp-textarea-font-input);color:var(--sinch-comp-textarea-color-default-text-placeholder);padding:8px 10px 8px 12px;pointer-events:none;user-select:none}#input.empty+#placeholder{display:block}#border{position:absolute;border:1px solid var(--sinch-comp-textarea-color-default-border-initial);border-radius:var(--sinch-local-shape-radius);inset:0;pointer-events:none}:host([invalid]) #border{border-color:var(--sinch-comp-textarea-color-invalid-border-initial)}:host([disabled]){color:var(--sinch-comp-textarea-color-disabled-text-initial);-webkit-text-fill-color:var(--sinch-comp-textarea-color-disabled-text-initial)}:host([disabled]) #border{border-color:var(--sinch-comp-textarea-color-disabled-border-initial)}:host(:not([disabled])) #input-wrapper:focus-within~#border{border-color:var(--sinch-comp-textarea-color-default-border-focus);border-width:2px}.oli,.p,.uli{margin:0}.oli.l0,.uli.l0{margin-left:6px}.oli.l1,.uli.l1{margin-left:36px}.oli.l2,.uli.l2{margin-left:64px}.oli.l3,.uli.l3{margin-left:92px}.oli.l4,.uli.l4{margin-left:120px}.uli.l0{counter-reset:list-0 list-1 list-2 list-3 list-4}.uli.l1{counter-reset:list-1 list-2 list-3 list-4}.uli.l2{counter-reset:list-2 list-3 list-4}.uli.l3{counter-reset:list-3 list-4}.uli.l4{counter-reset:list-4}.oli.l0{counter-reset:list-1 list-2 list-3 list-4}.oli.l1{counter-reset:list-2 list-3 list-4}.oli.l2{counter-reset:list-3 list-4}.oli.l3{counter-reset:list-4}.oli.l0::before{counter-increment:list-0;content:counter(list-0,decimal) ". "}.oli.l1::before{counter-increment:list-1;content:counter(list-1,lower-alpha) ". "}.oli.l2::before{counter-increment:list-2;content:counter(list-2,lower-roman) ". "}.oli.l3::before{counter-increment:list-3;content:counter(list-3,decimal) ". "}.oli.l4::before{counter-increment:list-4;content:counter(list-4,lower-alpha) ". "}.oli.block,.oli:first-of-type,.p+.oli{counter-reset:list-0 list-1 list-2 list-3 list-4}.uli::before{content:"\\25CF";display:inline-block;width:16px}.oli+.p,.oli.block,.p+.oli,.p+.uli,.uli+.p,.uli.block{margin-top:.5em}.c{font:var(--sinch-comp-code-tag-font-text);font-size:inherit;line-height:inherit;color:var(--sinch-comp-code-tag-color-default-text-initial);border:1px solid var(--sinch-comp-code-tag-color-default-border-initial);background-color:var(--sinch-comp-code-tag-color-default-background-initial);padding:0 .25em;border-radius:var(--sinch-comp-code-tag-shape-radius)}.l{font:var(--sinch-comp-link-default-font-initial);color:var(--sinch-comp-link-color-default-text-initial);text-decoration:underline}.i{font-style:italic}.b{font-weight:700}.s{text-decoration:line-through}.e{background-repeat:no-repeat;background-position:50% 50%;background-size:contain;width:1em;height:1em;vertical-align:-.2em}#top-wrapper{display:flex;flex-direction:row;align-items:center;gap:8px;padding:4px 4px 0}#top-wrapper.empty{display:none}#bottom-wrapper{display:flex;flex-direction:row;align-items:center;gap:8px;padding:0 4px 4px}#bottom-wrapper.empty{display:none}</style><div id="wrapper"><div id="top-wrapper"><slot id="top" name="top"></slot></div><div id="input-wrapper"><div id="input" contenteditable suppresscontenteditablewarning autocapitalize="false" autocorrect="false" autosave="false" spellcheck="false"></div><div id="placeholder"></div></div><div id="border"></div><div id="bottom-wrapper"><slot id="bottom" name="bottom"></slot></div></div>';
4
+ import { createParseVisitor, deleteContentBackward, formatIndent, formatInline, formatList, formatOutdent, getEndRange, getSelectionInfo, handleEmojiMousedown, insertFromPaste, insertLineBreak, insertLink, insertText, isEditorEmpty, isSelectionEqual, serializeMarkdown, setBrowserCaret } from './utils';
5
+ const template = document.createElement('template');
10
6
  template.innerHTML = templateHTML;
11
- const SUPPORTS_SHADOW_SELECTION = typeof window.ShadowRoot.prototype.getSelection === "function";
12
- class RichTextarea extends NectaryElement {
7
+ const SUPPORTS_SHADOW_SELECTION = typeof window.ShadowRoot.prototype.getSelection === 'function';
8
+ export class RichTextarea extends NectaryElement {
13
9
  #$input;
14
10
  #$placeholder;
15
11
  #controller = null;
@@ -26,28 +22,32 @@ class RichTextarea extends NectaryElement {
26
22
  #parseVisitor;
27
23
  constructor() {
28
24
  super();
29
- const shadowRoot = this.attachShadow({ delegatesFocus: true });
25
+ const shadowRoot = this.attachShadow({
26
+ delegatesFocus: true
27
+ });
30
28
  shadowRoot.appendChild(template.content.cloneNode(true));
31
29
  this.#sh = shadowRoot;
32
- this.#$input = shadowRoot.querySelector("#input");
33
- this.#$placeholder = shadowRoot.querySelector("#placeholder");
34
- this.#$topSlot = shadowRoot.querySelector("#top");
35
- this.#$topWrapper = shadowRoot.querySelector("#top-wrapper");
36
- this.#$bottomSlot = shadowRoot.querySelector("#bottom");
37
- this.#$bottomWrapper = shadowRoot.querySelector("#bottom-wrapper");
38
- Object.defineProperty(this.#$input, "ownerDocument", { value: shadowRoot });
39
- if (typeof shadowRoot.createElement !== "function") {
40
- Object.defineProperty(shadowRoot, "createElement", {
30
+ this.#$input = shadowRoot.querySelector('#input');
31
+ this.#$placeholder = shadowRoot.querySelector('#placeholder');
32
+ this.#$topSlot = shadowRoot.querySelector('#top');
33
+ this.#$topWrapper = shadowRoot.querySelector('#top-wrapper');
34
+ this.#$bottomSlot = shadowRoot.querySelector('#bottom');
35
+ this.#$bottomWrapper = shadowRoot.querySelector('#bottom-wrapper');
36
+ Object.defineProperty(this.#$input, 'ownerDocument', {
37
+ value: shadowRoot
38
+ });
39
+ if (typeof shadowRoot.createElement !== 'function') {
40
+ Object.defineProperty(shadowRoot, 'createElement', {
41
41
  value: document.createElement.bind(shadowRoot.ownerDocument)
42
42
  });
43
43
  }
44
- Object.defineProperty(shadowRoot, "createTextNode", {
44
+ Object.defineProperty(shadowRoot, 'createTextNode', {
45
45
  value: document.createTextNode.bind(shadowRoot.ownerDocument)
46
46
  });
47
- Object.defineProperty(shadowRoot, "createElementNS", {
47
+ Object.defineProperty(shadowRoot, 'createElementNS', {
48
48
  value: document.createElementNS.bind(shadowRoot.ownerDocument)
49
49
  });
50
- Object.defineProperty(shadowRoot, "createDocumentFragment", {
50
+ Object.defineProperty(shadowRoot, 'createDocumentFragment', {
51
51
  value: document.createDocumentFragment.bind(shadowRoot.ownerDocument)
52
52
  });
53
53
  this.#parseVisitor = createParseVisitor(shadowRoot);
@@ -58,24 +58,24 @@ class RichTextarea extends NectaryElement {
58
58
  const options = {
59
59
  signal: this.#controller.signal
60
60
  };
61
- this.setAttribute("role", "textbox");
62
- this.ariaMultiLine = "true";
63
- this.#$input.addEventListener("beforeinput", this.#onBeforeInput, options);
64
- this.#$input.addEventListener("keydown", this.#onKeydown, options);
65
- this.#$input.addEventListener("mousedown", this.#onMouseDown, options);
66
- this.#$input.addEventListener("focus", this.#onInputFocus, options);
67
- this.#$input.addEventListener("blur", this.#onInputBlur, options);
68
- this.#$input.addEventListener("dragstart", this.#onDragStart, options);
69
- this.#$input.addEventListener("cut", this.#onCut, options);
70
- this.#$input.addEventListener("copy", this.#onCopy, options);
71
- this.#$input.addEventListener("paste", this.#onPaste, options);
72
- this.#$bottomSlot.addEventListener("slotchange", this.#onBottomSlotChange, options);
73
- this.#$topSlot.addEventListener("slotchange", this.#onTopSlotChange, options);
74
- this.addEventListener("-change", this.#onChangeReactHandler, options);
75
- this.addEventListener("-focus", this.#onFocusReactHandler, options);
76
- this.addEventListener("-blur", this.#onBlurReactHandler, options);
77
- this.addEventListener("-selection", this.#onSelectionReactHandler, options);
78
- document.addEventListener("selectionchange", this.#onSelectionChange, options);
61
+ this.setAttribute('role', 'textbox');
62
+ this.ariaMultiLine = 'true';
63
+ this.#$input.addEventListener('beforeinput', this.#onBeforeInput, options);
64
+ this.#$input.addEventListener('keydown', this.#onKeydown, options);
65
+ this.#$input.addEventListener('mousedown', this.#onMouseDown, options);
66
+ this.#$input.addEventListener('focus', this.#onInputFocus, options);
67
+ this.#$input.addEventListener('blur', this.#onInputBlur, options);
68
+ this.#$input.addEventListener('dragstart', this.#onDragStart, options);
69
+ this.#$input.addEventListener('cut', this.#onCut, options);
70
+ this.#$input.addEventListener('copy', this.#onCopy, options);
71
+ this.#$input.addEventListener('paste', this.#onPaste, options);
72
+ this.#$bottomSlot.addEventListener('slotchange', this.#onBottomSlotChange, options);
73
+ this.#$topSlot.addEventListener('slotchange', this.#onTopSlotChange, options);
74
+ this.addEventListener('-change', this.#onChangeReactHandler, options);
75
+ this.addEventListener('-focus', this.#onFocusReactHandler, options);
76
+ this.addEventListener('-blur', this.#onBlurReactHandler, options);
77
+ this.addEventListener('-selection', this.#onSelectionReactHandler, options);
78
+ document.addEventListener('selectionchange', this.#onSelectionChange, options);
79
79
  this.#parseVisitor.updateEmojiBaseUrl(getEmojiBaseUrl(this));
80
80
  this.#onTopSlotChange();
81
81
  this.#onBottomSlotChange();
@@ -89,49 +89,48 @@ class RichTextarea extends NectaryElement {
89
89
  this.#controller = null;
90
90
  }
91
91
  static get observedAttributes() {
92
- return [
93
- "value",
94
- "placeholder"
95
- ];
92
+ return ['value', 'placeholder'];
96
93
  }
97
94
  attributeChangedCallback(name, oldVal, newVal) {
98
95
  switch (name) {
99
- case "value": {
100
- if (this.isConnected === true) {
101
- this.#onValueChange(newVal);
96
+ case 'value':
97
+ {
98
+ if (this.isConnected) {
99
+ this.#onValueChange(newVal);
100
+ }
101
+ break;
102
+ }
103
+ case 'placeholder':
104
+ {
105
+ this.#$placeholder.textContent = newVal;
106
+ updateAttribute(this, 'aria-placeholder', newVal);
107
+ break;
102
108
  }
103
- break;
104
- }
105
- case "placeholder": {
106
- this.#$placeholder.textContent = newVal;
107
- updateAttribute(this, "aria-placeholder", newVal);
108
- break;
109
- }
110
109
  }
111
110
  }
112
111
  set value(value) {
113
- updateAttribute(this, "value", value);
112
+ updateAttribute(this, 'value', value);
114
113
  }
115
114
  get value() {
116
- return getAttribute(this, "value", "");
115
+ return getAttribute(this, 'value', '');
117
116
  }
118
117
  set placeholder(value) {
119
- updateAttribute(this, "placeholder", value);
118
+ updateAttribute(this, 'placeholder', value);
120
119
  }
121
120
  get placeholder() {
122
- return getAttribute(this, "placeholder");
121
+ return getAttribute(this, 'placeholder');
123
122
  }
124
123
  set disabled(isDisabled) {
125
- updateBooleanAttribute(this, "disabled", isDisabled);
124
+ updateBooleanAttribute(this, 'disabled', isDisabled);
126
125
  }
127
126
  get disabled() {
128
- return getBooleanAttribute(this, "disabled");
127
+ return getBooleanAttribute(this, 'disabled');
129
128
  }
130
129
  set rows(value) {
131
- updateAttribute(this, "rows", value);
130
+ updateAttribute(this, 'rows', value);
132
131
  }
133
132
  get rows() {
134
- return getIntegerAttribute(this, "rows", 0);
133
+ return getIntegerAttribute(this, 'rows', 0);
135
134
  }
136
135
  get focusable() {
137
136
  return true;
@@ -143,27 +142,27 @@ class RichTextarea extends NectaryElement {
143
142
  this.#$input.blur();
144
143
  }
145
144
  insertText(value) {
146
- const res = this.#handleInput("insertText", this.#getCurrentRange(), value);
145
+ const res = this.#handleInput('insertText', this.#getCurrentRange(), value);
147
146
  this.#handleActionResult(res);
148
147
  }
149
148
  insertLink(text, href) {
150
- const res = this.#handleInput("insertLink", this.#getCurrentRange(), text, href);
149
+ const res = this.#handleInput('insertLink', this.#getCurrentRange(), text, href);
151
150
  this.#handleActionResult(res);
152
151
  }
153
152
  formatItalic() {
154
- const res = this.#handleInput("formatItalic", this.#getCurrentRange());
153
+ const res = this.#handleInput('formatItalic', this.#getCurrentRange());
155
154
  this.#handleActionResult(res);
156
155
  }
157
156
  formatBold() {
158
- const res = this.#handleInput("formatBold", this.#getCurrentRange());
157
+ const res = this.#handleInput('formatBold', this.#getCurrentRange());
159
158
  this.#handleActionResult(res);
160
159
  }
161
160
  formatStrikethrough() {
162
- const res = this.#handleInput("formatStrikeThrough", this.#getCurrentRange());
161
+ const res = this.#handleInput('formatStrikeThrough', this.#getCurrentRange());
163
162
  this.#handleActionResult(res);
164
163
  }
165
164
  formatCodeTag() {
166
- const res = this.#handleInput("formatCodeTag", this.#getCurrentRange());
165
+ const res = this.#handleInput('formatCodeTag', this.#getCurrentRange());
167
166
  this.#handleActionResult(res);
168
167
  }
169
168
  formatOrderedList() {
@@ -174,9 +173,6 @@ class RichTextarea extends NectaryElement {
174
173
  const res = formatList(false, this.#getCurrentRange());
175
174
  this.#handleActionResult(res);
176
175
  }
177
- /**
178
- * Input must be in focus
179
- */
180
176
  #getSelectionRange() {
181
177
  if (SUPPORTS_SHADOW_SELECTION) {
182
178
  const selection = this.#sh.getSelection();
@@ -197,81 +193,85 @@ class RichTextarea extends NectaryElement {
197
193
  }
198
194
  this.#pendingRangePolyfill = true;
199
195
  this.#rangePolyfill = null;
200
- document.execCommand("indent");
196
+ document.execCommand('indent');
201
197
  this.#pendingRangePolyfill = false;
202
198
  return this.#rangePolyfill;
203
199
  }
204
- #onMouseDown = (e) => {
205
- this.#handleActionResult(
206
- handleEmojiMousedown(e.target)
207
- );
200
+ #onMouseDown = e => {
201
+ this.#handleActionResult(handleEmojiMousedown(e.target));
208
202
  };
209
- #onKeydown = (e) => {
203
+ #onKeydown = e => {
210
204
  if (e.shiftKey) {
211
205
  switch (e.key) {
212
- case "Tab": {
213
- const res = this.#handleInput("formatOutdent", this.#getSelectionRange());
214
- if (res.prevent) {
215
- e.preventDefault();
206
+ case 'Tab':
207
+ {
208
+ const res = this.#handleInput('formatOutdent', this.#getSelectionRange());
209
+ if (res.prevent) {
210
+ e.preventDefault();
211
+ }
212
+ this.#handleActionResult(res);
213
+ break;
216
214
  }
217
- this.#handleActionResult(res);
218
- break;
219
- }
220
215
  }
221
216
  } else {
222
217
  switch (e.key) {
223
- case "Tab": {
224
- const res = this.#handleInput("formatIndent", this.#getSelectionRange());
225
- if (res.prevent) {
226
- e.preventDefault();
218
+ case 'Tab':
219
+ {
220
+ const res = this.#handleInput('formatIndent', this.#getSelectionRange());
221
+ if (res.prevent) {
222
+ e.preventDefault();
223
+ }
224
+ this.#handleActionResult(res);
225
+ break;
227
226
  }
228
- this.#handleActionResult(res);
229
- break;
230
- }
231
227
  }
232
228
  }
233
229
  if (e.metaKey || e.ctrlKey) {
234
230
  switch (e.key) {
235
- case "b": {
236
- const res = this.#handleInput("formatBold", this.#getSelectionRange());
237
- if (res.prevent) {
238
- e.preventDefault();
239
- }
240
- this.#handleActionResult(res);
241
- break;
242
- }
243
- case "i": {
244
- const res = this.#handleInput("formatItalic", this.#getSelectionRange());
245
- if (res.prevent) {
246
- e.preventDefault();
247
- }
248
- this.#handleActionResult(res);
249
- break;
250
- }
251
- }
252
- if (e.shiftKey) {
253
- switch (e.key) {
254
- case "x": {
255
- const res = this.#handleInput("formatStrikeThrough", this.#getSelectionRange());
231
+ case 'b':
232
+ {
233
+ const res = this.#handleInput('formatBold', this.#getSelectionRange());
256
234
  if (res.prevent) {
257
235
  e.preventDefault();
258
236
  }
259
237
  this.#handleActionResult(res);
260
238
  break;
261
239
  }
262
- case "c": {
263
- const res = this.#handleInput("formatCodeTag", this.#getSelectionRange());
240
+ case 'i':
241
+ {
242
+ const res = this.#handleInput('formatItalic', this.#getSelectionRange());
264
243
  if (res.prevent) {
265
244
  e.preventDefault();
266
245
  }
267
246
  this.#handleActionResult(res);
268
247
  break;
269
248
  }
249
+ }
250
+ if (e.shiftKey) {
251
+ switch (e.key) {
252
+ case 'x':
253
+ {
254
+ const res = this.#handleInput('formatStrikeThrough', this.#getSelectionRange());
255
+ if (res.prevent) {
256
+ e.preventDefault();
257
+ }
258
+ this.#handleActionResult(res);
259
+ break;
260
+ }
261
+ case 'c':
262
+ {
263
+ const res = this.#handleInput('formatCodeTag', this.#getSelectionRange());
264
+ if (res.prevent) {
265
+ e.preventDefault();
266
+ }
267
+ this.#handleActionResult(res);
268
+ break;
269
+ }
270
270
  }
271
271
  }
272
272
  }
273
273
  };
274
- #onBeforeInput = (e) => {
274
+ #onBeforeInput = e => {
275
275
  const [range] = e.getTargetRanges();
276
276
  if (this.#pendingRangePolyfill) {
277
277
  this.#pendingRangePolyfill = false;
@@ -288,54 +288,56 @@ class RichTextarea extends NectaryElement {
288
288
  };
289
289
  #handleInput(inputType, range, text, href) {
290
290
  if (range === null) {
291
- return { prevent: true, range: null };
291
+ return {
292
+ prevent: true,
293
+ range: null
294
+ };
292
295
  }
293
296
  switch (inputType) {
294
- // case 'deleteByDrag':
295
- // case 'deleteByCut':
296
- // break
297
- // }
298
- // case 'insertLink': {
299
- // break
300
- // }
301
- case "deleteContent":
302
- case "deleteContentForward":
303
- case "deleteWordForward":
304
- case "deleteContentBackward":
305
- case "deleteWordBackward": {
306
- return deleteContentBackward(this.#$input, range);
307
- }
308
- case "insertLineBreak":
309
- case "insertParagraph": {
310
- return insertLineBreak(range);
311
- }
312
- case "insertReplacementText":
313
- case "insertText": {
314
- return insertText(this.#$input, text, range);
315
- }
316
- case "insertLink": {
317
- return insertLink(this.#$input, text, href, range);
318
- }
319
- // case 'formatUnderline':
320
- case "formatItalic":
321
- case "formatBold":
322
- case "formatStrikeThrough":
323
- case "formatCodeTag": {
324
- return formatInline(inputType, range);
325
- }
326
- case "formatIndent": {
327
- return formatIndent(range);
328
- }
329
- case "formatOutdent": {
330
- return formatOutdent(range);
331
- }
332
- // case 'formatSuperscript':
333
- // case 'formatSubscript':
334
- // case 'historyUndo':
335
- // case 'historyRedo':
336
- default: {
337
- return { prevent: true, range: null };
338
- }
297
+ case 'deleteContent':
298
+ case 'deleteContentForward':
299
+ case 'deleteWordForward':
300
+ case 'deleteContentBackward':
301
+ case 'deleteWordBackward':
302
+ {
303
+ return deleteContentBackward(this.#$input, range);
304
+ }
305
+ case 'insertLineBreak':
306
+ case 'insertParagraph':
307
+ {
308
+ return insertLineBreak(range);
309
+ }
310
+ case 'insertReplacementText':
311
+ case 'insertText':
312
+ {
313
+ return insertText(this.#$input, text, range);
314
+ }
315
+ case 'insertLink':
316
+ {
317
+ return insertLink(this.#$input, text, href, range);
318
+ }
319
+ case 'formatItalic':
320
+ case 'formatBold':
321
+ case 'formatStrikeThrough':
322
+ case 'formatCodeTag':
323
+ {
324
+ return formatInline(inputType, range);
325
+ }
326
+ case 'formatIndent':
327
+ {
328
+ return formatIndent(range);
329
+ }
330
+ case 'formatOutdent':
331
+ {
332
+ return formatOutdent(range);
333
+ }
334
+ default:
335
+ {
336
+ return {
337
+ prevent: true,
338
+ range: null
339
+ };
340
+ }
339
341
  }
340
342
  }
341
343
  #handleActionResult(result) {
@@ -351,17 +353,19 @@ class RichTextarea extends NectaryElement {
351
353
  if (this.#cachedRange !== null) {
352
354
  setBrowserCaret(this.#cachedRange);
353
355
  }
354
- this.dispatchEvent(new CustomEvent("-focus"));
356
+ this.dispatchEvent(new CustomEvent('-focus'));
355
357
  };
356
358
  #onInputBlur = () => {
357
- this.dispatchEvent(new CustomEvent("-blur"));
359
+ this.dispatchEvent(new CustomEvent('-blur'));
358
360
  this.#dispatchChangeEvent();
359
361
  };
360
362
  #dispatchChangeEvent() {
361
363
  const value = serializeMarkdown(this.#$input, null);
362
364
  this.#prevDispatchedValue = value;
363
365
  if (value !== this.value) {
364
- this.dispatchEvent(new CustomEvent("-change", { detail: value }));
366
+ this.dispatchEvent(new CustomEvent('-change', {
367
+ detail: value
368
+ }));
365
369
  }
366
370
  }
367
371
  #getCurrentRange = () => {
@@ -383,7 +387,9 @@ class RichTextarea extends NectaryElement {
383
387
  const selectionInfo = getSelectionInfo(this.#cachedRange);
384
388
  if (!isSelectionEqual(this.#lastSelectionInfo, selectionInfo)) {
385
389
  this.#lastSelectionInfo = selectionInfo;
386
- this.dispatchEvent(new CustomEvent("-selection", { detail: selectionInfo }));
390
+ this.dispatchEvent(new CustomEvent('-selection', {
391
+ detail: selectionInfo
392
+ }));
387
393
  }
388
394
  };
389
395
  #onValueChange(value) {
@@ -391,7 +397,7 @@ class RichTextarea extends NectaryElement {
391
397
  return;
392
398
  }
393
399
  if (value === null || value.length === 0) {
394
- this.#$input.innerHTML = "";
400
+ this.#$input.innerHTML = '';
395
401
  this.#cachedRange = getEndRange(this.#$input);
396
402
  this.#prevDispatchedValue = value;
397
403
  this.#updateEditorEmptyClass();
@@ -399,74 +405,61 @@ class RichTextarea extends NectaryElement {
399
405
  }
400
406
  this.#cachedRange = null;
401
407
  this.#prevDispatchedValue = value;
402
- this.#$input.replaceChildren(
403
- parseMarkdown(value, this.#parseVisitor.createVisitor())
404
- );
408
+ this.#$input.replaceChildren(parseMarkdown(value, this.#parseVisitor.createVisitor()));
405
409
  this.#updateEditorEmptyClass();
406
410
  }
407
- #onCopy = (e) => {
411
+ #onCopy = e => {
408
412
  e.preventDefault();
409
413
  if (this.#cachedRange === null) {
410
414
  return;
411
415
  }
412
416
  if (e.clipboardData != null) {
413
- e.clipboardData.setData("text/plain", serializeMarkdown(this.#$input, this.#cachedRange));
417
+ e.clipboardData.setData('text/plain', serializeMarkdown(this.#$input, this.#cachedRange));
414
418
  }
415
419
  };
416
- #onCut = (e) => {
420
+ #onCut = e => {
417
421
  e.preventDefault();
418
422
  if (this.#cachedRange === null) {
419
423
  return;
420
424
  }
421
425
  if (e.clipboardData != null) {
422
- e.clipboardData.setData("text/plain", serializeMarkdown(this.#$input, this.#cachedRange));
426
+ e.clipboardData.setData('text/plain', serializeMarkdown(this.#$input, this.#cachedRange));
423
427
  }
424
- this.#handleActionResult(
425
- deleteContentBackward(this.#$input, this.#cachedRange)
426
- );
428
+ this.#handleActionResult(deleteContentBackward(this.#$input, this.#cachedRange));
427
429
  };
428
- #onPaste = (e) => {
430
+ #onPaste = e => {
429
431
  e.preventDefault();
430
- const pasteValue = e.clipboardData?.getData("text/plain") ?? "";
432
+ const pasteValue = e.clipboardData?.getData('text/plain') ?? '';
431
433
  if (pasteValue.length === 0 || this.#cachedRange === null) {
432
434
  return;
433
435
  }
434
- this.#handleActionResult(
435
- insertFromPaste(
436
- pasteValue,
437
- this.#cachedRange,
438
- this.#parseVisitor.createVisitor()
439
- )
440
- );
436
+ this.#handleActionResult(insertFromPaste(pasteValue, this.#cachedRange, this.#parseVisitor.createVisitor()));
441
437
  };
442
438
  #updateEditorEmptyClass() {
443
- setClass(this.#$input, "empty", isEditorEmpty(this.#$input));
439
+ setClass(this.#$input, 'empty', isEditorEmpty(this.#$input));
444
440
  }
445
441
  #onBottomSlotChange = () => {
446
442
  const isEmpty = this.#$bottomSlot.assignedElements().length === 0;
447
- setClass(this.#$bottomWrapper, "empty", isEmpty);
443
+ setClass(this.#$bottomWrapper, 'empty', isEmpty);
448
444
  };
449
445
  #onTopSlotChange = () => {
450
446
  const isEmpty = this.#$topSlot.assignedElements().length === 0;
451
- setClass(this.#$topWrapper, "empty", isEmpty);
447
+ setClass(this.#$topWrapper, 'empty', isEmpty);
452
448
  };
453
- #onDragStart = (e) => {
449
+ #onDragStart = e => {
454
450
  e.preventDefault();
455
451
  };
456
- #onChangeReactHandler = (e) => {
457
- getReactEventHandler(this, "on-change")?.(e);
452
+ #onChangeReactHandler = e => {
453
+ getReactEventHandler(this, 'on-change')?.(e);
458
454
  };
459
455
  #onFocusReactHandler = () => {
460
- getReactEventHandler(this, "on-focus")?.();
456
+ getReactEventHandler(this, 'on-focus')?.();
461
457
  };
462
458
  #onBlurReactHandler = () => {
463
- getReactEventHandler(this, "on-blur")?.();
459
+ getReactEventHandler(this, 'on-blur')?.();
464
460
  };
465
- #onSelectionReactHandler = (e) => {
466
- getReactEventHandler(this, "on-selection")?.(e);
461
+ #onSelectionReactHandler = e => {
462
+ getReactEventHandler(this, 'on-selection')?.(e);
467
463
  };
468
464
  }
469
- defineCustomElement("sinch-rich-textarea", RichTextarea);
470
- export {
471
- RichTextarea
472
- };
465
+ defineCustomElement('sinch-rich-textarea', RichTextarea);
@@ -1,4 +1,4 @@
1
- import type { NectaryComponentReactByType, NectaryComponentVanillaByType, NectaryComponentReact, NectaryComponentVanilla } from '../types';
1
+ import type { NectaryComponentReactByType, NectaryComponentVanillaByType } from '../types';
2
2
  export type TRichTextareaSelection = {
3
3
  italic: boolean;
4
4
  bold: boolean;
@@ -60,23 +60,3 @@ export type TSinchRichTextarea = {
60
60
  };
61
61
  export type TSinchRichTextareaElement = NectaryComponentVanillaByType<TSinchRichTextarea>;
62
62
  export type TSinchRichTextareaReact = NectaryComponentReactByType<TSinchRichTextarea>;
63
- declare global {
64
- interface NectaryComponentMap {
65
- 'sinch-rich-textarea': TSinchRichTextarea;
66
- }
67
- interface HTMLElementTagNameMap {
68
- 'sinch-rich-textarea': NectaryComponentVanilla<'sinch-rich-textarea'>;
69
- }
70
- namespace JSX {
71
- interface IntrinsicElements {
72
- 'sinch-rich-textarea': NectaryComponentReact<'sinch-rich-textarea'>;
73
- }
74
- }
75
- }
76
- declare module 'react' {
77
- namespace JSX {
78
- interface IntrinsicElements extends globalThis.JSX.IntrinsicElements {
79
- 'sinch-rich-textarea': NectaryComponentReact<'sinch-rich-textarea'>;
80
- }
81
- }
82
- }
@@ -1 +1 @@
1
-
1
+ export {};