iss-ctrl 0.0.2-beta-2 → 0.0.3
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/.editorconfig +13 -0
- package/.eslintrc.json +90 -0
- package/README.md +25 -26
- package/angular.json +190 -0
- package/bun.lock +1998 -0
- package/package.json +48 -25
- package/projects/iss/.eslintrc.json +37 -0
- package/projects/iss/README.md +24 -0
- package/projects/iss/ng-package.json +10 -0
- package/projects/iss/package.json +17 -0
- package/projects/iss/src/components/controls/base/control.base.ts +77 -0
- package/projects/iss/src/components/controls/base/viewer.base.ts +8 -0
- package/projects/iss/src/components/controls/base/wrapper.base.ts +85 -0
- package/projects/iss/src/components/controls/checkbox/checkbox.control.ts +93 -0
- package/projects/iss/src/components/controls/checkbox/checkbox.viewer.ts +15 -0
- package/projects/iss/src/components/controls/checkbox/checkbox.wrapper.ts +36 -0
- package/projects/iss/src/components/controls/chips/chips.control.ts +99 -0
- package/projects/iss/src/components/controls/chips/chips.viewer.ts +23 -0
- package/projects/iss/src/components/controls/chips/chips.wrapper.ts +31 -0
- package/projects/iss/src/components/controls/date-picker/date-picker.control.ts +85 -0
- package/projects/iss/src/components/controls/date-picker/date-picker.viewer.ts +14 -0
- package/projects/iss/src/components/controls/date-picker/date-picker.wrapper.ts +35 -0
- package/projects/iss/src/components/controls/date-range-picker/date-range-picker.control.ts +143 -0
- package/projects/iss/src/components/controls/date-range-picker/date-range-picker.viewer.ts +22 -0
- package/projects/iss/src/components/controls/date-range-picker/date-range-picker.wrapper.ts +35 -0
- package/projects/iss/src/components/controls/datetime-picker/datetime-picker.control.ts +109 -0
- package/projects/iss/src/components/controls/datetime-picker/datetime-picker.viewer.ts +17 -0
- package/projects/iss/src/components/controls/datetime-picker/datetime-picker.wrapper.ts +38 -0
- package/projects/iss/src/components/controls/file-picker/attachment.viewer.ts +165 -0
- package/projects/iss/src/components/controls/file-picker/droppable.directive.ts +28 -0
- package/projects/iss/src/components/controls/file-picker/file-handler.service.ts +115 -0
- package/projects/iss/src/components/controls/file-picker/file-picker.control.ts +187 -0
- package/projects/iss/src/components/controls/file-picker/file-picker.wrapper.ts +120 -0
- package/projects/iss/src/components/controls/input/input.control.ts +95 -0
- package/projects/iss/src/components/controls/input/input.viewer.ts +11 -0
- package/projects/iss/src/components/controls/input/input.wrapper.ts +40 -0
- package/projects/iss/src/components/controls/mobile/flags/ad.svg +282 -0
- package/projects/iss/src/components/controls/mobile/flags/ae.svg +6 -0
- package/projects/iss/src/components/controls/mobile/flags/af.svg +9 -0
- package/projects/iss/src/components/controls/mobile/flags/ag.svg +15 -0
- package/projects/iss/src/components/controls/mobile/flags/ai.svg +35 -0
- package/projects/iss/src/components/controls/mobile/flags/al.svg +7 -0
- package/projects/iss/src/components/controls/mobile/flags/am.svg +5 -0
- package/projects/iss/src/components/controls/mobile/flags/ao.svg +19 -0
- package/projects/iss/src/components/controls/mobile/flags/aq.svg +45 -0
- package/projects/iss/src/components/controls/mobile/flags/ar.svg +66 -0
- package/projects/iss/src/components/controls/mobile/flags/as.svg +225 -0
- package/projects/iss/src/components/controls/mobile/flags/at.svg +4 -0
- package/projects/iss/src/components/controls/mobile/flags/au.svg +32 -0
- package/projects/iss/src/components/controls/mobile/flags/aw.svg +11 -0
- package/projects/iss/src/components/controls/mobile/flags/ax.svg +11 -0
- package/projects/iss/src/components/controls/mobile/flags/az.svg +11 -0
- package/projects/iss/src/components/controls/mobile/flags/ba.svg +18 -0
- package/projects/iss/src/components/controls/mobile/flags/bb.svg +11 -0
- package/projects/iss/src/components/controls/mobile/flags/bd.svg +4 -0
- package/projects/iss/src/components/controls/mobile/flags/be.svg +5 -0
- package/projects/iss/src/components/controls/mobile/flags/bf.svg +14 -0
- package/projects/iss/src/components/controls/mobile/flags/bg.svg +5 -0
- package/projects/iss/src/components/controls/mobile/flags/bh.svg +4 -0
- package/projects/iss/src/components/controls/mobile/flags/bi.svg +26 -0
- package/projects/iss/src/components/controls/mobile/flags/bj.svg +5 -0
- package/projects/iss/src/components/controls/mobile/flags/bl.svg +5 -0
- package/projects/iss/src/components/controls/mobile/flags/bm.svg +374 -0
- package/projects/iss/src/components/controls/mobile/flags/bn.svg +70 -0
- package/projects/iss/src/components/controls/mobile/flags/bo.svg +3625 -0
- package/projects/iss/src/components/controls/mobile/flags/bq.svg +5 -0
- package/projects/iss/src/components/controls/mobile/flags/br.svg +92 -0
- package/projects/iss/src/components/controls/mobile/flags/bs.svg +5 -0
- package/projects/iss/src/components/controls/mobile/flags/bt.svg +487 -0
- package/projects/iss/src/components/controls/mobile/flags/bv.svg +11 -0
- package/projects/iss/src/components/controls/mobile/flags/bw.svg +5 -0
- package/projects/iss/src/components/controls/mobile/flags/by.svg +15 -0
- package/projects/iss/src/components/controls/mobile/flags/bz.svg +629 -0
- package/projects/iss/src/components/controls/mobile/flags/ca.svg +7 -0
- package/projects/iss/src/components/controls/mobile/flags/cc.svg +33 -0
- package/projects/iss/src/components/controls/mobile/flags/cd.svg +5 -0
- package/projects/iss/src/components/controls/mobile/flags/cf.svg +7 -0
- package/projects/iss/src/components/controls/mobile/flags/cg.svg +5 -0
- package/projects/iss/src/components/controls/mobile/flags/ch.svg +4 -0
- package/projects/iss/src/components/controls/mobile/flags/ci.svg +5 -0
- package/projects/iss/src/components/controls/mobile/flags/ck.svg +29 -0
- package/projects/iss/src/components/controls/mobile/flags/cl.svg +14 -0
- package/projects/iss/src/components/controls/mobile/flags/cm.svg +15 -0
- package/projects/iss/src/components/controls/mobile/flags/cn.svg +11 -0
- package/projects/iss/src/components/controls/mobile/flags/co.svg +5 -0
- package/projects/iss/src/components/controls/mobile/flags/cr.svg +1332 -0
- package/projects/iss/src/components/controls/mobile/flags/cu.svg +6 -0
- package/projects/iss/src/components/controls/mobile/flags/cv.svg +24 -0
- package/projects/iss/src/components/controls/mobile/flags/cw.svg +16 -0
- package/projects/iss/src/components/controls/mobile/flags/cx.svg +24 -0
- package/projects/iss/src/components/controls/mobile/flags/cy.svg +13 -0
- package/projects/iss/src/components/controls/mobile/flags/cz.svg +5 -0
- package/projects/iss/src/components/controls/mobile/flags/de.svg +5 -0
- package/projects/iss/src/components/controls/mobile/flags/dj.svg +6 -0
- package/projects/iss/src/components/controls/mobile/flags/dk.svg +5 -0
- package/projects/iss/src/components/controls/mobile/flags/dm.svg +198 -0
- package/projects/iss/src/components/controls/mobile/flags/do.svg +238 -0
- package/projects/iss/src/components/controls/mobile/flags/dz.svg +5 -0
- package/projects/iss/src/components/controls/mobile/flags/ec.svg +1292 -0
- package/projects/iss/src/components/controls/mobile/flags/ee.svg +5 -0
- package/projects/iss/src/components/controls/mobile/flags/eg.svg +125 -0
- package/projects/iss/src/components/controls/mobile/flags/eh.svg +12 -0
- package/projects/iss/src/components/controls/mobile/flags/er.svg +9 -0
- package/projects/iss/src/components/controls/mobile/flags/es.svg +445 -0
- package/projects/iss/src/components/controls/mobile/flags/et.svg +16 -0
- package/projects/iss/src/components/controls/mobile/flags/eu.svg +28 -0
- package/projects/iss/src/components/controls/mobile/flags/fi.svg +5 -0
- package/projects/iss/src/components/controls/mobile/flags/fj.svg +203 -0
- package/projects/iss/src/components/controls/mobile/flags/fk.svg +922 -0
- package/projects/iss/src/components/controls/mobile/flags/flags.png +0 -0
- package/projects/iss/src/components/controls/mobile/flags/flags@2x.png +0 -0
- package/projects/iss/src/components/controls/mobile/flags/fm.svg +16 -0
- package/projects/iss/src/components/controls/mobile/flags/fo.svg +11 -0
- package/projects/iss/src/components/controls/mobile/flags/fonts.css +271 -0
- package/projects/iss/src/components/controls/mobile/flags/fr.svg +5 -0
- package/projects/iss/src/components/controls/mobile/flags/ga.svg +5 -0
- package/projects/iss/src/components/controls/mobile/flags/gb-eng.svg +7 -0
- package/projects/iss/src/components/controls/mobile/flags/gb-nir.svg +15 -0
- package/projects/iss/src/components/controls/mobile/flags/gb-sct.svg +11 -0
- package/projects/iss/src/components/controls/mobile/flags/gb-wls.svg +16 -0
- package/projects/iss/src/components/controls/mobile/flags/gb.svg +15 -0
- package/projects/iss/src/components/controls/mobile/flags/gd.svg +11 -0
- package/projects/iss/src/components/controls/mobile/flags/ge.svg +17 -0
- package/projects/iss/src/components/controls/mobile/flags/gf.svg +5 -0
- package/projects/iss/src/components/controls/mobile/flags/gg.svg +8 -0
- package/projects/iss/src/components/controls/mobile/flags/gh.svg +6 -0
- package/projects/iss/src/components/controls/mobile/flags/gi.svg +69 -0
- package/projects/iss/src/components/controls/mobile/flags/gl.svg +4 -0
- package/projects/iss/src/components/controls/mobile/flags/gm.svg +7 -0
- package/projects/iss/src/components/controls/mobile/flags/gn.svg +5 -0
- package/projects/iss/src/components/controls/mobile/flags/gp.svg +5 -0
- package/projects/iss/src/components/controls/mobile/flags/gq.svg +88 -0
- package/projects/iss/src/components/controls/mobile/flags/gr.svg +4 -0
- package/projects/iss/src/components/controls/mobile/flags/gs.svg +693 -0
- package/projects/iss/src/components/controls/mobile/flags/gt.svg +317 -0
- package/projects/iss/src/components/controls/mobile/flags/gu.svg +58 -0
- package/projects/iss/src/components/controls/mobile/flags/gw.svg +13 -0
- package/projects/iss/src/components/controls/mobile/flags/gy.svg +7 -0
- package/projects/iss/src/components/controls/mobile/flags/hk.svg +17 -0
- package/projects/iss/src/components/controls/mobile/flags/hm.svg +32 -0
- package/projects/iss/src/components/controls/mobile/flags/hn.svg +10 -0
- package/projects/iss/src/components/controls/mobile/flags/hr.svg +282 -0
- package/projects/iss/src/components/controls/mobile/flags/ht.svg +1470 -0
- package/projects/iss/src/components/controls/mobile/flags/hu.svg +5 -0
- package/projects/iss/src/components/controls/mobile/flags/id.svg +4 -0
- package/projects/iss/src/components/controls/mobile/flags/ie.svg +5 -0
- package/projects/iss/src/components/controls/mobile/flags/il.svg +5 -0
- package/projects/iss/src/components/controls/mobile/flags/im.svg +33 -0
- package/projects/iss/src/components/controls/mobile/flags/in.svg +25 -0
- package/projects/iss/src/components/controls/mobile/flags/io.svg +895 -0
- package/projects/iss/src/components/controls/mobile/flags/iq.svg +12 -0
- package/projects/iss/src/components/controls/mobile/flags/ir.svg +31 -0
- package/projects/iss/src/components/controls/mobile/flags/is.svg +5 -0
- package/projects/iss/src/components/controls/mobile/flags/it.svg +5 -0
- package/projects/iss/src/components/controls/mobile/flags/je.svg +40 -0
- package/projects/iss/src/components/controls/mobile/flags/jm.svg +9 -0
- package/projects/iss/src/components/controls/mobile/flags/jo.svg +10 -0
- package/projects/iss/src/components/controls/mobile/flags/jp.svg +4 -0
- package/projects/iss/src/components/controls/mobile/flags/ke.svg +28 -0
- package/projects/iss/src/components/controls/mobile/flags/kg.svg +7 -0
- package/projects/iss/src/components/controls/mobile/flags/kh.svg +133 -0
- package/projects/iss/src/components/controls/mobile/flags/ki.svg +54 -0
- package/projects/iss/src/components/controls/mobile/flags/km.svg +13 -0
- package/projects/iss/src/components/controls/mobile/flags/kn.svg +24 -0
- package/projects/iss/src/components/controls/mobile/flags/kp.svg +16 -0
- package/projects/iss/src/components/controls/mobile/flags/kr.svg +16 -0
- package/projects/iss/src/components/controls/mobile/flags/kw.svg +6 -0
- package/projects/iss/src/components/controls/mobile/flags/ky.svg +153 -0
- package/projects/iss/src/components/controls/mobile/flags/kz.svg +49 -0
- package/projects/iss/src/components/controls/mobile/flags/la.svg +5 -0
- package/projects/iss/src/components/controls/mobile/flags/lb.svg +8 -0
- package/projects/iss/src/components/controls/mobile/flags/lc.svg +6 -0
- package/projects/iss/src/components/controls/mobile/flags/li.svg +75 -0
- package/projects/iss/src/components/controls/mobile/flags/lk.svg +50 -0
- package/projects/iss/src/components/controls/mobile/flags/lr.svg +15 -0
- package/projects/iss/src/components/controls/mobile/flags/ls.svg +32 -0
- package/projects/iss/src/components/controls/mobile/flags/lt.svg +5 -0
- package/projects/iss/src/components/controls/mobile/flags/lu.svg +5 -0
- package/projects/iss/src/components/controls/mobile/flags/lv.svg +4 -0
- package/projects/iss/src/components/controls/mobile/flags/ly.svg +8 -0
- package/projects/iss/src/components/controls/mobile/flags/ma.svg +4 -0
- package/projects/iss/src/components/controls/mobile/flags/mc.svg +4 -0
- package/projects/iss/src/components/controls/mobile/flags/md.svg +102 -0
- package/projects/iss/src/components/controls/mobile/flags/me.svg +240 -0
- package/projects/iss/src/components/controls/mobile/flags/mf.svg +5 -0
- package/projects/iss/src/components/controls/mobile/flags/mg.svg +5 -0
- package/projects/iss/src/components/controls/mobile/flags/mh.svg +18 -0
- package/projects/iss/src/components/controls/mobile/flags/mk.svg +6 -0
- package/projects/iss/src/components/controls/mobile/flags/ml.svg +5 -0
- package/projects/iss/src/components/controls/mobile/flags/mm.svg +12 -0
- package/projects/iss/src/components/controls/mobile/flags/mn.svg +12 -0
- package/projects/iss/src/components/controls/mobile/flags/mo.svg +13 -0
- package/projects/iss/src/components/controls/mobile/flags/mp.svg +2919 -0
- package/projects/iss/src/components/controls/mobile/flags/mq.svg +5 -0
- package/projects/iss/src/components/controls/mobile/flags/mr.svg +5 -0
- package/projects/iss/src/components/controls/mobile/flags/ms.svg +59 -0
- package/projects/iss/src/components/controls/mobile/flags/mt.svg +52 -0
- package/projects/iss/src/components/controls/mobile/flags/mu.svg +6 -0
- package/projects/iss/src/components/controls/mobile/flags/mv.svg +8 -0
- package/projects/iss/src/components/controls/mobile/flags/mw.svg +24 -0
- package/projects/iss/src/components/controls/mobile/flags/mx.svg +1129 -0
- package/projects/iss/src/components/controls/mobile/flags/my.svg +12 -0
- package/projects/iss/src/components/controls/mobile/flags/mz.svg +50 -0
- package/projects/iss/src/components/controls/mobile/flags/na.svg +17 -0
- package/projects/iss/src/components/controls/mobile/flags/nc.svg +5 -0
- package/projects/iss/src/components/controls/mobile/flags/ne.svg +6 -0
- package/projects/iss/src/components/controls/mobile/flags/nf.svg +8 -0
- package/projects/iss/src/components/controls/mobile/flags/ng.svg +4 -0
- package/projects/iss/src/components/controls/mobile/flags/ni.svg +281 -0
- package/projects/iss/src/components/controls/mobile/flags/nl.svg +5 -0
- package/projects/iss/src/components/controls/mobile/flags/no.svg +11 -0
- package/projects/iss/src/components/controls/mobile/flags/np.svg +33 -0
- package/projects/iss/src/components/controls/mobile/flags/nr.svg +8 -0
- package/projects/iss/src/components/controls/mobile/flags/nu.svg +23 -0
- package/projects/iss/src/components/controls/mobile/flags/nz.svg +37 -0
- package/projects/iss/src/components/controls/mobile/flags/om.svg +307 -0
- package/projects/iss/src/components/controls/mobile/flags/pa.svg +15 -0
- package/projects/iss/src/components/controls/mobile/flags/pe.svg +767 -0
- package/projects/iss/src/components/controls/mobile/flags/pf.svg +38 -0
- package/projects/iss/src/components/controls/mobile/flags/pg.svg +16 -0
- package/projects/iss/src/components/controls/mobile/flags/ph.svg +28 -0
- package/projects/iss/src/components/controls/mobile/flags/pk.svg +7 -0
- package/projects/iss/src/components/controls/mobile/flags/pl.svg +4 -0
- package/projects/iss/src/components/controls/mobile/flags/pm.svg +5 -0
- package/projects/iss/src/components/controls/mobile/flags/pn.svg +131 -0
- package/projects/iss/src/components/controls/mobile/flags/pr.svg +6 -0
- package/projects/iss/src/components/controls/mobile/flags/ps.svg +6 -0
- package/projects/iss/src/components/controls/mobile/flags/pt.svg +79 -0
- package/projects/iss/src/components/controls/mobile/flags/pw.svg +4 -0
- package/projects/iss/src/components/controls/mobile/flags/py.svg +192 -0
- package/projects/iss/src/components/controls/mobile/flags/qa.svg +7 -0
- package/projects/iss/src/components/controls/mobile/flags/re.svg +5 -0
- package/projects/iss/src/components/controls/mobile/flags/ro.svg +5 -0
- package/projects/iss/src/components/controls/mobile/flags/rs.svg +1143 -0
- package/projects/iss/src/components/controls/mobile/flags/ru.svg +5 -0
- package/projects/iss/src/components/controls/mobile/flags/rw.svg +17 -0
- package/projects/iss/src/components/controls/mobile/flags/sa.svg +23 -0
- package/projects/iss/src/components/controls/mobile/flags/sb.svg +30 -0
- package/projects/iss/src/components/controls/mobile/flags/sc.svg +7 -0
- package/projects/iss/src/components/controls/mobile/flags/sd.svg +6 -0
- package/projects/iss/src/components/controls/mobile/flags/se.svg +5 -0
- package/projects/iss/src/components/controls/mobile/flags/sg.svg +15 -0
- package/projects/iss/src/components/controls/mobile/flags/sh.svg +15 -0
- package/projects/iss/src/components/controls/mobile/flags/si.svg +30 -0
- package/projects/iss/src/components/controls/mobile/flags/sj.svg +11 -0
- package/projects/iss/src/components/controls/mobile/flags/sk.svg +21 -0
- package/projects/iss/src/components/controls/mobile/flags/sl.svg +5 -0
- package/projects/iss/src/components/controls/mobile/flags/sm.svg +847 -0
- package/projects/iss/src/components/controls/mobile/flags/sn.svg +15 -0
- package/projects/iss/src/components/controls/mobile/flags/so.svg +13 -0
- package/projects/iss/src/components/controls/mobile/flags/sr.svg +6 -0
- package/projects/iss/src/components/controls/mobile/flags/ss.svg +8 -0
- package/projects/iss/src/components/controls/mobile/flags/st.svg +16 -0
- package/projects/iss/src/components/controls/mobile/flags/stc-icons.css +1 -0
- package/projects/iss/src/components/controls/mobile/flags/sv.svg +3368 -0
- package/projects/iss/src/components/controls/mobile/flags/sx.svg +172 -0
- package/projects/iss/src/components/controls/mobile/flags/sy.svg +6 -0
- package/projects/iss/src/components/controls/mobile/flags/sz.svg +54 -0
- package/projects/iss/src/components/controls/mobile/flags/tc.svg +88 -0
- package/projects/iss/src/components/controls/mobile/flags/td.svg +5 -0
- package/projects/iss/src/components/controls/mobile/flags/tf.svg +18 -0
- package/projects/iss/src/components/controls/mobile/flags/tg.svg +15 -0
- package/projects/iss/src/components/controls/mobile/flags/th.svg +5 -0
- package/projects/iss/src/components/controls/mobile/flags/tj.svg +32 -0
- package/projects/iss/src/components/controls/mobile/flags/tk.svg +25 -0
- package/projects/iss/src/components/controls/mobile/flags/tl.svg +6 -0
- package/projects/iss/src/components/controls/mobile/flags/tm.svg +349 -0
- package/projects/iss/src/components/controls/mobile/flags/tn.svg +9 -0
- package/projects/iss/src/components/controls/mobile/flags/to.svg +8 -0
- package/projects/iss/src/components/controls/mobile/flags/tr.svg +6 -0
- package/projects/iss/src/components/controls/mobile/flags/tt.svg +5 -0
- package/projects/iss/src/components/controls/mobile/flags/tv.svg +18 -0
- package/projects/iss/src/components/controls/mobile/flags/tw.svg +12 -0
- package/projects/iss/src/components/controls/mobile/flags/tz.svg +13 -0
- package/projects/iss/src/components/controls/mobile/flags/ua.svg +4 -0
- package/projects/iss/src/components/controls/mobile/flags/ug.svg +46 -0
- package/projects/iss/src/components/controls/mobile/flags/um.svg +25 -0
- package/projects/iss/src/components/controls/mobile/flags/us.svg +25 -0
- package/projects/iss/src/components/controls/mobile/flags/uy.svg +138 -0
- package/projects/iss/src/components/controls/mobile/flags/uz.svg +30 -0
- package/projects/iss/src/components/controls/mobile/flags/va.svg +277 -0
- package/projects/iss/src/components/controls/mobile/flags/vc.svg +9 -0
- package/projects/iss/src/components/controls/mobile/flags/ve.svg +28 -0
- package/projects/iss/src/components/controls/mobile/flags/vg.svg +96 -0
- package/projects/iss/src/components/controls/mobile/flags/vi.svg +311 -0
- package/projects/iss/src/components/controls/mobile/flags/vn.svg +12 -0
- package/projects/iss/src/components/controls/mobile/flags/vu.svg +20 -0
- package/projects/iss/src/components/controls/mobile/flags/wf.svg +7 -0
- package/projects/iss/src/components/controls/mobile/flags/ws.svg +14 -0
- package/projects/iss/src/components/controls/mobile/flags/xk.svg +11 -0
- package/projects/iss/src/components/controls/mobile/flags/ye.svg +5 -0
- package/projects/iss/src/components/controls/mobile/flags/yt.svg +5 -0
- package/projects/iss/src/components/controls/mobile/flags/za.svg +17 -0
- package/projects/iss/src/components/controls/mobile/flags/zm.svg +20 -0
- package/projects/iss/src/components/controls/mobile/flags/zw.svg +130 -0
- package/projects/iss/src/components/controls/mobile/mobile.control.ts +222 -0
- package/projects/iss/src/components/controls/mobile/mobile.viewer.ts +11 -0
- package/projects/iss/src/components/controls/mobile/mobile.wrapper.ts +32 -0
- package/projects/iss/src/components/controls/mobile/phone.service.ts +96 -0
- package/projects/iss/src/components/controls/note/note.wrapper.ts +25 -0
- package/projects/iss/src/components/controls/plate/plate-letter.pipe.ts +14 -0
- package/projects/iss/src/components/controls/plate/plate-number.wrapper.ts +36 -0
- package/projects/iss/src/components/controls/plate/plate.control.ts +481 -0
- package/projects/iss/src/components/controls/plate/plate.viewer.ts +289 -0
- package/projects/iss/src/components/controls/radio/radio.control.ts +48 -0
- package/projects/iss/src/components/controls/radio/radio.viewer.ts +14 -0
- package/projects/iss/src/components/controls/radio/radio.wrapper.ts +38 -0
- package/projects/iss/src/components/controls/select/select.control.ts +261 -0
- package/projects/iss/src/components/controls/select/select.viewer.ts +14 -0
- package/projects/iss/src/components/controls/select/select.wrapper.ts +41 -0
- package/projects/iss/src/components/controls/slide-toggle/slide-toggle.control.ts +24 -0
- package/projects/iss/src/components/controls/slide-toggle/slide-toggle.viewer.ts +14 -0
- package/projects/iss/src/components/controls/slide-toggle/slide-toggle.wrapper.ts +31 -0
- package/projects/iss/src/components/controls/table/field.viewer.ts +23 -0
- package/projects/iss/src/components/controls/table/table.wrapper.ts +233 -0
- package/projects/iss/src/components/controls/textarea/textarea.control.ts +54 -0
- package/projects/iss/src/components/controls/textarea/textarea.viewer.ts +11 -0
- package/projects/iss/src/components/controls/textarea/textarea.wrapper.ts +34 -0
- package/projects/iss/src/components/controls/time-picker/time-picker.control.ts +86 -0
- package/projects/iss/src/components/controls/time-picker/time-picker.viewer.ts +10 -0
- package/projects/iss/src/components/controls/time-picker/time-picker.wrapper.ts +31 -0
- package/projects/iss/src/components/controls/toggle-button/toggle-button.control.ts +105 -0
- package/projects/iss/src/components/controls/toggle-button/toggle-button.viewer.ts +15 -0
- package/projects/iss/src/components/controls/toggle-button/toggle-button.wrapper.ts +40 -0
- package/projects/iss/src/components/controls/user-picker/employee.service.ts +73 -0
- package/projects/iss/src/components/controls/user-picker/user-picker.wrapper.ts +128 -0
- package/projects/iss/src/components/outlet/field-data-injector.pipe.ts +20 -0
- package/projects/iss/src/components/outlet/outlet.ts +152 -0
- package/projects/iss/src/components/shared/hints.component.ts +38 -0
- package/projects/iss/src/components/shared/validation-message.component.ts +36 -0
- package/projects/iss/src/events/event-handler.service.ts +47 -0
- package/projects/iss/src/events/load/after-fetch.service.ts +29 -0
- package/projects/iss/src/events/load/load-event.service.ts +26 -0
- package/projects/iss/src/events/load/load-options-event.service.ts +51 -0
- package/projects/iss/src/events/load/load-value-event.service.ts +50 -0
- package/projects/iss/src/events/load/replace-api-keys.service.ts +55 -0
- package/projects/iss/src/events/set-value/get-value-to-set.service.ts +29 -0
- package/projects/iss/src/events/set-value/set-value-event.service.ts +33 -0
- package/projects/iss/src/events/show/show-event.service.ts +11 -0
- package/projects/iss/src/events/triggers/action-trigger-manager.service.ts +51 -0
- package/projects/iss/src/events/triggers/action-trigger.service.ts +30 -0
- package/projects/iss/src/events/triggers/trigger-based-on-json-value.service.ts +19 -0
- package/projects/iss/src/public-api.ts +102 -0
- package/projects/iss/src/shared/classes/field-action-config.ts +56 -0
- package/projects/iss/src/shared/classes/field-action.ts +28 -0
- package/projects/iss/src/shared/classes/field-async-validation.ts +7 -0
- package/projects/iss/src/shared/classes/field-config.ts +113 -0
- package/projects/iss/src/shared/classes/field-option.ts +9 -0
- package/projects/iss/src/shared/classes/field-validation.ts +15 -0
- package/projects/iss/src/shared/classes/form-field.ts +94 -0
- package/projects/iss/src/shared/constants/countries.const.ts +2051 -0
- package/projects/iss/src/shared/constants/date.const.ts +18 -0
- package/projects/iss/src/shared/constants/plate-letters.const.ts +21 -0
- package/projects/iss/src/shared/constants/provider.const.ts +7 -0
- package/projects/iss/src/shared/constants/regex.const.ts +1 -0
- package/projects/iss/src/shared/constants/validation.const.ts +115 -0
- package/projects/iss/src/shared/indexes/components.index.ts +27 -0
- package/projects/iss/src/shared/indexes/services.index.ts +11 -0
- package/projects/iss/src/shared/indexes/validators.index.ts +21 -0
- package/projects/iss/src/shared/interfaces/action.interface.ts +7 -0
- package/projects/iss/src/shared/interfaces/attachment.interface.ts +7 -0
- package/projects/iss/src/shared/interfaces/country.interface.ts +11 -0
- package/projects/iss/src/shared/interfaces/date-range.interface.ts +5 -0
- package/projects/iss/src/shared/interfaces/datetime.interface.ts +4 -0
- package/projects/iss/src/shared/interfaces/dto.interface.ts +12 -0
- package/projects/iss/src/shared/interfaces/field.interface.ts +27 -0
- package/projects/iss/src/shared/interfaces/file.interface.ts +9 -0
- package/projects/iss/src/shared/interfaces/hint.interface.ts +8 -0
- package/projects/iss/src/shared/interfaces/i18n.interface.ts +4 -0
- package/projects/iss/src/shared/interfaces/import.interface.ts +3 -0
- package/projects/iss/src/shared/interfaces/mobile.interface.ts +12 -0
- package/projects/iss/src/shared/interfaces/option.interface.ts +4 -0
- package/projects/iss/src/shared/interfaces/outlet.interface.ts +8 -0
- package/projects/iss/src/shared/interfaces/plate-letter.interface.ts +7 -0
- package/projects/iss/src/shared/interfaces/validation.interface.ts +5 -0
- package/projects/iss/src/shared/pipes/arabic-number.pipe.ts +14 -0
- package/projects/iss/src/shared/pipes/select-status.pipe.ts +10 -0
- package/projects/iss/src/shared/pipes/translate.pipe.ts +20 -0
- package/projects/iss/src/shared/services/form-engine.service.ts +121 -0
- package/projects/iss/src/shared/services/loader.service.ts +51 -0
- package/projects/iss/src/shared/tokens/api-response-mapper.token.ts +4 -0
- package/projects/iss/src/shared/tokens/attachment.token.ts +6 -0
- package/projects/iss/src/shared/tokens/field.token.ts +4 -0
- package/projects/iss/src/shared/tokens/host.token.ts +3 -0
- package/projects/iss/src/shared/tokens/language.token.ts +3 -0
- package/projects/iss/src/shared/tokens/url.token.ts +3 -0
- package/projects/iss/src/shared/types/iso2.type.ts +244 -0
- package/projects/iss/src/shared/types/validation.type.ts +3 -0
- package/projects/iss/src/shared/utilities/array-from.util.ts +7 -0
- package/projects/iss/src/shared/utilities/format-file-size.util.ts +9 -0
- package/projects/iss/src/shared/utilities/get-property-by-path.util.ts +30 -0
- package/projects/iss/src/shared/utilities/http.util.service.ts +19 -0
- package/projects/iss/src/shared/utilities/is-valid-api.util.ts +8 -0
- package/projects/iss/src/shared/utilities/replace-placeholder.util.ts +12 -0
- package/projects/iss/src/validators/core.validator.ts +39 -0
- package/projects/iss/src/validators/file.validator.ts +100 -0
- package/projects/iss/src/validators/time.validator.ts +31 -0
- package/projects/iss/tsconfig.lib.json +13 -0
- package/projects/iss/tsconfig.lib.prod.json +9 -0
- package/projects/iss/tsconfig.spec.json +13 -0
- package/projects/iss/upgrade.scss +68 -0
- package/projects/playground/.eslintrc.json +37 -0
- package/projects/playground/public/favicon.ico +0 -0
- package/projects/playground/public/flags/ad.svg +282 -0
- package/projects/playground/public/flags/ae.svg +6 -0
- package/projects/playground/public/flags/af.svg +9 -0
- package/projects/playground/public/flags/ag.svg +15 -0
- package/projects/playground/public/flags/ai.svg +35 -0
- package/projects/playground/public/flags/al.svg +7 -0
- package/projects/playground/public/flags/am.svg +5 -0
- package/projects/playground/public/flags/ao.svg +19 -0
- package/projects/playground/public/flags/aq.svg +45 -0
- package/projects/playground/public/flags/ar.svg +66 -0
- package/projects/playground/public/flags/as.svg +225 -0
- package/projects/playground/public/flags/at.svg +4 -0
- package/projects/playground/public/flags/au.svg +32 -0
- package/projects/playground/public/flags/aw.svg +11 -0
- package/projects/playground/public/flags/ax.svg +11 -0
- package/projects/playground/public/flags/az.svg +11 -0
- package/projects/playground/public/flags/ba.svg +18 -0
- package/projects/playground/public/flags/bb.svg +11 -0
- package/projects/playground/public/flags/bd.svg +4 -0
- package/projects/playground/public/flags/be.svg +5 -0
- package/projects/playground/public/flags/bf.svg +14 -0
- package/projects/playground/public/flags/bg.svg +5 -0
- package/projects/playground/public/flags/bh.svg +4 -0
- package/projects/playground/public/flags/bi.svg +26 -0
- package/projects/playground/public/flags/bj.svg +5 -0
- package/projects/playground/public/flags/bl.svg +5 -0
- package/projects/playground/public/flags/bm.svg +374 -0
- package/projects/playground/public/flags/bn.svg +70 -0
- package/projects/playground/public/flags/bo.svg +3625 -0
- package/projects/playground/public/flags/bq.svg +5 -0
- package/projects/playground/public/flags/br.svg +92 -0
- package/projects/playground/public/flags/bs.svg +5 -0
- package/projects/playground/public/flags/bt.svg +487 -0
- package/projects/playground/public/flags/bv.svg +11 -0
- package/projects/playground/public/flags/bw.svg +5 -0
- package/projects/playground/public/flags/by.svg +15 -0
- package/projects/playground/public/flags/bz.svg +629 -0
- package/projects/playground/public/flags/ca.svg +7 -0
- package/projects/playground/public/flags/cc.svg +33 -0
- package/projects/playground/public/flags/cd.svg +5 -0
- package/projects/playground/public/flags/cf.svg +7 -0
- package/projects/playground/public/flags/cg.svg +5 -0
- package/projects/playground/public/flags/ch.svg +4 -0
- package/projects/playground/public/flags/ci.svg +5 -0
- package/projects/playground/public/flags/ck.svg +29 -0
- package/projects/playground/public/flags/cl.svg +14 -0
- package/projects/playground/public/flags/cm.svg +15 -0
- package/projects/playground/public/flags/cn.svg +11 -0
- package/projects/playground/public/flags/co.svg +5 -0
- package/projects/playground/public/flags/cr.svg +1332 -0
- package/projects/playground/public/flags/cu.svg +6 -0
- package/projects/playground/public/flags/cv.svg +24 -0
- package/projects/playground/public/flags/cw.svg +16 -0
- package/projects/playground/public/flags/cx.svg +24 -0
- package/projects/playground/public/flags/cy.svg +13 -0
- package/projects/playground/public/flags/cz.svg +5 -0
- package/projects/playground/public/flags/de.svg +5 -0
- package/projects/playground/public/flags/dj.svg +6 -0
- package/projects/playground/public/flags/dk.svg +5 -0
- package/projects/playground/public/flags/dm.svg +198 -0
- package/projects/playground/public/flags/do.svg +238 -0
- package/projects/playground/public/flags/dz.svg +5 -0
- package/projects/playground/public/flags/ec.svg +1292 -0
- package/projects/playground/public/flags/ee.svg +5 -0
- package/projects/playground/public/flags/eg.svg +125 -0
- package/projects/playground/public/flags/eh.svg +12 -0
- package/projects/playground/public/flags/er.svg +9 -0
- package/projects/playground/public/flags/es.svg +445 -0
- package/projects/playground/public/flags/et.svg +16 -0
- package/projects/playground/public/flags/eu.svg +28 -0
- package/projects/playground/public/flags/fi.svg +5 -0
- package/projects/playground/public/flags/fj.svg +203 -0
- package/projects/playground/public/flags/fk.svg +922 -0
- package/projects/playground/public/flags/flags.png +0 -0
- package/projects/playground/public/flags/flags@2x.png +0 -0
- package/projects/playground/public/flags/fm.svg +16 -0
- package/projects/playground/public/flags/fo.svg +11 -0
- package/projects/playground/public/flags/fonts.css +271 -0
- package/projects/playground/public/flags/fr.svg +5 -0
- package/projects/playground/public/flags/ga.svg +5 -0
- package/projects/playground/public/flags/gb-eng.svg +7 -0
- package/projects/playground/public/flags/gb-nir.svg +15 -0
- package/projects/playground/public/flags/gb-sct.svg +11 -0
- package/projects/playground/public/flags/gb-wls.svg +16 -0
- package/projects/playground/public/flags/gb.svg +15 -0
- package/projects/playground/public/flags/gd.svg +11 -0
- package/projects/playground/public/flags/ge.svg +17 -0
- package/projects/playground/public/flags/gf.svg +5 -0
- package/projects/playground/public/flags/gg.svg +8 -0
- package/projects/playground/public/flags/gh.svg +6 -0
- package/projects/playground/public/flags/gi.svg +69 -0
- package/projects/playground/public/flags/gl.svg +4 -0
- package/projects/playground/public/flags/gm.svg +7 -0
- package/projects/playground/public/flags/gn.svg +5 -0
- package/projects/playground/public/flags/gp.svg +5 -0
- package/projects/playground/public/flags/gq.svg +88 -0
- package/projects/playground/public/flags/gr.svg +4 -0
- package/projects/playground/public/flags/gs.svg +693 -0
- package/projects/playground/public/flags/gt.svg +317 -0
- package/projects/playground/public/flags/gu.svg +58 -0
- package/projects/playground/public/flags/gw.svg +13 -0
- package/projects/playground/public/flags/gy.svg +7 -0
- package/projects/playground/public/flags/hk.svg +17 -0
- package/projects/playground/public/flags/hm.svg +32 -0
- package/projects/playground/public/flags/hn.svg +10 -0
- package/projects/playground/public/flags/hr.svg +282 -0
- package/projects/playground/public/flags/ht.svg +1470 -0
- package/projects/playground/public/flags/hu.svg +5 -0
- package/projects/playground/public/flags/id.svg +4 -0
- package/projects/playground/public/flags/ie.svg +5 -0
- package/projects/playground/public/flags/il.svg +5 -0
- package/projects/playground/public/flags/im.svg +33 -0
- package/projects/playground/public/flags/in.svg +25 -0
- package/projects/playground/public/flags/io.svg +895 -0
- package/projects/playground/public/flags/iq.svg +12 -0
- package/projects/playground/public/flags/ir.svg +31 -0
- package/projects/playground/public/flags/is.svg +5 -0
- package/projects/playground/public/flags/it.svg +5 -0
- package/projects/playground/public/flags/je.svg +40 -0
- package/projects/playground/public/flags/jm.svg +9 -0
- package/projects/playground/public/flags/jo.svg +10 -0
- package/projects/playground/public/flags/jp.svg +4 -0
- package/projects/playground/public/flags/ke.svg +28 -0
- package/projects/playground/public/flags/kg.svg +7 -0
- package/projects/playground/public/flags/kh.svg +133 -0
- package/projects/playground/public/flags/ki.svg +54 -0
- package/projects/playground/public/flags/km.svg +13 -0
- package/projects/playground/public/flags/kn.svg +24 -0
- package/projects/playground/public/flags/kp.svg +16 -0
- package/projects/playground/public/flags/kr.svg +16 -0
- package/projects/playground/public/flags/kw.svg +6 -0
- package/projects/playground/public/flags/ky.svg +153 -0
- package/projects/playground/public/flags/kz.svg +49 -0
- package/projects/playground/public/flags/la.svg +5 -0
- package/projects/playground/public/flags/lb.svg +8 -0
- package/projects/playground/public/flags/lc.svg +6 -0
- package/projects/playground/public/flags/li.svg +79 -0
- package/projects/playground/public/flags/lk.svg +50 -0
- package/projects/playground/public/flags/lr.svg +15 -0
- package/projects/playground/public/flags/ls.svg +32 -0
- package/projects/playground/public/flags/lt.svg +5 -0
- package/projects/playground/public/flags/lu.svg +5 -0
- package/projects/playground/public/flags/lv.svg +4 -0
- package/projects/playground/public/flags/ly.svg +8 -0
- package/projects/playground/public/flags/ma.svg +4 -0
- package/projects/playground/public/flags/mc.svg +4 -0
- package/projects/playground/public/flags/md.svg +102 -0
- package/projects/playground/public/flags/me.svg +240 -0
- package/projects/playground/public/flags/mf.svg +5 -0
- package/projects/playground/public/flags/mg.svg +5 -0
- package/projects/playground/public/flags/mh.svg +18 -0
- package/projects/playground/public/flags/mk.svg +6 -0
- package/projects/playground/public/flags/ml.svg +5 -0
- package/projects/playground/public/flags/mm.svg +12 -0
- package/projects/playground/public/flags/mn.svg +12 -0
- package/projects/playground/public/flags/mo.svg +13 -0
- package/projects/playground/public/flags/mp.svg +2919 -0
- package/projects/playground/public/flags/mq.svg +5 -0
- package/projects/playground/public/flags/mr.svg +5 -0
- package/projects/playground/public/flags/ms.svg +59 -0
- package/projects/playground/public/flags/mt.svg +52 -0
- package/projects/playground/public/flags/mu.svg +6 -0
- package/projects/playground/public/flags/mv.svg +8 -0
- package/projects/playground/public/flags/mw.svg +24 -0
- package/projects/playground/public/flags/mx.svg +1129 -0
- package/projects/playground/public/flags/my.svg +12 -0
- package/projects/playground/public/flags/mz.svg +50 -0
- package/projects/playground/public/flags/na.svg +17 -0
- package/projects/playground/public/flags/nc.svg +5 -0
- package/projects/playground/public/flags/ne.svg +6 -0
- package/projects/playground/public/flags/nf.svg +8 -0
- package/projects/playground/public/flags/ng.svg +4 -0
- package/projects/playground/public/flags/ni.svg +281 -0
- package/projects/playground/public/flags/nl.svg +5 -0
- package/projects/playground/public/flags/no.svg +11 -0
- package/projects/playground/public/flags/np.svg +33 -0
- package/projects/playground/public/flags/nr.svg +8 -0
- package/projects/playground/public/flags/nu.svg +23 -0
- package/projects/playground/public/flags/nz.svg +37 -0
- package/projects/playground/public/flags/om.svg +307 -0
- package/projects/playground/public/flags/pa.svg +15 -0
- package/projects/playground/public/flags/pe.svg +767 -0
- package/projects/playground/public/flags/pf.svg +38 -0
- package/projects/playground/public/flags/pg.svg +16 -0
- package/projects/playground/public/flags/ph.svg +28 -0
- package/projects/playground/public/flags/pk.svg +7 -0
- package/projects/playground/public/flags/pl.svg +4 -0
- package/projects/playground/public/flags/pm.svg +5 -0
- package/projects/playground/public/flags/pn.svg +131 -0
- package/projects/playground/public/flags/pr.svg +6 -0
- package/projects/playground/public/flags/ps.svg +6 -0
- package/projects/playground/public/flags/pt.svg +79 -0
- package/projects/playground/public/flags/pw.svg +4 -0
- package/projects/playground/public/flags/py.svg +192 -0
- package/projects/playground/public/flags/qa.svg +7 -0
- package/projects/playground/public/flags/re.svg +5 -0
- package/projects/playground/public/flags/ro.svg +5 -0
- package/projects/playground/public/flags/rs.svg +1143 -0
- package/projects/playground/public/flags/ru.svg +5 -0
- package/projects/playground/public/flags/rw.svg +17 -0
- package/projects/playground/public/flags/sa.svg +23 -0
- package/projects/playground/public/flags/sb.svg +30 -0
- package/projects/playground/public/flags/sc.svg +7 -0
- package/projects/playground/public/flags/sd.svg +6 -0
- package/projects/playground/public/flags/se.svg +5 -0
- package/projects/playground/public/flags/sg.svg +15 -0
- package/projects/playground/public/flags/sh.svg +15 -0
- package/projects/playground/public/flags/si.svg +30 -0
- package/projects/playground/public/flags/sj.svg +11 -0
- package/projects/playground/public/flags/sk.svg +21 -0
- package/projects/playground/public/flags/sl.svg +5 -0
- package/projects/playground/public/flags/sm.svg +847 -0
- package/projects/playground/public/flags/sn.svg +15 -0
- package/projects/playground/public/flags/so.svg +13 -0
- package/projects/playground/public/flags/sr.svg +6 -0
- package/projects/playground/public/flags/ss.svg +8 -0
- package/projects/playground/public/flags/st.svg +16 -0
- package/projects/playground/public/flags/stc-icons.css +1 -0
- package/projects/playground/public/flags/sv.svg +3368 -0
- package/projects/playground/public/flags/sx.svg +172 -0
- package/projects/playground/public/flags/sy.svg +6 -0
- package/projects/playground/public/flags/sz.svg +54 -0
- package/projects/playground/public/flags/tc.svg +88 -0
- package/projects/playground/public/flags/td.svg +5 -0
- package/projects/playground/public/flags/tf.svg +18 -0
- package/projects/playground/public/flags/tg.svg +15 -0
- package/projects/playground/public/flags/th.svg +5 -0
- package/projects/playground/public/flags/tj.svg +32 -0
- package/projects/playground/public/flags/tk.svg +25 -0
- package/projects/playground/public/flags/tl.svg +6 -0
- package/projects/playground/public/flags/tm.svg +349 -0
- package/projects/playground/public/flags/tn.svg +9 -0
- package/projects/playground/public/flags/to.svg +8 -0
- package/projects/playground/public/flags/tr.svg +6 -0
- package/projects/playground/public/flags/tt.svg +5 -0
- package/projects/playground/public/flags/tv.svg +18 -0
- package/projects/playground/public/flags/tw.svg +12 -0
- package/projects/playground/public/flags/tz.svg +13 -0
- package/projects/playground/public/flags/ua.svg +4 -0
- package/projects/playground/public/flags/ug.svg +46 -0
- package/projects/playground/public/flags/um.svg +25 -0
- package/projects/playground/public/flags/us.svg +25 -0
- package/projects/playground/public/flags/uy.svg +138 -0
- package/projects/playground/public/flags/uz.svg +30 -0
- package/projects/playground/public/flags/va.svg +277 -0
- package/projects/playground/public/flags/vc.svg +9 -0
- package/projects/playground/public/flags/ve.svg +28 -0
- package/projects/playground/public/flags/vg.svg +96 -0
- package/projects/playground/public/flags/vi.svg +311 -0
- package/projects/playground/public/flags/vn.svg +12 -0
- package/projects/playground/public/flags/vu.svg +20 -0
- package/projects/playground/public/flags/wf.svg +7 -0
- package/projects/playground/public/flags/ws.svg +14 -0
- package/projects/playground/public/flags/xk.svg +11 -0
- package/projects/playground/public/flags/ye.svg +5 -0
- package/projects/playground/public/flags/yt.svg +5 -0
- package/projects/playground/public/flags/za.svg +17 -0
- package/projects/playground/public/flags/zm.svg +20 -0
- package/projects/playground/public/flags/zw.svg +130 -0
- package/projects/playground/src/app/app.component.ts +119 -0
- package/projects/playground/src/app/app.config.ts +51 -0
- package/projects/playground/src/app/app.routes.ts +41 -0
- package/projects/playground/src/app/login.service.ts +21 -0
- package/projects/playground/src/components/attachment-wrapper.component.ts +45 -0
- package/projects/playground/src/components/attachment.component.ts +35 -0
- package/projects/playground/src/components/checkbox-wrapper.component.ts +43 -0
- package/projects/playground/src/components/chips-wrapper.component.ts +37 -0
- package/projects/playground/src/components/ctrl-array-wrapper.component.ts +76 -0
- package/projects/playground/src/components/date-picker-container.component.ts +22 -0
- package/projects/playground/src/components/date-picker-wrapper.component.ts +41 -0
- package/projects/playground/src/components/date-range-picker-container.component.ts +24 -0
- package/projects/playground/src/components/date-range-picker-wrapper.component.ts +41 -0
- package/projects/playground/src/components/datetime-container.component.ts +25 -0
- package/projects/playground/src/components/datetime-picker-wrapper.component.ts +62 -0
- package/projects/playground/src/components/input-container.component.ts +35 -0
- package/projects/playground/src/components/input-wrapper.component.ts +41 -0
- package/projects/playground/src/components/mobile-container.component.ts +23 -0
- package/projects/playground/src/components/mobile-wrapper.component.ts +36 -0
- package/projects/playground/src/components/note-wrapper.component.ts +37 -0
- package/projects/playground/src/components/outlet-container.component.ts +144 -0
- package/projects/playground/src/components/plate-container.component.ts +22 -0
- package/projects/playground/src/components/plate-wrapper.component.ts +39 -0
- package/projects/playground/src/components/radio-wrapper.component.ts +45 -0
- package/projects/playground/src/components/select-container.component.ts +31 -0
- package/projects/playground/src/components/select-wrapper.component.ts +48 -0
- package/projects/playground/src/components/ships-container.component.ts +23 -0
- package/projects/playground/src/components/slide-toggle-wrapper.component.ts +40 -0
- package/projects/playground/src/components/textarea-container.component.ts +23 -0
- package/projects/playground/src/components/textarea-wrapper.component.ts +54 -0
- package/projects/playground/src/components/time-picker-container.component.ts +23 -0
- package/projects/playground/src/components/time-picker-wrapper.component.ts +43 -0
- package/projects/playground/src/components/toggle-button-wrapper.component.ts +49 -0
- package/projects/playground/src/components/user-picker-wrapper.component.ts +37 -0
- package/projects/playground/src/eServices/create-request.component.ts +28 -0
- package/projects/playground/src/eServices/e-service.component.ts +112 -0
- package/projects/playground/src/eServices/view-request.component.ts +13 -0
- package/projects/playground/src/index.html +13 -0
- package/projects/playground/src/interceptors/header.interceptor.ts +71 -0
- package/projects/playground/src/main.ts +8 -0
- package/projects/playground/src/services/ss.service.ts +62 -0
- package/projects/playground/src/styles.scss +33 -0
- package/projects/playground/src/validators/customValidator.validator.ts +10 -0
- package/projects/playground/tsconfig.app.json +15 -0
- package/tsconfig.json +31 -0
- package/components/autocomplete/autocomplete.component.d.ts +0 -6
- package/components/base-ctrl.d.ts +0 -31
- package/components/checkbox/checkbox.component.d.ts +0 -16
- package/components/chips/chips.component.d.ts +0 -14
- package/components/ctrl-array/ctrl-array.component.d.ts +0 -6
- package/components/date-picker/date-adapter.d.ts +0 -37
- package/components/date-picker/date-picker.component.d.ts +0 -15
- package/components/date-range-picker/date-range-picker.component.d.ts +0 -19
- package/components/datetime-picker/datetime-picker.component.d.ts +0 -14
- package/components/datetime-range-picker/datetime-range-picker.component.d.ts +0 -6
- package/components/file-picker/file-picker.component.d.ts +0 -17
- package/components/hints/hints.component.d.ts +0 -9
- package/components/input/input.component.d.ts +0 -19
- package/components/mobile/COUNTRIES.d.ts +0 -2
- package/components/mobile/mobile.component.d.ts +0 -26
- package/components/mobile/phone.service.d.ts +0 -17
- package/components/note/note.component.d.ts +0 -6
- package/components/plate/PLATE_LETTERS.d.ts +0 -8
- package/components/plate/plate.component.d.ts +0 -15
- package/components/radio/radio.component.d.ts +0 -11
- package/components/select/select.component.d.ts +0 -22
- package/components/slide-toggle/slide-toggle.component.d.ts +0 -7
- package/components/textarea/textarea.component.d.ts +0 -6
- package/components/time-picker/time-picker.component.d.ts +0 -19
- package/components/toggle-button/toggle-button.component.d.ts +0 -16
- package/directives/droppable.directive.d.ts +0 -10
- package/esm2022/components/autocomplete/autocomplete.component.mjs +0 -17
- package/esm2022/components/base-ctrl.mjs +0 -93
- package/esm2022/components/checkbox/checkbox.component.mjs +0 -73
- package/esm2022/components/chips/chips.component.mjs +0 -77
- package/esm2022/components/ctrl-array/ctrl-array.component.mjs +0 -17
- package/esm2022/components/date-picker/date-adapter.mjs +0 -183
- package/esm2022/components/date-picker/date-picker.component.mjs +0 -55
- package/esm2022/components/date-range-picker/date-range-picker.component.mjs +0 -101
- package/esm2022/components/datetime-picker/datetime-picker.component.mjs +0 -79
- package/esm2022/components/datetime-range-picker/datetime-range-picker.component.mjs +0 -17
- package/esm2022/components/file-picker/file-picker.component.mjs +0 -121
- package/esm2022/components/hints/hints.component.mjs +0 -66
- package/esm2022/components/input/input.component.mjs +0 -57
- package/esm2022/components/mobile/COUNTRIES.mjs +0 -2041
- package/esm2022/components/mobile/mobile.component.mjs +0 -141
- package/esm2022/components/mobile/phone.service.mjs +0 -99
- package/esm2022/components/note/note.component.mjs +0 -17
- package/esm2022/components/plate/PLATE_LETTERS.mjs +0 -20
- package/esm2022/components/plate/plate.component.mjs +0 -101
- package/esm2022/components/radio/radio.component.mjs +0 -40
- package/esm2022/components/select/select.component.mjs +0 -154
- package/esm2022/components/slide-toggle/slide-toggle.component.mjs +0 -23
- package/esm2022/components/textarea/textarea.component.mjs +0 -29
- package/esm2022/components/time-picker/time-picker.component.mjs +0 -169
- package/esm2022/components/toggle-button/toggle-button.component.mjs +0 -87
- package/esm2022/directives/droppable.directive.mjs +0 -39
- package/esm2022/interfaces/country.interface.mjs +0 -2
- package/esm2022/interfaces/date-range-emission-object.mjs +0 -2
- package/esm2022/interfaces/hint-alignment.type.mjs +0 -2
- package/esm2022/interfaces/hint.interface.mjs +0 -2
- package/esm2022/interfaces/iso2.interface.mjs +0 -2
- package/esm2022/interfaces/mobile.interface.mjs +0 -2
- package/esm2022/interfaces/option.interface.mjs +0 -2
- package/esm2022/interfaces/time.interface.mjs +0 -2
- package/esm2022/iss-ctrl.mjs +0 -5
- package/esm2022/pipes/arabic-number.pipe.mjs +0 -23
- package/esm2022/pipes/plate-letter.pipe.mjs +0 -22
- package/esm2022/pipes/select-status.pipe.mjs +0 -18
- package/esm2022/public-api.mjs +0 -20
- package/fesm2022/iss-ctrl.mjs +0 -3822
- package/fesm2022/iss-ctrl.mjs.map +0 -1
- package/index.d.ts +0 -5
- package/interfaces/country.interface.d.ts +0 -10
- package/interfaces/date-range-emission-object.d.ts +0 -5
- package/interfaces/hint-alignment.type.d.ts +0 -1
- package/interfaces/hint.interface.d.ts +0 -7
- package/interfaces/iso2.interface.d.ts +0 -1
- package/interfaces/mobile.interface.d.ts +0 -11
- package/interfaces/option.interface.d.ts +0 -5
- package/interfaces/time.interface.d.ts +0 -5
- package/pipes/arabic-number.pipe.d.ts +0 -7
- package/pipes/plate-letter.pipe.d.ts +0 -7
- package/pipes/select-status.pipe.d.ts +0 -8
- package/public-api.d.ts +0 -19
- package/src/components/mobile/flags/ad.svg +0 -154
- package/src/components/mobile/flags/ae.svg +0 -1
- package/src/components/mobile/flags/af.svg +0 -1
- package/src/components/mobile/flags/ag.svg +0 -1
- package/src/components/mobile/flags/ai.svg +0 -1
- package/src/components/mobile/flags/al.svg +0 -1
- package/src/components/mobile/flags/am.svg +0 -1
- package/src/components/mobile/flags/ao.svg +0 -1
- package/src/components/mobile/flags/aq.svg +0 -1
- package/src/components/mobile/flags/ar.svg +0 -1
- package/src/components/mobile/flags/as.svg +0 -1
- package/src/components/mobile/flags/at.svg +0 -1
- package/src/components/mobile/flags/au.svg +0 -1
- package/src/components/mobile/flags/aw.svg +0 -1
- package/src/components/mobile/flags/ax.svg +0 -1
- package/src/components/mobile/flags/az.svg +0 -1
- package/src/components/mobile/flags/ba.svg +0 -1
- package/src/components/mobile/flags/bb.svg +0 -7
- package/src/components/mobile/flags/bd.svg +0 -1
- package/src/components/mobile/flags/be.svg +0 -1
- package/src/components/mobile/flags/bf.svg +0 -1
- package/src/components/mobile/flags/bg.svg +0 -1
- package/src/components/mobile/flags/bh.svg +0 -1
- package/src/components/mobile/flags/bi.svg +0 -26
- package/src/components/mobile/flags/bj.svg +0 -1
- package/src/components/mobile/flags/bl.svg +0 -1
- package/src/components/mobile/flags/bm.svg +0 -1
- package/src/components/mobile/flags/bn.svg +0 -58
- package/src/components/mobile/flags/bo.svg +0 -1
- package/src/components/mobile/flags/bq.svg +0 -1
- package/src/components/mobile/flags/br.svg +0 -1
- package/src/components/mobile/flags/bs.svg +0 -1
- package/src/components/mobile/flags/bt.svg +0 -466
- package/src/components/mobile/flags/bv.svg +0 -1
- package/src/components/mobile/flags/bw.svg +0 -1
- package/src/components/mobile/flags/by.svg +0 -1
- package/src/components/mobile/flags/bz.svg +0 -1
- package/src/components/mobile/flags/ca.svg +0 -1
- package/src/components/mobile/flags/cc.svg +0 -19
- package/src/components/mobile/flags/cd.svg +0 -1
- package/src/components/mobile/flags/cf.svg +0 -1
- package/src/components/mobile/flags/cg.svg +0 -5
- package/src/components/mobile/flags/ch.svg +0 -1
- package/src/components/mobile/flags/ci.svg +0 -1
- package/src/components/mobile/flags/ck.svg +0 -1
- package/src/components/mobile/flags/cl.svg +0 -14
- package/src/components/mobile/flags/cm.svg +0 -15
- package/src/components/mobile/flags/cn.svg +0 -1
- package/src/components/mobile/flags/co.svg +0 -5
- package/src/components/mobile/flags/cr.svg +0 -1
- package/src/components/mobile/flags/cu.svg +0 -6
- package/src/components/mobile/flags/cv.svg +0 -24
- package/src/components/mobile/flags/cw.svg +0 -16
- package/src/components/mobile/flags/cx.svg +0 -15
- package/src/components/mobile/flags/cy.svg +0 -1
- package/src/components/mobile/flags/cz.svg +0 -5
- package/src/components/mobile/flags/de.svg +0 -1
- package/src/components/mobile/flags/dj.svg +0 -1
- package/src/components/mobile/flags/dk.svg +0 -5
- package/src/components/mobile/flags/dm.svg +0 -1
- package/src/components/mobile/flags/do.svg +0 -1
- package/src/components/mobile/flags/dz.svg +0 -5
- package/src/components/mobile/flags/ec.svg +0 -519
- package/src/components/mobile/flags/ee.svg +0 -1
- package/src/components/mobile/flags/eg.svg +0 -78
- package/src/components/mobile/flags/eh.svg +0 -9
- package/src/components/mobile/flags/er.svg +0 -6
- package/src/components/mobile/flags/es.svg +0 -1
- package/src/components/mobile/flags/et.svg +0 -1
- package/src/components/mobile/flags/eu.svg +0 -1
- package/src/components/mobile/flags/fi.svg +0 -5
- package/src/components/mobile/flags/fj.svg +0 -1
- package/src/components/mobile/flags/fk.svg +0 -1
- package/src/components/mobile/flags/fm.svg +0 -16
- package/src/components/mobile/flags/fo.svg +0 -11
- package/src/components/mobile/flags/fr.svg +0 -1
- package/src/components/mobile/flags/ga.svg +0 -5
- package/src/components/mobile/flags/gb-eng.svg +0 -7
- package/src/components/mobile/flags/gb-nir.svg +0 -1
- package/src/components/mobile/flags/gb-sct.svg +0 -1
- package/src/components/mobile/flags/gb-wls.svg +0 -9
- package/src/components/mobile/flags/gb.svg +0 -1
- package/src/components/mobile/flags/gd.svg +0 -1
- package/src/components/mobile/flags/ge.svg +0 -1
- package/src/components/mobile/flags/gf.svg +0 -1
- package/src/components/mobile/flags/gg.svg +0 -8
- package/src/components/mobile/flags/gh.svg +0 -6
- package/src/components/mobile/flags/gi.svg +0 -54
- package/src/components/mobile/flags/gl.svg +0 -4
- package/src/components/mobile/flags/gm.svg +0 -7
- package/src/components/mobile/flags/gn.svg +0 -5
- package/src/components/mobile/flags/gp.svg +0 -1
- package/src/components/mobile/flags/gq.svg +0 -75
- package/src/components/mobile/flags/gr.svg +0 -1
- package/src/components/mobile/flags/gs.svg +0 -1
- package/src/components/mobile/flags/gt.svg +0 -214
- package/src/components/mobile/flags/gu.svg +0 -1
- package/src/components/mobile/flags/gw.svg +0 -13
- package/src/components/mobile/flags/gy.svg +0 -7
- package/src/components/mobile/flags/hk.svg +0 -1
- package/src/components/mobile/flags/hm.svg +0 -1
- package/src/components/mobile/flags/hn.svg +0 -1
- package/src/components/mobile/flags/hr.svg +0 -1
- package/src/components/mobile/flags/ht.svg +0 -1
- package/src/components/mobile/flags/hu.svg +0 -1
- package/src/components/mobile/flags/id.svg +0 -1
- package/src/components/mobile/flags/ie.svg +0 -1
- package/src/components/mobile/flags/il.svg +0 -1
- package/src/components/mobile/flags/im.svg +0 -1
- package/src/components/mobile/flags/in.svg +0 -1
- package/src/components/mobile/flags/io.svg +0 -1
- package/src/components/mobile/flags/iq.svg +0 -1
- package/src/components/mobile/flags/ir.svg +0 -31
- package/src/components/mobile/flags/is.svg +0 -1
- package/src/components/mobile/flags/it.svg +0 -1
- package/src/components/mobile/flags/je.svg +0 -1
- package/src/components/mobile/flags/jm.svg +0 -1
- package/src/components/mobile/flags/jo.svg +0 -7
- package/src/components/mobile/flags/jp.svg +0 -4
- package/src/components/mobile/flags/ke.svg +0 -23
- package/src/components/mobile/flags/kg.svg +0 -1
- package/src/components/mobile/flags/kh.svg +0 -116
- package/src/components/mobile/flags/ki.svg +0 -1
- package/src/components/mobile/flags/km.svg +0 -13
- package/src/components/mobile/flags/kn.svg +0 -1
- package/src/components/mobile/flags/kp.svg +0 -16
- package/src/components/mobile/flags/kr.svg +0 -1
- package/src/components/mobile/flags/kw.svg +0 -6
- package/src/components/mobile/flags/ky.svg +0 -1
- package/src/components/mobile/flags/kz.svg +0 -37
- package/src/components/mobile/flags/la.svg +0 -1
- package/src/components/mobile/flags/lb.svg +0 -5
- package/src/components/mobile/flags/lc.svg +0 -6
- package/src/components/mobile/flags/li.svg +0 -56
- package/src/components/mobile/flags/lk.svg +0 -1
- package/src/components/mobile/flags/lr.svg +0 -15
- package/src/components/mobile/flags/ls.svg +0 -23
- package/src/components/mobile/flags/lt.svg +0 -1
- package/src/components/mobile/flags/lu.svg +0 -1
- package/src/components/mobile/flags/lv.svg +0 -1
- package/src/components/mobile/flags/ly.svg +0 -8
- package/src/components/mobile/flags/ma.svg +0 -1
- package/src/components/mobile/flags/mc.svg +0 -1
- package/src/components/mobile/flags/md.svg +0 -1
- package/src/components/mobile/flags/me.svg +0 -93
- package/src/components/mobile/flags/mf.svg +0 -1
- package/src/components/mobile/flags/mg.svg +0 -1
- package/src/components/mobile/flags/mh.svg +0 -1
- package/src/components/mobile/flags/mk.svg +0 -1
- package/src/components/mobile/flags/ml.svg +0 -5
- package/src/components/mobile/flags/mm.svg +0 -12
- package/src/components/mobile/flags/mn.svg +0 -1
- package/src/components/mobile/flags/mo.svg +0 -10
- package/src/components/mobile/flags/mp.svg +0 -1
- package/src/components/mobile/flags/mq.svg +0 -1
- package/src/components/mobile/flags/mr.svg +0 -1
- package/src/components/mobile/flags/ms.svg +0 -1
- package/src/components/mobile/flags/mt.svg +0 -1
- package/src/components/mobile/flags/mu.svg +0 -1
- package/src/components/mobile/flags/mv.svg +0 -1
- package/src/components/mobile/flags/mw.svg +0 -24
- package/src/components/mobile/flags/mx.svg +0 -1
- package/src/components/mobile/flags/my.svg +0 -1
- package/src/components/mobile/flags/mz.svg +0 -13
- package/src/components/mobile/flags/na.svg +0 -1
- package/src/components/mobile/flags/nc.svg +0 -1
- package/src/components/mobile/flags/ne.svg +0 -6
- package/src/components/mobile/flags/nf.svg +0 -5
- package/src/components/mobile/flags/ng.svg +0 -4
- package/src/components/mobile/flags/ni.svg +0 -161
- package/src/components/mobile/flags/nl.svg +0 -1
- package/src/components/mobile/flags/no.svg +0 -1
- package/src/components/mobile/flags/np.svg +0 -33
- package/src/components/mobile/flags/nr.svg +0 -1
- package/src/components/mobile/flags/nu.svg +0 -1
- package/src/components/mobile/flags/nz.svg +0 -1
- package/src/components/mobile/flags/om.svg +0 -1
- package/src/components/mobile/flags/pa.svg +0 -1
- package/src/components/mobile/flags/pe.svg +0 -320
- package/src/components/mobile/flags/pf.svg +0 -1
- package/src/components/mobile/flags/pg.svg +0 -13
- package/src/components/mobile/flags/ph.svg +0 -1
- package/src/components/mobile/flags/pk.svg +0 -1
- package/src/components/mobile/flags/pl.svg +0 -1
- package/src/components/mobile/flags/pm.svg +0 -1
- package/src/components/mobile/flags/pn.svg +0 -1
- package/src/components/mobile/flags/pr.svg +0 -1
- package/src/components/mobile/flags/ps.svg +0 -1
- package/src/components/mobile/flags/pt.svg +0 -1
- package/src/components/mobile/flags/pw.svg +0 -1
- package/src/components/mobile/flags/py.svg +0 -1
- package/src/components/mobile/flags/qa.svg +0 -1
- package/src/components/mobile/flags/re.svg +0 -1
- package/src/components/mobile/flags/ro.svg +0 -1
- package/src/components/mobile/flags/rs.svg +0 -1
- package/src/components/mobile/flags/ru.svg +0 -1
- package/src/components/mobile/flags/rw.svg +0 -13
- package/src/components/mobile/flags/sa.svg +0 -1
- package/src/components/mobile/flags/sb.svg +0 -1
- package/src/components/mobile/flags/sc.svg +0 -7
- package/src/components/mobile/flags/sd.svg +0 -6
- package/src/components/mobile/flags/se.svg +0 -5
- package/src/components/mobile/flags/sg.svg +0 -11
- package/src/components/mobile/flags/sh.svg +0 -1
- package/src/components/mobile/flags/si.svg +0 -1
- package/src/components/mobile/flags/sj.svg +0 -1
- package/src/components/mobile/flags/sk.svg +0 -1
- package/src/components/mobile/flags/sl.svg +0 -1
- package/src/components/mobile/flags/sm.svg +0 -1
- package/src/components/mobile/flags/sn.svg +0 -1
- package/src/components/mobile/flags/so.svg +0 -1
- package/src/components/mobile/flags/sr.svg +0 -1
- package/src/components/mobile/flags/ss.svg +0 -1
- package/src/components/mobile/flags/st.svg +0 -1
- package/src/components/mobile/flags/sv.svg +0 -1
- package/src/components/mobile/flags/sx.svg +0 -1
- package/src/components/mobile/flags/sy.svg +0 -1
- package/src/components/mobile/flags/sz.svg +0 -1
- package/src/components/mobile/flags/tc.svg +0 -1
- package/src/components/mobile/flags/td.svg +0 -1
- package/src/components/mobile/flags/tf.svg +0 -1
- package/src/components/mobile/flags/tg.svg +0 -1
- package/src/components/mobile/flags/th.svg +0 -1
- package/src/components/mobile/flags/tj.svg +0 -1
- package/src/components/mobile/flags/tk.svg +0 -1
- package/src/components/mobile/flags/tl.svg +0 -1
- package/src/components/mobile/flags/tm.svg +0 -1
- package/src/components/mobile/flags/tn.svg +0 -9
- package/src/components/mobile/flags/to.svg +0 -1
- package/src/components/mobile/flags/tr.svg +0 -1
- package/src/components/mobile/flags/tt.svg +0 -5
- package/src/components/mobile/flags/tv.svg +0 -1
- package/src/components/mobile/flags/tw.svg +0 -1
- package/src/components/mobile/flags/tz.svg +0 -1
- package/src/components/mobile/flags/ua.svg +0 -1
- package/src/components/mobile/flags/ug.svg +0 -1
- package/src/components/mobile/flags/um.svg +0 -1
- package/src/components/mobile/flags/us.svg +0 -1
- package/src/components/mobile/flags/uy.svg +0 -1
- package/src/components/mobile/flags/uz.svg +0 -1
- package/src/components/mobile/flags/va.svg +0 -1
- package/src/components/mobile/flags/vc.svg +0 -1
- package/src/components/mobile/flags/ve.svg +0 -1
- package/src/components/mobile/flags/vg.svg +0 -1
- package/src/components/mobile/flags/vi.svg +0 -1
- package/src/components/mobile/flags/vn.svg +0 -1
- package/src/components/mobile/flags/vu.svg +0 -1
- package/src/components/mobile/flags/wf.svg +0 -1
- package/src/components/mobile/flags/ws.svg +0 -1
- package/src/components/mobile/flags/xk.svg +0 -1
- package/src/components/mobile/flags/ye.svg +0 -1
- package/src/components/mobile/flags/yt.svg +0 -1
- package/src/components/mobile/flags/za.svg +0 -1
- package/src/components/mobile/flags/zm.svg +0 -1
- package/src/components/mobile/flags/zw.svg +0 -1
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
import { Component, computed, CUSTOM_ELEMENTS_SCHEMA, inject, input, signal } from "@angular/core";
|
|
2
|
-
import { BaseCtrl } from "../base-ctrl";
|
|
3
|
-
import { FormControl, NG_VALIDATORS, NG_VALUE_ACCESSOR, ReactiveFormsModule } from "@angular/forms";
|
|
4
|
-
import { NgClass, NgOptimizedImage } from "@angular/common";
|
|
5
|
-
import { toSignal } from "@angular/core/rxjs-interop";
|
|
6
|
-
import { CdkConnectedOverlay, CdkOverlayOrigin } from "@angular/cdk/overlay";
|
|
7
|
-
import { MatFormField, MatPrefix } from "@angular/material/form-field";
|
|
8
|
-
import { MatInput } from "@angular/material/input";
|
|
9
|
-
import { PhoneService } from "./phone.service";
|
|
10
|
-
import { COUNTRIES } from "./COUNTRIES";
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
import * as i1 from "@angular/forms";
|
|
13
|
-
export const DEFAULT_COUNTRY = {
|
|
14
|
-
name: "Saudi Arabia (المملكة العربية السعودية)",
|
|
15
|
-
code: "sa",
|
|
16
|
-
dailCode: "966",
|
|
17
|
-
priority: 0,
|
|
18
|
-
order: 1000,
|
|
19
|
-
placeholder: "512345678"
|
|
20
|
-
};
|
|
21
|
-
export class MobileControl extends BaseCtrl {
|
|
22
|
-
constructor() {
|
|
23
|
-
super(...arguments);
|
|
24
|
-
this.phoneService = inject(PhoneService);
|
|
25
|
-
this.isOpen = signal(false);
|
|
26
|
-
this.selectedCountry = signal(DEFAULT_COUNTRY);
|
|
27
|
-
this.preferredCountries = input(["sa"]);
|
|
28
|
-
this.searchInput = new FormControl("");
|
|
29
|
-
this.filteredCountries = computed(() => this.#searchInCountries());
|
|
30
|
-
this.#ctrlChanges = toSignal(this.ctrl.valueChanges);
|
|
31
|
-
this.#searchQuery = toSignal(this.searchInput.valueChanges);
|
|
32
|
-
}
|
|
33
|
-
#ctrlChanges;
|
|
34
|
-
#searchQuery;
|
|
35
|
-
writeValue(value) {
|
|
36
|
-
if (value) {
|
|
37
|
-
const mobileObject = this.phoneService.getPhoneNumberObject(value);
|
|
38
|
-
if (mobileObject) {
|
|
39
|
-
this.selectedCountry.set(mobileObject);
|
|
40
|
-
this.emitOnChangeEvent(this.selectedCountry());
|
|
41
|
-
}
|
|
42
|
-
this.ctrl.setValue(mobileObject?.nationalNumber);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
emit() {
|
|
46
|
-
if (this.#ctrlChanges()) {
|
|
47
|
-
const numberObject = this.phoneService.getPhoneNumberObject(`+${this.selectedCountry().dailCode}${this.#ctrlChanges()}`);
|
|
48
|
-
if (numberObject) {
|
|
49
|
-
this.selectedCountry.set(numberObject);
|
|
50
|
-
this.propagateValue(`+${numberObject.dailCode}${numberObject.nationalNumber}`);
|
|
51
|
-
this.emitOnChangeEvent(this.selectedCountry());
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
this.propagateValue(null);
|
|
56
|
-
this.emitOnChangeEvent(null);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
validate(control) {
|
|
60
|
-
if (!control.getRawValue()) {
|
|
61
|
-
return null;
|
|
62
|
-
}
|
|
63
|
-
let error = { invalidPhoneNumber: { accepted: this.selectedCountry().placeholder, input: control.getRawValue() } };
|
|
64
|
-
let isValid = this.phoneService.validate(control.getRawValue());
|
|
65
|
-
if (isValid) {
|
|
66
|
-
return null;
|
|
67
|
-
}
|
|
68
|
-
return error;
|
|
69
|
-
}
|
|
70
|
-
onInput(event) {
|
|
71
|
-
const allowedChars = /[0-9+\-()]/;
|
|
72
|
-
const allowedCtrlChars = /[axcv]/; // Allows copy-pasting
|
|
73
|
-
const allowedOtherKeys = [
|
|
74
|
-
"ArrowLeft",
|
|
75
|
-
"ArrowUp",
|
|
76
|
-
"ArrowRight",
|
|
77
|
-
"ArrowDown",
|
|
78
|
-
"Home",
|
|
79
|
-
"End",
|
|
80
|
-
"Insert",
|
|
81
|
-
"Delete",
|
|
82
|
-
"Backspace",
|
|
83
|
-
];
|
|
84
|
-
if (!allowedChars.test(event.key) && !(event.ctrlKey && allowedCtrlChars.test(event.key)) && !allowedOtherKeys.includes(event.key)) {
|
|
85
|
-
event.preventDefault();
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
onSelectCountry(country) {
|
|
89
|
-
this.selectedCountry.set(country);
|
|
90
|
-
this.searchInput.setValue("");
|
|
91
|
-
this.closeCountryCodeMenu();
|
|
92
|
-
this.propagateValue(`+${this.selectedCountry().dailCode}${this.#ctrlChanges()}`);
|
|
93
|
-
this.emitOnChangeEvent(`+${this.selectedCountry().dailCode}${this.#ctrlChanges()}`);
|
|
94
|
-
}
|
|
95
|
-
closeCountryCodeMenu() {
|
|
96
|
-
this.isOpen.set(false);
|
|
97
|
-
}
|
|
98
|
-
toggleCountryCodeMenu() {
|
|
99
|
-
this.isOpen.update((isOpen) => !isOpen);
|
|
100
|
-
}
|
|
101
|
-
#sortCountries() {
|
|
102
|
-
return COUNTRIES.map((country) => {
|
|
103
|
-
if (this.preferredCountries().includes(country.code)) {
|
|
104
|
-
country.order = country.priority + (-1 * (this.preferredCountries().indexOf(country.code) - this.preferredCountries().length)) * 100;
|
|
105
|
-
}
|
|
106
|
-
return country;
|
|
107
|
-
}).sort((a, b) => b.order - a.order);
|
|
108
|
-
}
|
|
109
|
-
#searchInCountries() {
|
|
110
|
-
if (this.#searchQuery()) {
|
|
111
|
-
return this.#sortCountries().filter((country) => {
|
|
112
|
-
return (country.code.toLowerCase().includes(this.#searchQuery())
|
|
113
|
-
|| country.name.toLowerCase().includes(this.#searchQuery())
|
|
114
|
-
|| country.dailCode.toLowerCase().includes(this.#searchQuery()));
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
|
-
return this.#sortCountries();
|
|
118
|
-
}
|
|
119
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: MobileControl, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
120
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: MobileControl, isStandalone: true, selector: "iss-ctrl-mobile", inputs: { preferredCountries: { classPropertyName: "preferredCountries", publicName: "preferredCountries", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
|
|
121
|
-
{ provide: NG_VALUE_ACCESSOR, useExisting: MobileControl, multi: true },
|
|
122
|
-
{ provide: NG_VALIDATORS, useExisting: MobileControl, multi: true }
|
|
123
|
-
], usesInheritance: true, ngImport: i0, template: "<mat-form-field cdkOverlayOrigin #trigger=\"cdkOverlayOrigin\">\r\n <div class=\"d-inline-flex align-items-center gap-1 country-flag\" matPrefix (click)=\"toggleCountryCodeMenu()\">\r\n <img ngSrc=\"./flags/{{selectedCountry().code}}.svg\" width=\"20\" height=\"20\" alt=\"\" class=\"country-flag--image\" [priority]=\"true\">\r\n <!--@if (separateDialCode()) {\r\n <div class=\"selected-dial-code\">+{{ selectedCountry.dialCode }}</div>\r\n }-->\r\n <ds-icon icon=\"arrow-down\" class=\"fs-12 fc-dark-gray\"></ds-icon>\r\n </div>\r\n <input\r\n matInput\r\n type=\"tel\"\r\n autocomplete=\"off\"\r\n (blur)=\"markAsTouched()\"\r\n (keydown)=\"onInput($event)\"\r\n (input)=\"emit()\"\r\n [formControl]=\"ctrl\"\r\n [disabled]=\"disabled()\"\r\n [placeholder]=\"selectedCountry().placeholder\"\r\n />\r\n</mat-form-field>\r\n\r\n\r\n<ng-template\r\n cdkConnectedOverlay\r\n [cdkConnectedOverlayHasBackdrop]=\"true\"\r\n (backdropClick)=\"closeCountryCodeMenu()\"\r\n [cdkConnectedOverlayGrowAfterOpen]=\"true\"\r\n [cdkConnectedOverlayOrigin]=\"trigger\"\r\n [cdkConnectedOverlayOpen]=\"isOpen()\"\r\n>\r\n <div class=\"country-dropdown bc-white box-shadow p-2\">\r\n <div class=\"search-container\">\r\n <mat-form-field>\r\n <input matInput id=\"country-search-box\" [formControl]=\"searchInput\" (click)=\"$event.stopPropagation()\"/>\r\n </mat-form-field>\r\n </div>\r\n <ul class=\"country-list\">\r\n @for (country of filteredCountries(); track $index) {\r\n <li\r\n #countryEl\r\n [ngClass]=\"country.order > 1 ? 'preferredCounty' : ''\"\r\n class=\"d-flex align-items-center gap-2 cursor-pointer p-2\"\r\n (click)=\"onSelectCountry(country)\"\r\n >\r\n @defer (on viewport(countryEl)) {\r\n <img ngSrc=\"./flags/{{country.code}}.svg\" width=\"20\" height=\"20\" alt=\"\" class=\"country-flag--image\">\r\n }\r\n <span class=\"fs-12 fc-black\">{{ country.name }}</span>\r\n <span class=\"fs-12 fc-dark-gray\">+{{ country.dailCode }}</span>\r\n </li>\r\n }\r\n </ul>\r\n </div>\r\n</ng-template>\r\n", styles: [".country-flag{border-inline-end:var(--input-border);padding-inline-end:.5rem;margin-inline-end:.5rem;cursor:pointer}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "placeholder", "placeholderConfig", "src", "srcset"] }], deferBlockDependencies: [() => [NgOptimizedImage]] }); }
|
|
124
|
-
}
|
|
125
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: MobileControl, decorators: [{
|
|
126
|
-
type: Component,
|
|
127
|
-
args: [{ selector: "iss-ctrl-mobile", standalone: true, imports: [
|
|
128
|
-
ReactiveFormsModule,
|
|
129
|
-
NgClass,
|
|
130
|
-
CdkConnectedOverlay,
|
|
131
|
-
CdkOverlayOrigin,
|
|
132
|
-
MatFormField,
|
|
133
|
-
MatInput,
|
|
134
|
-
MatPrefix,
|
|
135
|
-
NgOptimizedImage
|
|
136
|
-
], providers: [
|
|
137
|
-
{ provide: NG_VALUE_ACCESSOR, useExisting: MobileControl, multi: true },
|
|
138
|
-
{ provide: NG_VALIDATORS, useExisting: MobileControl, multi: true }
|
|
139
|
-
], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<mat-form-field cdkOverlayOrigin #trigger=\"cdkOverlayOrigin\">\r\n <div class=\"d-inline-flex align-items-center gap-1 country-flag\" matPrefix (click)=\"toggleCountryCodeMenu()\">\r\n <img ngSrc=\"./flags/{{selectedCountry().code}}.svg\" width=\"20\" height=\"20\" alt=\"\" class=\"country-flag--image\" [priority]=\"true\">\r\n <!--@if (separateDialCode()) {\r\n <div class=\"selected-dial-code\">+{{ selectedCountry.dialCode }}</div>\r\n }-->\r\n <ds-icon icon=\"arrow-down\" class=\"fs-12 fc-dark-gray\"></ds-icon>\r\n </div>\r\n <input\r\n matInput\r\n type=\"tel\"\r\n autocomplete=\"off\"\r\n (blur)=\"markAsTouched()\"\r\n (keydown)=\"onInput($event)\"\r\n (input)=\"emit()\"\r\n [formControl]=\"ctrl\"\r\n [disabled]=\"disabled()\"\r\n [placeholder]=\"selectedCountry().placeholder\"\r\n />\r\n</mat-form-field>\r\n\r\n\r\n<ng-template\r\n cdkConnectedOverlay\r\n [cdkConnectedOverlayHasBackdrop]=\"true\"\r\n (backdropClick)=\"closeCountryCodeMenu()\"\r\n [cdkConnectedOverlayGrowAfterOpen]=\"true\"\r\n [cdkConnectedOverlayOrigin]=\"trigger\"\r\n [cdkConnectedOverlayOpen]=\"isOpen()\"\r\n>\r\n <div class=\"country-dropdown bc-white box-shadow p-2\">\r\n <div class=\"search-container\">\r\n <mat-form-field>\r\n <input matInput id=\"country-search-box\" [formControl]=\"searchInput\" (click)=\"$event.stopPropagation()\"/>\r\n </mat-form-field>\r\n </div>\r\n <ul class=\"country-list\">\r\n @for (country of filteredCountries(); track $index) {\r\n <li\r\n #countryEl\r\n [ngClass]=\"country.order > 1 ? 'preferredCounty' : ''\"\r\n class=\"d-flex align-items-center gap-2 cursor-pointer p-2\"\r\n (click)=\"onSelectCountry(country)\"\r\n >\r\n @defer (on viewport(countryEl)) {\r\n <img ngSrc=\"./flags/{{country.code}}.svg\" width=\"20\" height=\"20\" alt=\"\" class=\"country-flag--image\">\r\n }\r\n <span class=\"fs-12 fc-black\">{{ country.name }}</span>\r\n <span class=\"fs-12 fc-dark-gray\">+{{ country.dailCode }}</span>\r\n </li>\r\n }\r\n </ul>\r\n </div>\r\n</ng-template>\r\n", styles: [".country-flag{border-inline-end:var(--input-border);padding-inline-end:.5rem;margin-inline-end:.5rem;cursor:pointer}\n"] }]
|
|
140
|
-
}] });
|
|
141
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9iaWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lzcy1jdHJsL3NyYy9jb21wb25lbnRzL21vYmlsZS9tb2JpbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXNzLWN0cmwvc3JjL2NvbXBvbmVudHMvbW9iaWxlL21vYmlsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUF1QixNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3RJLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDdEMsT0FBTyxFQUFrQixXQUFXLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLG1CQUFtQixFQUE4QixNQUFNLGdCQUFnQixDQUFDO0FBQ2hKLE9BQU8sRUFBQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUMxRCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDcEQsT0FBTyxFQUFDLG1CQUFtQixFQUFFLGdCQUFnQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDM0UsT0FBTyxFQUFDLFlBQVksRUFBRSxTQUFTLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNyRSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFakQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRTdDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxhQUFhLENBQUM7OztBQUd0QyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQVk7SUFDdEMsSUFBSSxFQUFFLHlDQUF5QztJQUMvQyxJQUFJLEVBQUUsSUFBSTtJQUNWLFFBQVEsRUFBRSxLQUFLO0lBQ2Ys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RU5UU19TQ0hFTUEsIGluamVjdCwgaW5wdXQsIElucHV0U2lnbmFsLCBTaWduYWwsIHNpZ25hbCwgV3JpdGFibGVTaWduYWx9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7QmFzZUN0cmx9IGZyb20gXCIuLi9iYXNlLWN0cmxcIjtcclxuaW1wb3J0IHtBYnN0cmFjdENvbnRyb2wsIEZvcm1Db250cm9sLCBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHtOZ0NsYXNzLCBOZ09wdGltaXplZEltYWdlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7dG9TaWduYWx9IGZyb20gXCJAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcFwiO1xyXG5pbXBvcnQge0Nka0Nvbm5lY3RlZE92ZXJsYXksIENka092ZXJsYXlPcmlnaW59IGZyb20gXCJAYW5ndWxhci9jZGsvb3ZlcmxheVwiO1xyXG5pbXBvcnQge01hdEZvcm1GaWVsZCwgTWF0UHJlZml4fSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZFwiO1xyXG5pbXBvcnQge01hdElucHV0fSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXRcIjtcclxuaW1wb3J0IHtDb3VudHJ5fSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlcy9jb3VudHJ5LmludGVyZmFjZVwiO1xyXG5pbXBvcnQge1Bob25lU2VydmljZX0gZnJvbSBcIi4vcGhvbmUuc2VydmljZVwiO1xyXG5pbXBvcnQge0lTTzJ9IGZyb20gXCIuLi8uLi9pbnRlcmZhY2VzL2lzbzIuaW50ZXJmYWNlXCI7XHJcbmltcG9ydCB7Q09VTlRSSUVTfSBmcm9tIFwiLi9DT1VOVFJJRVNcIjtcclxuaW1wb3J0IHtNb2JpbGV9IGZyb20gXCIuLi8uLi9pbnRlcmZhY2VzL21vYmlsZS5pbnRlcmZhY2VcIjtcclxuXHJcbmV4cG9ydCBjb25zdCBERUZBVUxUX0NPVU5UUlk6IENvdW50cnkgPSB7XHJcbiAgbmFtZTogXCJTYXVkaSBBcmFiaWEgKNin2YTZhdmF2YTZg9ipINin2YTYudix2KjZitipINin2YTYs9i52YjYr9mK2KkpXCIsXHJcbiAgY29kZTogXCJzYVwiLFxyXG4gIGRhaWxDb2RlOiBcIjk2NlwiLFxyXG4gIHByaW9yaXR5OiAwLFxyXG4gIG9yZGVyOiAxMDAwLFxyXG4gIHBsYWNlaG9sZGVyOiBcIjUxMjM0NTY3OFwiXHJcbn07XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJpc3MtY3RybC1tb2JpbGVcIixcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBOZ0NsYXNzLFxyXG4gICAgQ2RrQ29ubmVjdGVkT3ZlcmxheSxcclxuICAgIENka092ZXJsYXlPcmlnaW4sXHJcbiAgICBNYXRGb3JtRmllbGQsXHJcbiAgICBNYXRJbnB1dCxcclxuICAgIE1hdFByZWZpeCxcclxuICAgIE5nT3B0aW1pemVkSW1hZ2VcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vbW9iaWxlLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmw6IFwiLi9tb2JpbGUuY29tcG9uZW50LnNjc3NcIixcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUiwgdXNlRXhpc3Rpbmc6IE1vYmlsZUNvbnRyb2wsIG11bHRpOiB0cnVlfSxcclxuICAgIHtwcm92aWRlOiBOR19WQUxJREFUT1JTLCB1c2VFeGlzdGluZzogTW9iaWxlQ29udHJvbCwgbXVsdGk6IHRydWV9XHJcbiAgXSxcclxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNb2JpbGVDb250cm9sIGV4dGVuZHMgQmFzZUN0cmwgaW1wbGVtZW50cyBWYWxpZGF0b3Ige1xyXG4gIHBob25lU2VydmljZTogUGhvbmVTZXJ2aWNlID0gaW5qZWN0KFBob25lU2VydmljZSk7XHJcbiAgaXNPcGVuOiBXcml0YWJsZVNpZ25hbDxib29sZWFuPiA9IHNpZ25hbChmYWxzZSk7XHJcbiAgc2VsZWN0ZWRDb3VudHJ5OiBXcml0YWJsZVNpZ25hbDxDb3VudHJ5PiA9IHNpZ25hbDxDb3VudHJ5PihERUZBVUxUX0NPVU5UUlkpO1xyXG4gIHByZWZlcnJlZENvdW50cmllczogSW5wdXRTaWduYWw8SVNPMltdPiA9IGlucHV0PElTTzJbXT4oW1wic2FcIl0pO1xyXG4gIHNlYXJjaElucHV0OiBGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbChcIlwiKTtcclxuICBmaWx0ZXJlZENvdW50cmllczogU2lnbmFsPENvdW50cnlbXT4gPSBjb21wdXRlZCgoKSA9PiB0aGlzLiNzZWFyY2hJbkNvdW50cmllcygpKTtcclxuICAjY3RybENoYW5nZXM6IFNpZ25hbDxzdHJpbmc+ID0gdG9TaWduYWwodGhpcy5jdHJsLnZhbHVlQ2hhbmdlcyk7XHJcbiAgI3NlYXJjaFF1ZXJ5OiBTaWduYWw8c3RyaW5nPiA9IHRvU2lnbmFsKHRoaXMuc2VhcmNoSW5wdXQudmFsdWVDaGFuZ2VzKTtcclxuXHJcbiAgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICBpZiAodmFsdWUpIHtcclxuICAgICAgY29uc3QgbW9iaWxlT2JqZWN0ID0gdGhpcy5waG9uZVNlcnZpY2UuZ2V0UGhvbmVOdW1iZXJPYmplY3QodmFsdWUpO1xyXG4gICAgICBpZiAobW9iaWxlT2JqZWN0KSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZENvdW50cnkuc2V0KG1vYmlsZU9iamVjdCk7XHJcbiAgICAgICAgdGhpcy5lbWl0T25DaGFuZ2VFdmVudCh0aGlzLnNlbGVjdGVkQ291bnRyeSgpKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmN0cmwuc2V0VmFsdWUobW9iaWxlT2JqZWN0Py5uYXRpb25hbE51bWJlcik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBlbWl0KCkge1xyXG4gICAgaWYgKHRoaXMuI2N0cmxDaGFuZ2VzKCkpIHtcclxuICAgICAgY29uc3QgbnVtYmVyT2JqZWN0OiBNb2JpbGUgfCB1bmRlZmluZWQgPSB0aGlzLnBob25lU2VydmljZS5nZXRQaG9uZU51bWJlck9iamVjdChgKyR7dGhpcy5zZWxlY3RlZENvdW50cnkoKS5kYWlsQ29kZX0ke3RoaXMuI2N0cmxDaGFuZ2VzKCl9YCk7XHJcbiAgICAgIGlmIChudW1iZXJPYmplY3QpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkQ291bnRyeS5zZXQobnVtYmVyT2JqZWN0KTtcclxuICAgICAgICB0aGlzLnByb3BhZ2F0ZVZhbHVlKGArJHtudW1iZXJPYmplY3QuZGFpbENvZGV9JHtudW1iZXJPYmplY3QubmF0aW9uYWxOdW1iZXJ9YCk7XHJcbiAgICAgICAgdGhpcy5lbWl0T25DaGFuZ2VFdmVudCh0aGlzLnNlbGVjdGVkQ291bnRyeSgpKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5wcm9wYWdhdGVWYWx1ZShudWxsKTtcclxuICAgICAgdGhpcy5lbWl0T25DaGFuZ2VFdmVudChudWxsKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcclxuICAgIGlmICghY29udHJvbC5nZXRSYXdWYWx1ZSgpKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBlcnJvcjogYW55ID0ge2ludmFsaWRQaG9uZU51bWJlcjoge2FjY2VwdGVkOiB0aGlzLnNlbGVjdGVkQ291bnRyeSgpLnBsYWNlaG9sZGVyLCBpbnB1dDogY29udHJvbC5nZXRSYXdWYWx1ZSgpfX07XHJcbiAgICBsZXQgaXNWYWxpZDogYm9vbGVhbiA9IHRoaXMucGhvbmVTZXJ2aWNlLnZhbGlkYXRlKGNvbnRyb2wuZ2V0UmF3VmFsdWUoKSk7XHJcblxyXG4gICAgaWYgKGlzVmFsaWQpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGVycm9yO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIG9uSW5wdXQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIGNvbnN0IGFsbG93ZWRDaGFycyA9IC9bMC05K1xcLSgpXS87XHJcbiAgICBjb25zdCBhbGxvd2VkQ3RybENoYXJzID0gL1theGN2XS87IC8vIEFsbG93cyBjb3B5LXBhc3RpbmdcclxuICAgIGNvbnN0IGFsbG93ZWRPdGhlcktleXMgPSBbXHJcbiAgICAgIFwiQXJyb3dMZWZ0XCIsXHJcbiAgICAgIFwiQXJyb3dVcFwiLFxyXG4gICAgICBcIkFycm93UmlnaHRcIixcclxuICAgICAgXCJBcnJvd0Rvd25cIixcclxuICAgICAgXCJIb21lXCIsXHJcbiAgICAgIFwiRW5kXCIsXHJcbiAgICAgIFwiSW5zZXJ0XCIsXHJcbiAgICAgIFwiRGVsZXRlXCIsXHJcbiAgICAgIFwiQmFja3NwYWNlXCIsXHJcbiAgICBdO1xyXG5cclxuICAgIGlmICghYWxsb3dlZENoYXJzLnRlc3QoZXZlbnQua2V5KSAmJiAhKGV2ZW50LmN0cmxLZXkgJiYgYWxsb3dlZEN0cmxDaGFycy50ZXN0KGV2ZW50LmtleSkpICYmICFhbGxvd2VkT3RoZXJLZXlzLmluY2x1ZGVzKGV2ZW50LmtleSkpIHtcclxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBvblNlbGVjdENvdW50cnkoY291bnRyeTogQ291bnRyeSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZENvdW50cnkuc2V0KGNvdW50cnkpO1xyXG4gICAgdGhpcy5zZWFyY2hJbnB1dC5zZXRWYWx1ZShcIlwiKTtcclxuICAgIHRoaXMuY2xvc2VDb3VudHJ5Q29kZU1lbnUoKTtcclxuICAgIHRoaXMucHJvcGFnYXRlVmFsdWUoYCske3RoaXMuc2VsZWN0ZWRDb3VudHJ5KCkuZGFpbENvZGV9JHt0aGlzLiNjdHJsQ2hhbmdlcygpfWApO1xyXG4gICAgdGhpcy5lbWl0T25DaGFuZ2VFdmVudChgKyR7dGhpcy5zZWxlY3RlZENvdW50cnkoKS5kYWlsQ29kZX0ke3RoaXMuI2N0cmxDaGFuZ2VzKCl9YCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgY2xvc2VDb3VudHJ5Q29kZU1lbnUoKSB7XHJcbiAgICB0aGlzLmlzT3Blbi5zZXQoZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHRvZ2dsZUNvdW50cnlDb2RlTWVudSgpIHtcclxuICAgIHRoaXMuaXNPcGVuLnVwZGF0ZSgoaXNPcGVuOiBib29sZWFuKSA9PiAhaXNPcGVuKTtcclxuICB9XHJcblxyXG4gICNzb3J0Q291bnRyaWVzKCkge1xyXG4gICAgcmV0dXJuIENPVU5UUklFUy5tYXAoKGNvdW50cnk6IENvdW50cnkpID0+IHtcclxuICAgICAgaWYgKHRoaXMucHJlZmVycmVkQ291bnRyaWVzKCkuaW5jbHVkZXMoY291bnRyeS5jb2RlKSkge1xyXG4gICAgICAgIGNvdW50cnkub3JkZXIgPSBjb3VudHJ5LnByaW9yaXR5ICsgKC0xICogKHRoaXMucHJlZmVycmVkQ291bnRyaWVzKCkuaW5kZXhPZihjb3VudHJ5LmNvZGUpIC0gdGhpcy5wcmVmZXJyZWRDb3VudHJpZXMoKS5sZW5ndGgpKSAqIDEwMDtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gY291bnRyeTtcclxuICAgIH0pLnNvcnQoKGEsIGIpID0+IGIub3JkZXIgLSBhLm9yZGVyKTtcclxuICB9XHJcblxyXG4gICNzZWFyY2hJbkNvdW50cmllcygpOiBDb3VudHJ5W10ge1xyXG4gICAgaWYgKHRoaXMuI3NlYXJjaFF1ZXJ5KCkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuI3NvcnRDb3VudHJpZXMoKS5maWx0ZXIoKGNvdW50cnk6IENvdW50cnkpID0+IHtcclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgY291bnRyeS5jb2RlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy4jc2VhcmNoUXVlcnkoKSlcclxuICAgICAgICAgIHx8IGNvdW50cnkubmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRoaXMuI3NlYXJjaFF1ZXJ5KCkpXHJcbiAgICAgICAgICB8fCBjb3VudHJ5LmRhaWxDb2RlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy4jc2VhcmNoUXVlcnkoKSlcclxuICAgICAgICApO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLiNzb3J0Q291bnRyaWVzKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxtYXQtZm9ybS1maWVsZCBjZGtPdmVybGF5T3JpZ2luICN0cmlnZ2VyPVwiY2RrT3ZlcmxheU9yaWdpblwiPlxyXG4gIDxkaXYgY2xhc3M9XCJkLWlubGluZS1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMSBjb3VudHJ5LWZsYWdcIiBtYXRQcmVmaXggKGNsaWNrKT1cInRvZ2dsZUNvdW50cnlDb2RlTWVudSgpXCI+XHJcbiAgICA8aW1nIG5nU3JjPVwiLi9mbGFncy97e3NlbGVjdGVkQ291bnRyeSgpLmNvZGV9fS5zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiBhbHQ9XCJcIiBjbGFzcz1cImNvdW50cnktZmxhZy0taW1hZ2VcIiBbcHJpb3JpdHldPVwidHJ1ZVwiPlxyXG4gICAgPCEtLUBpZiAoc2VwYXJhdGVEaWFsQ29kZSgpKSB7XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3RlZC1kaWFsLWNvZGVcIj4re3sgc2VsZWN0ZWRDb3VudHJ5LmRpYWxDb2RlIH19PC9kaXY+XHJcbiAgICB9LS0+XHJcbiAgICA8ZHMtaWNvbiBpY29uPVwiYXJyb3ctZG93blwiIGNsYXNzPVwiZnMtMTIgZmMtZGFyay1ncmF5XCI+PC9kcy1pY29uPlxyXG4gIDwvZGl2PlxyXG4gIDxpbnB1dFxyXG4gICAgbWF0SW5wdXRcclxuICAgIHR5cGU9XCJ0ZWxcIlxyXG4gICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcclxuICAgIChibHVyKT1cIm1hcmtBc1RvdWNoZWQoKVwiXHJcbiAgICAoa2V5ZG93bik9XCJvbklucHV0KCRldmVudClcIlxyXG4gICAgKGlucHV0KT1cImVtaXQoKVwiXHJcbiAgICBbZm9ybUNvbnRyb2xdPVwiY3RybFwiXHJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiXHJcbiAgICBbcGxhY2Vob2xkZXJdPVwic2VsZWN0ZWRDb3VudHJ5KCkucGxhY2Vob2xkZXJcIlxyXG4gIC8+XHJcbjwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG5cclxuPG5nLXRlbXBsYXRlXHJcbiAgY2RrQ29ubmVjdGVkT3ZlcmxheVxyXG4gIFtjZGtDb25uZWN0ZWRPdmVybGF5SGFzQmFja2Ryb3BdPVwidHJ1ZVwiXHJcbiAgKGJhY2tkcm9wQ2xpY2spPVwiY2xvc2VDb3VudHJ5Q29kZU1lbnUoKVwiXHJcbiAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlHcm93QWZ0ZXJPcGVuXT1cInRydWVcIlxyXG4gIFtjZGtDb25uZWN0ZWRPdmVybGF5T3JpZ2luXT1cInRyaWdnZXJcIlxyXG4gIFtjZGtDb25uZWN0ZWRPdmVybGF5T3Blbl09XCJpc09wZW4oKVwiXHJcbj5cclxuICA8ZGl2IGNsYXNzPVwiY291bnRyeS1kcm9wZG93biBiYy13aGl0ZSBib3gtc2hhZG93IHAtMlwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInNlYXJjaC1jb250YWluZXJcIj5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCBpZD1cImNvdW50cnktc2VhcmNoLWJveFwiIFtmb3JtQ29udHJvbF09XCJzZWFyY2hJbnB1dFwiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIi8+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8L2Rpdj5cclxuICAgIDx1bCBjbGFzcz1cImNvdW50cnktbGlzdFwiPlxyXG4gICAgICBAZm9yIChjb3VudHJ5IG9mIGZpbHRlcmVkQ291bnRyaWVzKCk7IHRyYWNrICRpbmRleCkge1xyXG4gICAgICAgIDxsaVxyXG4gICAgICAgICAgI2NvdW50cnlFbFxyXG4gICAgICAgICAgW25nQ2xhc3NdPVwiY291bnRyeS5vcmRlciA+IDEgPyAncHJlZmVycmVkQ291bnR5JyAgOiAnJ1wiXHJcbiAgICAgICAgICBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTIgY3Vyc29yLXBvaW50ZXIgcC0yXCJcclxuICAgICAgICAgIChjbGljayk9XCJvblNlbGVjdENvdW50cnkoY291bnRyeSlcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIEBkZWZlciAob24gdmlld3BvcnQoY291bnRyeUVsKSkge1xyXG4gICAgICAgICAgICA8aW1nIG5nU3JjPVwiLi9mbGFncy97e2NvdW50cnkuY29kZX19LnN2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIGFsdD1cIlwiIGNsYXNzPVwiY291bnRyeS1mbGFnLS1pbWFnZVwiPlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJmcy0xMiBmYy1ibGFja1wiPnt7IGNvdW50cnkubmFtZSB9fTwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnMtMTIgZmMtZGFyay1ncmF5XCI+K3t7IGNvdW50cnkuZGFpbENvZGUgfX08L3NwYW4+XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgfVxyXG4gICAgPC91bD5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
import { Injectable } from "@angular/core";
|
|
2
|
-
import { PhoneNumberFormat, PhoneNumberUtil } from "google-libphonenumber";
|
|
3
|
-
import { COUNTRIES } from "./COUNTRIES";
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class PhoneService {
|
|
6
|
-
#phoneUtil = PhoneNumberUtil.getInstance();
|
|
7
|
-
parse(phoneNumber, countryCode) {
|
|
8
|
-
let number = undefined;
|
|
9
|
-
try {
|
|
10
|
-
number = this.#phoneUtil.parse(phoneNumber, countryCode);
|
|
11
|
-
}
|
|
12
|
-
catch (e) { }
|
|
13
|
-
return number;
|
|
14
|
-
}
|
|
15
|
-
getPhoneNumberObject(number) {
|
|
16
|
-
const parsedNumber = this.parse(number);
|
|
17
|
-
if (parsedNumber) {
|
|
18
|
-
const dailCode = this.#getCountryDailCode(parsedNumber);
|
|
19
|
-
const code = this.getCountryIsoCode(dailCode, parsedNumber);
|
|
20
|
-
const nationalNumber = parsedNumber.getNationalNumberOrDefault().toString();
|
|
21
|
-
const internationalNumber = this.format(number, code, PhoneNumberFormat.E164);
|
|
22
|
-
const placeholder = this.getPlaceholder(code);
|
|
23
|
-
const name = this.getCountryByDailCode(dailCode, parsedNumber)?.name ?? "";
|
|
24
|
-
return { dailCode, code, nationalNumber, internationalNumber, placeholder, name, priority: 0, order: 0 };
|
|
25
|
-
}
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
format(phoneNumber, countryCode, numberFormat) {
|
|
29
|
-
const number = this.parse(phoneNumber, countryCode);
|
|
30
|
-
if (number) {
|
|
31
|
-
return this.#phoneUtil.format(number, numberFormat);
|
|
32
|
-
}
|
|
33
|
-
return "";
|
|
34
|
-
}
|
|
35
|
-
validate(number) {
|
|
36
|
-
let isValid;
|
|
37
|
-
try {
|
|
38
|
-
// 1 for mobile. for more https://libphonenumbers.js.org/docs/getNumberType/
|
|
39
|
-
if (this.#phoneUtil.getNumberType(this.#phoneUtil.parseAndKeepRawInput(number)) !== 1) {
|
|
40
|
-
isValid = false;
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
isValid = this.#phoneUtil.isValidNumber(this.#phoneUtil.parseAndKeepRawInput(number));
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
catch (e) {
|
|
47
|
-
isValid = false;
|
|
48
|
-
}
|
|
49
|
-
return isValid;
|
|
50
|
-
}
|
|
51
|
-
getPlaceholder(countryCode) {
|
|
52
|
-
// @ts-ignore
|
|
53
|
-
return this.#phoneUtil.getMetadataForRegion(countryCode).values_[3][6];
|
|
54
|
-
}
|
|
55
|
-
getCountryIsoCode(dailCode, number) {
|
|
56
|
-
return this.getCountryByDailCode(dailCode, number)?.code ?? "";
|
|
57
|
-
}
|
|
58
|
-
getCountryByDailCode(dailCode, number) {
|
|
59
|
-
// Will use this to match area code from the first numbers
|
|
60
|
-
const rawNumber = this.#getPhoneNumberValues(number)["2"].toString();
|
|
61
|
-
// List of all countries with dailCode (can be more than one. e.x. US, CA, DO, PR all have +1 dailCode)
|
|
62
|
-
const countries = COUNTRIES.filter((c) => c.dailCode === dailCode?.toString());
|
|
63
|
-
// Main country is the country, which has no areaCodes specified in country-code.ts file.
|
|
64
|
-
const mainCountry = countries.find((c) => c.areaCodes === undefined);
|
|
65
|
-
// Secondary countries are all countries, which have areaCodes specified in country-code.ts file.
|
|
66
|
-
const secondaryCountries = countries.filter((c) => c.areaCodes !== undefined);
|
|
67
|
-
let matchedCountry = mainCountry ? mainCountry : undefined;
|
|
68
|
-
/*
|
|
69
|
-
Iterate over each secondary country and check if nationalNumber starts with any of areaCodes available.
|
|
70
|
-
If no matches found, fallback to the main country.
|
|
71
|
-
*/
|
|
72
|
-
secondaryCountries.forEach((country) => {
|
|
73
|
-
if (country && country.areaCodes) {
|
|
74
|
-
country.areaCodes.forEach((areaCode) => {
|
|
75
|
-
if (rawNumber.startsWith(areaCode)) {
|
|
76
|
-
matchedCountry = country;
|
|
77
|
-
}
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
|
-
return matchedCountry;
|
|
82
|
-
}
|
|
83
|
-
#getCountryDailCode(number) {
|
|
84
|
-
return this.#getPhoneNumberValues(number)?.["1"].toString() ?? "";
|
|
85
|
-
}
|
|
86
|
-
#getPhoneNumberValues(number) {
|
|
87
|
-
// @ts-ignore
|
|
88
|
-
return number?.["values_"];
|
|
89
|
-
}
|
|
90
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: PhoneService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
91
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: PhoneService, providedIn: "root" }); }
|
|
92
|
-
}
|
|
93
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: PhoneService, decorators: [{
|
|
94
|
-
type: Injectable,
|
|
95
|
-
args: [{
|
|
96
|
-
providedIn: "root"
|
|
97
|
-
}]
|
|
98
|
-
}] });
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lzcy1jdHJsL3NyYy9jb21wb25lbnRzL21vYmlsZS9waG9uZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFjLGlCQUFpQixFQUFFLGVBQWUsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3RGLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxhQUFhLENBQUM7O0FBT3RDLE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLFVBQVUsR0FBb0IsZUFBZSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBRTVELEtBQUssQ0FBQyxXQUFtQixFQUFFLFdBQWtCO1FBQzNDLElBQUksTUFBTSxHQUE0QixTQUFTLENBQUM7UUFDaEQsSUFBSSxDQUFDO1lBQ0gsTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUMzRCxDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFBLENBQUM7UUFDZCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsb0JBQW9CLENBQUMsTUFBYztRQUNqQyxNQUFNLFlBQVksR0FBNEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqRSxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2pCLE1BQU0sUUFBUSxHQUFXLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNoRSxNQUFNLElBQUksR0FBUyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBUyxDQUFDO1lBQzFFLE1BQU0sY0FBYyxHQUFXLFlBQVksQ0FBQywwQkFBMEIsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3BGLE1BQU0sbUJB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LENBQUMsQ0FBQztRQUNsRyxJQUFJLGNBQWMsR0FBd0IsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUVoRjs7O1VBR0U7UUFDRixrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNyQyxJQUFJLE9BQU8sSUFBSSxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ2pDLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7b0JBQ3JDLElBQUksU0FBUyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO3dCQUNuQyxjQUFjLEdBQUcsT0FBTyxDQUFDO29CQUMzQixDQUFDO2dCQUNILENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxjQUFjLENBQUM7SUFDeEIsQ0FBQztJQUVELG1CQUFtQixDQUFDLE1BQW1CO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ3BFLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxNQUFtQjtRQUN2QyxhQUFhO1FBQ2IsT0FBTyxNQUFNLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM3QixDQUFDOzhHQS9GVSxZQUFZO2tIQUFaLFlBQVksY0FGWCxNQUFNOzsyRkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtJU08yfSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlcy9pc28yLmludGVyZmFjZVwiO1xyXG5pbXBvcnQge1Bob25lTnVtYmVyLCBQaG9uZU51bWJlckZvcm1hdCwgUGhvbmVOdW1iZXJVdGlsfSBmcm9tIFwiZ29vZ2xlLWxpYnBob25lbnVtYmVyXCI7XHJcbmltcG9ydCB7Q09VTlRSSUVTfSBmcm9tIFwiLi9DT1VOVFJJRVNcIjtcclxuaW1wb3J0IHtDb3VudHJ5fSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlcy9jb3VudHJ5LmludGVyZmFjZVwiO1xyXG5pbXBvcnQge01vYmlsZX0gZnJvbSBcIi4uLy4uL2ludGVyZmFjZXMvbW9iaWxlLmludGVyZmFjZVwiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46IFwicm9vdFwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQaG9uZVNlcnZpY2Uge1xyXG4gICNwaG9uZVV0aWw6IFBob25lTnVtYmVyVXRpbCA9IFBob25lTnVtYmVyVXRpbC5nZXRJbnN0YW5jZSgpO1xyXG5cclxuICBwYXJzZShwaG9uZU51bWJlcjogc3RyaW5nLCBjb3VudHJ5Q29kZT86IElTTzIpOiBQaG9uZU51bWJlciB8IHVuZGVmaW5lZCB7XHJcbiAgICBsZXQgbnVtYmVyOiBQaG9uZU51bWJlciB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcclxuICAgIHRyeSB7XHJcbiAgICAgIG51bWJlciA9IHRoaXMuI3Bob25lVXRpbC5wYXJzZShwaG9uZU51bWJlciwgY291bnRyeUNvZGUpO1xyXG4gICAgfSBjYXRjaCAoZSkge31cclxuICAgIHJldHVybiBudW1iZXI7XHJcbiAgfVxyXG5cclxuICBnZXRQaG9uZU51bWJlck9iamVjdChudW1iZXI6IHN0cmluZyk6IE1vYmlsZSB8IHVuZGVmaW5lZCB7XHJcbiAgICBjb25zdCBwYXJzZWROdW1iZXI6IFBob25lTnVtYmVyIHwgdW5kZWZpbmVkID0gdGhpcy5wYXJzZShudW1iZXIpO1xyXG4gICAgaWYgKHBhcnNlZE51bWJlcikge1xyXG4gICAgICBjb25zdCBkYWlsQ29kZTogc3RyaW5nID0gdGhpcy4jZ2V0Q291bnRyeURhaWxDb2RlKHBhcnNlZE51bWJlcik7XHJcbiAgICAgIGNvbnN0IGNvZGU6IElTTzIgPSB0aGlzLmdldENvdW50cnlJc29Db2RlKGRhaWxDb2RlLCBwYXJzZWROdW1iZXIpIGFzIElTTzI7XHJcbiAgICAgIGNvbnN0IG5hdGlvbmFsTnVtYmVyOiBzdHJpbmcgPSBwYXJzZWROdW1iZXIuZ2V0TmF0aW9uYWxOdW1iZXJPckRlZmF1bHQoKS50b1N0cmluZygpO1xyXG4gICAgICBjb25zdCBpbnRlcm5hdGlvbmFsTnVtYmVyOiBzdHJpbmcgPSB0aGlzLmZvcm1hdChudW1iZXIsIGNvZGUsIFBob25lTnVtYmVyRm9ybWF0LkUxNjQpO1xyXG4gICAgICBjb25zdCBwbGFjZWhvbGRlciA9IHRoaXMuZ2V0UGxhY2Vob2xkZXIoY29kZSk7XHJcbiAgICAgIGNvbnN0IG5hbWU6IHN0cmluZyA9IHRoaXMuZ2V0Q291bnRyeUJ5RGFpbENvZGUoZGFpbENvZGUsIHBhcnNlZE51bWJlcik/Lm5hbWUgPz8gXCJcIjtcclxuICAgICAgcmV0dXJuIHtkYWlsQ29kZSwgY29kZSwgbmF0aW9uYWxOdW1iZXIsIGludGVybmF0aW9uYWxOdW1iZXIsIHBsYWNlaG9sZGVyLCBuYW1lLCBwcmlvcml0eTogMCwgb3JkZXI6IDB9O1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybjtcclxuICB9XHJcblxyXG4gIGZvcm1hdChwaG9uZU51bWJlcjogc3RyaW5nLCBjb3VudHJ5Q29kZTogSVNPMiwgbnVtYmVyRm9ybWF0OiBQaG9uZU51bWJlckZvcm1hdCk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBudW1iZXIgPSB0aGlzLnBhcnNlKHBob25lTnVtYmVyLCBjb3VudHJ5Q29kZSk7XHJcblxyXG4gICAgaWYgKG51bWJlcikge1xyXG4gICAgICByZXR1cm4gdGhpcy4jcGhvbmVVdGlsLmZvcm1hdChudW1iZXIsIG51bWJlckZvcm1hdCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gXCJcIjtcclxuICB9XHJcblxyXG4gIHZhbGlkYXRlKG51bWJlcjogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICBsZXQgaXNWYWxpZDogYm9vbGVhbjtcclxuICAgIHRyeSB7XHJcbiAgICAgIC8vIDEgZm9yIG1vYmlsZS4gZm9yIG1vcmUgaHR0cHM6Ly9saWJwaG9uZW51bWJlcnMuanMub3JnL2RvY3MvZ2V0TnVtYmVyVHlwZS9cclxuICAgICAgaWYgKHRoaXMuI3Bob25lVXRpbC5nZXROdW1iZXJUeXBlKHRoaXMuI3Bob25lVXRpbC5wYXJzZUFuZEtlZXBSYXdJbnB1dChudW1iZXIpKSAhPT0gMSkge1xyXG4gICAgICAgIGlzVmFsaWQgPSBmYWxzZTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpc1ZhbGlkID0gdGhpcy4jcGhvbmVVdGlsLmlzVmFsaWROdW1iZXIodGhpcy4jcGhvbmVVdGlsLnBhcnNlQW5kS2VlcFJhd0lucHV0KG51bWJlcikpO1xyXG4gICAgICB9XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIGlzVmFsaWQgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gaXNWYWxpZDtcclxuICB9XHJcblxyXG4gIGdldFBsYWNlaG9sZGVyKGNvdW50cnlDb2RlOiBJU08yKSB7XHJcbiAgICAvLyBAdHMtaWdub3JlXHJcbiAgICByZXR1cm4gdGhpcy4jcGhvbmVVdGlsLmdldE1ldGFkYXRhRm9yUmVnaW9uKGNvdW50cnlDb2RlKS52YWx1ZXNfWzNdWzZdO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q291bnRyeUlzb0NvZGUoZGFpbENvZGU6IHN0cmluZywgbnVtYmVyOiBQaG9uZU51bWJlcik6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRDb3VudHJ5QnlEYWlsQ29kZShkYWlsQ29kZSwgbnVtYmVyKT8uY29kZSA/PyBcIlwiO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q291bnRyeUJ5RGFpbENvZGUoZGFpbENvZGU6IHN0cmluZyB8IHVuZGVmaW5lZCwgbnVtYmVyOiBQaG9uZU51bWJlcik6IENvdW50cnkgfCB1bmRlZmluZWQge1xyXG4gICAgLy8gV2lsbCB1c2UgdGhpcyB0byBtYXRjaCBhcmVhIGNvZGUgZnJvbSB0aGUgZmlyc3QgbnVtYmVyc1xyXG4gICAgY29uc3QgcmF3TnVtYmVyID0gdGhpcy4jZ2V0UGhvbmVOdW1iZXJWYWx1ZXMobnVtYmVyKVtcIjJcIl0udG9TdHJpbmcoKTtcclxuICAgIC8vIExpc3Qgb2YgYWxsIGNvdW50cmllcyB3aXRoIGRhaWxDb2RlIChjYW4gYmUgbW9yZSB0aGFuIG9uZS4gZS54LiBVUywgQ0EsIERPLCBQUiBhbGwgaGF2ZSArMSBkYWlsQ29kZSlcclxuICAgIGNvbnN0IGNvdW50cmllczogQ291bnRyeVtdID0gQ09VTlRSSUVTLmZpbHRlcigoYzogQ291bnRyeSkgPT4gYy5kYWlsQ29kZSA9PT0gZGFpbENvZGU/LnRvU3RyaW5nKCkpO1xyXG4gICAgLy8gTWFpbiBjb3VudHJ5IGlzIHRoZSBjb3VudHJ5LCB3aGljaCBoYXMgbm8gYXJlYUNvZGVzIHNwZWNpZmllZCBpbiBjb3VudHJ5LWNvZGUudHMgZmlsZS5cclxuICAgIGNvbnN0IG1haW5Db3VudHJ5OiBDb3VudHJ5IHwgdW5kZWZpbmVkID0gY291bnRyaWVzLmZpbmQoKGM6IENvdW50cnkpID0+IGMuYXJlYUNvZGVzID09PSB1bmRlZmluZWQpO1xyXG4gICAgLy8gU2Vjb25kYXJ5IGNvdW50cmllcyBhcmUgYWxsIGNvdW50cmllcywgd2hpY2ggaGF2ZSBhcmVhQ29kZXMgc3BlY2lmaWVkIGluIGNvdW50cnktY29kZS50cyBmaWxlLlxyXG4gICAgY29uc3Qgc2Vjb25kYXJ5Q291bnRyaWVzOiBDb3VudHJ5W10gPSBjb3VudHJpZXMuZmlsdGVyKChjOiBDb3VudHJ5KSA9PiBjLmFyZWFDb2RlcyAhPT0gdW5kZWZpbmVkKTtcclxuICAgIGxldCBtYXRjaGVkQ291bnRyeTogQ291bnRyeSB8IHVuZGVmaW5lZCA9IG1haW5Db3VudHJ5ID8gbWFpbkNvdW50cnkgOiB1bmRlZmluZWQ7XHJcblxyXG4gICAgLypcclxuICAgICAgSXRlcmF0ZSBvdmVyIGVhY2ggc2Vjb25kYXJ5IGNvdW50cnkgYW5kIGNoZWNrIGlmIG5hdGlvbmFsTnVtYmVyIHN0YXJ0cyB3aXRoIGFueSBvZiBhcmVhQ29kZXMgYXZhaWxhYmxlLlxyXG4gICAgICBJZiBubyBtYXRjaGVzIGZvdW5kLCBmYWxsYmFjayB0byB0aGUgbWFpbiBjb3VudHJ5LlxyXG4gICAgKi9cclxuICAgIHNlY29uZGFyeUNvdW50cmllcy5mb3JFYWNoKChjb3VudHJ5KSA9PiB7XHJcbiAgICAgIGlmIChjb3VudHJ5ICYmIGNvdW50cnkuYXJlYUNvZGVzKSB7XHJcbiAgICAgICAgY291bnRyeS5hcmVhQ29kZXMuZm9yRWFjaCgoYXJlYUNvZGUpID0+IHtcclxuICAgICAgICAgIGlmIChyYXdOdW1iZXIuc3RhcnRzV2l0aChhcmVhQ29kZSkpIHtcclxuICAgICAgICAgICAgbWF0Y2hlZENvdW50cnkgPSBjb3VudHJ5O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gbWF0Y2hlZENvdW50cnk7XHJcbiAgfVxyXG5cclxuICAjZ2V0Q291bnRyeURhaWxDb2RlKG51bWJlcjogUGhvbmVOdW1iZXIpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuI2dldFBob25lTnVtYmVyVmFsdWVzKG51bWJlcik/LltcIjFcIl0udG9TdHJpbmcoKSA/PyBcIlwiO1xyXG4gIH1cclxuXHJcbiAgI2dldFBob25lTnVtYmVyVmFsdWVzKG51bWJlcjogUGhvbmVOdW1iZXIpIHtcclxuICAgIC8vIEB0cy1pZ25vcmVcclxuICAgIHJldHVybiBudW1iZXI/LltcInZhbHVlc19cIl07XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { Component } from "@angular/core";
|
|
2
|
-
import { BaseCtrl } from "../base-ctrl";
|
|
3
|
-
import { NG_VALUE_ACCESSOR } from "@angular/forms";
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class NoteControl extends BaseCtrl {
|
|
6
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NoteControl, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
7
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: NoteControl, isStandalone: true, selector: "iss-ctrl-note", providers: [
|
|
8
|
-
{ provide: NG_VALUE_ACCESSOR, useExisting: NoteControl, multi: true }
|
|
9
|
-
], usesInheritance: true, ngImport: i0, template: "<p>note works!</p>\r\n", styles: [""] }); }
|
|
10
|
-
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NoteControl, decorators: [{
|
|
12
|
-
type: Component,
|
|
13
|
-
args: [{ selector: "iss-ctrl-note", standalone: true, imports: [], providers: [
|
|
14
|
-
{ provide: NG_VALUE_ACCESSOR, useExisting: NoteControl, multi: true }
|
|
15
|
-
], template: "<p>note works!</p>\r\n" }]
|
|
16
|
-
}] });
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pc3MtY3RybC9zcmMvY29tcG9uZW50cy9ub3RlL25vdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXNzLWN0cmwvc3JjL2NvbXBvbmVudHMvbm90ZS9ub3RlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUN0QyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFZakQsTUFBTSxPQUFPLFdBQVksU0FBUSxRQUFROzhHQUE1QixXQUFXO2tHQUFYLFdBQVcsNERBSlg7WUFDVCxFQUFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUM7U0FDcEUsaURDWkgsd0JBQ0E7OzJGRGFhLFdBQVc7a0JBVnZCLFNBQVM7K0JBQ0UsZUFBZSxjQUNiLElBQUksV0FDUCxFQUFFLGFBR0E7d0JBQ1QsRUFBQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxhQUFhLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBQztxQkFDcEUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtCYXNlQ3RybH0gZnJvbSBcIi4uL2Jhc2UtY3RybFwiO1xyXG5pbXBvcnQge05HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImlzcy1jdHJsLW5vdGVcIixcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtdLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vbm90ZS5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsOiBcIi4vbm90ZS5jb21wb25lbnQuc2Nzc1wiLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge3Byb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCB1c2VFeGlzdGluZzogTm90ZUNvbnRyb2wsIG11bHRpOiB0cnVlfVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIE5vdGVDb250cm9sIGV4dGVuZHMgQmFzZUN0cmwgeyB9XHJcbiIsIjxwPm5vdGUgd29ya3MhPC9wPlxyXG4iXX0=
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
export const PLATE_LETTERS = [
|
|
2
|
-
{ label: { ar: "أ", en: "A" }, value: "A" },
|
|
3
|
-
{ label: { ar: "ب", en: "B" }, value: "B" },
|
|
4
|
-
{ label: { ar: "ح", en: "J" }, value: "J" },
|
|
5
|
-
{ label: { ar: "د", en: "D" }, value: "D" },
|
|
6
|
-
{ label: { ar: "ر", en: "R" }, value: "R" },
|
|
7
|
-
{ label: { ar: "س", en: "S" }, value: "S" },
|
|
8
|
-
{ label: { ar: "ص", en: "X" }, value: "X" },
|
|
9
|
-
{ label: { ar: "ط", en: "T" }, value: "T" },
|
|
10
|
-
{ label: { ar: "ع", en: "E" }, value: "E" },
|
|
11
|
-
{ label: { ar: "ق", en: "G" }, value: "G" },
|
|
12
|
-
{ label: { ar: "ك", en: "K" }, value: "K" },
|
|
13
|
-
{ label: { ar: "ل", en: "L" }, value: "L" },
|
|
14
|
-
{ label: { ar: "م", en: "Z" }, value: "Z" },
|
|
15
|
-
{ label: { ar: "ن", en: "N" }, value: "N" },
|
|
16
|
-
{ label: { ar: "هـ", en: "H" }, value: "H" },
|
|
17
|
-
{ label: { ar: "و", en: "U" }, value: "U" },
|
|
18
|
-
{ label: { ar: "ي", en: "V" }, value: "V" }
|
|
19
|
-
];
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUExBVEVfTEVUVEVSUy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lzcy1jdHJsL3NyYy9jb21wb25lbnRzL3BsYXRlL1BMQVRFX0xFVFRFUlMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUF3QjtJQUNoRCxFQUFDLEtBQUssRUFBRSxFQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUM7SUFDdkMsRUFBQyxLQUFLLEVBQUUsRUFBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFDO0lBQ3ZDLEVBQUMsS0FBSyxFQUFFLEVBQUMsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBQztJQUN2QyxFQUFDLEtBQUssRUFBRSxFQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUM7SUFDdkMsRUFBQyxLQUFLLEVBQUUsRUFBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFDO0lBQ3ZDLEVBQUMsS0FBSyxFQUFFLEVBQUMsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBQztJQUN2QyxFQUFDLEtBQUssRUFBRSxFQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUM7SUFDdkMsRUFBQyxLQUFLLEVBQUUsRUFBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFDO0lBQ3ZDLEVBQUMsS0FBSyxFQUFFLEVBQUMsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBQztJQUN2QyxFQUFDLEtBQUssRUFBRSxFQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUM7SUFDdkMsRUFBQyxLQUFLLEVBQUUsRUFBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFDO0lBQ3ZDLEVBQUMsS0FBSyxFQUFFLEVBQUMsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBQztJQUN2QyxFQUFDLEtBQUssRUFBRSxFQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUM7SUFDdkMsRUFBQyxLQUFLLEVBQUUsRUFBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFDO0lBQ3ZDLEVBQUMsS0FBSyxFQUFFLEVBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBQztJQUN4QyxFQUFDLEtBQUssRUFBRSxFQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUM7SUFDdkMsRUFBQyxLQUFLLEVBQUUsRUFBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFDO0NBQ3hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgUExBVEVfTEVUVEVSUzogUGxhdGVMZXR0ZXJPcHRpb25bXSA9IFtcclxuICB7bGFiZWw6IHthcjogXCLYo1wiLCBlbjogXCJBXCJ9LCB2YWx1ZTogXCJBXCJ9LFxyXG4gIHtsYWJlbDoge2FyOiBcItioXCIsIGVuOiBcIkJcIn0sIHZhbHVlOiBcIkJcIn0sXHJcbiAge2xhYmVsOiB7YXI6IFwi2K1cIiwgZW46IFwiSlwifSwgdmFsdWU6IFwiSlwifSxcclxuICB7bGFiZWw6IHthcjogXCLYr1wiLCBlbjogXCJEXCJ9LCB2YWx1ZTogXCJEXCJ9LFxyXG4gIHtsYWJlbDoge2FyOiBcItixXCIsIGVuOiBcIlJcIn0sIHZhbHVlOiBcIlJcIn0sXHJcbiAge2xhYmVsOiB7YXI6IFwi2LNcIiwgZW46IFwiU1wifSwgdmFsdWU6IFwiU1wifSxcclxuICB7bGFiZWw6IHthcjogXCLYtVwiLCBlbjogXCJYXCJ9LCB2YWx1ZTogXCJYXCJ9LFxyXG4gIHtsYWJlbDoge2FyOiBcIti3XCIsIGVuOiBcIlRcIn0sIHZhbHVlOiBcIlRcIn0sXHJcbiAge2xhYmVsOiB7YXI6IFwi2LlcIiwgZW46IFwiRVwifSwgdmFsdWU6IFwiRVwifSxcclxuICB7bGFiZWw6IHthcjogXCLZglwiLCBlbjogXCJHXCJ9LCB2YWx1ZTogXCJHXCJ9LFxyXG4gIHtsYWJlbDoge2FyOiBcItmDXCIsIGVuOiBcIktcIn0sIHZhbHVlOiBcIktcIn0sXHJcbiAge2xhYmVsOiB7YXI6IFwi2YRcIiwgZW46IFwiTFwifSwgdmFsdWU6IFwiTFwifSxcclxuICB7bGFiZWw6IHthcjogXCLZhVwiLCBlbjogXCJaXCJ9LCB2YWx1ZTogXCJaXCJ9LFxyXG4gIHtsYWJlbDoge2FyOiBcItmGXCIsIGVuOiBcIk5cIn0sIHZhbHVlOiBcIk5cIn0sXHJcbiAge2xhYmVsOiB7YXI6IFwi2YfZgFwiLCBlbjogXCJIXCJ9LCB2YWx1ZTogXCJIXCJ9LFxyXG4gIHtsYWJlbDoge2FyOiBcItmIXCIsIGVuOiBcIlVcIn0sIHZhbHVlOiBcIlVcIn0sXHJcbiAge2xhYmVsOiB7YXI6IFwi2YpcIiwgZW46IFwiVlwifSwgdmFsdWU6IFwiVlwifVxyXG5dO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQbGF0ZUxldHRlck9wdGlvbiB7XHJcbiAgbGFiZWw6IHtcclxuICAgIGFyOiBzdHJpbmc7XHJcbiAgICBlbjogc3RyaW5nO1xyXG4gIH0sXHJcbiAgdmFsdWU6IHN0cmluZztcclxufVxyXG4iXX0=
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
import { Component, computed, effect } from "@angular/core";
|
|
2
|
-
import { FormArray, FormControl, FormGroup, NG_VALUE_ACCESSOR, ReactiveFormsModule } from "@angular/forms";
|
|
3
|
-
import { BaseCtrl } from "../base-ctrl";
|
|
4
|
-
import { MatFormField } from "@angular/material/form-field";
|
|
5
|
-
import { MatInput } from "@angular/material/input";
|
|
6
|
-
import { MatOption, MatSelect } from "@angular/material/select";
|
|
7
|
-
import { NgTemplateOutlet } from "@angular/common";
|
|
8
|
-
import { toSignal } from "@angular/core/rxjs-interop";
|
|
9
|
-
import { ArabicNumberPipe } from "../../pipes/arabic-number.pipe";
|
|
10
|
-
import { PLATE_LETTERS } from "./PLATE_LETTERS";
|
|
11
|
-
import { PlateLetterPipe } from "../../pipes/plate-letter.pipe";
|
|
12
|
-
import * as i0 from "@angular/core";
|
|
13
|
-
import * as i1 from "@angular/forms";
|
|
14
|
-
export class PlateControl extends BaseCtrl {
|
|
15
|
-
constructor() {
|
|
16
|
-
super(...arguments);
|
|
17
|
-
this.plate = new FormGroup({
|
|
18
|
-
numbers: new FormArray([
|
|
19
|
-
new FormControl(null),
|
|
20
|
-
new FormControl(null),
|
|
21
|
-
new FormControl(null),
|
|
22
|
-
new FormControl(null),
|
|
23
|
-
]),
|
|
24
|
-
letters: new FormArray([
|
|
25
|
-
new FormControl(null),
|
|
26
|
-
new FormControl(null),
|
|
27
|
-
new FormControl(null),
|
|
28
|
-
]),
|
|
29
|
-
});
|
|
30
|
-
this.#plateChanges = toSignal(this.plate.valueChanges);
|
|
31
|
-
this.#lettersArr = computed(() => this.#plateChanges()["letters"].filter((l) => l));
|
|
32
|
-
this.#letters = computed(() => this.#lettersArr().join(""));
|
|
33
|
-
this.#numbersArr = computed(() => this.#plateChanges()["numbers"].filter((l) => l));
|
|
34
|
-
this.#numbers = computed(() => this.#numbersArr().join(""));
|
|
35
|
-
this.#plateHasValue = computed(() => !!(this.#letters().length && this.#numbers().length));
|
|
36
|
-
this.#effectRef = effect(() => {
|
|
37
|
-
if (this.#plateChanges()) {
|
|
38
|
-
this.propagateValue(this.#getEmissionValue());
|
|
39
|
-
this.emitOnChangeEvent({ letters: this.#lettersArr(), numbers: this.#numbersArr() });
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
this.PLATE_LETTERS = PLATE_LETTERS;
|
|
43
|
-
}
|
|
44
|
-
#plateChanges;
|
|
45
|
-
#lettersArr;
|
|
46
|
-
#letters;
|
|
47
|
-
#numbersArr;
|
|
48
|
-
#numbers;
|
|
49
|
-
#plateHasValue;
|
|
50
|
-
#effectRef;
|
|
51
|
-
get letterControls() {
|
|
52
|
-
return this.plate.controls["letters"].controls;
|
|
53
|
-
}
|
|
54
|
-
get numberControls() {
|
|
55
|
-
return this.plate.controls["numbers"].controls;
|
|
56
|
-
}
|
|
57
|
-
writeValue(value) {
|
|
58
|
-
let processedValue = this.#splitPlateValues(value);
|
|
59
|
-
if (processedValue) {
|
|
60
|
-
this.plate.patchValue(processedValue);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
ngOnDestroy() {
|
|
64
|
-
this.#effectRef.destroy();
|
|
65
|
-
}
|
|
66
|
-
#getEmissionValue() {
|
|
67
|
-
if (this.#plateHasValue()) {
|
|
68
|
-
return `${this.#letters()}-${this.#numbers()}`;
|
|
69
|
-
}
|
|
70
|
-
return null;
|
|
71
|
-
}
|
|
72
|
-
#splitPlateValues(value) {
|
|
73
|
-
if (value) {
|
|
74
|
-
let lettersAndNumbers = value.split("-");
|
|
75
|
-
let letters = lettersAndNumbers[0].split("");
|
|
76
|
-
let numbers = lettersAndNumbers[1].split("");
|
|
77
|
-
return { letters, numbers };
|
|
78
|
-
}
|
|
79
|
-
return null;
|
|
80
|
-
}
|
|
81
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: PlateControl, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
82
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: PlateControl, isStandalone: true, selector: "iss-ctrl-plate-number", providers: [
|
|
83
|
-
{ provide: NG_VALUE_ACCESSOR, useExisting: PlateControl, multi: true }
|
|
84
|
-
], usesInheritance: true, ngImport: i0, template: "<div [formGroup]=\"plate\">\r\n @if (!disabled()) {\r\n <div class=\"row mb-4\">\r\n <ng-container formArrayName=\"numbers\">\r\n @for (item of numberControls; track $index) {\r\n <div class=\"col-sm-3\">\r\n <mat-form-field class=\"mat-form-field-number\">\r\n <input\r\n type=\"number\"\r\n matInput\r\n [formControlName]=\"$index\"\r\n maxlength=\"1\"\r\n placeholder=\"\"\r\n oninput=\"if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);\"\r\n />\r\n </mat-form-field>\r\n </div>\r\n }\r\n </ng-container>\r\n </div>\r\n <div class=\"row mb-4\">\r\n <ng-container formArrayName=\"letters\">\r\n @for (el of letterControls; track $index) {\r\n <div class=\"col-sm-4\">\r\n <mat-form-field class=\"mat-form-field-number\">\r\n <mat-select disableOptionCentering [formControlName]=\"$index\">\r\n @for (option of PLATE_LETTERS; track option.value) {\r\n <mat-option [value]=\"option.value\">{{ option.label.en }} / {{ option.label.ar }}</mat-option>\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n }\r\n </ng-container>\r\n </div>\r\n }\r\n <div class=\"row mb-4\">\r\n <div class=\"col-12\">\r\n <ng-container *ngTemplateOutlet=\"plateElement\"></ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n<ng-template #plateElement>\r\n <div class=\"plate d-inline-flex align-items-stretch justify-content-between fs-18\">\r\n <div class=\"d-flex flex-column border-right w-100\">\r\n <div class=\"ARPlate border-bottom d-flex h-50 w-100\">\r\n <div class=\"fc-black border-right w-50 d-flex align-items-center justify-content-center gap-2\">\r\n @for (numberCtrl of numberControls; track $index) {\r\n <span>{{ numberCtrl.value | arabicNumber }}</span>\r\n }\r\n </div>\r\n <span class=\"fw-medium fc-black w-50 d-flex align-items-center justify-content-center gap-2\">\r\n @for (letterCtrl of letterControls; track $index) {\r\n <span>{{ letterCtrl.value | plateLetter }}</span>\r\n }\r\n </span>\r\n </div>\r\n <div class=\"ENPlate d-flex h-50 w-100\">\r\n <span class=\"fc-black border-right w-50 d-flex align-items-center justify-content-center gap-2\">\r\n @for (numberCtrl of numberControls; track $index) {\r\n <span>{{ numberCtrl.value }}</span>\r\n }\r\n </span>\r\n <span class=\"fw-medium fc-black w-50 d-flex align-items-center justify-content-center gap-2\">\r\n @for (letterCtrl of letterControls; track $index) {\r\n <span>{{ letterCtrl.value }}</span>\r\n }\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex flex-column gap-2 justify-content-center px-2 align-items-center\">\r\n <svg width=\"17\" height=\"19\" viewBox=\"0 0 17 19\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M10.8072 16.8744C11.4633 16.178 11.3244 15.3914 10.7996 15.3825C10.9872 15.9606 10.5562 16.3344 10.3922 16.5266C9.97894 16.1712 9.55086 15.7761 9.10778 15.3694C11.2695 13.5812 13.6354 11.995 16.7263 11.9452C13.3983 10.7499 10.7417 12.7815 8.4925 14.8084C6.24308 12.7815 3.58672 10.7499 0.257812 11.9452C3.34944 11.995 5.71507 13.581 7.87722 15.3694C7.43329 15.7761 7.00564 16.1712 6.59172 16.5266C6.42902 16.3344 5.99777 15.9606 6.18435 15.3825C5.65992 15.3914 5.52089 16.178 6.17758 16.8744C5.91495 17.0931 5.48962 17.4631 5.15113 17.5518C4.89082 17.6199 4.68185 17.4846 4.63473 17.2026C4.53542 16.6069 3.61271 16.6959 3.72554 17.5372C3.82907 18.3044 4.76066 18.6391 5.55892 18.2837C5.87565 18.1424 6.3107 17.7413 6.66778 17.45C6.83111 17.641 7.26215 18.0145 7.07494 18.5935C7.59979 18.5838 7.7384 17.798 7.08234 17.1005C7.54845 16.7028 8.01625 16.2927 8.4925 15.887C8.96833 16.2925 9.43634 16.7028 9.90288 17.1005C9.24639 17.798 9.385 18.5838 9.91006 18.5935C9.72285 18.0145 10.1539 17.6414 10.3168 17.45C10.6745 17.7413 11.1091 18.1424 11.4263 18.2837C12.2246 18.6391 13.1555 18.3044 13.259 17.5372C13.3719 16.6959 12.4496 16.6069 12.3494 17.2026C12.3023 17.4846 12.094 17.6196 11.8332 17.5518C11.4948 17.4631 11.0696 17.0931 10.8072 16.8744ZM6.72504 5.72093C6.22365 7.04637 6.19597 8.53894 6.9169 10.1805C6.80195 8.47576 7.17594 7.06771 7.8713 6.0066L8.01815 7.46832H7.84679L8.01815 9.17958H7.84679L8.01815 10.8904H7.84679L8.01794 12.5991L7.53366 13.0819H8.4925H9.45156L8.96685 12.5991L9.13842 10.8904H8.96685L9.13842 9.17958H8.96685L9.13842 7.46832H8.96685L9.11391 6.0066C9.80906 7.06771 10.1833 8.47682 10.0683 10.1805C10.7886 8.53894 10.7616 7.047 10.2602 5.72093C11.1115 6.72478 11.7701 7.89851 12.0661 9.36572C12.3733 7.50466 11.848 5.98568 10.8852 4.8071C11.8174 5.47943 12.6184 6.33157 13.1785 7.48396C13.048 5.72072 12.1559 4.57742 10.927 3.75824C11.989 4.1054 12.8561 4.68645 13.6343 5.71798C13.1139 3.8884 11.9801 3.15564 10.575 2.74362C11.5332 2.67368 12.4386 2.78165 13.3347 3.33988C12.3621 2.02839 11.0565 1.81055 9.73257 1.95634C10.2893 1.67279 10.9158 1.53101 11.5888 1.63137C10.8302 1.07187 9.81836 1.01651 8.95227 1.48812L8.4925 0.328125L8.0321 1.48749C7.1658 1.01651 6.15476 1.07166 5.39623 1.63137C6.06877 1.53122 6.69483 1.67279 7.25179 1.95634C5.92826 1.81055 4.62311 2.0286 3.6499 3.33988C4.54662 2.78165 5.45137 2.67368 6.41001 2.74362C5.00534 3.15564 3.87112 3.8884 3.35113 5.71798C4.12868 4.68666 4.99625 4.1054 6.05842 3.75824C4.8287 4.57721 3.93704 5.72072 3.80625 7.48396C4.36618 6.33157 5.16782 5.47943 6.09962 4.8071C5.13676 5.98568 4.61149 7.50466 4.91871 9.36572C5.21494 7.89851 5.87354 6.72478 6.72504 5.72093Z\"\r\n fill=\"#1D252D\"\r\n />\r\n </svg>\r\n <span class=\"fw-medium fs-12 line-height-1-2\">K<br/>S<br/>A</span>\r\n <svg width=\"9\" height=\"9\" viewBox=\"0 0 9 9\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <circle cx=\"4.49162\" cy=\"4.06193\" r=\"3.99162\" fill=\"#1D252D\"/>\r\n </svg>\r\n </div>\r\n </div>\r\n</ng-template>\r\n", styles: [".plate{background:#f8f8f8;width:240px;height:110px;border:1px solid #8e9aa0;border-radius:3px;direction:ltr}.plate .border-right{border-right:1px solid #d6d6d4}.plate .border-bottom{border-bottom:1px solid #d6d6d4!important}\n"], dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: ArabicNumberPipe, name: "arabicNumber" }, { kind: "pipe", type: PlateLetterPipe, name: "plateLetter" }] }); }
|
|
85
|
-
}
|
|
86
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: PlateControl, decorators: [{
|
|
87
|
-
type: Component,
|
|
88
|
-
args: [{ selector: "iss-ctrl-plate-number", standalone: true, imports: [
|
|
89
|
-
MatFormField,
|
|
90
|
-
ReactiveFormsModule,
|
|
91
|
-
MatInput,
|
|
92
|
-
MatSelect,
|
|
93
|
-
MatOption,
|
|
94
|
-
NgTemplateOutlet,
|
|
95
|
-
ArabicNumberPipe,
|
|
96
|
-
PlateLetterPipe
|
|
97
|
-
], providers: [
|
|
98
|
-
{ provide: NG_VALUE_ACCESSOR, useExisting: PlateControl, multi: true }
|
|
99
|
-
], template: "<div [formGroup]=\"plate\">\r\n @if (!disabled()) {\r\n <div class=\"row mb-4\">\r\n <ng-container formArrayName=\"numbers\">\r\n @for (item of numberControls; track $index) {\r\n <div class=\"col-sm-3\">\r\n <mat-form-field class=\"mat-form-field-number\">\r\n <input\r\n type=\"number\"\r\n matInput\r\n [formControlName]=\"$index\"\r\n maxlength=\"1\"\r\n placeholder=\"\"\r\n oninput=\"if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);\"\r\n />\r\n </mat-form-field>\r\n </div>\r\n }\r\n </ng-container>\r\n </div>\r\n <div class=\"row mb-4\">\r\n <ng-container formArrayName=\"letters\">\r\n @for (el of letterControls; track $index) {\r\n <div class=\"col-sm-4\">\r\n <mat-form-field class=\"mat-form-field-number\">\r\n <mat-select disableOptionCentering [formControlName]=\"$index\">\r\n @for (option of PLATE_LETTERS; track option.value) {\r\n <mat-option [value]=\"option.value\">{{ option.label.en }} / {{ option.label.ar }}</mat-option>\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n }\r\n </ng-container>\r\n </div>\r\n }\r\n <div class=\"row mb-4\">\r\n <div class=\"col-12\">\r\n <ng-container *ngTemplateOutlet=\"plateElement\"></ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n<ng-template #plateElement>\r\n <div class=\"plate d-inline-flex align-items-stretch justify-content-between fs-18\">\r\n <div class=\"d-flex flex-column border-right w-100\">\r\n <div class=\"ARPlate border-bottom d-flex h-50 w-100\">\r\n <div class=\"fc-black border-right w-50 d-flex align-items-center justify-content-center gap-2\">\r\n @for (numberCtrl of numberControls; track $index) {\r\n <span>{{ numberCtrl.value | arabicNumber }}</span>\r\n }\r\n </div>\r\n <span class=\"fw-medium fc-black w-50 d-flex align-items-center justify-content-center gap-2\">\r\n @for (letterCtrl of letterControls; track $index) {\r\n <span>{{ letterCtrl.value | plateLetter }}</span>\r\n }\r\n </span>\r\n </div>\r\n <div class=\"ENPlate d-flex h-50 w-100\">\r\n <span class=\"fc-black border-right w-50 d-flex align-items-center justify-content-center gap-2\">\r\n @for (numberCtrl of numberControls; track $index) {\r\n <span>{{ numberCtrl.value }}</span>\r\n }\r\n </span>\r\n <span class=\"fw-medium fc-black w-50 d-flex align-items-center justify-content-center gap-2\">\r\n @for (letterCtrl of letterControls; track $index) {\r\n <span>{{ letterCtrl.value }}</span>\r\n }\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex flex-column gap-2 justify-content-center px-2 align-items-center\">\r\n <svg width=\"17\" height=\"19\" viewBox=\"0 0 17 19\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M10.8072 16.8744C11.4633 16.178 11.3244 15.3914 10.7996 15.3825C10.9872 15.9606 10.5562 16.3344 10.3922 16.5266C9.97894 16.1712 9.55086 15.7761 9.10778 15.3694C11.2695 13.5812 13.6354 11.995 16.7263 11.9452C13.3983 10.7499 10.7417 12.7815 8.4925 14.8084C6.24308 12.7815 3.58672 10.7499 0.257812 11.9452C3.34944 11.995 5.71507 13.581 7.87722 15.3694C7.43329 15.7761 7.00564 16.1712 6.59172 16.5266C6.42902 16.3344 5.99777 15.9606 6.18435 15.3825C5.65992 15.3914 5.52089 16.178 6.17758 16.8744C5.91495 17.0931 5.48962 17.4631 5.15113 17.5518C4.89082 17.6199 4.68185 17.4846 4.63473 17.2026C4.53542 16.6069 3.61271 16.6959 3.72554 17.5372C3.82907 18.3044 4.76066 18.6391 5.55892 18.2837C5.87565 18.1424 6.3107 17.7413 6.66778 17.45C6.83111 17.641 7.26215 18.0145 7.07494 18.5935C7.59979 18.5838 7.7384 17.798 7.08234 17.1005C7.54845 16.7028 8.01625 16.2927 8.4925 15.887C8.96833 16.2925 9.43634 16.7028 9.90288 17.1005C9.24639 17.798 9.385 18.5838 9.91006 18.5935C9.72285 18.0145 10.1539 17.6414 10.3168 17.45C10.6745 17.7413 11.1091 18.1424 11.4263 18.2837C12.2246 18.6391 13.1555 18.3044 13.259 17.5372C13.3719 16.6959 12.4496 16.6069 12.3494 17.2026C12.3023 17.4846 12.094 17.6196 11.8332 17.5518C11.4948 17.4631 11.0696 17.0931 10.8072 16.8744ZM6.72504 5.72093C6.22365 7.04637 6.19597 8.53894 6.9169 10.1805C6.80195 8.47576 7.17594 7.06771 7.8713 6.0066L8.01815 7.46832H7.84679L8.01815 9.17958H7.84679L8.01815 10.8904H7.84679L8.01794 12.5991L7.53366 13.0819H8.4925H9.45156L8.96685 12.5991L9.13842 10.8904H8.96685L9.13842 9.17958H8.96685L9.13842 7.46832H8.96685L9.11391 6.0066C9.80906 7.06771 10.1833 8.47682 10.0683 10.1805C10.7886 8.53894 10.7616 7.047 10.2602 5.72093C11.1115 6.72478 11.7701 7.89851 12.0661 9.36572C12.3733 7.50466 11.848 5.98568 10.8852 4.8071C11.8174 5.47943 12.6184 6.33157 13.1785 7.48396C13.048 5.72072 12.1559 4.57742 10.927 3.75824C11.989 4.1054 12.8561 4.68645 13.6343 5.71798C13.1139 3.8884 11.9801 3.15564 10.575 2.74362C11.5332 2.67368 12.4386 2.78165 13.3347 3.33988C12.3621 2.02839 11.0565 1.81055 9.73257 1.95634C10.2893 1.67279 10.9158 1.53101 11.5888 1.63137C10.8302 1.07187 9.81836 1.01651 8.95227 1.48812L8.4925 0.328125L8.0321 1.48749C7.1658 1.01651 6.15476 1.07166 5.39623 1.63137C6.06877 1.53122 6.69483 1.67279 7.25179 1.95634C5.92826 1.81055 4.62311 2.0286 3.6499 3.33988C4.54662 2.78165 5.45137 2.67368 6.41001 2.74362C5.00534 3.15564 3.87112 3.8884 3.35113 5.71798C4.12868 4.68666 4.99625 4.1054 6.05842 3.75824C4.8287 4.57721 3.93704 5.72072 3.80625 7.48396C4.36618 6.33157 5.16782 5.47943 6.09962 4.8071C5.13676 5.98568 4.61149 7.50466 4.91871 9.36572C5.21494 7.89851 5.87354 6.72478 6.72504 5.72093Z\"\r\n fill=\"#1D252D\"\r\n />\r\n </svg>\r\n <span class=\"fw-medium fs-12 line-height-1-2\">K<br/>S<br/>A</span>\r\n <svg width=\"9\" height=\"9\" viewBox=\"0 0 9 9\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <circle cx=\"4.49162\" cy=\"4.06193\" r=\"3.99162\" fill=\"#1D252D\"/>\r\n </svg>\r\n </div>\r\n </div>\r\n</ng-template>\r\n", styles: [".plate{background:#f8f8f8;width:240px;height:110px;border:1px solid #8e9aa0;border-radius:3px;direction:ltr}.plate .border-right{border-right:1px solid #d6d6d4}.plate .border-bottom{border-bottom:1px solid #d6d6d4!important}\n"] }]
|
|
100
|
-
}] });
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXNzLWN0cmwvc3JjL2NvbXBvbmVudHMvcGxhdGUvcGxhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXNzLWN0cmwvc3JjL2NvbXBvbmVudHMvcGxhdGUvcGxhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUErQixNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ3RDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUMxRCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDakQsT0FBTyxFQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFFcEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDaEUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQzs7O0FBcUI5RCxNQUFNLE9BQU8sWUFBYSxTQUFRLFFBQVE7SUFuQjFDOztRQW9CWSxVQUFLLEdBQWMsSUFBSSxTQUFTLENBQUM7WUFDekMsT0FBTyxFQUFFLElBQUksU0FBUyxDQUFDO2dCQUNy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QUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsY0FBYyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUM7cUJBQ3JFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIGNvbXB1dGVkLCBlZmZlY3QsIEVmZmVjdFJlZiwgT25EZXN0cm95LCBTaWduYWx9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7Rm9ybUFycmF5LCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBOR19WQUxVRV9BQ0NFU1NPUiwgUmVhY3RpdmVGb3Jtc01vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7QmFzZUN0cmx9IGZyb20gXCIuLi9iYXNlLWN0cmxcIjtcclxuaW1wb3J0IHtNYXRGb3JtRmllbGR9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkXCI7XHJcbmltcG9ydCB7TWF0SW5wdXR9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9pbnB1dFwiO1xyXG5pbXBvcnQge01hdE9wdGlvbiwgTWF0U2VsZWN0fSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0XCI7XHJcbmltcG9ydCB7TmdUZW1wbGF0ZU91dGxldH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQge3RvU2lnbmFsfSBmcm9tIFwiQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3BcIjtcclxuaW1wb3J0IHtPcHRpb259IGZyb20gXCIuLi8uLi9pbnRlcmZhY2VzL29wdGlvbi5pbnRlcmZhY2VcIjtcclxuaW1wb3J0IHtBcmFiaWNOdW1iZXJQaXBlfSBmcm9tIFwiLi4vLi4vcGlwZXMvYXJhYmljLW51bWJlci5waXBlXCI7XHJcbmltcG9ydCB7UExBVEVfTEVUVEVSU30gZnJvbSBcIi4vUExBVEVfTEVUVEVSU1wiO1xyXG5pbXBvcnQge1BsYXRlTGV0dGVyUGlwZX0gZnJvbSBcIi4uLy4uL3BpcGVzL3BsYXRlLWxldHRlci5waXBlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJpc3MtY3RybC1wbGF0ZS1udW1iZXJcIixcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE1hdEZvcm1GaWVsZCxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBNYXRJbnB1dCxcclxuICAgIE1hdFNlbGVjdCxcclxuICAgIE1hdE9wdGlvbixcclxuICAgIE5nVGVtcGxhdGVPdXRsZXQsXHJcbiAgICBBcmFiaWNOdW1iZXJQaXBlLFxyXG4gICAgUGxhdGVMZXR0ZXJQaXBlXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogXCIuL3BsYXRlLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmw6IFwiLi9wbGF0ZS5jb21wb25lbnQuc2Nzc1wiLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge3Byb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCB1c2VFeGlzdGluZzogUGxhdGVDb250cm9sLCBtdWx0aTogdHJ1ZX1cclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQbGF0ZUNvbnRyb2wgZXh0ZW5kcyBCYXNlQ3RybCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgcHJvdGVjdGVkIHBsYXRlOiBGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHtcclxuICAgIG51bWJlcnM6IG5ldyBGb3JtQXJyYXkoW1xyXG4gICAgICBuZXcgRm9ybUNvbnRyb2wobnVsbCksXHJcbiAgICAgIG5ldyBGb3JtQ29udHJvbChudWxsKSxcclxuICAgICAgbmV3IEZvcm1Db250cm9sKG51bGwpLFxyXG4gICAgICBuZXcgRm9ybUNvbnRyb2wobnVsbCksXHJcbiAgICBdKSxcclxuICAgIGxldHRlcnM6IG5ldyBGb3JtQXJyYXkoW1xyXG4gICAgICBuZXcgRm9ybUNvbnRyb2wobnVsbCksXHJcbiAgICAgIG5ldyBGb3JtQ29udHJvbChudWxsKSxcclxuICAgICAgbmV3IEZvcm1Db250cm9sKG51bGwpLFxyXG4gICAgXSksXHJcbiAgfSk7XHJcblxyXG4gICNwbGF0ZUNoYW5nZXMgPSB0b1NpZ25hbCh0aGlzLnBsYXRlLnZhbHVlQ2hhbmdlcyk7XHJcbiAgI2xldHRlcnNBcnI6IFNpZ25hbDxzdHJpbmdbXT4gPSBjb21wdXRlZCgoKSA9PiB0aGlzLiNwbGF0ZUNoYW5nZXMoKVtcImxldHRlcnNcIl0uZmlsdGVyKChsOiBzdHJpbmcpID0+IGwpKTtcclxuICAjbGV0dGVyczogU2lnbmFsPHN0cmluZz4gPSBjb21wdXRlZCgoKSA9PiB0aGlzLiNsZXR0ZXJzQXJyKCkuam9pbihcIlwiKSk7XHJcbiAgI251bWJlcnNBcnI6IFNpZ25hbDxzdHJpbmdbXT4gPSBjb21wdXRlZCgoKSA9PiB0aGlzLiNwbGF0ZUNoYW5nZXMoKVtcIm51bWJlcnNcIl0uZmlsdGVyKChsOiBzdHJpbmcpID0+IGwpKTtcclxuICAjbnVtYmVyczogU2lnbmFsPHN0cmluZz4gPSBjb21wdXRlZCgoKSA9PiB0aGlzLiNudW1iZXJzQXJyKCkuam9pbihcIlwiKSk7XHJcbiAgI3BsYXRlSGFzVmFsdWU6IFNpZ25hbDxib29sZWFuPiA9IGNvbXB1dGVkKCgpID0+ICEhKHRoaXMuI2xldHRlcnMoKS5sZW5ndGggJiYgdGhpcy4jbnVtYmVycygpLmxlbmd0aCkpO1xyXG4gICNlZmZlY3RSZWY6IEVmZmVjdFJlZiA9IGVmZmVjdCgoKSA9PiB7XHJcbiAgICBpZiAodGhpcy4jcGxhdGVDaGFuZ2VzKCkpIHtcclxuICAgICAgdGhpcy5wcm9wYWdhdGVWYWx1ZSh0aGlzLiNnZXRFbWlzc2lvblZhbHVlKCkpO1xyXG4gICAgICB0aGlzLmVtaXRPbkNoYW5nZUV2ZW50KHtsZXR0ZXJzOiB0aGlzLiNsZXR0ZXJzQXJyKCksIG51bWJlcnM6IHRoaXMuI251bWJlcnNBcnIoKX0pO1xyXG4gICAgfVxyXG4gIH0pO1xyXG5cclxuICBnZXQgbGV0dGVyQ29udHJvbHMoKSB7XHJcbiAgICByZXR1cm4gKHRoaXMucGxhdGUuY29udHJvbHNbXCJsZXR0ZXJzXCJdIGFzIEZvcm1BcnJheSkuY29udHJvbHM7XHJcbiAgfVxyXG5cclxuICBnZXQgbnVtYmVyQ29udHJvbHMoKSB7XHJcbiAgICByZXR1cm4gKHRoaXMucGxhdGUuY29udHJvbHNbXCJudW1iZXJzXCJdIGFzIEZvcm1BcnJheSkuY29udHJvbHM7XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcgfCBudWxsKSB7XHJcbiAgICBsZXQgcHJvY2Vzc2VkVmFsdWUgPSB0aGlzLiNzcGxpdFBsYXRlVmFsdWVzKHZhbHVlKTtcclxuICAgIGlmIChwcm9jZXNzZWRWYWx1ZSkge1xyXG4gICAgICB0aGlzLnBsYXRlLnBhdGNoVmFsdWUocHJvY2Vzc2VkVmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLiNlZmZlY3RSZWYuZGVzdHJveSgpO1xyXG4gIH1cclxuXHJcbiAgI2dldEVtaXNzaW9uVmFsdWUoKSB7XHJcbiAgICBpZiAodGhpcy4jcGxhdGVIYXNWYWx1ZSgpKSB7XHJcbiAgICAgIHJldHVybiBgJHt0aGlzLiNsZXR0ZXJzKCl9LSR7dGhpcy4jbnVtYmVycygpfWA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gICNzcGxpdFBsYXRlVmFsdWVzKHZhbHVlOiBzdHJpbmcgfCBudWxsKSB7XHJcbiAgICBpZiAodmFsdWUpIHtcclxuICAgICAgbGV0IGxldHRlcnNBbmROdW1iZXJzOiBzdHJpbmdbXSA9IHZhbHVlLnNwbGl0KFwiLVwiKTtcclxuICAgICAgbGV0IGxldHRlcnM6IHN0cmluZ1tdID0gbGV0dGVyc0FuZE51bWJlcnNbMF0uc3BsaXQoXCJcIik7XHJcbiAgICAgIGxldCBudW1iZXJzOiBzdHJpbmdbXSA9IGxldHRlcnNBbmROdW1iZXJzWzFdLnNwbGl0KFwiXCIpO1xyXG4gICAgICByZXR1cm4ge2xldHRlcnMsIG51bWJlcnN9O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgUExBVEVfTEVUVEVSUyA9IFBMQVRFX0xFVFRFUlM7XHJcbn1cclxuIiwiPGRpdiBbZm9ybUdyb3VwXT1cInBsYXRlXCI+XHJcbiAgQGlmICghZGlzYWJsZWQoKSkge1xyXG4gICAgPGRpdiBjbGFzcz1cInJvdyBtYi00XCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgZm9ybUFycmF5TmFtZT1cIm51bWJlcnNcIj5cclxuICAgICAgICBAZm9yIChpdGVtIG9mIG51bWJlckNvbnRyb2xzOyB0cmFjayAkaW5kZXgpIHtcclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tM1wiPlxyXG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJtYXQtZm9ybS1maWVsZC1udW1iZXJcIj5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICAgICAgbWF0SW5wdXRcclxuICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiJGluZGV4XCJcclxuICAgICAgICAgICAgICAgIG1heGxlbmd0aD1cIjFcIlxyXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJcIlxyXG4gICAgICAgICAgICAgICAgb25pbnB1dD1cImlmICh0aGlzLnZhbHVlLmxlbmd0aCA+IHRoaXMubWF4TGVuZ3RoKSB0aGlzLnZhbHVlID0gdGhpcy52YWx1ZS5zbGljZSgwLCB0aGlzLm1heExlbmd0aCk7XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInJvdyBtYi00XCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgZm9ybUFycmF5TmFtZT1cImxldHRlcnNcIj5cclxuICAgICAgICBAZm9yIChlbCBvZiBsZXR0ZXJDb250cm9sczsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTRcIj5cclxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwibWF0LWZvcm0tZmllbGQtbnVtYmVyXCI+XHJcbiAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgZGlzYWJsZU9wdGlvbkNlbnRlcmluZyBbZm9ybUNvbnRyb2xOYW1lXT1cIiRpbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgQGZvciAob3B0aW9uIG9mIFBMQVRFX0xFVFRFUlM7IHRyYWNrIG9wdGlvbi52YWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwib3B0aW9uLnZhbHVlXCI+e3sgb3B0aW9uLmxhYmVsLmVuIH19IC8ge3sgb3B0aW9uLmxhYmVsLmFyIH19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuICB9XHJcbiAgPGRpdiBjbGFzcz1cInJvdyBtYi00XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJwbGF0ZUVsZW1lbnRcIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcblxyXG48bmctdGVtcGxhdGUgI3BsYXRlRWxlbWVudD5cclxuICA8ZGl2IGNsYXNzPVwicGxhdGUgZC1pbmxpbmUtZmxleCBhbGlnbi1pdGVtcy1zdHJldGNoIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGZzLTE4XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGJvcmRlci1yaWdodCB3LTEwMFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiQVJQbGF0ZSBib3JkZXItYm90dG9tIGQtZmxleCBoLTUwIHctMTAwXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZjLWJsYWNrIGJvcmRlci1yaWdodCB3LTUwIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBnYXAtMlwiPlxyXG4gICAgICAgICAgQGZvciAobnVtYmVyQ3RybCBvZiBudW1iZXJDb250cm9sczsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgICAgICAgIDxzcGFuPnt7IG51bWJlckN0cmwudmFsdWUgfCBhcmFiaWNOdW1iZXIgfX08L3NwYW4+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJmdy1tZWRpdW0gZmMtYmxhY2sgdy01MCBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXIgZ2FwLTJcIj5cclxuICAgICAgICAgIEBmb3IgKGxldHRlckN0cmwgb2YgbGV0dGVyQ29udHJvbHM7IHRyYWNrICRpbmRleCkge1xyXG4gICAgICAgICAgICA8c3Bhbj57eyBsZXR0ZXJDdHJsLnZhbHVlIHwgcGxhdGVMZXR0ZXIgfX08L3NwYW4+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cIkVOUGxhdGUgZC1mbGV4IGgtNTAgdy0xMDBcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImZjLWJsYWNrIGJvcmRlci1yaWdodCB3LTUwIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBnYXAtMlwiPlxyXG4gICAgICAgICAgQGZvciAobnVtYmVyQ3RybCBvZiBudW1iZXJDb250cm9sczsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgICAgICAgIDxzcGFuPnt7IG51bWJlckN0cmwudmFsdWUgfX08L3NwYW4+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZnctbWVkaXVtIGZjLWJsYWNrIHctNTAgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGdhcC0yXCI+XHJcbiAgICAgICAgICBAZm9yIChsZXR0ZXJDdHJsIG9mIGxldHRlckNvbnRyb2xzOyB0cmFjayAkaW5kZXgpIHtcclxuICAgICAgICAgICAgPHNwYW4+e3sgbGV0dGVyQ3RybC52YWx1ZSB9fTwvc3Bhbj5cclxuICAgICAgICAgIH1cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGdhcC0yIGp1c3RpZnktY29udGVudC1jZW50ZXIgcHgtMiBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgPHN2ZyB3aWR0aD1cIjE3XCIgaGVpZ2h0PVwiMTlcIiB2aWV3Qm94PVwiMCAwIDE3IDE5XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgPHBhdGhcclxuICAgICAgICAgIGZpbGwtcnVsZT1cImV2ZW5vZGRcIlxyXG4gICAgICAgICAgY2xpcC1ydWxlPVwiZXZlbm9kZFwiXHJcbiAgICAgICAgICBkPVwiTTEwLjgwNzIgMTYuODc0NEMxMS40NjMzIDE2LjE3OCAxMS4zMjQ0IDE1LjM5MTQgMTAuNzk5NiAxNS4zODI1QzEwLjk4NzIgMTUuOTYwNiAxMC41NTYyIDE2LjMzNDQgMTAuMzkyMiAxNi41MjY2QzkuOTc4OTQgMTYuMTcxMiA5LjU1MDg2IDE1Ljc3NjEgOS4xMDc3OCAxNS4zNjk0QzExLjI2OTUgMTMuNTgxMiAxMy42MzU0IDExLjk5NSAxNi43MjYzIDExLjk0NTJDMTMuMzk4MyAxMC43NDk5IDEwLjc0MTcgMTIuNzgxNSA4LjQ5MjUgMTQuODA4NEM2LjI0MzA4IDEyLjc4MTUgMy41ODY3MiAxMC43NDk5IDAuMjU3ODEyIDExLjk0NTJDMy4zNDk0NCAxMS45OTUgNS43MTUwNyAxMy41ODEgNy44NzcyMiAxNS4zNjk0QzcuNDMzMjkgMTUuNzc2MSA3LjAwNTY0IDE2LjE3MTIgNi41OTE3MiAxNi41MjY2QzYuNDI5MDIgMTYuMzM0NCA1Ljk5Nzc3IDE1Ljk2MDYgNi4xODQzNSAxNS4zODI1QzUuNjU5OTIgMTUuMzkxNCA1LjUyMDg5IDE2LjE3OCA2LjE3NzU4IDE2Ljg3NDRDNS45MTQ5NSAxNy4wOTMxIDUuNDg5NjIgMTcuNDYzMSA1LjE1MTEzIDE3LjU1MThDNC44OTA4MiAxNy42MTk5IDQuNjgxODUgMTcuNDg0NiA0LjYzNDczIDE3LjIwMjZDNC41MzU0MiAxNi42MDY5IDMuNjEyNzEgMTYuNjk1OSAzLjcyNTU0IDE3LjUzNzJDMy44MjkwNyAxOC4zMDQ0IDQuNzYwNjYgMTguNjM5MSA1LjU1ODkyIDE4LjI4MzdDNS44NzU2NSAxOC4xNDI0IDYuMzEwNyAxNy43NDEzIDYuNjY3NzggMTcuNDVDNi44MzExMSAxNy42NDEgNy4yNjIxNSAxOC4wMTQ1IDcuMDc0OTQgMTguNTkzNUM3LjU5OTc5IDE4LjU4MzggNy43Mzg0IDE3Ljc5OCA3LjA4MjM0IDE3LjEwMDVDNy41NDg0NSAxNi43MDI4IDguMDE2MjUgMTYuMjkyNyA4LjQ5MjUgMTUuODg3QzguOTY4MzMgMTYuMjkyNSA5LjQzNjM0IDE2LjcwMjggOS45MDI4OCAxNy4xMDA1QzkuMjQ2MzkgMTcuNzk4IDkuMzg1IDE4LjU4MzggOS45MTAwNiAxOC41OTM1QzkuNzIyODUgMTguMDE0NSAxMC4xNTM5IDE3LjY0MTQgMTAuMzE2OCAxNy40NUMxMC42NzQ1IDE3Ljc0MTMgMTEuMTA5MSAxOC4xNDI0IDExLjQyNjMgMTguMjgzN0MxMi4yMjQ2IDE4LjYzOTEgMTMuMTU1NSAxOC4zMDQ0IDEzLjI1OSAxNy41MzcyQzEzLjM3MTkgMTYuNjk1OSAxMi40NDk2IDE2LjYwNjkgMTIuMzQ5NCAxNy4yMDI2QzEyLjMwMjMgMTcuNDg0NiAxMi4wOTQgMTcuNjE5NiAxMS44MzMyIDE3LjU1MThDMTEuNDk0OCAxNy40NjMxIDExLjA2OTYgMTcuMDkzMSAxMC44MDcyIDE2Ljg3NDRaTTYuNzI1MDQgNS43MjA5M0M2LjIyMzY1IDcuMDQ2MzcgNi4xOTU5NyA4LjUzODk0IDYuOTE2OSAxMC4xODA1QzYuODAxOTUgOC40NzU3NiA3LjE3NTk0IDcuMDY3NzEgNy44NzEzIDYuMDA2Nkw4LjAxODE1IDcuNDY4MzJINy44NDY3OUw4LjAxODE1IDkuMTc5NThINy44NDY3OUw4LjAxODE1IDEwLjg5MDRINy44NDY3OUw4LjAxNzk0IDEyLjU5OTFMNy41MzM2NiAxMy4wODE5SDguNDkyNUg5LjQ1MTU2TDguOTY2ODUgMTIuNTk5MUw5LjEzODQyIDEwLjg5MDRIOC45NjY4NUw5LjEzODQyIDkuMTc5NThIOC45NjY4NUw5LjEzODQyIDcuNDY4MzJIOC45NjY4NUw5LjExMzkxIDYuMDA2NkM5LjgwOTA2IDcuMDY3NzEgMTAuMTgzMyA4LjQ3NjgyIDEwLjA2ODMgMTAuMTgwNUMxMC43ODg2IDguNTM4OTQgMTAuNzYxNiA3LjA0NyAxMC4yNjAyIDUuNzIwOTNDMTEuMTExNSA2LjcyNDc4IDExLjc3MDEgNy44OTg1MSAxMi4wNjYxIDkuMzY1NzJDMTIuMzczMyA3LjUwNDY2IDExLjg0OCA1Ljk4NTY4IDEwLjg4NTIgNC44MDcxQzExLjgxNzQgNS40Nzk0MyAxMi42MTg0IDYuMzMxNTcgMTMuMTc4NSA3LjQ4Mzk2QzEzLjA0OCA1LjcyMDcyIDEyLjE1NTkgNC41Nzc0MiAxMC45MjcgMy43NTgyNEMxMS45ODkgNC4xMDU0IDEyLjg1NjEgNC42ODY0NSAxMy42MzQzIDUuNzE3OThDMTMuMTEzOSAzLjg4ODQgMTEuOTgwMSAzLjE1NTY0IDEwLjU3NSAyLjc0MzYyQzExLjUzMzIgMi42NzM2OCAxMi40Mzg2IDIuNzgxNjUgMTMuMzM0NyAzLjMzOTg4QzEyLjM2MjEgMi4wMjgzOSAxMS4wNTY1IDEuODEwNTUgOS43MzI1NyAxLjk1NjM0QzEwLjI4OTMgMS42NzI3OSAxMC45MTU4IDEuNTMxMDEgMTEuNTg4OCAxLjYzMTM3QzEwLjgzMDIgMS4wNzE4NyA5LjgxODM2IDEuMDE2NTEgOC45NTIyNyAxLjQ4ODEyTDguNDkyNSAwLjMyODEyNUw4LjAzMjEgMS40ODc0OUM3LjE2NTggMS4wMTY1MSA2LjE1NDc2IDEuMDcxNjYgNS4zOTYyMyAxLjYzMTM3QzYuMDY4NzcgMS41MzEyMiA2LjY5NDgzIDEuNjcyNzkgNy4yNTE3OSAxLjk1NjM0QzUuOTI4MjYgMS44MTA1NSA0LjYyMzExIDIuMDI4NiAzLjY0OTkgMy4zMzk4OEM0LjU0NjYyIDIuNzgxNjUgNS40NTEzNyAyLjY3MzY4IDYuNDEwMDEgMi43NDM2MkM1LjAwNTM0IDMuMTU1NjQgMy44NzExMiAzLjg4ODQgMy4zNTExMyA1LjcxNzk4QzQuMTI4NjggNC42ODY2NiA0Ljk5NjI1IDQuMTA1NCA2LjA1ODQyIDMuNzU4MjRDNC44Mjg3IDQuNTc3MjEgMy45MzcwNCA1LjcyMDcyIDMuODA2MjUgNy40ODM5NkM0LjM2NjE4IDYuMzMxNTcgNS4xNjc4MiA1LjQ3OTQzIDYuMDk5NjIgNC44MDcxQzUuMTM2NzYgNS45ODU2OCA0LjYxMTQ5IDcuNTA0NjYgNC45MTg3MSA5LjM2NTcyQzUuMjE0OTQgNy44OTg1MSA1Ljg3MzU0IDYuNzI0NzggNi43MjUwNCA1LjcyMDkzWlwiXHJcbiAgICAgICAgICBmaWxsPVwiIzFEMjUyRFwiXHJcbiAgICAgICAgLz5cclxuICAgICAgPC9zdmc+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwiZnctbWVkaXVtIGZzLTEyIGxpbmUtaGVpZ2h0LTEtMlwiPks8YnIvPlM8YnIvPkE8L3NwYW4+XHJcbiAgICAgIDxzdmcgd2lkdGg9XCI5XCIgaGVpZ2h0PVwiOVwiIHZpZXdCb3g9XCIwIDAgOSA5XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgPGNpcmNsZSBjeD1cIjQuNDkxNjJcIiBjeT1cIjQuMDYxOTNcIiByPVwiMy45OTE2MlwiIGZpbGw9XCIjMUQyNTJEXCIvPlxyXG4gICAgICA8L3N2Zz5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { Component, input } from "@angular/core";
|
|
2
|
-
import { NG_VALUE_ACCESSOR, ReactiveFormsModule } from "@angular/forms";
|
|
3
|
-
import { BaseCtrl } from "../base-ctrl";
|
|
4
|
-
import { MatRadioModule } from "@angular/material/radio";
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/material/radio";
|
|
7
|
-
export class RadioControl extends BaseCtrl {
|
|
8
|
-
constructor() {
|
|
9
|
-
super(...arguments);
|
|
10
|
-
this.options = input.required();
|
|
11
|
-
}
|
|
12
|
-
writeValue(value) {
|
|
13
|
-
if (value === null || value === undefined) {
|
|
14
|
-
return;
|
|
15
|
-
}
|
|
16
|
-
const values = value.split(",").map(val => val.trim());
|
|
17
|
-
if (values.length > 1) {
|
|
18
|
-
this.emitValue(null);
|
|
19
|
-
throw new Error("You cannot set multiple values while the control is in single selection mode!");
|
|
20
|
-
}
|
|
21
|
-
this.ctrl.setValue(value);
|
|
22
|
-
}
|
|
23
|
-
onRadioChange(value) {
|
|
24
|
-
this.emitValue(value);
|
|
25
|
-
}
|
|
26
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: RadioControl, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
27
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: RadioControl, isStandalone: true, selector: "iss-ctrl-radio", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: true, transformFunction: null } }, providers: [
|
|
28
|
-
{ provide: NG_VALUE_ACCESSOR, useExisting: RadioControl, multi: true }
|
|
29
|
-
], usesInheritance: true, ngImport: i0, template: "<mat-radio-group aria-label=\"Select an option\">\r\n @for (option of options(); track option.value) {\r\n <mat-radio-button\r\n [value]=\"option.value\"\r\n [checked]=\"ctrl.value === option.value\"\r\n (change)=\"onRadioChange(option.value)\"\r\n >{{ option.label }}\r\n </mat-radio-button>\r\n }\r\n</mat-radio-group>\r\n", styles: [".mat-mdc-radio-group{flex-direction:column!important}\n"], dependencies: [{ kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i1.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i1.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "ngmodule", type: ReactiveFormsModule }] }); }
|
|
30
|
-
}
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: RadioControl, decorators: [{
|
|
32
|
-
type: Component,
|
|
33
|
-
args: [{ selector: "iss-ctrl-radio", standalone: true, imports: [
|
|
34
|
-
MatRadioModule,
|
|
35
|
-
ReactiveFormsModule,
|
|
36
|
-
], providers: [
|
|
37
|
-
{ provide: NG_VALUE_ACCESSOR, useExisting: RadioControl, multi: true }
|
|
38
|
-
], template: "<mat-radio-group aria-label=\"Select an option\">\r\n @for (option of options(); track option.value) {\r\n <mat-radio-button\r\n [value]=\"option.value\"\r\n [checked]=\"ctrl.value === option.value\"\r\n (change)=\"onRadioChange(option.value)\"\r\n >{{ option.label }}\r\n </mat-radio-button>\r\n }\r\n</mat-radio-group>\r\n", styles: [".mat-mdc-radio-group{flex-direction:column!important}\n"] }]
|
|
39
|
-
}] });
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXNzLWN0cmwvc3JjL2NvbXBvbmVudHMvcmFkaW8vcmFkaW8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXNzLWN0cmwvc3JjL2NvbXBvbmVudHMvcmFkaW8vcmFkaW8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFDLGlCQUFpQixFQUFFLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEUsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUN0QyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0seUJBQXlCLENBQUM7OztBQWdCdkQsTUFBTSxPQUFPLFlBQWEsU0FBUSxRQUFRO0lBYjFDOztRQWNFLFlBQU8sR0FBMEIsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0tBbUJuRDtJQWpCVSxVQUFVLENBQUMsS0FBb0I7UUFDdEMsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUMxQyxPQUFPO1FBQ1QsQ0FBQztRQUNELE1BQU0sTUFBTSxHQUFhLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFFakUsSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDckIsTUFBTSxJQUFJLEtBQUssQ0FBQywrRUFBK0UsQ0FBQyxDQUFDO1FBQ25HLENBQUM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQWE7UUFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QixDQUFDOzhHQW5CVSxZQUFZO2tHQUFaLFlBQVksc01BSlo7WUFDVCxFQUFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUM7U0FDckUsaURDakJILGdXQVVBLGdIREFJLGNBQWMsc2lCQUNkLG1CQUFtQjs7MkZBUVYsWUFBWTtrQkFieEIsU0FBUzsrQkFDRSxnQkFBZ0IsY0FDZCxJQUFJLFdBQ1A7d0JBQ1AsY0FBYzt3QkFDZCxtQkFBbUI7cUJBQ3BCLGFBR1U7d0JBQ1QsRUFBQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxjQUFjLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBQztxQkFDckUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgaW5wdXQsIElucHV0U2lnbmFsfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge05HX1ZBTFVFX0FDQ0VTU09SLCBSZWFjdGl2ZUZvcm1zTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHtCYXNlQ3RybH0gZnJvbSBcIi4uL2Jhc2UtY3RybFwiO1xyXG5pbXBvcnQge01hdFJhZGlvTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW9cIjtcclxuaW1wb3J0IHtPcHRpb259IGZyb20gXCIuLi8uLi9pbnRlcmZhY2VzL29wdGlvbi5pbnRlcmZhY2VcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImlzcy1jdHJsLXJhZGlvXCIsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBNYXRSYWRpb01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogXCIuL3JhZGlvLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmw6IFwiLi9yYWRpby5jb21wb25lbnQuc2Nzc1wiLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge3Byb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCB1c2VFeGlzdGluZzogUmFkaW9Db250cm9sLCBtdWx0aTogdHJ1ZX1cclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSYWRpb0NvbnRyb2wgZXh0ZW5kcyBCYXNlQ3RybCB7XHJcbiAgb3B0aW9uczogSW5wdXRTaWduYWw8T3B0aW9uW10+ID0gaW5wdXQucmVxdWlyZWQoKTtcclxuXHJcbiAgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nIHwgbnVsbCkge1xyXG4gICAgaWYgKHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgdmFsdWVzOiBzdHJpbmdbXSA9IHZhbHVlLnNwbGl0KFwiLFwiKS5tYXAodmFsID0+IHZhbC50cmltKCkpO1xyXG5cclxuICAgIGlmICh2YWx1ZXMubGVuZ3RoID4gMSkge1xyXG4gICAgICB0aGlzLmVtaXRWYWx1ZShudWxsKTtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiWW91IGNhbm5vdCBzZXQgbXVsdGlwbGUgdmFsdWVzIHdoaWxlIHRoZSBjb250cm9sIGlzIGluIHNpbmdsZSBzZWxlY3Rpb24gbW9kZSFcIik7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jdHJsLnNldFZhbHVlKHZhbHVlKTtcclxuICB9XHJcblxyXG4gIG9uUmFkaW9DaGFuZ2UodmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5lbWl0VmFsdWUodmFsdWUpO1xyXG4gIH1cclxufVxyXG4iLCI8bWF0LXJhZGlvLWdyb3VwIGFyaWEtbGFiZWw9XCJTZWxlY3QgYW4gb3B0aW9uXCI+XHJcbiAgQGZvciAob3B0aW9uIG9mIG9wdGlvbnMoKTsgdHJhY2sgb3B0aW9uLnZhbHVlKSB7XHJcbiAgICA8bWF0LXJhZGlvLWJ1dHRvblxyXG4gICAgICBbdmFsdWVdPVwib3B0aW9uLnZhbHVlXCJcclxuICAgICAgW2NoZWNrZWRdPVwiY3RybC52YWx1ZSA9PT0gb3B0aW9uLnZhbHVlXCJcclxuICAgICAgKGNoYW5nZSk9XCJvblJhZGlvQ2hhbmdlKG9wdGlvbi52YWx1ZSlcIlxyXG4gICAgPnt7IG9wdGlvbi5sYWJlbCB9fVxyXG4gICAgPC9tYXQtcmFkaW8tYnV0dG9uPlxyXG4gIH1cclxuPC9tYXQtcmFkaW8tZ3JvdXA+XHJcbiJdfQ==
|