@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,233 +0,0 @@
1
- import { describe, it, expect, beforeAll, afterEach } from 'vitest'
2
- import TemplateFactory from '../../../src/bootstrap/util/template-factory'
3
- import { clearFixture, getFixture } from '../../helpers/fixture'
4
-
5
- describe('TemplateFactory', () => {
6
- let fixtureEl: HTMLElement
7
-
8
- beforeAll(() => {
9
- fixtureEl = getFixture()
10
- })
11
-
12
- afterEach(() => {
13
- clearFixture()
14
- })
15
-
16
- describe('NAME', () => {
17
- it('should return plugin NAME', () => {
18
- expect(TemplateFactory.NAME).toBe('TemplateFactory')
19
- })
20
- })
21
-
22
- describe('Default', () => {
23
- it('should return plugin default config', () => {
24
- expect(typeof TemplateFactory.Default).toBe('object')
25
- })
26
- })
27
-
28
- describe('toHtml', () => {
29
- describe('Sanitization', () => {
30
- it('should sanitize template by default', () => {
31
- const factory = new TemplateFactory({
32
- sanitize: true,
33
- template: '<div><a href="javascript:alert(7)">Click me</a></div>',
34
- })
35
- expect(factory.toHtml().innerHTML).not.toContain('href="javascript:alert(7)')
36
- })
37
-
38
- it('should not sanitize template if disabled', () => {
39
- const factory = new TemplateFactory({
40
- sanitize: false,
41
- template: '<div><a href="javascript:alert(7)">Click me</a></div>',
42
- })
43
- expect(factory.toHtml().innerHTML).toContain('href="javascript:alert(7)')
44
- })
45
-
46
- it('should sanitize html content', () => {
47
- const factory = new TemplateFactory({
48
- sanitize: true,
49
- html: true,
50
- template: '<div id="foo"></div>',
51
- content: { '#foo': '<a href="javascript:alert(7)">Click me</a>' },
52
- })
53
- expect(factory.toHtml().innerHTML).not.toContain('href="javascript:alert(7)')
54
- })
55
-
56
- it('should not sanitize content when disabled', () => {
57
- const factory = new TemplateFactory({
58
- sanitize: false,
59
- html: true,
60
- template: '<div id="foo"></div>',
61
- content: { '#foo': '<a href="javascript:alert(7)">Click me</a>' },
62
- })
63
- expect(factory.toHtml().innerHTML).toContain('href="javascript:alert(7)')
64
- })
65
- })
66
-
67
- describe('Extra Class', () => {
68
- it('should add extra class', () => {
69
- const factory = new TemplateFactory({ extraClass: 'testClass' })
70
- expect(factory.toHtml().classList.contains('testClass')).toBe(true)
71
- })
72
-
73
- it('should add multiple extra classes', () => {
74
- const factory = new TemplateFactory({ extraClass: 'testClass testClass2' })
75
- const el = factory.toHtml()
76
- expect(el.classList.contains('testClass')).toBe(true)
77
- expect(el.classList.contains('testClass2')).toBe(true)
78
- })
79
-
80
- it('should resolve class from function', () => {
81
- const factory = new TemplateFactory({
82
- extraClass() {
83
- return 'testClass'
84
- },
85
- })
86
- expect(factory.toHtml().classList.contains('testClass')).toBe(true)
87
- })
88
- })
89
- })
90
-
91
- describe('Content', () => {
92
- it('should add simple text content', () => {
93
- const template = '<div><div class="foo"></div><div class="foo2"></div></div>'
94
- const factory = new TemplateFactory({
95
- template,
96
- content: { '.foo': 'bar', '.foo2': 'bar2' },
97
- })
98
-
99
- const html = factory.toHtml()
100
- expect(html.querySelector('.foo')!.textContent).toBe('bar')
101
- expect(html.querySelector('.foo2')!.textContent).toBe('bar2')
102
- })
103
-
104
- it('should not fill template if selector does not exist', () => {
105
- const factory = new TemplateFactory({
106
- sanitize: true,
107
- html: true,
108
- template: '<div id="foo"></div>',
109
- content: { '#bar': 'test' },
110
- })
111
- expect(factory.toHtml().outerHTML).toBe('<div id="foo"></div>')
112
- })
113
-
114
- it('should remove template selector if content is null', () => {
115
- const factory = new TemplateFactory({
116
- sanitize: true,
117
- html: true,
118
- template: '<div><div id="foo"></div></div>',
119
- content: { '#foo': null },
120
- })
121
- expect(factory.toHtml().outerHTML).toBe('<div></div>')
122
- })
123
-
124
- it('should resolve content from function', () => {
125
- const factory = new TemplateFactory({
126
- sanitize: true,
127
- html: true,
128
- template: '<div><div id="foo"></div></div>',
129
- content: { '#foo': () => null },
130
- })
131
- expect(factory.toHtml().outerHTML).toBe('<div></div>')
132
- })
133
-
134
- it('should use textContent when html is false and content is element', () => {
135
- fixtureEl.innerHTML = '<div>foo<span>bar</span></div>'
136
- const contentElement = fixtureEl.querySelector('div')!
137
-
138
- const factory = new TemplateFactory({
139
- html: false,
140
- template: '<div><div id="foo"></div></div>',
141
- content: { '#foo': contentElement },
142
- })
143
-
144
- const fooEl = factory.toHtml().querySelector('#foo')!
145
- expect(fooEl.innerHTML).not.toBe(contentElement.innerHTML)
146
- expect(fooEl.textContent).toBe(contentElement.textContent)
147
- expect(fooEl.textContent).toBe('foobar')
148
- })
149
-
150
- it('should use outerHTML when html is true and content is element', () => {
151
- fixtureEl.innerHTML = '<div>foo<span>bar</span></div>'
152
- const contentElement = fixtureEl.querySelector('div')!
153
-
154
- const factory = new TemplateFactory({
155
- html: true,
156
- template: '<div><div id="foo"></div></div>',
157
- content: { '#foo': contentElement },
158
- })
159
-
160
- const fooEl = factory.toHtml().querySelector('#foo')!
161
- expect(fooEl.innerHTML).toBe(contentElement.outerHTML)
162
- })
163
- })
164
-
165
- describe('getContent', () => {
166
- it('should get content as array', () => {
167
- const factory = new TemplateFactory({
168
- content: { '.foo': 'bar', '.foo2': 'bar2' },
169
- })
170
- expect(factory.getContent()).toEqual(['bar', 'bar2'])
171
- })
172
-
173
- it('should filter empties', () => {
174
- const factory = new TemplateFactory({
175
- content: {
176
- '.foo': 'bar',
177
- '.foo2': '',
178
- '.foo3': null,
179
- '.foo4': () => 2,
180
- '.foo5': () => null,
181
- },
182
- })
183
- expect(factory.getContent()).toEqual(['bar', 2])
184
- })
185
- })
186
-
187
- describe('hasContent', () => {
188
- it('should return true if it has content', () => {
189
- const factory = new TemplateFactory({
190
- content: { '.foo': 'bar', '.foo2': 'bar2', '.foo3': '' },
191
- })
192
- expect(factory.hasContent()).toBe(true)
193
- })
194
-
195
- it('should return false if all content is empty', () => {
196
- const factory = new TemplateFactory({
197
- content: { '.foo2': '', '.foo3': null, '.foo4': () => null },
198
- })
199
- expect(factory.hasContent()).toBe(false)
200
- })
201
- })
202
-
203
- describe('changeContent', () => {
204
- it('should change content', () => {
205
- const template = '<div><div class="foo"></div><div class="foo2"></div></div>'
206
- const factory = new TemplateFactory({
207
- template,
208
- content: { '.foo': 'bar', '.foo2': 'bar2' },
209
- })
210
-
211
- const text = (sel: string) => factory.toHtml().querySelector(sel)!.textContent
212
- expect(text('.foo')).toBe('bar')
213
- expect(text('.foo2')).toBe('bar2')
214
-
215
- factory.changeContent({ '.foo': 'test', '.foo2': 'test2' })
216
- expect(text('.foo')).toBe('test')
217
- expect(text('.foo2')).toBe('test2')
218
- })
219
-
220
- it('should change only specified content', () => {
221
- const template = '<div><div class="foo"></div><div class="foo2"></div></div>'
222
- const factory = new TemplateFactory({
223
- template,
224
- content: { '.foo': 'bar', '.foo2': 'bar2' },
225
- })
226
-
227
- const text = (sel: string) => factory.toHtml().querySelector(sel)!.textContent
228
- factory.changeContent({ '.foo': 'test' })
229
- expect(text('.foo')).toBe('test')
230
- expect(text('.foo2')).toBe('bar2')
231
- })
232
- })
233
- })
@@ -1,48 +0,0 @@
1
- // Priority 1 — unit tests for `add()` and `subtract()` from
2
- // scss/mixins/_functions.scss. Both guard against `null` operands and fall back
3
- // to a `calc()` expression when the operands are unit-incompatible, so the
4
- // branches around null-handling and the numeric-vs-calc path are what matter.
5
-
6
- @use 'sass:meta';
7
- @use 'sass:string';
8
- @use '../mixins/functions' as *;
9
-
10
- @include describe('add') {
11
- @include it('treats a null operand as the identity') {
12
- @include assert-equal(add(null, 5px), 5px);
13
- @include assert-equal(add(5px, null), 5px);
14
- }
15
-
16
- @include it('adds two compatible numbers directly') {
17
- @include assert-equal(add(2px, 3px), 5px);
18
- }
19
-
20
- // add() returns a real `calculation` here; two structurally-identical
21
- // calculations aren't `==` in Sass, so compare the rendered output instead.
22
- @include it('falls back to calc() for incompatible units') {
23
- @include assert-equal(meta.inspect(add(2px, 3%)), 'calc(2px + 3%)');
24
- }
25
-
26
- @include it('builds a plain expression when calc is disabled') {
27
- @include assert-equal(add(2px, 3%, false), string.unquote('2px + 3%'));
28
- }
29
- }
30
-
31
- @include describe('subtract') {
32
- @include it('returns null when both operands are null') {
33
- @include assert-equal(subtract(null, null), null);
34
- }
35
-
36
- @include it('handles a single null operand') {
37
- @include assert-equal(subtract(5px, null), 5px);
38
- @include assert-equal(subtract(null, 5px), -5px);
39
- }
40
-
41
- @include it('subtracts two compatible numbers directly') {
42
- @include assert-equal(subtract(5px, 2px), 3px);
43
- }
44
-
45
- @include it('falls back to calc() for incompatible units') {
46
- @include assert-equal(meta.inspect(subtract(5px, 2%)), 'calc(5px - 2%)');
47
- }
48
- }
@@ -1,23 +0,0 @@
1
- // Next batch — the radius helper functions from
2
- // scss/mixins/bootstrap/_border-radius.scss. Both are self-contained (only
3
- // sass:list / sass:math / sass:meta) and operate on single values or lists.
4
- //
5
- // They return Sass lists, so the results are compared through `meta.inspect(...)`
6
- // (a single-item list is not `==` to the bare number it contains).
7
-
8
- @use 'sass:meta';
9
- @use '../mixins/bootstrap/border-radius' as *;
10
-
11
- @include describe('valid-radius') {
12
- @include it('clamps a negative value to 0') {
13
- @include assert-equal(meta.inspect(valid-radius(-5px)), '0');
14
- }
15
-
16
- @include it('leaves a non-negative value untouched') {
17
- @include assert-equal(meta.inspect(valid-radius(8px)), '8px');
18
- }
19
-
20
- @include it('clamps only the negative members of a list') {
21
- @include assert-equal(meta.inspect(valid-radius(4px -2px 6px)), '4px 0 6px');
22
- }
23
- }
@@ -1,71 +0,0 @@
1
- // Output tests for the `box-shadow` mixin in scss/mixins/bootstrap/_box-shadow.scss.
2
- // With `$enable-shadows: true` (the default) it filters out null values, keeps a
3
- // single keyword (none/inherit/...) as-is, and otherwise joins the shadows into a
4
- // comma list. The `$enable-shadows: false` gate depends on overriding that global
5
- // and is not covered here.
6
-
7
- @use '../mixins/bootstrap/box-shadow' as *;
8
-
9
- @include describe('box-shadow') {
10
- @include it('emits a single shadow value') {
11
- @include assert() {
12
- @include output() {
13
- .t {
14
- @include box-shadow(0 1px 2px #000);
15
- }
16
- }
17
- @include expect() {
18
- .t {
19
- box-shadow: 0 1px 2px #000;
20
- }
21
- }
22
- }
23
- }
24
-
25
- @include it('passes a keyword through untouched') {
26
- @include assert() {
27
- @include output() {
28
- .t {
29
- @include box-shadow(none);
30
- }
31
- }
32
- @include expect() {
33
- .t {
34
- box-shadow: none;
35
- }
36
- }
37
- }
38
- }
39
-
40
- @include it('joins multiple shadows into a comma list') {
41
- @include assert() {
42
- @include output() {
43
- .t {
44
- @include box-shadow(0 1px 2px #000, 0 2px 4px #111);
45
- }
46
- }
47
- @include expect() {
48
- .t {
49
- box-shadow:
50
- 0 1px 2px #000,
51
- 0 2px 4px #111;
52
- }
53
- }
54
- }
55
- }
56
-
57
- @include it('filters out null values') {
58
- @include assert() {
59
- @include output() {
60
- .t {
61
- @include box-shadow(null, 0 1px 2px #000);
62
- }
63
- }
64
- @include expect() {
65
- .t {
66
- box-shadow: 0 1px 2px #000;
67
- }
68
- }
69
- }
70
- }
71
- }
@@ -1,50 +0,0 @@
1
- // Priority 4 — unit tests for the responsive breakpoint helpers. These are the
2
- // "needs config" tier: they default to the global `$grid-breakpoints`, but every
3
- // function also accepts an explicit `$breakpoints` map, so the tests pass a
4
- // local fixture map and stay independent of the project variables.
5
- //
6
- // `breakpoint-prev` lives in mixins/_functions.scss; the rest live in
7
- // mixins/bootstrap/_breakpoints.scss.
8
-
9
- @use '../mixins/functions' as fn;
10
- @use '../mixins/bootstrap/breakpoints' as *;
11
-
12
- $grid: (
13
- xs: 0,
14
- sm: 576px,
15
- md: 768px,
16
- lg: 992px,
17
- xl: 1200px,
18
- );
19
-
20
- @include describe('breakpoint-next / breakpoint-prev') {
21
- @include it('returns the neighbouring breakpoint name') {
22
- @include assert-equal(breakpoint-next(md, $grid), lg);
23
- @include assert-equal(fn.breakpoint-prev(md, $grid), sm);
24
- }
25
-
26
- @include it('returns null past the last / before the first breakpoint') {
27
- @include assert-equal(breakpoint-next(xl, $grid), null);
28
- @include assert-equal(fn.breakpoint-prev(xs, $grid), null);
29
- }
30
- }
31
-
32
- @include describe('breakpoint-min') {
33
- @include it('returns the min width, or null for the zero breakpoint') {
34
- @include assert-equal(breakpoint-min(md, $grid), 768px);
35
- @include assert-equal(breakpoint-min(xs, $grid), null);
36
- }
37
- }
38
-
39
- @include describe('breakpoint-max') {
40
- @include it('subtracts 0.02px to avoid min/max overlap') {
41
- @include assert-equal(breakpoint-max(md, $grid), 767.98px);
42
- }
43
- }
44
-
45
- @include describe('breakpoint-infix') {
46
- @include it('is blank for the smallest breakpoint and dash-prefixed otherwise') {
47
- @include assert-equal(breakpoint-infix(xs, $grid), '');
48
- @include assert-equal(breakpoint-infix(md, $grid), '-md');
49
- }
50
- }
@@ -1,31 +0,0 @@
1
- // Regression coverage for the multi-layer .card-gradient background: every
2
- // zero-value gradient stop must keep its `%` unit. Unlike <length>,
3
- // <percentage> has no unitless-zero exception, so `color-mix(in sRGB, x 0,
4
- // y)` (missing the %) is invalid CSS and the whole color-mix() — and the
5
- // gradient layer using it — silently drops in the browser.
6
- //
7
- // This only guards the SCSS source; the actual incident was a CSS minifier
8
- // (clean-css) stripping a valid `0%` down to `0` post-compile, which is
9
- // outside what Sass-level tests can see — see .build/build-css.ts's minify().
10
- @use '../ui/cards' as cards;
11
-
12
- @include describe('card-gradient-background') {
13
- @include it('keeps the % unit on every zero-value gradient stop') {
14
- @include assert() {
15
- @include output() {
16
- .t {
17
- @include cards.card-gradient-background;
18
- }
19
- }
20
-
21
- @include expect() {
22
- .t {
23
- background:
24
- radial-gradient(ellipse at center, var(--card-bg) 0%, color-mix(in sRGB, var(--card-bg) 0%, transparent) 80%) border-box,
25
- linear-gradient(var(--card-gradient-direction), color-mix(in sRGB, var(--card-bg) var(--card-gradient-opacity), transparent) 0%, var(--card-bg) 40%) border-box,
26
- linear-gradient(calc(270deg + var(--card-gradient-direction)), var(--card-gradient)) border-box;
27
- }
28
- }
29
- }
30
- }
31
- }
@@ -1,115 +0,0 @@
1
- // Output tests for the caret mixins in scss/mixins/bootstrap/_caret.scss.
2
- // The `caret-{down,up,end,start}` helpers draw a triangle out of borders; the
3
- // main `caret()` builds a pseudo-element and branches on `$direction` for the
4
- // rotation and (for `start`) the ::before/::after structure.
5
-
6
- @use '../mixins/bootstrap/caret' as *;
7
-
8
- @include describe('caret-* border helpers') {
9
- @include it('caret-down points the border triangle downward') {
10
- @include assert() {
11
- @include output() {
12
- .t {
13
- @include caret-down(0.3em);
14
- }
15
- }
16
- @include expect() {
17
- .t {
18
- border-top: 0.3em solid;
19
- border-inline-end: 0.3em solid transparent;
20
- border-bottom: 0;
21
- border-inline-start: 0.3em solid transparent;
22
- }
23
- }
24
- }
25
- }
26
-
27
- @include it('caret-up points the border triangle upward') {
28
- @include assert() {
29
- @include output() {
30
- .t {
31
- @include caret-up(0.3em);
32
- }
33
- }
34
- @include expect() {
35
- .t {
36
- border-top: 0;
37
- border-inline-end: 0.3em solid transparent;
38
- border-bottom: 0.3em solid;
39
- border-inline-start: 0.3em solid transparent;
40
- }
41
- }
42
- }
43
- }
44
-
45
- @include it('caret-start omits the left border') {
46
- @include assert() {
47
- @include output() {
48
- .t {
49
- @include caret-start(0.3em);
50
- }
51
- }
52
- @include expect() {
53
- .t {
54
- border-top: 0.3em solid transparent;
55
- border-inline-end: 0.3em solid;
56
- border-bottom: 0.3em solid transparent;
57
- border-inline-start: 0;
58
- }
59
- }
60
- }
61
- }
62
- }
63
-
64
- @include describe('caret mixin') {
65
- @include it('renders an ::after caret rotated for the down direction') {
66
- @include assert() {
67
- @include output() {
68
- .t {
69
- @include caret(down);
70
- }
71
- }
72
- @include expect() {
73
- .t:after {
74
- content: '';
75
- display: inline-block;
76
- vertical-align: 0.306em;
77
- width: 0.36em;
78
- height: 0.36em;
79
- border-bottom: 1px var(--border-style);
80
- border-inline-start: 1px var(--border-style);
81
- margin-inline-end: 0.1em;
82
- margin-inline-start: 0.306em;
83
- transform: rotate(-45deg);
84
- }
85
- }
86
- }
87
- }
88
-
89
- @include it('uses ::before and clears ::after for the start direction') {
90
- @include assert() {
91
- @include output() {
92
- .t {
93
- @include caret(start);
94
- }
95
- }
96
- @include expect() {
97
- .t:before {
98
- content: '';
99
- display: inline-block;
100
- vertical-align: 0.306em;
101
- width: 0.36em;
102
- height: 0.36em;
103
- border-bottom: 1px var(--border-style);
104
- border-inline-start: 1px var(--border-style);
105
- margin-inline-end: 0.1em;
106
- margin-inline-end: 0.306em;
107
- transform: rotate(45deg);
108
- }
109
- .t::after {
110
- content: none;
111
- }
112
- }
113
- }
114
- }
115
- }
@@ -1,24 +0,0 @@
1
- // Tests for `color-contrast()` from scss/mixins/_functions.scss.
2
- //
3
- // The globals it reads ($white, $black, $color-contrast-*, $min-contrast-ratio)
4
- // live in scss/_settings.scss, which functions.scss already `@use`s, so no
5
- // fixtures are needed — a plain `@use` of the functions module is enough.
6
-
7
- @use '../mixins/functions' as *;
8
-
9
- @include describe('color-contrast') {
10
- @include it('picks black text on a light background') {
11
- @include assert-equal(color-contrast(#ffffff), #000000);
12
- }
13
-
14
- @include it('picks white text on a dark background') {
15
- @include assert-equal(color-contrast(#000000), #ffffff);
16
- }
17
-
18
- // When no candidate reaches the required ratio the function falls back to the
19
- // highest-contrast option (and emits a @warn, which sass-true ignores). An
20
- // impossible ratio of 21 against mid-grey forces that branch; black wins.
21
- @include it('falls back to the highest-contrast colour when none qualifies') {
22
- @include assert-equal(color-contrast(#808080, #000, #fff, 21), #000);
23
- }
24
- }
@@ -1,28 +0,0 @@
1
- // Output test for the `color-mode` mixin in scss/mixins/bootstrap/_color-mode.scss.
2
- //
3
- // With the default `$color-mode-type: data`, the mixin scopes its content under
4
- // the `[data-bs-theme]` / `[data-theme]` attribute selectors (the mechanism
5
- // Tabler uses for dark mode). The `media-query` branch depends on overriding
6
- // that global through the variables module, so it is not covered here.
7
-
8
- @use '../mixins/bootstrap/color-mode' as *;
9
-
10
- @include describe('color-mode') {
11
- @include it('scopes content under the theme attribute selectors') {
12
- @include assert() {
13
- @include output() {
14
- @include color-mode(dark) {
15
- .x {
16
- color: red;
17
- }
18
- }
19
- }
20
- @include expect() {
21
- [data-bs-theme='dark'] .x,
22
- [data-theme='dark'] .x {
23
- color: red;
24
- }
25
- }
26
- }
27
- }
28
- }
@@ -1,44 +0,0 @@
1
- // Priority 2 — unit tests for the colour/contrast helpers in
2
- // scss/mixins/_functions.scss. These are deterministic and, unlike
3
- // `color-contrast`, do not read any global config, so they can be exercised in
4
- // isolation. A regression here silently degrades accessibility, which is why
5
- // they rank high.
6
-
7
- @use '../mixins/functions' as *;
8
-
9
- @include describe('luminance') {
10
- @include it('is 0 for black and 1 for white') {
11
- @include assert-equal(luminance(#000), 0);
12
- @include assert-equal(luminance(#fff), 1);
13
- }
14
- }
15
-
16
- @include describe('contrast-ratio') {
17
- @include it('is 21 for the black/white extreme') {
18
- @include assert-equal(contrast-ratio(#000, #fff), 21);
19
- }
20
-
21
- @include it('is 1 for a colour against itself') {
22
- @include assert-equal(contrast-ratio(#fff, #fff), 1);
23
- }
24
- }
25
-
26
- @include describe('shade-color / tint-color') {
27
- @include it('shade mixes the colour toward black') {
28
- @include assert-equal(shade-color(#ffffff, 10%), rgb(229.5, 229.5, 229.5));
29
- }
30
-
31
- @include it('tint mixes the colour toward white') {
32
- @include assert-equal(tint-color(#000000, 10%), rgb(25.5, 25.5, 25.5));
33
- }
34
- }
35
-
36
- @include describe('shift-color') {
37
- @include it('shades when the weight is positive') {
38
- @include assert-equal(shift-color(#808080, 20%), shade-color(#808080, 20%));
39
- }
40
-
41
- @include it('tints when the weight is negative') {
42
- @include assert-equal(shift-color(#808080, -20%), tint-color(#808080, 20%));
43
- }
44
- }