@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,20 +1,18 @@
1
- import { updateAttribute, getAttribute, updateBooleanAttribute, getBooleanAttribute } from "../utils/dom.js";
2
- import { defineCustomElement, NectaryElement } from "../utils/element.js";
3
- import { getReactEventHandler } from "../utils/get-react-event-handler.js";
4
- const templateHTML = '<style>\n :host {\n display: block;\n\n --sinch-local-divider-color:\n var(\n --sinch-comp-button-color-secondary-default-text-initial\n );\n }\n\n #wrapper {\n display: flex;\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n position: relative;\n }\n\n /* divider */\n :host(:is(:not(:first-of-type))) #wrapper::before {\n content: "";\n position: absolute;\n inset: 0;\n background-color: var(--sinch-local-divider-color);\n opacity: 0.3;\n pointer-events: none;\n z-index: 2;\n top: 10%;\n bottom: 10%;\n left: -0.5px;\n width: 1px;\n }\n\n :host([type="primary"]) #wrapper::before {\n --sinch-local-divider-color:\n var(\n --sinch-comp-button-color-primary-default-text-initial\n );\n }\n\n :host([type="secondary"]) #wrapper::before {\n --sinch-local-divider-color:\n var(\n --sinch-comp-button-color-secondary-default-text-initial\n );\n }\n\n :host([type="subtle-primary"]) #wrapper::before {\n --sinch-local-divider-color:\n var(\n --sinch-comp-button-color-subtle-primary-default-text-initial\n );\n }\n\n :host([type="subtle-secondary"]) #wrapper::before {\n --sinch-local-divider-color:\n var(\n --sinch-comp-button-color-subtle-secondary-default-text-initial\n );\n }\n\n :host([type="cta-primary"]) #wrapper::before {\n --sinch-local-divider-color:\n var(\n --sinch-comp-button-color-cta-primary-default-text-initial\n );\n }\n\n :host([type="cta-secondary"]) #wrapper::before {\n --sinch-local-divider-color:\n var(\n --sinch-comp-button-color-cta-secondary-default-text-initial\n );\n }\n\n :host([type="destructive"]) #wrapper::before {\n --sinch-local-divider-color:\n var(\n --sinch-comp-button-color-danger-default-text-initial\n );\n }\n\n /* fix border */\n #sinch-button-element {\n display: flex;\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n\n --sinch-button-shape-radius-base: 0;\n --sinch-button-shape-radius-top-right: 0;\n --sinch-button-shape-radius-top-left: 0;\n --sinch-button-shape-radius-bottom-right: 0;\n --sinch-button-shape-radius-bottom-left: 0;\n }\n\n :host(:is(:first-of-type)) #sinch-button-element {\n --sinch-button-shape-radius-top-left:\n var(\n --sinch-comp-button-shape-radius-size-m\n );\n --sinch-button-shape-radius-bottom-left:\n var(\n --sinch-comp-button-shape-radius-size-m\n );\n }\n\n :host(:is(:last-of-type)) #sinch-button-element {\n --sinch-button-shape-radius-top-right:\n var(\n --sinch-comp-button-shape-radius-size-m\n );\n --sinch-button-shape-radius-bottom-right:\n var(\n --sinch-comp-button-shape-radius-size-m\n );\n }\n\n :host([size="l"]:is(:first-of-type)) #sinch-button-element {\n --sinch-button-shape-radius-top-left:\n var(\n --sinch-comp-button-shape-radius-size-l\n );\n --sinch-button-shape-radius-bottom-left:\n var(\n --sinch-comp-button-shape-radius-size-l\n );\n }\n\n :host([size="l"]:is(:last-of-type)) #sinch-button-element {\n --sinch-button-shape-radius-top-right:\n var(\n --sinch-comp-button-shape-radius-size-l\n );\n --sinch-button-shape-radius-bottom-right:\n var(\n --sinch-comp-button-shape-radius-size-l\n );\n }\n\n :host([size="m"]:is(:first-of-type)) #sinch-button-element {\n --sinch-button-shape-radius-top-left:\n var(\n --sinch-comp-button-shape-radius-size-m\n );\n --sinch-button-shape-radius-bottom-left:\n var(\n --sinch-comp-button-shape-radius-size-m\n );\n }\n\n :host([size="m"]:is(:last-of-type)) #sinch-button-element {\n --sinch-button-shape-radius-top-right:\n var(\n --sinch-comp-button-shape-radius-size-m\n );\n --sinch-button-shape-radius-bottom-right:\n var(\n --sinch-comp-button-shape-radius-size-m\n );\n }\n\n :host([size="s"]:is(:first-of-type)) #sinch-button-element {\n --sinch-button-shape-radius-top-left:\n var(\n --sinch-comp-button-shape-radius-size-s\n );\n --sinch-button-shape-radius-bottom-left:\n var(\n --sinch-comp-button-shape-radius-size-s\n );\n }\n\n :host([size="s"]:is(:last-of-type)) #sinch-button-element {\n --sinch-button-shape-radius-top-right:\n var(\n --sinch-comp-button-shape-radius-size-s\n );\n --sinch-button-shape-radius-bottom-right:\n var(\n --sinch-comp-button-shape-radius-size-s\n );\n }\n\n :host([size="xs"]:is(:first-of-type)) #sinch-button-element {\n --sinch-button-shape-radius-top-left:\n var(\n --sinch-comp-button-shape-radius-size-xs\n );\n --sinch-button-shape-radius-bottom-left:\n var(\n --sinch-comp-button-shape-radius-size-xs\n );\n }\n\n :host([size="xs"]:is(:last-of-type)) #sinch-button-element {\n --sinch-button-shape-radius-top-right:\n var(\n --sinch-comp-button-shape-radius-size-xs\n );\n --sinch-button-shape-radius-bottom-right:\n var(\n --sinch-comp-button-shape-radius-size-xs\n );\n }\n\n :host(:is(:not(:first-of-type, :last-of-type))) #sinch-button-element:not(:active) {\n --sinch-button-border-left: none;\n --sinch-button-border-right: none;\n }\n\n :host(:is(:first-of-type)) #sinch-button-element:not(:active) {\n --sinch-button-border-right: none;\n }\n\n :host(:is(:last-of-type)) #sinch-button-element:not(:active) {\n --sinch-button-border-left: none;\n }\n\n /* icon-button */\n :host(:is([text=""], :not([text]))) :is(#left-icon, #right-icon, #text) {\n display: none;\n }\n\n ::slotted(*) {\n display: block;\n }\n</style>\n\n<div id="wrapper">\n <sinch-button id="sinch-button-element">\n <slot id="left-icon" name="left-icon" slot="left-icon"></slot>\n <slot id="icon" name="icon" slot="icon"></slot>\n <slot id="right-icon" name="right-icon" slot="right-icon"></slot>\n </sinch-button>\n</div>\n';
5
- const template = document.createElement("template");
1
+ import { defineCustomElement, getAttribute, getBooleanAttribute, getReactEventHandler, NectaryElement, updateAttribute, updateBooleanAttribute } from '../utils';
2
+ const templateHTML = '<style>:host{display:block;--sinch-local-divider-color:var(--sinch-comp-button-color-secondary-default-text-initial)}#wrapper{display:flex;box-sizing:border-box;width:100%;height:100%;position:relative}:host(:is(:not(:first-of-type))) #wrapper::before{content:"";position:absolute;inset:0;background-color:var(--sinch-local-divider-color);opacity:.3;pointer-events:none;z-index:2;top:10%;bottom:10%;left:-.5px;width:1px}:host([type=primary]) #wrapper::before{--sinch-local-divider-color:var(--sinch-comp-button-color-primary-default-text-initial)}:host([type=secondary]) #wrapper::before{--sinch-local-divider-color:var(--sinch-comp-button-color-secondary-default-text-initial)}:host([type=subtle-primary]) #wrapper::before{--sinch-local-divider-color:var(--sinch-comp-button-color-subtle-primary-default-text-initial)}:host([type=subtle-secondary]) #wrapper::before{--sinch-local-divider-color:var(--sinch-comp-button-color-subtle-secondary-default-text-initial)}:host([type=cta-primary]) #wrapper::before{--sinch-local-divider-color:var(--sinch-comp-button-color-cta-primary-default-text-initial)}:host([type=cta-secondary]) #wrapper::before{--sinch-local-divider-color:var(--sinch-comp-button-color-cta-secondary-default-text-initial)}:host([type=destructive]) #wrapper::before{--sinch-local-divider-color:var(--sinch-comp-button-color-danger-default-text-initial)}#sinch-button-element{display:flex;box-sizing:border-box;width:100%;height:100%;--sinch-button-shape-radius-base:0;--sinch-button-shape-radius-top-right:0;--sinch-button-shape-radius-top-left:0;--sinch-button-shape-radius-bottom-right:0;--sinch-button-shape-radius-bottom-left:0}:host(:is(:first-of-type)) #sinch-button-element{--sinch-button-shape-radius-top-left:var(--sinch-comp-button-shape-radius-size-m);--sinch-button-shape-radius-bottom-left:var(--sinch-comp-button-shape-radius-size-m)}:host(:is(:last-of-type)) #sinch-button-element{--sinch-button-shape-radius-top-right:var(--sinch-comp-button-shape-radius-size-m);--sinch-button-shape-radius-bottom-right:var(--sinch-comp-button-shape-radius-size-m)}:host([size="l"]:is(:first-of-type)) #sinch-button-element{--sinch-button-shape-radius-top-left:var(--sinch-comp-button-shape-radius-size-l);--sinch-button-shape-radius-bottom-left:var(--sinch-comp-button-shape-radius-size-l)}:host([size="l"]:is(:last-of-type)) #sinch-button-element{--sinch-button-shape-radius-top-right:var(--sinch-comp-button-shape-radius-size-l);--sinch-button-shape-radius-bottom-right:var(--sinch-comp-button-shape-radius-size-l)}:host([size="m"]:is(:first-of-type)) #sinch-button-element{--sinch-button-shape-radius-top-left:var(--sinch-comp-button-shape-radius-size-m);--sinch-button-shape-radius-bottom-left:var(--sinch-comp-button-shape-radius-size-m)}:host([size="m"]:is(:last-of-type)) #sinch-button-element{--sinch-button-shape-radius-top-right:var(--sinch-comp-button-shape-radius-size-m);--sinch-button-shape-radius-bottom-right:var(--sinch-comp-button-shape-radius-size-m)}:host([size="s"]:is(:first-of-type)) #sinch-button-element{--sinch-button-shape-radius-top-left:var(--sinch-comp-button-shape-radius-size-s);--sinch-button-shape-radius-bottom-left:var(--sinch-comp-button-shape-radius-size-s)}:host([size="s"]:is(:last-of-type)) #sinch-button-element{--sinch-button-shape-radius-top-right:var(--sinch-comp-button-shape-radius-size-s);--sinch-button-shape-radius-bottom-right:var(--sinch-comp-button-shape-radius-size-s)}:host([size=xs]:is(:first-of-type)) #sinch-button-element{--sinch-button-shape-radius-top-left:var(--sinch-comp-button-shape-radius-size-xs);--sinch-button-shape-radius-bottom-left:var(--sinch-comp-button-shape-radius-size-xs)}:host([size=xs]:is(:last-of-type)) #sinch-button-element{--sinch-button-shape-radius-top-right:var(--sinch-comp-button-shape-radius-size-xs);--sinch-button-shape-radius-bottom-right:var(--sinch-comp-button-shape-radius-size-xs)}:host(:is(:not(:first-of-type,:last-of-type))) #sinch-button-element:not(:active){--sinch-button-border-left:none;--sinch-button-border-right:none}:host(:is(:first-of-type)) #sinch-button-element:not(:active){--sinch-button-border-right:none}:host(:is(:last-of-type)) #sinch-button-element:not(:active){--sinch-button-border-left:none}:host(:is([text=""],:not([text]))) :is(#left-icon,#right-icon,#text){display:none}::slotted(*){display:block}</style><div id="wrapper"><sinch-button id="sinch-button-element"><slot id="left-icon" name="left-icon" slot="left-icon"></slot><slot id="icon" name="icon" slot="icon"></slot><slot id="right-icon" name="right-icon" slot="right-icon"></slot></sinch-button></div>';
3
+ const template = document.createElement('template');
6
4
  template.innerHTML = templateHTML;
7
- class ButtonGroupItem extends NectaryElement {
5
+ export class ButtonGroupItem extends NectaryElement {
8
6
  #$sinchButton;
9
7
  #controller = null;
10
8
  constructor() {
11
9
  super();
12
10
  const shadowRoot = this.attachShadow();
13
11
  shadowRoot.appendChild(template.content.cloneNode(true));
14
- this.#$sinchButton = shadowRoot.querySelector("#sinch-button-element");
12
+ this.#$sinchButton = shadowRoot.querySelector('#sinch-button-element');
15
13
  }
16
14
  static get observedAttributes() {
17
- return ["type", "size", "text", "disabled", "toggled"];
15
+ return ['type', 'size', 'text', 'disabled', 'toggled'];
18
16
  }
19
17
  attributeChangedCallback(name, oldVal, newVal) {
20
18
  updateAttribute(this.#$sinchButton, name, newVal);
@@ -22,48 +20,61 @@ class ButtonGroupItem extends NectaryElement {
22
20
  connectedCallback() {
23
21
  super.connectedCallback();
24
22
  this.#controller = new AbortController();
25
- const { signal } = this.#controller;
26
- this.setAttribute("role", "button");
27
- const forwardEvent = (e) => this.dispatchEvent(new CustomEvent(e.type, { ...e }));
28
- this.addEventListener("-click", (e) => this.#onClickReactHandler(e), { signal });
29
- this.addEventListener("-focus", () => this.#onFocusReactHandler(), { signal });
30
- this.addEventListener("-blur", () => this.#onBlurReactHandler(), { signal });
31
- this.#$sinchButton.addEventListener("-click", (e) => forwardEvent(e), { signal });
32
- this.#$sinchButton.addEventListener("-focus", (e) => forwardEvent(e), { signal });
33
- this.#$sinchButton.addEventListener("-blur", (e) => forwardEvent(e), { signal });
23
+ const {
24
+ signal
25
+ } = this.#controller;
26
+ this.setAttribute('role', 'button');
27
+ const forwardEvent = e => this.dispatchEvent(new CustomEvent(e.type, {
28
+ ...e
29
+ }));
30
+ this.addEventListener('-click', e => this.#onClickReactHandler(e), {
31
+ signal
32
+ });
33
+ this.addEventListener('-focus', () => this.#onFocusReactHandler(), {
34
+ signal
35
+ });
36
+ this.addEventListener('-blur', () => this.#onBlurReactHandler(), {
37
+ signal
38
+ });
39
+ this.#$sinchButton.addEventListener('-click', e => forwardEvent(e), {
40
+ signal
41
+ });
42
+ this.#$sinchButton.addEventListener('-focus', e => forwardEvent(e), {
43
+ signal
44
+ });
45
+ this.#$sinchButton.addEventListener('-blur', e => forwardEvent(e), {
46
+ signal
47
+ });
34
48
  }
35
49
  set text(value) {
36
- updateAttribute(this, "text", value);
50
+ updateAttribute(this, 'text', value);
37
51
  }
38
52
  get text() {
39
- return getAttribute(this, "text", "");
53
+ return getAttribute(this, 'text', '');
40
54
  }
41
55
  set disabled(isDisabled) {
42
- updateBooleanAttribute(this, "disabled", isDisabled);
56
+ updateBooleanAttribute(this, 'disabled', isDisabled);
43
57
  }
44
58
  get disabled() {
45
- return getBooleanAttribute(this, "disabled");
59
+ return getBooleanAttribute(this, 'disabled');
46
60
  }
47
61
  set toggled(isToggled) {
48
- updateBooleanAttribute(this, "toggled", isToggled);
62
+ updateBooleanAttribute(this, 'toggled', isToggled);
49
63
  }
50
64
  get toggled() {
51
- return getBooleanAttribute(this, "toggled");
65
+ return getBooleanAttribute(this, 'toggled');
52
66
  }
53
67
  get focusable() {
54
68
  return true;
55
69
  }
56
- #onClickReactHandler = (e) => {
57
- getReactEventHandler(this, "on-click")?.(e);
70
+ #onClickReactHandler = e => {
71
+ getReactEventHandler(this, 'on-click')?.(e);
58
72
  };
59
73
  #onFocusReactHandler = () => {
60
- getReactEventHandler(this, "on-focus")?.();
74
+ getReactEventHandler(this, 'on-focus')?.();
61
75
  };
62
76
  #onBlurReactHandler = () => {
63
- getReactEventHandler(this, "on-blur")?.();
77
+ getReactEventHandler(this, 'on-blur')?.();
64
78
  };
65
79
  }
66
- defineCustomElement("sinch-button-group-item", ButtonGroupItem);
67
- export {
68
- ButtonGroupItem
69
- };
80
+ defineCustomElement('sinch-button-group-item', ButtonGroupItem);
@@ -1,5 +1,6 @@
1
- import type { TSinchButtonEvents, TSinchButtonProps } from '../button/types';
2
- import type { NectaryComponentReactByType, NectaryComponentVanillaByType, NectaryComponentReact, NectaryComponentVanilla } from '../types';
1
+ import type { TSinchButtonEvents, TSinchButtonProps, TSinchButtonReact } from '../button/types';
2
+ import type { NectaryComponentReactByType, NectaryComponentVanillaByType } from '../types';
3
+ export type { TSinchButtonReact };
3
4
  export type TSinchButtonGroupItemProps = {
4
5
  text?: TSinchButtonProps['text'];
5
6
  disabled?: TSinchButtonProps['disabled'];
@@ -42,23 +43,3 @@ export type TSinchButtonGroupItem = {
42
43
  };
43
44
  export type TSinchButtonGroupItemElement = NectaryComponentVanillaByType<TSinchButtonGroupItem>;
44
45
  export type TSinchButtonGroupItemReact = NectaryComponentReactByType<TSinchButtonGroupItem>;
45
- declare global {
46
- interface NectaryComponentMap {
47
- 'sinch-button-group-item': TSinchButtonGroupItem;
48
- }
49
- interface HTMLElementTagNameMap {
50
- 'sinch-button-group-item': NectaryComponentVanilla<'sinch-button-group-item'>;
51
- }
52
- namespace JSX {
53
- interface IntrinsicElements {
54
- 'sinch-button-group-item': NectaryComponentReact<'sinch-button-group-item'>;
55
- }
56
- }
57
- }
58
- declare module 'react' {
59
- namespace JSX {
60
- interface IntrinsicElements extends globalThis.JSX.IntrinsicElements {
61
- 'sinch-button-group-item': NectaryComponentReact<'sinch-button-group-item'>;
62
- }
63
- }
64
- }
@@ -1 +1 @@
1
-
1
+ export {};
@@ -0,0 +1,40 @@
1
+ import '../title';
2
+ import '../text';
3
+ import { NectaryElement } from '../utils';
4
+ import type { TSinchCard } from './types';
5
+ import type { NectaryComponentReact, NectaryComponentVanilla, TRect } from '../types';
6
+ export declare class Card extends NectaryElement {
7
+ #private;
8
+ constructor();
9
+ connectedCallback(): void;
10
+ disconnectedCallback(): void;
11
+ static get observedAttributes(): string[];
12
+ attributeChangedCallback(name: string, oldVal: string | null, newVal: string | null): void;
13
+ set text(value: string);
14
+ get text(): string;
15
+ set caption(value: string);
16
+ get caption(): string;
17
+ set label(value: string);
18
+ get label(): string;
19
+ get dragRect(): TRect | null;
20
+ }
21
+ declare global {
22
+ interface NectaryComponentMap {
23
+ 'sinch-card': TSinchCard;
24
+ }
25
+ interface HTMLElementTagNameMap {
26
+ 'sinch-card': NectaryComponentVanilla<'sinch-card'>;
27
+ }
28
+ namespace JSX {
29
+ interface IntrinsicElements {
30
+ 'sinch-card': NectaryComponentReact<'sinch-card'>;
31
+ }
32
+ }
33
+ }
34
+ declare module 'react' {
35
+ namespace JSX {
36
+ interface IntrinsicElements extends globalThis.JSX.IntrinsicElements {
37
+ 'sinch-card': NectaryComponentReact<'sinch-card'>;
38
+ }
39
+ }
40
+ }
package/card/index.js ADDED
@@ -0,0 +1,134 @@
1
+ import '../title';
2
+ import '../text';
3
+ import { defineCustomElement, getBooleanAttribute, getAttribute, updateAttribute, setClass, NectaryElement, isAttrTrue, getRect, isAttrEqual, updateBooleanAttribute } from '../utils';
4
+ const templateHTML = '<style>:host{display:block;outline:0}#wrapper{border-radius:var(--sinch-comp-card-shape-radius);border:1px solid var(--sinch-comp-card-color-default-border-initial);background-color:var(--sinch-comp-card-color-default-background-initial);box-shadow:var(--sinch-comp-card-shadow-initial);overflow:hidden}:host(:hover) #wrapper{box-shadow:var(--sinch-comp-card-shadow-hover)}#card-body{padding:24px;box-sizing:border-box;display:flex;flex-direction:column;gap:16px}#illustration-wrapper{display:none;overflow:hidden;height:240px}#illustration-wrapper.active{display:block}#label{--sinch-comp-text-font:var(--sinch-comp-card-font-label);--sinch-global-color-text:var(--sinch-comp-card-color-default-title-initial)}#label:empty{display:none}#header{display:flex;flex-direction:row;align-items:center;gap:8px;--sinch-global-size-icon:var(--sinch-comp-card-size-icon)}#caption{flex:1;min-width:0;--sinch-comp-title-font:var(--sinch-comp-card-font-title);--sinch-global-color-text:var(--sinch-comp-card-color-default-title-initial)}#description{flex:1;min-height:0;max-height:120px;overflow-y:auto;--sinch-comp-text-font:var(--sinch-comp-card-font-description);--sinch-global-color-text:var(--sinch-comp-card-color-default-description-initial)}#description:empty{display:none}slot[name=action]::slotted(*){margin-top:20px;align-self:flex-start;max-width:100%}:host([draggable=true]) #header{cursor:grab}</style><div id="wrapper"><div id="illustration-wrapper"><slot name="illustration"></slot></div><div id="card-body"><sinch-text id="label" type="s" emphasized ellipsis></sinch-text><div id="header"><slot name="icon"></slot><sinch-title id="caption" type="m" level="3" ellipsis></sinch-title></div><sinch-text id="description" type="m"></sinch-text><slot name="action"></slot></div></div>';
5
+ const template = document.createElement('template');
6
+ template.innerHTML = templateHTML;
7
+ export class Card extends NectaryElement {
8
+ #$text;
9
+ #$label;
10
+ #$caption;
11
+ #$header;
12
+ #$cardBody;
13
+ #$iconSlot;
14
+ #$illustrationSlot;
15
+ #$illustrationSlotWrapper;
16
+ #isDraggingCorrectHandle = false;
17
+ #isDraggingSubscribed = false;
18
+ #controller = null;
19
+ constructor() {
20
+ super();
21
+ const shadowRoot = this.attachShadow();
22
+ shadowRoot.appendChild(template.content.cloneNode(true));
23
+ this.#$text = shadowRoot.querySelector('#description');
24
+ this.#$label = shadowRoot.querySelector('#label');
25
+ this.#$caption = shadowRoot.querySelector('#caption');
26
+ this.#$header = shadowRoot.querySelector('#header');
27
+ this.#$cardBody = shadowRoot.querySelector('#wrapper');
28
+ this.#$iconSlot = shadowRoot.querySelector('slot[name="icon"]');
29
+ this.#$illustrationSlot = shadowRoot.querySelector('slot[name="illustration"]');
30
+ this.#$illustrationSlotWrapper = shadowRoot.querySelector('#illustration-wrapper');
31
+ }
32
+ connectedCallback() {
33
+ super.connectedCallback();
34
+ this.#controller = new AbortController();
35
+ const options = {
36
+ signal: this.#controller.signal
37
+ };
38
+ this.#$illustrationSlot.addEventListener('slotchange', this.#onIllustrationSlotChange, options);
39
+ this.#onIllustrationSlotChange();
40
+ if (getBooleanAttribute(this, 'draggable')) {
41
+ this.#enableDraggable();
42
+ }
43
+ }
44
+ disconnectedCallback() {
45
+ super.disconnectedCallback();
46
+ this.#disableDragging();
47
+ this.#controller.abort();
48
+ this.#controller = null;
49
+ }
50
+ static get observedAttributes() {
51
+ return ['text', 'label', 'caption', 'draggable'];
52
+ }
53
+ attributeChangedCallback(name, oldVal, newVal) {
54
+ switch (name) {
55
+ case 'text':
56
+ {
57
+ this.#$text.textContent = newVal;
58
+ break;
59
+ }
60
+ case 'label':
61
+ {
62
+ this.#$label.textContent = newVal;
63
+ break;
64
+ }
65
+ case 'caption':
66
+ {
67
+ updateAttribute(this.#$caption, 'text', newVal);
68
+ break;
69
+ }
70
+ case 'draggable':
71
+ {
72
+ if (isAttrEqual(oldVal, newVal)) {
73
+ return;
74
+ }
75
+ const isDraggingEnabled = isAttrTrue(newVal);
76
+ if (isDraggingEnabled) {
77
+ this.#enableDraggable();
78
+ } else {
79
+ this.#disableDragging();
80
+ }
81
+ updateBooleanAttribute(this, name, isDraggingEnabled);
82
+ break;
83
+ }
84
+ }
85
+ }
86
+ set text(value) {
87
+ updateAttribute(this, 'text', value);
88
+ }
89
+ get text() {
90
+ return getAttribute(this, 'text', '');
91
+ }
92
+ set caption(value) {
93
+ updateAttribute(this, 'caption', value);
94
+ }
95
+ get caption() {
96
+ return getAttribute(this, 'caption', '');
97
+ }
98
+ set label(value) {
99
+ updateAttribute(this, 'label', value);
100
+ }
101
+ get label() {
102
+ return getAttribute(this, 'label', '');
103
+ }
104
+ get dragRect() {
105
+ return this.#isDraggingSubscribed ? getRect(this.#$header) : null;
106
+ }
107
+ #onIllustrationSlotChange = () => {
108
+ setClass(this.#$illustrationSlotWrapper, 'active', this.#$illustrationSlot.assignedElements().length > 0);
109
+ };
110
+ #enableDraggable() {
111
+ if (this.isDomConnected && !this.#isDraggingSubscribed) {
112
+ this.addEventListener('dragstart', this.#onDragStart);
113
+ this.#$cardBody.addEventListener('mousedown', this.#onDraggableMouseDown);
114
+ this.#isDraggingSubscribed = true;
115
+ }
116
+ }
117
+ #disableDragging() {
118
+ if (this.#isDraggingSubscribed) {
119
+ this.removeEventListener('dragstart', this.#onDragStart);
120
+ this.#$cardBody.removeEventListener('mousedown', this.#onDraggableMouseDown);
121
+ this.#isDraggingSubscribed = false;
122
+ }
123
+ }
124
+ #onDraggableMouseDown = e => {
125
+ this.#isDraggingCorrectHandle = this.#$header.contains(e.target) || this.#$iconSlot.assignedElements().includes(e.target);
126
+ };
127
+ #onDragStart = e => {
128
+ if (!this.#isDraggingCorrectHandle) {
129
+ e.preventDefault();
130
+ e.stopPropagation();
131
+ }
132
+ };
133
+ }
134
+ defineCustomElement('sinch-card', Card);
@@ -0,0 +1,17 @@
1
+ import type { NectaryComponentReactByType, NectaryComponentVanillaByType, TRect } from '../types';
2
+ export type TSinchCardProps = {
3
+ /** Text */
4
+ text: string;
5
+ /** Caption */
6
+ caption: string;
7
+ /** Label */
8
+ label?: string;
9
+ /** Draggable */
10
+ draggable?: boolean;
11
+ readonly dragRect?: TRect | null;
12
+ };
13
+ export type TSinchCard = {
14
+ props: TSinchCardProps;
15
+ };
16
+ export type TSinchCardElement = NectaryComponentVanillaByType<TSinchCard>;
17
+ export type TSinchCardReact = NectaryComponentReactByType<TSinchCard>;
package/card/types.js ADDED
@@ -0,0 +1 @@
1
+ export {};
@@ -1,5 +1,25 @@
1
1
  import { NectaryElement } from '../utils';
2
- export * from './types';
2
+ import type { NectaryComponentReact, NectaryComponentVanilla } from '../types';
3
3
  export declare class CardContainer extends NectaryElement {
4
4
  constructor();
5
5
  }
6
+ declare global {
7
+ interface NectaryComponentMap {
8
+ 'sinch-card-container': {};
9
+ }
10
+ interface HTMLElementTagNameMap {
11
+ 'sinch-card-container': NectaryComponentVanilla<'sinch-card-container'>;
12
+ }
13
+ namespace JSX {
14
+ interface IntrinsicElements {
15
+ 'sinch-card-container': NectaryComponentReact<'sinch-card-container'>;
16
+ }
17
+ }
18
+ }
19
+ declare module 'react' {
20
+ namespace JSX {
21
+ interface IntrinsicElements extends globalThis.JSX.IntrinsicElements {
22
+ 'sinch-card-container': NectaryComponentReact<'sinch-card-container'>;
23
+ }
24
+ }
25
+ }
@@ -1,15 +1,12 @@
1
- import { defineCustomElement, NectaryElement } from "../utils/element.js";
2
- const templateHTML = '<style>\n :host {\n display: block;\n }\n\n #wrapper {\n height: 100%;\n padding: 20px 0;\n box-sizing: border-box;\n background-color: var(--sinch-comp-card-color-default-background-initial);\n border-radius: var(--sinch-comp-card-shape-radius);\n border: 1px solid var(--sinch-comp-card-color-default-border-initial);\n }\n\n #scroll {\n overflow: auto;\n height: 100%;\n box-sizing: border-box;\n padding: 4px 24px;\n }\n</style>\n\n<div id="wrapper">\n <div id="scroll">\n <slot></slot>\n </div>\n</div>\n';
3
- const template = document.createElement("template");
1
+ import { defineCustomElement, NectaryElement } from '../utils';
2
+ const templateHTML = '<style>:host{display:block}#wrapper{height:100%;padding:20px 0;box-sizing:border-box;background-color:var(--sinch-comp-card-color-default-background-initial);border-radius:var(--sinch-comp-card-shape-radius);border:1px solid var(--sinch-comp-card-color-default-border-initial)}#scroll{overflow:auto;height:100%;box-sizing:border-box;padding:4px 24px}</style><div id="wrapper"><div id="scroll"><slot></slot></div></div>';
3
+ const template = document.createElement('template');
4
4
  template.innerHTML = templateHTML;
5
- class CardContainer extends NectaryElement {
5
+ export class CardContainer extends NectaryElement {
6
6
  constructor() {
7
7
  super();
8
8
  const shadowRoot = this.attachShadow();
9
9
  shadowRoot.appendChild(template.content.cloneNode(true));
10
10
  }
11
11
  }
12
- defineCustomElement("sinch-card-container", CardContainer);
13
- export {
14
- CardContainer
15
- };
12
+ defineCustomElement('sinch-card-container', CardContainer);
@@ -1,23 +1,3 @@
1
- import type { NectaryComponentReactByType, NectaryComponentReact, NectaryComponentVanilla } from '../types';
1
+ import type { NectaryComponentReactByType } from '../types';
2
2
  export type TSinchCardContainerElement = HTMLElement;
3
3
  export type TSinchCardContainerReact = NectaryComponentReactByType<TSinchCardContainerElement>;
4
- declare global {
5
- interface NectaryComponentMap {
6
- 'sinch-card-container': {};
7
- }
8
- interface HTMLElementTagNameMap {
9
- 'sinch-card-container': NectaryComponentVanilla<'sinch-card-container'>;
10
- }
11
- namespace JSX {
12
- interface IntrinsicElements {
13
- 'sinch-card-container': NectaryComponentReact<'sinch-card-container'>;
14
- }
15
- }
16
- }
17
- declare module 'react' {
18
- namespace JSX {
19
- interface IntrinsicElements extends globalThis.JSX.IntrinsicElements {
20
- 'sinch-card-container': NectaryComponentReact<'sinch-card-container'>;
21
- }
22
- }
23
- }
@@ -1 +1 @@
1
-
1
+ export {};
@@ -1,5 +1,6 @@
1
1
  import { NectaryElement } from '../utils';
2
- export * from './types';
2
+ import type { TSinchCardV2 } from './types';
3
+ import type { NectaryComponentReact, NectaryComponentVanilla } from '../types';
3
4
  export declare class CardV2 extends NectaryElement {
4
5
  #private;
5
6
  constructor();
@@ -14,3 +15,23 @@ export declare class CardV2 extends NectaryElement {
14
15
  get selected(): boolean;
15
16
  set selected(value: boolean);
16
17
  }
18
+ declare global {
19
+ interface NectaryComponentMap {
20
+ 'sinch-card-v2': TSinchCardV2;
21
+ }
22
+ interface HTMLElementTagNameMap {
23
+ 'sinch-card-v2': NectaryComponentVanilla<'sinch-card-v2'>;
24
+ }
25
+ namespace JSX {
26
+ interface IntrinsicElements {
27
+ 'sinch-card-v2': NectaryComponentReact<'sinch-card-v2'>;
28
+ }
29
+ }
30
+ }
31
+ declare module 'react' {
32
+ namespace JSX {
33
+ interface IntrinsicElements extends globalThis.JSX.IntrinsicElements {
34
+ 'sinch-card-v2': NectaryComponentReact<'sinch-card-v2'>;
35
+ }
36
+ }
37
+ }