@tabler/core 1.5.0 → 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 +208 -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 +208 -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 +5346 -6083
  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 +5343 -6083
  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 +41 -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 +280 -206
  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 +139 -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 +50 -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 +9 -4
  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 +6 -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,629 +0,0 @@
1
- import { describe, it, expect, beforeAll, afterEach, vi } from 'vitest'
2
- import Modal from '../../src/bootstrap/modal'
3
- import { clearFixture, getFixture } from '../helpers/fixture'
4
-
5
- describe('Modal', () => {
6
- let fixtureEl: HTMLElement
7
-
8
- beforeAll(() => {
9
- fixtureEl = getFixture()
10
- })
11
-
12
- afterEach(() => {
13
- clearFixture()
14
- vi.restoreAllMocks()
15
- document.body.classList.remove('modal-open')
16
- for (const el of document.querySelectorAll('.modal-backdrop')) {
17
- el.remove()
18
- }
19
- })
20
-
21
- const createModalHTML = () =>
22
- [
23
- '<div class="modal" tabindex="-1">',
24
- ' <div class="modal-dialog">',
25
- ' <div class="modal-content">',
26
- ' <div class="modal-header">',
27
- ' <h5 class="modal-title">Modal</h5>',
28
- ' <button type="button" class="btn-close" data-bs-dismiss="modal"></button>',
29
- ' </div>',
30
- ' <div class="modal-body"><p>Content</p></div>',
31
- ' </div>',
32
- ' </div>',
33
- '</div>',
34
- ].join('')
35
-
36
- describe('VERSION', () => {
37
- it('should return plugin version', () => {
38
- expect(typeof Modal.VERSION).toBe('string')
39
- })
40
- })
41
-
42
- describe('Default', () => {
43
- it('should return plugin default config', () => {
44
- expect(Modal.Default).toBeDefined()
45
- expect(Modal.Default.backdrop).toBe(true)
46
- expect(Modal.Default.focus).toBe(true)
47
- expect(Modal.Default.keyboard).toBe(true)
48
- })
49
- })
50
-
51
- describe('DefaultType', () => {
52
- it('should return plugin default type config', () => {
53
- expect(Modal.DefaultType).toBeDefined()
54
- expect(Modal.DefaultType.backdrop).toBe('(boolean|string)')
55
- })
56
- })
57
-
58
- describe('NAME', () => {
59
- it('should return plugin name', () => {
60
- expect(Modal.NAME).toBe('modal')
61
- })
62
- })
63
-
64
- describe('constructor', () => {
65
- it('should create modal instance', () => {
66
- fixtureEl.innerHTML = createModalHTML()
67
- const modalEl = fixtureEl.querySelector('.modal')!
68
- const modal = new Modal(modalEl)
69
-
70
- expect(modal).toBeInstanceOf(Modal)
71
- expect(Modal.getInstance(modalEl)).toBe(modal)
72
- })
73
-
74
- it('should find dialog element', () => {
75
- fixtureEl.innerHTML = createModalHTML()
76
- const modalEl = fixtureEl.querySelector('.modal')!
77
- const modal = new Modal(modalEl)
78
-
79
- expect(modal._dialog).not.toBeNull()
80
- })
81
- })
82
-
83
- describe('toggle', () => {
84
- it('should show when hidden', () => {
85
- return new Promise<void>((resolve) => {
86
- fixtureEl.innerHTML = createModalHTML()
87
- const modalEl = fixtureEl.querySelector('.modal')!
88
- const modal = new Modal(modalEl)
89
-
90
- modalEl.addEventListener('shown.bs.modal', () => {
91
- expect(modal._isShown).toBe(true)
92
- resolve()
93
- })
94
-
95
- modal.toggle()
96
- })
97
- })
98
-
99
- it('should hide when shown', () => {
100
- return new Promise<void>((resolve) => {
101
- fixtureEl.innerHTML = createModalHTML()
102
- const modalEl = fixtureEl.querySelector('.modal')!
103
- const modal = new Modal(modalEl)
104
-
105
- modalEl.addEventListener('shown.bs.modal', () => {
106
- modalEl.addEventListener('hidden.bs.modal', () => {
107
- expect(modal._isShown).toBe(false)
108
- resolve()
109
- })
110
-
111
- modal.toggle()
112
- })
113
-
114
- modal.show()
115
- })
116
- })
117
- })
118
-
119
- describe('show', () => {
120
- it('should show modal', () => {
121
- return new Promise<void>((resolve) => {
122
- fixtureEl.innerHTML = createModalHTML()
123
- const modalEl = fixtureEl.querySelector('.modal')!
124
- const modal = new Modal(modalEl)
125
-
126
- modalEl.addEventListener('shown.bs.modal', () => {
127
- expect(modal._isShown).toBe(true)
128
- expect(modalEl.classList.contains('show')).toBe(true)
129
- expect(modalEl.getAttribute('aria-modal')).toBe('true')
130
- expect(modalEl.getAttribute('role')).toBe('dialog')
131
- expect(document.body.classList.contains('modal-open')).toBe(true)
132
- resolve()
133
- })
134
-
135
- modal.show()
136
- })
137
- })
138
-
139
- it('should not show if already shown', () => {
140
- return new Promise<void>((resolve) => {
141
- fixtureEl.innerHTML = createModalHTML()
142
- const modalEl = fixtureEl.querySelector('.modal')!
143
- const modal = new Modal(modalEl)
144
-
145
- modalEl.addEventListener('shown.bs.modal', () => {
146
- modal.show()
147
- setTimeout(() => {
148
- expect(modal._isShown).toBe(true)
149
- resolve()
150
- }, 30)
151
- })
152
-
153
- modal.show()
154
- })
155
- })
156
-
157
- it('should not show if show event is prevented', () => {
158
- return new Promise<void>((resolve) => {
159
- fixtureEl.innerHTML = createModalHTML()
160
- const modalEl = fixtureEl.querySelector('.modal')!
161
- const modal = new Modal(modalEl)
162
-
163
- modalEl.addEventListener('show.bs.modal', (event) => {
164
- event.preventDefault()
165
- setTimeout(() => {
166
- expect(modal._isShown).toBe(false)
167
- resolve()
168
- }, 30)
169
- })
170
-
171
- modal.show()
172
- })
173
- })
174
-
175
- it('should pass relatedTarget in show event', () => {
176
- return new Promise<void>((resolve) => {
177
- fixtureEl.innerHTML = createModalHTML() + '<button id="trigger">Open</button>'
178
- const modalEl = fixtureEl.querySelector('.modal')!
179
- const trigger = fixtureEl.querySelector('#trigger') as HTMLElement
180
- const modal = new Modal(modalEl)
181
-
182
- modalEl.addEventListener('show.bs.modal', (event: any) => {
183
- expect(event.relatedTarget).toBe(trigger)
184
- resolve()
185
- })
186
-
187
- modal.show(trigger)
188
- })
189
- })
190
- })
191
-
192
- describe('hide', () => {
193
- it('should hide modal', () => {
194
- return new Promise<void>((resolve) => {
195
- fixtureEl.innerHTML = createModalHTML()
196
- const modalEl = fixtureEl.querySelector('.modal')!
197
- const modal = new Modal(modalEl)
198
-
199
- modalEl.addEventListener('shown.bs.modal', () => {
200
- modal.hide()
201
- })
202
-
203
- modalEl.addEventListener('hidden.bs.modal', () => {
204
- expect(modal._isShown).toBe(false)
205
- expect(modalEl.style.display).toBe('none')
206
- expect(modalEl.getAttribute('aria-hidden')).toBe('true')
207
- resolve()
208
- })
209
-
210
- modal.show()
211
- })
212
- })
213
-
214
- it('should not hide if not shown', () => {
215
- fixtureEl.innerHTML = createModalHTML()
216
- const modalEl = fixtureEl.querySelector('.modal')!
217
- const modal = new Modal(modalEl)
218
-
219
- modal.hide()
220
- expect(modal._isShown).toBe(false)
221
- })
222
-
223
- it('should not hide if hide event is prevented', () => {
224
- return new Promise<void>((resolve) => {
225
- fixtureEl.innerHTML = createModalHTML()
226
- const modalEl = fixtureEl.querySelector('.modal')!
227
- const modal = new Modal(modalEl)
228
-
229
- modalEl.addEventListener('shown.bs.modal', () => {
230
- modalEl.addEventListener('hide.bs.modal', (event) => {
231
- event.preventDefault()
232
- setTimeout(() => {
233
- expect(modal._isShown).toBe(true)
234
- resolve()
235
- }, 30)
236
- })
237
-
238
- modal.hide()
239
- })
240
-
241
- modal.show()
242
- })
243
- })
244
- })
245
-
246
- describe('dispose', () => {
247
- it('should dispose modal', () => {
248
- fixtureEl.innerHTML = createModalHTML()
249
- const modalEl = fixtureEl.querySelector('.modal')!
250
- const modal = new Modal(modalEl)
251
-
252
- modal.dispose()
253
- expect(Modal.getInstance(modalEl)).toBeNull()
254
- })
255
- })
256
-
257
- describe('handleUpdate', () => {
258
- it('should call _adjustDialog', () => {
259
- fixtureEl.innerHTML = createModalHTML()
260
- const modalEl = fixtureEl.querySelector('.modal')!
261
- const modal = new Modal(modalEl)
262
-
263
- const spy = vi.spyOn(modal, '_adjustDialog')
264
- modal.handleUpdate()
265
- expect(spy).toHaveBeenCalled()
266
- })
267
- })
268
-
269
- describe('_isAnimated', () => {
270
- it('should return true when fade class is present', () => {
271
- fixtureEl.innerHTML = '<div class="modal fade"><div class="modal-dialog"></div></div>'
272
- const modalEl = fixtureEl.querySelector('.modal')!
273
- const modal = new Modal(modalEl)
274
-
275
- expect(modal._isAnimated()).toBe(true)
276
- })
277
-
278
- it('should return false without fade class', () => {
279
- fixtureEl.innerHTML = createModalHTML()
280
- const modalEl = fixtureEl.querySelector('.modal')!
281
- const modal = new Modal(modalEl)
282
-
283
- expect(modal._isAnimated()).toBe(false)
284
- })
285
- })
286
-
287
- describe('keyboard', () => {
288
- it('should close on Escape when keyboard is true', () => {
289
- return new Promise<void>((resolve) => {
290
- fixtureEl.innerHTML = createModalHTML()
291
- const modalEl = fixtureEl.querySelector('.modal')!
292
- const modal = new Modal(modalEl, { keyboard: true })
293
-
294
- modalEl.addEventListener('shown.bs.modal', () => {
295
- modalEl.addEventListener('hidden.bs.modal', () => {
296
- expect(modal._isShown).toBe(false)
297
- resolve()
298
- })
299
-
300
- modalEl.dispatchEvent(new KeyboardEvent('keydown', { key: 'Escape', bubbles: true }))
301
- })
302
-
303
- modal.show()
304
- })
305
- })
306
-
307
- it('should not close on Escape when keyboard is false', () => {
308
- return new Promise<void>((resolve) => {
309
- fixtureEl.innerHTML = createModalHTML()
310
- const modalEl = fixtureEl.querySelector('.modal')!
311
- const modal = new Modal(modalEl, { keyboard: false })
312
-
313
- modalEl.addEventListener('shown.bs.modal', () => {
314
- modalEl.dispatchEvent(new KeyboardEvent('keydown', { key: 'Escape', bubbles: true }))
315
-
316
- setTimeout(() => {
317
- expect(modal._isShown).toBe(true)
318
- resolve()
319
- }, 30)
320
- })
321
-
322
- modal.show()
323
- })
324
- })
325
-
326
- it('should ignore non-Escape keys', () => {
327
- return new Promise<void>((resolve) => {
328
- fixtureEl.innerHTML = createModalHTML()
329
- const modalEl = fixtureEl.querySelector('.modal')!
330
- const modal = new Modal(modalEl)
331
-
332
- modalEl.addEventListener('shown.bs.modal', () => {
333
- modalEl.dispatchEvent(new KeyboardEvent('keydown', { key: 'Enter', bubbles: true }))
334
-
335
- setTimeout(() => {
336
- expect(modal._isShown).toBe(true)
337
- resolve()
338
- }, 30)
339
- })
340
-
341
- modal.show()
342
- })
343
- })
344
- })
345
-
346
- describe('getInstance', () => {
347
- it('should return null if no instance', () => {
348
- expect(Modal.getInstance(fixtureEl)).toBeNull()
349
- })
350
-
351
- it('should return modal instance', () => {
352
- fixtureEl.innerHTML = createModalHTML()
353
- const modalEl = fixtureEl.querySelector('.modal')!
354
- const modal = new Modal(modalEl)
355
-
356
- expect(Modal.getInstance(modalEl)).toBe(modal)
357
- })
358
- })
359
-
360
- describe('getOrCreateInstance', () => {
361
- it('should return existing instance', () => {
362
- fixtureEl.innerHTML = createModalHTML()
363
- const modalEl = fixtureEl.querySelector('.modal')!
364
- const modal = new Modal(modalEl)
365
-
366
- expect(Modal.getOrCreateInstance(modalEl)).toBe(modal)
367
- })
368
-
369
- it('should create new instance', () => {
370
- fixtureEl.innerHTML = createModalHTML()
371
- const modalEl = fixtureEl.querySelector('.modal')!
372
-
373
- expect(Modal.getInstance(modalEl)).toBeNull()
374
- expect(Modal.getOrCreateInstance(modalEl)).toBeInstanceOf(Modal)
375
- })
376
- })
377
-
378
- describe('_triggerBackdropTransition', () => {
379
- it('should add and remove modal-static class', () => {
380
- return new Promise<void>((resolve) => {
381
- fixtureEl.innerHTML = createModalHTML()
382
- const modalEl = fixtureEl.querySelector('.modal')!
383
- const modal = new Modal(modalEl, { keyboard: false })
384
-
385
- modalEl.addEventListener('shown.bs.modal', () => {
386
- modalEl.addEventListener('hidePrevented.bs.modal', () => {
387
- setTimeout(() => {
388
- resolve()
389
- }, 30)
390
- })
391
-
392
- modalEl.dispatchEvent(new KeyboardEvent('keydown', { key: 'Escape', bubbles: true }))
393
- })
394
-
395
- modal.show()
396
- })
397
- })
398
-
399
- it('should not transition if hidePrevented is prevented', () => {
400
- return new Promise<void>((resolve) => {
401
- fixtureEl.innerHTML = createModalHTML()
402
- const modalEl = fixtureEl.querySelector('.modal')!
403
- const modal = new Modal(modalEl, { keyboard: false })
404
-
405
- modalEl.addEventListener('shown.bs.modal', () => {
406
- modalEl.addEventListener('hidePrevented.bs.modal', (event) => {
407
- event.preventDefault()
408
- setTimeout(() => {
409
- expect(modal._isShown).toBe(true)
410
- resolve()
411
- }, 30)
412
- })
413
-
414
- modalEl.dispatchEvent(new KeyboardEvent('keydown', { key: 'Escape', bubbles: true }))
415
- })
416
-
417
- modal.show()
418
- })
419
- })
420
-
421
- it('should early return if overflowY is hidden', () => {
422
- return new Promise<void>((resolve) => {
423
- fixtureEl.innerHTML = createModalHTML()
424
- const modalEl = fixtureEl.querySelector('.modal')!
425
- const modal = new Modal(modalEl, { keyboard: false })
426
-
427
- modalEl.addEventListener('shown.bs.modal', () => {
428
- modalEl.style.overflowY = 'hidden'
429
-
430
- modalEl.addEventListener('hidePrevented.bs.modal', () => {
431
- setTimeout(() => {
432
- expect(modal._isShown).toBe(true)
433
- resolve()
434
- }, 30)
435
- })
436
-
437
- modalEl.dispatchEvent(new KeyboardEvent('keydown', { key: 'Escape', bubbles: true }))
438
- })
439
-
440
- modal.show()
441
- })
442
- })
443
-
444
- it('should early return if already has modal-static class', () => {
445
- return new Promise<void>((resolve) => {
446
- fixtureEl.innerHTML = createModalHTML()
447
- const modalEl = fixtureEl.querySelector('.modal')!
448
- const modal = new Modal(modalEl, { keyboard: false })
449
-
450
- modalEl.addEventListener('shown.bs.modal', () => {
451
- modalEl.classList.add('modal-static')
452
-
453
- modalEl.addEventListener('hidePrevented.bs.modal', () => {
454
- setTimeout(() => {
455
- expect(modal._isShown).toBe(true)
456
- resolve()
457
- }, 30)
458
- })
459
-
460
- modalEl.dispatchEvent(new KeyboardEvent('keydown', { key: 'Escape', bubbles: true }))
461
- })
462
-
463
- modal.show()
464
- })
465
- })
466
- })
467
-
468
- describe('backdrop click', () => {
469
- it('should hide when clicking outside dialog with backdrop true', () => {
470
- return new Promise<void>((resolve) => {
471
- fixtureEl.innerHTML = createModalHTML()
472
- const modalEl = fixtureEl.querySelector('.modal')!
473
- const modal = new Modal(modalEl, { backdrop: true })
474
-
475
- modalEl.addEventListener('shown.bs.modal', () => {
476
- modalEl.addEventListener('hidden.bs.modal', () => {
477
- expect(modal._isShown).toBe(false)
478
- resolve()
479
- })
480
-
481
- modalEl.dispatchEvent(new MouseEvent('mousedown', { bubbles: true }))
482
- modalEl.dispatchEvent(new MouseEvent('click', { bubbles: true }))
483
- })
484
-
485
- modal.show()
486
- })
487
- })
488
-
489
- it('should not hide when click starts inside dialog', () => {
490
- return new Promise<void>((resolve) => {
491
- fixtureEl.innerHTML = createModalHTML()
492
- const modalEl = fixtureEl.querySelector('.modal')!
493
- const dialog = modalEl.querySelector('.modal-dialog')!
494
- const modal = new Modal(modalEl)
495
-
496
- modalEl.addEventListener('shown.bs.modal', () => {
497
- const mousedownEvent = new MouseEvent('mousedown', { bubbles: true })
498
- Object.defineProperty(mousedownEvent, 'target', { value: dialog })
499
- modalEl.dispatchEvent(mousedownEvent)
500
-
501
- modalEl.dispatchEvent(new MouseEvent('click', { bubbles: true }))
502
-
503
- setTimeout(() => {
504
- expect(modal._isShown).toBe(true)
505
- resolve()
506
- }, 50)
507
- })
508
-
509
- modal.show()
510
- })
511
- })
512
-
513
- it('should trigger backdrop transition with static backdrop', () => {
514
- return new Promise<void>((resolve) => {
515
- fixtureEl.innerHTML = createModalHTML()
516
- const modalEl = fixtureEl.querySelector('.modal')!
517
- const modal = new Modal(modalEl, { backdrop: 'static' })
518
-
519
- modalEl.addEventListener('shown.bs.modal', () => {
520
- modalEl.addEventListener('hidePrevented.bs.modal', () => {
521
- expect(modal._isShown).toBe(true)
522
- resolve()
523
- })
524
-
525
- modalEl.dispatchEvent(new MouseEvent('mousedown', { bubbles: true }))
526
- modalEl.dispatchEvent(new MouseEvent('click', { bubbles: true }))
527
- })
528
-
529
- modal.show()
530
- })
531
- })
532
- })
533
-
534
- describe('_showElement', () => {
535
- it('should append to body if not already in DOM', () => {
536
- const modalEl = document.createElement('div')
537
- modalEl.classList.add('modal')
538
- modalEl.setAttribute('tabindex', '-1')
539
- modalEl.innerHTML = '<div class="modal-dialog"><div class="modal-content"></div></div>'
540
-
541
- const modal = new Modal(modalEl)
542
-
543
- return new Promise<void>((resolve) => {
544
- modalEl.addEventListener('shown.bs.modal', () => {
545
- expect(document.body.contains(modalEl)).toBe(true)
546
- modal.dispose()
547
- modalEl.remove()
548
- resolve()
549
- })
550
-
551
- modal.show()
552
- })
553
- })
554
-
555
- it('should scroll modal body to top', () => {
556
- return new Promise<void>((resolve) => {
557
- fixtureEl.innerHTML = createModalHTML()
558
- const modalEl = fixtureEl.querySelector('.modal')!
559
- const modal = new Modal(modalEl)
560
-
561
- modalEl.addEventListener('shown.bs.modal', () => {
562
- expect(modalEl.scrollTop).toBe(0)
563
- resolve()
564
- })
565
-
566
- modal.show()
567
- })
568
- })
569
- })
570
-
571
- describe('data-tblr-toggle', () => {
572
- it('should open modal via data-tblr-toggle="modal"', () => {
573
- return new Promise<void>((resolve) => {
574
- fixtureEl.innerHTML = ['<button data-tblr-toggle="modal" data-bs-target="#testModal">Open</button>', '<div class="modal" id="testModal" tabindex="-1">', ' <div class="modal-dialog"><div class="modal-content"></div></div>', '</div>'].join('')
575
-
576
- const modalEl = fixtureEl.querySelector('#testModal')!
577
- const btn = fixtureEl.querySelector('[data-tblr-toggle="modal"]') as HTMLElement
578
-
579
- modalEl.addEventListener('shown.bs.modal', () => {
580
- const modal = Modal.getInstance(modalEl) as Modal
581
- expect(modal._isShown).toBe(true)
582
- resolve()
583
- })
584
-
585
- btn.click()
586
- })
587
- })
588
-
589
- it('should open modal via data-tblr-toggle with data-tblr-target', () => {
590
- return new Promise<void>((resolve) => {
591
- fixtureEl.innerHTML = ['<button data-tblr-toggle="modal" data-tblr-target="#testModal">Open</button>', '<div class="modal" id="testModal" tabindex="-1">', ' <div class="modal-dialog"><div class="modal-content"></div></div>', '</div>'].join('')
592
-
593
- const modalEl = fixtureEl.querySelector('#testModal')!
594
- const btn = fixtureEl.querySelector('[data-tblr-toggle="modal"]') as HTMLElement
595
-
596
- modalEl.addEventListener('shown.bs.modal', () => {
597
- const modal = Modal.getInstance(modalEl) as Modal
598
- expect(modal._isShown).toBe(true)
599
- resolve()
600
- })
601
-
602
- btn.click()
603
- })
604
- })
605
- })
606
-
607
- describe('data-tblr-dismiss', () => {
608
- it('should close modal via data-tblr-dismiss="modal"', () => {
609
- return new Promise<void>((resolve) => {
610
- fixtureEl.innerHTML = ['<div class="modal" tabindex="-1">', ' <div class="modal-dialog">', ' <div class="modal-content">', ' <button type="button" class="btn-close" data-tblr-dismiss="modal"></button>', ' </div>', ' </div>', '</div>'].join('')
611
-
612
- const modalEl = fixtureEl.querySelector('.modal')!
613
- const dismissBtn = fixtureEl.querySelector('[data-tblr-dismiss="modal"]') as HTMLElement
614
- const modal = new Modal(modalEl)
615
-
616
- modalEl.addEventListener('shown.bs.modal', () => {
617
- dismissBtn.click()
618
- })
619
-
620
- modalEl.addEventListener('hidden.bs.modal', () => {
621
- expect(modal._isShown).toBe(false)
622
- resolve()
623
- })
624
-
625
- modal.show()
626
- })
627
- })
628
- })
629
- })