@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
@@ -9,9 +9,10 @@ import * as Popper from '@popperjs/core'
9
9
  import BaseComponent from './base-component'
10
10
  import EventHandler from './dom/event-handler'
11
11
  import Manipulator from './dom/manipulator'
12
- import { execute, findShadowRoot, getElement, getUID, isRTL, noop } from './util/index'
12
+ import { defineJQueryPlugin, execute, findShadowRoot, getElement, getUID, isRTL, noop } from './util/index'
13
13
  import { DefaultAllowlist } from './util/sanitizer'
14
14
  import TemplateFactory from './util/template-factory'
15
+ import type { AllowList, ComponentConfig as BaseComponentConfig, JQueryCollectionLike, SanitizeFn } from './types'
15
16
 
16
17
  /**
17
18
  * Constants
@@ -45,13 +46,41 @@ const EVENT_FOCUSOUT = 'focusout'
45
46
  const EVENT_MOUSEENTER = 'mouseenter'
46
47
  const EVENT_MOUSELEAVE = 'mouseleave'
47
48
 
48
- interface ComponentConfig {
49
- [key: string]: any
49
+ type PopperOffsetData = { placement: Popper.Placement; reference: Popper.Rect; popper: Popper.Rect }
50
+ type PopperOffsetFunction = (popperData: PopperOffsetData) => number[]
51
+ type PopperConfigFunction = (defaultConfig: Partial<Popper.Options>) => Partial<Popper.Options>
52
+
53
+ export type TooltipDelay = number | { show: number; hide: number }
54
+ export type TooltipContent = string | HTMLElement | null | ((this: HTMLElement, element: HTMLElement) => string | HTMLElement | null)
55
+ // Keys are selectors inside the template, values the content for that slot
56
+ export type TooltipContentMap = Record<string, TooltipContent>
57
+ export type TooltipPlacement = string | ((this: Tooltip, tip: HTMLElement, element: HTMLElement) => string)
58
+
59
+ export type TooltipConfig = {
60
+ allowList: AllowList
61
+ animation: boolean
62
+ boundary: Popper.Boundary
63
+ container: HTMLElement | string | false
64
+ customClass: string | ((this: HTMLElement, element: HTMLElement) => string)
65
+ delay: TooltipDelay
66
+ fallbackPlacements: string[]
67
+ html: boolean
68
+ offset: number[] | string | ((popperData: PopperOffsetData, element: HTMLElement) => number[])
69
+ placement: TooltipPlacement
70
+ popperConfig: Partial<Popper.Options> | PopperConfigFunction | null
71
+ sanitize: boolean
72
+ sanitizeFn: SanitizeFn | null
73
+ selector: string | false
74
+ template: string
75
+ title: TooltipContent
76
+ trigger: string
50
77
  }
51
78
 
52
- interface ComponentConfigType {
53
- [key: string]: string
54
- }
79
+ type ComponentConfig = TooltipConfig
80
+
81
+ export type TooltipConfigInput = Partial<TooltipConfig> & Record<string, unknown>
82
+
83
+ type ComponentConfigInput = TooltipConfigInput
55
84
 
56
85
  const AttachmentMap: Record<string, string> = {
57
86
  AUTO: 'auto',
@@ -81,7 +110,7 @@ const Default: ComponentConfig = {
81
110
  trigger: 'hover focus',
82
111
  }
83
112
 
84
- const DefaultType: ComponentConfigType = {
113
+ const DefaultType: Record<keyof ComponentConfig, string> = {
85
114
  allowList: 'object',
86
115
  animation: 'boolean',
87
116
  boundary: '(string|element)',
@@ -106,17 +135,19 @@ const DefaultType: ComponentConfigType = {
106
135
  */
107
136
 
108
137
  class Tooltip extends BaseComponent {
138
+ declare _element: HTMLElement
139
+ declare _config: ComponentConfig
109
140
  _isEnabled: boolean
110
141
  _timeout: ReturnType<typeof setTimeout> | number
111
142
  _isHovered: boolean | null
112
143
  _activeTrigger: Record<string, boolean>
113
144
  _popper: Popper.Instance | null
114
145
  _templateFactory: TemplateFactory | null
115
- _newContent: Record<string, any> | null
146
+ _newContent: TooltipContentMap | null
116
147
  tip: HTMLElement | null
117
- _hideModalHandler: (() => void) | null
148
+ _hideModalHandler: () => void
118
149
 
119
- constructor(element: HTMLElement | string, config?: Partial<ComponentConfig>) {
150
+ constructor(element: HTMLElement | string, config?: ComponentConfigInput) {
120
151
  if (typeof Popper === 'undefined') {
121
152
  throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org/docs/v2/)")
122
153
  }
@@ -132,7 +163,11 @@ class Tooltip extends BaseComponent {
132
163
  this._newContent = null
133
164
 
134
165
  this.tip = null
135
- this._hideModalHandler = null
166
+ this._hideModalHandler = () => {
167
+ if (this._element) {
168
+ this.hide()
169
+ }
170
+ }
136
171
 
137
172
  this._setListeners()
138
173
 
@@ -145,7 +180,7 @@ class Tooltip extends BaseComponent {
145
180
  return Default
146
181
  }
147
182
 
148
- static get DefaultType(): ComponentConfigType {
183
+ static get DefaultType(): Record<keyof ComponentConfig, string> {
149
184
  return DefaultType
150
185
  }
151
186
 
@@ -204,29 +239,30 @@ class Tooltip extends BaseComponent {
204
239
  const shadowRoot = findShadowRoot(this._element)
205
240
  const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element)
206
241
 
207
- if (showEvent.defaultPrevented || !isInTheDom) {
242
+ if (showEvent?.defaultPrevented || !isInTheDom) {
208
243
  return
209
244
  }
210
245
 
211
246
  this._disposePopper()
212
247
 
213
- const tip = this._getTipElement()
248
+ const tip = this._getTipElement()!
214
249
 
215
- this._element.setAttribute('aria-describedby', tip!.getAttribute('id')!)
250
+ this._element.setAttribute('aria-describedby', tip.getAttribute('id')!)
216
251
 
217
252
  const { container } = this._config
218
253
 
219
254
  if (!this._element.ownerDocument.documentElement.contains(this.tip)) {
220
- container.append(tip)
255
+ // `_configAfterMerge` resolved the container to an element
256
+ ;(container as HTMLElement).append(tip)
221
257
  EventHandler.trigger(this._element, (this.constructor as typeof Tooltip).eventName(EVENT_INSERTED))
222
258
  }
223
259
 
224
- this._popper = this._createPopper(tip!)
260
+ this._popper = this._createPopper(tip)
225
261
 
226
262
  tip!.classList.add(CLASS_NAME_SHOW)
227
263
 
228
264
  if ('ontouchstart' in document.documentElement) {
229
- for (const element of [].concat(...(document.body.children as any))) {
265
+ for (const element of Array.from(document.body.children)) {
230
266
  EventHandler.on(element, 'mouseover', noop)
231
267
  }
232
268
  }
@@ -250,7 +286,7 @@ class Tooltip extends BaseComponent {
250
286
  }
251
287
 
252
288
  const hideEvent = EventHandler.trigger(this._element, (this.constructor as typeof Tooltip).eventName(EVENT_HIDE))
253
- if (hideEvent.defaultPrevented) {
289
+ if (hideEvent?.defaultPrevented) {
254
290
  return
255
291
  }
256
292
 
@@ -258,7 +294,7 @@ class Tooltip extends BaseComponent {
258
294
  tip!.classList.remove(CLASS_NAME_SHOW)
259
295
 
260
296
  if ('ontouchstart' in document.documentElement) {
261
- for (const element of [].concat(...(document.body.children as any))) {
297
+ for (const element of Array.from(document.body.children)) {
262
298
  EventHandler.off(element, 'mouseover', noop)
263
299
  }
264
300
  }
@@ -302,7 +338,7 @@ class Tooltip extends BaseComponent {
302
338
  return this.tip
303
339
  }
304
340
 
305
- _createTipElement(content: Record<string, any>): HTMLElement | null {
341
+ _createTipElement(content: TooltipContentMap): HTMLElement | null {
306
342
  const tip = this._getTemplateFactory(content).toHtml() as HTMLElement
307
343
 
308
344
  if (!tip) {
@@ -323,7 +359,7 @@ class Tooltip extends BaseComponent {
323
359
  return tip
324
360
  }
325
361
 
326
- setContent(content: Record<string, any>): void {
362
+ setContent(content: TooltipContentMap): void {
327
363
  this._newContent = content
328
364
  if (this._isShown()) {
329
365
  this._disposePopper()
@@ -331,7 +367,7 @@ class Tooltip extends BaseComponent {
331
367
  }
332
368
  }
333
369
 
334
- _getTemplateFactory(content: Record<string, any>): TemplateFactory {
370
+ _getTemplateFactory(content: TooltipContentMap): TemplateFactory {
335
371
  if (this._templateFactory) {
336
372
  this._templateFactory.changeContent(content)
337
373
  } else {
@@ -345,13 +381,13 @@ class Tooltip extends BaseComponent {
345
381
  return this._templateFactory
346
382
  }
347
383
 
348
- _getContentForTemplate(): Record<string, any> {
384
+ _getContentForTemplate(): TooltipContentMap {
349
385
  return {
350
386
  [SELECTOR_TOOLTIP_INNER]: this._getTitle(),
351
387
  }
352
388
  }
353
389
 
354
- _getTitle(): string {
390
+ _getTitle(): string | HTMLElement {
355
391
  return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title') || this._element.getAttribute('data-tblr-original-title') || ''
356
392
  }
357
393
 
@@ -373,7 +409,7 @@ class Tooltip extends BaseComponent {
373
409
  return Popper.createPopper(this._element, tip, this._getPopperConfig(attachment))
374
410
  }
375
411
 
376
- _getOffset(): number[] | ((popperData: any) => number[]) {
412
+ _getOffset(): number[] | PopperOffsetFunction {
377
413
  const { offset } = this._config
378
414
 
379
415
  if (typeof offset === 'string') {
@@ -381,14 +417,14 @@ class Tooltip extends BaseComponent {
381
417
  }
382
418
 
383
419
  if (typeof offset === 'function') {
384
- return (popperData: any) => (offset as Function)(popperData, this._element)
420
+ return (popperData: PopperOffsetData) => offset(popperData, this._element)
385
421
  }
386
422
 
387
- return offset as number[]
423
+ return offset
388
424
  }
389
425
 
390
- _resolvePossibleFunction(arg: any): any {
391
- return execute(arg, [this._element, this._element])
426
+ _resolvePossibleFunction<T>(arg: T | ((this: HTMLElement, element: HTMLElement) => T)): T {
427
+ return execute(arg, [this._element, this._element]) as T
392
428
  }
393
429
 
394
430
  _getPopperConfig(attachment: string): Partial<Popper.Options> {
@@ -423,7 +459,7 @@ class Tooltip extends BaseComponent {
423
459
  name: 'preSetPlacement',
424
460
  enabled: true,
425
461
  phase: 'beforeMain',
426
- fn: (data: any) => {
462
+ fn: (data: Popper.ModifierArguments<Record<string, unknown>>) => {
427
463
  this._getTipElement()!.setAttribute('data-popper-placement', data.state.placement)
428
464
  },
429
465
  },
@@ -465,12 +501,6 @@ class Tooltip extends BaseComponent {
465
501
  }
466
502
  }
467
503
 
468
- this._hideModalHandler = () => {
469
- if (this._element) {
470
- this.hide()
471
- }
472
- }
473
-
474
504
  EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)
475
505
  }
476
506
 
@@ -501,7 +531,7 @@ class Tooltip extends BaseComponent {
501
531
  if (this._isHovered) {
502
532
  this.show()
503
533
  }
504
- }, this._config.delay.show)
534
+ }, this._getDelay().show)
505
535
  }
506
536
 
507
537
  _leave(): void {
@@ -515,7 +545,12 @@ class Tooltip extends BaseComponent {
515
545
  if (!this._isHovered) {
516
546
  this.hide()
517
547
  }
518
- }, this._config.delay.hide)
548
+ }, this._getDelay().hide)
549
+ }
550
+
551
+ _getDelay(): { show: number; hide: number } {
552
+ const { delay } = this._config
553
+ return typeof delay === 'number' ? { show: delay, hide: delay } : delay
519
554
  }
520
555
 
521
556
  _setTimeout(handler: () => void, timeout: number): void {
@@ -527,7 +562,7 @@ class Tooltip extends BaseComponent {
527
562
  return Object.values(this._activeTrigger).includes(true)
528
563
  }
529
564
 
530
- _getConfig(config: Partial<ComponentConfig>): ComponentConfig {
565
+ _getConfig(config?: ComponentConfigInput): ComponentConfig {
531
566
  const dataAttributes = Manipulator.getDataAttributes(this._element)
532
567
 
533
568
  for (const dataAttribute of Object.keys(dataAttributes)) {
@@ -536,18 +571,18 @@ class Tooltip extends BaseComponent {
536
571
  }
537
572
  }
538
573
 
539
- config = {
574
+ let merged: Record<string, unknown> = {
540
575
  ...dataAttributes,
541
576
  ...(typeof config === 'object' && config ? config : {}),
542
577
  }
543
- config = this._mergeConfigObj(config)
544
- config = this._configAfterMerge(config)
545
- this._typeCheckConfig(config)
546
- return config
578
+ merged = this._mergeConfigObj(merged)
579
+ merged = this._configAfterMerge(merged as ComponentConfig)
580
+ this._typeCheckConfig(merged)
581
+ return merged as ComponentConfig
547
582
  }
548
583
 
549
584
  _configAfterMerge(config: ComponentConfig): ComponentConfig {
550
- config.container = config.container === false ? document.body : getElement(config.container)
585
+ config.container = config.container === false ? document.body : (getElement(config.container) as HTMLElement)
551
586
 
552
587
  if (typeof config.delay === 'number') {
553
588
  config.delay = {
@@ -556,22 +591,25 @@ class Tooltip extends BaseComponent {
556
591
  }
557
592
  }
558
593
 
559
- if (typeof config.title === 'number') {
560
- config.title = config.title.toString()
594
+ // Numbers are accepted at runtime (`data-bs-title="42"`) even though the type says string
595
+ const raw = config as Record<string, unknown>
596
+ if (typeof raw.title === 'number') {
597
+ raw.title = raw.title.toString()
561
598
  }
562
599
 
563
- if (typeof config.content === 'number') {
564
- config.content = config.content.toString()
600
+ if (typeof raw.content === 'number') {
601
+ raw.content = raw.content.toString()
565
602
  }
566
603
 
567
604
  return config
568
605
  }
569
606
 
570
- _getDelegateConfig(): Partial<ComponentConfig> {
571
- const config: Partial<ComponentConfig> = {}
607
+ _getDelegateConfig(): ComponentConfigInput {
608
+ const config: Record<string, unknown> = {}
609
+ const defaults = (this.constructor as typeof Tooltip).Default as Record<string, unknown>
572
610
 
573
611
  for (const [key, value] of Object.entries(this._config)) {
574
- if ((this.constructor as typeof Tooltip).Default[key] !== value) {
612
+ if (defaults[key] !== value) {
575
613
  config[key] = value
576
614
  }
577
615
  }
@@ -593,6 +631,24 @@ class Tooltip extends BaseComponent {
593
631
  this.tip = null
594
632
  }
595
633
  }
634
+
635
+ static jQueryInterface(this: JQueryCollectionLike, config?: unknown): unknown {
636
+ return this.each(function (this: HTMLElement) {
637
+ const data = Tooltip.getOrCreateInstance(this, config as BaseComponentConfig) as unknown as Record<string, (arg?: unknown) => unknown>
638
+
639
+ if (typeof config !== 'string') {
640
+ return
641
+ }
642
+
643
+ if (typeof data[config] === 'undefined') {
644
+ throw new TypeError(`No method named "${config}"`)
645
+ }
646
+
647
+ data[config]()
648
+ })
649
+ }
596
650
  }
597
651
 
652
+ defineJQueryPlugin(Tooltip)
653
+
598
654
  export default Tooltip
@@ -5,7 +5,7 @@
5
5
  * --------------------------------------------------------------------------
6
6
  */
7
7
 
8
- export type ComponentConfig = Record<string, any>
8
+ export type ComponentConfig = Record<string, unknown>
9
9
 
10
10
  export type ComponentConfigType = Record<string, string>
11
11
 
@@ -25,3 +25,32 @@ export interface BaseComponentStatic extends ConfigStatic {
25
25
  export type AllowList = Record<string, (string | RegExp)[]>
26
26
 
27
27
  export type SanitizeFn = (unsafeHtml: string) => string
28
+
29
+ export interface JQueryEventLike {
30
+ isPropagationStopped(): boolean
31
+ isImmediatePropagationStopped(): boolean
32
+ isDefaultPrevented(): boolean
33
+ preventDefault(): void
34
+ }
35
+
36
+ export interface JQueryCollectionLike {
37
+ trigger(event: JQueryEventLike): unknown
38
+ each(callback: (this: HTMLElement, index: number) => void): unknown
39
+ }
40
+
41
+ export interface JQueryPluginFunction {
42
+ (this: JQueryCollectionLike, config?: unknown, ...args: unknown[]): unknown
43
+ Constructor?: unknown
44
+ noConflict?: () => JQueryPluginFunction
45
+ }
46
+
47
+ export interface JQueryStaticLike {
48
+ fn: Record<string, JQueryPluginFunction>
49
+ (selector: EventTarget): JQueryCollectionLike
50
+ Event(name: string, args?: Record<string, unknown>): JQueryEventLike
51
+ }
52
+
53
+ export interface JQueryPluginStatic {
54
+ NAME: string
55
+ jQueryInterface: JQueryPluginFunction
56
+ }
@@ -15,7 +15,7 @@ const CLASS_NAME_FADE = 'fade'
15
15
  const CLASS_NAME_SHOW = 'show'
16
16
  const EVENT_MOUSEDOWN = `mousedown.bs.${NAME}`
17
17
 
18
- interface BackdropConfig {
18
+ type BackdropConfig = {
19
19
  className: string
20
20
  clickCallback: (() => void) | null
21
21
  isAnimated: boolean
@@ -9,11 +9,34 @@ import EventHandler from '../dom/event-handler.js'
9
9
  import SelectorEngine from '../dom/selector-engine.js'
10
10
  import { isDisabled } from './index'
11
11
 
12
+ type ComponentInstance = unknown
13
+
14
+ interface PluginComponent {
15
+ NAME: string
16
+ getOrCreateInstance(element: HTMLElement | string | null): ComponentInstance
17
+ }
18
+
19
+ interface EventActionData {
20
+ targets: HTMLElement[]
21
+ event: Event
22
+ }
23
+
24
+ interface PluginEventActionData extends EventActionData {
25
+ instances: ComponentInstance[]
26
+ }
27
+
12
28
  interface DismissibleComponent {
13
29
  EVENT_KEY: string
14
30
  NAME: string
15
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
16
- getOrCreateInstance(element: HTMLElement | string | null): any
31
+ getOrCreateInstance(element: HTMLElement | string | null): ComponentInstance
32
+ }
33
+
34
+ const callMethod = (instance: ComponentInstance, method: string): void => {
35
+ const callable = (instance as Record<string, unknown>)[method]
36
+
37
+ if (typeof callable === 'function') {
38
+ callable.call(instance)
39
+ }
17
40
  }
18
41
 
19
42
  const enableDismissTrigger = (component: DismissibleComponent, method = 'hide'): void => {
@@ -30,10 +53,56 @@ const enableDismissTrigger = (component: DismissibleComponent, method = 'hide'):
30
53
  }
31
54
 
32
55
  const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`)
33
- const instance = component.getOrCreateInstance(target)
56
+ callMethod(component.getOrCreateInstance(target), method)
57
+ })
58
+ }
34
59
 
35
- instance[method]()
60
+ const eventAction = (onEvent: string, stringSelector: string, callback: (data: EventActionData) => void): void => {
61
+ const selector = `${stringSelector}:not(.disabled):not(:disabled)`
62
+
63
+ EventHandler.on(document, onEvent, selector, function (this: HTMLElement, event: Event) {
64
+ if (['A', 'AREA'].includes(this.tagName)) {
65
+ event.preventDefault()
66
+ }
67
+
68
+ const targetSelector = SelectorEngine.getSelectorFromElement(this)
69
+ const targets = targetSelector ? SelectorEngine.find(targetSelector) : [this]
70
+
71
+ callback({ targets, event })
72
+ })
73
+ }
74
+
75
+ const eventActionOnPlugin = (Plugin: PluginComponent, onEvent: string, stringSelector: string, method: string, callback: ((data: PluginEventActionData) => void) | null = null): void => {
76
+ eventAction(`${onEvent}.${Plugin.NAME}`, stringSelector, (data) => {
77
+ const instances = data.targets.filter(Boolean).map((element) => Plugin.getOrCreateInstance(element))
78
+
79
+ if (typeof callback === 'function') {
80
+ callback({ ...data, instances })
81
+ }
82
+
83
+ for (const instance of instances) {
84
+ callMethod(instance, method)
85
+ }
36
86
  })
37
87
  }
38
88
 
39
- export { enableDismissTrigger }
89
+ /**
90
+ * Creates the component for every element that matches on page load. One
91
+ * element with a broken config must not stop the rest of the bundle, so the
92
+ * error is logged and the loop goes on.
93
+ */
94
+ const initAll = (selector: string, Plugin: PluginComponent, filter: ((element: HTMLElement) => boolean) | null = null): void => {
95
+ for (const element of SelectorEngine.find(selector)) {
96
+ if (filter && !filter(element)) {
97
+ continue
98
+ }
99
+
100
+ try {
101
+ Plugin.getOrCreateInstance(element)
102
+ } catch (error) {
103
+ console.error(error)
104
+ }
105
+ }
106
+ }
107
+
108
+ export { enableDismissTrigger, eventAction, eventActionOnPlugin, initAll }
@@ -20,7 +20,7 @@ const TAB_KEY = 'Tab'
20
20
  const TAB_NAV_FORWARD = 'forward'
21
21
  const TAB_NAV_BACKWARD = 'backward'
22
22
 
23
- interface FocusTrapConfig {
23
+ type FocusTrapConfig = {
24
24
  autofocus: boolean
25
25
  trapElement: HTMLElement | null
26
26
  }
@@ -87,7 +87,7 @@ class FocusTrap extends Config {
87
87
  _handleFocusin(event: FocusEvent): void {
88
88
  const { trapElement } = this._config
89
89
 
90
- if (event.target === document || event.target === trapElement || trapElement!.contains(event.target as Node)) {
90
+ if (!trapElement || event.target === document || event.target === trapElement || trapElement.contains(event.target as Node)) {
91
91
  return
92
92
  }
93
93
 
@@ -5,12 +5,14 @@
5
5
  * --------------------------------------------------------------------------
6
6
  */
7
7
 
8
+ import type { JQueryPluginStatic, JQueryStaticLike } from '../types'
9
+
8
10
  const MAX_UID = 1_000_000
9
11
  const MILLISECONDS_MULTIPLIER = 1000
10
12
  const TRANSITION_END = 'transitionend'
11
13
 
12
14
  const parseSelector = (selector: string): string => {
13
- if (selector && window.CSS && window.CSS.escape) {
15
+ if (selector && typeof CSS !== 'undefined' && typeof CSS.escape === 'function') {
14
16
  selector = selector.replace(/#([^\s"#']+)/g, (match, id) => `#${CSS.escape(id)}`)
15
17
  }
16
18
 
@@ -60,7 +62,18 @@ const triggerTransitionEnd = (element: HTMLElement): void => {
60
62
  element.dispatchEvent(new Event(TRANSITION_END))
61
63
  }
62
64
 
65
+ // A jQuery collection stands in for its first element, as in upstream Bootstrap.
66
+ const unwrapJQuery = (object: unknown): unknown => {
67
+ if (object && typeof object === 'object' && typeof (object as { jquery?: unknown }).jquery !== 'undefined') {
68
+ return (object as { 0?: unknown })[0]
69
+ }
70
+
71
+ return object
72
+ }
73
+
63
74
  const isElement = (object: unknown): object is HTMLElement => {
75
+ object = unwrapJQuery(object)
76
+
64
77
  if (!object || typeof object !== 'object') {
65
78
  return false
66
79
  }
@@ -69,6 +82,8 @@ const isElement = (object: unknown): object is HTMLElement => {
69
82
  }
70
83
 
71
84
  const getElement = (object: unknown): HTMLElement | null => {
85
+ object = unwrapJQuery(object)
86
+
72
87
  if (isElement(object)) {
73
88
  return object
74
89
  }
@@ -156,6 +171,48 @@ const reflow = (element: HTMLElement): void => {
156
171
 
157
172
  const isRTL = (): boolean => document.documentElement.dir === 'rtl'
158
173
 
174
+ const getjQuery = (): JQueryStaticLike | null => {
175
+ if (window.jQuery && !document.body.hasAttribute('data-bs-no-jquery') && !document.body.hasAttribute('data-tblr-no-jquery')) {
176
+ return window.jQuery
177
+ }
178
+
179
+ return null
180
+ }
181
+
182
+ const DOMContentLoadedCallbacks: Array<() => void> = []
183
+
184
+ const onDOMContentLoaded = (callback: () => void): void => {
185
+ if (document.readyState === 'loading') {
186
+ if (!DOMContentLoadedCallbacks.length) {
187
+ document.addEventListener('DOMContentLoaded', () => {
188
+ for (const domCallback of DOMContentLoadedCallbacks) {
189
+ domCallback()
190
+ }
191
+ })
192
+ }
193
+
194
+ DOMContentLoadedCallbacks.push(callback)
195
+ } else {
196
+ callback()
197
+ }
198
+ }
199
+
200
+ const defineJQueryPlugin = (plugin: JQueryPluginStatic): void => {
201
+ onDOMContentLoaded(() => {
202
+ const $ = getjQuery()
203
+ if ($) {
204
+ const name = plugin.NAME
205
+ const JQUERY_NO_CONFLICT = $.fn[name]
206
+ $.fn[name] = plugin.jQueryInterface
207
+ $.fn[name].Constructor = plugin
208
+ $.fn[name].noConflict = () => {
209
+ $.fn[name] = JQUERY_NO_CONFLICT
210
+ return plugin.jQueryInterface
211
+ }
212
+ }
213
+ })
214
+ }
215
+
159
216
  const execute = (possibleCallback: unknown, args: unknown[] = [], defaultValue: unknown = possibleCallback): unknown => {
160
217
  return typeof possibleCallback === 'function' ? possibleCallback.call(args[0], ...args.slice(1)) : defaultValue
161
218
  }
@@ -206,4 +263,4 @@ const getNextActiveElement = <T>(list: T[], activeElement: T, shouldGetNext: boo
206
263
  return list[Math.max(0, Math.min(index, listLength - 1))]
207
264
  }
208
265
 
209
- export { execute, executeAfterTransition, findShadowRoot, getElement, getNextActiveElement, getTransitionDurationFromElement, getUID, isDisabled, isElement, isRTL, isVisible, noop, parseSelector, reflow, triggerTransitionEnd, toType }
266
+ export { defineJQueryPlugin, execute, executeAfterTransition, findShadowRoot, getElement, getjQuery, getNextActiveElement, getTransitionDurationFromElement, getUID, isDisabled, isElement, isRTL, isVisible, noop, onDOMContentLoaded, parseSelector, reflow, triggerTransitionEnd, toType }
@@ -22,7 +22,7 @@ const POINTER_TYPE_PEN = 'pen'
22
22
  const CLASS_NAME_POINTER_EVENT = 'pointer-event'
23
23
  const SWIPE_THRESHOLD = 40
24
24
 
25
- interface SwipeConfig {
25
+ type SwipeConfig = {
26
26
  endCallback: (() => void) | null
27
27
  leftCallback: (() => void) | null
28
28
  rightCallback: (() => void) | null
@@ -43,8 +43,8 @@ const DefaultType: ComponentConfigType = {
43
43
  class Swipe extends Config {
44
44
  declare _config: SwipeConfig & ComponentConfig
45
45
  _element: HTMLElement
46
- _deltaX: number
47
- _supportPointerEvents: boolean
46
+ declare _deltaX: number
47
+ declare _supportPointerEvents: boolean
48
48
 
49
49
  constructor(element: HTMLElement, config?: ComponentConfig) {
50
50
  super()
@@ -13,7 +13,7 @@ import type { AllowList, ComponentConfig, ComponentConfigType, SanitizeFn } from
13
13
 
14
14
  const NAME = 'TemplateFactory'
15
15
 
16
- interface TemplateFactoryConfig {
16
+ type TemplateFactoryConfig = {
17
17
  allowList: AllowList
18
18
  content: Record<string, unknown>
19
19
  extraClass: string | (() => string)
@@ -104,7 +104,7 @@ class TemplateFactory extends Config {
104
104
 
105
105
  _typeCheckConfig(config: ComponentConfig): void {
106
106
  super._typeCheckConfig(config)
107
- this._checkContent(config.content)
107
+ this._checkContent(config.content as Record<string, unknown>)
108
108
  }
109
109
 
110
110
  _checkContent(arg: Record<string, unknown>): void {