@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.
- package/README.md +10 -1
- package/dist/css/tabler-flags.css +9 -1
- package/dist/css/tabler-flags.css.map +1 -1
- package/dist/css/tabler-flags.min.css +2 -2
- package/dist/css/tabler-flags.min.css.map +1 -1
- package/dist/css/tabler-flags.rtl.css +9 -1
- package/dist/css/tabler-flags.rtl.css.map +1 -1
- package/dist/css/tabler-flags.rtl.min.css +2 -2
- package/dist/css/tabler-flags.rtl.min.css.map +1 -1
- package/dist/css/tabler-marketing.css +78 -38
- package/dist/css/tabler-marketing.css.map +1 -1
- package/dist/css/tabler-marketing.min.css +2 -2
- package/dist/css/tabler-marketing.min.css.map +1 -1
- package/dist/css/tabler-marketing.rtl.css +78 -38
- package/dist/css/tabler-marketing.rtl.css.map +1 -1
- package/dist/css/tabler-marketing.rtl.min.css +2 -2
- package/dist/css/tabler-marketing.rtl.min.css.map +1 -1
- package/dist/css/tabler-payments.css +5 -1
- package/dist/css/tabler-payments.css.map +1 -1
- package/dist/css/tabler-payments.min.css +1 -1
- package/dist/css/tabler-payments.min.css.map +1 -1
- package/dist/css/tabler-payments.rtl.css +5 -1
- package/dist/css/tabler-payments.rtl.css.map +1 -1
- package/dist/css/tabler-payments.rtl.min.css +1 -1
- package/dist/css/tabler-payments.rtl.min.css.map +1 -1
- package/dist/css/tabler-props.css +207 -241
- package/dist/css/tabler-props.css.map +1 -1
- package/dist/css/tabler-props.min.css +2 -2
- package/dist/css/tabler-props.min.css.map +1 -1
- package/dist/css/tabler-props.rtl.css +207 -241
- package/dist/css/tabler-props.rtl.css.map +1 -1
- package/dist/css/tabler-props.rtl.min.css +2 -2
- package/dist/css/tabler-props.rtl.min.css.map +1 -1
- package/dist/css/tabler-socials.css +5 -1
- package/dist/css/tabler-socials.css.map +1 -1
- package/dist/css/tabler-socials.min.css +1 -1
- package/dist/css/tabler-socials.min.css.map +1 -1
- package/dist/css/tabler-socials.rtl.css +5 -1
- package/dist/css/tabler-socials.rtl.css.map +1 -1
- package/dist/css/tabler-socials.rtl.min.css +1 -1
- package/dist/css/tabler-socials.rtl.min.css.map +1 -1
- package/dist/css/tabler-themes.css +144 -94
- package/dist/css/tabler-themes.css.map +1 -1
- package/dist/css/tabler-themes.min.css +2 -2
- package/dist/css/tabler-themes.min.css.map +1 -1
- package/dist/css/tabler-themes.rtl.css +144 -94
- package/dist/css/tabler-themes.rtl.css.map +1 -1
- package/dist/css/tabler-themes.rtl.min.css +2 -2
- package/dist/css/tabler-themes.rtl.min.css.map +1 -1
- package/dist/css/tabler-vendors.css +203 -83
- package/dist/css/tabler-vendors.css.map +1 -1
- package/dist/css/tabler-vendors.min.css +2 -2
- package/dist/css/tabler-vendors.min.css.map +1 -1
- package/dist/css/tabler-vendors.rtl.css +203 -83
- package/dist/css/tabler-vendors.rtl.css.map +1 -1
- package/dist/css/tabler-vendors.rtl.min.css +2 -2
- package/dist/css/tabler-vendors.rtl.min.css.map +1 -1
- package/dist/css/tabler.css +4366 -5119
- package/dist/css/tabler.css.map +1 -1
- package/dist/css/tabler.min.css +2 -2
- package/dist/css/tabler.min.css.map +1 -1
- package/dist/css/tabler.rtl.css +4922 -5678
- package/dist/css/tabler.rtl.css.map +1 -1
- package/dist/css/tabler.rtl.min.css +2 -2
- package/dist/css/tabler.rtl.min.css.map +1 -1
- package/dist/img/flags/ad.svg +1 -1
- package/dist/img/flags/ae.svg +1 -1
- package/dist/img/flags/af.svg +1 -1
- package/dist/img/flags/afrun.svg +1 -1
- package/dist/img/flags/ag.svg +1 -1
- package/dist/img/flags/ai.svg +1 -1
- package/dist/img/flags/al.svg +1 -1
- package/dist/img/flags/am.svg +1 -1
- package/dist/img/flags/ao.svg +1 -1
- package/dist/img/flags/aq.svg +1 -1
- package/dist/img/flags/ar.svg +1 -1
- package/dist/img/flags/as.svg +1 -1
- package/dist/img/flags/at.svg +1 -1
- package/dist/img/flags/au.svg +1 -1
- package/dist/img/flags/aw.svg +1 -1
- package/dist/img/flags/ax.svg +1 -1
- package/dist/img/flags/az.svg +1 -1
- package/dist/img/flags/ba.svg +1 -1
- package/dist/img/flags/bb.svg +1 -1
- package/dist/img/flags/bd.svg +1 -1
- package/dist/img/flags/be.svg +1 -1
- package/dist/img/flags/bf.svg +1 -1
- package/dist/img/flags/bg.svg +1 -1
- package/dist/img/flags/bh.svg +1 -1
- package/dist/img/flags/bi.svg +1 -1
- package/dist/img/flags/bj.svg +1 -1
- package/dist/img/flags/bl.svg +1 -1
- package/dist/img/flags/bm.svg +1 -1
- package/dist/img/flags/bn.svg +1 -1
- package/dist/img/flags/bo.svg +1 -1
- package/dist/img/flags/bq-bo.svg +1 -1
- package/dist/img/flags/bq-sa.svg +1 -1
- package/dist/img/flags/bq-se.svg +1 -1
- package/dist/img/flags/br.svg +1 -1
- package/dist/img/flags/bs.svg +1 -1
- package/dist/img/flags/bt.svg +1 -1
- package/dist/img/flags/bv.svg +1 -1
- package/dist/img/flags/bw.svg +1 -1
- package/dist/img/flags/by.svg +1 -1
- package/dist/img/flags/bz.svg +1 -1
- package/dist/img/flags/ca.svg +1 -1
- package/dist/img/flags/cc.svg +1 -1
- package/dist/img/flags/cd.svg +1 -1
- package/dist/img/flags/cf.svg +1 -1
- package/dist/img/flags/cg.svg +1 -1
- package/dist/img/flags/ch.svg +1 -1
- package/dist/img/flags/ci.svg +1 -1
- package/dist/img/flags/ck.svg +1 -1
- package/dist/img/flags/cl.svg +1 -1
- package/dist/img/flags/cm.svg +1 -1
- package/dist/img/flags/cn.svg +1 -1
- package/dist/img/flags/co.svg +1 -1
- package/dist/img/flags/cr.svg +1 -1
- package/dist/img/flags/cu.svg +1 -1
- package/dist/img/flags/cv.svg +1 -1
- package/dist/img/flags/cw.svg +1 -1
- package/dist/img/flags/cx.svg +1 -1
- package/dist/img/flags/cy.svg +1 -1
- package/dist/img/flags/cz.svg +1 -1
- package/dist/img/flags/de.svg +1 -1
- package/dist/img/flags/dj.svg +1 -1
- package/dist/img/flags/dk.svg +1 -1
- package/dist/img/flags/dm.svg +1 -1
- package/dist/img/flags/do.svg +1 -1
- package/dist/img/flags/dz.svg +1 -1
- package/dist/img/flags/ec.svg +1 -1
- package/dist/img/flags/ee.svg +1 -1
- package/dist/img/flags/eg.svg +1 -1
- package/dist/img/flags/eh.svg +1 -1
- package/dist/img/flags/er.svg +1 -1
- package/dist/img/flags/es.svg +1 -1
- package/dist/img/flags/et.svg +1 -1
- package/dist/img/flags/eu.svg +1 -1
- package/dist/img/flags/fi.svg +1 -1
- package/dist/img/flags/fj.svg +1 -1
- package/dist/img/flags/fk.svg +1 -1
- package/dist/img/flags/fm.svg +1 -1
- package/dist/img/flags/fo.svg +1 -1
- package/dist/img/flags/fr.svg +1 -1
- package/dist/img/flags/ga.svg +1 -1
- package/dist/img/flags/gb-eng.svg +1 -1
- package/dist/img/flags/gb-nir.svg +1 -1
- package/dist/img/flags/gb-sct.svg +1 -1
- package/dist/img/flags/gb-wls.svg +1 -1
- package/dist/img/flags/gb.svg +1 -1
- package/dist/img/flags/gd.svg +1 -1
- package/dist/img/flags/ge.svg +1 -1
- package/dist/img/flags/gf.svg +1 -1
- package/dist/img/flags/gg.svg +1 -1
- package/dist/img/flags/gh.svg +1 -1
- package/dist/img/flags/gi.svg +1 -1
- package/dist/img/flags/gl.svg +1 -1
- package/dist/img/flags/gm.svg +1 -1
- package/dist/img/flags/gn.svg +1 -1
- package/dist/img/flags/gp.svg +1 -1
- package/dist/img/flags/gq.svg +1 -1
- package/dist/img/flags/gr.svg +1 -1
- package/dist/img/flags/gs.svg +1 -1
- package/dist/img/flags/gt.svg +1 -1
- package/dist/img/flags/gu.svg +1 -1
- package/dist/img/flags/gw.svg +1 -1
- package/dist/img/flags/gy.svg +1 -1
- package/dist/img/flags/hk.svg +1 -1
- package/dist/img/flags/hm.svg +1 -1
- package/dist/img/flags/hn.svg +1 -1
- package/dist/img/flags/hr.svg +1 -1
- package/dist/img/flags/ht.svg +1 -1
- package/dist/img/flags/hu.svg +1 -1
- package/dist/img/flags/id.svg +1 -1
- package/dist/img/flags/ie.svg +1 -1
- package/dist/img/flags/il.svg +1 -1
- package/dist/img/flags/im.svg +1 -1
- package/dist/img/flags/in.svg +1 -1
- package/dist/img/flags/io.svg +1 -1
- package/dist/img/flags/iq.svg +1 -1
- package/dist/img/flags/ir.svg +1 -1
- package/dist/img/flags/is.svg +1 -1
- package/dist/img/flags/it.svg +1 -1
- package/dist/img/flags/je.svg +1 -1
- package/dist/img/flags/jm.svg +1 -1
- package/dist/img/flags/jo.svg +1 -1
- package/dist/img/flags/jp.svg +1 -1
- package/dist/img/flags/ke.svg +1 -1
- package/dist/img/flags/kg.svg +1 -1
- package/dist/img/flags/kh.svg +1 -1
- package/dist/img/flags/ki.svg +1 -1
- package/dist/img/flags/km.svg +1 -1
- package/dist/img/flags/kn-sk.svg +1 -1
- package/dist/img/flags/kn.svg +1 -1
- package/dist/img/flags/kp.svg +1 -1
- package/dist/img/flags/kr.svg +1 -1
- package/dist/img/flags/kw.svg +1 -1
- package/dist/img/flags/ky.svg +1 -1
- package/dist/img/flags/kz.svg +1 -1
- package/dist/img/flags/la.svg +1 -1
- package/dist/img/flags/lb.svg +1 -1
- package/dist/img/flags/lc.svg +1 -1
- package/dist/img/flags/li.svg +1 -1
- package/dist/img/flags/lk.svg +1 -1
- package/dist/img/flags/lr.svg +1 -1
- package/dist/img/flags/ls.svg +1 -1
- package/dist/img/flags/lt.svg +1 -1
- package/dist/img/flags/lu.svg +1 -1
- package/dist/img/flags/lv.svg +1 -1
- package/dist/img/flags/ly.svg +1 -1
- package/dist/img/flags/ma.svg +1 -1
- package/dist/img/flags/mc.svg +1 -1
- package/dist/img/flags/md.svg +1 -1
- package/dist/img/flags/me.svg +1 -1
- package/dist/img/flags/mf.svg +1 -1
- package/dist/img/flags/mg.svg +1 -1
- package/dist/img/flags/mh.svg +1 -1
- package/dist/img/flags/mk.svg +1 -1
- package/dist/img/flags/ml.svg +1 -1
- package/dist/img/flags/mm.svg +1 -1
- package/dist/img/flags/mn.svg +1 -1
- package/dist/img/flags/mo.svg +1 -1
- package/dist/img/flags/mp.svg +1 -1
- package/dist/img/flags/mq.svg +1 -1
- package/dist/img/flags/mr.svg +1 -1
- package/dist/img/flags/ms.svg +1 -1
- package/dist/img/flags/mt.svg +1 -1
- package/dist/img/flags/mu.svg +1 -1
- package/dist/img/flags/mv.svg +1 -1
- package/dist/img/flags/mw.svg +1 -1
- package/dist/img/flags/mx.svg +1 -1
- package/dist/img/flags/my.svg +1 -1
- package/dist/img/flags/mz.svg +1 -1
- package/dist/img/flags/na.svg +1 -1
- package/dist/img/flags/nc.svg +1 -1
- package/dist/img/flags/ne.svg +1 -1
- package/dist/img/flags/nf.svg +1 -1
- package/dist/img/flags/ng.svg +1 -1
- package/dist/img/flags/ni.svg +1 -1
- package/dist/img/flags/nl.svg +1 -1
- package/dist/img/flags/no.svg +1 -1
- package/dist/img/flags/np.svg +1 -1
- package/dist/img/flags/nr.svg +1 -1
- package/dist/img/flags/nu.svg +1 -1
- package/dist/img/flags/nz.svg +1 -1
- package/dist/img/flags/om.svg +1 -1
- package/dist/img/flags/pa.svg +1 -1
- package/dist/img/flags/pe.svg +1 -1
- package/dist/img/flags/pf.svg +1 -1
- package/dist/img/flags/pg.svg +1 -1
- package/dist/img/flags/ph.svg +1 -1
- package/dist/img/flags/pk.svg +1 -1
- package/dist/img/flags/pl.svg +1 -1
- package/dist/img/flags/pm.svg +1 -1
- package/dist/img/flags/pn.svg +1 -1
- package/dist/img/flags/pr.svg +1 -1
- package/dist/img/flags/ps.svg +1 -1
- package/dist/img/flags/pt.svg +1 -1
- package/dist/img/flags/pw.svg +1 -1
- package/dist/img/flags/py.svg +1 -1
- package/dist/img/flags/qa.svg +1 -1
- package/dist/img/flags/rainbow.svg +1 -1
- package/dist/img/flags/re.svg +1 -1
- package/dist/img/flags/ro.svg +1 -1
- package/dist/img/flags/rs.svg +1 -1
- package/dist/img/flags/ru.svg +1 -1
- package/dist/img/flags/rw.svg +1 -1
- package/dist/img/flags/sa.svg +1 -1
- package/dist/img/flags/sb.svg +1 -1
- package/dist/img/flags/sc.svg +1 -1
- package/dist/img/flags/sd.svg +1 -1
- package/dist/img/flags/se.svg +1 -1
- package/dist/img/flags/sg.svg +1 -1
- package/dist/img/flags/sh.svg +1 -1
- package/dist/img/flags/si.svg +1 -1
- package/dist/img/flags/sj.svg +1 -1
- package/dist/img/flags/sk.svg +1 -1
- package/dist/img/flags/sl.svg +1 -1
- package/dist/img/flags/sm.svg +1 -1
- package/dist/img/flags/sn.svg +1 -1
- package/dist/img/flags/so.svg +1 -1
- package/dist/img/flags/sr.svg +1 -1
- package/dist/img/flags/ss.svg +1 -1
- package/dist/img/flags/st.svg +1 -1
- package/dist/img/flags/sv.svg +1 -1
- package/dist/img/flags/sx.svg +1 -1
- package/dist/img/flags/sy.svg +1 -1
- package/dist/img/flags/sz.svg +1 -1
- package/dist/img/flags/tc.svg +1 -1
- package/dist/img/flags/td.svg +1 -1
- package/dist/img/flags/tf.svg +1 -1
- package/dist/img/flags/tg.svg +1 -1
- package/dist/img/flags/th.svg +1 -1
- package/dist/img/flags/tj.svg +1 -1
- package/dist/img/flags/tk.svg +1 -1
- package/dist/img/flags/tl.svg +1 -1
- package/dist/img/flags/tm.svg +1 -1
- package/dist/img/flags/tn.svg +1 -1
- package/dist/img/flags/to.svg +1 -1
- package/dist/img/flags/tr.svg +1 -1
- package/dist/img/flags/tt.svg +1 -1
- package/dist/img/flags/tv.svg +1 -1
- package/dist/img/flags/tw.svg +1 -1
- package/dist/img/flags/tz.svg +1 -1
- package/dist/img/flags/ua.svg +1 -1
- package/dist/img/flags/ug.svg +1 -1
- package/dist/img/flags/um.svg +1 -1
- package/dist/img/flags/unasur.svg +1 -1
- package/dist/img/flags/us.svg +1 -1
- package/dist/img/flags/uy.svg +1 -1
- package/dist/img/flags/uz.svg +1 -1
- package/dist/img/flags/va.svg +1 -1
- package/dist/img/flags/vc.svg +1 -1
- package/dist/img/flags/ve.svg +1 -1
- package/dist/img/flags/vg.svg +1 -1
- package/dist/img/flags/vi.svg +1 -1
- package/dist/img/flags/vn.svg +1 -1
- package/dist/img/flags/vu.svg +1 -1
- package/dist/img/flags/wf.svg +1 -1
- package/dist/img/flags/ws.svg +1 -1
- package/dist/img/flags/ye.svg +1 -1
- package/dist/img/flags/yt.svg +1 -1
- package/dist/img/flags/za.svg +1 -1
- package/dist/img/flags/zm.svg +1 -1
- package/dist/img/flags/zw.svg +1 -1
- package/dist/img/payments/2c2p-dark.svg +1 -5
- package/dist/img/payments/2c2p.svg +1 -5
- package/dist/img/payments/2checkout-dark.svg +1 -4
- package/dist/img/payments/2checkout.svg +1 -4
- package/dist/img/payments/ach-transfer-dark.svg +1 -14
- package/dist/img/payments/ach-transfer.svg +1 -14
- package/dist/img/payments/adyen-dark.svg +1 -8
- package/dist/img/payments/adyen.svg +1 -8
- package/dist/img/payments/affirm-dark.svg +1 -9
- package/dist/img/payments/affirm.svg +1 -9
- package/dist/img/payments/afterpay-dark.svg +1 -13
- package/dist/img/payments/afterpay.svg +1 -13
- package/dist/img/payments/airtm-dark.svg +1 -4
- package/dist/img/payments/airtm.svg +1 -4
- package/dist/img/payments/airwallex-dark.svg +1 -11
- package/dist/img/payments/airwallex.svg +1 -11
- package/dist/img/payments/alipay-dark.svg +1 -12
- package/dist/img/payments/alipay-plus-dark.svg +1 -9
- package/dist/img/payments/alipay-plus.svg +1 -9
- package/dist/img/payments/alipay.svg +1 -12
- package/dist/img/payments/allegro-pay-dark.svg +1 -5
- package/dist/img/payments/allegro-pay.svg +1 -5
- package/dist/img/payments/amazon-dark.svg +1 -6
- package/dist/img/payments/amazon-pay-dark.svg +1 -7
- package/dist/img/payments/amazon-pay.svg +1 -7
- package/dist/img/payments/amazon.svg +1 -6
- package/dist/img/payments/americanexpress-dark.svg +1 -4
- package/dist/img/payments/americanexpress.svg +1 -4
- package/dist/img/payments/ant-group-dark.svg +1 -6
- package/dist/img/payments/ant-group.svg +1 -23
- package/dist/img/payments/applepay-dark.svg +1 -8
- package/dist/img/payments/applepay.svg +1 -8
- package/dist/img/payments/authorize-dark.svg +1 -17
- package/dist/img/payments/authorize.svg +1 -17
- package/dist/img/payments/autopay-dark.svg +1 -11
- package/dist/img/payments/autopay.svg +1 -11
- package/dist/img/payments/bancontact-dark.svg +1 -9
- package/dist/img/payments/bancontact.svg +1 -9
- package/dist/img/payments/bank-of-america-dark.svg +1 -10
- package/dist/img/payments/bank-of-america.svg +1 -10
- package/dist/img/payments/barclays-dark.svg +1 -11
- package/dist/img/payments/barclays.svg +1 -11
- package/dist/img/payments/bbva-dark.svg +1 -4
- package/dist/img/payments/bbva.svg +1 -4
- package/dist/img/payments/binance-dark.svg +1 -4
- package/dist/img/payments/binance-usd-dark.svg +1 -11
- package/dist/img/payments/binance-usd.svg +1 -11
- package/dist/img/payments/binance.svg +1 -4
- package/dist/img/payments/bitcoin-dark.svg +1 -13
- package/dist/img/payments/bitcoin.svg +1 -12
- package/dist/img/payments/bitpay-dark.svg +1 -4
- package/dist/img/payments/bitpay.svg +1 -4
- package/dist/img/payments/bkash-dark.svg +1 -16
- package/dist/img/payments/bkash.svg +1 -16
- package/dist/img/payments/blik-dark.svg +1 -5
- package/dist/img/payments/blik.svg +1 -12
- package/dist/img/payments/bnb-chain-dark.svg +1 -14
- package/dist/img/payments/bnb-chain.svg +1 -14
- package/dist/img/payments/bnp-paribas-dark.svg +1 -80
- package/dist/img/payments/bnp-paribas.svg +1 -80
- package/dist/img/payments/braintree-dark.svg +1 -6
- package/dist/img/payments/braintree.svg +1 -6
- package/dist/img/payments/brex-dark.svg +1 -4
- package/dist/img/payments/brex.svg +1 -4
- package/dist/img/payments/capital-one-dark.svg +1 -6
- package/dist/img/payments/capital-one.svg +1 -6
- package/dist/img/payments/cash-app-dark.svg +1 -8
- package/dist/img/payments/cash-app.svg +1 -8
- package/dist/img/payments/chase-dark.svg +1 -12
- package/dist/img/payments/chase.svg +1 -12
- package/dist/img/payments/checkout-com-dark.svg +1 -4
- package/dist/img/payments/checkout-com.svg +1 -4
- package/dist/img/payments/chime-dark.svg +1 -9
- package/dist/img/payments/chime.svg +1 -9
- package/dist/img/payments/china-construction-bank-dark.svg +1 -36
- package/dist/img/payments/china-construction-bank.svg +1 -36
- package/dist/img/payments/cirrus-dark.svg +1 -8
- package/dist/img/payments/cirrus.svg +1 -8
- package/dist/img/payments/citi-dark.svg +1 -8
- package/dist/img/payments/citi.svg +1 -8
- package/dist/img/payments/coinbase-dark.svg +1 -4
- package/dist/img/payments/coinbase.svg +1 -5
- package/dist/img/payments/coinkite-dark.svg +1 -6
- package/dist/img/payments/coinkite.svg +1 -6
- package/dist/img/payments/crypto-com-dark.svg +1 -8
- package/dist/img/payments/crypto-com.svg +1 -8
- package/dist/img/payments/deutsche-bank-dark.svg +1 -16
- package/dist/img/payments/deutsche-bank.svg +1 -16
- package/dist/img/payments/dinersclub-dark.svg +1 -7
- package/dist/img/payments/dinersclub.svg +1 -7
- package/dist/img/payments/directdebit-dark.svg +1 -4
- package/dist/img/payments/directdebit.svg +1 -4
- package/dist/img/payments/discover-dark.svg +1 -8
- package/dist/img/payments/discover.svg +1 -6
- package/dist/img/payments/dwolla-dark.svg +1 -5
- package/dist/img/payments/dwolla.svg +1 -5
- package/dist/img/payments/easypaisa-dark.svg +1 -14
- package/dist/img/payments/easypaisa.svg +1 -14
- package/dist/img/payments/ebay-dark.svg +1 -7
- package/dist/img/payments/ebay.svg +1 -7
- package/dist/img/payments/elo-dark.svg +1 -11
- package/dist/img/payments/elo.svg +1 -11
- package/dist/img/payments/epayco-dark.svg +1 -5
- package/dist/img/payments/epayco.svg +1 -5
- package/dist/img/payments/esewa-dark.svg +1 -11
- package/dist/img/payments/esewa.svg +1 -12
- package/dist/img/payments/ethereum-dark.svg +1 -13
- package/dist/img/payments/ethereum.svg +1 -18
- package/dist/img/payments/eway-dark.svg +1 -6
- package/dist/img/payments/eway.svg +1 -6
- package/dist/img/payments/fifth-third-bank-dark.svg +1 -7
- package/dist/img/payments/fifth-third-bank.svg +1 -7
- package/dist/img/payments/fiserv-dark.svg +1 -11
- package/dist/img/payments/fiserv.svg +1 -11
- package/dist/img/payments/flutterwave-dark.svg +1 -18
- package/dist/img/payments/flutterwave.svg +1 -18
- package/dist/img/payments/fonepay-dark.svg +1 -10
- package/dist/img/payments/fonepay.svg +1 -10
- package/dist/img/payments/gcash-dark.svg +1 -7
- package/dist/img/payments/gcash.svg +1 -7
- package/dist/img/payments/giropay-dark.svg +1 -13
- package/dist/img/payments/giropay.svg +1 -25
- package/dist/img/payments/goldman-sachs-dark.svg +1 -4
- package/dist/img/payments/goldman-sachs.svg +1 -4
- package/dist/img/payments/google-pay-dark.svg +1 -10
- package/dist/img/payments/google-pay.svg +1 -10
- package/dist/img/payments/googlewallet-dark.svg +1 -7
- package/dist/img/payments/googlewallet.svg +1 -7
- package/dist/img/payments/grabpay-dark.svg +1 -4
- package/dist/img/payments/grabpay.svg +1 -4
- package/dist/img/payments/hsbc-dark.svg +1 -12
- package/dist/img/payments/hsbc.svg +1 -12
- package/dist/img/payments/hubspot-dark.svg +1 -5
- package/dist/img/payments/hubspot.svg +1 -5
- package/dist/img/payments/huntington-bank-dark.svg +1 -5
- package/dist/img/payments/huntington-bank.svg +1 -5
- package/dist/img/payments/icbc-dark.svg +1 -8
- package/dist/img/payments/icbc.svg +1 -8
- package/dist/img/payments/ideal-dark.svg +1 -8
- package/dist/img/payments/ideal.svg +1 -7
- package/dist/img/payments/imepay-dark.svg +1 -11
- package/dist/img/payments/imepay.svg +1 -11
- package/dist/img/payments/imoje-dark.svg +1 -7
- package/dist/img/payments/imoje.svg +1 -8
- package/dist/img/payments/ing-dark.svg +1 -145
- package/dist/img/payments/ing.svg +1 -145
- package/dist/img/payments/ingenico-dark.svg +1 -4
- package/dist/img/payments/ingenico.svg +1 -4
- package/dist/img/payments/interac-dark.svg +1 -16
- package/dist/img/payments/interac.svg +1 -16
- package/dist/img/payments/jazzcash-dark.svg +1 -13
- package/dist/img/payments/jazzcash.svg +1 -13
- package/dist/img/payments/jcb-dark.svg +1 -8
- package/dist/img/payments/jcb.svg +1 -41
- package/dist/img/payments/khalti-dark.svg +1 -14
- package/dist/img/payments/khalti.svg +1 -14
- package/dist/img/payments/klarna-dark.svg +1 -11
- package/dist/img/payments/klarna.svg +1 -11
- package/dist/img/payments/kraken-dark.svg +1 -5
- package/dist/img/payments/kraken.svg +1 -5
- package/dist/img/payments/linepay-dark.svg +1 -10
- package/dist/img/payments/linepay.svg +1 -11
- package/dist/img/payments/litecoin-dark.svg +1 -14
- package/dist/img/payments/litecoin.svg +1 -14
- package/dist/img/payments/mada-dark.svg +1 -11
- package/dist/img/payments/mada.svg +1 -11
- package/dist/img/payments/maestro-dark.svg +1 -6
- package/dist/img/payments/maestro.svg +1 -6
- package/dist/img/payments/mastercard-dark.svg +1 -6
- package/dist/img/payments/mastercard.svg +1 -6
- package/dist/img/payments/mercado-pago-dark.svg +1 -9
- package/dist/img/payments/mercado-pago.svg +1 -9
- package/dist/img/payments/mercury-dark.svg +1 -4
- package/dist/img/payments/mercury.svg +1 -4
- package/dist/img/payments/meta-pay-dark.svg +1 -6
- package/dist/img/payments/meta-pay.svg +1 -16
- package/dist/img/payments/metamask-dark.svg +1 -40
- package/dist/img/payments/metamask.svg +1 -40
- package/dist/img/payments/mir-dark.svg +1 -4
- package/dist/img/payments/mir.svg +1 -11
- package/dist/img/payments/mitsubishi-ufj-dark.svg +1 -5
- package/dist/img/payments/mitsubishi-ufj.svg +1 -5
- package/dist/img/payments/mobilepay-dark.svg +1 -6
- package/dist/img/payments/mobilepay.svg +1 -6
- package/dist/img/payments/mollie-dark.svg +1 -4
- package/dist/img/payments/mollie.svg +1 -4
- package/dist/img/payments/monero-dark.svg +1 -5
- package/dist/img/payments/monero.svg +1 -5
- package/dist/img/payments/moneygram-dark.svg +1 -12
- package/dist/img/payments/moneygram.svg +1 -12
- package/dist/img/payments/mpesa-dark.svg +1 -5
- package/dist/img/payments/mpesa.svg +1 -5
- package/dist/img/payments/ncr-dark.svg +1 -9
- package/dist/img/payments/ncr.svg +1 -9
- package/dist/img/payments/neteller-dark.svg +1 -4
- package/dist/img/payments/neteller.svg +1 -4
- package/dist/img/payments/northone-dark.svg +1 -5
- package/dist/img/payments/northone.svg +1 -5
- package/dist/img/payments/nu-dark.svg +1 -5
- package/dist/img/payments/nu.svg +1 -5
- package/dist/img/payments/nuvei-dark.svg +1 -9
- package/dist/img/payments/nuvei.svg +1 -9
- package/dist/img/payments/opensea-dark.svg +1 -11
- package/dist/img/payments/opensea.svg +1 -11
- package/dist/img/payments/oxxo-dark.svg +1 -8
- package/dist/img/payments/oxxo.svg +1 -8
- package/dist/img/payments/paybox-dark.svg +1 -4
- package/dist/img/payments/paybox.svg +1 -4
- package/dist/img/payments/payconiq-dark.svg +1 -4
- package/dist/img/payments/payconiq.svg +1 -4
- package/dist/img/payments/payka-dark.svg +1 -18
- package/dist/img/payments/payka.svg +1 -12
- package/dist/img/payments/payline-dark.svg +1 -12
- package/dist/img/payments/payline.svg +1 -12
- package/dist/img/payments/paynow-dark.svg +1 -15
- package/dist/img/payments/paynow.svg +1 -15
- package/dist/img/payments/payone-dark.svg +1 -7
- package/dist/img/payments/payone.svg +1 -7
- package/dist/img/payments/payoneer-dark.svg +1 -4
- package/dist/img/payments/payoneer.svg +1 -4
- package/dist/img/payments/paypal-dark.svg +1 -8
- package/dist/img/payments/paypal.svg +1 -8
- package/dist/img/payments/paypay-dark.svg +1 -6
- package/dist/img/payments/paypay.svg +1 -6
- package/dist/img/payments/paypo-dark.svg +1 -11
- package/dist/img/payments/paypo.svg +1 -11
- package/dist/img/payments/paysafe-dark.svg +1 -6
- package/dist/img/payments/paysafe.svg +1 -6
- package/dist/img/payments/paysafecard-dark.svg +1 -4
- package/dist/img/payments/paysafecard.svg +1 -4
- package/dist/img/payments/paystack-dark.svg +1 -5
- package/dist/img/payments/paystack.svg +1 -5
- package/dist/img/payments/paytm-dark.svg +1 -8
- package/dist/img/payments/paytm.svg +1 -8
- package/dist/img/payments/payu-dark.svg +1 -4
- package/dist/img/payments/payu.svg +1 -4
- package/dist/img/payments/phonepe-dark.svg +1 -6
- package/dist/img/payments/phonepe.svg +1 -6
- package/dist/img/payments/pix-dark.svg +1 -6
- package/dist/img/payments/pix.svg +1 -6
- package/dist/img/payments/pnc-bank-dark.svg +1 -8
- package/dist/img/payments/pnc-bank.svg +1 -8
- package/dist/img/payments/poli-dark.svg +1 -8
- package/dist/img/payments/poli.svg +1 -8
- package/dist/img/payments/przelewy24-dark.svg +1 -18
- package/dist/img/payments/przelewy24.svg +1 -8
- package/dist/img/payments/rapyd-dark.svg +1 -8
- package/dist/img/payments/rapyd.svg +1 -8
- package/dist/img/payments/razorpay-dark.svg +1 -5
- package/dist/img/payments/razorpay.svg +1 -5
- package/dist/img/payments/revolut-pay-dark.svg +1 -8
- package/dist/img/payments/revolut-pay.svg +1 -8
- package/dist/img/payments/ripple-dark.svg +1 -5
- package/dist/img/payments/ripple.svg +1 -5
- package/dist/img/payments/rupay-dark.svg +1 -10
- package/dist/img/payments/rupay.svg +1 -10
- package/dist/img/payments/samsung-pay-dark.svg +1 -13
- package/dist/img/payments/samsung-pay.svg +1 -13
- package/dist/img/payments/santander-dark.svg +1 -4
- package/dist/img/payments/santander.svg +1 -4
- package/dist/img/payments/sepa-dark.svg +1 -5
- package/dist/img/payments/sepa.svg +1 -5
- package/dist/img/payments/shop-pay-dark.svg +1 -4
- package/dist/img/payments/shop-pay.svg +1 -4
- package/dist/img/payments/shopify-dark.svg +1 -6
- package/dist/img/payments/shopify.svg +1 -7
- package/dist/img/payments/skrill-dark.svg +1 -10
- package/dist/img/payments/skrill.svg +1 -10
- package/dist/img/payments/skycash-dark.svg +1 -10
- package/dist/img/payments/skycash.svg +1 -10
- package/dist/img/payments/sofort-dark.svg +1 -6
- package/dist/img/payments/sofort.svg +1 -6
- package/dist/img/payments/solana-dark.svg +1 -20
- package/dist/img/payments/solana.svg +1 -20
- package/dist/img/payments/spingo-dark.svg +1 -11
- package/dist/img/payments/spingo.svg +1 -11
- package/dist/img/payments/square-dark.svg +1 -4
- package/dist/img/payments/square.svg +1 -4
- package/dist/img/payments/stax-dark.svg +1 -5
- package/dist/img/payments/stax.svg +1 -5
- package/dist/img/payments/stcpay-dark.svg +1 -7
- package/dist/img/payments/stcpay.svg +1 -7
- package/dist/img/payments/stripe-dark.svg +1 -4
- package/dist/img/payments/stripe.svg +1 -4
- package/dist/img/payments/sumitomo-mitsui-dark.svg +1 -5
- package/dist/img/payments/sumitomo-mitsui.svg +1 -5
- package/dist/img/payments/swift-dark.svg +1 -4
- package/dist/img/payments/swift.svg +1 -4
- package/dist/img/payments/swish-dark.svg +1 -32
- package/dist/img/payments/swish.svg +1 -32
- package/dist/img/payments/synchrony-dark.svg +1 -5
- package/dist/img/payments/synchrony.svg +1 -5
- package/dist/img/payments/tether-dark.svg +1 -11
- package/dist/img/payments/tether.svg +1 -11
- package/dist/img/payments/tpay-dark.svg +1 -10
- package/dist/img/payments/tpay.svg +1 -4
- package/dist/img/payments/troy-dark.svg +1 -7
- package/dist/img/payments/troy.svg +1 -7
- package/dist/img/payments/true-usd-dark.svg +1 -5
- package/dist/img/payments/true-usd.svg +1 -7
- package/dist/img/payments/trustly-dark.svg +1 -11
- package/dist/img/payments/trustly.svg +1 -11
- package/dist/img/payments/twint-dark.svg +1 -29
- package/dist/img/payments/twint.svg +1 -29
- package/dist/img/payments/ubs-dark.svg +1 -5
- package/dist/img/payments/ubs.svg +1 -5
- package/dist/img/payments/unionpay-dark.svg +1 -6
- package/dist/img/payments/unionpay.svg +1 -7
- package/dist/img/payments/upi-dark.svg +1 -8
- package/dist/img/payments/upi.svg +1 -8
- package/dist/img/payments/us-bank-dark.svg +1 -13
- package/dist/img/payments/us-bank.svg +1 -13
- package/dist/img/payments/usdc-dark.svg +1 -4
- package/dist/img/payments/usdc.svg +1 -4
- package/dist/img/payments/venmo-dark.svg +1 -4
- package/dist/img/payments/venmo.svg +1 -4
- package/dist/img/payments/verifone-dark.svg +1 -5
- package/dist/img/payments/verifone.svg +1 -5
- package/dist/img/payments/vipps-dark.svg +1 -8
- package/dist/img/payments/vipps.svg +1 -8
- package/dist/img/payments/visa-dark.svg +1 -4
- package/dist/img/payments/visa.svg +1 -4
- package/dist/img/payments/we-chat-pay-dark.svg +1 -4
- package/dist/img/payments/we-chat-pay.svg +1 -4
- package/dist/img/payments/webmoney-dark.svg +1 -5
- package/dist/img/payments/webmoney.svg +1 -5
- package/dist/img/payments/wells-fargo-dark.svg +1 -4
- package/dist/img/payments/wells-fargo.svg +1 -4
- package/dist/img/payments/westernunion-dark.svg +1 -18
- package/dist/img/payments/westernunion.svg +1 -18
- package/dist/img/payments/wire-transfer-dark.svg +1 -32
- package/dist/img/payments/wire-transfer.svg +1 -32
- package/dist/img/payments/wise-dark.svg +1 -4
- package/dist/img/payments/wise.svg +1 -4
- package/dist/img/payments/worldpay-dark.svg +1 -4
- package/dist/img/payments/worldpay.svg +1 -5
- package/dist/img/payments/zelle-dark.svg +1 -9
- package/dist/img/payments/zelle.svg +1 -8
- package/dist/img/social/apple-gray.svg +1 -3
- package/dist/img/social/apple.svg +1 -3
- package/dist/img/social/discord-gray.svg +1 -3
- package/dist/img/social/discord.svg +1 -3
- package/dist/img/social/dribbble-gray.svg +1 -3
- package/dist/img/social/dribbble.svg +1 -4
- package/dist/img/social/facebook-gray.svg +1 -3
- package/dist/img/social/facebook.svg +1 -4
- package/dist/img/social/figma-gray.svg +1 -3
- package/dist/img/social/figma.svg +1 -7
- package/dist/img/social/github-gray.svg +1 -10
- package/dist/img/social/github.svg +1 -10
- package/dist/img/social/google-gray.svg +1 -3
- package/dist/img/social/google.svg +1 -6
- package/dist/img/social/instagram-gray.svg +1 -5
- package/dist/img/social/instagram.svg +1 -18
- package/dist/img/social/linkedin-gray.svg +1 -3
- package/dist/img/social/linkedin.svg +1 -3
- package/dist/img/social/medium-gray.svg +1 -5
- package/dist/img/social/medium.svg +1 -5
- package/dist/img/social/meta-gray.svg +1 -5
- package/dist/img/social/meta.svg +1 -17
- package/dist/img/social/metamask-gray.svg +1 -12
- package/dist/img/social/metamask.svg +1 -14
- package/dist/img/social/pinterest-gray.svg +1 -3
- package/dist/img/social/pinterest.svg +1 -4
- package/dist/img/social/reddit-gray.svg +1 -6
- package/dist/img/social/reddit.svg +1 -11
- package/dist/img/social/signal-gray.svg +1 -10
- package/dist/img/social/signal.svg +1 -10
- package/dist/img/social/skype-gray.svg +1 -3
- package/dist/img/social/skype.svg +1 -3
- package/dist/img/social/snapchat-gray.svg +1 -10
- package/dist/img/social/snapchat.svg +1 -11
- package/dist/img/social/spotify-gray.svg +1 -3
- package/dist/img/social/spotify.svg +1 -3
- package/dist/img/social/telegram-gray.svg +1 -3
- package/dist/img/social/telegram.svg +1 -10
- package/dist/img/social/tiktok-gray.svg +1 -3
- package/dist/img/social/tiktok.svg +1 -5
- package/dist/img/social/tumblr-gray.svg +1 -3
- package/dist/img/social/tumblr.svg +1 -3
- package/dist/img/social/twitch-gray.svg +1 -5
- package/dist/img/social/twitch.svg +1 -6
- package/dist/img/social/vk-gray.svg +1 -3
- package/dist/img/social/vk.svg +1 -4
- package/dist/img/social/x-gray.svg +1 -3
- package/dist/img/social/x.svg +1 -3
- package/dist/img/social/youtube-gray.svg +1 -3
- package/dist/img/social/youtube.svg +1 -11
- package/dist/js/tabler-theme.esm.js +6 -4
- package/dist/js/tabler-theme.esm.js.map +1 -1
- package/dist/js/tabler-theme.esm.min.js +2 -2
- package/dist/js/tabler-theme.esm.min.js.map +1 -1
- package/dist/js/tabler-theme.js +6 -4
- package/dist/js/tabler-theme.js.map +1 -1
- package/dist/js/tabler-theme.min.js +2 -2
- package/dist/js/tabler-theme.min.js.map +1 -1
- package/dist/js/tabler.esm.js +5999 -3586
- package/dist/js/tabler.esm.js.map +1 -1
- package/dist/js/tabler.esm.min.js +2 -2
- package/dist/js/tabler.esm.min.js.map +1 -1
- package/dist/js/tabler.js +6010 -3586
- package/dist/js/tabler.js.map +1 -1
- package/dist/js/tabler.min.js +2 -2
- package/dist/js/tabler.min.js.map +1 -1
- package/dist/libs/vanilla-calendar-pro/LICENSE +21 -0
- package/dist/libs/vanilla-calendar-pro/index.js +2 -0
- package/dist/types/src/autosize.d.ts +32 -1
- package/dist/types/src/bootstrap/alert.d.ts +2 -0
- package/dist/types/src/bootstrap/button.d.ts +3 -0
- package/dist/types/src/bootstrap/carousel.d.ts +16 -3
- package/dist/types/src/bootstrap/collapse.d.ts +13 -3
- package/dist/types/src/bootstrap/dom/event-handler.d.ts +7 -4
- package/dist/types/src/bootstrap/dropdown.d.ts +30 -7
- package/dist/types/src/bootstrap/modal.d.ts +12 -8
- package/dist/types/src/bootstrap/offcanvas.d.ts +12 -8
- package/dist/types/src/bootstrap/popover.d.ts +13 -9
- package/dist/types/src/bootstrap/scrollspy.d.ts +17 -3
- package/dist/types/src/bootstrap/tab.d.ts +2 -0
- package/dist/types/src/bootstrap/toast.d.ts +12 -3
- package/dist/types/src/bootstrap/tooltip.d.ts +57 -19
- package/dist/types/src/bootstrap/types.d.ts +25 -1
- package/dist/types/src/bootstrap/util/backdrop.d.ts +2 -2
- package/dist/types/src/bootstrap/util/component-functions.d.ts +22 -2
- package/dist/types/src/bootstrap/util/focustrap.d.ts +2 -2
- package/dist/types/src/bootstrap/util/index.d.ts +5 -1
- package/dist/types/src/bootstrap/util/swipe.d.ts +2 -2
- package/dist/types/src/bootstrap/util/template-factory.d.ts +2 -2
- package/dist/types/src/clipboard.d.ts +45 -0
- package/dist/types/src/confetti.d.ts +58 -0
- package/dist/types/src/countup.d.ts +64 -1
- package/dist/types/src/datepicker.d.ts +102 -0
- package/dist/types/src/deprecated.d.ts +11 -0
- package/dist/types/src/input-mask.d.ts +42 -1
- package/dist/types/src/otp-input.d.ts +71 -0
- package/dist/types/src/sortable.d.ts +41 -1
- package/dist/types/src/sparkline.d.ts +67 -0
- package/dist/types/src/strength.d.ts +52 -0
- package/dist/types/src/switch-icon.d.ts +31 -1
- package/dist/types/src/theme-config.d.ts +3 -1
- package/dist/types/tabler.d.ts +18 -1
- package/js/src/autosize.ts +136 -7
- package/js/src/bootstrap/alert.ts +20 -0
- package/js/src/bootstrap/base-component.ts +1 -1
- package/js/src/bootstrap/button.ts +16 -0
- package/js/src/bootstrap/carousel.ts +42 -7
- package/js/src/bootstrap/collapse.ts +38 -6
- package/js/src/bootstrap/dom/event-handler.ts +50 -16
- package/js/src/bootstrap/dropdown.ts +61 -22
- package/js/src/bootstrap/modal.ts +39 -14
- package/js/src/bootstrap/offcanvas.ts +36 -11
- package/js/src/bootstrap/popover.ts +35 -9
- package/js/src/bootstrap/scrollspy.ts +38 -7
- package/js/src/bootstrap/tab.ts +20 -1
- package/js/src/bootstrap/toast.ts +31 -5
- package/js/src/bootstrap/tooltip.ts +109 -53
- package/js/src/bootstrap/types.ts +30 -1
- package/js/src/bootstrap/util/backdrop.ts +1 -1
- package/js/src/bootstrap/util/component-functions.ts +74 -5
- package/js/src/bootstrap/util/focustrap.ts +2 -2
- package/js/src/bootstrap/util/index.ts +46 -2
- package/js/src/bootstrap/util/swipe.ts +3 -3
- package/js/src/bootstrap/util/template-factory.ts +2 -2
- package/js/src/clipboard.ts +197 -0
- package/js/src/confetti.ts +439 -0
- package/js/src/countup.ts +335 -29
- package/js/src/datepicker.ts +671 -0
- package/js/src/deprecated.ts +28 -0
- package/js/src/dropdown.ts +1 -1
- package/js/src/global.d.ts +12 -13
- package/js/src/input-mask.ts +128 -8
- package/js/src/otp-input.ts +432 -0
- package/js/src/sortable.ts +116 -15
- package/js/src/sparkline.ts +609 -0
- package/js/src/strength.ts +277 -0
- package/js/src/switch-icon.ts +165 -9
- package/js/src/theme-config.ts +3 -1
- package/js/tabler-theme.ts +2 -4
- package/js/tabler.ts +21 -2
- package/libs.json +45 -109
- package/package.json +40 -29
- package/scss/_config.scss +1 -0
- package/scss/_core.scss +6 -0
- package/scss/_deprecated-props.scss +40 -0
- package/scss/_deprecated.scss +153 -0
- package/scss/_extends.scss +6 -1
- package/scss/_maps.scss +10 -11
- package/scss/_mixins.scss +1 -0
- package/scss/_props.scss +40 -6
- package/scss/_settings.scss +3 -1
- package/scss/_utilities-marketing.scss +1 -2
- package/scss/_utilities.scss +62 -24
- package/scss/_variables-dark.scss +31 -42
- package/scss/_variables-deprecated.scss +60 -0
- package/scss/_variables.scss +252 -189
- package/scss/bootstrap/_buttons.scss +6 -33
- package/scss/bootstrap/_carousel.scss +6 -7
- package/scss/bootstrap/_list-group.scss +28 -14
- package/scss/bootstrap/_nav.scss +2 -2
- package/scss/bootstrap/_navbar.scss +6 -7
- package/scss/bootstrap/_offcanvas.scss +2 -0
- package/scss/bootstrap/_pagination.scss +7 -3
- package/scss/bootstrap/_reboot.scss +3 -3
- package/scss/bootstrap/_root.scss +10 -33
- package/scss/bootstrap/_tables.scss +7 -2
- package/scss/bootstrap/forms/_floating-labels.scss +1 -1
- package/scss/bootstrap/forms/_form-check.scss +54 -42
- package/scss/bootstrap/forms/_form-control.scss +4 -8
- package/scss/bootstrap/forms/_form-range.scss +4 -2
- package/scss/bootstrap/forms/_form-select.scss +4 -7
- package/scss/helpers/_index.scss +11 -4
- package/scss/layout/_accessibility.scss +2 -1
- package/scss/layout/_core.scss +0 -8
- package/scss/layout/_navbar.scss +129 -44
- package/scss/layout/_page.scss +15 -2
- package/scss/layout/_root.scss +4 -3
- package/scss/marketing/_hero.scss +0 -11
- package/scss/mixins/_deprecated.scss +110 -0
- package/scss/mixins/_functions.scss +67 -113
- package/scss/mixins/_mixins.scss +41 -8
- package/scss/mixins/bootstrap/_caret.scss +7 -6
- package/scss/mixins/bootstrap/_color-mode.scss +6 -0
- package/scss/mixins/bootstrap/_forms.scss +10 -11
- package/scss/mixins/bootstrap/_gradients.scss +1 -1
- package/scss/mixins/bootstrap/_table-variants.scss +4 -5
- package/scss/tabler-props.scss +5 -0
- package/scss/tabler-themes.scss +67 -66
- package/scss/tabler-vendors.scss +3 -1
- package/scss/tabler.scss +2 -0
- package/scss/ui/_accordion.scss +24 -31
- package/scss/ui/_alerts.scss +29 -8
- package/scss/ui/_avatars.scss +3 -1
- package/scss/ui/_badges.scss +2 -0
- package/scss/ui/_breadcrumbs.scss +2 -0
- package/scss/ui/_buttons.scss +83 -58
- package/scss/ui/_calendars.scss +4 -5
- package/scss/ui/_cards.scss +38 -33
- package/scss/ui/_carousel.scss +1 -1
- package/scss/ui/_chat.scss +2 -0
- package/scss/ui/_close.scss +5 -2
- package/scss/ui/_datagrid.scss +2 -0
- package/scss/ui/_datepicker.scss +425 -0
- package/scss/ui/_dropdowns.scss +5 -1
- package/scss/ui/_empty.scss +2 -0
- package/scss/ui/_forms.scss +33 -47
- package/scss/ui/_icons.scss +2 -0
- package/scss/ui/_legend.scss +145 -2
- package/scss/ui/_lists.scss +3 -3
- package/scss/ui/_markdown.scss +1 -0
- package/scss/ui/_modals.scss +20 -1
- package/scss/ui/_nav.scss +3 -3
- package/scss/ui/_offcanvas.scss +47 -0
- package/scss/ui/_patterns.scss +39 -18
- package/scss/ui/_progress.scss +5 -2
- package/scss/ui/_ribbons.scss +6 -2
- package/scss/ui/_segmented.scss +1 -1
- package/scss/ui/_signal.scss +57 -0
- package/scss/ui/_sortable.scss +73 -0
- package/scss/ui/_sparkline.scss +73 -0
- package/scss/ui/_stars.scss +2 -0
- package/scss/ui/_status.scss +2 -2
- package/scss/ui/_steps.scss +2 -0
- package/scss/ui/_switch-icon.scss +67 -11
- package/scss/ui/_tables.scss +3 -3
- package/scss/ui/_tags.scss +2 -0
- package/scss/ui/_timeline.scss +2 -0
- package/scss/ui/_tracking.scss +2 -0
- package/scss/ui/_type.scss +12 -4
- package/scss/ui/forms/_form-check.scss +10 -2
- package/scss/ui/forms/_form-colorinput.scss +4 -3
- package/scss/ui/forms/_form-custom.scss +0 -13
- package/scss/ui/forms/_form-imagecheck.scss +4 -3
- package/scss/ui/forms/_form-otp.scss +171 -0
- package/scss/ui/forms/_form-selectgroup.scss +7 -7
- package/scss/ui/forms/_strength.scss +63 -0
- package/scss/ui/forms/_validation.scss +5 -0
- package/scss/utils/_background.scss +2 -2
- package/scss/utils/_colors.scss +17 -14
- package/scss/vendor/_apexcharts.scss +10 -1
- package/scss/vendor/_coloris.scss +10 -3
- package/scss/vendor/_fslightbox.scss +2 -2
- package/scss/vendor/_jsvectormap.scss +1 -1
- package/scss/vendor/_nouislider.scss +2 -1
- package/scss/vendor/_tom-select.scss +84 -7
- package/dist/types/src/tabler.d.ts +0 -3
- package/js/src/tabler.ts +0 -17
- package/js/tests/helpers/fixture.ts +0 -33
- package/js/tests/unit/alert.spec.ts +0 -176
- package/js/tests/unit/base-component.spec.ts +0 -166
- package/js/tests/unit/button.spec.ts +0 -167
- package/js/tests/unit/carousel.spec.ts +0 -546
- package/js/tests/unit/collapse.spec.ts +0 -791
- package/js/tests/unit/dom/data.spec.ts +0 -180
- package/js/tests/unit/dom/event-handler.spec.ts +0 -460
- package/js/tests/unit/dom/manipulator.spec.ts +0 -201
- package/js/tests/unit/dom/selector-engine.spec.ts +0 -300
- package/js/tests/unit/dropdown.spec.ts +0 -1095
- package/js/tests/unit/modal.spec.ts +0 -629
- package/js/tests/unit/offcanvas.spec.ts +0 -434
- package/js/tests/unit/popover.spec.ts +0 -253
- package/js/tests/unit/scrollspy.spec.ts +0 -634
- package/js/tests/unit/sidebar.spec.ts +0 -118
- package/js/tests/unit/tab.spec.ts +0 -775
- package/js/tests/unit/tabler-theme.spec.ts +0 -100
- package/js/tests/unit/toast.spec.ts +0 -514
- package/js/tests/unit/tooltip.spec.ts +0 -679
- package/js/tests/unit/util/backdrop.spec.ts +0 -213
- package/js/tests/unit/util/component-functions.spec.ts +0 -88
- package/js/tests/unit/util/config.spec.ts +0 -150
- package/js/tests/unit/util/focustrap.spec.ts +0 -232
- package/js/tests/unit/util/index.spec.ts +0 -478
- package/js/tests/unit/util/sanitizer.spec.ts +0 -118
- package/js/tests/unit/util/scrollbar.spec.ts +0 -202
- package/js/tests/unit/util/swipe.spec.ts +0 -319
- package/js/tests/unit/util/template-factory.spec.ts +0 -233
- package/scss/tests/_add-subtract.test.scss +0 -48
- package/scss/tests/_border-radius.test.scss +0 -23
- package/scss/tests/_box-shadow.test.scss +0 -71
- package/scss/tests/_breakpoints.test.scss +0 -50
- package/scss/tests/_cards.test.scss +0 -31
- package/scss/tests/_caret.test.scss +0 -115
- package/scss/tests/_color-contrast.test.scss +0 -24
- package/scss/tests/_color-mode.test.scss +0 -28
- package/scss/tests/_color.test.scss +0 -44
- package/scss/tests/_colors-misc.test.scss +0 -80
- package/scss/tests/_css-var.test.scss +0 -37
- package/scss/tests/_divide.test.scss +0 -45
- package/scss/tests/_escape-svg.test.scss +0 -18
- package/scss/tests/_generate-utility.test.scss +0 -245
- package/scss/tests/_grid.test.scss +0 -153
- package/scss/tests/_maps.test.scss +0 -76
- package/scss/tests/_media-breakpoint.test.scss +0 -202
- package/scss/tests/_mixins-bootstrap.test.scss +0 -55
- package/scss/tests/_mixins.test.scss +0 -208
- package/scss/tests/_rfs.test.scss +0 -30
- package/scss/tests/_str-replace.test.scss +0 -34
- package/scss/tests/_transition.test.scss +0 -43
|
@@ -6,6 +6,9 @@
|
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
import Tooltip from './tooltip'
|
|
9
|
+
import type { TooltipConfig, TooltipContent, TooltipContentMap } from './tooltip'
|
|
10
|
+
import { defineJQueryPlugin } from './util/index'
|
|
11
|
+
import type { ComponentConfig as BaseComponentConfig, JQueryCollectionLike } from './types'
|
|
9
12
|
|
|
10
13
|
/**
|
|
11
14
|
* Constants
|
|
@@ -16,13 +19,11 @@ const NAME = 'popover'
|
|
|
16
19
|
const SELECTOR_TITLE = '.popover-header'
|
|
17
20
|
const SELECTOR_CONTENT = '.popover-body'
|
|
18
21
|
|
|
19
|
-
|
|
20
|
-
|
|
22
|
+
type ComponentConfig = TooltipConfig & {
|
|
23
|
+
content: TooltipContent
|
|
21
24
|
}
|
|
22
25
|
|
|
23
|
-
|
|
24
|
-
[key: string]: string
|
|
25
|
-
}
|
|
26
|
+
type ComponentConfigInput = Partial<ComponentConfig> & Record<string, unknown>
|
|
26
27
|
|
|
27
28
|
const Default: ComponentConfig = {
|
|
28
29
|
...Tooltip.Default,
|
|
@@ -33,7 +34,7 @@ const Default: ComponentConfig = {
|
|
|
33
34
|
trigger: 'click',
|
|
34
35
|
}
|
|
35
36
|
|
|
36
|
-
const DefaultType:
|
|
37
|
+
const DefaultType: Record<keyof ComponentConfig, string> = {
|
|
37
38
|
...Tooltip.DefaultType,
|
|
38
39
|
content: '(null|string|element|function)',
|
|
39
40
|
}
|
|
@@ -43,11 +44,18 @@ const DefaultType: ComponentConfigType = {
|
|
|
43
44
|
*/
|
|
44
45
|
|
|
45
46
|
class Popover extends Tooltip {
|
|
47
|
+
declare _element: HTMLElement
|
|
48
|
+
declare _config: ComponentConfig
|
|
49
|
+
|
|
50
|
+
constructor(element: HTMLElement | string, config?: ComponentConfigInput) {
|
|
51
|
+
super(element, config)
|
|
52
|
+
}
|
|
53
|
+
|
|
46
54
|
static get Default(): ComponentConfig {
|
|
47
55
|
return Default
|
|
48
56
|
}
|
|
49
57
|
|
|
50
|
-
static get DefaultType():
|
|
58
|
+
static get DefaultType(): Record<keyof ComponentConfig, string> {
|
|
51
59
|
return DefaultType
|
|
52
60
|
}
|
|
53
61
|
|
|
@@ -59,16 +67,34 @@ class Popover extends Tooltip {
|
|
|
59
67
|
return Boolean(this._getTitle() || this._getContent())
|
|
60
68
|
}
|
|
61
69
|
|
|
62
|
-
_getContentForTemplate():
|
|
70
|
+
_getContentForTemplate(): TooltipContentMap {
|
|
63
71
|
return {
|
|
64
72
|
[SELECTOR_TITLE]: this._getTitle(),
|
|
65
73
|
[SELECTOR_CONTENT]: this._getContent(),
|
|
66
74
|
}
|
|
67
75
|
}
|
|
68
76
|
|
|
69
|
-
_getContent():
|
|
77
|
+
_getContent(): string | HTMLElement | null {
|
|
70
78
|
return this._resolvePossibleFunction(this._config.content)
|
|
71
79
|
}
|
|
80
|
+
|
|
81
|
+
static jQueryInterface(this: JQueryCollectionLike, config?: unknown): unknown {
|
|
82
|
+
return this.each(function (this: HTMLElement) {
|
|
83
|
+
const data = Popover.getOrCreateInstance(this, config as BaseComponentConfig) as unknown as Record<string, (arg?: unknown) => unknown>
|
|
84
|
+
|
|
85
|
+
if (typeof config !== 'string') {
|
|
86
|
+
return
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
if (typeof data[config] === 'undefined') {
|
|
90
|
+
throw new TypeError(`No method named "${config}"`)
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
data[config]()
|
|
94
|
+
})
|
|
95
|
+
}
|
|
72
96
|
}
|
|
73
97
|
|
|
98
|
+
defineJQueryPlugin(Popover)
|
|
99
|
+
|
|
74
100
|
export default Popover
|
|
@@ -8,8 +8,18 @@
|
|
|
8
8
|
import BaseComponent from './base-component'
|
|
9
9
|
import EventHandler from './dom/event-handler'
|
|
10
10
|
import SelectorEngine from './dom/selector-engine'
|
|
11
|
-
import { getElement, isDisabled, isVisible, parseSelector } from './util/index'
|
|
12
|
-
import type { ComponentConfig,
|
|
11
|
+
import { defineJQueryPlugin, getElement, isDisabled, isVisible, parseSelector } from './util/index'
|
|
12
|
+
import type { ComponentConfig as BaseComponentConfig, JQueryCollectionLike } from './types'
|
|
13
|
+
|
|
14
|
+
type ComponentConfig = {
|
|
15
|
+
offset: number | null
|
|
16
|
+
rootMargin: string
|
|
17
|
+
smoothScroll: boolean
|
|
18
|
+
target: HTMLElement | null
|
|
19
|
+
threshold: number[]
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
type ComponentConfigInput = Partial<Omit<ComponentConfig, 'target' | 'threshold'>> & { target?: HTMLElement | string | null; threshold?: number[] | string } & Record<string, unknown>
|
|
13
23
|
|
|
14
24
|
const NAME = 'scrollspy'
|
|
15
25
|
const DATA_KEY = 'bs.scrollspy'
|
|
@@ -41,7 +51,7 @@ const Default: ComponentConfig = {
|
|
|
41
51
|
threshold: [0.1, 0.5, 1],
|
|
42
52
|
}
|
|
43
53
|
|
|
44
|
-
const DefaultType:
|
|
54
|
+
const DefaultType: Record<keyof ComponentConfig, string> = {
|
|
45
55
|
offset: '(number|null)',
|
|
46
56
|
rootMargin: 'string',
|
|
47
57
|
smoothScroll: 'boolean',
|
|
@@ -50,6 +60,8 @@ const DefaultType: ComponentConfigType = {
|
|
|
50
60
|
}
|
|
51
61
|
|
|
52
62
|
class ScrollSpy extends BaseComponent {
|
|
63
|
+
declare _element: HTMLElement
|
|
64
|
+
declare _config: ComponentConfig
|
|
53
65
|
_targetLinks: Map<string, HTMLElement>
|
|
54
66
|
_observableSections: Map<string, HTMLElement>
|
|
55
67
|
_rootElement: HTMLElement | null
|
|
@@ -60,7 +72,7 @@ class ScrollSpy extends BaseComponent {
|
|
|
60
72
|
parentScrollTop: number
|
|
61
73
|
}
|
|
62
74
|
|
|
63
|
-
constructor(element: HTMLElement | string, config?:
|
|
75
|
+
constructor(element: HTMLElement | string, config?: ComponentConfigInput) {
|
|
64
76
|
super(element, config)
|
|
65
77
|
|
|
66
78
|
this._targetLinks = new Map()
|
|
@@ -79,7 +91,7 @@ class ScrollSpy extends BaseComponent {
|
|
|
79
91
|
return Default
|
|
80
92
|
}
|
|
81
93
|
|
|
82
|
-
static get DefaultType():
|
|
94
|
+
static get DefaultType(): Record<keyof ComponentConfig, string> {
|
|
83
95
|
return DefaultType
|
|
84
96
|
}
|
|
85
97
|
|
|
@@ -112,8 +124,9 @@ class ScrollSpy extends BaseComponent {
|
|
|
112
124
|
|
|
113
125
|
config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin
|
|
114
126
|
|
|
115
|
-
|
|
116
|
-
|
|
127
|
+
const threshold: unknown = config.threshold
|
|
128
|
+
if (typeof threshold === 'string') {
|
|
129
|
+
config.threshold = threshold.split(',').map((value: string) => Number.parseFloat(value))
|
|
117
130
|
}
|
|
118
131
|
|
|
119
132
|
return config
|
|
@@ -241,6 +254,22 @@ class ScrollSpy extends BaseComponent {
|
|
|
241
254
|
node.classList.remove(CLASS_NAME_ACTIVE)
|
|
242
255
|
}
|
|
243
256
|
}
|
|
257
|
+
|
|
258
|
+
static jQueryInterface(this: JQueryCollectionLike, config?: unknown): unknown {
|
|
259
|
+
return this.each(function (this: HTMLElement) {
|
|
260
|
+
const data = ScrollSpy.getOrCreateInstance(this, config as BaseComponentConfig) as unknown as Record<string, (arg?: unknown) => unknown>
|
|
261
|
+
|
|
262
|
+
if (typeof config !== 'string') {
|
|
263
|
+
return
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {
|
|
267
|
+
throw new TypeError(`No method named "${config}"`)
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
data[config]()
|
|
271
|
+
})
|
|
272
|
+
}
|
|
244
273
|
}
|
|
245
274
|
|
|
246
275
|
EventHandler.on(window, EVENT_LOAD_DATA_API, () => {
|
|
@@ -249,4 +278,6 @@ EventHandler.on(window, EVENT_LOAD_DATA_API, () => {
|
|
|
249
278
|
}
|
|
250
279
|
})
|
|
251
280
|
|
|
281
|
+
defineJQueryPlugin(ScrollSpy)
|
|
282
|
+
|
|
252
283
|
export default ScrollSpy
|
package/js/src/bootstrap/tab.ts
CHANGED
|
@@ -8,7 +8,8 @@
|
|
|
8
8
|
import BaseComponent from './base-component'
|
|
9
9
|
import EventHandler from './dom/event-handler'
|
|
10
10
|
import SelectorEngine from './dom/selector-engine'
|
|
11
|
-
import { getNextActiveElement, isDisabled } from './util/index'
|
|
11
|
+
import { defineJQueryPlugin, getNextActiveElement, isDisabled } from './util/index'
|
|
12
|
+
import type { JQueryCollectionLike } from './types'
|
|
12
13
|
|
|
13
14
|
const NAME = 'tab'
|
|
14
15
|
const DATA_KEY = 'bs.tab'
|
|
@@ -245,6 +246,22 @@ class Tab extends BaseComponent {
|
|
|
245
246
|
_getOuterElement(elem: HTMLElement): HTMLElement {
|
|
246
247
|
return elem.closest(SELECTOR_OUTER) || elem
|
|
247
248
|
}
|
|
249
|
+
|
|
250
|
+
static jQueryInterface(this: JQueryCollectionLike, config?: unknown): unknown {
|
|
251
|
+
return this.each(function (this: HTMLElement) {
|
|
252
|
+
const data = Tab.getOrCreateInstance(this) as unknown as Record<string, (arg?: unknown) => unknown>
|
|
253
|
+
|
|
254
|
+
if (typeof config !== 'string') {
|
|
255
|
+
return
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {
|
|
259
|
+
throw new TypeError(`No method named "${config}"`)
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
data[config]()
|
|
263
|
+
})
|
|
264
|
+
}
|
|
248
265
|
}
|
|
249
266
|
|
|
250
267
|
EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (this: HTMLElement, event: Event) {
|
|
@@ -265,4 +282,6 @@ EventHandler.on(window, EVENT_LOAD_DATA_API, () => {
|
|
|
265
282
|
}
|
|
266
283
|
})
|
|
267
284
|
|
|
285
|
+
defineJQueryPlugin(Tab)
|
|
286
|
+
|
|
268
287
|
export default Tab
|
|
@@ -8,8 +8,16 @@
|
|
|
8
8
|
import BaseComponent from './base-component'
|
|
9
9
|
import EventHandler from './dom/event-handler.js'
|
|
10
10
|
import { enableDismissTrigger } from './util/component-functions'
|
|
11
|
-
import { reflow } from './util/index.js'
|
|
12
|
-
import type { ComponentConfig
|
|
11
|
+
import { defineJQueryPlugin, reflow } from './util/index.js'
|
|
12
|
+
import type { ComponentConfig as BaseComponentConfig, ElementSelector, JQueryCollectionLike } from './types'
|
|
13
|
+
|
|
14
|
+
type ComponentConfig = {
|
|
15
|
+
animation: boolean
|
|
16
|
+
autohide: boolean
|
|
17
|
+
delay: number
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
type ComponentConfigInput = Partial<ComponentConfig> & Record<string, unknown>
|
|
13
21
|
|
|
14
22
|
const NAME = 'toast'
|
|
15
23
|
const DATA_KEY = 'bs.toast'
|
|
@@ -29,7 +37,7 @@ const CLASS_NAME_HIDE = 'hide'
|
|
|
29
37
|
const CLASS_NAME_SHOW = 'show'
|
|
30
38
|
const CLASS_NAME_SHOWING = 'showing'
|
|
31
39
|
|
|
32
|
-
const DefaultType:
|
|
40
|
+
const DefaultType: Record<keyof ComponentConfig, string> = {
|
|
33
41
|
animation: 'boolean',
|
|
34
42
|
autohide: 'boolean',
|
|
35
43
|
delay: 'number',
|
|
@@ -42,11 +50,13 @@ const Default: ComponentConfig = {
|
|
|
42
50
|
}
|
|
43
51
|
|
|
44
52
|
class Toast extends BaseComponent {
|
|
53
|
+
declare _element: HTMLElement
|
|
54
|
+
declare _config: ComponentConfig
|
|
45
55
|
_timeout: ReturnType<typeof setTimeout> | null
|
|
46
56
|
_hasMouseInteraction: boolean
|
|
47
57
|
_hasKeyboardInteraction: boolean
|
|
48
58
|
|
|
49
|
-
constructor(element: ElementSelector, config?:
|
|
59
|
+
constructor(element: ElementSelector, config?: ComponentConfigInput) {
|
|
50
60
|
super(element, config)
|
|
51
61
|
|
|
52
62
|
this._timeout = null
|
|
@@ -59,7 +69,7 @@ class Toast extends BaseComponent {
|
|
|
59
69
|
return Default
|
|
60
70
|
}
|
|
61
71
|
|
|
62
|
-
static get DefaultType():
|
|
72
|
+
static get DefaultType(): Record<keyof ComponentConfig, string> {
|
|
63
73
|
return DefaultType
|
|
64
74
|
}
|
|
65
75
|
|
|
@@ -186,8 +196,24 @@ class Toast extends BaseComponent {
|
|
|
186
196
|
clearTimeout(this._timeout!)
|
|
187
197
|
this._timeout = null
|
|
188
198
|
}
|
|
199
|
+
|
|
200
|
+
static jQueryInterface(this: JQueryCollectionLike, config?: unknown): unknown {
|
|
201
|
+
return this.each(function (this: HTMLElement) {
|
|
202
|
+
const data = Toast.getOrCreateInstance(this, config as BaseComponentConfig) as unknown as Record<string, (arg?: unknown) => unknown>
|
|
203
|
+
|
|
204
|
+
if (typeof config === 'string') {
|
|
205
|
+
if (typeof data[config] === 'undefined') {
|
|
206
|
+
throw new TypeError(`No method named "${config}"`)
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
data[config](this)
|
|
210
|
+
}
|
|
211
|
+
})
|
|
212
|
+
}
|
|
189
213
|
}
|
|
190
214
|
|
|
191
215
|
enableDismissTrigger(Toast)
|
|
192
216
|
|
|
217
|
+
defineJQueryPlugin(Toast)
|
|
218
|
+
|
|
193
219
|
export default Toast
|
|
@@ -9,9 +9,10 @@ import * as Popper from '@popperjs/core'
|
|
|
9
9
|
import BaseComponent from './base-component'
|
|
10
10
|
import EventHandler from './dom/event-handler'
|
|
11
11
|
import Manipulator from './dom/manipulator'
|
|
12
|
-
import { execute, findShadowRoot, getElement, getUID, isRTL, noop } from './util/index'
|
|
12
|
+
import { defineJQueryPlugin, execute, findShadowRoot, getElement, getUID, isRTL, noop } from './util/index'
|
|
13
13
|
import { DefaultAllowlist } from './util/sanitizer'
|
|
14
14
|
import TemplateFactory from './util/template-factory'
|
|
15
|
+
import type { AllowList, ComponentConfig as BaseComponentConfig, JQueryCollectionLike, SanitizeFn } from './types'
|
|
15
16
|
|
|
16
17
|
/**
|
|
17
18
|
* Constants
|
|
@@ -45,13 +46,41 @@ const EVENT_FOCUSOUT = 'focusout'
|
|
|
45
46
|
const EVENT_MOUSEENTER = 'mouseenter'
|
|
46
47
|
const EVENT_MOUSELEAVE = 'mouseleave'
|
|
47
48
|
|
|
48
|
-
|
|
49
|
-
|
|
49
|
+
type PopperOffsetData = { placement: Popper.Placement; reference: Popper.Rect; popper: Popper.Rect }
|
|
50
|
+
type PopperOffsetFunction = (popperData: PopperOffsetData) => number[]
|
|
51
|
+
type PopperConfigFunction = (defaultConfig: Partial<Popper.Options>) => Partial<Popper.Options>
|
|
52
|
+
|
|
53
|
+
export type TooltipDelay = number | { show: number; hide: number }
|
|
54
|
+
export type TooltipContent = string | HTMLElement | null | ((this: HTMLElement, element: HTMLElement) => string | HTMLElement | null)
|
|
55
|
+
// Keys are selectors inside the template, values the content for that slot
|
|
56
|
+
export type TooltipContentMap = Record<string, TooltipContent>
|
|
57
|
+
export type TooltipPlacement = string | ((this: Tooltip, tip: HTMLElement, element: HTMLElement) => string)
|
|
58
|
+
|
|
59
|
+
export type TooltipConfig = {
|
|
60
|
+
allowList: AllowList
|
|
61
|
+
animation: boolean
|
|
62
|
+
boundary: Popper.Boundary
|
|
63
|
+
container: HTMLElement | string | false
|
|
64
|
+
customClass: string | ((this: HTMLElement, element: HTMLElement) => string)
|
|
65
|
+
delay: TooltipDelay
|
|
66
|
+
fallbackPlacements: string[]
|
|
67
|
+
html: boolean
|
|
68
|
+
offset: number[] | string | ((popperData: PopperOffsetData, element: HTMLElement) => number[])
|
|
69
|
+
placement: TooltipPlacement
|
|
70
|
+
popperConfig: Partial<Popper.Options> | PopperConfigFunction | null
|
|
71
|
+
sanitize: boolean
|
|
72
|
+
sanitizeFn: SanitizeFn | null
|
|
73
|
+
selector: string | false
|
|
74
|
+
template: string
|
|
75
|
+
title: TooltipContent
|
|
76
|
+
trigger: string
|
|
50
77
|
}
|
|
51
78
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
79
|
+
type ComponentConfig = TooltipConfig
|
|
80
|
+
|
|
81
|
+
export type TooltipConfigInput = Partial<TooltipConfig> & Record<string, unknown>
|
|
82
|
+
|
|
83
|
+
type ComponentConfigInput = TooltipConfigInput
|
|
55
84
|
|
|
56
85
|
const AttachmentMap: Record<string, string> = {
|
|
57
86
|
AUTO: 'auto',
|
|
@@ -81,7 +110,7 @@ const Default: ComponentConfig = {
|
|
|
81
110
|
trigger: 'hover focus',
|
|
82
111
|
}
|
|
83
112
|
|
|
84
|
-
const DefaultType:
|
|
113
|
+
const DefaultType: Record<keyof ComponentConfig, string> = {
|
|
85
114
|
allowList: 'object',
|
|
86
115
|
animation: 'boolean',
|
|
87
116
|
boundary: '(string|element)',
|
|
@@ -106,17 +135,19 @@ const DefaultType: ComponentConfigType = {
|
|
|
106
135
|
*/
|
|
107
136
|
|
|
108
137
|
class Tooltip extends BaseComponent {
|
|
138
|
+
declare _element: HTMLElement
|
|
139
|
+
declare _config: ComponentConfig
|
|
109
140
|
_isEnabled: boolean
|
|
110
141
|
_timeout: ReturnType<typeof setTimeout> | number
|
|
111
142
|
_isHovered: boolean | null
|
|
112
143
|
_activeTrigger: Record<string, boolean>
|
|
113
144
|
_popper: Popper.Instance | null
|
|
114
145
|
_templateFactory: TemplateFactory | null
|
|
115
|
-
_newContent:
|
|
146
|
+
_newContent: TooltipContentMap | null
|
|
116
147
|
tip: HTMLElement | null
|
|
117
|
-
_hideModalHandler: (
|
|
148
|
+
_hideModalHandler: () => void
|
|
118
149
|
|
|
119
|
-
constructor(element: HTMLElement | string, config?:
|
|
150
|
+
constructor(element: HTMLElement | string, config?: ComponentConfigInput) {
|
|
120
151
|
if (typeof Popper === 'undefined') {
|
|
121
152
|
throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org/docs/v2/)")
|
|
122
153
|
}
|
|
@@ -132,7 +163,11 @@ class Tooltip extends BaseComponent {
|
|
|
132
163
|
this._newContent = null
|
|
133
164
|
|
|
134
165
|
this.tip = null
|
|
135
|
-
this._hideModalHandler =
|
|
166
|
+
this._hideModalHandler = () => {
|
|
167
|
+
if (this._element) {
|
|
168
|
+
this.hide()
|
|
169
|
+
}
|
|
170
|
+
}
|
|
136
171
|
|
|
137
172
|
this._setListeners()
|
|
138
173
|
|
|
@@ -145,7 +180,7 @@ class Tooltip extends BaseComponent {
|
|
|
145
180
|
return Default
|
|
146
181
|
}
|
|
147
182
|
|
|
148
|
-
static get DefaultType():
|
|
183
|
+
static get DefaultType(): Record<keyof ComponentConfig, string> {
|
|
149
184
|
return DefaultType
|
|
150
185
|
}
|
|
151
186
|
|
|
@@ -204,29 +239,30 @@ class Tooltip extends BaseComponent {
|
|
|
204
239
|
const shadowRoot = findShadowRoot(this._element)
|
|
205
240
|
const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element)
|
|
206
241
|
|
|
207
|
-
if (showEvent
|
|
242
|
+
if (showEvent?.defaultPrevented || !isInTheDom) {
|
|
208
243
|
return
|
|
209
244
|
}
|
|
210
245
|
|
|
211
246
|
this._disposePopper()
|
|
212
247
|
|
|
213
|
-
const tip = this._getTipElement()
|
|
248
|
+
const tip = this._getTipElement()!
|
|
214
249
|
|
|
215
|
-
this._element.setAttribute('aria-describedby', tip
|
|
250
|
+
this._element.setAttribute('aria-describedby', tip.getAttribute('id')!)
|
|
216
251
|
|
|
217
252
|
const { container } = this._config
|
|
218
253
|
|
|
219
254
|
if (!this._element.ownerDocument.documentElement.contains(this.tip)) {
|
|
220
|
-
container
|
|
255
|
+
// `_configAfterMerge` resolved the container to an element
|
|
256
|
+
;(container as HTMLElement).append(tip)
|
|
221
257
|
EventHandler.trigger(this._element, (this.constructor as typeof Tooltip).eventName(EVENT_INSERTED))
|
|
222
258
|
}
|
|
223
259
|
|
|
224
|
-
this._popper = this._createPopper(tip
|
|
260
|
+
this._popper = this._createPopper(tip)
|
|
225
261
|
|
|
226
262
|
tip!.classList.add(CLASS_NAME_SHOW)
|
|
227
263
|
|
|
228
264
|
if ('ontouchstart' in document.documentElement) {
|
|
229
|
-
for (const element of
|
|
265
|
+
for (const element of Array.from(document.body.children)) {
|
|
230
266
|
EventHandler.on(element, 'mouseover', noop)
|
|
231
267
|
}
|
|
232
268
|
}
|
|
@@ -250,7 +286,7 @@ class Tooltip extends BaseComponent {
|
|
|
250
286
|
}
|
|
251
287
|
|
|
252
288
|
const hideEvent = EventHandler.trigger(this._element, (this.constructor as typeof Tooltip).eventName(EVENT_HIDE))
|
|
253
|
-
if (hideEvent
|
|
289
|
+
if (hideEvent?.defaultPrevented) {
|
|
254
290
|
return
|
|
255
291
|
}
|
|
256
292
|
|
|
@@ -258,7 +294,7 @@ class Tooltip extends BaseComponent {
|
|
|
258
294
|
tip!.classList.remove(CLASS_NAME_SHOW)
|
|
259
295
|
|
|
260
296
|
if ('ontouchstart' in document.documentElement) {
|
|
261
|
-
for (const element of
|
|
297
|
+
for (const element of Array.from(document.body.children)) {
|
|
262
298
|
EventHandler.off(element, 'mouseover', noop)
|
|
263
299
|
}
|
|
264
300
|
}
|
|
@@ -302,7 +338,7 @@ class Tooltip extends BaseComponent {
|
|
|
302
338
|
return this.tip
|
|
303
339
|
}
|
|
304
340
|
|
|
305
|
-
_createTipElement(content:
|
|
341
|
+
_createTipElement(content: TooltipContentMap): HTMLElement | null {
|
|
306
342
|
const tip = this._getTemplateFactory(content).toHtml() as HTMLElement
|
|
307
343
|
|
|
308
344
|
if (!tip) {
|
|
@@ -323,7 +359,7 @@ class Tooltip extends BaseComponent {
|
|
|
323
359
|
return tip
|
|
324
360
|
}
|
|
325
361
|
|
|
326
|
-
setContent(content:
|
|
362
|
+
setContent(content: TooltipContentMap): void {
|
|
327
363
|
this._newContent = content
|
|
328
364
|
if (this._isShown()) {
|
|
329
365
|
this._disposePopper()
|
|
@@ -331,7 +367,7 @@ class Tooltip extends BaseComponent {
|
|
|
331
367
|
}
|
|
332
368
|
}
|
|
333
369
|
|
|
334
|
-
_getTemplateFactory(content:
|
|
370
|
+
_getTemplateFactory(content: TooltipContentMap): TemplateFactory {
|
|
335
371
|
if (this._templateFactory) {
|
|
336
372
|
this._templateFactory.changeContent(content)
|
|
337
373
|
} else {
|
|
@@ -345,13 +381,13 @@ class Tooltip extends BaseComponent {
|
|
|
345
381
|
return this._templateFactory
|
|
346
382
|
}
|
|
347
383
|
|
|
348
|
-
_getContentForTemplate():
|
|
384
|
+
_getContentForTemplate(): TooltipContentMap {
|
|
349
385
|
return {
|
|
350
386
|
[SELECTOR_TOOLTIP_INNER]: this._getTitle(),
|
|
351
387
|
}
|
|
352
388
|
}
|
|
353
389
|
|
|
354
|
-
_getTitle(): string {
|
|
390
|
+
_getTitle(): string | HTMLElement {
|
|
355
391
|
return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title') || this._element.getAttribute('data-tblr-original-title') || ''
|
|
356
392
|
}
|
|
357
393
|
|
|
@@ -373,7 +409,7 @@ class Tooltip extends BaseComponent {
|
|
|
373
409
|
return Popper.createPopper(this._element, tip, this._getPopperConfig(attachment))
|
|
374
410
|
}
|
|
375
411
|
|
|
376
|
-
_getOffset(): number[] |
|
|
412
|
+
_getOffset(): number[] | PopperOffsetFunction {
|
|
377
413
|
const { offset } = this._config
|
|
378
414
|
|
|
379
415
|
if (typeof offset === 'string') {
|
|
@@ -381,14 +417,14 @@ class Tooltip extends BaseComponent {
|
|
|
381
417
|
}
|
|
382
418
|
|
|
383
419
|
if (typeof offset === 'function') {
|
|
384
|
-
return (popperData:
|
|
420
|
+
return (popperData: PopperOffsetData) => offset(popperData, this._element)
|
|
385
421
|
}
|
|
386
422
|
|
|
387
|
-
return offset
|
|
423
|
+
return offset
|
|
388
424
|
}
|
|
389
425
|
|
|
390
|
-
_resolvePossibleFunction(arg:
|
|
391
|
-
return execute(arg, [this._element, this._element])
|
|
426
|
+
_resolvePossibleFunction<T>(arg: T | ((this: HTMLElement, element: HTMLElement) => T)): T {
|
|
427
|
+
return execute(arg, [this._element, this._element]) as T
|
|
392
428
|
}
|
|
393
429
|
|
|
394
430
|
_getPopperConfig(attachment: string): Partial<Popper.Options> {
|
|
@@ -423,7 +459,7 @@ class Tooltip extends BaseComponent {
|
|
|
423
459
|
name: 'preSetPlacement',
|
|
424
460
|
enabled: true,
|
|
425
461
|
phase: 'beforeMain',
|
|
426
|
-
fn: (data:
|
|
462
|
+
fn: (data: Popper.ModifierArguments<Record<string, unknown>>) => {
|
|
427
463
|
this._getTipElement()!.setAttribute('data-popper-placement', data.state.placement)
|
|
428
464
|
},
|
|
429
465
|
},
|
|
@@ -465,12 +501,6 @@ class Tooltip extends BaseComponent {
|
|
|
465
501
|
}
|
|
466
502
|
}
|
|
467
503
|
|
|
468
|
-
this._hideModalHandler = () => {
|
|
469
|
-
if (this._element) {
|
|
470
|
-
this.hide()
|
|
471
|
-
}
|
|
472
|
-
}
|
|
473
|
-
|
|
474
504
|
EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)
|
|
475
505
|
}
|
|
476
506
|
|
|
@@ -501,7 +531,7 @@ class Tooltip extends BaseComponent {
|
|
|
501
531
|
if (this._isHovered) {
|
|
502
532
|
this.show()
|
|
503
533
|
}
|
|
504
|
-
}, this.
|
|
534
|
+
}, this._getDelay().show)
|
|
505
535
|
}
|
|
506
536
|
|
|
507
537
|
_leave(): void {
|
|
@@ -515,7 +545,12 @@ class Tooltip extends BaseComponent {
|
|
|
515
545
|
if (!this._isHovered) {
|
|
516
546
|
this.hide()
|
|
517
547
|
}
|
|
518
|
-
}, this.
|
|
548
|
+
}, this._getDelay().hide)
|
|
549
|
+
}
|
|
550
|
+
|
|
551
|
+
_getDelay(): { show: number; hide: number } {
|
|
552
|
+
const { delay } = this._config
|
|
553
|
+
return typeof delay === 'number' ? { show: delay, hide: delay } : delay
|
|
519
554
|
}
|
|
520
555
|
|
|
521
556
|
_setTimeout(handler: () => void, timeout: number): void {
|
|
@@ -527,7 +562,7 @@ class Tooltip extends BaseComponent {
|
|
|
527
562
|
return Object.values(this._activeTrigger).includes(true)
|
|
528
563
|
}
|
|
529
564
|
|
|
530
|
-
_getConfig(config
|
|
565
|
+
_getConfig(config?: ComponentConfigInput): ComponentConfig {
|
|
531
566
|
const dataAttributes = Manipulator.getDataAttributes(this._element)
|
|
532
567
|
|
|
533
568
|
for (const dataAttribute of Object.keys(dataAttributes)) {
|
|
@@ -536,18 +571,18 @@ class Tooltip extends BaseComponent {
|
|
|
536
571
|
}
|
|
537
572
|
}
|
|
538
573
|
|
|
539
|
-
|
|
574
|
+
let merged: Record<string, unknown> = {
|
|
540
575
|
...dataAttributes,
|
|
541
576
|
...(typeof config === 'object' && config ? config : {}),
|
|
542
577
|
}
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
this._typeCheckConfig(
|
|
546
|
-
return
|
|
578
|
+
merged = this._mergeConfigObj(merged)
|
|
579
|
+
merged = this._configAfterMerge(merged as ComponentConfig)
|
|
580
|
+
this._typeCheckConfig(merged)
|
|
581
|
+
return merged as ComponentConfig
|
|
547
582
|
}
|
|
548
583
|
|
|
549
584
|
_configAfterMerge(config: ComponentConfig): ComponentConfig {
|
|
550
|
-
config.container = config.container === false ? document.body : getElement(config.container)
|
|
585
|
+
config.container = config.container === false ? document.body : (getElement(config.container) as HTMLElement)
|
|
551
586
|
|
|
552
587
|
if (typeof config.delay === 'number') {
|
|
553
588
|
config.delay = {
|
|
@@ -556,22 +591,25 @@ class Tooltip extends BaseComponent {
|
|
|
556
591
|
}
|
|
557
592
|
}
|
|
558
593
|
|
|
559
|
-
|
|
560
|
-
|
|
594
|
+
// Numbers are accepted at runtime (`data-bs-title="42"`) even though the type says string
|
|
595
|
+
const raw = config as Record<string, unknown>
|
|
596
|
+
if (typeof raw.title === 'number') {
|
|
597
|
+
raw.title = raw.title.toString()
|
|
561
598
|
}
|
|
562
599
|
|
|
563
|
-
if (typeof
|
|
564
|
-
|
|
600
|
+
if (typeof raw.content === 'number') {
|
|
601
|
+
raw.content = raw.content.toString()
|
|
565
602
|
}
|
|
566
603
|
|
|
567
604
|
return config
|
|
568
605
|
}
|
|
569
606
|
|
|
570
|
-
_getDelegateConfig():
|
|
571
|
-
const config:
|
|
607
|
+
_getDelegateConfig(): ComponentConfigInput {
|
|
608
|
+
const config: Record<string, unknown> = {}
|
|
609
|
+
const defaults = (this.constructor as typeof Tooltip).Default as Record<string, unknown>
|
|
572
610
|
|
|
573
611
|
for (const [key, value] of Object.entries(this._config)) {
|
|
574
|
-
if (
|
|
612
|
+
if (defaults[key] !== value) {
|
|
575
613
|
config[key] = value
|
|
576
614
|
}
|
|
577
615
|
}
|
|
@@ -593,6 +631,24 @@ class Tooltip extends BaseComponent {
|
|
|
593
631
|
this.tip = null
|
|
594
632
|
}
|
|
595
633
|
}
|
|
634
|
+
|
|
635
|
+
static jQueryInterface(this: JQueryCollectionLike, config?: unknown): unknown {
|
|
636
|
+
return this.each(function (this: HTMLElement) {
|
|
637
|
+
const data = Tooltip.getOrCreateInstance(this, config as BaseComponentConfig) as unknown as Record<string, (arg?: unknown) => unknown>
|
|
638
|
+
|
|
639
|
+
if (typeof config !== 'string') {
|
|
640
|
+
return
|
|
641
|
+
}
|
|
642
|
+
|
|
643
|
+
if (typeof data[config] === 'undefined') {
|
|
644
|
+
throw new TypeError(`No method named "${config}"`)
|
|
645
|
+
}
|
|
646
|
+
|
|
647
|
+
data[config]()
|
|
648
|
+
})
|
|
649
|
+
}
|
|
596
650
|
}
|
|
597
651
|
|
|
652
|
+
defineJQueryPlugin(Tooltip)
|
|
653
|
+
|
|
598
654
|
export default Tooltip
|