@tabler/core 1.5.1 → 1.6.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 (967) hide show
  1. package/README.md +10 -1
  2. package/dist/css/tabler-flags.css +9 -1
  3. package/dist/css/tabler-flags.css.map +1 -1
  4. package/dist/css/tabler-flags.min.css +2 -2
  5. package/dist/css/tabler-flags.min.css.map +1 -1
  6. package/dist/css/tabler-flags.rtl.css +9 -1
  7. package/dist/css/tabler-flags.rtl.css.map +1 -1
  8. package/dist/css/tabler-flags.rtl.min.css +2 -2
  9. package/dist/css/tabler-flags.rtl.min.css.map +1 -1
  10. package/dist/css/tabler-marketing.css +78 -38
  11. package/dist/css/tabler-marketing.css.map +1 -1
  12. package/dist/css/tabler-marketing.min.css +2 -2
  13. package/dist/css/tabler-marketing.min.css.map +1 -1
  14. package/dist/css/tabler-marketing.rtl.css +78 -38
  15. package/dist/css/tabler-marketing.rtl.css.map +1 -1
  16. package/dist/css/tabler-marketing.rtl.min.css +2 -2
  17. package/dist/css/tabler-marketing.rtl.min.css.map +1 -1
  18. package/dist/css/tabler-payments.css +5 -1
  19. package/dist/css/tabler-payments.css.map +1 -1
  20. package/dist/css/tabler-payments.min.css +1 -1
  21. package/dist/css/tabler-payments.min.css.map +1 -1
  22. package/dist/css/tabler-payments.rtl.css +5 -1
  23. package/dist/css/tabler-payments.rtl.css.map +1 -1
  24. package/dist/css/tabler-payments.rtl.min.css +1 -1
  25. package/dist/css/tabler-payments.rtl.min.css.map +1 -1
  26. package/dist/css/tabler-props.css +207 -241
  27. package/dist/css/tabler-props.css.map +1 -1
  28. package/dist/css/tabler-props.min.css +2 -2
  29. package/dist/css/tabler-props.min.css.map +1 -1
  30. package/dist/css/tabler-props.rtl.css +207 -241
  31. package/dist/css/tabler-props.rtl.css.map +1 -1
  32. package/dist/css/tabler-props.rtl.min.css +2 -2
  33. package/dist/css/tabler-props.rtl.min.css.map +1 -1
  34. package/dist/css/tabler-socials.css +5 -1
  35. package/dist/css/tabler-socials.css.map +1 -1
  36. package/dist/css/tabler-socials.min.css +1 -1
  37. package/dist/css/tabler-socials.min.css.map +1 -1
  38. package/dist/css/tabler-socials.rtl.css +5 -1
  39. package/dist/css/tabler-socials.rtl.css.map +1 -1
  40. package/dist/css/tabler-socials.rtl.min.css +1 -1
  41. package/dist/css/tabler-socials.rtl.min.css.map +1 -1
  42. package/dist/css/tabler-themes.css +144 -94
  43. package/dist/css/tabler-themes.css.map +1 -1
  44. package/dist/css/tabler-themes.min.css +2 -2
  45. package/dist/css/tabler-themes.min.css.map +1 -1
  46. package/dist/css/tabler-themes.rtl.css +144 -94
  47. package/dist/css/tabler-themes.rtl.css.map +1 -1
  48. package/dist/css/tabler-themes.rtl.min.css +2 -2
  49. package/dist/css/tabler-themes.rtl.min.css.map +1 -1
  50. package/dist/css/tabler-vendors.css +203 -83
  51. package/dist/css/tabler-vendors.css.map +1 -1
  52. package/dist/css/tabler-vendors.min.css +2 -2
  53. package/dist/css/tabler-vendors.min.css.map +1 -1
  54. package/dist/css/tabler-vendors.rtl.css +203 -83
  55. package/dist/css/tabler-vendors.rtl.css.map +1 -1
  56. package/dist/css/tabler-vendors.rtl.min.css +2 -2
  57. package/dist/css/tabler-vendors.rtl.min.css.map +1 -1
  58. package/dist/css/tabler.css +4370 -5113
  59. package/dist/css/tabler.css.map +1 -1
  60. package/dist/css/tabler.min.css +2 -2
  61. package/dist/css/tabler.min.css.map +1 -1
  62. package/dist/css/tabler.rtl.css +4925 -5671
  63. package/dist/css/tabler.rtl.css.map +1 -1
  64. package/dist/css/tabler.rtl.min.css +2 -2
  65. package/dist/css/tabler.rtl.min.css.map +1 -1
  66. package/dist/img/flags/ad.svg +1 -1
  67. package/dist/img/flags/ae.svg +1 -1
  68. package/dist/img/flags/af.svg +1 -1
  69. package/dist/img/flags/afrun.svg +1 -1
  70. package/dist/img/flags/ag.svg +1 -1
  71. package/dist/img/flags/ai.svg +1 -1
  72. package/dist/img/flags/al.svg +1 -1
  73. package/dist/img/flags/am.svg +1 -1
  74. package/dist/img/flags/ao.svg +1 -1
  75. package/dist/img/flags/aq.svg +1 -1
  76. package/dist/img/flags/ar.svg +1 -1
  77. package/dist/img/flags/as.svg +1 -1
  78. package/dist/img/flags/at.svg +1 -1
  79. package/dist/img/flags/au.svg +1 -1
  80. package/dist/img/flags/aw.svg +1 -1
  81. package/dist/img/flags/ax.svg +1 -1
  82. package/dist/img/flags/az.svg +1 -1
  83. package/dist/img/flags/ba.svg +1 -1
  84. package/dist/img/flags/bb.svg +1 -1
  85. package/dist/img/flags/bd.svg +1 -1
  86. package/dist/img/flags/be.svg +1 -1
  87. package/dist/img/flags/bf.svg +1 -1
  88. package/dist/img/flags/bg.svg +1 -1
  89. package/dist/img/flags/bh.svg +1 -1
  90. package/dist/img/flags/bi.svg +1 -1
  91. package/dist/img/flags/bj.svg +1 -1
  92. package/dist/img/flags/bl.svg +1 -1
  93. package/dist/img/flags/bm.svg +1 -1
  94. package/dist/img/flags/bn.svg +1 -1
  95. package/dist/img/flags/bo.svg +1 -1
  96. package/dist/img/flags/bq-bo.svg +1 -1
  97. package/dist/img/flags/bq-sa.svg +1 -1
  98. package/dist/img/flags/bq-se.svg +1 -1
  99. package/dist/img/flags/br.svg +1 -1
  100. package/dist/img/flags/bs.svg +1 -1
  101. package/dist/img/flags/bt.svg +1 -1
  102. package/dist/img/flags/bv.svg +1 -1
  103. package/dist/img/flags/bw.svg +1 -1
  104. package/dist/img/flags/by.svg +1 -1
  105. package/dist/img/flags/bz.svg +1 -1
  106. package/dist/img/flags/ca.svg +1 -1
  107. package/dist/img/flags/cc.svg +1 -1
  108. package/dist/img/flags/cd.svg +1 -1
  109. package/dist/img/flags/cf.svg +1 -1
  110. package/dist/img/flags/cg.svg +1 -1
  111. package/dist/img/flags/ch.svg +1 -1
  112. package/dist/img/flags/ci.svg +1 -1
  113. package/dist/img/flags/ck.svg +1 -1
  114. package/dist/img/flags/cl.svg +1 -1
  115. package/dist/img/flags/cm.svg +1 -1
  116. package/dist/img/flags/cn.svg +1 -1
  117. package/dist/img/flags/co.svg +1 -1
  118. package/dist/img/flags/cr.svg +1 -1
  119. package/dist/img/flags/cu.svg +1 -1
  120. package/dist/img/flags/cv.svg +1 -1
  121. package/dist/img/flags/cw.svg +1 -1
  122. package/dist/img/flags/cx.svg +1 -1
  123. package/dist/img/flags/cy.svg +1 -1
  124. package/dist/img/flags/cz.svg +1 -1
  125. package/dist/img/flags/de.svg +1 -1
  126. package/dist/img/flags/dj.svg +1 -1
  127. package/dist/img/flags/dk.svg +1 -1
  128. package/dist/img/flags/dm.svg +1 -1
  129. package/dist/img/flags/do.svg +1 -1
  130. package/dist/img/flags/dz.svg +1 -1
  131. package/dist/img/flags/ec.svg +1 -1
  132. package/dist/img/flags/ee.svg +1 -1
  133. package/dist/img/flags/eg.svg +1 -1
  134. package/dist/img/flags/eh.svg +1 -1
  135. package/dist/img/flags/er.svg +1 -1
  136. package/dist/img/flags/es.svg +1 -1
  137. package/dist/img/flags/et.svg +1 -1
  138. package/dist/img/flags/eu.svg +1 -1
  139. package/dist/img/flags/fi.svg +1 -1
  140. package/dist/img/flags/fj.svg +1 -1
  141. package/dist/img/flags/fk.svg +1 -1
  142. package/dist/img/flags/fm.svg +1 -1
  143. package/dist/img/flags/fo.svg +1 -1
  144. package/dist/img/flags/fr.svg +1 -1
  145. package/dist/img/flags/ga.svg +1 -1
  146. package/dist/img/flags/gb-eng.svg +1 -1
  147. package/dist/img/flags/gb-nir.svg +1 -1
  148. package/dist/img/flags/gb-sct.svg +1 -1
  149. package/dist/img/flags/gb-wls.svg +1 -1
  150. package/dist/img/flags/gb.svg +1 -1
  151. package/dist/img/flags/gd.svg +1 -1
  152. package/dist/img/flags/ge.svg +1 -1
  153. package/dist/img/flags/gf.svg +1 -1
  154. package/dist/img/flags/gg.svg +1 -1
  155. package/dist/img/flags/gh.svg +1 -1
  156. package/dist/img/flags/gi.svg +1 -1
  157. package/dist/img/flags/gl.svg +1 -1
  158. package/dist/img/flags/gm.svg +1 -1
  159. package/dist/img/flags/gn.svg +1 -1
  160. package/dist/img/flags/gp.svg +1 -1
  161. package/dist/img/flags/gq.svg +1 -1
  162. package/dist/img/flags/gr.svg +1 -1
  163. package/dist/img/flags/gs.svg +1 -1
  164. package/dist/img/flags/gt.svg +1 -1
  165. package/dist/img/flags/gu.svg +1 -1
  166. package/dist/img/flags/gw.svg +1 -1
  167. package/dist/img/flags/gy.svg +1 -1
  168. package/dist/img/flags/hk.svg +1 -1
  169. package/dist/img/flags/hm.svg +1 -1
  170. package/dist/img/flags/hn.svg +1 -1
  171. package/dist/img/flags/hr.svg +1 -1
  172. package/dist/img/flags/ht.svg +1 -1
  173. package/dist/img/flags/hu.svg +1 -1
  174. package/dist/img/flags/id.svg +1 -1
  175. package/dist/img/flags/ie.svg +1 -1
  176. package/dist/img/flags/il.svg +1 -1
  177. package/dist/img/flags/im.svg +1 -1
  178. package/dist/img/flags/in.svg +1 -1
  179. package/dist/img/flags/io.svg +1 -1
  180. package/dist/img/flags/iq.svg +1 -1
  181. package/dist/img/flags/ir.svg +1 -1
  182. package/dist/img/flags/is.svg +1 -1
  183. package/dist/img/flags/it.svg +1 -1
  184. package/dist/img/flags/je.svg +1 -1
  185. package/dist/img/flags/jm.svg +1 -1
  186. package/dist/img/flags/jo.svg +1 -1
  187. package/dist/img/flags/jp.svg +1 -1
  188. package/dist/img/flags/ke.svg +1 -1
  189. package/dist/img/flags/kg.svg +1 -1
  190. package/dist/img/flags/kh.svg +1 -1
  191. package/dist/img/flags/ki.svg +1 -1
  192. package/dist/img/flags/km.svg +1 -1
  193. package/dist/img/flags/kn-sk.svg +1 -1
  194. package/dist/img/flags/kn.svg +1 -1
  195. package/dist/img/flags/kp.svg +1 -1
  196. package/dist/img/flags/kr.svg +1 -1
  197. package/dist/img/flags/kw.svg +1 -1
  198. package/dist/img/flags/ky.svg +1 -1
  199. package/dist/img/flags/kz.svg +1 -1
  200. package/dist/img/flags/la.svg +1 -1
  201. package/dist/img/flags/lb.svg +1 -1
  202. package/dist/img/flags/lc.svg +1 -1
  203. package/dist/img/flags/li.svg +1 -1
  204. package/dist/img/flags/lk.svg +1 -1
  205. package/dist/img/flags/lr.svg +1 -1
  206. package/dist/img/flags/ls.svg +1 -1
  207. package/dist/img/flags/lt.svg +1 -1
  208. package/dist/img/flags/lu.svg +1 -1
  209. package/dist/img/flags/lv.svg +1 -1
  210. package/dist/img/flags/ly.svg +1 -1
  211. package/dist/img/flags/ma.svg +1 -1
  212. package/dist/img/flags/mc.svg +1 -1
  213. package/dist/img/flags/md.svg +1 -1
  214. package/dist/img/flags/me.svg +1 -1
  215. package/dist/img/flags/mf.svg +1 -1
  216. package/dist/img/flags/mg.svg +1 -1
  217. package/dist/img/flags/mh.svg +1 -1
  218. package/dist/img/flags/mk.svg +1 -1
  219. package/dist/img/flags/ml.svg +1 -1
  220. package/dist/img/flags/mm.svg +1 -1
  221. package/dist/img/flags/mn.svg +1 -1
  222. package/dist/img/flags/mo.svg +1 -1
  223. package/dist/img/flags/mp.svg +1 -1
  224. package/dist/img/flags/mq.svg +1 -1
  225. package/dist/img/flags/mr.svg +1 -1
  226. package/dist/img/flags/ms.svg +1 -1
  227. package/dist/img/flags/mt.svg +1 -1
  228. package/dist/img/flags/mu.svg +1 -1
  229. package/dist/img/flags/mv.svg +1 -1
  230. package/dist/img/flags/mw.svg +1 -1
  231. package/dist/img/flags/mx.svg +1 -1
  232. package/dist/img/flags/my.svg +1 -1
  233. package/dist/img/flags/mz.svg +1 -1
  234. package/dist/img/flags/na.svg +1 -1
  235. package/dist/img/flags/nc.svg +1 -1
  236. package/dist/img/flags/ne.svg +1 -1
  237. package/dist/img/flags/nf.svg +1 -1
  238. package/dist/img/flags/ng.svg +1 -1
  239. package/dist/img/flags/ni.svg +1 -1
  240. package/dist/img/flags/nl.svg +1 -1
  241. package/dist/img/flags/no.svg +1 -1
  242. package/dist/img/flags/np.svg +1 -1
  243. package/dist/img/flags/nr.svg +1 -1
  244. package/dist/img/flags/nu.svg +1 -1
  245. package/dist/img/flags/nz.svg +1 -1
  246. package/dist/img/flags/om.svg +1 -1
  247. package/dist/img/flags/pa.svg +1 -1
  248. package/dist/img/flags/pe.svg +1 -1
  249. package/dist/img/flags/pf.svg +1 -1
  250. package/dist/img/flags/pg.svg +1 -1
  251. package/dist/img/flags/ph.svg +1 -1
  252. package/dist/img/flags/pk.svg +1 -1
  253. package/dist/img/flags/pl.svg +1 -1
  254. package/dist/img/flags/pm.svg +1 -1
  255. package/dist/img/flags/pn.svg +1 -1
  256. package/dist/img/flags/pr.svg +1 -1
  257. package/dist/img/flags/ps.svg +1 -1
  258. package/dist/img/flags/pt.svg +1 -1
  259. package/dist/img/flags/pw.svg +1 -1
  260. package/dist/img/flags/py.svg +1 -1
  261. package/dist/img/flags/qa.svg +1 -1
  262. package/dist/img/flags/rainbow.svg +1 -1
  263. package/dist/img/flags/re.svg +1 -1
  264. package/dist/img/flags/ro.svg +1 -1
  265. package/dist/img/flags/rs.svg +1 -1
  266. package/dist/img/flags/ru.svg +1 -1
  267. package/dist/img/flags/rw.svg +1 -1
  268. package/dist/img/flags/sa.svg +1 -1
  269. package/dist/img/flags/sb.svg +1 -1
  270. package/dist/img/flags/sc.svg +1 -1
  271. package/dist/img/flags/sd.svg +1 -1
  272. package/dist/img/flags/se.svg +1 -1
  273. package/dist/img/flags/sg.svg +1 -1
  274. package/dist/img/flags/sh.svg +1 -1
  275. package/dist/img/flags/si.svg +1 -1
  276. package/dist/img/flags/sj.svg +1 -1
  277. package/dist/img/flags/sk.svg +1 -1
  278. package/dist/img/flags/sl.svg +1 -1
  279. package/dist/img/flags/sm.svg +1 -1
  280. package/dist/img/flags/sn.svg +1 -1
  281. package/dist/img/flags/so.svg +1 -1
  282. package/dist/img/flags/sr.svg +1 -1
  283. package/dist/img/flags/ss.svg +1 -1
  284. package/dist/img/flags/st.svg +1 -1
  285. package/dist/img/flags/sv.svg +1 -1
  286. package/dist/img/flags/sx.svg +1 -1
  287. package/dist/img/flags/sy.svg +1 -1
  288. package/dist/img/flags/sz.svg +1 -1
  289. package/dist/img/flags/tc.svg +1 -1
  290. package/dist/img/flags/td.svg +1 -1
  291. package/dist/img/flags/tf.svg +1 -1
  292. package/dist/img/flags/tg.svg +1 -1
  293. package/dist/img/flags/th.svg +1 -1
  294. package/dist/img/flags/tj.svg +1 -1
  295. package/dist/img/flags/tk.svg +1 -1
  296. package/dist/img/flags/tl.svg +1 -1
  297. package/dist/img/flags/tm.svg +1 -1
  298. package/dist/img/flags/tn.svg +1 -1
  299. package/dist/img/flags/to.svg +1 -1
  300. package/dist/img/flags/tr.svg +1 -1
  301. package/dist/img/flags/tt.svg +1 -1
  302. package/dist/img/flags/tv.svg +1 -1
  303. package/dist/img/flags/tw.svg +1 -1
  304. package/dist/img/flags/tz.svg +1 -1
  305. package/dist/img/flags/ua.svg +1 -1
  306. package/dist/img/flags/ug.svg +1 -1
  307. package/dist/img/flags/um.svg +1 -1
  308. package/dist/img/flags/unasur.svg +1 -1
  309. package/dist/img/flags/us.svg +1 -1
  310. package/dist/img/flags/uy.svg +1 -1
  311. package/dist/img/flags/uz.svg +1 -1
  312. package/dist/img/flags/va.svg +1 -1
  313. package/dist/img/flags/vc.svg +1 -1
  314. package/dist/img/flags/ve.svg +1 -1
  315. package/dist/img/flags/vg.svg +1 -1
  316. package/dist/img/flags/vi.svg +1 -1
  317. package/dist/img/flags/vn.svg +1 -1
  318. package/dist/img/flags/vu.svg +1 -1
  319. package/dist/img/flags/wf.svg +1 -1
  320. package/dist/img/flags/ws.svg +1 -1
  321. package/dist/img/flags/ye.svg +1 -1
  322. package/dist/img/flags/yt.svg +1 -1
  323. package/dist/img/flags/za.svg +1 -1
  324. package/dist/img/flags/zm.svg +1 -1
  325. package/dist/img/flags/zw.svg +1 -1
  326. package/dist/img/payments/2c2p-dark.svg +1 -5
  327. package/dist/img/payments/2c2p.svg +1 -5
  328. package/dist/img/payments/2checkout-dark.svg +1 -4
  329. package/dist/img/payments/2checkout.svg +1 -4
  330. package/dist/img/payments/ach-transfer-dark.svg +1 -14
  331. package/dist/img/payments/ach-transfer.svg +1 -14
  332. package/dist/img/payments/adyen-dark.svg +1 -8
  333. package/dist/img/payments/adyen.svg +1 -8
  334. package/dist/img/payments/affirm-dark.svg +1 -9
  335. package/dist/img/payments/affirm.svg +1 -9
  336. package/dist/img/payments/afterpay-dark.svg +1 -13
  337. package/dist/img/payments/afterpay.svg +1 -13
  338. package/dist/img/payments/airtm-dark.svg +1 -4
  339. package/dist/img/payments/airtm.svg +1 -4
  340. package/dist/img/payments/airwallex-dark.svg +1 -11
  341. package/dist/img/payments/airwallex.svg +1 -11
  342. package/dist/img/payments/alipay-dark.svg +1 -12
  343. package/dist/img/payments/alipay-plus-dark.svg +1 -9
  344. package/dist/img/payments/alipay-plus.svg +1 -9
  345. package/dist/img/payments/alipay.svg +1 -12
  346. package/dist/img/payments/allegro-pay-dark.svg +1 -5
  347. package/dist/img/payments/allegro-pay.svg +1 -5
  348. package/dist/img/payments/amazon-dark.svg +1 -6
  349. package/dist/img/payments/amazon-pay-dark.svg +1 -7
  350. package/dist/img/payments/amazon-pay.svg +1 -7
  351. package/dist/img/payments/amazon.svg +1 -6
  352. package/dist/img/payments/americanexpress-dark.svg +1 -4
  353. package/dist/img/payments/americanexpress.svg +1 -4
  354. package/dist/img/payments/ant-group-dark.svg +1 -6
  355. package/dist/img/payments/ant-group.svg +1 -23
  356. package/dist/img/payments/applepay-dark.svg +1 -8
  357. package/dist/img/payments/applepay.svg +1 -8
  358. package/dist/img/payments/authorize-dark.svg +1 -17
  359. package/dist/img/payments/authorize.svg +1 -17
  360. package/dist/img/payments/autopay-dark.svg +1 -11
  361. package/dist/img/payments/autopay.svg +1 -11
  362. package/dist/img/payments/bancontact-dark.svg +1 -9
  363. package/dist/img/payments/bancontact.svg +1 -9
  364. package/dist/img/payments/bank-of-america-dark.svg +1 -10
  365. package/dist/img/payments/bank-of-america.svg +1 -10
  366. package/dist/img/payments/barclays-dark.svg +1 -11
  367. package/dist/img/payments/barclays.svg +1 -11
  368. package/dist/img/payments/bbva-dark.svg +1 -4
  369. package/dist/img/payments/bbva.svg +1 -4
  370. package/dist/img/payments/binance-dark.svg +1 -4
  371. package/dist/img/payments/binance-usd-dark.svg +1 -11
  372. package/dist/img/payments/binance-usd.svg +1 -11
  373. package/dist/img/payments/binance.svg +1 -4
  374. package/dist/img/payments/bitcoin-dark.svg +1 -13
  375. package/dist/img/payments/bitcoin.svg +1 -12
  376. package/dist/img/payments/bitpay-dark.svg +1 -4
  377. package/dist/img/payments/bitpay.svg +1 -4
  378. package/dist/img/payments/bkash-dark.svg +1 -16
  379. package/dist/img/payments/bkash.svg +1 -16
  380. package/dist/img/payments/blik-dark.svg +1 -5
  381. package/dist/img/payments/blik.svg +1 -12
  382. package/dist/img/payments/bnb-chain-dark.svg +1 -14
  383. package/dist/img/payments/bnb-chain.svg +1 -14
  384. package/dist/img/payments/bnp-paribas-dark.svg +1 -80
  385. package/dist/img/payments/bnp-paribas.svg +1 -80
  386. package/dist/img/payments/braintree-dark.svg +1 -6
  387. package/dist/img/payments/braintree.svg +1 -6
  388. package/dist/img/payments/brex-dark.svg +1 -4
  389. package/dist/img/payments/brex.svg +1 -4
  390. package/dist/img/payments/capital-one-dark.svg +1 -6
  391. package/dist/img/payments/capital-one.svg +1 -6
  392. package/dist/img/payments/cash-app-dark.svg +1 -8
  393. package/dist/img/payments/cash-app.svg +1 -8
  394. package/dist/img/payments/chase-dark.svg +1 -12
  395. package/dist/img/payments/chase.svg +1 -12
  396. package/dist/img/payments/checkout-com-dark.svg +1 -4
  397. package/dist/img/payments/checkout-com.svg +1 -4
  398. package/dist/img/payments/chime-dark.svg +1 -9
  399. package/dist/img/payments/chime.svg +1 -9
  400. package/dist/img/payments/china-construction-bank-dark.svg +1 -36
  401. package/dist/img/payments/china-construction-bank.svg +1 -36
  402. package/dist/img/payments/cirrus-dark.svg +1 -8
  403. package/dist/img/payments/cirrus.svg +1 -8
  404. package/dist/img/payments/citi-dark.svg +1 -8
  405. package/dist/img/payments/citi.svg +1 -8
  406. package/dist/img/payments/coinbase-dark.svg +1 -4
  407. package/dist/img/payments/coinbase.svg +1 -5
  408. package/dist/img/payments/coinkite-dark.svg +1 -6
  409. package/dist/img/payments/coinkite.svg +1 -6
  410. package/dist/img/payments/crypto-com-dark.svg +1 -8
  411. package/dist/img/payments/crypto-com.svg +1 -8
  412. package/dist/img/payments/deutsche-bank-dark.svg +1 -16
  413. package/dist/img/payments/deutsche-bank.svg +1 -16
  414. package/dist/img/payments/dinersclub-dark.svg +1 -7
  415. package/dist/img/payments/dinersclub.svg +1 -7
  416. package/dist/img/payments/directdebit-dark.svg +1 -4
  417. package/dist/img/payments/directdebit.svg +1 -4
  418. package/dist/img/payments/discover-dark.svg +1 -8
  419. package/dist/img/payments/discover.svg +1 -6
  420. package/dist/img/payments/dwolla-dark.svg +1 -5
  421. package/dist/img/payments/dwolla.svg +1 -5
  422. package/dist/img/payments/easypaisa-dark.svg +1 -14
  423. package/dist/img/payments/easypaisa.svg +1 -14
  424. package/dist/img/payments/ebay-dark.svg +1 -7
  425. package/dist/img/payments/ebay.svg +1 -7
  426. package/dist/img/payments/elo-dark.svg +1 -11
  427. package/dist/img/payments/elo.svg +1 -11
  428. package/dist/img/payments/epayco-dark.svg +1 -5
  429. package/dist/img/payments/epayco.svg +1 -5
  430. package/dist/img/payments/esewa-dark.svg +1 -11
  431. package/dist/img/payments/esewa.svg +1 -12
  432. package/dist/img/payments/ethereum-dark.svg +1 -13
  433. package/dist/img/payments/ethereum.svg +1 -18
  434. package/dist/img/payments/eway-dark.svg +1 -6
  435. package/dist/img/payments/eway.svg +1 -6
  436. package/dist/img/payments/fifth-third-bank-dark.svg +1 -7
  437. package/dist/img/payments/fifth-third-bank.svg +1 -7
  438. package/dist/img/payments/fiserv-dark.svg +1 -11
  439. package/dist/img/payments/fiserv.svg +1 -11
  440. package/dist/img/payments/flutterwave-dark.svg +1 -18
  441. package/dist/img/payments/flutterwave.svg +1 -18
  442. package/dist/img/payments/fonepay-dark.svg +1 -10
  443. package/dist/img/payments/fonepay.svg +1 -10
  444. package/dist/img/payments/gcash-dark.svg +1 -7
  445. package/dist/img/payments/gcash.svg +1 -7
  446. package/dist/img/payments/giropay-dark.svg +1 -13
  447. package/dist/img/payments/giropay.svg +1 -25
  448. package/dist/img/payments/goldman-sachs-dark.svg +1 -4
  449. package/dist/img/payments/goldman-sachs.svg +1 -4
  450. package/dist/img/payments/google-pay-dark.svg +1 -10
  451. package/dist/img/payments/google-pay.svg +1 -10
  452. package/dist/img/payments/googlewallet-dark.svg +1 -7
  453. package/dist/img/payments/googlewallet.svg +1 -7
  454. package/dist/img/payments/grabpay-dark.svg +1 -4
  455. package/dist/img/payments/grabpay.svg +1 -4
  456. package/dist/img/payments/hsbc-dark.svg +1 -12
  457. package/dist/img/payments/hsbc.svg +1 -12
  458. package/dist/img/payments/hubspot-dark.svg +1 -5
  459. package/dist/img/payments/hubspot.svg +1 -5
  460. package/dist/img/payments/huntington-bank-dark.svg +1 -5
  461. package/dist/img/payments/huntington-bank.svg +1 -5
  462. package/dist/img/payments/icbc-dark.svg +1 -8
  463. package/dist/img/payments/icbc.svg +1 -8
  464. package/dist/img/payments/ideal-dark.svg +1 -8
  465. package/dist/img/payments/ideal.svg +1 -7
  466. package/dist/img/payments/imepay-dark.svg +1 -11
  467. package/dist/img/payments/imepay.svg +1 -11
  468. package/dist/img/payments/imoje-dark.svg +1 -7
  469. package/dist/img/payments/imoje.svg +1 -8
  470. package/dist/img/payments/ing-dark.svg +1 -145
  471. package/dist/img/payments/ing.svg +1 -145
  472. package/dist/img/payments/ingenico-dark.svg +1 -4
  473. package/dist/img/payments/ingenico.svg +1 -4
  474. package/dist/img/payments/interac-dark.svg +1 -16
  475. package/dist/img/payments/interac.svg +1 -16
  476. package/dist/img/payments/jazzcash-dark.svg +1 -13
  477. package/dist/img/payments/jazzcash.svg +1 -13
  478. package/dist/img/payments/jcb-dark.svg +1 -8
  479. package/dist/img/payments/jcb.svg +1 -41
  480. package/dist/img/payments/khalti-dark.svg +1 -14
  481. package/dist/img/payments/khalti.svg +1 -14
  482. package/dist/img/payments/klarna-dark.svg +1 -11
  483. package/dist/img/payments/klarna.svg +1 -11
  484. package/dist/img/payments/kraken-dark.svg +1 -5
  485. package/dist/img/payments/kraken.svg +1 -5
  486. package/dist/img/payments/linepay-dark.svg +1 -10
  487. package/dist/img/payments/linepay.svg +1 -11
  488. package/dist/img/payments/litecoin-dark.svg +1 -14
  489. package/dist/img/payments/litecoin.svg +1 -14
  490. package/dist/img/payments/mada-dark.svg +1 -11
  491. package/dist/img/payments/mada.svg +1 -11
  492. package/dist/img/payments/maestro-dark.svg +1 -6
  493. package/dist/img/payments/maestro.svg +1 -6
  494. package/dist/img/payments/mastercard-dark.svg +1 -6
  495. package/dist/img/payments/mastercard.svg +1 -6
  496. package/dist/img/payments/mercado-pago-dark.svg +1 -9
  497. package/dist/img/payments/mercado-pago.svg +1 -9
  498. package/dist/img/payments/mercury-dark.svg +1 -4
  499. package/dist/img/payments/mercury.svg +1 -4
  500. package/dist/img/payments/meta-pay-dark.svg +1 -6
  501. package/dist/img/payments/meta-pay.svg +1 -16
  502. package/dist/img/payments/metamask-dark.svg +1 -40
  503. package/dist/img/payments/metamask.svg +1 -40
  504. package/dist/img/payments/mir-dark.svg +1 -4
  505. package/dist/img/payments/mir.svg +1 -11
  506. package/dist/img/payments/mitsubishi-ufj-dark.svg +1 -5
  507. package/dist/img/payments/mitsubishi-ufj.svg +1 -5
  508. package/dist/img/payments/mobilepay-dark.svg +1 -6
  509. package/dist/img/payments/mobilepay.svg +1 -6
  510. package/dist/img/payments/mollie-dark.svg +1 -4
  511. package/dist/img/payments/mollie.svg +1 -4
  512. package/dist/img/payments/monero-dark.svg +1 -5
  513. package/dist/img/payments/monero.svg +1 -5
  514. package/dist/img/payments/moneygram-dark.svg +1 -12
  515. package/dist/img/payments/moneygram.svg +1 -12
  516. package/dist/img/payments/mpesa-dark.svg +1 -5
  517. package/dist/img/payments/mpesa.svg +1 -5
  518. package/dist/img/payments/ncr-dark.svg +1 -9
  519. package/dist/img/payments/ncr.svg +1 -9
  520. package/dist/img/payments/neteller-dark.svg +1 -4
  521. package/dist/img/payments/neteller.svg +1 -4
  522. package/dist/img/payments/northone-dark.svg +1 -5
  523. package/dist/img/payments/northone.svg +1 -5
  524. package/dist/img/payments/nu-dark.svg +1 -5
  525. package/dist/img/payments/nu.svg +1 -5
  526. package/dist/img/payments/nuvei-dark.svg +1 -9
  527. package/dist/img/payments/nuvei.svg +1 -9
  528. package/dist/img/payments/opensea-dark.svg +1 -11
  529. package/dist/img/payments/opensea.svg +1 -11
  530. package/dist/img/payments/oxxo-dark.svg +1 -8
  531. package/dist/img/payments/oxxo.svg +1 -8
  532. package/dist/img/payments/paybox-dark.svg +1 -4
  533. package/dist/img/payments/paybox.svg +1 -4
  534. package/dist/img/payments/payconiq-dark.svg +1 -4
  535. package/dist/img/payments/payconiq.svg +1 -4
  536. package/dist/img/payments/payka-dark.svg +1 -18
  537. package/dist/img/payments/payka.svg +1 -12
  538. package/dist/img/payments/payline-dark.svg +1 -12
  539. package/dist/img/payments/payline.svg +1 -12
  540. package/dist/img/payments/paynow-dark.svg +1 -15
  541. package/dist/img/payments/paynow.svg +1 -15
  542. package/dist/img/payments/payone-dark.svg +1 -7
  543. package/dist/img/payments/payone.svg +1 -7
  544. package/dist/img/payments/payoneer-dark.svg +1 -4
  545. package/dist/img/payments/payoneer.svg +1 -4
  546. package/dist/img/payments/paypal-dark.svg +1 -8
  547. package/dist/img/payments/paypal.svg +1 -8
  548. package/dist/img/payments/paypay-dark.svg +1 -6
  549. package/dist/img/payments/paypay.svg +1 -6
  550. package/dist/img/payments/paypo-dark.svg +1 -11
  551. package/dist/img/payments/paypo.svg +1 -11
  552. package/dist/img/payments/paysafe-dark.svg +1 -6
  553. package/dist/img/payments/paysafe.svg +1 -6
  554. package/dist/img/payments/paysafecard-dark.svg +1 -4
  555. package/dist/img/payments/paysafecard.svg +1 -4
  556. package/dist/img/payments/paystack-dark.svg +1 -5
  557. package/dist/img/payments/paystack.svg +1 -5
  558. package/dist/img/payments/paytm-dark.svg +1 -8
  559. package/dist/img/payments/paytm.svg +1 -8
  560. package/dist/img/payments/payu-dark.svg +1 -4
  561. package/dist/img/payments/payu.svg +1 -4
  562. package/dist/img/payments/phonepe-dark.svg +1 -6
  563. package/dist/img/payments/phonepe.svg +1 -6
  564. package/dist/img/payments/pix-dark.svg +1 -6
  565. package/dist/img/payments/pix.svg +1 -6
  566. package/dist/img/payments/pnc-bank-dark.svg +1 -8
  567. package/dist/img/payments/pnc-bank.svg +1 -8
  568. package/dist/img/payments/poli-dark.svg +1 -8
  569. package/dist/img/payments/poli.svg +1 -8
  570. package/dist/img/payments/przelewy24-dark.svg +1 -18
  571. package/dist/img/payments/przelewy24.svg +1 -8
  572. package/dist/img/payments/rapyd-dark.svg +1 -8
  573. package/dist/img/payments/rapyd.svg +1 -8
  574. package/dist/img/payments/razorpay-dark.svg +1 -5
  575. package/dist/img/payments/razorpay.svg +1 -5
  576. package/dist/img/payments/revolut-pay-dark.svg +1 -8
  577. package/dist/img/payments/revolut-pay.svg +1 -8
  578. package/dist/img/payments/ripple-dark.svg +1 -5
  579. package/dist/img/payments/ripple.svg +1 -5
  580. package/dist/img/payments/rupay-dark.svg +1 -10
  581. package/dist/img/payments/rupay.svg +1 -10
  582. package/dist/img/payments/samsung-pay-dark.svg +1 -13
  583. package/dist/img/payments/samsung-pay.svg +1 -13
  584. package/dist/img/payments/santander-dark.svg +1 -4
  585. package/dist/img/payments/santander.svg +1 -4
  586. package/dist/img/payments/sepa-dark.svg +1 -5
  587. package/dist/img/payments/sepa.svg +1 -5
  588. package/dist/img/payments/shop-pay-dark.svg +1 -4
  589. package/dist/img/payments/shop-pay.svg +1 -4
  590. package/dist/img/payments/shopify-dark.svg +1 -6
  591. package/dist/img/payments/shopify.svg +1 -7
  592. package/dist/img/payments/skrill-dark.svg +1 -10
  593. package/dist/img/payments/skrill.svg +1 -10
  594. package/dist/img/payments/skycash-dark.svg +1 -10
  595. package/dist/img/payments/skycash.svg +1 -10
  596. package/dist/img/payments/sofort-dark.svg +1 -6
  597. package/dist/img/payments/sofort.svg +1 -6
  598. package/dist/img/payments/solana-dark.svg +1 -20
  599. package/dist/img/payments/solana.svg +1 -20
  600. package/dist/img/payments/spingo-dark.svg +1 -11
  601. package/dist/img/payments/spingo.svg +1 -11
  602. package/dist/img/payments/square-dark.svg +1 -4
  603. package/dist/img/payments/square.svg +1 -4
  604. package/dist/img/payments/stax-dark.svg +1 -5
  605. package/dist/img/payments/stax.svg +1 -5
  606. package/dist/img/payments/stcpay-dark.svg +1 -7
  607. package/dist/img/payments/stcpay.svg +1 -7
  608. package/dist/img/payments/stripe-dark.svg +1 -4
  609. package/dist/img/payments/stripe.svg +1 -4
  610. package/dist/img/payments/sumitomo-mitsui-dark.svg +1 -5
  611. package/dist/img/payments/sumitomo-mitsui.svg +1 -5
  612. package/dist/img/payments/swift-dark.svg +1 -4
  613. package/dist/img/payments/swift.svg +1 -4
  614. package/dist/img/payments/swish-dark.svg +1 -32
  615. package/dist/img/payments/swish.svg +1 -32
  616. package/dist/img/payments/synchrony-dark.svg +1 -5
  617. package/dist/img/payments/synchrony.svg +1 -5
  618. package/dist/img/payments/tether-dark.svg +1 -11
  619. package/dist/img/payments/tether.svg +1 -11
  620. package/dist/img/payments/tpay-dark.svg +1 -10
  621. package/dist/img/payments/tpay.svg +1 -4
  622. package/dist/img/payments/troy-dark.svg +1 -7
  623. package/dist/img/payments/troy.svg +1 -7
  624. package/dist/img/payments/true-usd-dark.svg +1 -5
  625. package/dist/img/payments/true-usd.svg +1 -7
  626. package/dist/img/payments/trustly-dark.svg +1 -11
  627. package/dist/img/payments/trustly.svg +1 -11
  628. package/dist/img/payments/twint-dark.svg +1 -29
  629. package/dist/img/payments/twint.svg +1 -29
  630. package/dist/img/payments/ubs-dark.svg +1 -5
  631. package/dist/img/payments/ubs.svg +1 -5
  632. package/dist/img/payments/unionpay-dark.svg +1 -6
  633. package/dist/img/payments/unionpay.svg +1 -7
  634. package/dist/img/payments/upi-dark.svg +1 -8
  635. package/dist/img/payments/upi.svg +1 -8
  636. package/dist/img/payments/us-bank-dark.svg +1 -13
  637. package/dist/img/payments/us-bank.svg +1 -13
  638. package/dist/img/payments/usdc-dark.svg +1 -4
  639. package/dist/img/payments/usdc.svg +1 -4
  640. package/dist/img/payments/venmo-dark.svg +1 -4
  641. package/dist/img/payments/venmo.svg +1 -4
  642. package/dist/img/payments/verifone-dark.svg +1 -5
  643. package/dist/img/payments/verifone.svg +1 -5
  644. package/dist/img/payments/vipps-dark.svg +1 -8
  645. package/dist/img/payments/vipps.svg +1 -8
  646. package/dist/img/payments/visa-dark.svg +1 -4
  647. package/dist/img/payments/visa.svg +1 -4
  648. package/dist/img/payments/we-chat-pay-dark.svg +1 -4
  649. package/dist/img/payments/we-chat-pay.svg +1 -4
  650. package/dist/img/payments/webmoney-dark.svg +1 -5
  651. package/dist/img/payments/webmoney.svg +1 -5
  652. package/dist/img/payments/wells-fargo-dark.svg +1 -4
  653. package/dist/img/payments/wells-fargo.svg +1 -4
  654. package/dist/img/payments/westernunion-dark.svg +1 -18
  655. package/dist/img/payments/westernunion.svg +1 -18
  656. package/dist/img/payments/wire-transfer-dark.svg +1 -32
  657. package/dist/img/payments/wire-transfer.svg +1 -32
  658. package/dist/img/payments/wise-dark.svg +1 -4
  659. package/dist/img/payments/wise.svg +1 -4
  660. package/dist/img/payments/worldpay-dark.svg +1 -4
  661. package/dist/img/payments/worldpay.svg +1 -5
  662. package/dist/img/payments/zelle-dark.svg +1 -9
  663. package/dist/img/payments/zelle.svg +1 -8
  664. package/dist/img/social/apple-gray.svg +1 -3
  665. package/dist/img/social/apple.svg +1 -3
  666. package/dist/img/social/discord-gray.svg +1 -3
  667. package/dist/img/social/discord.svg +1 -3
  668. package/dist/img/social/dribbble-gray.svg +1 -3
  669. package/dist/img/social/dribbble.svg +1 -4
  670. package/dist/img/social/facebook-gray.svg +1 -3
  671. package/dist/img/social/facebook.svg +1 -4
  672. package/dist/img/social/figma-gray.svg +1 -3
  673. package/dist/img/social/figma.svg +1 -7
  674. package/dist/img/social/github-gray.svg +1 -10
  675. package/dist/img/social/github.svg +1 -10
  676. package/dist/img/social/google-gray.svg +1 -3
  677. package/dist/img/social/google.svg +1 -6
  678. package/dist/img/social/instagram-gray.svg +1 -5
  679. package/dist/img/social/instagram.svg +1 -18
  680. package/dist/img/social/linkedin-gray.svg +1 -3
  681. package/dist/img/social/linkedin.svg +1 -3
  682. package/dist/img/social/medium-gray.svg +1 -5
  683. package/dist/img/social/medium.svg +1 -5
  684. package/dist/img/social/meta-gray.svg +1 -5
  685. package/dist/img/social/meta.svg +1 -17
  686. package/dist/img/social/metamask-gray.svg +1 -12
  687. package/dist/img/social/metamask.svg +1 -14
  688. package/dist/img/social/pinterest-gray.svg +1 -3
  689. package/dist/img/social/pinterest.svg +1 -4
  690. package/dist/img/social/reddit-gray.svg +1 -6
  691. package/dist/img/social/reddit.svg +1 -11
  692. package/dist/img/social/signal-gray.svg +1 -10
  693. package/dist/img/social/signal.svg +1 -10
  694. package/dist/img/social/skype-gray.svg +1 -3
  695. package/dist/img/social/skype.svg +1 -3
  696. package/dist/img/social/snapchat-gray.svg +1 -10
  697. package/dist/img/social/snapchat.svg +1 -11
  698. package/dist/img/social/spotify-gray.svg +1 -3
  699. package/dist/img/social/spotify.svg +1 -3
  700. package/dist/img/social/telegram-gray.svg +1 -3
  701. package/dist/img/social/telegram.svg +1 -10
  702. package/dist/img/social/tiktok-gray.svg +1 -3
  703. package/dist/img/social/tiktok.svg +1 -5
  704. package/dist/img/social/tumblr-gray.svg +1 -3
  705. package/dist/img/social/tumblr.svg +1 -3
  706. package/dist/img/social/twitch-gray.svg +1 -5
  707. package/dist/img/social/twitch.svg +1 -6
  708. package/dist/img/social/vk-gray.svg +1 -3
  709. package/dist/img/social/vk.svg +1 -4
  710. package/dist/img/social/x-gray.svg +1 -3
  711. package/dist/img/social/x.svg +1 -3
  712. package/dist/img/social/youtube-gray.svg +1 -3
  713. package/dist/img/social/youtube.svg +1 -11
  714. package/dist/js/tabler-theme.esm.js +26 -9
  715. package/dist/js/tabler-theme.esm.js.map +1 -1
  716. package/dist/js/tabler-theme.esm.min.js +2 -2
  717. package/dist/js/tabler-theme.esm.min.js.map +1 -1
  718. package/dist/js/tabler-theme.js +26 -9
  719. package/dist/js/tabler-theme.js.map +1 -1
  720. package/dist/js/tabler-theme.min.js +2 -2
  721. package/dist/js/tabler-theme.min.js.map +1 -1
  722. package/dist/js/tabler.esm.js +6683 -4069
  723. package/dist/js/tabler.esm.js.map +1 -1
  724. package/dist/js/tabler.esm.min.js +2 -2
  725. package/dist/js/tabler.esm.min.js.map +1 -1
  726. package/dist/js/tabler.js +6694 -4069
  727. package/dist/js/tabler.js.map +1 -1
  728. package/dist/js/tabler.min.js +2 -2
  729. package/dist/js/tabler.min.js.map +1 -1
  730. package/dist/libs/vanilla-calendar-pro/LICENSE +21 -0
  731. package/dist/libs/vanilla-calendar-pro/index.js +2 -0
  732. package/dist/types/src/autosize.d.ts +32 -1
  733. package/dist/types/src/bootstrap/alert.d.ts +2 -0
  734. package/dist/types/src/bootstrap/button.d.ts +3 -0
  735. package/dist/types/src/bootstrap/carousel.d.ts +16 -3
  736. package/dist/types/src/bootstrap/collapse.d.ts +13 -3
  737. package/dist/types/src/bootstrap/dom/event-handler.d.ts +7 -4
  738. package/dist/types/src/bootstrap/dropdown.d.ts +30 -7
  739. package/dist/types/src/bootstrap/modal.d.ts +12 -8
  740. package/dist/types/src/bootstrap/offcanvas.d.ts +12 -8
  741. package/dist/types/src/bootstrap/popover.d.ts +13 -9
  742. package/dist/types/src/bootstrap/scrollspy.d.ts +17 -3
  743. package/dist/types/src/bootstrap/tab.d.ts +2 -0
  744. package/dist/types/src/bootstrap/toast.d.ts +12 -3
  745. package/dist/types/src/bootstrap/tooltip.d.ts +57 -19
  746. package/dist/types/src/bootstrap/types.d.ts +25 -1
  747. package/dist/types/src/bootstrap/util/backdrop.d.ts +2 -2
  748. package/dist/types/src/bootstrap/util/component-functions.d.ts +22 -2
  749. package/dist/types/src/bootstrap/util/focustrap.d.ts +2 -2
  750. package/dist/types/src/bootstrap/util/index.d.ts +5 -1
  751. package/dist/types/src/bootstrap/util/swipe.d.ts +2 -2
  752. package/dist/types/src/bootstrap/util/template-factory.d.ts +2 -2
  753. package/dist/types/src/clipboard.d.ts +48 -0
  754. package/dist/types/src/confetti.d.ts +60 -0
  755. package/dist/types/src/countup.d.ts +66 -1
  756. package/dist/types/src/datepicker.d.ts +120 -0
  757. package/dist/types/src/deprecated.d.ts +11 -0
  758. package/dist/types/src/input-mask.d.ts +43 -1
  759. package/dist/types/src/otp-input.d.ts +75 -0
  760. package/dist/types/src/sortable.d.ts +41 -1
  761. package/dist/types/src/sparkline.d.ts +67 -0
  762. package/dist/types/src/strength.d.ts +53 -0
  763. package/dist/types/src/switch-icon.d.ts +32 -1
  764. package/dist/types/src/theme-config.d.ts +3 -1
  765. package/dist/types/tabler.d.ts +18 -1
  766. package/js/src/autosize.ts +141 -7
  767. package/js/src/bootstrap/alert.ts +20 -0
  768. package/js/src/bootstrap/base-component.ts +13 -3
  769. package/js/src/bootstrap/button.ts +16 -0
  770. package/js/src/bootstrap/carousel.ts +42 -7
  771. package/js/src/bootstrap/collapse.ts +38 -6
  772. package/js/src/bootstrap/dom/event-handler.ts +50 -16
  773. package/js/src/bootstrap/dom/manipulator.ts +1 -1
  774. package/js/src/bootstrap/dropdown.ts +64 -23
  775. package/js/src/bootstrap/modal.ts +39 -14
  776. package/js/src/bootstrap/offcanvas.ts +36 -11
  777. package/js/src/bootstrap/popover.ts +35 -9
  778. package/js/src/bootstrap/scrollspy.ts +38 -7
  779. package/js/src/bootstrap/tab.ts +20 -1
  780. package/js/src/bootstrap/toast.ts +31 -5
  781. package/js/src/bootstrap/tooltip.ts +109 -53
  782. package/js/src/bootstrap/types.ts +30 -1
  783. package/js/src/bootstrap/util/backdrop.ts +1 -1
  784. package/js/src/bootstrap/util/component-functions.ts +74 -5
  785. package/js/src/bootstrap/util/focustrap.ts +2 -2
  786. package/js/src/bootstrap/util/index.ts +59 -2
  787. package/js/src/bootstrap/util/swipe.ts +3 -3
  788. package/js/src/bootstrap/util/template-factory.ts +2 -2
  789. package/js/src/clipboard.ts +221 -0
  790. package/js/src/confetti.ts +474 -0
  791. package/js/src/countup.ts +353 -29
  792. package/js/src/datepicker.ts +791 -0
  793. package/js/src/deprecated.ts +28 -0
  794. package/js/src/dropdown.ts +12 -5
  795. package/js/src/global.d.ts +14 -13
  796. package/js/src/input-mask.ts +128 -8
  797. package/js/src/otp-input.ts +519 -0
  798. package/js/src/popover.ts +13 -7
  799. package/js/src/sidebar.ts +14 -6
  800. package/js/src/sortable.ts +120 -15
  801. package/js/src/sparkline.ts +618 -0
  802. package/js/src/strength.ts +290 -0
  803. package/js/src/switch-icon.ts +180 -9
  804. package/js/src/tab.ts +17 -7
  805. package/js/src/theme-config.ts +3 -1
  806. package/js/src/toast.ts +19 -11
  807. package/js/src/tooltip.ts +16 -7
  808. package/js/tabler-theme.ts +30 -8
  809. package/js/tabler.ts +21 -2
  810. package/libs.json +45 -109
  811. package/package.json +40 -29
  812. package/scss/_config.scss +1 -0
  813. package/scss/_core.scss +6 -0
  814. package/scss/_deprecated-props.scss +40 -0
  815. package/scss/_deprecated.scss +153 -0
  816. package/scss/_extends.scss +6 -1
  817. package/scss/_maps.scss +10 -11
  818. package/scss/_mixins.scss +1 -0
  819. package/scss/_props.scss +40 -6
  820. package/scss/_settings.scss +3 -1
  821. package/scss/_utilities-marketing.scss +1 -2
  822. package/scss/_utilities.scss +62 -24
  823. package/scss/_variables-dark.scss +31 -42
  824. package/scss/_variables-deprecated.scss +60 -0
  825. package/scss/_variables.scss +252 -189
  826. package/scss/bootstrap/_buttons.scss +6 -33
  827. package/scss/bootstrap/_carousel.scss +6 -7
  828. package/scss/bootstrap/_list-group.scss +28 -14
  829. package/scss/bootstrap/_nav.scss +2 -2
  830. package/scss/bootstrap/_navbar.scss +6 -7
  831. package/scss/bootstrap/_offcanvas.scss +2 -0
  832. package/scss/bootstrap/_pagination.scss +7 -3
  833. package/scss/bootstrap/_reboot.scss +3 -3
  834. package/scss/bootstrap/_root.scss +10 -33
  835. package/scss/bootstrap/_tables.scss +7 -2
  836. package/scss/bootstrap/forms/_floating-labels.scss +1 -1
  837. package/scss/bootstrap/forms/_form-check.scss +54 -42
  838. package/scss/bootstrap/forms/_form-control.scss +4 -8
  839. package/scss/bootstrap/forms/_form-range.scss +4 -2
  840. package/scss/bootstrap/forms/_form-select.scss +4 -7
  841. package/scss/helpers/_index.scss +11 -4
  842. package/scss/layout/_accessibility.scss +2 -1
  843. package/scss/layout/_core.scss +0 -8
  844. package/scss/layout/_navbar.scss +130 -46
  845. package/scss/layout/_page.scss +15 -2
  846. package/scss/layout/_root.scss +4 -3
  847. package/scss/marketing/_hero.scss +0 -11
  848. package/scss/mixins/_deprecated.scss +110 -0
  849. package/scss/mixins/_functions.scss +67 -113
  850. package/scss/mixins/_mixins.scss +41 -8
  851. package/scss/mixins/bootstrap/_caret.scss +7 -6
  852. package/scss/mixins/bootstrap/_color-mode.scss +6 -0
  853. package/scss/mixins/bootstrap/_forms.scss +10 -11
  854. package/scss/mixins/bootstrap/_gradients.scss +1 -1
  855. package/scss/mixins/bootstrap/_table-variants.scss +4 -5
  856. package/scss/tabler-props.scss +5 -0
  857. package/scss/tabler-themes.scss +67 -66
  858. package/scss/tabler-vendors.scss +3 -1
  859. package/scss/tabler.scss +2 -0
  860. package/scss/ui/_accordion.scss +24 -31
  861. package/scss/ui/_alerts.scss +29 -8
  862. package/scss/ui/_avatars.scss +3 -1
  863. package/scss/ui/_badges.scss +2 -0
  864. package/scss/ui/_breadcrumbs.scss +2 -0
  865. package/scss/ui/_buttons.scss +83 -58
  866. package/scss/ui/_calendars.scss +4 -5
  867. package/scss/ui/_cards.scss +46 -29
  868. package/scss/ui/_carousel.scss +1 -1
  869. package/scss/ui/_chat.scss +2 -0
  870. package/scss/ui/_close.scss +5 -2
  871. package/scss/ui/_datagrid.scss +2 -0
  872. package/scss/ui/_datepicker.scss +425 -0
  873. package/scss/ui/_dropdowns.scss +5 -1
  874. package/scss/ui/_empty.scss +2 -0
  875. package/scss/ui/_forms.scss +33 -47
  876. package/scss/ui/_icons.scss +2 -0
  877. package/scss/ui/_legend.scss +145 -2
  878. package/scss/ui/_lists.scss +3 -3
  879. package/scss/ui/_markdown.scss +1 -0
  880. package/scss/ui/_modals.scss +20 -1
  881. package/scss/ui/_nav.scss +3 -3
  882. package/scss/ui/_offcanvas.scss +47 -0
  883. package/scss/ui/_patterns.scss +39 -18
  884. package/scss/ui/_progress.scss +5 -2
  885. package/scss/ui/_ribbons.scss +6 -2
  886. package/scss/ui/_segmented.scss +1 -1
  887. package/scss/ui/_signal.scss +57 -0
  888. package/scss/ui/_sortable.scss +73 -0
  889. package/scss/ui/_sparkline.scss +73 -0
  890. package/scss/ui/_stars.scss +2 -0
  891. package/scss/ui/_status.scss +2 -2
  892. package/scss/ui/_steps.scss +2 -0
  893. package/scss/ui/_switch-icon.scss +67 -11
  894. package/scss/ui/_tables.scss +3 -3
  895. package/scss/ui/_tags.scss +2 -0
  896. package/scss/ui/_timeline.scss +2 -0
  897. package/scss/ui/_tracking.scss +2 -0
  898. package/scss/ui/_type.scss +12 -4
  899. package/scss/ui/forms/_form-check.scss +10 -2
  900. package/scss/ui/forms/_form-colorinput.scss +4 -3
  901. package/scss/ui/forms/_form-custom.scss +0 -13
  902. package/scss/ui/forms/_form-imagecheck.scss +4 -3
  903. package/scss/ui/forms/_form-otp.scss +171 -0
  904. package/scss/ui/forms/_form-selectgroup.scss +7 -7
  905. package/scss/ui/forms/_strength.scss +63 -0
  906. package/scss/ui/forms/_validation.scss +5 -0
  907. package/scss/utils/_background.scss +2 -2
  908. package/scss/utils/_colors.scss +17 -14
  909. package/scss/vendor/_apexcharts.scss +10 -1
  910. package/scss/vendor/_coloris.scss +10 -3
  911. package/scss/vendor/_fslightbox.scss +2 -2
  912. package/scss/vendor/_jsvectormap.scss +1 -1
  913. package/scss/vendor/_nouislider.scss +2 -1
  914. package/scss/vendor/_tom-select.scss +84 -7
  915. package/dist/types/src/tabler.d.ts +0 -3
  916. package/js/src/tabler.ts +0 -17
  917. package/js/tests/helpers/fixture.ts +0 -33
  918. package/js/tests/unit/alert.spec.ts +0 -176
  919. package/js/tests/unit/base-component.spec.ts +0 -166
  920. package/js/tests/unit/button.spec.ts +0 -167
  921. package/js/tests/unit/carousel.spec.ts +0 -546
  922. package/js/tests/unit/collapse.spec.ts +0 -791
  923. package/js/tests/unit/dom/data.spec.ts +0 -180
  924. package/js/tests/unit/dom/event-handler.spec.ts +0 -460
  925. package/js/tests/unit/dom/manipulator.spec.ts +0 -201
  926. package/js/tests/unit/dom/selector-engine.spec.ts +0 -300
  927. package/js/tests/unit/dropdown.spec.ts +0 -1095
  928. package/js/tests/unit/modal.spec.ts +0 -629
  929. package/js/tests/unit/offcanvas.spec.ts +0 -434
  930. package/js/tests/unit/popover.spec.ts +0 -253
  931. package/js/tests/unit/scrollspy.spec.ts +0 -634
  932. package/js/tests/unit/sidebar.spec.ts +0 -118
  933. package/js/tests/unit/tab.spec.ts +0 -775
  934. package/js/tests/unit/tabler-theme.spec.ts +0 -100
  935. package/js/tests/unit/toast.spec.ts +0 -514
  936. package/js/tests/unit/tooltip.spec.ts +0 -679
  937. package/js/tests/unit/util/backdrop.spec.ts +0 -213
  938. package/js/tests/unit/util/component-functions.spec.ts +0 -88
  939. package/js/tests/unit/util/config.spec.ts +0 -150
  940. package/js/tests/unit/util/focustrap.spec.ts +0 -232
  941. package/js/tests/unit/util/index.spec.ts +0 -478
  942. package/js/tests/unit/util/sanitizer.spec.ts +0 -118
  943. package/js/tests/unit/util/scrollbar.spec.ts +0 -202
  944. package/js/tests/unit/util/swipe.spec.ts +0 -319
  945. package/js/tests/unit/util/template-factory.spec.ts +0 -233
  946. package/scss/tests/_add-subtract.test.scss +0 -48
  947. package/scss/tests/_border-radius.test.scss +0 -23
  948. package/scss/tests/_box-shadow.test.scss +0 -71
  949. package/scss/tests/_breakpoints.test.scss +0 -50
  950. package/scss/tests/_cards.test.scss +0 -31
  951. package/scss/tests/_caret.test.scss +0 -115
  952. package/scss/tests/_color-contrast.test.scss +0 -24
  953. package/scss/tests/_color-mode.test.scss +0 -28
  954. package/scss/tests/_color.test.scss +0 -44
  955. package/scss/tests/_colors-misc.test.scss +0 -80
  956. package/scss/tests/_css-var.test.scss +0 -37
  957. package/scss/tests/_divide.test.scss +0 -45
  958. package/scss/tests/_escape-svg.test.scss +0 -18
  959. package/scss/tests/_generate-utility.test.scss +0 -245
  960. package/scss/tests/_grid.test.scss +0 -153
  961. package/scss/tests/_maps.test.scss +0 -76
  962. package/scss/tests/_media-breakpoint.test.scss +0 -202
  963. package/scss/tests/_mixins-bootstrap.test.scss +0 -55
  964. package/scss/tests/_mixins.test.scss +0 -208
  965. package/scss/tests/_rfs.test.scss +0 -30
  966. package/scss/tests/_str-replace.test.scss +0 -34
  967. package/scss/tests/_transition.test.scss +0 -43
@@ -1,679 +0,0 @@
1
- import { describe, it, expect, beforeAll, afterEach, vi } from 'vitest'
2
- import Tooltip from '../../src/bootstrap/tooltip'
3
- import { clearFixture, getFixture } from '../helpers/fixture'
4
-
5
- vi.mock('@popperjs/core', () => ({
6
- createPopper: vi.fn(() => ({
7
- destroy: vi.fn(),
8
- update: vi.fn(),
9
- setOptions: vi.fn(),
10
- })),
11
- }))
12
-
13
- describe('Tooltip', () => {
14
- let fixtureEl: HTMLElement
15
-
16
- beforeAll(() => {
17
- fixtureEl = getFixture()
18
- })
19
-
20
- afterEach(() => {
21
- clearFixture()
22
- vi.restoreAllMocks()
23
- for (const el of document.querySelectorAll('.tooltip')) {
24
- el.remove()
25
- }
26
- })
27
-
28
- describe('VERSION', () => {
29
- it('should return plugin version', () => {
30
- expect(typeof Tooltip.VERSION).toBe('string')
31
- })
32
- })
33
-
34
- describe('Default', () => {
35
- it('should return plugin default config', () => {
36
- expect(Tooltip.Default).toBeDefined()
37
- expect(Tooltip.Default.animation).toBe(true)
38
- expect(Tooltip.Default.trigger).toBe('hover focus')
39
- })
40
- })
41
-
42
- describe('DefaultType', () => {
43
- it('should return plugin default type config', () => {
44
- expect(Tooltip.DefaultType).toBeDefined()
45
- expect(Tooltip.DefaultType.animation).toBe('boolean')
46
- })
47
- })
48
-
49
- describe('NAME', () => {
50
- it('should return plugin name', () => {
51
- expect(Tooltip.NAME).toBe('tooltip')
52
- })
53
- })
54
-
55
- describe('constructor', () => {
56
- it('should create tooltip instance', () => {
57
- fixtureEl.innerHTML = '<a href="#" title="Tooltip title">Trigger</a>'
58
- const el = fixtureEl.querySelector('a')!
59
- const tooltip = new Tooltip(el)
60
-
61
- expect(tooltip).toBeInstanceOf(Tooltip)
62
- expect(Tooltip.getInstance(el)).toBe(tooltip)
63
- })
64
-
65
- it('should fix title on construction', () => {
66
- fixtureEl.innerHTML = '<a href="#" title="Tooltip title">Trigger</a>'
67
- const el = fixtureEl.querySelector('a')!
68
- new Tooltip(el)
69
-
70
- expect(el.getAttribute('title')).toBeNull()
71
- expect(el.getAttribute('data-bs-original-title')).toBe('Tooltip title')
72
- })
73
-
74
- it('should set aria-label when element has title but no text', () => {
75
- fixtureEl.innerHTML = '<a href="#" title="Tooltip title"></a>'
76
- const el = fixtureEl.querySelector('a')!
77
- new Tooltip(el)
78
-
79
- expect(el.getAttribute('aria-label')).toBe('Tooltip title')
80
- })
81
-
82
- it('should not set aria-label when element has text content', () => {
83
- fixtureEl.innerHTML = '<a href="#" title="Tooltip title">Link text</a>'
84
- const el = fixtureEl.querySelector('a')!
85
- new Tooltip(el)
86
-
87
- expect(el.getAttribute('aria-label')).toBeNull()
88
- })
89
-
90
- it('should not set aria-label when element already has aria-label', () => {
91
- fixtureEl.innerHTML = '<a href="#" title="Tooltip title" aria-label="Existing label"></a>'
92
- const el = fixtureEl.querySelector('a')!
93
- new Tooltip(el)
94
-
95
- expect(el.getAttribute('aria-label')).toBe('Existing label')
96
- })
97
- })
98
-
99
- describe('enable', () => {
100
- it('should enable tooltip', () => {
101
- fixtureEl.innerHTML = '<a href="#" title="Tooltip">Trigger</a>'
102
- const el = fixtureEl.querySelector('a')!
103
- const tooltip = new Tooltip(el)
104
-
105
- tooltip.disable()
106
- tooltip.enable()
107
- expect(tooltip._isEnabled).toBe(true)
108
- })
109
- })
110
-
111
- describe('disable', () => {
112
- it('should disable tooltip', () => {
113
- fixtureEl.innerHTML = '<a href="#" title="Tooltip">Trigger</a>'
114
- const el = fixtureEl.querySelector('a')!
115
- const tooltip = new Tooltip(el)
116
-
117
- tooltip.disable()
118
- expect(tooltip._isEnabled).toBe(false)
119
- })
120
- })
121
-
122
- describe('toggleEnabled', () => {
123
- it('should toggle enabled state', () => {
124
- fixtureEl.innerHTML = '<a href="#" title="Tooltip">Trigger</a>'
125
- const el = fixtureEl.querySelector('a')!
126
- const tooltip = new Tooltip(el)
127
-
128
- expect(tooltip._isEnabled).toBe(true)
129
- tooltip.toggleEnabled()
130
- expect(tooltip._isEnabled).toBe(false)
131
- tooltip.toggleEnabled()
132
- expect(tooltip._isEnabled).toBe(true)
133
- })
134
- })
135
-
136
- describe('toggle', () => {
137
- it('should do nothing when disabled', () => {
138
- fixtureEl.innerHTML = '<a href="#" title="Tooltip">Trigger</a>'
139
- const el = fixtureEl.querySelector('a')!
140
- const tooltip = new Tooltip(el)
141
-
142
- tooltip.disable()
143
- tooltip.toggle()
144
- expect(tooltip._isShown()).toBe(false)
145
- })
146
-
147
- it('should toggle tooltip visibility', () => {
148
- return new Promise<void>((resolve) => {
149
- fixtureEl.innerHTML = '<a href="#" title="Tooltip title">Trigger</a>'
150
- const el = fixtureEl.querySelector('a')!
151
- const tooltip = new Tooltip(el, { animation: false })
152
-
153
- el.addEventListener('shown.bs.tooltip', () => {
154
- expect(tooltip._isShown()).toBe(true)
155
- tooltip.toggle()
156
- })
157
-
158
- el.addEventListener('hidden.bs.tooltip', () => {
159
- expect(tooltip._isShown()).toBe(false)
160
- resolve()
161
- })
162
-
163
- tooltip.toggle()
164
- })
165
- })
166
- })
167
-
168
- describe('show', () => {
169
- it('should show tooltip', () => {
170
- return new Promise<void>((resolve) => {
171
- fixtureEl.innerHTML = '<a href="#" title="Tooltip title">Trigger</a>'
172
- const el = fixtureEl.querySelector('a')!
173
- const tooltip = new Tooltip(el, { animation: false })
174
-
175
- el.addEventListener('shown.bs.tooltip', () => {
176
- expect(tooltip.tip).not.toBeNull()
177
- expect(tooltip.tip!.classList.contains('show')).toBe(true)
178
- expect(el.getAttribute('aria-describedby')).not.toBeNull()
179
- resolve()
180
- })
181
-
182
- tooltip.show()
183
- })
184
- })
185
-
186
- it('should throw if element is hidden', () => {
187
- fixtureEl.innerHTML = '<a href="#" title="Tooltip" style="display: none">Trigger</a>'
188
- const el = fixtureEl.querySelector('a')!
189
- const tooltip = new Tooltip(el)
190
-
191
- expect(() => tooltip.show()).toThrow('Please use show on visible elements')
192
- })
193
-
194
- it('should not show if show event is prevented', () => {
195
- return new Promise<void>((resolve) => {
196
- fixtureEl.innerHTML = '<a href="#" title="Tooltip title">Trigger</a>'
197
- const el = fixtureEl.querySelector('a')!
198
- const tooltip = new Tooltip(el, { animation: false })
199
-
200
- el.addEventListener('show.bs.tooltip', (event) => {
201
- event.preventDefault()
202
- setTimeout(() => {
203
- expect(tooltip._isShown()).toBe(false)
204
- resolve()
205
- }, 30)
206
- })
207
-
208
- tooltip.show()
209
- })
210
- })
211
-
212
- it('should not show without content', () => {
213
- fixtureEl.innerHTML = '<a href="#">Trigger</a>'
214
- const el = fixtureEl.querySelector('a')!
215
- const tooltip = new Tooltip(el)
216
-
217
- tooltip.show()
218
- expect(tooltip._isShown()).toBe(false)
219
- })
220
-
221
- it('should fire inserted event', () => {
222
- return new Promise<void>((resolve) => {
223
- fixtureEl.innerHTML = '<a href="#" title="Tooltip title">Trigger</a>'
224
- const el = fixtureEl.querySelector('a')!
225
- const tooltip = new Tooltip(el, { animation: false })
226
-
227
- el.addEventListener('inserted.bs.tooltip', () => {
228
- resolve()
229
- })
230
-
231
- tooltip.show()
232
- })
233
- })
234
- })
235
-
236
- describe('hide', () => {
237
- it('should hide tooltip', () => {
238
- return new Promise<void>((resolve) => {
239
- fixtureEl.innerHTML = '<a href="#" title="Tooltip title">Trigger</a>'
240
- const el = fixtureEl.querySelector('a')!
241
- const tooltip = new Tooltip(el, { animation: false })
242
-
243
- el.addEventListener('shown.bs.tooltip', () => {
244
- tooltip.hide()
245
- })
246
-
247
- el.addEventListener('hidden.bs.tooltip', () => {
248
- expect(tooltip._isShown()).toBe(false)
249
- resolve()
250
- })
251
-
252
- tooltip.show()
253
- })
254
- })
255
-
256
- it('should not hide if not shown', () => {
257
- fixtureEl.innerHTML = '<a href="#" title="Tooltip">Trigger</a>'
258
- const el = fixtureEl.querySelector('a')!
259
- const tooltip = new Tooltip(el)
260
-
261
- tooltip.hide()
262
- expect(tooltip._isShown()).toBe(false)
263
- })
264
-
265
- it('should not hide if hide event is prevented', () => {
266
- return new Promise<void>((resolve) => {
267
- fixtureEl.innerHTML = '<a href="#" title="Tooltip title">Trigger</a>'
268
- const el = fixtureEl.querySelector('a')!
269
- const tooltip = new Tooltip(el, { animation: false })
270
-
271
- el.addEventListener('shown.bs.tooltip', () => {
272
- el.addEventListener('hide.bs.tooltip', (event) => {
273
- event.preventDefault()
274
- setTimeout(() => {
275
- expect(tooltip._isShown()).toBe(true)
276
- resolve()
277
- }, 30)
278
- })
279
-
280
- tooltip.hide()
281
- })
282
-
283
- tooltip.show()
284
- })
285
- })
286
- })
287
-
288
- describe('update', () => {
289
- it('should call popper update', () => {
290
- return new Promise<void>((resolve) => {
291
- fixtureEl.innerHTML = '<a href="#" title="Tooltip title">Trigger</a>'
292
- const el = fixtureEl.querySelector('a')!
293
- const tooltip = new Tooltip(el, { animation: false })
294
-
295
- el.addEventListener('shown.bs.tooltip', () => {
296
- tooltip.update()
297
- expect(tooltip._popper!.update).toHaveBeenCalled()
298
- resolve()
299
- })
300
-
301
- tooltip.show()
302
- })
303
- })
304
-
305
- it('should do nothing if popper is null', () => {
306
- fixtureEl.innerHTML = '<a href="#" title="Tooltip">Trigger</a>'
307
- const el = fixtureEl.querySelector('a')!
308
- const tooltip = new Tooltip(el)
309
-
310
- expect(() => tooltip.update()).not.toThrow()
311
- })
312
- })
313
-
314
- describe('dispose', () => {
315
- it('should dispose tooltip', () => {
316
- fixtureEl.innerHTML = '<a href="#" title="Tooltip title">Trigger</a>'
317
- const el = fixtureEl.querySelector('a')!
318
- const tooltip = new Tooltip(el)
319
-
320
- tooltip.dispose()
321
- expect(Tooltip.getInstance(el)).toBeNull()
322
- })
323
-
324
- it('should restore original title on dispose', () => {
325
- fixtureEl.innerHTML = '<a href="#" title="Tooltip title">Trigger</a>'
326
- const el = fixtureEl.querySelector('a')!
327
- const tooltip = new Tooltip(el)
328
-
329
- expect(el.getAttribute('data-bs-original-title')).toBe('Tooltip title')
330
- tooltip.dispose()
331
- expect(el.getAttribute('title')).toBe('Tooltip title')
332
- })
333
-
334
- it('should destroy popper on dispose', () => {
335
- return new Promise<void>((resolve) => {
336
- fixtureEl.innerHTML = '<a href="#" title="Tooltip title">Trigger</a>'
337
- const el = fixtureEl.querySelector('a')!
338
- const tooltip = new Tooltip(el, { animation: false })
339
-
340
- el.addEventListener('shown.bs.tooltip', () => {
341
- const destroySpy = tooltip._popper!.destroy
342
- tooltip.dispose()
343
- expect(destroySpy).toHaveBeenCalled()
344
- resolve()
345
- })
346
-
347
- tooltip.show()
348
- })
349
- })
350
- })
351
-
352
- describe('setContent', () => {
353
- it('should set new content', () => {
354
- fixtureEl.innerHTML = '<a href="#" title="Tooltip title">Trigger</a>'
355
- const el = fixtureEl.querySelector('a')!
356
- const tooltip = new Tooltip(el)
357
-
358
- tooltip.setContent({ '.tooltip-inner': 'New content' })
359
- expect(tooltip._newContent).toEqual({ '.tooltip-inner': 'New content' })
360
- })
361
-
362
- it('should update shown tooltip', () => {
363
- return new Promise<void>((resolve) => {
364
- fixtureEl.innerHTML = '<a href="#" title="Tooltip title">Trigger</a>'
365
- const el = fixtureEl.querySelector('a')!
366
- const tooltip = new Tooltip(el, { animation: false })
367
-
368
- let shownCount = 0
369
- el.addEventListener('shown.bs.tooltip', () => {
370
- shownCount++
371
- if (shownCount === 1) {
372
- tooltip.setContent({ '.tooltip-inner': 'Updated content' })
373
- } else {
374
- resolve()
375
- }
376
- })
377
-
378
- tooltip.show()
379
- })
380
- })
381
- })
382
-
383
- describe('_isWithContent', () => {
384
- it('should return true when title exists', () => {
385
- fixtureEl.innerHTML = '<a href="#" title="Tooltip title">Trigger</a>'
386
- const el = fixtureEl.querySelector('a')!
387
- const tooltip = new Tooltip(el)
388
-
389
- expect(tooltip._isWithContent()).toBe(true)
390
- })
391
-
392
- it('should return false when no title', () => {
393
- fixtureEl.innerHTML = '<a href="#">Trigger</a>'
394
- const el = fixtureEl.querySelector('a')!
395
- const tooltip = new Tooltip(el)
396
-
397
- expect(tooltip._isWithContent()).toBe(false)
398
- })
399
- })
400
-
401
- describe('_getTitle', () => {
402
- it('should return config title', () => {
403
- fixtureEl.innerHTML = '<a href="#">Trigger</a>'
404
- const el = fixtureEl.querySelector('a')!
405
- const tooltip = new Tooltip(el, { title: 'Config title' })
406
-
407
- expect(tooltip._getTitle()).toBe('Config title')
408
- })
409
-
410
- it('should return data-bs-original-title', () => {
411
- fixtureEl.innerHTML = '<a href="#" data-bs-original-title="Original title">Trigger</a>'
412
- const el = fixtureEl.querySelector('a')!
413
- const tooltip = new Tooltip(el)
414
-
415
- expect(tooltip._getTitle()).toBe('Original title')
416
- })
417
-
418
- it('should return data-tblr-original-title', () => {
419
- fixtureEl.innerHTML = '<a href="#" data-tblr-original-title="Tblr title">Trigger</a>'
420
- const el = fixtureEl.querySelector('a')!
421
- const tooltip = new Tooltip(el)
422
-
423
- expect(tooltip._getTitle()).toBe('Tblr title')
424
- })
425
-
426
- it('should prefer data-bs-original-title over data-tblr-original-title', () => {
427
- fixtureEl.innerHTML = '<a href="#" data-bs-original-title="BS title" data-tblr-original-title="Tblr title">Trigger</a>'
428
- const el = fixtureEl.querySelector('a')!
429
- const tooltip = new Tooltip(el)
430
-
431
- expect(tooltip._getTitle()).toBe('BS title')
432
- })
433
-
434
- it('should resolve function title', () => {
435
- fixtureEl.innerHTML = '<a href="#">Trigger</a>'
436
- const el = fixtureEl.querySelector('a')!
437
- const tooltip = new Tooltip(el, { title: () => 'Function title' })
438
-
439
- expect(tooltip._getTitle()).toBe('Function title')
440
- })
441
- })
442
-
443
- describe('_isAnimated', () => {
444
- it('should return true when animation is enabled', () => {
445
- fixtureEl.innerHTML = '<a href="#" title="Tooltip">Trigger</a>'
446
- const el = fixtureEl.querySelector('a')!
447
- const tooltip = new Tooltip(el, { animation: true })
448
-
449
- expect(tooltip._isAnimated()).toBe(true)
450
- })
451
-
452
- it('should return false when animation is disabled', () => {
453
- fixtureEl.innerHTML = '<a href="#" title="Tooltip">Trigger</a>'
454
- const el = fixtureEl.querySelector('a')!
455
- const tooltip = new Tooltip(el, { animation: false })
456
-
457
- expect(tooltip._isAnimated()).toBe(false)
458
- })
459
- })
460
-
461
- describe('_configAfterMerge', () => {
462
- it('should convert number delay to object', () => {
463
- fixtureEl.innerHTML = '<a href="#" title="Tooltip">Trigger</a>'
464
- const el = fixtureEl.querySelector('a')!
465
- const tooltip = new Tooltip(el, { delay: 200 })
466
-
467
- expect(tooltip._config.delay).toEqual({ show: 200, hide: 200 })
468
- })
469
-
470
- it('should convert number title to string', () => {
471
- fixtureEl.innerHTML = '<a href="#">Trigger</a>'
472
- const el = fixtureEl.querySelector('a')!
473
- const tooltip = new Tooltip(el, { title: 123 })
474
-
475
- expect(tooltip._config.title).toBe('123')
476
- })
477
-
478
- it('should use document.body when container is false', () => {
479
- fixtureEl.innerHTML = '<a href="#" title="Tooltip">Trigger</a>'
480
- const el = fixtureEl.querySelector('a')!
481
- const tooltip = new Tooltip(el)
482
-
483
- expect(tooltip._config.container).toBe(document.body)
484
- })
485
- })
486
-
487
- describe('_getOffset', () => {
488
- it('should handle string offset', () => {
489
- fixtureEl.innerHTML = '<a href="#" title="Tooltip">Trigger</a>'
490
- const el = fixtureEl.querySelector('a')!
491
- const tooltip = new Tooltip(el, { offset: '10,20' as any })
492
-
493
- expect(tooltip._getOffset()).toEqual([10, 20])
494
- })
495
-
496
- it('should handle function offset', () => {
497
- fixtureEl.innerHTML = '<a href="#" title="Tooltip">Trigger</a>'
498
- const el = fixtureEl.querySelector('a')!
499
- const offsetFn = vi.fn().mockReturnValue([5, 10])
500
- const tooltip = new Tooltip(el, { offset: offsetFn })
501
-
502
- const offset = tooltip._getOffset()
503
- expect(typeof offset).toBe('function')
504
- })
505
-
506
- it('should handle array offset', () => {
507
- fixtureEl.innerHTML = '<a href="#" title="Tooltip">Trigger</a>'
508
- const el = fixtureEl.querySelector('a')!
509
- const tooltip = new Tooltip(el, { offset: [5, 15] })
510
-
511
- expect(tooltip._getOffset()).toEqual([5, 15])
512
- })
513
- })
514
-
515
- describe('_getDelegateConfig', () => {
516
- it('should return config with non-default values', () => {
517
- fixtureEl.innerHTML = '<a href="#" title="Tooltip">Trigger</a>'
518
- const el = fixtureEl.querySelector('a')!
519
- const tooltip = new Tooltip(el, { placement: 'bottom' })
520
-
521
- const delegateConfig = tooltip._getDelegateConfig()
522
- expect(delegateConfig.selector).toBe(false)
523
- expect(delegateConfig.trigger).toBe('manual')
524
- expect(delegateConfig.placement).toBe('bottom')
525
- })
526
- })
527
-
528
- describe('_disposePopper', () => {
529
- it('should destroy popper and remove tip', () => {
530
- return new Promise<void>((resolve) => {
531
- fixtureEl.innerHTML = '<a href="#" title="Tooltip title">Trigger</a>'
532
- const el = fixtureEl.querySelector('a')!
533
- const tooltip = new Tooltip(el, { animation: false })
534
-
535
- el.addEventListener('shown.bs.tooltip', () => {
536
- expect(tooltip._popper).not.toBeNull()
537
- expect(tooltip.tip).not.toBeNull()
538
-
539
- tooltip._disposePopper()
540
-
541
- expect(tooltip._popper).toBeNull()
542
- expect(tooltip.tip).toBeNull()
543
- resolve()
544
- })
545
-
546
- tooltip.show()
547
- })
548
- })
549
- })
550
-
551
- describe('getInstance', () => {
552
- it('should return null if no instance', () => {
553
- expect(Tooltip.getInstance(fixtureEl)).toBeNull()
554
- })
555
-
556
- it('should return tooltip instance', () => {
557
- fixtureEl.innerHTML = '<a href="#" title="Tooltip">Trigger</a>'
558
- const el = fixtureEl.querySelector('a')!
559
- const tooltip = new Tooltip(el)
560
-
561
- expect(Tooltip.getInstance(el)).toBe(tooltip)
562
- })
563
- })
564
-
565
- describe('getOrCreateInstance', () => {
566
- it('should return existing instance', () => {
567
- fixtureEl.innerHTML = '<a href="#" title="Tooltip">Trigger</a>'
568
- const el = fixtureEl.querySelector('a')!
569
- const tooltip = new Tooltip(el)
570
-
571
- expect(Tooltip.getOrCreateInstance(el)).toBe(tooltip)
572
- })
573
-
574
- it('should create new instance', () => {
575
- fixtureEl.innerHTML = '<a href="#" title="Tooltip">Trigger</a>'
576
- const el = fixtureEl.querySelector('a')!
577
-
578
- expect(Tooltip.getInstance(el)).toBeNull()
579
- expect(Tooltip.getOrCreateInstance(el)).toBeInstanceOf(Tooltip)
580
- })
581
- })
582
-
583
- describe('data-tblr-original-title', () => {
584
- it('should restore title from data-tblr-original-title on dispose', () => {
585
- fixtureEl.innerHTML = '<a href="#" data-tblr-original-title="Tblr tooltip">Trigger</a>'
586
- const el = fixtureEl.querySelector('a')!
587
- const tooltip = new Tooltip(el, { title: 'test' })
588
-
589
- tooltip.dispose()
590
- expect(el.getAttribute('title')).toBe('Tblr tooltip')
591
- })
592
-
593
- it('should use data-tblr-original-title as fallback for _getTitle', () => {
594
- fixtureEl.innerHTML = '<a href="#" data-tblr-original-title="Tblr tooltip title">Trigger</a>'
595
- const el = fixtureEl.querySelector('a')!
596
- const tooltip = new Tooltip(el)
597
-
598
- expect(tooltip._getTitle()).toBe('Tblr tooltip title')
599
- })
600
- })
601
-
602
- describe('_enter and _leave', () => {
603
- it('should set _isHovered on enter', () => {
604
- fixtureEl.innerHTML = '<a href="#" title="Tooltip">Trigger</a>'
605
- const el = fixtureEl.querySelector('a')!
606
- const tooltip = new Tooltip(el, { delay: { show: 500, hide: 500 } })
607
-
608
- tooltip._enter()
609
- expect(tooltip._isHovered).toBe(true)
610
- })
611
-
612
- it('should not double-enter if already hovered', () => {
613
- fixtureEl.innerHTML = '<a href="#" title="Tooltip">Trigger</a>'
614
- const el = fixtureEl.querySelector('a')!
615
- const tooltip = new Tooltip(el, { delay: { show: 500, hide: 500 } })
616
-
617
- tooltip._isHovered = true
618
- tooltip._enter()
619
- expect(tooltip._isHovered).toBe(true)
620
- })
621
-
622
- it('should set _isHovered to false on leave', () => {
623
- fixtureEl.innerHTML = '<a href="#" title="Tooltip">Trigger</a>'
624
- const el = fixtureEl.querySelector('a')!
625
- const tooltip = new Tooltip(el, { delay: { show: 500, hide: 500 } })
626
-
627
- tooltip._leave()
628
- expect(tooltip._isHovered).toBe(false)
629
- })
630
-
631
- it('should not leave if active trigger exists', () => {
632
- fixtureEl.innerHTML = '<a href="#" title="Tooltip">Trigger</a>'
633
- const el = fixtureEl.querySelector('a')!
634
- const tooltip = new Tooltip(el)
635
-
636
- tooltip._activeTrigger.click = true
637
- tooltip._isHovered = true
638
- tooltip._leave()
639
- expect(tooltip._isHovered).toBe(true)
640
- })
641
- })
642
-
643
- describe('_isWithActiveTrigger', () => {
644
- it('should return false with no active triggers', () => {
645
- fixtureEl.innerHTML = '<a href="#" title="Tooltip">Trigger</a>'
646
- const el = fixtureEl.querySelector('a')!
647
- const tooltip = new Tooltip(el)
648
-
649
- expect(tooltip._isWithActiveTrigger()).toBe(false)
650
- })
651
-
652
- it('should return true with active trigger', () => {
653
- fixtureEl.innerHTML = '<a href="#" title="Tooltip">Trigger</a>'
654
- const el = fixtureEl.querySelector('a')!
655
- const tooltip = new Tooltip(el)
656
-
657
- tooltip._activeTrigger.click = true
658
- expect(tooltip._isWithActiveTrigger()).toBe(true)
659
- })
660
- })
661
-
662
- describe('trigger listeners', () => {
663
- it('should set up click trigger', () => {
664
- fixtureEl.innerHTML = '<a href="#" title="Tooltip">Trigger</a>'
665
- const el = fixtureEl.querySelector('a')!
666
- const tooltip = new Tooltip(el, { trigger: 'click', animation: false })
667
-
668
- expect(tooltip._config.trigger).toBe('click')
669
- })
670
-
671
- it('should set up manual trigger', () => {
672
- fixtureEl.innerHTML = '<a href="#" title="Tooltip">Trigger</a>'
673
- const el = fixtureEl.querySelector('a')!
674
- const tooltip = new Tooltip(el, { trigger: 'manual' })
675
-
676
- expect(tooltip._config.trigger).toBe('manual')
677
- })
678
- })
679
- })