@tabler/core 1.5.1 → 1.6.0

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 (961) 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 +4366 -5119
  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 +4922 -5678
  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 +6 -4
  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 +6 -4
  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 +5999 -3586
  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 +6010 -3586
  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 +45 -0
  754. package/dist/types/src/confetti.d.ts +58 -0
  755. package/dist/types/src/countup.d.ts +64 -1
  756. package/dist/types/src/datepicker.d.ts +102 -0
  757. package/dist/types/src/deprecated.d.ts +11 -0
  758. package/dist/types/src/input-mask.d.ts +42 -1
  759. package/dist/types/src/otp-input.d.ts +71 -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 +52 -0
  763. package/dist/types/src/switch-icon.d.ts +31 -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 +136 -7
  767. package/js/src/bootstrap/alert.ts +20 -0
  768. package/js/src/bootstrap/base-component.ts +1 -1
  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/dropdown.ts +61 -22
  774. package/js/src/bootstrap/modal.ts +39 -14
  775. package/js/src/bootstrap/offcanvas.ts +36 -11
  776. package/js/src/bootstrap/popover.ts +35 -9
  777. package/js/src/bootstrap/scrollspy.ts +38 -7
  778. package/js/src/bootstrap/tab.ts +20 -1
  779. package/js/src/bootstrap/toast.ts +31 -5
  780. package/js/src/bootstrap/tooltip.ts +109 -53
  781. package/js/src/bootstrap/types.ts +30 -1
  782. package/js/src/bootstrap/util/backdrop.ts +1 -1
  783. package/js/src/bootstrap/util/component-functions.ts +74 -5
  784. package/js/src/bootstrap/util/focustrap.ts +2 -2
  785. package/js/src/bootstrap/util/index.ts +46 -2
  786. package/js/src/bootstrap/util/swipe.ts +3 -3
  787. package/js/src/bootstrap/util/template-factory.ts +2 -2
  788. package/js/src/clipboard.ts +197 -0
  789. package/js/src/confetti.ts +439 -0
  790. package/js/src/countup.ts +335 -29
  791. package/js/src/datepicker.ts +671 -0
  792. package/js/src/deprecated.ts +28 -0
  793. package/js/src/dropdown.ts +1 -1
  794. package/js/src/global.d.ts +12 -13
  795. package/js/src/input-mask.ts +128 -8
  796. package/js/src/otp-input.ts +432 -0
  797. package/js/src/sortable.ts +116 -15
  798. package/js/src/sparkline.ts +609 -0
  799. package/js/src/strength.ts +277 -0
  800. package/js/src/switch-icon.ts +165 -9
  801. package/js/src/theme-config.ts +3 -1
  802. package/js/tabler-theme.ts +2 -4
  803. package/js/tabler.ts +21 -2
  804. package/libs.json +45 -109
  805. package/package.json +40 -29
  806. package/scss/_config.scss +1 -0
  807. package/scss/_core.scss +6 -0
  808. package/scss/_deprecated-props.scss +40 -0
  809. package/scss/_deprecated.scss +153 -0
  810. package/scss/_extends.scss +6 -1
  811. package/scss/_maps.scss +10 -11
  812. package/scss/_mixins.scss +1 -0
  813. package/scss/_props.scss +40 -6
  814. package/scss/_settings.scss +3 -1
  815. package/scss/_utilities-marketing.scss +1 -2
  816. package/scss/_utilities.scss +62 -24
  817. package/scss/_variables-dark.scss +31 -42
  818. package/scss/_variables-deprecated.scss +60 -0
  819. package/scss/_variables.scss +252 -189
  820. package/scss/bootstrap/_buttons.scss +6 -33
  821. package/scss/bootstrap/_carousel.scss +6 -7
  822. package/scss/bootstrap/_list-group.scss +28 -14
  823. package/scss/bootstrap/_nav.scss +2 -2
  824. package/scss/bootstrap/_navbar.scss +6 -7
  825. package/scss/bootstrap/_offcanvas.scss +2 -0
  826. package/scss/bootstrap/_pagination.scss +7 -3
  827. package/scss/bootstrap/_reboot.scss +3 -3
  828. package/scss/bootstrap/_root.scss +10 -33
  829. package/scss/bootstrap/_tables.scss +7 -2
  830. package/scss/bootstrap/forms/_floating-labels.scss +1 -1
  831. package/scss/bootstrap/forms/_form-check.scss +54 -42
  832. package/scss/bootstrap/forms/_form-control.scss +4 -8
  833. package/scss/bootstrap/forms/_form-range.scss +4 -2
  834. package/scss/bootstrap/forms/_form-select.scss +4 -7
  835. package/scss/helpers/_index.scss +11 -4
  836. package/scss/layout/_accessibility.scss +2 -1
  837. package/scss/layout/_core.scss +0 -8
  838. package/scss/layout/_navbar.scss +129 -44
  839. package/scss/layout/_page.scss +15 -2
  840. package/scss/layout/_root.scss +4 -3
  841. package/scss/marketing/_hero.scss +0 -11
  842. package/scss/mixins/_deprecated.scss +110 -0
  843. package/scss/mixins/_functions.scss +67 -113
  844. package/scss/mixins/_mixins.scss +41 -8
  845. package/scss/mixins/bootstrap/_caret.scss +7 -6
  846. package/scss/mixins/bootstrap/_color-mode.scss +6 -0
  847. package/scss/mixins/bootstrap/_forms.scss +10 -11
  848. package/scss/mixins/bootstrap/_gradients.scss +1 -1
  849. package/scss/mixins/bootstrap/_table-variants.scss +4 -5
  850. package/scss/tabler-props.scss +5 -0
  851. package/scss/tabler-themes.scss +67 -66
  852. package/scss/tabler-vendors.scss +3 -1
  853. package/scss/tabler.scss +2 -0
  854. package/scss/ui/_accordion.scss +24 -31
  855. package/scss/ui/_alerts.scss +29 -8
  856. package/scss/ui/_avatars.scss +3 -1
  857. package/scss/ui/_badges.scss +2 -0
  858. package/scss/ui/_breadcrumbs.scss +2 -0
  859. package/scss/ui/_buttons.scss +83 -58
  860. package/scss/ui/_calendars.scss +4 -5
  861. package/scss/ui/_cards.scss +38 -33
  862. package/scss/ui/_carousel.scss +1 -1
  863. package/scss/ui/_chat.scss +2 -0
  864. package/scss/ui/_close.scss +5 -2
  865. package/scss/ui/_datagrid.scss +2 -0
  866. package/scss/ui/_datepicker.scss +425 -0
  867. package/scss/ui/_dropdowns.scss +5 -1
  868. package/scss/ui/_empty.scss +2 -0
  869. package/scss/ui/_forms.scss +33 -47
  870. package/scss/ui/_icons.scss +2 -0
  871. package/scss/ui/_legend.scss +145 -2
  872. package/scss/ui/_lists.scss +3 -3
  873. package/scss/ui/_markdown.scss +1 -0
  874. package/scss/ui/_modals.scss +20 -1
  875. package/scss/ui/_nav.scss +3 -3
  876. package/scss/ui/_offcanvas.scss +47 -0
  877. package/scss/ui/_patterns.scss +39 -18
  878. package/scss/ui/_progress.scss +5 -2
  879. package/scss/ui/_ribbons.scss +6 -2
  880. package/scss/ui/_segmented.scss +1 -1
  881. package/scss/ui/_signal.scss +57 -0
  882. package/scss/ui/_sortable.scss +73 -0
  883. package/scss/ui/_sparkline.scss +73 -0
  884. package/scss/ui/_stars.scss +2 -0
  885. package/scss/ui/_status.scss +2 -2
  886. package/scss/ui/_steps.scss +2 -0
  887. package/scss/ui/_switch-icon.scss +67 -11
  888. package/scss/ui/_tables.scss +3 -3
  889. package/scss/ui/_tags.scss +2 -0
  890. package/scss/ui/_timeline.scss +2 -0
  891. package/scss/ui/_tracking.scss +2 -0
  892. package/scss/ui/_type.scss +12 -4
  893. package/scss/ui/forms/_form-check.scss +10 -2
  894. package/scss/ui/forms/_form-colorinput.scss +4 -3
  895. package/scss/ui/forms/_form-custom.scss +0 -13
  896. package/scss/ui/forms/_form-imagecheck.scss +4 -3
  897. package/scss/ui/forms/_form-otp.scss +171 -0
  898. package/scss/ui/forms/_form-selectgroup.scss +7 -7
  899. package/scss/ui/forms/_strength.scss +63 -0
  900. package/scss/ui/forms/_validation.scss +5 -0
  901. package/scss/utils/_background.scss +2 -2
  902. package/scss/utils/_colors.scss +17 -14
  903. package/scss/vendor/_apexcharts.scss +10 -1
  904. package/scss/vendor/_coloris.scss +10 -3
  905. package/scss/vendor/_fslightbox.scss +2 -2
  906. package/scss/vendor/_jsvectormap.scss +1 -1
  907. package/scss/vendor/_nouislider.scss +2 -1
  908. package/scss/vendor/_tom-select.scss +84 -7
  909. package/dist/types/src/tabler.d.ts +0 -3
  910. package/js/src/tabler.ts +0 -17
  911. package/js/tests/helpers/fixture.ts +0 -33
  912. package/js/tests/unit/alert.spec.ts +0 -176
  913. package/js/tests/unit/base-component.spec.ts +0 -166
  914. package/js/tests/unit/button.spec.ts +0 -167
  915. package/js/tests/unit/carousel.spec.ts +0 -546
  916. package/js/tests/unit/collapse.spec.ts +0 -791
  917. package/js/tests/unit/dom/data.spec.ts +0 -180
  918. package/js/tests/unit/dom/event-handler.spec.ts +0 -460
  919. package/js/tests/unit/dom/manipulator.spec.ts +0 -201
  920. package/js/tests/unit/dom/selector-engine.spec.ts +0 -300
  921. package/js/tests/unit/dropdown.spec.ts +0 -1095
  922. package/js/tests/unit/modal.spec.ts +0 -629
  923. package/js/tests/unit/offcanvas.spec.ts +0 -434
  924. package/js/tests/unit/popover.spec.ts +0 -253
  925. package/js/tests/unit/scrollspy.spec.ts +0 -634
  926. package/js/tests/unit/sidebar.spec.ts +0 -118
  927. package/js/tests/unit/tab.spec.ts +0 -775
  928. package/js/tests/unit/tabler-theme.spec.ts +0 -100
  929. package/js/tests/unit/toast.spec.ts +0 -514
  930. package/js/tests/unit/tooltip.spec.ts +0 -679
  931. package/js/tests/unit/util/backdrop.spec.ts +0 -213
  932. package/js/tests/unit/util/component-functions.spec.ts +0 -88
  933. package/js/tests/unit/util/config.spec.ts +0 -150
  934. package/js/tests/unit/util/focustrap.spec.ts +0 -232
  935. package/js/tests/unit/util/index.spec.ts +0 -478
  936. package/js/tests/unit/util/sanitizer.spec.ts +0 -118
  937. package/js/tests/unit/util/scrollbar.spec.ts +0 -202
  938. package/js/tests/unit/util/swipe.spec.ts +0 -319
  939. package/js/tests/unit/util/template-factory.spec.ts +0 -233
  940. package/scss/tests/_add-subtract.test.scss +0 -48
  941. package/scss/tests/_border-radius.test.scss +0 -23
  942. package/scss/tests/_box-shadow.test.scss +0 -71
  943. package/scss/tests/_breakpoints.test.scss +0 -50
  944. package/scss/tests/_cards.test.scss +0 -31
  945. package/scss/tests/_caret.test.scss +0 -115
  946. package/scss/tests/_color-contrast.test.scss +0 -24
  947. package/scss/tests/_color-mode.test.scss +0 -28
  948. package/scss/tests/_color.test.scss +0 -44
  949. package/scss/tests/_colors-misc.test.scss +0 -80
  950. package/scss/tests/_css-var.test.scss +0 -37
  951. package/scss/tests/_divide.test.scss +0 -45
  952. package/scss/tests/_escape-svg.test.scss +0 -18
  953. package/scss/tests/_generate-utility.test.scss +0 -245
  954. package/scss/tests/_grid.test.scss +0 -153
  955. package/scss/tests/_maps.test.scss +0 -76
  956. package/scss/tests/_media-breakpoint.test.scss +0 -202
  957. package/scss/tests/_mixins-bootstrap.test.scss +0 -55
  958. package/scss/tests/_mixins.test.scss +0 -208
  959. package/scss/tests/_rfs.test.scss +0 -30
  960. package/scss/tests/_str-replace.test.scss +0 -34
  961. package/scss/tests/_transition.test.scss +0 -43
@@ -1,791 +0,0 @@
1
- import { describe, it, expect, beforeAll, afterEach, vi } from 'vitest'
2
- import Collapse from '../../src/bootstrap/collapse'
3
- import EventHandler from '../../src/bootstrap/dom/event-handler'
4
- import { clearFixture, getFixture } from '../helpers/fixture'
5
-
6
- describe('Collapse', () => {
7
- let fixtureEl: HTMLElement
8
-
9
- beforeAll(() => {
10
- fixtureEl = getFixture()
11
- })
12
-
13
- afterEach(() => {
14
- clearFixture()
15
- vi.restoreAllMocks()
16
- })
17
-
18
- describe('VERSION', () => {
19
- it('should return plugin version', () => {
20
- expect(typeof Collapse.VERSION).toBe('string')
21
- })
22
- })
23
-
24
- describe('Default', () => {
25
- it('should return plugin default config', () => {
26
- expect(typeof Collapse.Default).toBe('object')
27
- })
28
- })
29
-
30
- describe('DATA_KEY', () => {
31
- it('should return plugin data key', () => {
32
- expect(Collapse.DATA_KEY).toBe('bs.collapse')
33
- })
34
- })
35
-
36
- describe('constructor', () => {
37
- it('should accept element as CSS selector or DOM element', () => {
38
- fixtureEl.innerHTML = '<div class="my-collapse"></div>'
39
-
40
- const collapseEl = fixtureEl.querySelector('div.my-collapse')!
41
- const collapseBySelector = new Collapse('div.my-collapse')
42
- const collapseByElement = new Collapse(collapseEl)
43
-
44
- expect(collapseBySelector._element).toBe(collapseEl)
45
- expect(collapseByElement._element).toBe(collapseEl)
46
- })
47
-
48
- it('should allow DOM element in parent config', () => {
49
- fixtureEl.innerHTML = ['<div class="my-collapse">', ' <div class="item">', ' <a data-bs-toggle="collapse" href="#">Toggle</a>', ' <div class="collapse">Lorem ipsum</div>', ' </div>', '</div>'].join('')
50
-
51
- const collapseEl = fixtureEl.querySelector('div.collapse')!
52
- const myCollapseEl = fixtureEl.querySelector('.my-collapse')!
53
-
54
- const collapse = new Collapse(collapseEl, { parent: myCollapseEl })
55
- expect(collapse._config.parent).toBe(myCollapseEl)
56
- })
57
-
58
- it('should allow string selector in parent config', () => {
59
- fixtureEl.innerHTML = ['<div class="my-collapse">', ' <div class="item">', ' <a data-bs-toggle="collapse" href="#">Toggle</a>', ' <div class="collapse">Lorem ipsum</div>', ' </div>', '</div>'].join('')
60
-
61
- const collapseEl = fixtureEl.querySelector('div.collapse')!
62
- const myCollapseEl = fixtureEl.querySelector('.my-collapse')!
63
-
64
- const collapse = new Collapse(collapseEl, { parent: 'div.my-collapse' })
65
- expect(collapse._config.parent).toBe(myCollapseEl)
66
- })
67
- })
68
-
69
- describe('toggle', () => {
70
- it('should call show if not shown', () => {
71
- fixtureEl.innerHTML = '<div></div>'
72
-
73
- const collapseEl = fixtureEl.querySelector('div')!
74
- const collapse = new Collapse(collapseEl)
75
- const spy = vi.spyOn(collapse, 'show')
76
-
77
- collapse.toggle()
78
- expect(spy).toHaveBeenCalled()
79
- })
80
-
81
- it('should call hide if shown', () => {
82
- fixtureEl.innerHTML = '<div class="show"></div>'
83
-
84
- const collapseEl = fixtureEl.querySelector('.show')!
85
- const collapse = new Collapse(collapseEl, { toggle: false })
86
- const spy = vi.spyOn(collapse, 'hide')
87
-
88
- collapse.toggle()
89
- expect(spy).toHaveBeenCalled()
90
- })
91
-
92
- it('should collapse children with parent', () => {
93
- return new Promise<void>((resolve) => {
94
- fixtureEl.innerHTML = [
95
- '<div class="my-collapse">',
96
- ' <div class="item">',
97
- ' <a data-bs-toggle="collapse" href="#">Toggle 1</a>',
98
- ' <div id="collapse1" class="collapse show">Lorem ipsum 1</div>',
99
- ' </div>',
100
- ' <div class="item">',
101
- ' <a data-bs-toggle="collapse" href="#">Toggle 2</a>',
102
- ' <div id="collapse2" class="collapse">Lorem ipsum 2</div>',
103
- ' </div>',
104
- '</div>',
105
- ].join('')
106
-
107
- const parent = fixtureEl.querySelector('.my-collapse')!
108
- const collapseEl1 = fixtureEl.querySelector('#collapse1')!
109
- const collapseEl2 = fixtureEl.querySelector('#collapse2')!
110
-
111
- const collapseList = Array.from(fixtureEl.querySelectorAll('.collapse')).map((el) => new Collapse(el, { parent, toggle: false }))
112
-
113
- collapseEl2.addEventListener('shown.bs.collapse', () => {
114
- expect(collapseEl2.classList.contains('show')).toBe(true)
115
- expect(collapseEl1.classList.contains('show')).toBe(false)
116
- resolve()
117
- })
118
-
119
- collapseList[1].toggle()
120
- })
121
- })
122
- })
123
-
124
- describe('show', () => {
125
- it('should do nothing if transitioning', () => {
126
- fixtureEl.innerHTML = '<div></div>'
127
-
128
- const spy = vi.spyOn(EventHandler, 'trigger')
129
- const collapseEl = fixtureEl.querySelector('div')!
130
- const collapse = new Collapse(collapseEl, { toggle: false })
131
-
132
- collapse._isTransitioning = true
133
- collapse.show()
134
-
135
- expect(spy).not.toHaveBeenCalled()
136
- })
137
-
138
- it('should do nothing if already shown', () => {
139
- fixtureEl.innerHTML = '<div class="show"></div>'
140
-
141
- const spy = vi.spyOn(EventHandler, 'trigger')
142
- const collapseEl = fixtureEl.querySelector('div')!
143
- const collapse = new Collapse(collapseEl, { toggle: false })
144
-
145
- collapse.show()
146
- expect(spy).not.toHaveBeenCalled()
147
- })
148
-
149
- it('should show a collapsed element', () => {
150
- return new Promise<void>((resolve) => {
151
- fixtureEl.innerHTML = '<div class="collapse" style="height: 0px;"></div>'
152
-
153
- const collapseEl = fixtureEl.querySelector('div')!
154
- const collapse = new Collapse(collapseEl, { toggle: false })
155
-
156
- collapseEl.addEventListener('show.bs.collapse', () => {
157
- expect(collapseEl.style.height).toBe('0px')
158
- })
159
-
160
- collapseEl.addEventListener('shown.bs.collapse', () => {
161
- expect(collapseEl.classList.contains('show')).toBe(true)
162
- expect(collapseEl.style.height).toBe('')
163
- resolve()
164
- })
165
-
166
- collapse.show()
167
- })
168
- })
169
-
170
- it('should show a collapsed element on width', () => {
171
- return new Promise<void>((resolve) => {
172
- fixtureEl.innerHTML = '<div class="collapse collapse-horizontal" style="width: 0px;"></div>'
173
-
174
- const collapseEl = fixtureEl.querySelector('div')!
175
- const collapse = new Collapse(collapseEl, { toggle: false })
176
-
177
- collapseEl.addEventListener('show.bs.collapse', () => {
178
- expect(collapseEl.style.width).toBe('0px')
179
- })
180
-
181
- collapseEl.addEventListener('shown.bs.collapse', () => {
182
- expect(collapseEl.classList.contains('show')).toBe(true)
183
- expect(collapseEl.style.width).toBe('')
184
- resolve()
185
- })
186
-
187
- collapse.show()
188
- })
189
- })
190
-
191
- it('should collapse only the first collapse', () => {
192
- return new Promise<void>((resolve) => {
193
- fixtureEl.innerHTML = ['<div class="card" id="accordion1">', ' <div id="collapse1" class="collapse"></div>', '</div>', '<div class="card" id="accordion2">', ' <div id="collapse2" class="collapse show"></div>', '</div>'].join('')
194
-
195
- const el1 = fixtureEl.querySelector('#collapse1')!
196
- const el2 = fixtureEl.querySelector('#collapse2')!
197
- const collapse = new Collapse(el1, { toggle: false })
198
-
199
- el1.addEventListener('shown.bs.collapse', () => {
200
- expect(el1.classList.contains('show')).toBe(true)
201
- expect(el2.classList.contains('show')).toBe(true)
202
- resolve()
203
- })
204
-
205
- collapse.show()
206
- })
207
- })
208
-
209
- it('should handle toggling children siblings in accordion', () => {
210
- return new Promise<void>((resolve) => {
211
- fixtureEl.innerHTML = [
212
- '<div id="parentGroup" class="accordion">',
213
- ' <div class="accordion-header">',
214
- ' <button data-bs-target="#parentContent" data-bs-toggle="collapse">Parent</button>',
215
- ' </div>',
216
- ' <div id="parentContent" class="accordion-collapse collapse" data-bs-parent="#parentGroup">',
217
- ' <div class="accordion-body">',
218
- ' <div id="childGroup" class="accordion">',
219
- ' <div class="accordion-item">',
220
- ' <button data-bs-target="#childContent1" data-bs-toggle="collapse">Child 1</button>',
221
- ' <div id="childContent1" class="accordion-collapse collapse" data-bs-parent="#childGroup">content</div>',
222
- ' </div>',
223
- ' <div class="accordion-item">',
224
- ' <button data-bs-target="#childContent2" data-bs-toggle="collapse">Child 2</button>',
225
- ' <div id="childContent2" class="accordion-collapse collapse" data-bs-parent="#childGroup">content</div>',
226
- ' </div>',
227
- ' </div>',
228
- ' </div>',
229
- ' </div>',
230
- '</div>',
231
- ].join('')
232
-
233
- const el = (s: string) => fixtureEl.querySelector(s) as HTMLElement
234
-
235
- const parentBtn = el('[data-bs-target="#parentContent"]')
236
- const childBtn1 = el('[data-bs-target="#childContent1"]')
237
- const childBtn2 = el('[data-bs-target="#childContent2"]')
238
- const parentCollapseEl = el('#parentContent')
239
- const childCollapseEl1 = el('#childContent1')
240
- const childCollapseEl2 = el('#childContent2')
241
-
242
- parentCollapseEl.addEventListener('shown.bs.collapse', () => {
243
- expect(parentCollapseEl.classList.contains('show')).toBe(true)
244
- childBtn1.click()
245
- })
246
-
247
- childCollapseEl1.addEventListener('shown.bs.collapse', () => {
248
- expect(childCollapseEl1.classList.contains('show')).toBe(true)
249
- childBtn2.click()
250
- })
251
-
252
- childCollapseEl2.addEventListener('shown.bs.collapse', () => {
253
- expect(childCollapseEl2.classList.contains('show')).toBe(true)
254
- expect(childCollapseEl1.classList.contains('show')).toBe(false)
255
- resolve()
256
- })
257
-
258
- parentBtn.click()
259
- })
260
- })
261
-
262
- it('should not show if active children are transitioning', () => {
263
- fixtureEl.innerHTML = ['<div id="accordion">', ' <div id="collapse1" class="collapse show" data-bs-parent="#accordion"></div>', ' <div id="collapse2" class="collapse" data-bs-parent="#accordion"></div>', '</div>'].join('')
264
-
265
- const el1 = fixtureEl.querySelector('#collapse1')!
266
- const el2 = fixtureEl.querySelector('#collapse2')!
267
-
268
- const collapse1 = new Collapse(el1, { toggle: false })
269
- const collapse2 = new Collapse(el2, { toggle: false })
270
-
271
- collapse1._isTransitioning = true
272
-
273
- const spy = vi.spyOn(EventHandler, 'trigger')
274
- collapse2.show()
275
-
276
- expect(spy).not.toHaveBeenCalled()
277
- })
278
-
279
- it('should not fire shown when show is prevented', () => {
280
- return new Promise<void>((resolve, reject) => {
281
- fixtureEl.innerHTML = '<div class="collapse"></div>'
282
-
283
- const collapseEl = fixtureEl.querySelector('div')!
284
- const collapse = new Collapse(collapseEl, { toggle: false })
285
-
286
- collapseEl.addEventListener('show.bs.collapse', (event) => {
287
- event.preventDefault()
288
- setTimeout(() => {
289
- resolve()
290
- }, 10)
291
- })
292
-
293
- collapseEl.addEventListener('shown.bs.collapse', () => {
294
- reject(new Error('should not fire shown'))
295
- })
296
-
297
- collapse.show()
298
- })
299
- })
300
- })
301
-
302
- describe('hide', () => {
303
- it('should do nothing if transitioning', () => {
304
- fixtureEl.innerHTML = '<div></div>'
305
-
306
- const spy = vi.spyOn(EventHandler, 'trigger')
307
- const collapseEl = fixtureEl.querySelector('div')!
308
- const collapse = new Collapse(collapseEl, { toggle: false })
309
-
310
- collapse._isTransitioning = true
311
- collapse.hide()
312
-
313
- expect(spy).not.toHaveBeenCalled()
314
- })
315
-
316
- it('should do nothing if not shown', () => {
317
- fixtureEl.innerHTML = '<div></div>'
318
-
319
- const spy = vi.spyOn(EventHandler, 'trigger')
320
- const collapseEl = fixtureEl.querySelector('div')!
321
- const collapse = new Collapse(collapseEl, { toggle: false })
322
-
323
- collapse.hide()
324
- expect(spy).not.toHaveBeenCalled()
325
- })
326
-
327
- it('should hide a collapse element', () => {
328
- return new Promise<void>((resolve) => {
329
- fixtureEl.innerHTML = '<div class="collapse show"></div>'
330
-
331
- const collapseEl = fixtureEl.querySelector('div')!
332
- const collapse = new Collapse(collapseEl, { toggle: false })
333
-
334
- collapseEl.addEventListener('hidden.bs.collapse', () => {
335
- expect(collapseEl.classList.contains('show')).toBe(false)
336
- expect(collapseEl.style.height).toBe('')
337
- resolve()
338
- })
339
-
340
- collapse.hide()
341
- })
342
- })
343
-
344
- it('should not fire hidden when hide is prevented', () => {
345
- return new Promise<void>((resolve, reject) => {
346
- fixtureEl.innerHTML = '<div class="collapse show"></div>'
347
-
348
- const collapseEl = fixtureEl.querySelector('div')!
349
- const collapse = new Collapse(collapseEl, { toggle: false })
350
-
351
- collapseEl.addEventListener('hide.bs.collapse', (event) => {
352
- event.preventDefault()
353
- setTimeout(resolve, 10)
354
- })
355
-
356
- collapseEl.addEventListener('hidden.bs.collapse', () => {
357
- reject(new Error('should not fire hidden'))
358
- })
359
-
360
- collapse.hide()
361
- })
362
- })
363
- })
364
-
365
- describe('dispose', () => {
366
- it('should destroy a collapse', () => {
367
- fixtureEl.innerHTML = '<div class="collapse show"></div>'
368
-
369
- const collapseEl = fixtureEl.querySelector('div')!
370
- const collapse = new Collapse(collapseEl, { toggle: false })
371
-
372
- expect(Collapse.getInstance(collapseEl)).toBe(collapse)
373
-
374
- collapse.dispose()
375
-
376
- expect(Collapse.getInstance(collapseEl)).toBeNull()
377
- })
378
- })
379
-
380
- describe('data-api', () => {
381
- it('should prevent url change on nested elements', () => {
382
- return new Promise<void>((resolve) => {
383
- fixtureEl.innerHTML = ['<a role="button" data-bs-toggle="collapse" class="collapsed" href="#collapse">', ' <span id="nested"></span>', '</a>', '<div id="collapse" class="collapse"></div>'].join('')
384
-
385
- const triggerEl = fixtureEl.querySelector('a')!
386
- const nestedTriggerEl = fixtureEl.querySelector('#nested')!
387
-
388
- const spy = vi.spyOn(Event.prototype, 'preventDefault')
389
-
390
- triggerEl.addEventListener('click', (event) => {
391
- expect((event.target as Element).isEqualNode(nestedTriggerEl)).toBe(true)
392
- expect(spy).toHaveBeenCalled()
393
- resolve()
394
- })
395
-
396
- nestedTriggerEl.click()
397
- })
398
- })
399
-
400
- it('should show multiple collapsed elements', () => {
401
- return new Promise<void>((resolve) => {
402
- fixtureEl.innerHTML = ['<a role="button" data-bs-toggle="collapse" class="collapsed" href=".multi"></a>', '<div id="collapse1" class="collapse multi"></div>', '<div id="collapse2" class="collapse multi"></div>'].join('')
403
-
404
- const trigger = fixtureEl.querySelector('a')!
405
- const collapse1 = fixtureEl.querySelector('#collapse1')!
406
- const collapse2 = fixtureEl.querySelector('#collapse2')!
407
-
408
- collapse2.addEventListener('shown.bs.collapse', () => {
409
- expect(trigger.getAttribute('aria-expanded')).toBe('true')
410
- expect(trigger.classList.contains('collapsed')).toBe(false)
411
- expect(collapse1.classList.contains('show')).toBe(true)
412
- expect(collapse2.classList.contains('show')).toBe(true)
413
- resolve()
414
- })
415
-
416
- trigger.click()
417
- })
418
- })
419
-
420
- it('should hide multiple collapsed elements', () => {
421
- return new Promise<void>((resolve) => {
422
- fixtureEl.innerHTML = ['<a role="button" data-bs-toggle="collapse" href=".multi"></a>', '<div id="collapse1" class="collapse multi show"></div>', '<div id="collapse2" class="collapse multi show"></div>'].join('')
423
-
424
- const trigger = fixtureEl.querySelector('a')!
425
- const collapse1 = fixtureEl.querySelector('#collapse1')!
426
- const collapse2 = fixtureEl.querySelector('#collapse2')!
427
-
428
- collapse2.addEventListener('hidden.bs.collapse', () => {
429
- expect(trigger.getAttribute('aria-expanded')).toBe('false')
430
- expect(trigger.classList.contains('collapsed')).toBe(true)
431
- expect(collapse1.classList.contains('show')).toBe(false)
432
- expect(collapse2.classList.contains('show')).toBe(false)
433
- resolve()
434
- })
435
-
436
- trigger.click()
437
- })
438
- })
439
-
440
- it('should show collapse via data-tblr-target', () => {
441
- return new Promise<void>((resolve) => {
442
- fixtureEl.innerHTML = ['<a role="button" data-bs-toggle="collapse" class="collapsed" data-tblr-target="#test1"></a>', '<div id="test1" class="collapse"></div>'].join('')
443
-
444
- const trigger = fixtureEl.querySelector('a') as HTMLElement
445
- const collapseEl = fixtureEl.querySelector('#test1')!
446
-
447
- collapseEl.addEventListener('shown.bs.collapse', () => {
448
- expect(collapseEl.classList.contains('show')).toBe(true)
449
- expect(trigger.classList.contains('collapsed')).toBe(false)
450
- expect(trigger.getAttribute('aria-expanded')).toBe('true')
451
- resolve()
452
- })
453
-
454
- trigger.click()
455
- })
456
- })
457
-
458
- it('should hide collapse via data-tblr-target', () => {
459
- return new Promise<void>((resolve) => {
460
- fixtureEl.innerHTML = ['<a role="button" data-bs-toggle="collapse" data-tblr-target="#test1"></a>', '<div id="test1" class="collapse show"></div>'].join('')
461
-
462
- const trigger = fixtureEl.querySelector('a') as HTMLElement
463
- const collapseEl = fixtureEl.querySelector('#test1')!
464
-
465
- collapseEl.addEventListener('hidden.bs.collapse', () => {
466
- expect(collapseEl.classList.contains('show')).toBe(false)
467
- expect(trigger.classList.contains('collapsed')).toBe(true)
468
- expect(trigger.getAttribute('aria-expanded')).toBe('false')
469
- resolve()
470
- })
471
-
472
- trigger.click()
473
- })
474
- })
475
-
476
- it('should remove collapsed class from trigger on show', () => {
477
- return new Promise<void>((resolve) => {
478
- fixtureEl.innerHTML = ['<a id="link1" role="button" data-bs-toggle="collapse" class="collapsed" href="#" data-bs-target="#test1"></a>', '<a id="link2" role="button" data-bs-toggle="collapse" class="collapsed" href="#" data-bs-target="#test1"></a>', '<div id="test1"></div>'].join('')
479
-
480
- const link1 = fixtureEl.querySelector('#link1')!
481
- const link2 = fixtureEl.querySelector('#link2')!
482
- const collapseEl = fixtureEl.querySelector('#test1')!
483
-
484
- collapseEl.addEventListener('shown.bs.collapse', () => {
485
- expect(link1.getAttribute('aria-expanded')).toBe('true')
486
- expect(link2.getAttribute('aria-expanded')).toBe('true')
487
- expect(link1.classList.contains('collapsed')).toBe(false)
488
- expect(link2.classList.contains('collapsed')).toBe(false)
489
- resolve()
490
- })
491
-
492
- ;(link1 as HTMLElement).click()
493
- })
494
- })
495
-
496
- it('should add collapsed class to trigger on hide', () => {
497
- return new Promise<void>((resolve) => {
498
- fixtureEl.innerHTML = ['<a id="link1" role="button" data-bs-toggle="collapse" href="#" data-bs-target="#test1"></a>', '<a id="link2" role="button" data-bs-toggle="collapse" href="#" data-bs-target="#test1"></a>', '<div id="test1" class="show"></div>'].join('')
499
-
500
- const link1 = fixtureEl.querySelector('#link1')!
501
- const link2 = fixtureEl.querySelector('#link2')!
502
- const collapseEl = fixtureEl.querySelector('#test1')!
503
-
504
- collapseEl.addEventListener('hidden.bs.collapse', () => {
505
- expect(link1.getAttribute('aria-expanded')).toBe('false')
506
- expect(link2.getAttribute('aria-expanded')).toBe('false')
507
- expect(link1.classList.contains('collapsed')).toBe(true)
508
- expect(link2.classList.contains('collapsed')).toBe(true)
509
- resolve()
510
- })
511
-
512
- ;(link1 as HTMLElement).click()
513
- })
514
- })
515
-
516
- it('should allow accordion with non-card children', () => {
517
- return new Promise<void>((resolve) => {
518
- fixtureEl.innerHTML = [
519
- '<div id="accordion">',
520
- ' <div class="item">',
521
- ' <a id="linkTrigger" data-bs-toggle="collapse" href="#collapseOne"></a>',
522
- ' <div id="collapseOne" class="collapse" data-bs-parent="#accordion"></div>',
523
- ' </div>',
524
- ' <div class="item">',
525
- ' <a id="linkTriggerTwo" data-bs-toggle="collapse" href="#collapseTwo"></a>',
526
- ' <div id="collapseTwo" class="collapse show" data-bs-parent="#accordion"></div>',
527
- ' </div>',
528
- '</div>',
529
- ].join('')
530
-
531
- const trigger = fixtureEl.querySelector('#linkTrigger') as HTMLElement
532
- const triggerTwo = fixtureEl.querySelector('#linkTriggerTwo') as HTMLElement
533
- const collapseOne = fixtureEl.querySelector('#collapseOne')!
534
- const collapseTwo = fixtureEl.querySelector('#collapseTwo')!
535
-
536
- collapseOne.addEventListener('shown.bs.collapse', () => {
537
- expect(collapseOne.classList.contains('show')).toBe(true)
538
- expect(collapseTwo.classList.contains('show')).toBe(false)
539
-
540
- collapseTwo.addEventListener('shown.bs.collapse', () => {
541
- expect(collapseOne.classList.contains('show')).toBe(false)
542
- expect(collapseTwo.classList.contains('show')).toBe(true)
543
- resolve()
544
- })
545
-
546
- triggerTwo.click()
547
- })
548
-
549
- trigger.click()
550
- })
551
- })
552
-
553
- it('should not prevent event for input', () => {
554
- return new Promise<void>((resolve) => {
555
- fixtureEl.innerHTML = ['<input type="checkbox" data-bs-toggle="collapse" data-bs-target="#collapsediv1">', '<div id="collapsediv1"></div>'].join('')
556
-
557
- const target = fixtureEl.querySelector('input') as HTMLInputElement
558
- const collapseEl = fixtureEl.querySelector('#collapsediv1')!
559
-
560
- collapseEl.addEventListener('shown.bs.collapse', () => {
561
- expect(collapseEl.classList.contains('show')).toBe(true)
562
- expect(target.checked).toBe(true)
563
- resolve()
564
- })
565
-
566
- target.click()
567
- })
568
- })
569
-
570
- it('should allow accordion with nested elements', () => {
571
- return new Promise<void>((resolve) => {
572
- fixtureEl.innerHTML = [
573
- '<div id="accordion">',
574
- ' <div class="row">',
575
- ' <div class="col-lg-6">',
576
- ' <div class="item">',
577
- ' <a id="linkTrigger" data-bs-toggle="collapse" href="#collapseOne"></a>',
578
- ' <div id="collapseOne" class="collapse" data-bs-parent="#accordion"></div>',
579
- ' </div>',
580
- ' </div>',
581
- ' <div class="col-lg-6">',
582
- ' <div class="item">',
583
- ' <a id="linkTriggerTwo" data-bs-toggle="collapse" href="#collapseTwo"></a>',
584
- ' <div id="collapseTwo" class="collapse show" data-bs-parent="#accordion"></div>',
585
- ' </div>',
586
- ' </div>',
587
- ' </div>',
588
- '</div>',
589
- ].join('')
590
-
591
- const triggerEl = fixtureEl.querySelector('#linkTrigger') as HTMLElement
592
- const triggerTwoEl = fixtureEl.querySelector('#linkTriggerTwo') as HTMLElement
593
- const collapseOneEl = fixtureEl.querySelector('#collapseOne')!
594
- const collapseTwoEl = fixtureEl.querySelector('#collapseTwo')!
595
-
596
- collapseOneEl.addEventListener('shown.bs.collapse', () => {
597
- expect(collapseOneEl.classList.contains('show')).toBe(true)
598
- expect(triggerEl.classList.contains('collapsed')).toBe(false)
599
- expect(triggerEl.getAttribute('aria-expanded')).toBe('true')
600
-
601
- expect(collapseTwoEl.classList.contains('show')).toBe(false)
602
- expect(triggerTwoEl.classList.contains('collapsed')).toBe(true)
603
- expect(triggerTwoEl.getAttribute('aria-expanded')).toBe('false')
604
-
605
- collapseTwoEl.addEventListener('shown.bs.collapse', () => {
606
- expect(collapseOneEl.classList.contains('show')).toBe(false)
607
- expect(triggerEl.classList.contains('collapsed')).toBe(true)
608
- expect(triggerEl.getAttribute('aria-expanded')).toBe('false')
609
-
610
- expect(collapseTwoEl.classList.contains('show')).toBe(true)
611
- expect(triggerTwoEl.classList.contains('collapsed')).toBe(false)
612
- expect(triggerTwoEl.getAttribute('aria-expanded')).toBe('true')
613
- resolve()
614
- })
615
-
616
- triggerTwoEl.click()
617
- })
618
-
619
- triggerEl.click()
620
- })
621
- })
622
-
623
- it('should collapse accordion children but not nested accordion', () => {
624
- return new Promise<void>((resolve) => {
625
- fixtureEl.innerHTML = [
626
- '<div id="accordion">',
627
- ' <div class="item">',
628
- ' <a id="linkTrigger" data-bs-toggle="collapse" href="#collapseOne"></a>',
629
- ' <div id="collapseOne" data-bs-parent="#accordion" class="collapse">',
630
- ' <div id="nestedAccordion">',
631
- ' <div class="item">',
632
- ' <a id="nestedLinkTrigger" data-bs-toggle="collapse" href="#nestedCollapseOne"></a>',
633
- ' <div id="nestedCollapseOne" data-bs-parent="#nestedAccordion" class="collapse"></div>',
634
- ' </div>',
635
- ' </div>',
636
- ' </div>',
637
- ' </div>',
638
- ' <div class="item">',
639
- ' <a id="linkTriggerTwo" data-bs-toggle="collapse" href="#collapseTwo"></a>',
640
- ' <div id="collapseTwo" data-bs-parent="#accordion" class="collapse show"></div>',
641
- ' </div>',
642
- '</div>',
643
- ].join('')
644
-
645
- const trigger = fixtureEl.querySelector('#linkTrigger') as HTMLElement
646
- const triggerTwo = fixtureEl.querySelector('#linkTriggerTwo') as HTMLElement
647
- const nestedTrigger = fixtureEl.querySelector('#nestedLinkTrigger') as HTMLElement
648
- const collapseOne = fixtureEl.querySelector('#collapseOne')!
649
- const collapseTwo = fixtureEl.querySelector('#collapseTwo')!
650
- const nestedCollapseOne = fixtureEl.querySelector('#nestedCollapseOne')!
651
-
652
- function handlerCollapseOne() {
653
- expect(collapseOne.classList.contains('show')).toBe(true)
654
- expect(collapseTwo.classList.contains('show')).toBe(false)
655
- expect(nestedCollapseOne.classList.contains('show')).toBe(false)
656
-
657
- nestedCollapseOne.addEventListener('shown.bs.collapse', handlerNestedCollapseOne)
658
- nestedTrigger.click()
659
- collapseOne.removeEventListener('shown.bs.collapse', handlerCollapseOne)
660
- }
661
-
662
- function handlerNestedCollapseOne() {
663
- expect(collapseOne.classList.contains('show')).toBe(true)
664
- expect(collapseTwo.classList.contains('show')).toBe(false)
665
- expect(nestedCollapseOne.classList.contains('show')).toBe(true)
666
-
667
- collapseTwo.addEventListener('shown.bs.collapse', () => {
668
- expect(collapseOne.classList.contains('show')).toBe(false)
669
- expect(collapseTwo.classList.contains('show')).toBe(true)
670
- expect(nestedCollapseOne.classList.contains('show')).toBe(true)
671
- resolve()
672
- })
673
-
674
- triggerTwo.click()
675
- nestedCollapseOne.removeEventListener('shown.bs.collapse', handlerNestedCollapseOne)
676
- }
677
-
678
- collapseOne.addEventListener('shown.bs.collapse', handlerCollapseOne)
679
- trigger.click()
680
- })
681
- })
682
- })
683
-
684
- describe('getInstance', () => {
685
- it('should return collapse instance', () => {
686
- fixtureEl.innerHTML = '<div></div>'
687
-
688
- const div = fixtureEl.querySelector('div')!
689
- const collapse = new Collapse(div)
690
-
691
- expect(Collapse.getInstance(div)).toBe(collapse)
692
- expect(Collapse.getInstance(div)).toBeInstanceOf(Collapse)
693
- })
694
-
695
- it('should return null when there is no collapse instance', () => {
696
- fixtureEl.innerHTML = '<div></div>'
697
- const div = fixtureEl.querySelector('div')!
698
- expect(Collapse.getInstance(div)).toBeNull()
699
- })
700
- })
701
-
702
- describe('getOrCreateInstance', () => {
703
- it('should return collapse instance', () => {
704
- fixtureEl.innerHTML = '<div></div>'
705
-
706
- const div = fixtureEl.querySelector('div')!
707
- const collapse = new Collapse(div)
708
-
709
- expect(Collapse.getOrCreateInstance(div)).toBe(collapse)
710
- expect(Collapse.getOrCreateInstance(div)).toBeInstanceOf(Collapse)
711
- })
712
-
713
- it('should return new instance when there is no collapse instance', () => {
714
- fixtureEl.innerHTML = '<div></div>'
715
- const div = fixtureEl.querySelector('div')!
716
-
717
- expect(Collapse.getInstance(div)).toBeNull()
718
- expect(Collapse.getOrCreateInstance(div)).toBeInstanceOf(Collapse)
719
- })
720
-
721
- it('should return new instance with given configuration', () => {
722
- fixtureEl.innerHTML = '<div></div>'
723
- const div = fixtureEl.querySelector('div')!
724
-
725
- const collapse = Collapse.getOrCreateInstance(div, { toggle: false })
726
- expect(collapse).toBeInstanceOf(Collapse)
727
- expect(collapse._config.toggle).toBe(false)
728
- })
729
-
730
- it('should return existing instance ignoring new configuration', () => {
731
- fixtureEl.innerHTML = '<div></div>'
732
- const div = fixtureEl.querySelector('div')!
733
-
734
- const collapse = new Collapse(div, { toggle: false })
735
- const collapse2 = Collapse.getOrCreateInstance(div, { toggle: true })
736
-
737
- expect(collapse2).toBe(collapse)
738
- expect(collapse2._config.toggle).toBe(false)
739
- })
740
- })
741
-
742
- describe('data-tblr-toggle', () => {
743
- it('should show collapse via data-tblr-toggle="collapse"', () => {
744
- return new Promise<void>((resolve) => {
745
- fixtureEl.innerHTML = ['<button data-tblr-toggle="collapse" data-bs-target="#test1">Toggle</button>', '<div id="test1" class="collapse">Content</div>'].join('')
746
-
747
- const target = fixtureEl.querySelector('#test1')!
748
- const btn = fixtureEl.querySelector('[data-tblr-toggle="collapse"]') as HTMLElement
749
-
750
- target.addEventListener('shown.bs.collapse', () => {
751
- expect(target.classList.contains('show')).toBe(true)
752
- resolve()
753
- })
754
-
755
- btn.click()
756
- })
757
- })
758
-
759
- it('should hide collapse via data-tblr-toggle="collapse"', () => {
760
- return new Promise<void>((resolve) => {
761
- fixtureEl.innerHTML = ['<button data-tblr-toggle="collapse" data-bs-target="#test1">Toggle</button>', '<div id="test1" class="collapse show">Content</div>'].join('')
762
-
763
- const target = fixtureEl.querySelector('#test1')!
764
- const btn = fixtureEl.querySelector('[data-tblr-toggle="collapse"]') as HTMLElement
765
-
766
- target.addEventListener('hidden.bs.collapse', () => {
767
- expect(target.classList.contains('show')).toBe(false)
768
- resolve()
769
- })
770
-
771
- btn.click()
772
- })
773
- })
774
-
775
- it('should show collapse via data-tblr-toggle with data-tblr-target', () => {
776
- return new Promise<void>((resolve) => {
777
- fixtureEl.innerHTML = ['<button data-tblr-toggle="collapse" data-tblr-target="#test1">Toggle</button>', '<div id="test1" class="collapse">Content</div>'].join('')
778
-
779
- const target = fixtureEl.querySelector('#test1')!
780
- const btn = fixtureEl.querySelector('[data-tblr-toggle="collapse"]') as HTMLElement
781
-
782
- target.addEventListener('shown.bs.collapse', () => {
783
- expect(target.classList.contains('show')).toBe(true)
784
- resolve()
785
- })
786
-
787
- btn.click()
788
- })
789
- })
790
- })
791
- })