@bariskuran/base 0.0.0-stage → 0.0.2
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/LICENSE +21 -0
- package/README.md +114 -2
- package/package.json +93 -4
- package/src/.prettierrc.cjs +1 -0
- package/src/.vscode/launch.json +15 -0
- package/src/.vscode/settings.json +13 -0
- package/src/constants/API_RESPONSE_CODES.js +300 -0
- package/src/constants/COUNTRY_INFORMATION.js +8322 -0
- package/src/constants/COUNTRY_INFORMATION_dS.jsx +57 -0
- package/src/constants/DATE_DEFAULTS.js +10 -0
- package/src/constants/DEFAULT_BREAKPOINTS.js +8 -0
- package/src/constants/DEFAULT_GLOBAL_CORESTORE_VARIABLES.js +4 -0
- package/src/constants/DEFAULT_GLOBAL_STYLE.js +73 -0
- package/src/constants/DEFAULT_MAX_ASP_RATIO.js +1 -0
- package/src/constants/DEFAULT_MIN_ASP_RATIO.js +1 -0
- package/src/constants/DEFAULT_PRIMARY_FONT.js +10 -0
- package/src/constants/DEFAULT_REM_SETTINGS.js +22 -0
- package/src/constants/DEFAULT_THEME.js +10 -0
- package/src/constants/LANGUAGES.js +2396 -0
- package/src/constants/LANGUAGES_dS.jsx +37 -0
- package/src/constants/LOREM_VOCABULARY.js +177 -0
- package/src/constants/LOWER_CASE_ALPHABET.js +1 -0
- package/src/constants/LOWER_CASE_ALPHABET_dS.jsx +24 -0
- package/src/constants/NUMBERS.js +1 -0
- package/src/constants/NUMBERS_dS.jsx +24 -0
- package/src/constants/SYMBOLS.js +1 -0
- package/src/constants/SYMBOLS_dS.jsx +24 -0
- package/src/constants/SYS.js +3 -0
- package/src/constants/TEXT_LIBRARY.js +72 -0
- package/src/constants/UPPER_CASE_ALPHABET.js +1 -0
- package/src/constants/UPPER_CASE_ALPHABET_dS.jsx +24 -0
- package/src/constants/VALIDATION_RULES.js +1310 -0
- package/src/design-system.js +5 -0
- package/src/helpers/NestedBaseUi/_dS.jsx +70 -0
- package/src/helpers/NestedBaseUi/index.jsx +80 -0
- package/src/helpers/NotifierListener/DefaultVariant.js +47 -0
- package/src/helpers/NotifierListener/index.js +3 -0
- package/src/helpers/NotifierListener/tools/Base.jsx +51 -0
- package/src/helpers/NotifierListener/tools/Box.jsx +116 -0
- package/src/helpers/NotifierListener/tools/TimeBar.jsx +49 -0
- package/src/helpers/NotifierListener/tools/_styled.js +74 -0
- package/src/helpers/NotifierListener/tools/useDisplayQueue.js +85 -0
- package/src/helpers/NotifierListener/tools/useVars.js +33 -0
- package/src/helpers/componentCreator/index.jsx +111 -0
- package/src/helpers/getScrollParent/index.js +173 -0
- package/src/helpers/getScrollParent/useScrollTarget.js +102 -0
- package/src/helpers/useExportedData/index.js +36 -0
- package/src/index.js +184 -0
- package/src/libs/@Base/ErrorPage/_styled.js +98 -0
- package/src/libs/@Base/ErrorPage/index.jsx +109 -0
- package/src/libs/@Base/GlobalDataAndRouter/index.jsx +100 -0
- package/src/libs/@Base/GlobalDataProvider/index.js +277 -0
- package/src/libs/@Base/GlobalDataProvider/resolveLanguage.js +180 -0
- package/src/libs/@Base/LanguageManager/index.js +99 -0
- package/src/libs/@Base/Suspense/index.jsx +12 -0
- package/src/libs/@Base/_dS.jsx +54 -0
- package/src/libs/@Base/_dS_howToSetup.jsx +151 -0
- package/src/libs/@Base/_dS_projectSettings.jsx +370 -0
- package/src/libs/@Base/index.jsx +44 -0
- package/src/libs/@Base/loadingQueueManager/_tools.js +186 -0
- package/src/libs/@Base/loadingQueueManager/index.js +63 -0
- package/src/libs/@Base/loadingQueueManager/loadingApi.js +100 -0
- package/src/libs/@Base/prepareRoutes/index.js +176 -0
- package/src/libs/@Base/styling/GlobalStyle.js +7 -0
- package/src/libs/@Base/styling/fontCss.js +64 -0
- package/src/libs/@Base/styling/generateMediaFunctions.js +143 -0
- package/src/libs/@Base/styling/generateMediaFunctions.test.js +56 -0
- package/src/libs/@Base/styling/index.jsx +73 -0
- package/src/libs/@Base/styling/injectInitialRemAndBodyFontStyle.js +43 -0
- package/src/libs/@Base/styling/prepareRemSettings.js +6 -0
- package/src/libs/@Base/styling/useTheme.js +137 -0
- package/src/libs/@Base/useEffects/index.js +46 -0
- package/src/libs/BlockBuilder/Amedist/_styled.js +13 -0
- package/src/libs/BlockBuilder/Amedist/index.jsx +34 -0
- package/src/libs/BlockBuilder/_dS.jsx +85 -0
- package/src/libs/BlockBuilder/amedistHorizontalLeft/_styled.js +85 -0
- package/src/libs/BlockBuilder/amedistHorizontalLeft/index.jsx +43 -0
- package/src/libs/BlockBuilder/amedistHorizontalRight/_styled.js +85 -0
- package/src/libs/BlockBuilder/amedistHorizontalRight/index.jsx +43 -0
- package/src/libs/BlockBuilder/amedistVertical/_styled.js +112 -0
- package/src/libs/BlockBuilder/amedistVertical/index.jsx +56 -0
- package/src/libs/BlockBuilder/index.js +22 -0
- package/src/libs/Button/Amedist.js +50 -0
- package/src/libs/Button/AnimatedBg.js +50 -0
- package/src/libs/Button/Brackets.js +61 -0
- package/src/libs/Button/DefaultVariant.js +52 -0
- package/src/libs/Button/Plain.js +34 -0
- package/src/libs/Button/SquareOnRight.js +65 -0
- package/src/libs/Button/String.js +94 -0
- package/src/libs/Button/Underline.js +61 -0
- package/src/libs/Button/WithCopyIcon.js +22 -0
- package/src/libs/Button/_Base.jsx +151 -0
- package/src/libs/Button/_dS.jsx +787 -0
- package/src/libs/Button/index.js +59 -0
- package/src/libs/Button/tools/IconArea.jsx +109 -0
- package/src/libs/Button/tools/ScaleWrapper.jsx +29 -0
- package/src/libs/Button/tools/_styled.js +96 -0
- package/src/libs/Button/tools/backgroundFill.js +20 -0
- package/src/libs/Button/tools/generateColors.js +207 -0
- package/src/libs/Button/tools/useTimers.js +86 -0
- package/src/libs/Button/tools/useVars.js +461 -0
- package/src/libs/ButtonGroup/DefaultVariant.js +12 -0
- package/src/libs/ButtonGroup/PlainVariant.js +14 -0
- package/src/libs/ButtonGroup/_dS.jsx +280 -0
- package/src/libs/ButtonGroup/index.jsx +60 -0
- package/src/libs/ButtonGroup/tools/ScrollEdgeShadowLayers.jsx +76 -0
- package/src/libs/ButtonGroup/tools/_Base.jsx +129 -0
- package/src/libs/ButtonGroup/tools/useScrollEdgeShadow.js +82 -0
- package/src/libs/ButtonGroup/tools/useVars.js +54 -0
- package/src/libs/COLORS/_dS.jsx +93 -0
- package/src/libs/COLORS/_styled.js +62 -0
- package/src/libs/COLORS/index.js +6 -0
- package/src/libs/COLORS/themeScales.js +68 -0
- package/src/libs/Card/Amedist/_styled.js +161 -0
- package/src/libs/Card/Amedist/index.jsx +38 -0
- package/src/libs/Card/_Base.jsx +94 -0
- package/src/libs/Card/_dS.jsx +177 -0
- package/src/libs/Card/index.js +14 -0
- package/src/libs/Card/tools/useVars.js +95 -0
- package/src/libs/CardViewer/Grid.js +7 -0
- package/src/libs/CardViewer/Masonry.js +7 -0
- package/src/libs/CardViewer/_dS.jsx +214 -0
- package/src/libs/CardViewer/index.jsx +107 -0
- package/src/libs/CardViewer/index.test.jsx +13 -0
- package/src/libs/CardViewer/tools/_styled.js +94 -0
- package/src/libs/CardViewer/tools/useVars.js +34 -0
- package/src/libs/DesignSystem/ApiViewer/_dS.jsx +71 -0
- package/src/libs/DesignSystem/ApiViewer/_styled.js +58 -0
- package/src/libs/DesignSystem/ApiViewer/index.jsx +149 -0
- package/src/libs/DesignSystem/Block/_dS.jsx +62 -0
- package/src/libs/DesignSystem/Block/_styled.js +99 -0
- package/src/libs/DesignSystem/Block/index.jsx +104 -0
- package/src/libs/DesignSystem/CodeViewer/_dS.jsx +75 -0
- package/src/libs/DesignSystem/CodeViewer/_styled.js +39 -0
- package/src/libs/DesignSystem/CodeViewer/index.jsx +46 -0
- package/src/libs/DesignSystem/CodeViewer/tools/codeFormatters.jsx +558 -0
- package/src/libs/DesignSystem/Layout/_styled.js +40 -0
- package/src/libs/DesignSystem/Layout/index.jsx +107 -0
- package/src/libs/DesignSystem/Layout/tools/pageTitle.js +4 -0
- package/src/libs/DesignSystem/Layout/useVars.js +15 -0
- package/src/libs/DesignSystem/OutputArea/index.jsx +150 -0
- package/src/libs/DesignSystem/Page/index.jsx +56 -0
- package/src/libs/DesignSystem/Routes.jsx +27 -0
- package/src/libs/DesignSystem/VariantViewer/_styled.js +22 -0
- package/src/libs/DesignSystem/VariantViewer/index.jsx +20 -0
- package/src/libs/DesignSystem/_dS.jsx +60 -0
- package/src/libs/DesignSystem/_dS_welcome.jsx +48 -0
- package/src/libs/DesignSystem/formatJsonForDisplay.js +110 -0
- package/src/libs/DesignSystem/index.jsx +210 -0
- package/src/libs/DesignSystem/isJsxDescription.js +12 -0
- package/src/libs/DesignSystem/useOutputViewer/index.jsx +75 -0
- package/src/libs/Dropdown/_styled.js +24 -0
- package/src/libs/Dropdown/index.jsx +91 -0
- package/src/libs/Flag/_dS.jsx +73 -0
- package/src/libs/Flag/_dSLibrary.jsx +120 -0
- package/src/libs/Flag/flags/ad.js +1 -0
- package/src/libs/Flag/flags/ae.js +1 -0
- package/src/libs/Flag/flags/af.js +1 -0
- package/src/libs/Flag/flags/ag.js +1 -0
- package/src/libs/Flag/flags/ai.js +1 -0
- package/src/libs/Flag/flags/al.js +1 -0
- package/src/libs/Flag/flags/am.js +1 -0
- package/src/libs/Flag/flags/ao.js +1 -0
- package/src/libs/Flag/flags/aq.js +1 -0
- package/src/libs/Flag/flags/ar.js +1 -0
- package/src/libs/Flag/flags/as.js +1 -0
- package/src/libs/Flag/flags/at.js +1 -0
- package/src/libs/Flag/flags/au.js +1 -0
- package/src/libs/Flag/flags/aw.js +1 -0
- package/src/libs/Flag/flags/ax.js +1 -0
- package/src/libs/Flag/flags/az.js +1 -0
- package/src/libs/Flag/flags/ba.js +1 -0
- package/src/libs/Flag/flags/bb.js +1 -0
- package/src/libs/Flag/flags/bd.js +1 -0
- package/src/libs/Flag/flags/be.js +1 -0
- package/src/libs/Flag/flags/bf.js +1 -0
- package/src/libs/Flag/flags/bg.js +1 -0
- package/src/libs/Flag/flags/bh.js +1 -0
- package/src/libs/Flag/flags/bi.js +1 -0
- package/src/libs/Flag/flags/bj.js +1 -0
- package/src/libs/Flag/flags/bl.js +1 -0
- package/src/libs/Flag/flags/blank.js +1 -0
- package/src/libs/Flag/flags/bm.js +1 -0
- package/src/libs/Flag/flags/bn.js +1 -0
- package/src/libs/Flag/flags/bo.js +1 -0
- package/src/libs/Flag/flags/bq.js +1 -0
- package/src/libs/Flag/flags/br.js +1 -0
- package/src/libs/Flag/flags/bs.js +1 -0
- package/src/libs/Flag/flags/bt.js +1 -0
- package/src/libs/Flag/flags/bv.js +1 -0
- package/src/libs/Flag/flags/bw.js +1 -0
- package/src/libs/Flag/flags/by.js +1 -0
- package/src/libs/Flag/flags/bz.js +1 -0
- package/src/libs/Flag/flags/ca.js +1 -0
- package/src/libs/Flag/flags/cc.js +1 -0
- package/src/libs/Flag/flags/cd.js +1 -0
- package/src/libs/Flag/flags/cf.js +1 -0
- package/src/libs/Flag/flags/cg.js +1 -0
- package/src/libs/Flag/flags/ch.js +1 -0
- package/src/libs/Flag/flags/ci.js +1 -0
- package/src/libs/Flag/flags/ck.js +1 -0
- package/src/libs/Flag/flags/cl.js +1 -0
- package/src/libs/Flag/flags/cm.js +1 -0
- package/src/libs/Flag/flags/cn.js +1 -0
- package/src/libs/Flag/flags/co.js +1 -0
- package/src/libs/Flag/flags/cr.js +1 -0
- package/src/libs/Flag/flags/cu.js +1 -0
- package/src/libs/Flag/flags/cv.js +1 -0
- package/src/libs/Flag/flags/cw.js +1 -0
- package/src/libs/Flag/flags/cx.js +1 -0
- package/src/libs/Flag/flags/cy.js +1 -0
- package/src/libs/Flag/flags/cz.js +1 -0
- package/src/libs/Flag/flags/de.js +1 -0
- package/src/libs/Flag/flags/dj.js +1 -0
- package/src/libs/Flag/flags/dk.js +1 -0
- package/src/libs/Flag/flags/dm.js +1 -0
- package/src/libs/Flag/flags/do.js +1 -0
- package/src/libs/Flag/flags/dz.js +1 -0
- package/src/libs/Flag/flags/ec.js +1 -0
- package/src/libs/Flag/flags/ee.js +1 -0
- package/src/libs/Flag/flags/eg.js +1 -0
- package/src/libs/Flag/flags/eh.js +1 -0
- package/src/libs/Flag/flags/er.js +1 -0
- package/src/libs/Flag/flags/es.js +1 -0
- package/src/libs/Flag/flags/et.js +1 -0
- package/src/libs/Flag/flags/eu.js +1 -0
- package/src/libs/Flag/flags/fi.js +1 -0
- package/src/libs/Flag/flags/fj.js +1 -0
- package/src/libs/Flag/flags/fk.js +1 -0
- package/src/libs/Flag/flags/fm.js +1 -0
- package/src/libs/Flag/flags/fo.js +1 -0
- package/src/libs/Flag/flags/fr.js +1 -0
- package/src/libs/Flag/flags/ga.js +1 -0
- package/src/libs/Flag/flags/gb-eng.js +1 -0
- package/src/libs/Flag/flags/gb-nir.js +1 -0
- package/src/libs/Flag/flags/gb-sct.js +1 -0
- package/src/libs/Flag/flags/gb-wls.js +1 -0
- package/src/libs/Flag/flags/gb.js +1 -0
- package/src/libs/Flag/flags/gd.js +1 -0
- package/src/libs/Flag/flags/ge.js +1 -0
- package/src/libs/Flag/flags/gf.js +1 -0
- package/src/libs/Flag/flags/gg.js +1 -0
- package/src/libs/Flag/flags/gh.js +1 -0
- package/src/libs/Flag/flags/gi.js +1 -0
- package/src/libs/Flag/flags/gl.js +1 -0
- package/src/libs/Flag/flags/global.js +1 -0
- package/src/libs/Flag/flags/gm.js +1 -0
- package/src/libs/Flag/flags/gn.js +1 -0
- package/src/libs/Flag/flags/gp.js +1 -0
- package/src/libs/Flag/flags/gq.js +1 -0
- package/src/libs/Flag/flags/gr.js +1 -0
- package/src/libs/Flag/flags/gs.js +1 -0
- package/src/libs/Flag/flags/gt.js +1 -0
- package/src/libs/Flag/flags/gu.js +1 -0
- package/src/libs/Flag/flags/gw.js +1 -0
- package/src/libs/Flag/flags/gy.js +1 -0
- package/src/libs/Flag/flags/hk.js +1 -0
- package/src/libs/Flag/flags/hm.js +1 -0
- package/src/libs/Flag/flags/hn.js +1 -0
- package/src/libs/Flag/flags/hr.js +1 -0
- package/src/libs/Flag/flags/ht.js +1 -0
- package/src/libs/Flag/flags/hu.js +1 -0
- package/src/libs/Flag/flags/id.js +1 -0
- package/src/libs/Flag/flags/ie.js +1 -0
- package/src/libs/Flag/flags/il.js +1 -0
- package/src/libs/Flag/flags/im.js +1 -0
- package/src/libs/Flag/flags/in.js +1 -0
- package/src/libs/Flag/flags/io.js +1 -0
- package/src/libs/Flag/flags/iq.js +1 -0
- package/src/libs/Flag/flags/ir.js +1 -0
- package/src/libs/Flag/flags/is.js +1 -0
- package/src/libs/Flag/flags/it.js +1 -0
- package/src/libs/Flag/flags/je.js +1 -0
- package/src/libs/Flag/flags/jm.js +1 -0
- package/src/libs/Flag/flags/jo.js +1 -0
- package/src/libs/Flag/flags/jp.js +1 -0
- package/src/libs/Flag/flags/ke.js +1 -0
- package/src/libs/Flag/flags/kg.js +1 -0
- package/src/libs/Flag/flags/kh.js +1 -0
- package/src/libs/Flag/flags/ki.js +1 -0
- package/src/libs/Flag/flags/km.js +1 -0
- package/src/libs/Flag/flags/kn.js +1 -0
- package/src/libs/Flag/flags/kp.js +1 -0
- package/src/libs/Flag/flags/kr.js +1 -0
- package/src/libs/Flag/flags/kw.js +1 -0
- package/src/libs/Flag/flags/ky.js +1 -0
- package/src/libs/Flag/flags/kz.js +1 -0
- package/src/libs/Flag/flags/la.js +1 -0
- package/src/libs/Flag/flags/lb.js +1 -0
- package/src/libs/Flag/flags/lc.js +1 -0
- package/src/libs/Flag/flags/li.js +1 -0
- package/src/libs/Flag/flags/lk.js +1 -0
- package/src/libs/Flag/flags/lr.js +1 -0
- package/src/libs/Flag/flags/ls.js +1 -0
- package/src/libs/Flag/flags/lt.js +1 -0
- package/src/libs/Flag/flags/lu.js +1 -0
- package/src/libs/Flag/flags/lv.js +1 -0
- package/src/libs/Flag/flags/ly.js +1 -0
- package/src/libs/Flag/flags/ma.js +1 -0
- package/src/libs/Flag/flags/mc.js +1 -0
- package/src/libs/Flag/flags/md.js +1 -0
- package/src/libs/Flag/flags/me.js +1 -0
- package/src/libs/Flag/flags/mf.js +1 -0
- package/src/libs/Flag/flags/mg.js +1 -0
- package/src/libs/Flag/flags/mh.js +1 -0
- package/src/libs/Flag/flags/mk.js +1 -0
- package/src/libs/Flag/flags/ml.js +1 -0
- package/src/libs/Flag/flags/mm.js +1 -0
- package/src/libs/Flag/flags/mn.js +1 -0
- package/src/libs/Flag/flags/mo.js +1 -0
- package/src/libs/Flag/flags/mp.js +1 -0
- package/src/libs/Flag/flags/mq.js +1 -0
- package/src/libs/Flag/flags/mr.js +1 -0
- package/src/libs/Flag/flags/ms.js +1 -0
- package/src/libs/Flag/flags/mt.js +1 -0
- package/src/libs/Flag/flags/mu.js +1 -0
- package/src/libs/Flag/flags/mv.js +1 -0
- package/src/libs/Flag/flags/mw.js +1 -0
- package/src/libs/Flag/flags/mx.js +1 -0
- package/src/libs/Flag/flags/my.js +1 -0
- package/src/libs/Flag/flags/mz.js +1 -0
- package/src/libs/Flag/flags/na.js +1 -0
- package/src/libs/Flag/flags/nc.js +1 -0
- package/src/libs/Flag/flags/ne.js +1 -0
- package/src/libs/Flag/flags/nf.js +1 -0
- package/src/libs/Flag/flags/ng.js +1 -0
- package/src/libs/Flag/flags/ni.js +1 -0
- package/src/libs/Flag/flags/nl.js +1 -0
- package/src/libs/Flag/flags/no.js +1 -0
- package/src/libs/Flag/flags/np.js +1 -0
- package/src/libs/Flag/flags/nr.js +1 -0
- package/src/libs/Flag/flags/nu.js +1 -0
- package/src/libs/Flag/flags/nz.js +1 -0
- package/src/libs/Flag/flags/om.js +1 -0
- package/src/libs/Flag/flags/pa.js +1 -0
- package/src/libs/Flag/flags/pe.js +1 -0
- package/src/libs/Flag/flags/pf.js +1 -0
- package/src/libs/Flag/flags/pg.js +1 -0
- package/src/libs/Flag/flags/ph.js +1 -0
- package/src/libs/Flag/flags/pk.js +1 -0
- package/src/libs/Flag/flags/pl.js +1 -0
- package/src/libs/Flag/flags/pm.js +1 -0
- package/src/libs/Flag/flags/pn.js +1 -0
- package/src/libs/Flag/flags/po.js +1 -0
- package/src/libs/Flag/flags/pr.js +1 -0
- package/src/libs/Flag/flags/ps.js +1 -0
- package/src/libs/Flag/flags/pt.js +1 -0
- package/src/libs/Flag/flags/pw.js +1 -0
- package/src/libs/Flag/flags/py.js +1 -0
- package/src/libs/Flag/flags/qa.js +1 -0
- package/src/libs/Flag/flags/re.js +1 -0
- package/src/libs/Flag/flags/ro.js +1 -0
- package/src/libs/Flag/flags/rs.js +1 -0
- package/src/libs/Flag/flags/ru.js +1 -0
- package/src/libs/Flag/flags/rw.js +1 -0
- package/src/libs/Flag/flags/sa.js +1 -0
- package/src/libs/Flag/flags/sb.js +1 -0
- package/src/libs/Flag/flags/sc.js +1 -0
- package/src/libs/Flag/flags/sd.js +1 -0
- package/src/libs/Flag/flags/se.js +1 -0
- package/src/libs/Flag/flags/sg.js +1 -0
- package/src/libs/Flag/flags/sh.js +1 -0
- package/src/libs/Flag/flags/si.js +1 -0
- package/src/libs/Flag/flags/sj.js +1 -0
- package/src/libs/Flag/flags/sk.js +1 -0
- package/src/libs/Flag/flags/sl.js +1 -0
- package/src/libs/Flag/flags/sm.js +1 -0
- package/src/libs/Flag/flags/sn.js +1 -0
- package/src/libs/Flag/flags/so.js +1 -0
- package/src/libs/Flag/flags/sr.js +1 -0
- package/src/libs/Flag/flags/ss.js +1 -0
- package/src/libs/Flag/flags/st.js +1 -0
- package/src/libs/Flag/flags/sv.js +1 -0
- package/src/libs/Flag/flags/sx.js +1 -0
- package/src/libs/Flag/flags/sy.js +1 -0
- package/src/libs/Flag/flags/sz.js +1 -0
- package/src/libs/Flag/flags/tc.js +1 -0
- package/src/libs/Flag/flags/td.js +1 -0
- package/src/libs/Flag/flags/tf.js +1 -0
- package/src/libs/Flag/flags/tg.js +1 -0
- package/src/libs/Flag/flags/th.js +1 -0
- package/src/libs/Flag/flags/tj.js +1 -0
- package/src/libs/Flag/flags/tk.js +1 -0
- package/src/libs/Flag/flags/tl.js +1 -0
- package/src/libs/Flag/flags/tm.js +1 -0
- package/src/libs/Flag/flags/tn.js +1 -0
- package/src/libs/Flag/flags/to.js +1 -0
- package/src/libs/Flag/flags/tr.js +1 -0
- package/src/libs/Flag/flags/tt.js +1 -0
- package/src/libs/Flag/flags/tv.js +1 -0
- package/src/libs/Flag/flags/tw.js +1 -0
- package/src/libs/Flag/flags/tz.js +1 -0
- package/src/libs/Flag/flags/ua.js +1 -0
- package/src/libs/Flag/flags/ug.js +1 -0
- package/src/libs/Flag/flags/um.js +1 -0
- package/src/libs/Flag/flags/us.js +1 -0
- package/src/libs/Flag/flags/uy.js +1 -0
- package/src/libs/Flag/flags/uz.js +1 -0
- package/src/libs/Flag/flags/va.js +1 -0
- package/src/libs/Flag/flags/vc.js +1 -0
- package/src/libs/Flag/flags/ve.js +1 -0
- package/src/libs/Flag/flags/vg.js +1 -0
- package/src/libs/Flag/flags/vi.js +1 -0
- package/src/libs/Flag/flags/vn.js +1 -0
- package/src/libs/Flag/flags/vu.js +1 -0
- package/src/libs/Flag/flags/wf.js +1 -0
- package/src/libs/Flag/flags/ws.js +1 -0
- package/src/libs/Flag/flags/xk.js +1 -0
- package/src/libs/Flag/flags/ye.js +1 -0
- package/src/libs/Flag/flags/yt.js +1 -0
- package/src/libs/Flag/flags/za.js +1 -0
- package/src/libs/Flag/flags/zm.js +1 -0
- package/src/libs/Flag/flags/zw.js +1 -0
- package/src/libs/Flag/flags.js +37 -0
- package/src/libs/Flag/index.jsx +16 -0
- package/src/libs/Flex/_dS.jsx +610 -0
- package/src/libs/Flex/index.js +34 -0
- package/src/libs/Flex/tools/FlexTestPage.jsx +228 -0
- package/src/libs/Flex/tools/_Base.jsx +76 -0
- package/src/libs/Flex/tools/_styled.js +124 -0
- package/src/libs/Flex/tools/flexParentDetection.js +9 -0
- package/src/libs/Flex/tools/generateProps.js +826 -0
- package/src/libs/Flex/tools/getFlexDomRestProps.js +29 -0
- package/src/libs/Flex/tools/getNumber.js +4 -0
- package/src/libs/Flex/tools/mergeStyles.js +11 -0
- package/src/libs/Flex/tools/resolveFlexBorder.js +145 -0
- package/src/libs/Flex/tools/resolveFlexMotion.js +214 -0
- package/src/libs/Flex/tools/resolveFlexTypoWrap.js +20 -0
- package/src/libs/Flex/tools/splitUserStyle.js +57 -0
- package/src/libs/Flex/tools/sysDefaults.js +5 -0
- package/src/libs/Flex/tools/useVars.js +336 -0
- package/src/libs/FloatingUi/DefaultVariant.js +126 -0
- package/src/libs/FloatingUi/PlainVariant.js +111 -0
- package/src/libs/FloatingUi/_dS.jsx +307 -0
- package/src/libs/FloatingUi/_styled.js +8 -0
- package/src/libs/FloatingUi/index.js +12 -0
- package/src/libs/FloatingUi/tools/_Base.jsx +90 -0
- package/src/libs/FloatingUi/tools/floatingMountHost.js +106 -0
- package/src/libs/FloatingUi/tools/getPosition.js +307 -0
- package/src/libs/FloatingUi/tools/useVars.js +450 -0
- package/src/libs/GoogleMapViewer/_dS.jsx +69 -0
- package/src/libs/GoogleMapViewer/_styled.js +17 -0
- package/src/libs/GoogleMapViewer/index.jsx +26 -0
- package/src/libs/GoogleMapViewer/useVars.js +38 -0
- package/src/libs/Group/_dS.jsx +154 -0
- package/src/libs/Group/index.jsx +35 -0
- package/src/libs/HeaderCover/Amedist/_styled.js +185 -0
- package/src/libs/HeaderCover/Amedist/index.jsx +82 -0
- package/src/libs/HeaderCover/Amedist/useVars.js +81 -0
- package/src/libs/HeaderCover/index.js +11 -0
- package/src/libs/Icon/_dS.jsx +401 -0
- package/src/libs/Icon/_dSLibrary.jsx +145 -0
- package/src/libs/Icon/icons/abstract1.js +1 -0
- package/src/libs/Icon/icons/abstract10.js +1 -0
- package/src/libs/Icon/icons/abstract11.js +1 -0
- package/src/libs/Icon/icons/abstract12.js +1 -0
- package/src/libs/Icon/icons/abstract13.js +1 -0
- package/src/libs/Icon/icons/abstract14.js +1 -0
- package/src/libs/Icon/icons/abstract15.js +1 -0
- package/src/libs/Icon/icons/abstract16.js +1 -0
- package/src/libs/Icon/icons/abstract17.js +1 -0
- package/src/libs/Icon/icons/abstract18.js +1 -0
- package/src/libs/Icon/icons/abstract19.js +1 -0
- package/src/libs/Icon/icons/abstract2.js +1 -0
- package/src/libs/Icon/icons/abstract20.js +1 -0
- package/src/libs/Icon/icons/abstract21.js +1 -0
- package/src/libs/Icon/icons/abstract22.js +1 -0
- package/src/libs/Icon/icons/abstract23.js +1 -0
- package/src/libs/Icon/icons/abstract24.js +1 -0
- package/src/libs/Icon/icons/abstract25.js +1 -0
- package/src/libs/Icon/icons/abstract26.js +1 -0
- package/src/libs/Icon/icons/abstract27.js +1 -0
- package/src/libs/Icon/icons/abstract28.js +1 -0
- package/src/libs/Icon/icons/abstract29.js +1 -0
- package/src/libs/Icon/icons/abstract3.js +1 -0
- package/src/libs/Icon/icons/abstract30.js +1 -0
- package/src/libs/Icon/icons/abstract31.js +1 -0
- package/src/libs/Icon/icons/abstract32.js +1 -0
- package/src/libs/Icon/icons/abstract33.js +1 -0
- package/src/libs/Icon/icons/abstract34.js +1 -0
- package/src/libs/Icon/icons/abstract35.js +1 -0
- package/src/libs/Icon/icons/abstract36.js +1 -0
- package/src/libs/Icon/icons/abstract37.js +1 -0
- package/src/libs/Icon/icons/abstract38.js +1 -0
- package/src/libs/Icon/icons/abstract39.js +1 -0
- package/src/libs/Icon/icons/abstract4.js +1 -0
- package/src/libs/Icon/icons/abstract40.js +1 -0
- package/src/libs/Icon/icons/abstract41.js +1 -0
- package/src/libs/Icon/icons/abstract42.js +1 -0
- package/src/libs/Icon/icons/abstract43.js +1 -0
- package/src/libs/Icon/icons/abstract44.js +1 -0
- package/src/libs/Icon/icons/abstract45.js +1 -0
- package/src/libs/Icon/icons/abstract46.js +1 -0
- package/src/libs/Icon/icons/abstract47.js +1 -0
- package/src/libs/Icon/icons/abstract48.js +1 -0
- package/src/libs/Icon/icons/abstract49.js +1 -0
- package/src/libs/Icon/icons/abstract5.js +1 -0
- package/src/libs/Icon/icons/abstract50.js +1 -0
- package/src/libs/Icon/icons/abstract51.js +1 -0
- package/src/libs/Icon/icons/abstract52.js +1 -0
- package/src/libs/Icon/icons/abstract53.js +1 -0
- package/src/libs/Icon/icons/abstract54.js +1 -0
- package/src/libs/Icon/icons/abstract55.js +1 -0
- package/src/libs/Icon/icons/abstract56.js +1 -0
- package/src/libs/Icon/icons/abstract57.js +1 -0
- package/src/libs/Icon/icons/abstract58.js +1 -0
- package/src/libs/Icon/icons/abstract59.js +1 -0
- package/src/libs/Icon/icons/abstract6.js +1 -0
- package/src/libs/Icon/icons/abstract60.js +1 -0
- package/src/libs/Icon/icons/abstract61.js +1 -0
- package/src/libs/Icon/icons/abstract62.js +1 -0
- package/src/libs/Icon/icons/abstract63.js +1 -0
- package/src/libs/Icon/icons/abstract64.js +1 -0
- package/src/libs/Icon/icons/abstract65.js +1 -0
- package/src/libs/Icon/icons/abstract66.js +1 -0
- package/src/libs/Icon/icons/abstract67.js +1 -0
- package/src/libs/Icon/icons/abstract68.js +1 -0
- package/src/libs/Icon/icons/abstract69.js +1 -0
- package/src/libs/Icon/icons/abstract7.js +1 -0
- package/src/libs/Icon/icons/abstract70.js +1 -0
- package/src/libs/Icon/icons/abstract71.js +1 -0
- package/src/libs/Icon/icons/abstract72.js +1 -0
- package/src/libs/Icon/icons/abstract73.js +1 -0
- package/src/libs/Icon/icons/abstract74.js +1 -0
- package/src/libs/Icon/icons/abstract75.js +1 -0
- package/src/libs/Icon/icons/abstract8.js +1 -0
- package/src/libs/Icon/icons/abstract9.js +1 -0
- package/src/libs/Icon/icons/adNetworkIcon.js +1 -0
- package/src/libs/Icon/icons/add.js +1 -0
- package/src/libs/Icon/icons/addToBookmarks.js +1 -0
- package/src/libs/Icon/icons/addToFavs.js +1 -0
- package/src/libs/Icon/icons/all.js +1 -0
- package/src/libs/Icon/icons/ancient.js +1 -0
- package/src/libs/Icon/icons/android.js +1 -0
- package/src/libs/Icon/icons/apple.js +1 -0
- package/src/libs/Icon/icons/archieved.js +1 -0
- package/src/libs/Icon/icons/arrowDown.js +1 -0
- package/src/libs/Icon/icons/arrowLeft.js +1 -0
- package/src/libs/Icon/icons/arrowRight.js +1 -0
- package/src/libs/Icon/icons/arrowUp.js +1 -0
- package/src/libs/Icon/icons/asteriks.js +1 -0
- package/src/libs/Icon/icons/asteriks2.js +1 -0
- package/src/libs/Icon/icons/back.js +1 -0
- package/src/libs/Icon/icons/backFlip.js +1 -0
- package/src/libs/Icon/icons/backSpace.js +1 -0
- package/src/libs/Icon/icons/baseLogo.js +1 -0
- package/src/libs/Icon/icons/book.js +1 -0
- package/src/libs/Icon/icons/bookmarks.js +1 -0
- package/src/libs/Icon/icons/box.js +1 -0
- package/src/libs/Icon/icons/bracketLeft.js +1 -0
- package/src/libs/Icon/icons/bracketRight.js +1 -0
- package/src/libs/Icon/icons/bridge.js +1 -0
- package/src/libs/Icon/icons/building.js +1 -0
- package/src/libs/Icon/icons/campaign.js +1 -0
- package/src/libs/Icon/icons/cancel.js +1 -0
- package/src/libs/Icon/icons/car.js +1 -0
- package/src/libs/Icon/icons/castle.js +1 -0
- package/src/libs/Icon/icons/chart.js +1 -0
- package/src/libs/Icon/icons/check.js +1 -0
- package/src/libs/Icon/icons/chrome.js +1 -0
- package/src/libs/Icon/icons/close.js +1 -0
- package/src/libs/Icon/icons/closeThin.js +1 -0
- package/src/libs/Icon/icons/code.js +1 -0
- package/src/libs/Icon/icons/collapse.js +1 -0
- package/src/libs/Icon/icons/columns.js +1 -0
- package/src/libs/Icon/icons/compass.js +1 -0
- package/src/libs/Icon/icons/copy.js +1 -0
- package/src/libs/Icon/icons/description.js +1 -0
- package/src/libs/Icon/icons/desktopAll.js +1 -0
- package/src/libs/Icon/icons/desktopAll1.js +1 -0
- package/src/libs/Icon/icons/desktopApple.js +1 -0
- package/src/libs/Icon/icons/desktopLinux.js +1 -0
- package/src/libs/Icon/icons/desktopWin.js +1 -0
- package/src/libs/Icon/icons/dot.js +1 -0
- package/src/libs/Icon/icons/dotSmall.js +1 -0
- package/src/libs/Icon/icons/doubleArrow.js +1 -0
- package/src/libs/Icon/icons/dove.js +1 -0
- package/src/libs/Icon/icons/download.js +1 -0
- package/src/libs/Icon/icons/download2.js +1 -0
- package/src/libs/Icon/icons/drag.js +1 -0
- package/src/libs/Icon/icons/duplicate.js +1 -0
- package/src/libs/Icon/icons/edge.js +1 -0
- package/src/libs/Icon/icons/edit.js +1 -0
- package/src/libs/Icon/icons/expand.js +1 -0
- package/src/libs/Icon/icons/eyeClose.js +1 -0
- package/src/libs/Icon/icons/eyeOpen.js +1 -0
- package/src/libs/Icon/icons/facebook.js +1 -0
- package/src/libs/Icon/icons/filter.js +1 -0
- package/src/libs/Icon/icons/filterClear.js +1 -0
- package/src/libs/Icon/icons/finance.js +1 -0
- package/src/libs/Icon/icons/firefox.js +1 -0
- package/src/libs/Icon/icons/focus.js +1 -0
- package/src/libs/Icon/icons/fullArrowDown.js +1 -0
- package/src/libs/Icon/icons/fullArrowLeft.js +1 -0
- package/src/libs/Icon/icons/fullArrowRight.js +1 -0
- package/src/libs/Icon/icons/fullArrowUp.js +1 -0
- package/src/libs/Icon/icons/globe.js +1 -0
- package/src/libs/Icon/icons/home.js +1 -0
- package/src/libs/Icon/icons/iOs.js +1 -0
- package/src/libs/Icon/icons/information.js +1 -0
- package/src/libs/Icon/icons/information_square.js +1 -0
- package/src/libs/Icon/icons/instagram.js +1 -0
- package/src/libs/Icon/icons/internetExplorer.js +1 -0
- package/src/libs/Icon/icons/islam.js +1 -0
- package/src/libs/Icon/icons/key.js +1 -0
- package/src/libs/Icon/icons/labelCustom.js +1 -0
- package/src/libs/Icon/icons/labelCustom2.js +1 -0
- package/src/libs/Icon/icons/laptop.js +1 -0
- package/src/libs/Icon/icons/link.js +1 -0
- package/src/libs/Icon/icons/linkedIn.js +1 -0
- package/src/libs/Icon/icons/linux.js +1 -0
- package/src/libs/Icon/icons/loading.js +1 -0
- package/src/libs/Icon/icons/loading2.js +1 -0
- package/src/libs/Icon/icons/loading3.js +1 -0
- package/src/libs/Icon/icons/loading4.js +1 -0
- package/src/libs/Icon/icons/loading5.js +1 -0
- package/src/libs/Icon/icons/loading6.js +1 -0
- package/src/libs/Icon/icons/loading7.js +1 -0
- package/src/libs/Icon/icons/location.js +1 -0
- package/src/libs/Icon/icons/lockClose.js +1 -0
- package/src/libs/Icon/icons/lockOpen.js +1 -0
- package/src/libs/Icon/icons/logoHead.js +1 -0
- package/src/libs/Icon/icons/macOs.js +1 -0
- package/src/libs/Icon/icons/mail.js +1 -0
- package/src/libs/Icon/icons/mail2.js +1 -0
- package/src/libs/Icon/icons/menu.js +1 -0
- package/src/libs/Icon/icons/menu2.js +1 -0
- package/src/libs/Icon/icons/menuStylish.js +1 -0
- package/src/libs/Icon/icons/menuStylishFull.js +1 -0
- package/src/libs/Icon/icons/mobile.js +1 -0
- package/src/libs/Icon/icons/mobileAll.js +1 -0
- package/src/libs/Icon/icons/mobileAll2.js +1 -0
- package/src/libs/Icon/icons/mobileAndroid.js +1 -0
- package/src/libs/Icon/icons/mobileApple.js +1 -0
- package/src/libs/Icon/icons/mobileWin.js +1 -0
- package/src/libs/Icon/icons/museum.js +1 -0
- package/src/libs/Icon/icons/notification.js +1 -0
- package/src/libs/Icon/icons/offer.js +1 -0
- package/src/libs/Icon/icons/opera.js +1 -0
- package/src/libs/Icon/icons/path.js +1 -0
- package/src/libs/Icon/icons/pause.js +1 -0
- package/src/libs/Icon/icons/phone.js +1 -0
- package/src/libs/Icon/icons/phone2.js +1 -0
- package/src/libs/Icon/icons/pin.js +1 -0
- package/src/libs/Icon/icons/pixels.js +1 -0
- package/src/libs/Icon/icons/plane.js +1 -0
- package/src/libs/Icon/icons/play.js +1 -0
- package/src/libs/Icon/icons/plus.js +1 -0
- package/src/libs/Icon/icons/preview.js +1 -0
- package/src/libs/Icon/icons/question.js +1 -0
- package/src/libs/Icon/icons/quote1.js +1 -0
- package/src/libs/Icon/icons/quote2.js +1 -0
- package/src/libs/Icon/icons/refresh.js +1 -0
- package/src/libs/Icon/icons/rejected.js +1 -0
- package/src/libs/Icon/icons/report.js +1 -0
- package/src/libs/Icon/icons/reset.js +1 -0
- package/src/libs/Icon/icons/restaurant.js +1 -0
- package/src/libs/Icon/icons/route.js +1 -0
- package/src/libs/Icon/icons/safari.js +1 -0
- package/src/libs/Icon/icons/samsungExplorer.js +1 -0
- package/src/libs/Icon/icons/sandclock.js +1 -0
- package/src/libs/Icon/icons/screenMobile.js +1 -0
- package/src/libs/Icon/icons/screenRegular.js +1 -0
- package/src/libs/Icon/icons/screenWide.js +1 -0
- package/src/libs/Icon/icons/search.js +1 -0
- package/src/libs/Icon/icons/selectAll.js +1 -0
- package/src/libs/Icon/icons/selectNone.js +1 -0
- package/src/libs/Icon/icons/settings.js +1 -0
- package/src/libs/Icon/icons/share.js +1 -0
- package/src/libs/Icon/icons/shop.js +1 -0
- package/src/libs/Icon/icons/star.js +1 -0
- package/src/libs/Icon/icons/starEmpty.js +1 -0
- package/src/libs/Icon/icons/starHalf.js +1 -0
- package/src/libs/Icon/icons/stop.js +1 -0
- package/src/libs/Icon/icons/style.js +1 -0
- package/src/libs/Icon/icons/switch.js +1 -0
- package/src/libs/Icon/icons/tablet.js +1 -0
- package/src/libs/Icon/icons/tag.js +1 -0
- package/src/libs/Icon/icons/targeting.js +1 -0
- package/src/libs/Icon/icons/threeDots.js +1 -0
- package/src/libs/Icon/icons/threeDotsLarge.js +1 -0
- package/src/libs/Icon/icons/threeDotsLargeHorizontal.js +1 -0
- package/src/libs/Icon/icons/trash.js +1 -0
- package/src/libs/Icon/icons/trees.js +1 -0
- package/src/libs/Icon/icons/ubuntu.js +1 -0
- package/src/libs/Icon/icons/ucExplorer.js +1 -0
- package/src/libs/Icon/icons/upload.js +1 -0
- package/src/libs/Icon/icons/user.js +1 -0
- package/src/libs/Icon/icons/userAdvanced.js +1 -0
- package/src/libs/Icon/icons/volumeOff.js +1 -0
- package/src/libs/Icon/icons/volumeOn.js +1 -0
- package/src/libs/Icon/icons/walk.js +1 -0
- package/src/libs/Icon/icons/warning.js +1 -0
- package/src/libs/Icon/icons/warning2.js +1 -0
- package/src/libs/Icon/icons/website.js +1 -0
- package/src/libs/Icon/icons/widget.js +1 -0
- package/src/libs/Icon/icons/win.js +1 -0
- package/src/libs/Icon/icons/windows.js +1 -0
- package/src/libs/Icon/icons.js +37 -0
- package/src/libs/Icon/index.jsx +285 -0
- package/src/libs/Icon/tools/IconLayer.jsx +221 -0
- package/src/libs/Icon/tools/PopTipWrapper.jsx +6 -0
- package/src/libs/Icon/tools/iconMeta.js +65 -0
- package/src/libs/Icon/tools/pathBounds.js +166 -0
- package/src/libs/Icon/tools/styled.js +115 -0
- package/src/libs/Icon/tools/validators.js +20 -0
- package/src/libs/Icon/tools/visualScale.js +31 -0
- package/src/libs/IdleManager/_dS.jsx +74 -0
- package/src/libs/IdleManager/index.js +164 -0
- package/src/libs/Image/_dS.jsx +271 -0
- package/src/libs/Image/_styled.js +29 -0
- package/src/libs/Image/animations/index.js +16 -0
- package/src/libs/Image/animations/pulse.js +9 -0
- package/src/libs/Image/assets/sample-landscape.svg +5 -0
- package/src/libs/Image/index.jsx +91 -0
- package/src/libs/Image/useVars.js +393 -0
- package/src/libs/Image/useVars.test.jsx +93 -0
- package/src/libs/ImageGalery/Amedist/_styled.js +193 -0
- package/src/libs/ImageGalery/Amedist/index.jsx +285 -0
- package/src/libs/ImageGalery/_Base.jsx +139 -0
- package/src/libs/ImageGalery/_Base.test.jsx +66 -0
- package/src/libs/ImageGalery/_dS.jsx +71 -0
- package/src/libs/ImageGalery/index.jsx +23 -0
- package/src/libs/Layout/ControllerError.jsx +28 -0
- package/src/libs/Layout/_dS_footerAmedist.jsx +62 -0
- package/src/libs/Layout/_dS_headerAmedist.jsx +139 -0
- package/src/libs/Layout/_dS_mainAmedist.jsx +87 -0
- package/src/libs/Layout/_dS_useLayout.jsx +55 -0
- package/src/libs/Layout/controllerRegistry.js +121 -0
- package/src/libs/Layout/controllerRegistry.test.jsx +99 -0
- package/src/libs/Layout/controllers.js +169 -0
- package/src/libs/Layout/footerAmedist/_styled.js +75 -0
- package/src/libs/Layout/footerAmedist/index.jsx +22 -0
- package/src/libs/Layout/headerAmedist/_styled.js +151 -0
- package/src/libs/Layout/headerAmedist/index.jsx +240 -0
- package/src/libs/Layout/index.js +51 -0
- package/src/libs/Layout/mainAmedist/_styled.js +87 -0
- package/src/libs/Layout/mainAmedist/index.jsx +45 -0
- package/src/libs/LottiePlayer/_ds.jsx +308 -0
- package/src/libs/LottiePlayer/_eski/StickyLottiePlayer.js +91 -0
- package/src/libs/LottiePlayer/_eski/_styled.js +23 -0
- package/src/libs/LottiePlayer/_eski/index.js +224 -0
- package/src/libs/LottiePlayer/_styled.js +87 -0
- package/src/libs/LottiePlayer/index.jsx +455 -0
- package/src/libs/LottiePlayer/test.json +344 -0
- package/src/libs/ParalaxItem/_dS.jsx +253 -0
- package/src/libs/ParalaxItem/_styled.js +79 -0
- package/src/libs/ParalaxItem/index.jsx +64 -0
- package/src/libs/ParalaxItem/useCoverImageVars.js +98 -0
- package/src/libs/ParalaxItem/useVars.js +208 -0
- package/src/libs/PopConfirm/_dS.jsx +148 -0
- package/src/libs/PopConfirm/index.js +8 -0
- package/src/libs/PopConfirm/tools/_Base.jsx +21 -0
- package/src/libs/PopConfirm/tools/buttonActionProps.js +206 -0
- package/src/libs/PopConfirm/tools/defaultPopConfirmProps.js +33 -0
- package/src/libs/PopConfirm/tools/useVars.js +157 -0
- package/src/libs/PopOver/_dS.jsx +227 -0
- package/src/libs/PopOver/index.js +14 -0
- package/src/libs/PopOver/tools/_Base.jsx +68 -0
- package/src/libs/PopOver/tools/resolveFloatingUiProps.js +25 -0
- package/src/libs/PopOver/tools/useVars.js +65 -0
- package/src/libs/PopTip/_dS.jsx +263 -0
- package/src/libs/PopTip/index.js +14 -0
- package/src/libs/PopTip/tools/_Base.jsx +24 -0
- package/src/libs/PopTip/tools/useVars.js +37 -0
- package/src/libs/PopUp/_dS.jsx +230 -0
- package/src/libs/PopUp/index.js +8 -0
- package/src/libs/PopUp/tools/_Base.jsx +49 -0
- package/src/libs/PopUp/tools/_styled.js +74 -0
- package/src/libs/PopUp/tools/defaultPopUpProps.js +30 -0
- package/src/libs/PopUp/tools/mergeActionButtonProps.js +13 -0
- package/src/libs/PopUp/tools/popUpBodyWrapper.jsx +66 -0
- package/src/libs/PopUp/tools/useVars.js +173 -0
- package/src/libs/ScrollAnimatedItem/Amedist/_styled.js +33 -0
- package/src/libs/ScrollAnimatedItem/Amedist/index.jsx +65 -0
- package/src/libs/ScrollAnimatedItem/_dS.jsx +81 -0
- package/src/libs/ScrollAnimatedItem/index.js +13 -0
- package/src/libs/ScrollBar/Body.js +32 -0
- package/src/libs/ScrollBar/DefaultVariant.js +43 -0
- package/src/libs/ScrollBar/_dS.jsx +502 -0
- package/src/libs/ScrollBar/index.js +25 -0
- package/src/libs/ScrollBar/tools/_Base.jsx +317 -0
- package/src/libs/ScrollBar/tools/_styled.js +9 -0
- package/src/libs/ScrollBar/tools/getScrollHost.js +7 -0
- package/src/libs/ScrollBar/tools/getScrollMetrics.js +83 -0
- package/src/libs/ScrollBar/tools/getThumbProps.js +133 -0
- package/src/libs/ScrollBar/tools/manageBrowsersScrollBar.js +70 -0
- package/src/libs/ScrollBar/tools/scrollBarAxis.js +17 -0
- package/src/libs/ScrollBar/tools/useVars.js +871 -0
- package/src/libs/ScrollBar/tools/useVars.test.jsx +66 -0
- package/src/libs/ScrollFlex/DefaultVariant.js +17 -0
- package/src/libs/ScrollFlex/HoverShadow.js +14 -0
- package/src/libs/ScrollFlex/Plain.js +7 -0
- package/src/libs/ScrollFlex/Shadow.js +16 -0
- package/src/libs/ScrollFlex/_dS.jsx +478 -0
- package/src/libs/ScrollFlex/index.js +20 -0
- package/src/libs/ScrollFlex/tools/01.jpg +0 -0
- package/src/libs/ScrollFlex/tools/_Base.jsx +68 -0
- package/src/libs/ScrollFlex/tools/_styled.js +27 -0
- package/src/libs/ScrollFlex/tools/buildVariantOuterStyle.js +125 -0
- package/src/libs/ScrollFlex/tools/computeDragScrollDelta.js +5 -0
- package/src/libs/ScrollFlex/tools/constants.js +32 -0
- package/src/libs/ScrollFlex/tools/containerDimensions.js +34 -0
- package/src/libs/ScrollFlex/tools/containerExtraInset.js +9 -0
- package/src/libs/ScrollFlex/tools/contentFlexProps.js +67 -0
- package/src/libs/ScrollFlex/tools/contentMeasure.js +96 -0
- package/src/libs/ScrollFlex/tools/cssSizeUtils.js +59 -0
- package/src/libs/ScrollFlex/tools/domInsets.js +25 -0
- package/src/libs/ScrollFlex/tools/organizedFlexProps.js +92 -0
- package/src/libs/ScrollFlex/tools/parentMeasure.js +82 -0
- package/src/libs/ScrollFlex/tools/refUtils.js +23 -0
- package/src/libs/ScrollFlex/tools/scrollBarLayout.js +114 -0
- package/src/libs/ScrollFlex/tools/shellPadding.js +147 -0
- package/src/libs/ScrollFlex/tools/shellTextSelection.js +13 -0
- package/src/libs/ScrollFlex/tools/useScrollFlexMeasureEffects.js +308 -0
- package/src/libs/ScrollFlex/tools/useShellDrag.js +159 -0
- package/src/libs/ScrollFlex/tools/useShellDrag.test.jsx +40 -0
- package/src/libs/ScrollFlex/tools/useVars.js +424 -0
- package/src/libs/Slider/Amedist/_styled.js +532 -0
- package/src/libs/Slider/Amedist/index.jsx +245 -0
- package/src/libs/Slider/Amedist/useTrackpadNavigation.js +78 -0
- package/src/libs/Slider/Amedist/useTrackpadNavigation.test.jsx +112 -0
- package/src/libs/Slider/Amedist/useVars.jsx +674 -0
- package/src/libs/Slider/_dS.jsx +270 -0
- package/src/libs/Slider/index.js +13 -0
- package/src/libs/Space/_dS.jsx +54 -0
- package/src/libs/Space/_styled.js +10 -0
- package/src/libs/Space/index.jsx +23 -0
- package/src/libs/StoryTeller/Amedist/_styled.js +100 -0
- package/src/libs/StoryTeller/Amedist/index.jsx +112 -0
- package/src/libs/StoryTeller/Amedist/useVars.js +210 -0
- package/src/libs/StoryTeller/Amedist/useVars.test.js +18 -0
- package/src/libs/StoryTeller/AmedistHorizontalLeft/index.jsx +147 -0
- package/src/libs/StoryTeller/AmedistHorizontalRight/index.jsx +147 -0
- package/src/libs/StoryTeller/AmedistVertical/index.jsx +205 -0
- package/src/libs/StoryTeller/AmedistVertical/index.test.js +39 -0
- package/src/libs/StoryTeller/index.js +16 -0
- package/src/libs/StoryTeller/slideDesigns.js +9 -0
- package/src/libs/StoryTeller/textItems.jsx +51 -0
- package/src/libs/StoryTeller/textItems.test.jsx +60 -0
- package/src/libs/Table/_dS.jsx +7 -0
- package/src/libs/Table/index.js +1 -0
- package/src/libs/TemplateLiteral/_dS.jsx +73 -0
- package/src/libs/TemplateLiteral/index.jsx +37 -0
- package/src/libs/TextArea/index.jsx +66 -0
- package/src/libs/Typo/_dS.jsx +406 -0
- package/src/libs/Typo/index.js +38 -0
- package/src/libs/Typo/tools/_Base.jsx +153 -0
- package/src/libs/Typo/tools/_styled.js +373 -0
- package/src/libs/Typo/tools/getTruncatedHtml.js +277 -0
- package/src/libs/Typo/tools/isTypoPhrasingOnlyHostTag.js +5 -0
- package/src/libs/Typo/tools/useVars.js +291 -0
- package/src/libs/TypoAnimated/_dS.jsx +243 -0
- package/src/libs/TypoAnimated/animations/animatedWriter.jsx +94 -0
- package/src/libs/TypoAnimated/animations/scatterLines.jsx +126 -0
- package/src/libs/TypoAnimated/animations/scrambleReveal.js +10 -0
- package/src/libs/TypoAnimated/animations/stackedWords.jsx +219 -0
- package/src/libs/TypoAnimated/animations/typewriter.js +10 -0
- package/src/libs/TypoAnimated/index.jsx +14 -0
- package/src/libs/TypoAnimated/tools/AnimationSlot.jsx +32 -0
- package/src/libs/TypoAnimated/tools/Base.jsx +71 -0
- package/src/libs/TypoAnimated/tools/animationRegistry.js +20 -0
- package/src/libs/TypoAnimated/tools/animationUtils.js +112 -0
- package/src/libs/TypoAnimated/tools/autoDuration.js +49 -0
- package/src/libs/TypoAnimated/tools/useAnimations.js +136 -0
- package/src/libs/Visibility/_dS.jsx +122 -0
- package/src/libs/Visibility/index.jsx +27 -0
- package/src/libs/Visibility/useVars.js +12 -0
- package/src/libs/baseDate/_dS.jsx +595 -0
- package/src/libs/baseDate/createBaseDatePackage.js +460 -0
- package/src/libs/baseDate/index.js +202 -0
- package/src/libs/baseDate/tools.js +384 -0
- package/src/libs/baseFetch/_dS.jsx +121 -0
- package/src/libs/baseFetch/_tools.js +232 -0
- package/src/libs/baseFetch/index.js +349 -0
- package/src/libs/baseForm/BaseForm.jsx +19 -0
- package/src/libs/baseForm/BaseFormItem.jsx +284 -0
- package/src/libs/baseForm/BaseFormTest.jsx +145 -0
- package/src/libs/baseForm/DefaultHelper/index.jsx +125 -0
- package/src/libs/baseForm/_dS.jsx +127 -0
- package/src/libs/baseForm/index.js +1 -0
- package/src/libs/baseForm/inputComponents/index.js +7 -0
- package/src/libs/baseForm/tools/clearForm.js +1 -0
- package/src/libs/baseForm/tools/getField.js +22 -0
- package/src/libs/baseForm/tools/getPath.js +16 -0
- package/src/libs/baseForm/tools/mountForm.js +64 -0
- package/src/libs/baseForm/tools/mountItem.js +180 -0
- package/src/libs/baseForm/tools/resetToDefaults.js +1 -0
- package/src/libs/baseForm/tools/resetToLastSubmit.js +1 -0
- package/src/libs/baseForm/tools/setField.js +39 -0
- package/src/libs/baseForm/tools/setFields.js +1 -0
- package/src/libs/baseForm/tools/submitForm.js +1 -0
- package/src/libs/baseForm/tools/unmountForm.js +3 -0
- package/src/libs/baseForm/tools/unmountItem.js +1 -0
- package/src/libs/baseForm/tools/useDefineStore.js +27 -0
- package/src/libs/baseForm/tools/useHelper.js +80 -0
- package/src/libs/baseForm/tools/validateField.js +74 -0
- package/src/libs/baseForm/tools/validateForm.js +20 -0
- package/src/libs/baseForm/useBaseForm.jsx +65 -0
- package/src/libs/baseStore/_dS_useAndCreate.jsx +466 -0
- package/src/libs/baseStore/_dS_useGlobal.jsx +104 -0
- package/src/libs/baseStore/_dS_useLocal.jsx +84 -0
- package/src/libs/baseStore/create/index.js +189 -0
- package/src/libs/baseStore/globalData/index.js +3 -0
- package/src/libs/baseStore/index.js +13 -0
- package/src/libs/baseStore/use/index.js +94 -0
- package/src/libs/baseStore/useGlobal/index.js +7 -0
- package/src/libs/baseStore/useLocal/index.js +11 -0
- package/src/libs/byPath/_dS.jsx +232 -0
- package/src/libs/byPath/index.js +154 -0
- package/src/libs/cleanFalsyValues/_dS.jsx +187 -0
- package/src/libs/cleanFalsyValues/index.js +86 -0
- package/src/libs/colorAlpha/_dS.jsx +123 -0
- package/src/libs/colorAlpha/index.js +25 -0
- package/src/libs/colorConverter/_dS.jsx +105 -0
- package/src/libs/colorConverter/index.js +497 -0
- package/src/libs/colorFind/_dS.jsx +115 -0
- package/src/libs/colorFind/index.js +70 -0
- package/src/libs/colorGet/_dS.jsx +101 -0
- package/src/libs/colorGet/index.js +149 -0
- package/src/libs/colorGet3DShadow/_dS.jsx +166 -0
- package/src/libs/colorGet3DShadow/index.js +45 -0
- package/src/libs/colorPickHigherContrast/_dS.jsx +136 -0
- package/src/libs/colorPickHigherContrast/index.js +18 -0
- package/src/libs/colorShader/_dS.jsx +110 -0
- package/src/libs/colorShader/index.js +40 -0
- package/src/libs/colorTinter/_dS.jsx +107 -0
- package/src/libs/colorTinter/index.js +42 -0
- package/src/libs/colorWcagMatch/_dS.jsx +327 -0
- package/src/libs/colorWcagMatch/index.js +76 -0
- package/src/libs/colorWcagValue/_dS.jsx +120 -0
- package/src/libs/colorWcagValue/index.js +18 -0
- package/src/libs/columnTypes/_dS.jsx +90 -0
- package/src/libs/columnTypes/index.jsx +107 -0
- package/src/libs/copyToClipboard/_dS.jsx +215 -0
- package/src/libs/copyToClipboard/index.js +147 -0
- package/src/libs/copyToClipboard/reactNodeToPlainText.js +80 -0
- package/src/libs/createImageCatalog/_dS.jsx +260 -0
- package/src/libs/createImageCatalog/index.js +100 -0
- package/src/libs/createImageCatalog/tools/base-image-catalog-setup.cjs +10 -0
- package/src/libs/createImageCatalog/tools/base-image-index.cjs +9 -0
- package/src/libs/createImageCatalog/vars.js +875 -0
- package/src/libs/cssNormalizeSize/_dS.jsx +49 -0
- package/src/libs/cssNormalizeSize/index.js +30 -0
- package/src/libs/cssSpacingResolver/_dS.jsx +57 -0
- package/src/libs/cssSpacingResolver/index.js +51 -0
- package/src/libs/debouncedFunction/_dS.jsx +308 -0
- package/src/libs/debouncedFunction/index.js +121 -0
- package/src/libs/deepMerge/_dS.jsx +88 -0
- package/src/libs/deepMerge/index.js +30 -0
- package/src/libs/delayedFunction/_dS.jsx +148 -0
- package/src/libs/delayedFunction/index.js +52 -0
- package/src/libs/downloadAsCsv/_dS.jsx +143 -0
- package/src/libs/downloadAsCsv/index.js +57 -0
- package/src/libs/findDifferences/_dS.jsx +78 -0
- package/src/libs/findDifferences/index.js +120 -0
- package/src/libs/generateRandom/_dS.jsx +199 -0
- package/src/libs/generateRandom/index.js +136 -0
- package/src/libs/getClientData/_dS.jsx +185 -0
- package/src/libs/getClientData/index.js +208 -0
- package/src/libs/getPageRrdInfo/_dS.jsx +78 -0
- package/src/libs/getPageRrdInfo/index.js +59 -0
- package/src/libs/getText/_dS.jsx +192 -0
- package/src/libs/getText/index.js +39 -0
- package/src/libs/getTimeDiff/_dS.jsx +345 -0
- package/src/libs/getTimeDiff/index.js +245 -0
- package/src/libs/isArray/_dS.jsx +68 -0
- package/src/libs/isArray/index.js +2 -0
- package/src/libs/isArrayOrPlainObject/_dS.jsx +75 -0
- package/src/libs/isArrayOrPlainObject/index.js +4 -0
- package/src/libs/isDeepEqual/_dS.jsx +343 -0
- package/src/libs/isDeepEqual/index.js +83 -0
- package/src/libs/isNumber/_dS.jsx +71 -0
- package/src/libs/isNumber/index.js +1 -0
- package/src/libs/isPlainObject/_dS.jsx +75 -0
- package/src/libs/isPlainObject/index.js +7 -0
- package/src/libs/isShallowEqual/_dS.jsx +82 -0
- package/src/libs/isShallowEqual/index.js +34 -0
- package/src/libs/logReferrers/index.js +7 -0
- package/src/libs/manageSearchParams/_dS.jsx +496 -0
- package/src/libs/manageSearchParams/index.js +426 -0
- package/src/libs/notifier/_Base.js +258 -0
- package/src/libs/notifier/_dS.jsx +219 -0
- package/src/libs/notifier/index.js +16 -0
- package/src/libs/pushAsSorted/_dS.jsx +169 -0
- package/src/libs/pushAsSorted/index.js +46 -0
- package/src/libs/queryConverter/_dS.jsx +339 -0
- package/src/libs/queryConverter/index.js +146 -0
- package/src/libs/queryConverter/mergeImportIntoStore.js +48 -0
- package/src/libs/queryConverter/prefixPath.js +30 -0
- package/src/libs/scrollLock/_dS.jsx +69 -0
- package/src/libs/scrollLock/index.js +33 -0
- package/src/libs/sleep/_dS.jsx +54 -0
- package/src/libs/sleep/index.js +2 -0
- package/src/libs/sortBy/_dS.jsx +96 -0
- package/src/libs/sortBy/index.js +38 -0
- package/src/libs/stringCaseConverter/_dS.jsx +120 -0
- package/src/libs/stringCaseConverter/index.js +97 -0
- package/src/libs/templateLiteralTo/_dS.jsx +82 -0
- package/src/libs/templateLiteralTo/dedent.js +46 -0
- package/src/libs/templateLiteralTo/index.js +49 -0
- package/src/libs/typeOf/_dS.jsx +70 -0
- package/src/libs/typeOf/index.js +20 -0
- package/src/libs/useBaseEffect/_dS.jsx +390 -0
- package/src/libs/useBaseEffect/index.js +87 -0
- package/src/libs/useBaseFetch/index.js +208 -0
- package/src/libs/useCatalogImage/_dS.jsx +100 -0
- package/src/libs/useCatalogImage/index.js +9 -0
- package/src/libs/useCheckOverflow/_dS.jsx +264 -0
- package/src/libs/useCheckOverflow/index.js +122 -0
- package/src/libs/useCountNumber/_dS.jsx +236 -0
- package/src/libs/useCountNumber/format.js +94 -0
- package/src/libs/useCountNumber/format.test.js +47 -0
- package/src/libs/useCountNumber/index.js +47 -0
- package/src/libs/useCountNumber/useVars.js +360 -0
- package/src/libs/useDebouncedFunction/_dS.jsx +168 -0
- package/src/libs/useDebouncedFunction/index.js +41 -0
- package/src/libs/useDebouncedFunction/useStableCallback.js +7 -0
- package/src/libs/useDebouncedValue/_dS.jsx +120 -0
- package/src/libs/useDebouncedValue/index.js +85 -0
- package/src/libs/useDeepEqual/_dS.jsx +116 -0
- package/src/libs/useDeepEqual/index.js +6 -0
- package/src/libs/useDelayedFunction/_dS.jsx +142 -0
- package/src/libs/useDelayedFunction/index.js +61 -0
- package/src/libs/useEffectAfterMount/_dS.jsx +78 -0
- package/src/libs/useEffectAfterMount/index.js +15 -0
- package/src/libs/useEventListener/_dS.jsx +114 -0
- package/src/libs/useEventListener/index.js +68 -0
- package/src/libs/useImagePreloader/_dS.jsx +50 -0
- package/src/libs/useImagePreloader/index.js +65 -0
- package/src/libs/useImagesReady/_dS.jsx +51 -0
- package/src/libs/useImagesReady/index.js +74 -0
- package/src/libs/useMouseXY/_dS.jsx +61 -0
- package/src/libs/useMouseXY/index.js +62 -0
- package/src/libs/useObserver/_dS.jsx +260 -0
- package/src/libs/useObserver/index.js +239 -0
- package/src/libs/useObserver/index.test.js +72 -0
- package/src/libs/usePrevious/_dS.jsx +99 -0
- package/src/libs/usePrevious/index.js +37 -0
- package/src/libs/useRevealNavItem/_dS.jsx +129 -0
- package/src/libs/useRevealNavItem/index.js +96 -0
- package/src/libs/useScrollThrottle/_dS.jsx +179 -0
- package/src/libs/useScrollThrottle/index.js +29 -0
- package/src/libs/useScrollTopLeft/_dS.jsx +175 -0
- package/src/libs/useScrollTopLeft/index.js +77 -0
- package/src/libs/useScrollWidthHeight/_dS.jsx +127 -0
- package/src/libs/useScrollWidthHeight/index.js +56 -0
- package/src/libs/useSearchParams/_dS.jsx +65 -0
- package/src/libs/useSearchParams/index.js +32 -0
- package/src/libs/useTimer/_dS.jsx +120 -0
- package/src/libs/useTimer/index.js +186 -0
- package/vite.aliases.mjs +43 -0
|
@@ -0,0 +1,1310 @@
|
|
|
1
|
+
/* eslint-disable no-useless-escape */
|
|
2
|
+
import { LOWER_CASE_ALPHABET } from "./LOWER_CASE_ALPHABET";
|
|
3
|
+
import { UPPER_CASE_ALPHABET } from "./UPPER_CASE_ALPHABET";
|
|
4
|
+
import { NUMBERS } from "./NUMBERS";
|
|
5
|
+
import { SYMBOLS } from "./SYMBOLS";
|
|
6
|
+
import { typeOf } from "../libs/typeOf";
|
|
7
|
+
|
|
8
|
+
/*
|
|
9
|
+
Each rule can get rule({value, form, field})
|
|
10
|
+
and should return [isValid, msg]
|
|
11
|
+
Msg string gets name automatically. const msg = "has to be filled."; -> "Search field has to be filled."
|
|
12
|
+
*/
|
|
13
|
+
export const VALIDATION_RULES = {
|
|
14
|
+
/**
|
|
15
|
+
* -------------------------------------------------
|
|
16
|
+
*
|
|
17
|
+
* HAS TO BE FILLED
|
|
18
|
+
*
|
|
19
|
+
* -------------------------------------------------
|
|
20
|
+
*
|
|
21
|
+
* This field is required.
|
|
22
|
+
*/
|
|
23
|
+
hasToBeFilled: ({ value }) => {
|
|
24
|
+
let [isValid, msg] = [
|
|
25
|
+
true,
|
|
26
|
+
{
|
|
27
|
+
tr: "Bu alan zorunludur.",
|
|
28
|
+
en: "This field is required.",
|
|
29
|
+
fr: "Ce champ est obligatoire.",
|
|
30
|
+
de: "Dieses Feld ist erforderlich.",
|
|
31
|
+
es: "Este campo es obligatorio.",
|
|
32
|
+
it: "Questo campo è obbligatorio.",
|
|
33
|
+
},
|
|
34
|
+
];
|
|
35
|
+
|
|
36
|
+
if (value === null || value === undefined) return [false, msg, { setRequired: true }];
|
|
37
|
+
|
|
38
|
+
const type = typeOf(value);
|
|
39
|
+
|
|
40
|
+
if (type === "string") isValid = value.trim().length > 0;
|
|
41
|
+
else if (type === "array") isValid = value.length > 0;
|
|
42
|
+
else if (type === "object") isValid = Object.keys(value).length > 0;
|
|
43
|
+
else if (type === "boolean") isValid = true;
|
|
44
|
+
else if (type === "number") isValid = true;
|
|
45
|
+
else isValid = !!value; // fallback
|
|
46
|
+
|
|
47
|
+
return [isValid, msg, { setRequired: true }];
|
|
48
|
+
},
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* -------------------------------------------------
|
|
52
|
+
*
|
|
53
|
+
* HAS TO BE NOT EMPTY STRING
|
|
54
|
+
*
|
|
55
|
+
* -------------------------------------------------
|
|
56
|
+
*
|
|
57
|
+
* Must be a non-empty string (not just spaces).
|
|
58
|
+
*/
|
|
59
|
+
hasToBeNotEmptyString: ({ value }) => {
|
|
60
|
+
let [isValid, msg] = [
|
|
61
|
+
true,
|
|
62
|
+
{
|
|
63
|
+
tr: "Boş bir metin olamaz (sadece boşluk da olamaz).",
|
|
64
|
+
en: "Must be a non-empty text (not only spaces).",
|
|
65
|
+
fr: "Le texte ne peut pas être vide (pas seulement des espaces).",
|
|
66
|
+
de: "Darf nicht leer sein (nicht nur Leerzeichen).",
|
|
67
|
+
es: "No puede estar vacío (no solo espacios).",
|
|
68
|
+
it: "Non può essere vuoto (non solo spazi).",
|
|
69
|
+
},
|
|
70
|
+
];
|
|
71
|
+
if (typeof value !== "string") isValid = false;
|
|
72
|
+
else if (value.trim().length < 1) isValid = false;
|
|
73
|
+
return [isValid, msg];
|
|
74
|
+
},
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* -------------------------------------------------
|
|
78
|
+
*
|
|
79
|
+
* HAS TO HAVE MIN LENGTH 3
|
|
80
|
+
*
|
|
81
|
+
* -------------------------------------------------
|
|
82
|
+
*
|
|
83
|
+
* Must be at least 3 characters.
|
|
84
|
+
*/
|
|
85
|
+
hasToHaveMinLength3: ({ value }) => {
|
|
86
|
+
let [isValid, msg] = [
|
|
87
|
+
true,
|
|
88
|
+
{
|
|
89
|
+
tr: "En az 3 karakter olmalıdır.",
|
|
90
|
+
en: "Must be at least 3 characters.",
|
|
91
|
+
fr: "Doit contenir au moins 3 caractères.",
|
|
92
|
+
de: "Muss mindestens 3 Zeichen lang sein.",
|
|
93
|
+
es: "Debe tener al menos 3 caracteres.",
|
|
94
|
+
it: "Deve avere almeno 3 caratteri.",
|
|
95
|
+
},
|
|
96
|
+
];
|
|
97
|
+
if (typeof value !== "string") isValid = false;
|
|
98
|
+
else if (value.length < 3) isValid = false;
|
|
99
|
+
return [isValid, msg];
|
|
100
|
+
},
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* -------------------------------------------------
|
|
104
|
+
*
|
|
105
|
+
* HAS TO HAVE MIN LENGTH 8
|
|
106
|
+
*
|
|
107
|
+
* -------------------------------------------------
|
|
108
|
+
*
|
|
109
|
+
* Must be at least 8 characters.
|
|
110
|
+
*/
|
|
111
|
+
hasToHaveMinLength8: ({ value }) => {
|
|
112
|
+
let [isValid, msg] = [
|
|
113
|
+
true,
|
|
114
|
+
{
|
|
115
|
+
tr: "En az 8 karakter olmalıdır.",
|
|
116
|
+
en: "Must be at least 8 characters.",
|
|
117
|
+
fr: "Doit contenir au moins 8 caractères.",
|
|
118
|
+
de: "Muss mindestens 8 Zeichen lang sein.",
|
|
119
|
+
es: "Debe tener al menos 8 caracteres.",
|
|
120
|
+
it: "Deve avere almeno 8 caratteri.",
|
|
121
|
+
},
|
|
122
|
+
];
|
|
123
|
+
if (typeof value !== "string") isValid = false;
|
|
124
|
+
else if (value.length < 8) isValid = false;
|
|
125
|
+
return [isValid, msg];
|
|
126
|
+
},
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* -------------------------------------------------
|
|
130
|
+
*
|
|
131
|
+
* HAS TO HAVE MAX LENGTH 20
|
|
132
|
+
*
|
|
133
|
+
* -------------------------------------------------
|
|
134
|
+
*
|
|
135
|
+
* Must be at most 20 characters.
|
|
136
|
+
*/
|
|
137
|
+
hasToHaveMaxLength20: ({ value }) => {
|
|
138
|
+
let [isValid, msg] = [
|
|
139
|
+
true,
|
|
140
|
+
{
|
|
141
|
+
tr: "En fazla 20 karakter olmalıdır.",
|
|
142
|
+
en: "Must be at most 20 characters.",
|
|
143
|
+
fr: "Doit contenir au maximum 20 caractères.",
|
|
144
|
+
de: "Darf höchstens 20 Zeichen lang sein.",
|
|
145
|
+
es: "Debe tener como máximo 20 caracteres.",
|
|
146
|
+
it: "Deve avere al massimo 20 caratteri.",
|
|
147
|
+
},
|
|
148
|
+
];
|
|
149
|
+
if (typeof value !== "string") isValid = false;
|
|
150
|
+
else if (value.length > 20) isValid = false;
|
|
151
|
+
return [isValid, msg];
|
|
152
|
+
},
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* -------------------------------------------------
|
|
156
|
+
*
|
|
157
|
+
* HAS TO HAVE EXACT LENGTH 6
|
|
158
|
+
*
|
|
159
|
+
* -------------------------------------------------
|
|
160
|
+
*
|
|
161
|
+
* Must be exactly 6 characters.
|
|
162
|
+
*/
|
|
163
|
+
hasToHaveExactLength6: ({ value }) => {
|
|
164
|
+
let [isValid, msg] = [
|
|
165
|
+
true,
|
|
166
|
+
{
|
|
167
|
+
tr: "Tam olarak 6 karakter olmalıdır.",
|
|
168
|
+
en: "Must be exactly 6 characters.",
|
|
169
|
+
fr: "Doit contenir exactement 6 caractères.",
|
|
170
|
+
de: "Muss genau 6 Zeichen lang sein.",
|
|
171
|
+
es: "Debe tener exactamente 6 caracteres.",
|
|
172
|
+
it: "Deve avere esattamente 6 caratteri.",
|
|
173
|
+
},
|
|
174
|
+
];
|
|
175
|
+
if (typeof value !== "string") isValid = false;
|
|
176
|
+
else if (value.length !== 6) isValid = false;
|
|
177
|
+
return [isValid, msg];
|
|
178
|
+
},
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* -------------------------------------------------
|
|
182
|
+
*
|
|
183
|
+
* HAS TO BE ALPHABETIC ONLY
|
|
184
|
+
*
|
|
185
|
+
* -------------------------------------------------
|
|
186
|
+
*
|
|
187
|
+
* Only letters are allowed.
|
|
188
|
+
*/
|
|
189
|
+
hasToBeAlphabeticOnly: ({ value }) => {
|
|
190
|
+
let [isValid, msg] = [
|
|
191
|
+
true,
|
|
192
|
+
{
|
|
193
|
+
tr: "Sadece harf kullanılabilir.",
|
|
194
|
+
en: "Only letters are allowed.",
|
|
195
|
+
fr: "Seules les lettres sont autorisées.",
|
|
196
|
+
de: "Nur Buchstaben sind erlaubt.",
|
|
197
|
+
es: "Solo se permiten letras.",
|
|
198
|
+
it: "Sono consentite solo lettere.",
|
|
199
|
+
},
|
|
200
|
+
];
|
|
201
|
+
if (typeof value !== "string") isValid = false;
|
|
202
|
+
else if (!/^[A-Za-z]+$/.test(value)) isValid = false;
|
|
203
|
+
return [isValid, msg];
|
|
204
|
+
},
|
|
205
|
+
|
|
206
|
+
/**
|
|
207
|
+
* -------------------------------------------------
|
|
208
|
+
*
|
|
209
|
+
* HAS TO BE ALPHANUMERIC ONLY
|
|
210
|
+
*
|
|
211
|
+
* -------------------------------------------------
|
|
212
|
+
*
|
|
213
|
+
* Only letters and numbers are allowed.
|
|
214
|
+
*/
|
|
215
|
+
hasToBeAlphanumericOnly: ({ value }) => {
|
|
216
|
+
let [isValid, msg] = [
|
|
217
|
+
true,
|
|
218
|
+
{
|
|
219
|
+
tr: "Sadece harf ve rakam kullanılabilir.",
|
|
220
|
+
en: "Only letters and numbers are allowed.",
|
|
221
|
+
fr: "Seules les lettres et les chiffres sont autorisés.",
|
|
222
|
+
de: "Nur Buchstaben und Zahlen sind erlaubt.",
|
|
223
|
+
es: "Solo se permiten letras y números.",
|
|
224
|
+
it: "Sono consentite solo lettere e numeri.",
|
|
225
|
+
},
|
|
226
|
+
];
|
|
227
|
+
if (typeof value !== "string") isValid = false;
|
|
228
|
+
else if (!/^[A-Za-z0-9]+$/.test(value)) isValid = false;
|
|
229
|
+
return [isValid, msg];
|
|
230
|
+
},
|
|
231
|
+
|
|
232
|
+
/**
|
|
233
|
+
* -------------------------------------------------
|
|
234
|
+
*
|
|
235
|
+
* HAS TO BE NUMERIC STRING ONLY
|
|
236
|
+
*
|
|
237
|
+
* -------------------------------------------------
|
|
238
|
+
*
|
|
239
|
+
* Only digits are allowed.
|
|
240
|
+
*/
|
|
241
|
+
hasToBeNumericStringOnly: ({ value }) => {
|
|
242
|
+
let [isValid, msg] = [
|
|
243
|
+
true,
|
|
244
|
+
{
|
|
245
|
+
tr: "Sadece rakam girilebilir.",
|
|
246
|
+
en: "Only digits are allowed.",
|
|
247
|
+
fr: "Seuls les chiffres sont autorisés.",
|
|
248
|
+
de: "Nur Ziffern sind erlaubt.",
|
|
249
|
+
es: "Solo se permiten dígitos.",
|
|
250
|
+
it: "Sono consentite solo cifre.",
|
|
251
|
+
},
|
|
252
|
+
];
|
|
253
|
+
if (typeof value !== "string" && typeof value !== "number") isValid = false;
|
|
254
|
+
else if (!/^\d+$/.test(String(value))) isValid = false;
|
|
255
|
+
return [isValid, msg];
|
|
256
|
+
},
|
|
257
|
+
|
|
258
|
+
/**
|
|
259
|
+
* -------------------------------------------------
|
|
260
|
+
*
|
|
261
|
+
* HAS TO CONTAIN NO SPACES
|
|
262
|
+
*
|
|
263
|
+
* -------------------------------------------------
|
|
264
|
+
*
|
|
265
|
+
* Spaces are not allowed.
|
|
266
|
+
*/
|
|
267
|
+
hasToContainNoSpaces: ({ value }) => {
|
|
268
|
+
let [isValid, msg] = [
|
|
269
|
+
true,
|
|
270
|
+
{
|
|
271
|
+
tr: "Boşluk kullanılamaz.",
|
|
272
|
+
en: "Spaces are not allowed.",
|
|
273
|
+
fr: "Les espaces ne sont pas autorisés.",
|
|
274
|
+
de: "Leerzeichen sind nicht erlaubt.",
|
|
275
|
+
es: "No se permiten espacios.",
|
|
276
|
+
it: "Gli spazi non sono consentiti.",
|
|
277
|
+
},
|
|
278
|
+
];
|
|
279
|
+
if (typeof value !== "string") isValid = false;
|
|
280
|
+
else if (/\s/.test(value)) isValid = false;
|
|
281
|
+
return [isValid, msg];
|
|
282
|
+
},
|
|
283
|
+
|
|
284
|
+
/**
|
|
285
|
+
* -------------------------------------------------
|
|
286
|
+
*
|
|
287
|
+
* HAS TO START WITH LETTER
|
|
288
|
+
*
|
|
289
|
+
* -------------------------------------------------
|
|
290
|
+
*
|
|
291
|
+
* Must start with a letter.
|
|
292
|
+
*/
|
|
293
|
+
hasToStartWithLetter: ({ value }) => {
|
|
294
|
+
let [isValid, msg] = [
|
|
295
|
+
true,
|
|
296
|
+
{
|
|
297
|
+
tr: "Bir harf ile başlamalıdır.",
|
|
298
|
+
en: "Must start with a letter.",
|
|
299
|
+
fr: "Doit commencer par une lettre.",
|
|
300
|
+
de: "Muss mit einem Buchstaben beginnen.",
|
|
301
|
+
es: "Debe comenzar con una letra.",
|
|
302
|
+
it: "Deve iniziare con una lettera.",
|
|
303
|
+
},
|
|
304
|
+
];
|
|
305
|
+
if (typeof value !== "string") isValid = false;
|
|
306
|
+
else if (!/^[A-Za-z]/.test(value)) isValid = false;
|
|
307
|
+
return [isValid, msg];
|
|
308
|
+
},
|
|
309
|
+
|
|
310
|
+
/**
|
|
311
|
+
* -------------------------------------------------
|
|
312
|
+
*
|
|
313
|
+
* HAS TO START WITH UPPERCASE
|
|
314
|
+
*
|
|
315
|
+
* -------------------------------------------------
|
|
316
|
+
*
|
|
317
|
+
* Must start with an uppercase letter.
|
|
318
|
+
*/
|
|
319
|
+
hasToStartWithUppercase: ({ value }) => {
|
|
320
|
+
let [isValid, msg] = [
|
|
321
|
+
true,
|
|
322
|
+
{
|
|
323
|
+
tr: "Büyük harf ile başlamalıdır.",
|
|
324
|
+
en: "Must start with an uppercase letter.",
|
|
325
|
+
fr: "Doit commencer par une majuscule.",
|
|
326
|
+
de: "Muss mit einem Großbuchstaben beginnen.",
|
|
327
|
+
es: "Debe comenzar con una letra mayúscula.",
|
|
328
|
+
it: "Deve iniziare con una lettera maiuscola.",
|
|
329
|
+
},
|
|
330
|
+
];
|
|
331
|
+
if (typeof value !== "string") isValid = false;
|
|
332
|
+
else if (!/^[A-Z]/.test(value)) isValid = false;
|
|
333
|
+
return [isValid, msg];
|
|
334
|
+
},
|
|
335
|
+
|
|
336
|
+
/**
|
|
337
|
+
* -------------------------------------------------
|
|
338
|
+
*
|
|
339
|
+
* HAS TO CONTAIN A NUMBER
|
|
340
|
+
*
|
|
341
|
+
* -------------------------------------------------
|
|
342
|
+
*
|
|
343
|
+
* Must include at least one number.
|
|
344
|
+
*/
|
|
345
|
+
hasToContainANumber: ({ value }) => {
|
|
346
|
+
let [isValid, msg] = [
|
|
347
|
+
true,
|
|
348
|
+
{
|
|
349
|
+
tr: "En az bir rakam içermelidir.",
|
|
350
|
+
en: "Must include at least one number.",
|
|
351
|
+
fr: "Doit contenir au moins un chiffre.",
|
|
352
|
+
de: "Muss mindestens eine Zahl enthalten.",
|
|
353
|
+
es: "Debe incluir al menos un número.",
|
|
354
|
+
it: "Deve includere almeno un numero.",
|
|
355
|
+
},
|
|
356
|
+
];
|
|
357
|
+
if (typeof value !== "string") isValid = false;
|
|
358
|
+
else if (!/\d/.test(value)) isValid = false;
|
|
359
|
+
return [isValid, msg];
|
|
360
|
+
},
|
|
361
|
+
|
|
362
|
+
/**
|
|
363
|
+
* -------------------------------------------------
|
|
364
|
+
*
|
|
365
|
+
* HAS TO CONTAIN AN UPPERCASE LETTER
|
|
366
|
+
*
|
|
367
|
+
* -------------------------------------------------
|
|
368
|
+
*
|
|
369
|
+
* Must include at least one uppercase letter.
|
|
370
|
+
*/
|
|
371
|
+
hasToContainAnUppercaseLetter: ({ value }) => {
|
|
372
|
+
let [isValid, msg] = [
|
|
373
|
+
true,
|
|
374
|
+
{
|
|
375
|
+
tr: "En az bir büyük harf içermelidir.",
|
|
376
|
+
en: "Must include at least one uppercase letter.",
|
|
377
|
+
fr: "Doit contenir au moins une majuscule.",
|
|
378
|
+
de: "Muss mindestens einen Großbuchstaben enthalten.",
|
|
379
|
+
es: "Debe incluir al menos una letra mayúscula.",
|
|
380
|
+
it: "Deve includere almeno una lettera maiuscola.",
|
|
381
|
+
},
|
|
382
|
+
];
|
|
383
|
+
if (typeof value !== "string") isValid = false;
|
|
384
|
+
else if (!/[A-Z]/.test(value)) isValid = false;
|
|
385
|
+
return [isValid, msg];
|
|
386
|
+
},
|
|
387
|
+
|
|
388
|
+
/**
|
|
389
|
+
* -------------------------------------------------
|
|
390
|
+
*
|
|
391
|
+
* HAS TO CONTAIN A LOWERCASE LETTER
|
|
392
|
+
*
|
|
393
|
+
* -------------------------------------------------
|
|
394
|
+
*
|
|
395
|
+
* Must include at least one lowercase letter.
|
|
396
|
+
*/
|
|
397
|
+
hasToContainALowercaseLetter: ({ value }) => {
|
|
398
|
+
let [isValid, msg] = [
|
|
399
|
+
true,
|
|
400
|
+
{
|
|
401
|
+
tr: "En az bir küçük harf içermelidir.",
|
|
402
|
+
en: "Must include at least one lowercase letter.",
|
|
403
|
+
fr: "Doit contenir au moins une minuscule.",
|
|
404
|
+
de: "Muss mindestens einen Kleinbuchstaben enthalten.",
|
|
405
|
+
es: "Debe incluir al menos una letra minúscula.",
|
|
406
|
+
it: "Deve includere almeno una lettera minuscola.",
|
|
407
|
+
},
|
|
408
|
+
];
|
|
409
|
+
if (typeof value !== "string") isValid = false;
|
|
410
|
+
else if (!/[a-z]/.test(value)) isValid = false;
|
|
411
|
+
return [isValid, msg];
|
|
412
|
+
},
|
|
413
|
+
|
|
414
|
+
/**
|
|
415
|
+
* -------------------------------------------------
|
|
416
|
+
*
|
|
417
|
+
* HAS TO CONTAIN A SYMBOL
|
|
418
|
+
*
|
|
419
|
+
* -------------------------------------------------
|
|
420
|
+
*
|
|
421
|
+
* Must include at least one symbol.
|
|
422
|
+
*/
|
|
423
|
+
hasToContainASymbol: ({ value }) => {
|
|
424
|
+
let [isValid, msg] = [
|
|
425
|
+
true,
|
|
426
|
+
{
|
|
427
|
+
tr: "En az bir sembol içermelidir.",
|
|
428
|
+
en: "Must include at least one symbol.",
|
|
429
|
+
fr: "Doit contenir au moins un symbole.",
|
|
430
|
+
de: "Muss mindestens ein Symbol enthalten.",
|
|
431
|
+
es: "Debe incluir al menos un símbolo.",
|
|
432
|
+
it: "Deve includere almeno un simbolo.",
|
|
433
|
+
},
|
|
434
|
+
];
|
|
435
|
+
if (typeof value !== "string") isValid = false;
|
|
436
|
+
else if (!/[^\w\s]/.test(value)) isValid = false;
|
|
437
|
+
return [isValid, msg];
|
|
438
|
+
},
|
|
439
|
+
|
|
440
|
+
/**
|
|
441
|
+
* -------------------------------------------------
|
|
442
|
+
*
|
|
443
|
+
* HAS TO BE A VALID PASSWORD - BASIC
|
|
444
|
+
*
|
|
445
|
+
* -------------------------------------------------
|
|
446
|
+
*
|
|
447
|
+
* Must be at least 8 characters.
|
|
448
|
+
*/
|
|
449
|
+
hasToBeAValidPasswordBasic: ({ value }) => {
|
|
450
|
+
let [isValid, msg] = [
|
|
451
|
+
true,
|
|
452
|
+
{
|
|
453
|
+
tr: "En az 8 karakter olmalıdır.",
|
|
454
|
+
en: "Must be at least 8 characters.",
|
|
455
|
+
fr: "Doit contenir au moins 8 caractères.",
|
|
456
|
+
de: "Muss mindestens 8 Zeichen lang sein.",
|
|
457
|
+
es: "Debe tener al menos 8 caracteres.",
|
|
458
|
+
it: "Deve avere almeno 8 caratteri.",
|
|
459
|
+
},
|
|
460
|
+
];
|
|
461
|
+
if (!value) isValid = false;
|
|
462
|
+
else if (String(value).length < 8) isValid = false;
|
|
463
|
+
return [isValid, msg];
|
|
464
|
+
},
|
|
465
|
+
|
|
466
|
+
/**
|
|
467
|
+
* -------------------------------------------------
|
|
468
|
+
*
|
|
469
|
+
* HAS TO BE A VALID PASSWORD - ADVANCED
|
|
470
|
+
*
|
|
471
|
+
* -------------------------------------------------
|
|
472
|
+
*
|
|
473
|
+
* Must be 12+ characters and include uppercase, lowercase, number, and symbol.
|
|
474
|
+
*/
|
|
475
|
+
hasToBeAValidPasswordAdvanced: ({ value }) => {
|
|
476
|
+
let [isValid, msg] = [
|
|
477
|
+
true,
|
|
478
|
+
{
|
|
479
|
+
tr: "En az 12 karakter olmalı; büyük/küçük harf, rakam ve sembol içermelidir.",
|
|
480
|
+
en: "Must be 12+ characters and include uppercase, lowercase, number, and symbol.",
|
|
481
|
+
fr: "Doit contenir au moins 12 caractères et inclure majuscule, minuscule, chiffre et symbole.",
|
|
482
|
+
de: "Muss mindestens 12 Zeichen lang sein und Groß-/Kleinbuchstaben, Zahl und Symbol enthalten.",
|
|
483
|
+
es: "Debe tener 12+ caracteres e incluir mayúscula, minúscula, número y símbolo.",
|
|
484
|
+
it: "Deve avere 12+ caratteri e includere maiuscola, minuscola, numero e simbolo.",
|
|
485
|
+
},
|
|
486
|
+
];
|
|
487
|
+
|
|
488
|
+
const v = String(value || "");
|
|
489
|
+
if (v.length < 12) isValid = false;
|
|
490
|
+
else if (!v.split("").some((c) => LOWER_CASE_ALPHABET.includes(c))) isValid = false;
|
|
491
|
+
else if (!v.split("").some((c) => UPPER_CASE_ALPHABET.includes(c))) isValid = false;
|
|
492
|
+
else if (!v.split("").some((c) => NUMBERS.includes(c))) isValid = false;
|
|
493
|
+
else if (!v.split("").some((c) => SYMBOLS.includes(c))) isValid = false;
|
|
494
|
+
|
|
495
|
+
return [isValid, msg];
|
|
496
|
+
},
|
|
497
|
+
|
|
498
|
+
/**
|
|
499
|
+
* -------------------------------------------------
|
|
500
|
+
*
|
|
501
|
+
* HAS TO BE A VALID PHONE NUMBER
|
|
502
|
+
*
|
|
503
|
+
* -------------------------------------------------
|
|
504
|
+
*
|
|
505
|
+
* Must be a valid phone number format.
|
|
506
|
+
*/
|
|
507
|
+
hasToBeAValidPhoneNumber: ({ value }) => {
|
|
508
|
+
let [isValid, msg] = [
|
|
509
|
+
true,
|
|
510
|
+
{
|
|
511
|
+
tr: "Geçerli bir telefon numarası olmalıdır.",
|
|
512
|
+
en: "Must be a valid phone number.",
|
|
513
|
+
fr: "Doit être un numéro de téléphone valide.",
|
|
514
|
+
de: "Muss eine gültige Telefonnummer sein.",
|
|
515
|
+
es: "Debe ser un número de teléfono válido.",
|
|
516
|
+
it: "Deve essere un numero di telefono valido.",
|
|
517
|
+
},
|
|
518
|
+
];
|
|
519
|
+
const str = String(value || "");
|
|
520
|
+
const regex = /^[\+]?[(]?[0-9]{3}[)]?[-\s\.]?[0-9]{3}[-\s\.]?[0-9]{4,6}$/;
|
|
521
|
+
if (!regex.test(str)) isValid = false;
|
|
522
|
+
return [isValid, msg];
|
|
523
|
+
},
|
|
524
|
+
|
|
525
|
+
/**
|
|
526
|
+
* -------------------------------------------------
|
|
527
|
+
*
|
|
528
|
+
* HAS TO BE A VALID INTERNATIONAL PHONE (E.164-ish)
|
|
529
|
+
*
|
|
530
|
+
* -------------------------------------------------
|
|
531
|
+
*
|
|
532
|
+
* Must look like an international phone number.
|
|
533
|
+
*/
|
|
534
|
+
hasToBeAValidInternationalPhone: ({ value }) => {
|
|
535
|
+
let [isValid, msg] = [
|
|
536
|
+
true,
|
|
537
|
+
{
|
|
538
|
+
tr: "Geçerli bir uluslararası telefon numarası olmalıdır.",
|
|
539
|
+
en: "Must be a valid international phone number.",
|
|
540
|
+
fr: "Doit être un numéro de téléphone international valide.",
|
|
541
|
+
de: "Muss eine gültige internationale Telefonnummer sein.",
|
|
542
|
+
es: "Debe ser un número de teléfono internacional válido.",
|
|
543
|
+
it: "Deve essere un numero di telefono internazionale valido.",
|
|
544
|
+
},
|
|
545
|
+
];
|
|
546
|
+
const str = String(value || "");
|
|
547
|
+
if (!/^\+\d{8,15}$/.test(str.replace(/\s+/g, ""))) isValid = false;
|
|
548
|
+
return [isValid, msg];
|
|
549
|
+
},
|
|
550
|
+
|
|
551
|
+
/**
|
|
552
|
+
* -------------------------------------------------
|
|
553
|
+
*
|
|
554
|
+
* HAS TO BE A VALID EMAIL
|
|
555
|
+
*
|
|
556
|
+
* -------------------------------------------------
|
|
557
|
+
*
|
|
558
|
+
* Must be a valid email address.
|
|
559
|
+
*/
|
|
560
|
+
hasToBeAValidEmail: ({ value }) => {
|
|
561
|
+
let [isValid, msg] = [
|
|
562
|
+
true,
|
|
563
|
+
{
|
|
564
|
+
tr: "Geçerli bir e-posta adresi olmalıdır.",
|
|
565
|
+
en: "Must be a valid e-mail address.",
|
|
566
|
+
fr: "Doit être une adresse e-mail valide.",
|
|
567
|
+
de: "Muss eine gültige E-Mail-Adresse sein.",
|
|
568
|
+
es: "Debe ser una dirección de correo válida.",
|
|
569
|
+
it: "Deve essere un indirizzo e-mail valido.",
|
|
570
|
+
},
|
|
571
|
+
];
|
|
572
|
+
|
|
573
|
+
const reg = new RegExp(
|
|
574
|
+
/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,
|
|
575
|
+
);
|
|
576
|
+
|
|
577
|
+
const v = String(value || "");
|
|
578
|
+
if (!v) isValid = false;
|
|
579
|
+
else if (!reg.test(v.toLowerCase())) isValid = false;
|
|
580
|
+
|
|
581
|
+
return [isValid, msg];
|
|
582
|
+
},
|
|
583
|
+
|
|
584
|
+
/**
|
|
585
|
+
* -------------------------------------------------
|
|
586
|
+
*
|
|
587
|
+
* HAS TO BE A VALID URL (HTTPS REQUIRED)
|
|
588
|
+
*
|
|
589
|
+
* -------------------------------------------------
|
|
590
|
+
*
|
|
591
|
+
* Must be a valid URL and include https://
|
|
592
|
+
*/
|
|
593
|
+
hasToBeAValidUrl: ({ value }) => {
|
|
594
|
+
let [isValid, msg] = [
|
|
595
|
+
true,
|
|
596
|
+
{
|
|
597
|
+
tr: "Geçerli bir URL olmalı ve https:// içermelidir.",
|
|
598
|
+
en: "Must be a valid URL and include https://",
|
|
599
|
+
fr: "Doit être une URL valide et inclure https://",
|
|
600
|
+
de: "Muss eine gültige URL sein und https:// enthalten.",
|
|
601
|
+
es: "Debe ser una URL válida e incluir https://",
|
|
602
|
+
it: "Deve essere un URL valido e includere https://",
|
|
603
|
+
},
|
|
604
|
+
];
|
|
605
|
+
|
|
606
|
+
const v = String(value || "");
|
|
607
|
+
if (!v) isValid = false;
|
|
608
|
+
else if (!v.startsWith("https://")) isValid = false;
|
|
609
|
+
else {
|
|
610
|
+
const pattern = new RegExp(
|
|
611
|
+
"^(https?:\\/\\/)?" +
|
|
612
|
+
"((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|" +
|
|
613
|
+
"((\\d{1,3}\\.){3}\\d{1,3}))" +
|
|
614
|
+
"(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*" +
|
|
615
|
+
"(\\?[;&a-z\\d%_.~+=-]*)?" +
|
|
616
|
+
"(\\#[-a-z\\d_]*)?$",
|
|
617
|
+
"i",
|
|
618
|
+
);
|
|
619
|
+
if (!pattern.test(v)) isValid = false;
|
|
620
|
+
}
|
|
621
|
+
|
|
622
|
+
return [isValid, msg];
|
|
623
|
+
},
|
|
624
|
+
|
|
625
|
+
/**
|
|
626
|
+
* -------------------------------------------------
|
|
627
|
+
*
|
|
628
|
+
* HAS TO BE A VALID POSTBACK (HTTPS)
|
|
629
|
+
*
|
|
630
|
+
* -------------------------------------------------
|
|
631
|
+
*
|
|
632
|
+
* Must start with https://
|
|
633
|
+
*/
|
|
634
|
+
hasToBeAValidPostback: ({ value }) => {
|
|
635
|
+
let [isValid, msg] = [
|
|
636
|
+
true,
|
|
637
|
+
{
|
|
638
|
+
tr: "Geçerli bir postback URL'i olmalı ve https:// ile başlamalıdır.",
|
|
639
|
+
en: "Must be a valid postback URL that includes https://",
|
|
640
|
+
fr: "Doit être une URL de postback valide et inclure https://",
|
|
641
|
+
de: "Muss eine gültige Postback-URL sein und https:// enthalten.",
|
|
642
|
+
es: "Debe ser una URL de postback válida e incluir https://",
|
|
643
|
+
it: "Deve essere un URL di postback valido e includere https://",
|
|
644
|
+
},
|
|
645
|
+
];
|
|
646
|
+
const v = String(value || "");
|
|
647
|
+
const reg = new RegExp("^(https:\\/\\/)", "i");
|
|
648
|
+
if (!v) isValid = false;
|
|
649
|
+
else if (!reg.test(v)) isValid = false;
|
|
650
|
+
return [isValid, msg];
|
|
651
|
+
},
|
|
652
|
+
|
|
653
|
+
/**
|
|
654
|
+
* -------------------------------------------------
|
|
655
|
+
*
|
|
656
|
+
* HAS TO BE AN INTEGER
|
|
657
|
+
*
|
|
658
|
+
* -------------------------------------------------
|
|
659
|
+
*
|
|
660
|
+
* Must be an integer number.
|
|
661
|
+
*/
|
|
662
|
+
hasToBeAnInteger: ({ value }) => {
|
|
663
|
+
let [isValid, msg] = [
|
|
664
|
+
true,
|
|
665
|
+
{
|
|
666
|
+
tr: "Tam sayı olmalıdır.",
|
|
667
|
+
en: "Must be an integer.",
|
|
668
|
+
fr: "Doit être un nombre entier.",
|
|
669
|
+
de: "Muss eine ganze Zahl sein.",
|
|
670
|
+
es: "Debe ser un número entero.",
|
|
671
|
+
it: "Deve essere un numero intero.",
|
|
672
|
+
},
|
|
673
|
+
];
|
|
674
|
+
const n = typeof value === "number" ? value : Number(value);
|
|
675
|
+
if (!Number.isFinite(n) || !Number.isInteger(n)) isValid = false;
|
|
676
|
+
return [isValid, msg];
|
|
677
|
+
},
|
|
678
|
+
|
|
679
|
+
/**
|
|
680
|
+
* -------------------------------------------------
|
|
681
|
+
*
|
|
682
|
+
* HAS TO BE A POSITIVE NUMBER
|
|
683
|
+
*
|
|
684
|
+
* -------------------------------------------------
|
|
685
|
+
*
|
|
686
|
+
* Must be greater than 0.
|
|
687
|
+
*/
|
|
688
|
+
hasToBePositiveNumber: ({ value }) => {
|
|
689
|
+
let [isValid, msg] = [
|
|
690
|
+
true,
|
|
691
|
+
{
|
|
692
|
+
tr: "Pozitif bir sayı olmalıdır.",
|
|
693
|
+
en: "Must be a positive number.",
|
|
694
|
+
fr: "Doit être un nombre positif.",
|
|
695
|
+
de: "Muss eine positive Zahl sein.",
|
|
696
|
+
es: "Debe ser un número positivo.",
|
|
697
|
+
it: "Deve essere un numero positivo.",
|
|
698
|
+
},
|
|
699
|
+
];
|
|
700
|
+
const n = typeof value === "number" ? value : Number(value);
|
|
701
|
+
if (!Number.isFinite(n) || n <= 0) isValid = false;
|
|
702
|
+
return [isValid, msg];
|
|
703
|
+
},
|
|
704
|
+
|
|
705
|
+
/**
|
|
706
|
+
* -------------------------------------------------
|
|
707
|
+
*
|
|
708
|
+
* HAS TO BE ZERO OR POSITIVE NUMBER
|
|
709
|
+
*
|
|
710
|
+
* -------------------------------------------------
|
|
711
|
+
*
|
|
712
|
+
* Must be 0 or greater.
|
|
713
|
+
*/
|
|
714
|
+
hasToBeZeroOrPositiveNumber: ({ value }) => {
|
|
715
|
+
let [isValid, msg] = [
|
|
716
|
+
true,
|
|
717
|
+
{
|
|
718
|
+
tr: "0 veya pozitif bir sayı olmalıdır.",
|
|
719
|
+
en: "Must be zero or a positive number.",
|
|
720
|
+
fr: "Doit être zéro ou un nombre positif.",
|
|
721
|
+
de: "Muss null oder positiv sein.",
|
|
722
|
+
es: "Debe ser cero o un número positivo.",
|
|
723
|
+
it: "Deve essere zero o un numero positivo.",
|
|
724
|
+
},
|
|
725
|
+
];
|
|
726
|
+
const n = typeof value === "number" ? value : Number(value);
|
|
727
|
+
if (!Number.isFinite(n) || n < 0) isValid = false;
|
|
728
|
+
return [isValid, msg];
|
|
729
|
+
},
|
|
730
|
+
|
|
731
|
+
/**
|
|
732
|
+
* -------------------------------------------------
|
|
733
|
+
*
|
|
734
|
+
* HAS TO BE IN RANGE 0 - 100
|
|
735
|
+
*
|
|
736
|
+
* -------------------------------------------------
|
|
737
|
+
*
|
|
738
|
+
* Must be between 0 and 100.
|
|
739
|
+
*/
|
|
740
|
+
hasToBeInRange0To100: ({ value }) => {
|
|
741
|
+
let [isValid, msg] = [
|
|
742
|
+
true,
|
|
743
|
+
{
|
|
744
|
+
tr: "0 ile 100 arasında olmalıdır.",
|
|
745
|
+
en: "Must be between 0 and 100.",
|
|
746
|
+
fr: "Doit être entre 0 et 100.",
|
|
747
|
+
de: "Muss zwischen 0 und 100 liegen.",
|
|
748
|
+
es: "Debe estar entre 0 y 100.",
|
|
749
|
+
it: "Deve essere tra 0 e 100.",
|
|
750
|
+
},
|
|
751
|
+
];
|
|
752
|
+
const n = typeof value === "number" ? value : Number(value);
|
|
753
|
+
if (!Number.isFinite(n) || n < 0 || n > 100) isValid = false;
|
|
754
|
+
return [isValid, msg];
|
|
755
|
+
},
|
|
756
|
+
|
|
757
|
+
/**
|
|
758
|
+
* -------------------------------------------------
|
|
759
|
+
*
|
|
760
|
+
* HAS TO BE A VALID DATE (YYYY-MM-DD)
|
|
761
|
+
*
|
|
762
|
+
* -------------------------------------------------
|
|
763
|
+
*
|
|
764
|
+
* Must be a valid date formatted as YYYY-MM-DD.
|
|
765
|
+
*/
|
|
766
|
+
hasToBeAValidDateYMD: ({ value }) => {
|
|
767
|
+
let [isValid, msg] = [
|
|
768
|
+
true,
|
|
769
|
+
{
|
|
770
|
+
tr: "Geçerli bir tarih olmalıdır (YYYY-AA-GG).",
|
|
771
|
+
en: "Must be a valid date (YYYY-MM-DD).",
|
|
772
|
+
fr: "Doit être une date valide (AAAA-MM-JJ).",
|
|
773
|
+
de: "Muss ein gültiges Datum sein (JJJJ-MM-TT).",
|
|
774
|
+
es: "Debe ser una fecha válida (AAAA-MM-DD).",
|
|
775
|
+
it: "Deve essere una data valida (AAAA-MM-GG).",
|
|
776
|
+
},
|
|
777
|
+
];
|
|
778
|
+
|
|
779
|
+
const v = String(value || "");
|
|
780
|
+
if (!/^\d{4}-\d{2}-\d{2}$/.test(v)) return [false, msg];
|
|
781
|
+
|
|
782
|
+
const [y, m, d] = v.split("-").map((x) => Number(x));
|
|
783
|
+
const dt = new Date(Date.UTC(y, m - 1, d));
|
|
784
|
+
if (dt.getUTCFullYear() !== y || dt.getUTCMonth() !== m - 1 || dt.getUTCDate() !== d) {
|
|
785
|
+
isValid = false;
|
|
786
|
+
}
|
|
787
|
+
return [isValid, msg];
|
|
788
|
+
},
|
|
789
|
+
|
|
790
|
+
/**
|
|
791
|
+
* -------------------------------------------------
|
|
792
|
+
*
|
|
793
|
+
* HAS TO BE A FUTURE DATE (ISO parseable)
|
|
794
|
+
*
|
|
795
|
+
* -------------------------------------------------
|
|
796
|
+
*
|
|
797
|
+
* Must be a date in the future.
|
|
798
|
+
*/
|
|
799
|
+
hasToBeAFutureDate: ({ value }) => {
|
|
800
|
+
let [isValid, msg] = [
|
|
801
|
+
true,
|
|
802
|
+
{
|
|
803
|
+
tr: "Gelecekte bir tarih olmalıdır.",
|
|
804
|
+
en: "Must be a future date.",
|
|
805
|
+
fr: "Doit être une date dans le futur.",
|
|
806
|
+
de: "Muss ein Datum in der Zukunft sein.",
|
|
807
|
+
es: "Debe ser una fecha en el futuro.",
|
|
808
|
+
it: "Deve essere una data futura.",
|
|
809
|
+
},
|
|
810
|
+
];
|
|
811
|
+
const t = Date.parse(String(value || ""));
|
|
812
|
+
if (!Number.isFinite(t)) isValid = false;
|
|
813
|
+
else if (t <= Date.now()) isValid = false;
|
|
814
|
+
return [isValid, msg];
|
|
815
|
+
},
|
|
816
|
+
|
|
817
|
+
/**
|
|
818
|
+
* -------------------------------------------------
|
|
819
|
+
*
|
|
820
|
+
* HAS TO BE A PAST DATE (ISO parseable)
|
|
821
|
+
*
|
|
822
|
+
* -------------------------------------------------
|
|
823
|
+
*
|
|
824
|
+
* Must be a date in the past.
|
|
825
|
+
*/
|
|
826
|
+
hasToBeAPastDate: ({ value }) => {
|
|
827
|
+
let [isValid, msg] = [
|
|
828
|
+
true,
|
|
829
|
+
{
|
|
830
|
+
tr: "Geçmişte bir tarih olmalıdır.",
|
|
831
|
+
en: "Must be a past date.",
|
|
832
|
+
fr: "Doit être une date dans le passé.",
|
|
833
|
+
de: "Muss ein Datum in der Vergangenheit sein.",
|
|
834
|
+
es: "Debe ser una fecha en el pasado.",
|
|
835
|
+
it: "Deve essere una data passata.",
|
|
836
|
+
},
|
|
837
|
+
];
|
|
838
|
+
const t = Date.parse(String(value || ""));
|
|
839
|
+
if (!Number.isFinite(t)) isValid = false;
|
|
840
|
+
else if (t >= Date.now()) isValid = false;
|
|
841
|
+
return [isValid, msg];
|
|
842
|
+
},
|
|
843
|
+
|
|
844
|
+
/**
|
|
845
|
+
* -------------------------------------------------
|
|
846
|
+
*
|
|
847
|
+
* HAS TO BE A VALID IPV4 ADDRESS
|
|
848
|
+
*
|
|
849
|
+
* -------------------------------------------------
|
|
850
|
+
*
|
|
851
|
+
* Must be a valid IPv4 address.
|
|
852
|
+
*/
|
|
853
|
+
hasToBeAValidIPv4: ({ value }) => {
|
|
854
|
+
let [isValid, msg] = [
|
|
855
|
+
true,
|
|
856
|
+
{
|
|
857
|
+
tr: "Geçerli bir IPv4 adresi olmalıdır.",
|
|
858
|
+
en: "Must be a valid IPv4 address.",
|
|
859
|
+
fr: "Doit être une adresse IPv4 valide.",
|
|
860
|
+
de: "Muss eine gültige IPv4-Adresse sein.",
|
|
861
|
+
es: "Debe ser una dirección IPv4 válida.",
|
|
862
|
+
it: "Deve essere un indirizzo IPv4 valido.",
|
|
863
|
+
},
|
|
864
|
+
];
|
|
865
|
+
const v = String(value || "");
|
|
866
|
+
const parts = v.split(".");
|
|
867
|
+
if (parts.length !== 4) isValid = false;
|
|
868
|
+
else {
|
|
869
|
+
for (const p of parts) {
|
|
870
|
+
if (!/^\d+$/.test(p)) {
|
|
871
|
+
isValid = false;
|
|
872
|
+
break;
|
|
873
|
+
}
|
|
874
|
+
const n = Number(p);
|
|
875
|
+
if (n < 0 || n > 255) {
|
|
876
|
+
isValid = false;
|
|
877
|
+
break;
|
|
878
|
+
}
|
|
879
|
+
}
|
|
880
|
+
}
|
|
881
|
+
return [isValid, msg];
|
|
882
|
+
},
|
|
883
|
+
|
|
884
|
+
/**
|
|
885
|
+
* -------------------------------------------------
|
|
886
|
+
*
|
|
887
|
+
* HAS TO BE A VALID UUID (v4-ish)
|
|
888
|
+
*
|
|
889
|
+
* -------------------------------------------------
|
|
890
|
+
*
|
|
891
|
+
* Must be a valid UUID.
|
|
892
|
+
*/
|
|
893
|
+
hasToBeAValidUUID: ({ value }) => {
|
|
894
|
+
let [isValid, msg] = [
|
|
895
|
+
true,
|
|
896
|
+
{
|
|
897
|
+
tr: "Geçerli bir UUID olmalıdır.",
|
|
898
|
+
en: "Must be a valid UUID.",
|
|
899
|
+
fr: "Doit être un UUID valide.",
|
|
900
|
+
de: "Muss eine gültige UUID sein.",
|
|
901
|
+
es: "Debe ser un UUID válido.",
|
|
902
|
+
it: "Deve essere un UUID valido.",
|
|
903
|
+
},
|
|
904
|
+
];
|
|
905
|
+
const v = String(value || "");
|
|
906
|
+
if (!/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(v)) {
|
|
907
|
+
isValid = false;
|
|
908
|
+
}
|
|
909
|
+
return [isValid, msg];
|
|
910
|
+
},
|
|
911
|
+
|
|
912
|
+
/**
|
|
913
|
+
* -------------------------------------------------
|
|
914
|
+
*
|
|
915
|
+
* HAS TO BE A VALID HEX COLOR
|
|
916
|
+
*
|
|
917
|
+
* -------------------------------------------------
|
|
918
|
+
*
|
|
919
|
+
* Must be a valid hex color (#RGB or #RRGGBB).
|
|
920
|
+
*/
|
|
921
|
+
hasToBeAValidHexColor: ({ value }) => {
|
|
922
|
+
let [isValid, msg] = [
|
|
923
|
+
true,
|
|
924
|
+
{
|
|
925
|
+
tr: "Geçerli bir hex renk olmalıdır (örn. #FFAA00).",
|
|
926
|
+
en: "Must be a valid hex color (e.g. #FFAA00).",
|
|
927
|
+
fr: "Doit être une couleur hex valide (ex. #FFAA00).",
|
|
928
|
+
de: "Muss eine gültige Hex-Farbe sein (z. B. #FFAA00).",
|
|
929
|
+
es: "Debe ser un color hex válido (p. ej. #FFAA00).",
|
|
930
|
+
it: "Deve essere un colore hex valido (es. #FFAA00).",
|
|
931
|
+
},
|
|
932
|
+
];
|
|
933
|
+
const v = String(value || "");
|
|
934
|
+
if (!/^#([0-9a-f]{3}|[0-9a-f]{6})$/i.test(v)) isValid = false;
|
|
935
|
+
return [isValid, msg];
|
|
936
|
+
},
|
|
937
|
+
|
|
938
|
+
/**
|
|
939
|
+
* -------------------------------------------------
|
|
940
|
+
*
|
|
941
|
+
* HAS TO BE A VALID USERNAME
|
|
942
|
+
*
|
|
943
|
+
* -------------------------------------------------
|
|
944
|
+
*
|
|
945
|
+
* 3-20 chars, letters/numbers/._ only, no spaces.
|
|
946
|
+
*/
|
|
947
|
+
hasToBeAValidUsername: ({ value }) => {
|
|
948
|
+
let [isValid, msg] = [
|
|
949
|
+
true,
|
|
950
|
+
{
|
|
951
|
+
tr: "Geçerli bir kullanıcı adı olmalıdır (3-20 karakter, harf/rakam/._).",
|
|
952
|
+
en: "Must be a valid username (3-20 chars, letters/numbers/._).",
|
|
953
|
+
fr: "Doit être un nom d'utilisateur valide (3-20 caractères, lettres/chiffres/._).",
|
|
954
|
+
de: "Muss ein gültiger Benutzername sein (3–20 Zeichen, Buchstaben/Zahlen/._).",
|
|
955
|
+
es: "Debe ser un nombre de usuario válido (3-20 caracteres, letras/números/._).",
|
|
956
|
+
it: "Deve essere un nome utente valido (3-20 caratteri, lettere/numeri/._).",
|
|
957
|
+
},
|
|
958
|
+
];
|
|
959
|
+
const v = String(value || "");
|
|
960
|
+
if (!/^[a-zA-Z0-9._]{3,20}$/.test(v)) isValid = false;
|
|
961
|
+
return [isValid, msg];
|
|
962
|
+
},
|
|
963
|
+
|
|
964
|
+
/**
|
|
965
|
+
* -------------------------------------------------
|
|
966
|
+
*
|
|
967
|
+
* HAS TO BE A VALID SLUG
|
|
968
|
+
*
|
|
969
|
+
* -------------------------------------------------
|
|
970
|
+
*
|
|
971
|
+
* Lowercase letters, numbers, hyphens only.
|
|
972
|
+
*/
|
|
973
|
+
hasToBeAValidSlug: ({ value }) => {
|
|
974
|
+
let [isValid, msg] = [
|
|
975
|
+
true,
|
|
976
|
+
{
|
|
977
|
+
tr: "Geçerli bir slug olmalıdır (küçük harf, rakam, tire).",
|
|
978
|
+
en: "Must be a valid slug (lowercase, numbers, hyphens).",
|
|
979
|
+
fr: "Doit être un slug valide (minuscules, chiffres, tirets).",
|
|
980
|
+
de: "Muss ein gültiger Slug sein (klein, Zahlen, Bindestriche).",
|
|
981
|
+
es: "Debe ser un slug válido (minúsculas, números, guiones).",
|
|
982
|
+
it: "Deve essere uno slug valido (minuscole, numeri, trattini).",
|
|
983
|
+
},
|
|
984
|
+
];
|
|
985
|
+
const v = String(value || "");
|
|
986
|
+
if (!/^[a-z0-9]+(?:-[a-z0-9]+)*$/.test(v)) isValid = false;
|
|
987
|
+
return [isValid, msg];
|
|
988
|
+
},
|
|
989
|
+
|
|
990
|
+
/**
|
|
991
|
+
* -------------------------------------------------
|
|
992
|
+
*
|
|
993
|
+
* HAS TO BE A VALID CREDIT CARD NUMBER (LUHN)
|
|
994
|
+
*
|
|
995
|
+
* -------------------------------------------------
|
|
996
|
+
*
|
|
997
|
+
* Must pass Luhn checksum validation.
|
|
998
|
+
*/
|
|
999
|
+
hasToBeAValidCreditCardNumber: ({ value }) => {
|
|
1000
|
+
let [isValid, msg] = [
|
|
1001
|
+
true,
|
|
1002
|
+
{
|
|
1003
|
+
tr: "Geçerli bir kredi kartı numarası olmalıdır.",
|
|
1004
|
+
en: "Must be a valid credit card number.",
|
|
1005
|
+
fr: "Doit être un numéro de carte bancaire valide.",
|
|
1006
|
+
de: "Muss eine gültige Kreditkartennummer sein.",
|
|
1007
|
+
es: "Debe ser un número de tarjeta válido.",
|
|
1008
|
+
it: "Deve essere un numero di carta di credito valido.",
|
|
1009
|
+
},
|
|
1010
|
+
];
|
|
1011
|
+
const v = String(value || "").replace(/\s+/g, "");
|
|
1012
|
+
if (!/^\d{12,19}$/.test(v)) return [false, msg];
|
|
1013
|
+
|
|
1014
|
+
let sum = 0;
|
|
1015
|
+
let shouldDouble = false;
|
|
1016
|
+
for (let i = v.length - 1; i >= 0; i--) {
|
|
1017
|
+
let digit = Number(v[i]);
|
|
1018
|
+
if (shouldDouble) {
|
|
1019
|
+
digit *= 2;
|
|
1020
|
+
if (digit > 9) digit -= 9;
|
|
1021
|
+
}
|
|
1022
|
+
sum += digit;
|
|
1023
|
+
shouldDouble = !shouldDouble;
|
|
1024
|
+
}
|
|
1025
|
+
if (sum % 10 !== 0) isValid = false;
|
|
1026
|
+
return [isValid, msg];
|
|
1027
|
+
},
|
|
1028
|
+
|
|
1029
|
+
/**
|
|
1030
|
+
* -------------------------------------------------
|
|
1031
|
+
*
|
|
1032
|
+
* HAS TO BE A VALID IBAN (BASIC)
|
|
1033
|
+
*
|
|
1034
|
+
* -------------------------------------------------
|
|
1035
|
+
*
|
|
1036
|
+
* Basic IBAN format check (not full country-specific).
|
|
1037
|
+
*/
|
|
1038
|
+
hasToBeAValidIBANBasic: ({ value }) => {
|
|
1039
|
+
let [isValid, msg] = [
|
|
1040
|
+
true,
|
|
1041
|
+
{
|
|
1042
|
+
tr: "Geçerli bir IBAN olmalıdır (temel kontrol).",
|
|
1043
|
+
en: "Must be a valid IBAN (basic format).",
|
|
1044
|
+
fr: "Doit être un IBAN valide (format de base).",
|
|
1045
|
+
de: "Muss eine gültige IBAN sein (Basisformat).",
|
|
1046
|
+
es: "Debe ser un IBAN válido (formato básico).",
|
|
1047
|
+
it: "Deve essere un IBAN valido (formato base).",
|
|
1048
|
+
},
|
|
1049
|
+
];
|
|
1050
|
+
const v = String(value || "")
|
|
1051
|
+
.replace(/\s+/g, "")
|
|
1052
|
+
.toUpperCase();
|
|
1053
|
+
if (!/^[A-Z]{2}\d{2}[A-Z0-9]{11,30}$/.test(v)) isValid = false;
|
|
1054
|
+
return [isValid, msg];
|
|
1055
|
+
},
|
|
1056
|
+
|
|
1057
|
+
/**
|
|
1058
|
+
* -------------------------------------------------
|
|
1059
|
+
*
|
|
1060
|
+
* HAS TO BE A VALID SWIFT / BIC (BASIC)
|
|
1061
|
+
*
|
|
1062
|
+
* -------------------------------------------------
|
|
1063
|
+
*
|
|
1064
|
+
* Basic SWIFT/BIC format check.
|
|
1065
|
+
*/
|
|
1066
|
+
hasToBeAValidSwiftBicBasic: ({ value }) => {
|
|
1067
|
+
let [isValid, msg] = [
|
|
1068
|
+
true,
|
|
1069
|
+
{
|
|
1070
|
+
tr: "Geçerli bir SWIFT/BIC kodu olmalıdır.",
|
|
1071
|
+
en: "Must be a valid SWIFT/BIC code.",
|
|
1072
|
+
fr: "Doit être un code SWIFT/BIC valide.",
|
|
1073
|
+
de: "Muss ein gültiger SWIFT/BIC-Code sein.",
|
|
1074
|
+
es: "Debe ser un código SWIFT/BIC válido.",
|
|
1075
|
+
it: "Deve essere un codice SWIFT/BIC valido.",
|
|
1076
|
+
},
|
|
1077
|
+
];
|
|
1078
|
+
const v = String(value || "")
|
|
1079
|
+
.trim()
|
|
1080
|
+
.toUpperCase();
|
|
1081
|
+
if (!/^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$/.test(v)) isValid = false;
|
|
1082
|
+
return [isValid, msg];
|
|
1083
|
+
},
|
|
1084
|
+
|
|
1085
|
+
/**
|
|
1086
|
+
* -------------------------------------------------
|
|
1087
|
+
*
|
|
1088
|
+
* HAS TO BE A VALID JSON STRING
|
|
1089
|
+
*
|
|
1090
|
+
* -------------------------------------------------
|
|
1091
|
+
*
|
|
1092
|
+
* Must be a valid JSON.
|
|
1093
|
+
*/
|
|
1094
|
+
hasToBeAValidJsonString: ({ value }) => {
|
|
1095
|
+
let [isValid, msg] = [
|
|
1096
|
+
true,
|
|
1097
|
+
{
|
|
1098
|
+
tr: "Geçerli bir JSON metni olmalıdır.",
|
|
1099
|
+
en: "Must be a valid JSON string.",
|
|
1100
|
+
fr: "Doit être une chaîne JSON valide.",
|
|
1101
|
+
de: "Muss ein gültiger JSON-String sein.",
|
|
1102
|
+
es: "Debe ser una cadena JSON válida.",
|
|
1103
|
+
it: "Deve essere una stringa JSON valida.",
|
|
1104
|
+
},
|
|
1105
|
+
];
|
|
1106
|
+
if (typeof value !== "string") return [false, msg];
|
|
1107
|
+
try {
|
|
1108
|
+
JSON.parse(value);
|
|
1109
|
+
} catch (e) {
|
|
1110
|
+
isValid = false;
|
|
1111
|
+
}
|
|
1112
|
+
return [isValid, msg];
|
|
1113
|
+
},
|
|
1114
|
+
|
|
1115
|
+
/**
|
|
1116
|
+
* -------------------------------------------------
|
|
1117
|
+
*
|
|
1118
|
+
* HAS TO BE A VALID BASE64 STRING (BASIC)
|
|
1119
|
+
*
|
|
1120
|
+
* -------------------------------------------------
|
|
1121
|
+
*
|
|
1122
|
+
* Must look like base64.
|
|
1123
|
+
*/
|
|
1124
|
+
hasToBeAValidBase64Basic: ({ value }) => {
|
|
1125
|
+
let [isValid, msg] = [
|
|
1126
|
+
true,
|
|
1127
|
+
{
|
|
1128
|
+
tr: "Geçerli bir base64 metni olmalıdır.",
|
|
1129
|
+
en: "Must be a valid base64 string.",
|
|
1130
|
+
fr: "Doit être une chaîne base64 valide.",
|
|
1131
|
+
de: "Muss ein gültiger Base64-String sein.",
|
|
1132
|
+
es: "Debe ser una cadena base64 válida.",
|
|
1133
|
+
it: "Deve essere una stringa base64 valida.",
|
|
1134
|
+
},
|
|
1135
|
+
];
|
|
1136
|
+
const v = String(value || "").trim();
|
|
1137
|
+
if (!/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(v)) {
|
|
1138
|
+
isValid = false;
|
|
1139
|
+
}
|
|
1140
|
+
return [isValid, msg];
|
|
1141
|
+
},
|
|
1142
|
+
|
|
1143
|
+
/**
|
|
1144
|
+
* -------------------------------------------------
|
|
1145
|
+
*
|
|
1146
|
+
* HAS TO BE A VALID POSTAL CODE (US BASIC)
|
|
1147
|
+
*
|
|
1148
|
+
* -------------------------------------------------
|
|
1149
|
+
*
|
|
1150
|
+
* Must be a valid US ZIP (12345 or 12345-6789).
|
|
1151
|
+
*/
|
|
1152
|
+
hasToBeAValidPostalCodeUS: ({ value }) => {
|
|
1153
|
+
let [isValid, msg] = [
|
|
1154
|
+
true,
|
|
1155
|
+
{
|
|
1156
|
+
tr: "Geçerli bir ABD posta kodu (ZIP) olmalıdır.",
|
|
1157
|
+
en: "Must be a valid US ZIP code.",
|
|
1158
|
+
fr: "Doit être un code postal US (ZIP) valide.",
|
|
1159
|
+
de: "Muss ein gültiger US-Postleitzahlcode (ZIP) sein.",
|
|
1160
|
+
es: "Debe ser un código postal ZIP válido de EE. UU.",
|
|
1161
|
+
it: "Deve essere un CAP/ZIP USA valido.",
|
|
1162
|
+
},
|
|
1163
|
+
];
|
|
1164
|
+
const v = String(value || "");
|
|
1165
|
+
if (!/^\d{5}(-\d{4})?$/.test(v)) isValid = false;
|
|
1166
|
+
return [isValid, msg];
|
|
1167
|
+
},
|
|
1168
|
+
|
|
1169
|
+
/**
|
|
1170
|
+
* -------------------------------------------------
|
|
1171
|
+
*
|
|
1172
|
+
* HAS TO BE A VALID COUNTRY CODE (ISO2)
|
|
1173
|
+
*
|
|
1174
|
+
* -------------------------------------------------
|
|
1175
|
+
*
|
|
1176
|
+
* Must be a 2-letter country code (e.g. TR, GR, UK).
|
|
1177
|
+
*/
|
|
1178
|
+
hasToBeAValidCountryCodeISO2: ({ value }) => {
|
|
1179
|
+
let [isValid, msg] = [
|
|
1180
|
+
true,
|
|
1181
|
+
{
|
|
1182
|
+
tr: "2 harfli bir ülke kodu olmalıdır (örn. TR, GR, UK).",
|
|
1183
|
+
en: "Must be a valid ISO2 country code (2 letters).",
|
|
1184
|
+
fr: "Doit être un code pays ISO2 valide (2 lettres).",
|
|
1185
|
+
de: "Muss ein gültiger ISO2-Ländercode sein (2 Buchstaben).",
|
|
1186
|
+
es: "Debe ser un código de país ISO2 válido (2 letras).",
|
|
1187
|
+
it: "Deve essere un codice paese ISO2 valido (2 lettere).",
|
|
1188
|
+
},
|
|
1189
|
+
];
|
|
1190
|
+
const v = String(value || "")
|
|
1191
|
+
.trim()
|
|
1192
|
+
.toUpperCase();
|
|
1193
|
+
if (!/^[A-Z]{2}$/.test(v)) isValid = false;
|
|
1194
|
+
return [isValid, msg];
|
|
1195
|
+
},
|
|
1196
|
+
|
|
1197
|
+
/**
|
|
1198
|
+
* -------------------------------------------------
|
|
1199
|
+
*
|
|
1200
|
+
* HAS TO BE A VALID TIME (HH:MM)
|
|
1201
|
+
*
|
|
1202
|
+
* -------------------------------------------------
|
|
1203
|
+
*
|
|
1204
|
+
* Must be a valid time (24-hour format).
|
|
1205
|
+
*/
|
|
1206
|
+
hasToBeAValidTimeHHMM: ({ value }) => {
|
|
1207
|
+
let [isValid, msg] = [
|
|
1208
|
+
true,
|
|
1209
|
+
{
|
|
1210
|
+
tr: "Geçerli bir saat olmalıdır (SS:DD, 24 saat formatı).",
|
|
1211
|
+
en: "Must be a valid time (HH:MM).",
|
|
1212
|
+
fr: "Doit être une heure valide (HH:MM).",
|
|
1213
|
+
de: "Muss eine gültige Uhrzeit sein (HH:MM).",
|
|
1214
|
+
es: "Debe ser una hora válida (HH:MM).",
|
|
1215
|
+
it: "Deve essere un orario valido (HH:MM).",
|
|
1216
|
+
},
|
|
1217
|
+
];
|
|
1218
|
+
const v = String(value || "");
|
|
1219
|
+
if (!/^\d{2}:\d{2}$/.test(v)) return [false, msg];
|
|
1220
|
+
const [hh, mm] = v.split(":").map(Number);
|
|
1221
|
+
if (hh < 0 || hh > 23 || mm < 0 || mm > 59) isValid = false;
|
|
1222
|
+
return [isValid, msg];
|
|
1223
|
+
},
|
|
1224
|
+
|
|
1225
|
+
/**
|
|
1226
|
+
* -------------------------------------------------
|
|
1227
|
+
*
|
|
1228
|
+
* HAS TO BE A VALID MAC ADDRESS
|
|
1229
|
+
*
|
|
1230
|
+
* -------------------------------------------------
|
|
1231
|
+
*
|
|
1232
|
+
* Must be a valid MAC address.
|
|
1233
|
+
*/
|
|
1234
|
+
hasToBeAValidMacAddress: ({ value }) => {
|
|
1235
|
+
let [isValid, msg] = [
|
|
1236
|
+
true,
|
|
1237
|
+
{
|
|
1238
|
+
tr: "Geçerli bir MAC adresi olmalıdır.",
|
|
1239
|
+
en: "Must be a valid MAC address.",
|
|
1240
|
+
fr: "Doit être une adresse MAC valide.",
|
|
1241
|
+
de: "Muss eine gültige MAC-Adresse sein.",
|
|
1242
|
+
es: "Debe ser una dirección MAC válida.",
|
|
1243
|
+
it: "Deve essere un indirizzo MAC valido.",
|
|
1244
|
+
},
|
|
1245
|
+
];
|
|
1246
|
+
const v = String(value || "").trim();
|
|
1247
|
+
if (!/^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/.test(v)) isValid = false;
|
|
1248
|
+
return [isValid, msg];
|
|
1249
|
+
},
|
|
1250
|
+
|
|
1251
|
+
/**
|
|
1252
|
+
* -------------------------------------------------
|
|
1253
|
+
*
|
|
1254
|
+
* HAS TO MATCH SIMPLE NAME (LETTERS + SPACE)
|
|
1255
|
+
*
|
|
1256
|
+
* -------------------------------------------------
|
|
1257
|
+
*
|
|
1258
|
+
* Must contain only letters and spaces.
|
|
1259
|
+
*/
|
|
1260
|
+
hasToMatchSimpleName: ({ value }) => {
|
|
1261
|
+
let [isValid, msg] = [
|
|
1262
|
+
true,
|
|
1263
|
+
{
|
|
1264
|
+
tr: "Sadece harf ve boşluk içermelidir.",
|
|
1265
|
+
en: "Must contain only letters and spaces.",
|
|
1266
|
+
fr: "Doit contenir uniquement des lettres et des espaces.",
|
|
1267
|
+
de: "Darf nur Buchstaben und Leerzeichen enthalten.",
|
|
1268
|
+
es: "Debe contener solo letras y espacios.",
|
|
1269
|
+
it: "Deve contenere solo lettere e spazi.",
|
|
1270
|
+
},
|
|
1271
|
+
];
|
|
1272
|
+
const v = String(value || "");
|
|
1273
|
+
if (!/^[A-Za-z\s]+$/.test(v.trim())) isValid = false;
|
|
1274
|
+
return [isValid, msg];
|
|
1275
|
+
},
|
|
1276
|
+
|
|
1277
|
+
/**
|
|
1278
|
+
* -------------------------------------------------
|
|
1279
|
+
*
|
|
1280
|
+
* HAS TO BE A VALID LAT/LNG (BASIC)
|
|
1281
|
+
*
|
|
1282
|
+
* -------------------------------------------------
|
|
1283
|
+
*
|
|
1284
|
+
* Must be a valid latitude/longitude pair: "lat,lng".
|
|
1285
|
+
*/
|
|
1286
|
+
hasToBeAValidLatLngBasic: ({ value }) => {
|
|
1287
|
+
let [isValid, msg] = [
|
|
1288
|
+
true,
|
|
1289
|
+
{
|
|
1290
|
+
tr: 'Geçerli bir enlem/boylam çifti olmalıdır: "lat,lng".',
|
|
1291
|
+
en: "Must be a valid lat,lng pair.",
|
|
1292
|
+
fr: "Doit être une paire lat,lng valide.",
|
|
1293
|
+
de: "Muss ein gültiges lat,lng-Paar sein.",
|
|
1294
|
+
es: "Debe ser un par lat,lng válido.",
|
|
1295
|
+
it: "Deve essere una coppia lat,lng valida.",
|
|
1296
|
+
},
|
|
1297
|
+
];
|
|
1298
|
+
const v = String(value || "").trim();
|
|
1299
|
+
const parts = v.split(",").map((x) => x.trim());
|
|
1300
|
+
if (parts.length !== 2) return [false, msg];
|
|
1301
|
+
|
|
1302
|
+
const lat = Number(parts[0]);
|
|
1303
|
+
const lng = Number(parts[1]);
|
|
1304
|
+
if (!Number.isFinite(lat) || !Number.isFinite(lng)) isValid = false;
|
|
1305
|
+
else if (lat < -90 || lat > 90) isValid = false;
|
|
1306
|
+
else if (lng < -180 || lng > 180) isValid = false;
|
|
1307
|
+
|
|
1308
|
+
return [isValid, msg];
|
|
1309
|
+
},
|
|
1310
|
+
};
|