iss-ctrl 0.0.11 → 0.0.13
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/fesm2022/{iss-ctrl-iss-ctrl-hz0ibyPg.mjs → iss-ctrl-iss-ctrl-BN9rcLt2.mjs} +1293 -198
- package/fesm2022/iss-ctrl-iss-ctrl-BN9rcLt2.mjs.map +1 -0
- package/fesm2022/iss-ctrl-iss-ctrl-DOmgkxUv.mjs +8924 -0
- package/fesm2022/iss-ctrl-iss-ctrl-DOmgkxUv.mjs.map +1 -0
- package/fesm2022/iss-ctrl-iss-ctrl-WfIqBEcL.mjs +8913 -0
- package/fesm2022/iss-ctrl-iss-ctrl-WfIqBEcL.mjs.map +1 -0
- package/fesm2022/{iss-ctrl-load-event-BW5dKG8R.mjs → iss-ctrl-load-event-AgBohfHa.mjs} +3 -3
- package/fesm2022/{iss-ctrl-load-event-BW5dKG8R.mjs.map → iss-ctrl-load-event-AgBohfHa.mjs.map} +1 -1
- package/fesm2022/iss-ctrl-load-event-D70VZuyD.mjs +60 -0
- package/fesm2022/iss-ctrl-load-event-D70VZuyD.mjs.map +1 -0
- package/fesm2022/iss-ctrl-load-event-SlQmVmyf.mjs +60 -0
- package/fesm2022/iss-ctrl-load-event-SlQmVmyf.mjs.map +1 -0
- package/fesm2022/{iss-ctrl-load-options-event-ClX9TiiD.mjs → iss-ctrl-load-options-event-CBejHpME.mjs} +3 -3
- package/fesm2022/{iss-ctrl-load-options-event-ClX9TiiD.mjs.map → iss-ctrl-load-options-event-CBejHpME.mjs.map} +1 -1
- package/fesm2022/iss-ctrl-load-options-event-ClQPHNBO.mjs +50 -0
- package/fesm2022/iss-ctrl-load-options-event-ClQPHNBO.mjs.map +1 -0
- package/fesm2022/iss-ctrl-load-options-event-DHmaMAOb.mjs +50 -0
- package/fesm2022/iss-ctrl-load-options-event-DHmaMAOb.mjs.map +1 -0
- package/fesm2022/{iss-ctrl-load-value-event-DThpI9BA.mjs → iss-ctrl-load-value-event-Bu9-rZ6T.mjs} +3 -3
- package/fesm2022/{iss-ctrl-load-value-event-DThpI9BA.mjs.map → iss-ctrl-load-value-event-Bu9-rZ6T.mjs.map} +1 -1
- package/fesm2022/iss-ctrl-load-value-event-CDAKsE_O.mjs +52 -0
- package/fesm2022/iss-ctrl-load-value-event-CDAKsE_O.mjs.map +1 -0
- package/fesm2022/iss-ctrl-load-value-event-Cpuy1og1.mjs +52 -0
- package/fesm2022/iss-ctrl-load-value-event-Cpuy1og1.mjs.map +1 -0
- package/fesm2022/{iss-ctrl-note.field-4uLl0oS_.mjs → iss-ctrl-note.field-C9cVaAz0.mjs} +24 -2
- package/fesm2022/iss-ctrl-note.field-C9cVaAz0.mjs.map +1 -0
- package/fesm2022/iss-ctrl-note.field-IM4x1O3b.mjs +65 -0
- package/fesm2022/iss-ctrl-note.field-IM4x1O3b.mjs.map +1 -0
- package/fesm2022/iss-ctrl-note.field-onDjqI_X.mjs +65 -0
- package/fesm2022/iss-ctrl-note.field-onDjqI_X.mjs.map +1 -0
- package/fesm2022/{iss-ctrl-replace-api-keys-BQL9zimJ.mjs → iss-ctrl-replace-api-keys-CLP4wBYu.mjs} +2 -2
- package/fesm2022/{iss-ctrl-replace-api-keys-BQL9zimJ.mjs.map → iss-ctrl-replace-api-keys-CLP4wBYu.mjs.map} +1 -1
- package/fesm2022/iss-ctrl-replace-api-keys-Chwe42Nu.mjs +57 -0
- package/fesm2022/iss-ctrl-replace-api-keys-Chwe42Nu.mjs.map +1 -0
- package/fesm2022/iss-ctrl-replace-api-keys-CvhCKvNB.mjs +57 -0
- package/fesm2022/iss-ctrl-replace-api-keys-CvhCKvNB.mjs.map +1 -0
- package/fesm2022/{iss-ctrl-set-value-event-BbEYFBe3.mjs → iss-ctrl-set-value-event-C7YYwHZV.mjs} +2 -2
- package/fesm2022/{iss-ctrl-set-value-event-BbEYFBe3.mjs.map → iss-ctrl-set-value-event-C7YYwHZV.mjs.map} +1 -1
- package/fesm2022/iss-ctrl-set-value-event-CrpzRR6X.mjs +61 -0
- package/fesm2022/iss-ctrl-set-value-event-CrpzRR6X.mjs.map +1 -0
- package/fesm2022/iss-ctrl-set-value-event-DiHESiPT.mjs +61 -0
- package/fesm2022/iss-ctrl-set-value-event-DiHESiPT.mjs.map +1 -0
- package/fesm2022/iss-ctrl-table.field-BP-HMKO3.mjs +592 -0
- package/fesm2022/iss-ctrl-table.field-BP-HMKO3.mjs.map +1 -0
- package/fesm2022/iss-ctrl-table.field-CDSVakji.mjs +592 -0
- package/fesm2022/iss-ctrl-table.field-CDSVakji.mjs.map +1 -0
- package/fesm2022/{iss-ctrl-table.field-kPIwve-M.mjs → iss-ctrl-table.field-DxwfNXNc.mjs} +77 -2
- package/fesm2022/iss-ctrl-table.field-DxwfNXNc.mjs.map +1 -0
- package/fesm2022/{iss-ctrl-trigger-based-on-json-value-DuLD4SOS.mjs → iss-ctrl-trigger-based-on-json-value-CprcFCWi.mjs} +2 -2
- package/fesm2022/{iss-ctrl-trigger-based-on-json-value-DuLD4SOS.mjs.map → iss-ctrl-trigger-based-on-json-value-CprcFCWi.mjs.map} +1 -1
- package/fesm2022/iss-ctrl-trigger-based-on-json-value-DS4TR38v.mjs +24 -0
- package/fesm2022/iss-ctrl-trigger-based-on-json-value-DS4TR38v.mjs.map +1 -0
- package/fesm2022/iss-ctrl-trigger-based-on-json-value-Dp0EhVLA.mjs +24 -0
- package/fesm2022/iss-ctrl-trigger-based-on-json-value-Dp0EhVLA.mjs.map +1 -0
- package/fesm2022/{iss-ctrl-user-picker.field-l-0bW6lP.mjs → iss-ctrl-user-picker.field-8Jb1325c.mjs} +33 -8
- package/fesm2022/iss-ctrl-user-picker.field-8Jb1325c.mjs.map +1 -0
- package/fesm2022/iss-ctrl-user-picker.field-Mqi37i7D.mjs +225 -0
- package/fesm2022/iss-ctrl-user-picker.field-Mqi37i7D.mjs.map +1 -0
- package/fesm2022/iss-ctrl-user-picker.field-PxT_dZ_O.mjs +225 -0
- package/fesm2022/iss-ctrl-user-picker.field-PxT_dZ_O.mjs.map +1 -0
- package/fesm2022/iss-ctrl.mjs +1 -1
- package/package.json +1 -1
- package/types/iss-ctrl.d.ts +1115 -0
- package/upgrade.scss +16 -0
- package/fesm2022/iss-ctrl-iss-ctrl-hz0ibyPg.mjs.map +0 -1
- package/fesm2022/iss-ctrl-note.field-4uLl0oS_.mjs.map +0 -1
- package/fesm2022/iss-ctrl-table.field-kPIwve-M.mjs.map +0 -1
- package/fesm2022/iss-ctrl-user-picker.field-l-0bW6lP.mjs.map +0 -1
- package/src/components/controls/mobile/flags/ad.svg +0 -282
- package/src/components/controls/mobile/flags/ae.svg +0 -6
- package/src/components/controls/mobile/flags/af.svg +0 -9
- package/src/components/controls/mobile/flags/ag.svg +0 -15
- package/src/components/controls/mobile/flags/ai.svg +0 -35
- package/src/components/controls/mobile/flags/al.svg +0 -7
- package/src/components/controls/mobile/flags/am.svg +0 -5
- package/src/components/controls/mobile/flags/ao.svg +0 -19
- package/src/components/controls/mobile/flags/aq.svg +0 -45
- package/src/components/controls/mobile/flags/ar.svg +0 -66
- package/src/components/controls/mobile/flags/as.svg +0 -225
- package/src/components/controls/mobile/flags/at.svg +0 -4
- package/src/components/controls/mobile/flags/au.svg +0 -32
- package/src/components/controls/mobile/flags/aw.svg +0 -11
- package/src/components/controls/mobile/flags/ax.svg +0 -11
- package/src/components/controls/mobile/flags/az.svg +0 -11
- package/src/components/controls/mobile/flags/ba.svg +0 -18
- package/src/components/controls/mobile/flags/bb.svg +0 -11
- package/src/components/controls/mobile/flags/bd.svg +0 -4
- package/src/components/controls/mobile/flags/be.svg +0 -5
- package/src/components/controls/mobile/flags/bf.svg +0 -14
- package/src/components/controls/mobile/flags/bg.svg +0 -5
- package/src/components/controls/mobile/flags/bh.svg +0 -4
- package/src/components/controls/mobile/flags/bi.svg +0 -26
- package/src/components/controls/mobile/flags/bj.svg +0 -5
- package/src/components/controls/mobile/flags/bl.svg +0 -5
- package/src/components/controls/mobile/flags/bm.svg +0 -374
- package/src/components/controls/mobile/flags/bn.svg +0 -70
- package/src/components/controls/mobile/flags/bo.svg +0 -3625
- package/src/components/controls/mobile/flags/bq.svg +0 -5
- package/src/components/controls/mobile/flags/br.svg +0 -92
- package/src/components/controls/mobile/flags/bs.svg +0 -5
- package/src/components/controls/mobile/flags/bt.svg +0 -487
- package/src/components/controls/mobile/flags/bv.svg +0 -11
- package/src/components/controls/mobile/flags/bw.svg +0 -5
- package/src/components/controls/mobile/flags/by.svg +0 -15
- package/src/components/controls/mobile/flags/bz.svg +0 -629
- package/src/components/controls/mobile/flags/ca.svg +0 -7
- package/src/components/controls/mobile/flags/cc.svg +0 -33
- package/src/components/controls/mobile/flags/cd.svg +0 -5
- package/src/components/controls/mobile/flags/cf.svg +0 -7
- package/src/components/controls/mobile/flags/cg.svg +0 -5
- package/src/components/controls/mobile/flags/ch.svg +0 -4
- package/src/components/controls/mobile/flags/ci.svg +0 -5
- package/src/components/controls/mobile/flags/ck.svg +0 -29
- package/src/components/controls/mobile/flags/cl.svg +0 -14
- package/src/components/controls/mobile/flags/cm.svg +0 -15
- package/src/components/controls/mobile/flags/cn.svg +0 -11
- package/src/components/controls/mobile/flags/co.svg +0 -5
- package/src/components/controls/mobile/flags/cr.svg +0 -1332
- package/src/components/controls/mobile/flags/cu.svg +0 -6
- package/src/components/controls/mobile/flags/cv.svg +0 -24
- package/src/components/controls/mobile/flags/cw.svg +0 -16
- package/src/components/controls/mobile/flags/cx.svg +0 -24
- package/src/components/controls/mobile/flags/cy.svg +0 -13
- package/src/components/controls/mobile/flags/cz.svg +0 -5
- package/src/components/controls/mobile/flags/de.svg +0 -5
- package/src/components/controls/mobile/flags/dj.svg +0 -6
- package/src/components/controls/mobile/flags/dk.svg +0 -5
- package/src/components/controls/mobile/flags/dm.svg +0 -198
- package/src/components/controls/mobile/flags/do.svg +0 -238
- package/src/components/controls/mobile/flags/dz.svg +0 -5
- package/src/components/controls/mobile/flags/ec.svg +0 -1292
- package/src/components/controls/mobile/flags/ee.svg +0 -5
- package/src/components/controls/mobile/flags/eg.svg +0 -125
- package/src/components/controls/mobile/flags/eh.svg +0 -12
- package/src/components/controls/mobile/flags/er.svg +0 -9
- package/src/components/controls/mobile/flags/es.svg +0 -445
- package/src/components/controls/mobile/flags/et.svg +0 -16
- package/src/components/controls/mobile/flags/eu.svg +0 -28
- package/src/components/controls/mobile/flags/fi.svg +0 -5
- package/src/components/controls/mobile/flags/fj.svg +0 -203
- package/src/components/controls/mobile/flags/fk.svg +0 -922
- package/src/components/controls/mobile/flags/flags.png +0 -0
- package/src/components/controls/mobile/flags/flags@2x.png +0 -0
- package/src/components/controls/mobile/flags/fm.svg +0 -16
- package/src/components/controls/mobile/flags/fo.svg +0 -11
- package/src/components/controls/mobile/flags/fonts.css +0 -271
- package/src/components/controls/mobile/flags/fr.svg +0 -5
- package/src/components/controls/mobile/flags/ga.svg +0 -5
- package/src/components/controls/mobile/flags/gb-eng.svg +0 -7
- package/src/components/controls/mobile/flags/gb-nir.svg +0 -15
- package/src/components/controls/mobile/flags/gb-sct.svg +0 -11
- package/src/components/controls/mobile/flags/gb-wls.svg +0 -16
- package/src/components/controls/mobile/flags/gb.svg +0 -15
- package/src/components/controls/mobile/flags/gd.svg +0 -11
- package/src/components/controls/mobile/flags/ge.svg +0 -17
- package/src/components/controls/mobile/flags/gf.svg +0 -5
- package/src/components/controls/mobile/flags/gg.svg +0 -8
- package/src/components/controls/mobile/flags/gh.svg +0 -6
- package/src/components/controls/mobile/flags/gi.svg +0 -69
- package/src/components/controls/mobile/flags/gl.svg +0 -4
- package/src/components/controls/mobile/flags/gm.svg +0 -7
- package/src/components/controls/mobile/flags/gn.svg +0 -5
- package/src/components/controls/mobile/flags/gp.svg +0 -5
- package/src/components/controls/mobile/flags/gq.svg +0 -88
- package/src/components/controls/mobile/flags/gr.svg +0 -4
- package/src/components/controls/mobile/flags/gs.svg +0 -693
- package/src/components/controls/mobile/flags/gt.svg +0 -317
- package/src/components/controls/mobile/flags/gu.svg +0 -58
- package/src/components/controls/mobile/flags/gw.svg +0 -13
- package/src/components/controls/mobile/flags/gy.svg +0 -7
- package/src/components/controls/mobile/flags/hk.svg +0 -17
- package/src/components/controls/mobile/flags/hm.svg +0 -32
- package/src/components/controls/mobile/flags/hn.svg +0 -10
- package/src/components/controls/mobile/flags/hr.svg +0 -282
- package/src/components/controls/mobile/flags/ht.svg +0 -1470
- package/src/components/controls/mobile/flags/hu.svg +0 -5
- package/src/components/controls/mobile/flags/id.svg +0 -4
- package/src/components/controls/mobile/flags/ie.svg +0 -5
- package/src/components/controls/mobile/flags/il.svg +0 -5
- package/src/components/controls/mobile/flags/im.svg +0 -33
- package/src/components/controls/mobile/flags/in.svg +0 -25
- package/src/components/controls/mobile/flags/io.svg +0 -895
- package/src/components/controls/mobile/flags/iq.svg +0 -12
- package/src/components/controls/mobile/flags/ir.svg +0 -31
- package/src/components/controls/mobile/flags/is.svg +0 -5
- package/src/components/controls/mobile/flags/it.svg +0 -5
- package/src/components/controls/mobile/flags/je.svg +0 -40
- package/src/components/controls/mobile/flags/jm.svg +0 -9
- package/src/components/controls/mobile/flags/jo.svg +0 -10
- package/src/components/controls/mobile/flags/jp.svg +0 -4
- package/src/components/controls/mobile/flags/ke.svg +0 -28
- package/src/components/controls/mobile/flags/kg.svg +0 -7
- package/src/components/controls/mobile/flags/kh.svg +0 -133
- package/src/components/controls/mobile/flags/ki.svg +0 -54
- package/src/components/controls/mobile/flags/km.svg +0 -13
- package/src/components/controls/mobile/flags/kn.svg +0 -24
- package/src/components/controls/mobile/flags/kp.svg +0 -16
- package/src/components/controls/mobile/flags/kr.svg +0 -16
- package/src/components/controls/mobile/flags/kw.svg +0 -6
- package/src/components/controls/mobile/flags/ky.svg +0 -153
- package/src/components/controls/mobile/flags/kz.svg +0 -49
- package/src/components/controls/mobile/flags/la.svg +0 -5
- package/src/components/controls/mobile/flags/lb.svg +0 -8
- package/src/components/controls/mobile/flags/lc.svg +0 -6
- package/src/components/controls/mobile/flags/li.svg +0 -75
- package/src/components/controls/mobile/flags/lk.svg +0 -50
- package/src/components/controls/mobile/flags/lr.svg +0 -15
- package/src/components/controls/mobile/flags/ls.svg +0 -32
- package/src/components/controls/mobile/flags/lt.svg +0 -5
- package/src/components/controls/mobile/flags/lu.svg +0 -5
- package/src/components/controls/mobile/flags/lv.svg +0 -4
- package/src/components/controls/mobile/flags/ly.svg +0 -8
- package/src/components/controls/mobile/flags/ma.svg +0 -4
- package/src/components/controls/mobile/flags/mc.svg +0 -4
- package/src/components/controls/mobile/flags/md.svg +0 -102
- package/src/components/controls/mobile/flags/me.svg +0 -240
- package/src/components/controls/mobile/flags/mf.svg +0 -5
- package/src/components/controls/mobile/flags/mg.svg +0 -5
- package/src/components/controls/mobile/flags/mh.svg +0 -18
- package/src/components/controls/mobile/flags/mk.svg +0 -6
- package/src/components/controls/mobile/flags/ml.svg +0 -5
- package/src/components/controls/mobile/flags/mm.svg +0 -12
- package/src/components/controls/mobile/flags/mn.svg +0 -12
- package/src/components/controls/mobile/flags/mo.svg +0 -13
- package/src/components/controls/mobile/flags/mp.svg +0 -2919
- package/src/components/controls/mobile/flags/mq.svg +0 -5
- package/src/components/controls/mobile/flags/mr.svg +0 -5
- package/src/components/controls/mobile/flags/ms.svg +0 -59
- package/src/components/controls/mobile/flags/mt.svg +0 -52
- package/src/components/controls/mobile/flags/mu.svg +0 -6
- package/src/components/controls/mobile/flags/mv.svg +0 -8
- package/src/components/controls/mobile/flags/mw.svg +0 -24
- package/src/components/controls/mobile/flags/mx.svg +0 -1129
- package/src/components/controls/mobile/flags/my.svg +0 -12
- package/src/components/controls/mobile/flags/mz.svg +0 -50
- package/src/components/controls/mobile/flags/na.svg +0 -17
- package/src/components/controls/mobile/flags/nc.svg +0 -5
- package/src/components/controls/mobile/flags/ne.svg +0 -6
- package/src/components/controls/mobile/flags/nf.svg +0 -8
- package/src/components/controls/mobile/flags/ng.svg +0 -4
- package/src/components/controls/mobile/flags/ni.svg +0 -281
- package/src/components/controls/mobile/flags/nl.svg +0 -5
- package/src/components/controls/mobile/flags/no.svg +0 -11
- package/src/components/controls/mobile/flags/np.svg +0 -33
- package/src/components/controls/mobile/flags/nr.svg +0 -8
- package/src/components/controls/mobile/flags/nu.svg +0 -23
- package/src/components/controls/mobile/flags/nz.svg +0 -37
- package/src/components/controls/mobile/flags/om.svg +0 -307
- package/src/components/controls/mobile/flags/pa.svg +0 -15
- package/src/components/controls/mobile/flags/pe.svg +0 -767
- package/src/components/controls/mobile/flags/pf.svg +0 -38
- package/src/components/controls/mobile/flags/pg.svg +0 -16
- package/src/components/controls/mobile/flags/ph.svg +0 -28
- package/src/components/controls/mobile/flags/pk.svg +0 -7
- package/src/components/controls/mobile/flags/pl.svg +0 -4
- package/src/components/controls/mobile/flags/pm.svg +0 -5
- package/src/components/controls/mobile/flags/pn.svg +0 -131
- package/src/components/controls/mobile/flags/pr.svg +0 -6
- package/src/components/controls/mobile/flags/ps.svg +0 -6
- package/src/components/controls/mobile/flags/pt.svg +0 -79
- package/src/components/controls/mobile/flags/pw.svg +0 -4
- package/src/components/controls/mobile/flags/py.svg +0 -192
- package/src/components/controls/mobile/flags/qa.svg +0 -7
- package/src/components/controls/mobile/flags/re.svg +0 -5
- package/src/components/controls/mobile/flags/ro.svg +0 -5
- package/src/components/controls/mobile/flags/rs.svg +0 -1143
- package/src/components/controls/mobile/flags/ru.svg +0 -5
- package/src/components/controls/mobile/flags/rw.svg +0 -17
- package/src/components/controls/mobile/flags/sa.svg +0 -23
- package/src/components/controls/mobile/flags/sb.svg +0 -30
- package/src/components/controls/mobile/flags/sc.svg +0 -7
- package/src/components/controls/mobile/flags/sd.svg +0 -6
- package/src/components/controls/mobile/flags/se.svg +0 -5
- package/src/components/controls/mobile/flags/sg.svg +0 -15
- package/src/components/controls/mobile/flags/sh.svg +0 -15
- package/src/components/controls/mobile/flags/si.svg +0 -30
- package/src/components/controls/mobile/flags/sj.svg +0 -11
- package/src/components/controls/mobile/flags/sk.svg +0 -21
- package/src/components/controls/mobile/flags/sl.svg +0 -5
- package/src/components/controls/mobile/flags/sm.svg +0 -847
- package/src/components/controls/mobile/flags/sn.svg +0 -15
- package/src/components/controls/mobile/flags/so.svg +0 -13
- package/src/components/controls/mobile/flags/sr.svg +0 -6
- package/src/components/controls/mobile/flags/ss.svg +0 -8
- package/src/components/controls/mobile/flags/st.svg +0 -16
- package/src/components/controls/mobile/flags/stc-icons.css +0 -1
- package/src/components/controls/mobile/flags/sv.svg +0 -3368
- package/src/components/controls/mobile/flags/sx.svg +0 -172
- package/src/components/controls/mobile/flags/sy.svg +0 -6
- package/src/components/controls/mobile/flags/sz.svg +0 -54
- package/src/components/controls/mobile/flags/tc.svg +0 -88
- package/src/components/controls/mobile/flags/td.svg +0 -5
- package/src/components/controls/mobile/flags/tf.svg +0 -18
- package/src/components/controls/mobile/flags/tg.svg +0 -15
- package/src/components/controls/mobile/flags/th.svg +0 -5
- package/src/components/controls/mobile/flags/tj.svg +0 -32
- package/src/components/controls/mobile/flags/tk.svg +0 -25
- package/src/components/controls/mobile/flags/tl.svg +0 -6
- package/src/components/controls/mobile/flags/tm.svg +0 -349
- package/src/components/controls/mobile/flags/tn.svg +0 -9
- package/src/components/controls/mobile/flags/to.svg +0 -8
- package/src/components/controls/mobile/flags/tr.svg +0 -6
- package/src/components/controls/mobile/flags/tt.svg +0 -5
- package/src/components/controls/mobile/flags/tv.svg +0 -18
- package/src/components/controls/mobile/flags/tw.svg +0 -12
- package/src/components/controls/mobile/flags/tz.svg +0 -13
- package/src/components/controls/mobile/flags/ua.svg +0 -4
- package/src/components/controls/mobile/flags/ug.svg +0 -46
- package/src/components/controls/mobile/flags/um.svg +0 -25
- package/src/components/controls/mobile/flags/us.svg +0 -25
- package/src/components/controls/mobile/flags/uy.svg +0 -138
- package/src/components/controls/mobile/flags/uz.svg +0 -30
- package/src/components/controls/mobile/flags/va.svg +0 -277
- package/src/components/controls/mobile/flags/vc.svg +0 -9
- package/src/components/controls/mobile/flags/ve.svg +0 -28
- package/src/components/controls/mobile/flags/vg.svg +0 -96
- package/src/components/controls/mobile/flags/vi.svg +0 -311
- package/src/components/controls/mobile/flags/vn.svg +0 -12
- package/src/components/controls/mobile/flags/vu.svg +0 -20
- package/src/components/controls/mobile/flags/wf.svg +0 -7
- package/src/components/controls/mobile/flags/ws.svg +0 -14
- package/src/components/controls/mobile/flags/xk.svg +0 -11
- package/src/components/controls/mobile/flags/ye.svg +0 -5
- package/src/components/controls/mobile/flags/yt.svg +0 -5
- package/src/components/controls/mobile/flags/za.svg +0 -17
- package/src/components/controls/mobile/flags/zm.svg +0 -20
- package/src/components/controls/mobile/flags/zw.svg +0 -130
- package/src/upgrade.scss +0 -68
package/types/iss-ctrl.d.ts
CHANGED
|
@@ -20,19 +20,102 @@ interface Hint {
|
|
|
20
20
|
align: HintAlignment;
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
+
/**
|
|
24
|
+
* Base class for every `iss-ctrl-*` control.
|
|
25
|
+
*
|
|
26
|
+
* Controls are the presentational layer: they know nothing about {@link IssField} and are
|
|
27
|
+
* driven purely by bindings, so they can be used standalone inside any reactive form.
|
|
28
|
+
* Every control below inherits the properties declared here and adds its own on top.
|
|
29
|
+
*
|
|
30
|
+
* ### Inherited inputs
|
|
31
|
+
* | Property | Type | Default | Description |
|
|
32
|
+
* | --- | --- | --- | --- |
|
|
33
|
+
* | `formControlName` | `string` | `""` | Name of the control in the surrounding `FormGroup`. |
|
|
34
|
+
* | `placeholder` | `string` | `""` | Placeholder text shown while the field is empty. |
|
|
35
|
+
* | `readonly` | `boolean` | `false` | Renders the value but blocks every interaction. |
|
|
36
|
+
* | `multiple` | `boolean \| undefined` | `false` | Allows more than one value, where the control supports it. |
|
|
37
|
+
* | `min` | `number \| string \| null` | `null` | Lower bound (number or date/time string). |
|
|
38
|
+
* | `max` | `number \| string \| null` | `null` | Upper bound (number or date/time string). |
|
|
39
|
+
* | `minLength` | `number \| null` | `null` | Minimum number of characters. |
|
|
40
|
+
* | `maxLength` | `number \| null` | `null` | Maximum number of characters. |
|
|
41
|
+
* | `hints` | `Hint[]` | `[]` | Helper messages rendered under the field. |
|
|
42
|
+
* | `className` | `string \| null` | `null` | Extra CSS classes for the host. |
|
|
43
|
+
*
|
|
44
|
+
* ### Inherited outputs
|
|
45
|
+
* | Event | Payload | Description |
|
|
46
|
+
* | --- | --- | --- |
|
|
47
|
+
* | `(onChange)` | `any` | Fires after every committed value change. |
|
|
48
|
+
*
|
|
49
|
+
* ### Not inputs
|
|
50
|
+
* `disabled` and `touched` are signals owned by the control. Disable a control through the
|
|
51
|
+
* forms API (`ctrl.disable()` or a `disabled` field config), never with a template binding.
|
|
52
|
+
*
|
|
53
|
+
* ### Content projection
|
|
54
|
+
* Controls that render a `mat-form-field` project `<label>` into the floating label.
|
|
55
|
+
* An omitted label — or one that interpolates to an empty string — leaves `<mat-label>`
|
|
56
|
+
* empty, and `upgrade.scss` collapses the floating-label space for it. No label markup is
|
|
57
|
+
* removed at runtime, so a label that arrives later simply shows up.
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* ```html
|
|
61
|
+
* <iss-ctrl-input formControlName="email" [readonly]="false" (onChange)="save($event)">
|
|
62
|
+
* <label>Email</label>
|
|
63
|
+
* </iss-ctrl-input>
|
|
64
|
+
* ```
|
|
65
|
+
*/
|
|
23
66
|
declare class ControlBase implements ControlValueAccessor, Validator {
|
|
67
|
+
/**
|
|
68
|
+
* Name of this control inside the surrounding `FormGroup`.
|
|
69
|
+
*/
|
|
24
70
|
formControlName: InputSignal<string>;
|
|
71
|
+
/**
|
|
72
|
+
* Lower bound forwarded to the underlying input — a number, or a date/time string.
|
|
73
|
+
*/
|
|
25
74
|
min: InputSignal<number | string | null>;
|
|
75
|
+
/**
|
|
76
|
+
* Upper bound forwarded to the underlying input — a number, or a date/time string.
|
|
77
|
+
*/
|
|
26
78
|
max: InputSignal<number | string | null>;
|
|
79
|
+
/**
|
|
80
|
+
* Minimum number of characters accepted by the underlying input.
|
|
81
|
+
*/
|
|
27
82
|
minLength: InputSignal<number | null>;
|
|
83
|
+
/**
|
|
84
|
+
* Maximum number of characters accepted by the underlying input.
|
|
85
|
+
*/
|
|
28
86
|
maxLength: InputSignal<number | null>;
|
|
87
|
+
/**
|
|
88
|
+
* Disabled state. **Not an input** — it is set by the forms API through
|
|
89
|
+
* {@link ControlBase.setDisabledState}. Disable via `ctrl.disable()` or the field config.
|
|
90
|
+
*/
|
|
29
91
|
disabled: WritableSignal<boolean>;
|
|
92
|
+
/**
|
|
93
|
+
* Renders the current value but blocks every user interaction.
|
|
94
|
+
*/
|
|
30
95
|
readonly: InputSignal<boolean>;
|
|
96
|
+
/**
|
|
97
|
+
* Allows selecting/entering more than one value, on controls that support it.
|
|
98
|
+
*/
|
|
31
99
|
multiple: InputSignal<boolean | undefined>;
|
|
100
|
+
/**
|
|
101
|
+
* Placeholder text shown while the control has no value.
|
|
102
|
+
*/
|
|
32
103
|
placeholder: InputSignal<string>;
|
|
104
|
+
/**
|
|
105
|
+
* Helper messages rendered beneath the field. See {@link Hint}.
|
|
106
|
+
*/
|
|
33
107
|
hints: InputSignal<Hint[]>;
|
|
108
|
+
/**
|
|
109
|
+
* Extra CSS class names applied to the control host.
|
|
110
|
+
*/
|
|
34
111
|
className: InputSignal<string | null>;
|
|
112
|
+
/**
|
|
113
|
+
* Whether the user has interacted with the control. Owned by the control, not an input.
|
|
114
|
+
*/
|
|
35
115
|
touched: WritableSignal<boolean>;
|
|
116
|
+
/**
|
|
117
|
+
* Emits the committed value after every change.
|
|
118
|
+
*/
|
|
36
119
|
onChange: OutputEmitterRef<any>;
|
|
37
120
|
protected ctrl: FormControl;
|
|
38
121
|
registerOnChange(fn: () => void): void;
|
|
@@ -50,9 +133,36 @@ declare class ControlBase implements ControlValueAccessor, Validator {
|
|
|
50
133
|
static ɵcmp: i0.ɵɵComponentDeclaration<ControlBase, "ng-component", never, { "formControlName": { "alias": "formControlName"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "minLength": { "alias": "minLength"; "required": false; "isSignal": true; }; "maxLength": { "alias": "maxLength"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "hints": { "alias": "hints"; "required": false; "isSignal": true; }; "className": { "alias": "className"; "required": false; "isSignal": true; }; }, { "onChange": "onChange"; }, never, never, true, never>;
|
|
51
134
|
}
|
|
52
135
|
|
|
136
|
+
/**
|
|
137
|
+
* `<iss-ctrl-checkbox>` — a list of checkboxes over a fixed set of options.
|
|
138
|
+
*
|
|
139
|
+
* The form value is the comma separated list of selected option values, while `(onChange)`
|
|
140
|
+
* emits the resolved `Option[]` (or `null` when nothing is selected).
|
|
141
|
+
*
|
|
142
|
+
* @example
|
|
143
|
+
* ```html
|
|
144
|
+
* <iss-ctrl-checkbox formControlName="days" [options]="days" (onChange)="pick($event)"/>
|
|
145
|
+
* ```
|
|
146
|
+
*
|
|
147
|
+
* ### Own inputs
|
|
148
|
+
* | Property | Type | Default | Description |
|
|
149
|
+
* | --- | --- | --- | --- |
|
|
150
|
+
* | `options` | `Option[]` | **required** | The selectable choices. |
|
|
151
|
+
*
|
|
152
|
+
* ### Inherited from {@link ControlBase}
|
|
153
|
+
* `formControlName` · `readonly` · `className` · `(onChange)`
|
|
154
|
+
*
|
|
155
|
+
* Does not project a label — the field label is rendered by the wrapping `iss-field-*`.
|
|
156
|
+
*/
|
|
53
157
|
declare class CheckboxControl extends ControlBase {
|
|
54
158
|
#private;
|
|
159
|
+
/**
|
|
160
|
+
* Selectable choices, each a `{ value, label }` pair. Required.
|
|
161
|
+
*/
|
|
55
162
|
options: InputSignal<Option[]>;
|
|
163
|
+
/**
|
|
164
|
+
* Currently checked options, keyed by value. Internal state, not an input.
|
|
165
|
+
*/
|
|
56
166
|
selectedOptions: WritableSignal<Map<string, Option>>;
|
|
57
167
|
writeValue(value: string | null): void;
|
|
58
168
|
addToSelectedOptionsMap(option: Map<string, Option>): void;
|
|
@@ -63,8 +173,32 @@ declare class CheckboxControl extends ControlBase {
|
|
|
63
173
|
static ɵcmp: i0.ɵɵComponentDeclaration<CheckboxControl, "iss-ctrl-checkbox", never, { "options": { "alias": "options"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
64
174
|
}
|
|
65
175
|
|
|
176
|
+
/**
|
|
177
|
+
* `<iss-ctrl-chips>` — free text entered as removable chips.
|
|
178
|
+
*
|
|
179
|
+
* Each `Enter` turns the typed text into a chip. The form value is the comma separated list
|
|
180
|
+
* of chip labels.
|
|
181
|
+
*
|
|
182
|
+
* @example
|
|
183
|
+
* ```html
|
|
184
|
+
* <iss-ctrl-chips formControlName="tags" placeholder="Add a tag">
|
|
185
|
+
* <label>Tags</label>
|
|
186
|
+
* </iss-ctrl-chips>
|
|
187
|
+
* ```
|
|
188
|
+
*
|
|
189
|
+
* ### Own inputs
|
|
190
|
+
* None — the control is configured entirely through the inherited properties.
|
|
191
|
+
*
|
|
192
|
+
* ### Inherited from {@link ControlBase}
|
|
193
|
+
* `formControlName` · `readonly` · `className` · `(onChange)` · `placeholder`
|
|
194
|
+
*
|
|
195
|
+
* Projects `<label>` into the floating label; omit it to render the control without one.
|
|
196
|
+
*/
|
|
66
197
|
declare class ChipsControl extends ControlBase {
|
|
67
198
|
#private;
|
|
199
|
+
/**
|
|
200
|
+
* The chips currently rendered. Internal state, not an input.
|
|
201
|
+
*/
|
|
68
202
|
readonly keywords: WritableSignal<string[]>;
|
|
69
203
|
writeValue(value: string | null): void;
|
|
70
204
|
remove(keyword: string): void;
|
|
@@ -73,9 +207,43 @@ declare class ChipsControl extends ControlBase {
|
|
|
73
207
|
static ɵcmp: i0.ɵɵComponentDeclaration<ChipsControl, "iss-ctrl-chips", never, {}, {}, never, ["label"], true, never>;
|
|
74
208
|
}
|
|
75
209
|
|
|
210
|
+
/**
|
|
211
|
+
* `<iss-ctrl-date-picker>` — single date selection through a Material calendar.
|
|
212
|
+
*
|
|
213
|
+
* The input itself is read-only; clicking it opens the calendar. The emitted value is a
|
|
214
|
+
* `yyyy-MM-dd` string, and a clear button appears once a date is picked.
|
|
215
|
+
*
|
|
216
|
+
* @example
|
|
217
|
+
* ```html
|
|
218
|
+
* <iss-ctrl-date-picker formControlName="startsOn" [minDate]="today" [disabledDays]="[5, 6]">
|
|
219
|
+
* <label>Start date</label>
|
|
220
|
+
* </iss-ctrl-date-picker>
|
|
221
|
+
* ```
|
|
222
|
+
*
|
|
223
|
+
* ### Own inputs
|
|
224
|
+
* | Property | Type | Default | Description |
|
|
225
|
+
* | --- | --- | --- | --- |
|
|
226
|
+
* | `minDate` | `Date \| null` | `null` | Earliest selectable date. |
|
|
227
|
+
* | `maxDate` | `Date \| null` | `null` | Latest selectable date. |
|
|
228
|
+
* | `disabledDays` | `number[]` | `[]` | Week days to block, `0` = Sunday … `6` = Saturday. |
|
|
229
|
+
*
|
|
230
|
+
* ### Inherited from {@link ControlBase}
|
|
231
|
+
* `formControlName` · `readonly` · `className` · `(onChange)`
|
|
232
|
+
*
|
|
233
|
+
* Projects `<label>` into the floating label; omit it to render the control without one.
|
|
234
|
+
*/
|
|
76
235
|
declare class DatePickerControl extends ControlBase implements Validator {
|
|
236
|
+
/**
|
|
237
|
+
* Week days that cannot be selected — `0` is Sunday through `6` for Saturday.
|
|
238
|
+
*/
|
|
77
239
|
disabledDays: InputSignal<number[]>;
|
|
240
|
+
/**
|
|
241
|
+
* Earliest selectable date.
|
|
242
|
+
*/
|
|
78
243
|
minDate: InputSignal<Date | null>;
|
|
244
|
+
/**
|
|
245
|
+
* Latest selectable date.
|
|
246
|
+
*/
|
|
79
247
|
maxDate: InputSignal<Date | null>;
|
|
80
248
|
clear(event: MouseEvent): void;
|
|
81
249
|
protected calendarDaysFilter: (d: Date | null) => boolean;
|
|
@@ -91,12 +259,56 @@ interface DateRangeEmission {
|
|
|
91
259
|
end: string;
|
|
92
260
|
}
|
|
93
261
|
|
|
262
|
+
/**
|
|
263
|
+
* `<iss-ctrl-date-range-picker>` — a start/end date range in one field.
|
|
264
|
+
*
|
|
265
|
+
* A half-filled range is not a value: clearing either endpoint clears the form value and
|
|
266
|
+
* emits `null`. The form value is a `yyyy-MM-dd` string pair; `(onDateRangeObjectChange)`
|
|
267
|
+
* emits the same range as a {@link DateRangeEmission} object.
|
|
268
|
+
*
|
|
269
|
+
* @example
|
|
270
|
+
* ```html
|
|
271
|
+
* <iss-ctrl-date-range-picker formControlName="period" (onDateRangeObjectChange)="apply($event)">
|
|
272
|
+
* <label>Period</label>
|
|
273
|
+
* </iss-ctrl-date-range-picker>
|
|
274
|
+
* ```
|
|
275
|
+
*
|
|
276
|
+
* ### Own inputs
|
|
277
|
+
* | Property | Type | Default | Description |
|
|
278
|
+
* | --- | --- | --- | --- |
|
|
279
|
+
* | `minDate` | `Date \| null` | `null` | Earliest selectable date. |
|
|
280
|
+
* | `maxDate` | `Date \| null` | `null` | Latest selectable date. |
|
|
281
|
+
* | `disabledDays` | `number[]` | `[]` | Week days to block, `0` = Sunday … `6` = Saturday. |
|
|
282
|
+
*
|
|
283
|
+
* ### Inherited from {@link ControlBase}
|
|
284
|
+
* `formControlName` · `readonly` · `className` · `(onChange)`
|
|
285
|
+
*
|
|
286
|
+
* ### Outputs
|
|
287
|
+
* - `(onDateRangeObjectChange)` — `DateRangeEmission | null`, the range as an object.
|
|
288
|
+
*
|
|
289
|
+
* Projects `<label>` into the floating label; omit it to render the control without one.
|
|
290
|
+
*/
|
|
94
291
|
declare class DateRangePickerControl extends ControlBase implements OnInit, OnDestroy {
|
|
95
292
|
#private;
|
|
293
|
+
/**
|
|
294
|
+
* Week days that cannot be selected — `0` is Sunday through `6` for Saturday.
|
|
295
|
+
*/
|
|
96
296
|
disabledDays: InputSignal<number[]>;
|
|
297
|
+
/**
|
|
298
|
+
* Earliest selectable date.
|
|
299
|
+
*/
|
|
97
300
|
minDate: InputSignal<Date | null>;
|
|
301
|
+
/**
|
|
302
|
+
* Latest selectable date.
|
|
303
|
+
*/
|
|
98
304
|
maxDate: InputSignal<Date | null>;
|
|
305
|
+
/**
|
|
306
|
+
* Emits the selected range as an object, or `null` while the range is incomplete.
|
|
307
|
+
*/
|
|
99
308
|
onDateRangeObjectChange: OutputEmitterRef<DateRangeEmission | null>;
|
|
309
|
+
/**
|
|
310
|
+
* The `start`/`end` form group backing the range input. Internal state.
|
|
311
|
+
*/
|
|
100
312
|
readonly range: FormGroup;
|
|
101
313
|
ngOnInit(): void;
|
|
102
314
|
setDisabledState(isDisabled: boolean): void;
|
|
@@ -109,13 +321,55 @@ declare class DateRangePickerControl extends ControlBase implements OnInit, OnDe
|
|
|
109
321
|
static ɵcmp: i0.ɵɵComponentDeclaration<DateRangePickerControl, "iss-ctrl-date-range-picker", never, { "disabledDays": { "alias": "disabledDays"; "required": false; "isSignal": true; }; "minDate": { "alias": "minDate"; "required": false; "isSignal": true; }; "maxDate": { "alias": "maxDate"; "required": false; "isSignal": true; }; }, { "onDateRangeObjectChange": "onDateRangeObjectChange"; }, never, ["label"], true, never>;
|
|
110
322
|
}
|
|
111
323
|
|
|
324
|
+
/**
|
|
325
|
+
* `<iss-ctrl-datetime-picker>` — a date and a time in a single field.
|
|
326
|
+
*
|
|
327
|
+
* Combines the calendar of the date picker with the time list of the time picker; both parts
|
|
328
|
+
* must be set before a value is emitted.
|
|
329
|
+
*
|
|
330
|
+
* @example
|
|
331
|
+
* ```html
|
|
332
|
+
* <iss-ctrl-datetime-picker formControlName="scheduledAt" [minDate]="today" minTime="08:00" maxTime="17:00">
|
|
333
|
+
* <label>Scheduled at</label>
|
|
334
|
+
* </iss-ctrl-datetime-picker>
|
|
335
|
+
* ```
|
|
336
|
+
*
|
|
337
|
+
* ### Own inputs
|
|
338
|
+
* | Property | Type | Default | Description |
|
|
339
|
+
* | --- | --- | --- | --- |
|
|
340
|
+
* | `minDate` | `Date \| null` | `null` | Earliest selectable date. |
|
|
341
|
+
* | `maxDate` | `Date \| null` | `null` | Latest selectable date. |
|
|
342
|
+
* | `minTime` | `string \| null` | `null` | Earliest selectable time, `HH:mm`. |
|
|
343
|
+
* | `maxTime` | `string \| null` | `null` | Latest selectable time, `HH:mm`. |
|
|
344
|
+
* | `disabledDays` | `number[]` | `[]` | Week days to block, `0` = Sunday … `6` = Saturday. |
|
|
345
|
+
*
|
|
346
|
+
* ### Inherited from {@link ControlBase}
|
|
347
|
+
* `formControlName` · `readonly` · `className` · `(onChange)`
|
|
348
|
+
*
|
|
349
|
+
* Projects `<label>` into the floating label; omit it to render the control without one.
|
|
350
|
+
*/
|
|
112
351
|
declare class DatetimePickerControl extends ControlBase {
|
|
113
352
|
#private;
|
|
114
353
|
datetimeForm: FormGroup;
|
|
354
|
+
/**
|
|
355
|
+
* Week days that cannot be selected — `0` is Sunday through `6` for Saturday.
|
|
356
|
+
*/
|
|
115
357
|
disabledDays: InputSignal<number[]>;
|
|
358
|
+
/**
|
|
359
|
+
* Earliest selectable date.
|
|
360
|
+
*/
|
|
116
361
|
minDate: InputSignal<Date | null>;
|
|
362
|
+
/**
|
|
363
|
+
* Latest selectable date.
|
|
364
|
+
*/
|
|
117
365
|
maxDate: InputSignal<Date | null>;
|
|
366
|
+
/**
|
|
367
|
+
* Earliest selectable time of day, as `HH:mm`.
|
|
368
|
+
*/
|
|
118
369
|
minTime: InputSignal<string | null>;
|
|
370
|
+
/**
|
|
371
|
+
* Latest selectable time of day, as `HH:mm`.
|
|
372
|
+
*/
|
|
119
373
|
maxTime: InputSignal<string | null>;
|
|
120
374
|
setDisabledState(isDisabled: boolean): void;
|
|
121
375
|
emit(): void;
|
|
@@ -141,13 +395,63 @@ interface IssFile {
|
|
|
141
395
|
file?: File;
|
|
142
396
|
}
|
|
143
397
|
|
|
398
|
+
/**
|
|
399
|
+
* `<iss-ctrl-file-picker>` — attachment upload with a per-file progress and error state.
|
|
400
|
+
*
|
|
401
|
+
* Uploading is done by the host: the control emits the picked files and renders whatever is
|
|
402
|
+
* fed back through `uploadedFiles`, `uploading` and `uploadingError`.
|
|
403
|
+
*
|
|
404
|
+
* @example
|
|
405
|
+
* ```html
|
|
406
|
+
* <iss-ctrl-file-picker
|
|
407
|
+
* formControlName="attachments"
|
|
408
|
+
* [multiple]="true"
|
|
409
|
+
* accept=".pdf,.png"
|
|
410
|
+
* [uploading]="uploading()"
|
|
411
|
+
* [uploadedFiles]="uploaded()"
|
|
412
|
+
* />
|
|
413
|
+
* ```
|
|
414
|
+
*
|
|
415
|
+
* ### Own inputs
|
|
416
|
+
* | Property | Type | Default | Description |
|
|
417
|
+
* | --- | --- | --- | --- |
|
|
418
|
+
* | `accept` | `string \| undefined` | `undefined` | Accepted extensions or MIME types for the native picker. |
|
|
419
|
+
* | `showDownloadButton` | `boolean` | `true` | Shows the download action on each attachment. |
|
|
420
|
+
* | `showDeleteButton` | `boolean` | `true` | Shows the remove action on each attachment. |
|
|
421
|
+
* | `uploading` | `boolean` | `false` | Renders the in-progress state. |
|
|
422
|
+
* | `uploadedFiles` | `IssAttachment[]` | `[]` | Files already stored on the server. |
|
|
423
|
+
* | `uploadingError` | `string \| undefined` | `undefined` | Error message attached to the failed upload. |
|
|
424
|
+
*
|
|
425
|
+
* ### Inherited from {@link ControlBase}
|
|
426
|
+
* `formControlName` · `readonly` · `className` · `(onChange)` · `multiple` · `hints`
|
|
427
|
+
*
|
|
428
|
+
* Does not project a label — the field label is rendered by the wrapping `iss-field-*`.
|
|
429
|
+
*/
|
|
144
430
|
declare class FilePickerControl extends ControlBase implements OnDestroy {
|
|
145
431
|
#private;
|
|
432
|
+
/**
|
|
433
|
+
* Accepted extensions or MIME types, passed straight to the native file input.
|
|
434
|
+
*/
|
|
146
435
|
accept: InputSignal<string | undefined>;
|
|
436
|
+
/**
|
|
437
|
+
* Shows the download action on each listed attachment.
|
|
438
|
+
*/
|
|
147
439
|
showDownloadButton: InputSignal<boolean>;
|
|
440
|
+
/**
|
|
441
|
+
* Shows the remove action on each listed attachment.
|
|
442
|
+
*/
|
|
148
443
|
showDeleteButton: InputSignal<boolean>;
|
|
444
|
+
/**
|
|
445
|
+
* Renders the upload-in-progress state; set by the host that performs the upload.
|
|
446
|
+
*/
|
|
149
447
|
uploading: InputSignal<boolean>;
|
|
448
|
+
/**
|
|
449
|
+
* Attachments already stored on the server, merged into the rendered list.
|
|
450
|
+
*/
|
|
150
451
|
uploadedFiles: InputSignal<IssAttachment[]>;
|
|
452
|
+
/**
|
|
453
|
+
* Error message shown on the attachment whose upload failed.
|
|
454
|
+
*/
|
|
151
455
|
uploadingError: InputSignal<string | undefined>;
|
|
152
456
|
readonly filesValue: Signal<any>;
|
|
153
457
|
protected attachments: WritableSignal<IssFile[]>;
|
|
@@ -160,14 +464,68 @@ declare class FilePickerControl extends ControlBase implements OnDestroy {
|
|
|
160
464
|
static ɵcmp: i0.ɵɵComponentDeclaration<FilePickerControl, "iss-ctrl-file-picker", never, { "accept": { "alias": "accept"; "required": false; "isSignal": true; }; "showDownloadButton": { "alias": "showDownloadButton"; "required": false; "isSignal": true; }; "showDeleteButton": { "alias": "showDeleteButton"; "required": false; "isSignal": true; }; "uploading": { "alias": "uploading"; "required": false; "isSignal": true; }; "uploadedFiles": { "alias": "uploadedFiles"; "required": false; "isSignal": true; }; "uploadingError": { "alias": "uploadingError"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
161
465
|
}
|
|
162
466
|
|
|
467
|
+
/**
|
|
468
|
+
* `<iss-ctrl-input>` — single line text input, the base for every scalar text field.
|
|
469
|
+
*
|
|
470
|
+
* `type` is forwarded to the native input, so `number`, `email` and `password` variants all
|
|
471
|
+
* come from this one control.
|
|
472
|
+
*
|
|
473
|
+
* @example
|
|
474
|
+
* ```html
|
|
475
|
+
* <iss-ctrl-input formControlName="amount" type="number" [min]="0" suffixText="SAR">
|
|
476
|
+
* <label>Amount</label>
|
|
477
|
+
* </iss-ctrl-input>
|
|
478
|
+
* ```
|
|
479
|
+
*
|
|
480
|
+
* ### Own inputs
|
|
481
|
+
* | Property | Type | Default | Description |
|
|
482
|
+
* | --- | --- | --- | --- |
|
|
483
|
+
* | `type` | `string` | `"text"` | Native input type: `text`, `number`, `email`, `password`, … |
|
|
484
|
+
* | `prefixIcon` | `string` | `""` | Icon rendered before the value. |
|
|
485
|
+
* | `prefixText` | `string` | `""` | Text rendered before the value. |
|
|
486
|
+
* | `suffixIcon` | `string` | `""` | Icon rendered after the value. |
|
|
487
|
+
* | `suffixText` | `string` | `""` | Text rendered after the value. |
|
|
488
|
+
*
|
|
489
|
+
* ### Inherited from {@link ControlBase}
|
|
490
|
+
* `formControlName` · `readonly` · `className` · `(onChange)` · `placeholder` · `min` · `max` · `minLength` · `maxLength` · `hints`
|
|
491
|
+
*
|
|
492
|
+
* ### Outputs
|
|
493
|
+
* - `(onPrefixClick)` — `string`, the prefix affix was clicked.
|
|
494
|
+
* - `(onSuffixClick)` — `string`, the suffix affix was clicked.
|
|
495
|
+
*
|
|
496
|
+
* Projects `<label>` into the floating label; omit it to render the control without one.
|
|
497
|
+
*
|
|
498
|
+
* Also projects `[issPrefix]` and `[issSuffix]` for fully custom affixes.
|
|
499
|
+
*/
|
|
163
500
|
declare class InputControl extends ControlBase implements Validator, OnDestroy {
|
|
164
501
|
#private;
|
|
502
|
+
/**
|
|
503
|
+
* Native input type — `text`, `number`, `email`, `password`, and so on.
|
|
504
|
+
*/
|
|
165
505
|
type: InputSignal<string>;
|
|
506
|
+
/**
|
|
507
|
+
* Icon name rendered before the value.
|
|
508
|
+
*/
|
|
166
509
|
prefixIcon: InputSignal<string>;
|
|
510
|
+
/**
|
|
511
|
+
* Static text rendered before the value.
|
|
512
|
+
*/
|
|
167
513
|
prefixText: InputSignal<string>;
|
|
514
|
+
/**
|
|
515
|
+
* Icon name rendered after the value.
|
|
516
|
+
*/
|
|
168
517
|
suffixIcon: InputSignal<string>;
|
|
518
|
+
/**
|
|
519
|
+
* Static text rendered after the value, a unit or currency for example.
|
|
520
|
+
*/
|
|
169
521
|
suffixText: InputSignal<string>;
|
|
522
|
+
/**
|
|
523
|
+
* Emits when the prefix affix is clicked.
|
|
524
|
+
*/
|
|
170
525
|
onPrefixClick: OutputEmitterRef<string>;
|
|
526
|
+
/**
|
|
527
|
+
* Emits when the suffix affix is clicked.
|
|
528
|
+
*/
|
|
171
529
|
onSuffixClick: OutputEmitterRef<string>;
|
|
172
530
|
emitSuffixClick(): void;
|
|
173
531
|
emitPrefixClick(): void;
|
|
@@ -211,11 +569,36 @@ declare class Phone {
|
|
|
211
569
|
static ɵprov: i0.ɵɵInjectableDeclaration<Phone>;
|
|
212
570
|
}
|
|
213
571
|
|
|
572
|
+
/**
|
|
573
|
+
* `<iss-ctrl-mobile>` — international phone number with a country selector.
|
|
574
|
+
*
|
|
575
|
+
* The number is validated against the selected country and stored in its international form.
|
|
576
|
+
*
|
|
577
|
+
* @example
|
|
578
|
+
* ```html
|
|
579
|
+
* <iss-ctrl-mobile formControlName="mobile" [preferredCountries]="['SA', 'AE']">
|
|
580
|
+
* <label>Mobile</label>
|
|
581
|
+
* </iss-ctrl-mobile>
|
|
582
|
+
* ```
|
|
583
|
+
*
|
|
584
|
+
* ### Own inputs
|
|
585
|
+
* | Property | Type | Default | Description |
|
|
586
|
+
* | --- | --- | --- | --- |
|
|
587
|
+
* | `preferredCountries` | `ISO2[]` | `["SA"]` | Countries pinned to the top of the country list. |
|
|
588
|
+
*
|
|
589
|
+
* ### Inherited from {@link ControlBase}
|
|
590
|
+
* `formControlName` · `readonly` · `className` · `(onChange)`
|
|
591
|
+
*
|
|
592
|
+
* Projects `<label>` into the floating label; omit it to render the control without one.
|
|
593
|
+
*/
|
|
214
594
|
declare class MobileControl extends ControlBase implements OnDestroy, Validator {
|
|
215
595
|
#private;
|
|
216
596
|
phoneService: Phone;
|
|
217
597
|
isOpen: WritableSignal<boolean>;
|
|
218
598
|
selectedCountry: WritableSignal<Country>;
|
|
599
|
+
/**
|
|
600
|
+
* ISO-2 country codes pinned to the top of the country list; the first one is preselected.
|
|
601
|
+
*/
|
|
219
602
|
preferredCountries: InputSignal<ISO2[]>;
|
|
220
603
|
searchInput: FormControl;
|
|
221
604
|
filteredCountries: Signal<Country[]>;
|
|
@@ -231,6 +614,26 @@ declare class MobileControl extends ControlBase implements OnDestroy, Validator
|
|
|
231
614
|
static ɵcmp: i0.ɵɵComponentDeclaration<MobileControl, "iss-ctrl-mobile", never, { "preferredCountries": { "alias": "preferredCountries"; "required": false; "isSignal": true; }; }, {}, never, ["label"], true, never>;
|
|
232
615
|
}
|
|
233
616
|
|
|
617
|
+
/**
|
|
618
|
+
* `<iss-ctrl-plate-number>` — Saudi vehicle plate, entered as digits and letters in both
|
|
619
|
+
* Arabic and English.
|
|
620
|
+
*
|
|
621
|
+
* Typing into one script fills the matching cell in the other automatically, and letters are
|
|
622
|
+
* validated against the allowed plate alphabet.
|
|
623
|
+
*
|
|
624
|
+
* @example
|
|
625
|
+
* ```html
|
|
626
|
+
* <iss-ctrl-plate-number formControlName="plate" [readonly]="false"/>
|
|
627
|
+
* ```
|
|
628
|
+
*
|
|
629
|
+
* ### Own inputs
|
|
630
|
+
* None — the control is configured entirely through the inherited properties.
|
|
631
|
+
*
|
|
632
|
+
* ### Inherited from {@link ControlBase}
|
|
633
|
+
* `formControlName` · `readonly` · `className` · `(onChange)`
|
|
634
|
+
*
|
|
635
|
+
* Does not project a label — the field label is rendered by the wrapping `iss-field-*`.
|
|
636
|
+
*/
|
|
234
637
|
declare class PlateControl extends ControlBase {
|
|
235
638
|
#private;
|
|
236
639
|
numbersAr: i0.WritableSignal<string[]>;
|
|
@@ -250,7 +653,28 @@ declare class PlateControl extends ControlBase {
|
|
|
250
653
|
static ɵcmp: i0.ɵɵComponentDeclaration<PlateControl, "iss-ctrl-plate-number", never, {}, {}, never, never, true, never>;
|
|
251
654
|
}
|
|
252
655
|
|
|
656
|
+
/**
|
|
657
|
+
* `<iss-ctrl-radio>` — one choice out of a fixed set of options.
|
|
658
|
+
*
|
|
659
|
+
* @example
|
|
660
|
+
* ```html
|
|
661
|
+
* <iss-ctrl-radio formControlName="gender" [options]="genders"/>
|
|
662
|
+
* ```
|
|
663
|
+
*
|
|
664
|
+
* ### Own inputs
|
|
665
|
+
* | Property | Type | Default | Description |
|
|
666
|
+
* | --- | --- | --- | --- |
|
|
667
|
+
* | `options` | `Option[]` | **required** | The selectable choices. |
|
|
668
|
+
*
|
|
669
|
+
* ### Inherited from {@link ControlBase}
|
|
670
|
+
* `formControlName` · `readonly` · `className` · `(onChange)`
|
|
671
|
+
*
|
|
672
|
+
* Does not project a label — the field label is rendered by the wrapping `iss-field-*`.
|
|
673
|
+
*/
|
|
253
674
|
declare class RadioControl extends ControlBase {
|
|
675
|
+
/**
|
|
676
|
+
* Selectable choices, each a `{ value, label }` pair. Required.
|
|
677
|
+
*/
|
|
254
678
|
options: InputSignal<Option[]>;
|
|
255
679
|
writeValue(value: string | null): void;
|
|
256
680
|
onRadioChange(value: string): void;
|
|
@@ -258,14 +682,60 @@ declare class RadioControl extends ControlBase {
|
|
|
258
682
|
static ɵcmp: i0.ɵɵComponentDeclaration<RadioControl, "iss-ctrl-radio", never, { "options": { "alias": "options"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
259
683
|
}
|
|
260
684
|
|
|
685
|
+
/**
|
|
686
|
+
* `<iss-ctrl-select>` — dropdown selection, single or multiple, with a search box.
|
|
687
|
+
*
|
|
688
|
+
* Typing in the search box emits `(onQueryChange)`, so options can be loaded remotely; set
|
|
689
|
+
* `loading` while that request is in flight.
|
|
690
|
+
*
|
|
691
|
+
* @example
|
|
692
|
+
* ```html
|
|
693
|
+
* <iss-ctrl-select
|
|
694
|
+
* formControlName="city"
|
|
695
|
+
* [options]="cities()"
|
|
696
|
+
* [multiple]="false"
|
|
697
|
+
* [loading]="loading()"
|
|
698
|
+
* (onQueryChange)="search($event)"
|
|
699
|
+
* >
|
|
700
|
+
* <label>City</label>
|
|
701
|
+
* </iss-ctrl-select>
|
|
702
|
+
* ```
|
|
703
|
+
*
|
|
704
|
+
* ### Own inputs
|
|
705
|
+
* | Property | Type | Default | Description |
|
|
706
|
+
* | --- | --- | --- | --- |
|
|
707
|
+
* | `options` | `Option[]` | **required** | The selectable choices. |
|
|
708
|
+
* | `height` | `string` | `"150px"` | Max height of the open panel. |
|
|
709
|
+
* | `loading` | `boolean` | `false` | Shows the loading state inside the panel. |
|
|
710
|
+
*
|
|
711
|
+
* ### Inherited from {@link ControlBase}
|
|
712
|
+
* `formControlName` · `readonly` · `className` · `(onChange)` · `placeholder` · `multiple`
|
|
713
|
+
*
|
|
714
|
+
* ### Outputs
|
|
715
|
+
* - `(onQueryChange)` — `string`, the current search text.
|
|
716
|
+
*
|
|
717
|
+
* Projects `<label>` into the floating label; omit it to render the control without one.
|
|
718
|
+
*/
|
|
261
719
|
declare class SelectControl extends ControlBase implements OnDestroy {
|
|
262
720
|
#private;
|
|
263
721
|
selectedOptions: WritableSignal<Map<string, Option>>;
|
|
722
|
+
/**
|
|
723
|
+
* Selectable choices, each a `{ value, label }` pair. Required.
|
|
724
|
+
*/
|
|
264
725
|
options: InputSignal<Option[]>;
|
|
726
|
+
/**
|
|
727
|
+
* Maximum height of the open options panel, as a CSS length.
|
|
728
|
+
*/
|
|
265
729
|
height: InputSignal<string>;
|
|
266
730
|
query: Signal<string>;
|
|
267
731
|
readonly filteredOptions: Signal<Option[]>;
|
|
732
|
+
/**
|
|
733
|
+
* Shows the loading state inside the panel while options are being fetched.
|
|
734
|
+
*/
|
|
268
735
|
loading: InputSignal<boolean>;
|
|
736
|
+
/**
|
|
737
|
+
* Emits the search text so the host can load matching options.
|
|
738
|
+
*/
|
|
269
739
|
onQueryChange: OutputEmitterRef<string>;
|
|
270
740
|
protected optionTemplate: any;
|
|
271
741
|
protected cardViewerTemplate: any;
|
|
@@ -281,12 +751,46 @@ declare class SelectControl extends ControlBase implements OnDestroy {
|
|
|
281
751
|
static ɵcmp: i0.ɵɵComponentDeclaration<SelectControl, "iss-ctrl-select", never, { "options": { "alias": "options"; "required": true; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; }, { "onQueryChange": "onQueryChange"; }, ["optionTemplate", "cardViewerTemplate"], ["label"], true, never>;
|
|
282
752
|
}
|
|
283
753
|
|
|
754
|
+
/**
|
|
755
|
+
* `<iss-ctrl-slide-toggle>` — an on/off switch for a boolean value.
|
|
756
|
+
*
|
|
757
|
+
* @example
|
|
758
|
+
* ```html
|
|
759
|
+
* <iss-ctrl-slide-toggle formControlName="active" (onChange)="save($event)"/>
|
|
760
|
+
* ```
|
|
761
|
+
*
|
|
762
|
+
* ### Own inputs
|
|
763
|
+
* None — the control is configured entirely through the inherited properties.
|
|
764
|
+
*
|
|
765
|
+
* ### Inherited from {@link ControlBase}
|
|
766
|
+
* `formControlName` · `readonly` · `className` · `(onChange)`
|
|
767
|
+
*
|
|
768
|
+
* Does not project a label — the field label is rendered by the wrapping `iss-field-*`.
|
|
769
|
+
*/
|
|
284
770
|
declare class SlideToggleControl extends ControlBase {
|
|
285
771
|
onSlideToggleChange(checked: boolean): void;
|
|
286
772
|
static ɵfac: i0.ɵɵFactoryDeclaration<SlideToggleControl, never>;
|
|
287
773
|
static ɵcmp: i0.ɵɵComponentDeclaration<SlideToggleControl, "iss-ctrl-slide-toggle", never, {}, {}, never, never, true, never>;
|
|
288
774
|
}
|
|
289
775
|
|
|
776
|
+
/**
|
|
777
|
+
* `<iss-ctrl-textarea>` — multi line free text.
|
|
778
|
+
*
|
|
779
|
+
* @example
|
|
780
|
+
* ```html
|
|
781
|
+
* <iss-ctrl-textarea formControlName="notes" [maxLength]="500" placeholder="Add a note">
|
|
782
|
+
* <label>Notes</label>
|
|
783
|
+
* </iss-ctrl-textarea>
|
|
784
|
+
* ```
|
|
785
|
+
*
|
|
786
|
+
* ### Own inputs
|
|
787
|
+
* None — the control is configured entirely through the inherited properties.
|
|
788
|
+
*
|
|
789
|
+
* ### Inherited from {@link ControlBase}
|
|
790
|
+
* `formControlName` · `readonly` · `className` · `(onChange)` · `placeholder` · `minLength` · `maxLength` · `hints`
|
|
791
|
+
*
|
|
792
|
+
* Projects `<label>` into the floating label; omit it to render the control without one.
|
|
793
|
+
*/
|
|
290
794
|
declare class TextareaControl extends ControlBase implements OnDestroy {
|
|
291
795
|
#private;
|
|
292
796
|
ngOnDestroy(): void;
|
|
@@ -294,10 +798,41 @@ declare class TextareaControl extends ControlBase implements OnDestroy {
|
|
|
294
798
|
static ɵcmp: i0.ɵɵComponentDeclaration<TextareaControl, "iss-ctrl-textarea", never, {}, {}, never, ["label"], true, never>;
|
|
295
799
|
}
|
|
296
800
|
|
|
801
|
+
/**
|
|
802
|
+
* `<iss-ctrl-time-picker>` — time of day, picked from a list generated at a fixed interval.
|
|
803
|
+
*
|
|
804
|
+
* @example
|
|
805
|
+
* ```html
|
|
806
|
+
* <iss-ctrl-time-picker formControlName="startsAt" interval="15min" minTime="08:00" maxTime="17:00">
|
|
807
|
+
* <label>Starts at</label>
|
|
808
|
+
* </iss-ctrl-time-picker>
|
|
809
|
+
* ```
|
|
810
|
+
*
|
|
811
|
+
* ### Own inputs
|
|
812
|
+
* | Property | Type | Default | Description |
|
|
813
|
+
* | --- | --- | --- | --- |
|
|
814
|
+
* | `interval` | `string` | `"30min"` | Step between the offered times. |
|
|
815
|
+
* | `minTime` | `string \| null` | `null` | Earliest offered time, `HH:mm`. |
|
|
816
|
+
* | `maxTime` | `string \| null` | `null` | Latest offered time, `HH:mm`. |
|
|
817
|
+
*
|
|
818
|
+
* ### Inherited from {@link ControlBase}
|
|
819
|
+
* `formControlName` · `readonly` · `className` · `(onChange)`
|
|
820
|
+
*
|
|
821
|
+
* Projects `<label>` into the floating label; omit it to render the control without one.
|
|
822
|
+
*/
|
|
297
823
|
declare class TimePickerControl extends ControlBase {
|
|
298
824
|
#private;
|
|
825
|
+
/**
|
|
826
|
+
* Step between the offered times, for example `"15min"` or `"30min"`.
|
|
827
|
+
*/
|
|
299
828
|
interval: InputSignal<string>;
|
|
829
|
+
/**
|
|
830
|
+
* Earliest offered time of day, as `HH:mm`.
|
|
831
|
+
*/
|
|
300
832
|
minTime: InputSignal<string | null>;
|
|
833
|
+
/**
|
|
834
|
+
* Latest offered time of day, as `HH:mm`.
|
|
835
|
+
*/
|
|
301
836
|
maxTime: InputSignal<string | null>;
|
|
302
837
|
emit(evt: any): void;
|
|
303
838
|
clear(event: MouseEvent): void;
|
|
@@ -306,8 +841,31 @@ declare class TimePickerControl extends ControlBase {
|
|
|
306
841
|
static ɵcmp: i0.ɵɵComponentDeclaration<TimePickerControl, "iss-ctrl-time-picker", never, { "interval": { "alias": "interval"; "required": false; "isSignal": true; }; "minTime": { "alias": "minTime"; "required": false; "isSignal": true; }; "maxTime": { "alias": "maxTime"; "required": false; "isSignal": true; }; }, {}, never, ["label"], true, never>;
|
|
307
842
|
}
|
|
308
843
|
|
|
844
|
+
/**
|
|
845
|
+
* `<iss-ctrl-toggle-button>` — options rendered as a button group instead of a dropdown.
|
|
846
|
+
*
|
|
847
|
+
* With `multiple` set, several buttons can be active at once.
|
|
848
|
+
*
|
|
849
|
+
* @example
|
|
850
|
+
* ```html
|
|
851
|
+
* <iss-ctrl-toggle-button formControlName="priority" [options]="priorities" [multiple]="false"/>
|
|
852
|
+
* ```
|
|
853
|
+
*
|
|
854
|
+
* ### Own inputs
|
|
855
|
+
* | Property | Type | Default | Description |
|
|
856
|
+
* | --- | --- | --- | --- |
|
|
857
|
+
* | `options` | `Option[]` | **required** | The selectable choices. |
|
|
858
|
+
*
|
|
859
|
+
* ### Inherited from {@link ControlBase}
|
|
860
|
+
* `formControlName` · `readonly` · `className` · `(onChange)` · `multiple`
|
|
861
|
+
*
|
|
862
|
+
* Does not project a label — the field label is rendered by the wrapping `iss-field-*`.
|
|
863
|
+
*/
|
|
309
864
|
declare class ToggleButtonControl extends ControlBase {
|
|
310
865
|
#private;
|
|
866
|
+
/**
|
|
867
|
+
* Selectable choices, each a `{ value, label }` pair. Required.
|
|
868
|
+
*/
|
|
311
869
|
options: InputSignal<Option[]>;
|
|
312
870
|
selectedOptions: WritableSignal<Map<string, Option>>;
|
|
313
871
|
writeValue(value: string | null): void;
|
|
@@ -333,32 +891,131 @@ declare class FieldAsyncValidation {
|
|
|
333
891
|
constructor(asyncValidation: any);
|
|
334
892
|
}
|
|
335
893
|
|
|
894
|
+
/**
|
|
895
|
+
* Per-field configuration, reachable as `field.config` and consumed by the `iss-field-*`
|
|
896
|
+
* components. Every entry is a signal, so it can be changed at runtime by field events.
|
|
897
|
+
*
|
|
898
|
+
* Not every key applies to every field — the class doc of each `iss-field-*` component
|
|
899
|
+
* lists exactly which of these it reads.
|
|
900
|
+
*
|
|
901
|
+
* ### Keys by area
|
|
902
|
+
* - **Common:** `type` · `disabled` · `readonly` · `placeholder` · `suffix` · `hideLabel` · `multiple`
|
|
903
|
+
* - **Bounds:** `min` · `max` · `minLength` · `maxLength`
|
|
904
|
+
* - **Dates:** `minDate` · `maxDate` · `dateFilter`
|
|
905
|
+
* - **Attachments:** `allowedFileSize` · `allowedFileTypes` · `minFilesCount` · `maxFilesCount` · `templateId` · `templateUrl`
|
|
906
|
+
* - **Users:** `minUsersCount` · `maxUsersCount`
|
|
907
|
+
* - **Table:** `showInTableColumns` · `tableWithFilter` · `tableWithSort` · `tableWithPagination`
|
|
908
|
+
*
|
|
909
|
+
* @example
|
|
910
|
+
* ```json
|
|
911
|
+
* { "name": "email", "type": "text_input", "config": { "type": "email", "maxLength": 120 } }
|
|
912
|
+
* ```
|
|
913
|
+
*/
|
|
336
914
|
declare class FieldConfig {
|
|
915
|
+
/**
|
|
916
|
+
* Native input type for `text_input` (`text`, `email`, `number`, `password`, …).
|
|
917
|
+
*/
|
|
337
918
|
type: WritableSignal<string | undefined>;
|
|
919
|
+
/**
|
|
920
|
+
* Disables the control; the underlying `FormControl` is disabled on init.
|
|
921
|
+
*/
|
|
338
922
|
disabled: WritableSignal<boolean | undefined>;
|
|
923
|
+
/**
|
|
924
|
+
* Shows the value but blocks interaction. Unlike `disabled`, the value is still submitted.
|
|
925
|
+
*/
|
|
339
926
|
readonly: WritableSignal<boolean | undefined>;
|
|
927
|
+
/**
|
|
928
|
+
* Placeholder text shown while the field is empty.
|
|
929
|
+
*/
|
|
340
930
|
placeholder: WritableSignal<string | undefined>;
|
|
931
|
+
/**
|
|
932
|
+
* Text rendered after the value (a unit or currency, for example).
|
|
933
|
+
*/
|
|
341
934
|
suffix: WritableSignal<string | undefined>;
|
|
935
|
+
/**
|
|
936
|
+
* Hides the field label without removing it from the accessibility tree.
|
|
937
|
+
*/
|
|
342
938
|
hideLabel: WritableSignal<boolean | undefined>;
|
|
939
|
+
/**
|
|
940
|
+
* Allows more than one value — multi select, multi file upload, multi toggle.
|
|
941
|
+
*/
|
|
343
942
|
multiple: WritableSignal<boolean | undefined>;
|
|
943
|
+
/**
|
|
944
|
+
* Minimum number of characters. Source: `config.minLength`.
|
|
945
|
+
*/
|
|
344
946
|
minLength: WritableSignal<number | undefined>;
|
|
947
|
+
/**
|
|
948
|
+
* Maximum number of characters. Source: `config.maxLength`.
|
|
949
|
+
*/
|
|
345
950
|
maxLength: WritableSignal<number | undefined>;
|
|
951
|
+
/**
|
|
952
|
+
* Minimum numeric value (also the minimum user count for the user picker).
|
|
953
|
+
*/
|
|
346
954
|
min: WritableSignal<number | undefined>;
|
|
955
|
+
/**
|
|
956
|
+
* Maximum numeric value (also the maximum user count for the user picker).
|
|
957
|
+
*/
|
|
347
958
|
max: WritableSignal<number | undefined>;
|
|
959
|
+
/**
|
|
960
|
+
* Earliest selectable date for date, datetime and date-range fields.
|
|
961
|
+
*/
|
|
348
962
|
minDate: WritableSignal<Date | undefined>;
|
|
963
|
+
/**
|
|
964
|
+
* Latest selectable date for date, datetime and date-range fields.
|
|
965
|
+
*/
|
|
349
966
|
maxDate: WritableSignal<Date | undefined>;
|
|
967
|
+
/**
|
|
968
|
+
* Restricts the calendar to working days. Source: `config.acceptWorkDaysOnly`.
|
|
969
|
+
*/
|
|
350
970
|
dateFilter: WritableSignal<boolean | undefined>;
|
|
971
|
+
/**
|
|
972
|
+
* Id of a downloadable template offered next to an attachment field.
|
|
973
|
+
*/
|
|
351
974
|
templateId: WritableSignal<string | undefined>;
|
|
975
|
+
/**
|
|
976
|
+
* Direct URL of the downloadable template for an attachment field.
|
|
977
|
+
*/
|
|
352
978
|
templateUrl: WritableSignal<string | undefined>;
|
|
979
|
+
/**
|
|
980
|
+
* Maximum size per uploaded file. Source: `config.allowedSize`.
|
|
981
|
+
*/
|
|
353
982
|
allowedFileSize: WritableSignal<number | undefined>;
|
|
983
|
+
/**
|
|
984
|
+
* Comma separated list of accepted file extensions or MIME types.
|
|
985
|
+
*/
|
|
354
986
|
allowedFileTypes: WritableSignal<string | undefined>;
|
|
987
|
+
/**
|
|
988
|
+
* Maximum number of files that may be attached.
|
|
989
|
+
*/
|
|
355
990
|
maxFilesCount: WritableSignal<number | undefined>;
|
|
991
|
+
/**
|
|
992
|
+
* Minimum number of files required.
|
|
993
|
+
*/
|
|
356
994
|
minFilesCount: WritableSignal<number | undefined>;
|
|
995
|
+
/**
|
|
996
|
+
* Maximum number of users selectable in a user picker.
|
|
997
|
+
*/
|
|
357
998
|
maxUsersCount: WritableSignal<number | undefined>;
|
|
999
|
+
/**
|
|
1000
|
+
* Minimum number of users required in a user picker.
|
|
1001
|
+
*/
|
|
358
1002
|
minUsersCount: WritableSignal<number | undefined>;
|
|
1003
|
+
/**
|
|
1004
|
+
* Parsed from the field definition but not consumed yet — table columns currently come
|
|
1005
|
+
* from `field.children`.
|
|
1006
|
+
*/
|
|
359
1007
|
showInTableColumns: WritableSignal<boolean | undefined>;
|
|
1008
|
+
/**
|
|
1009
|
+
* Enables the filter row on a `table` field.
|
|
1010
|
+
*/
|
|
360
1011
|
tableWithFilter: WritableSignal<boolean | undefined>;
|
|
1012
|
+
/**
|
|
1013
|
+
* Enables column sorting on a `table` field.
|
|
1014
|
+
*/
|
|
361
1015
|
tableWithSort: WritableSignal<boolean | undefined>;
|
|
1016
|
+
/**
|
|
1017
|
+
* Enables the paginator on a `table` field.
|
|
1018
|
+
*/
|
|
362
1019
|
tableWithPagination: WritableSignal<boolean | undefined>;
|
|
363
1020
|
constructor(config: any);
|
|
364
1021
|
}
|
|
@@ -419,6 +1076,38 @@ declare class FieldEvent {
|
|
|
419
1076
|
constructor(action: any, loader: Loader);
|
|
420
1077
|
}
|
|
421
1078
|
|
|
1079
|
+
/**
|
|
1080
|
+
* Runtime model of a single form field, built from the JSON definition returned by the API.
|
|
1081
|
+
*
|
|
1082
|
+
* It is what `iss-field-*` components inject through the `FIELD_DATA` token, and the object
|
|
1083
|
+
* field events read from and write to. Signal-valued members can be changed at runtime and
|
|
1084
|
+
* the rendered field reacts immediately.
|
|
1085
|
+
*
|
|
1086
|
+
* ### Properties
|
|
1087
|
+
* | Property | Type | Description |
|
|
1088
|
+
* | --- | --- | --- |
|
|
1089
|
+
* | `id` | `number` | Unique field id. |
|
|
1090
|
+
* | `name` | `string` | Control name inside the form group. |
|
|
1091
|
+
* | `type` | `string` | Key into the `COMPONENTS` index (`text_input`, `dropdown_list`, …). |
|
|
1092
|
+
* | `base` | `string` | Underlying data type of the field. |
|
|
1093
|
+
* | `label()` | `string` | Visible label. |
|
|
1094
|
+
* | `hint()` | `string` | Helper text under the field. |
|
|
1095
|
+
* | `options()` | `Option[]` | Choices for select, radio, checkbox and toggle fields. |
|
|
1096
|
+
* | `api()` | `string` | Endpoint used to load options or lookups. |
|
|
1097
|
+
* | `mode()` | `"edit" \| "view"` | Renders the control or the read-only viewer. |
|
|
1098
|
+
* | `visible()` | `boolean` | Whether the field is rendered at all. |
|
|
1099
|
+
* | `loading()` | `boolean` | Shows the field's own loading state. |
|
|
1100
|
+
* | `config` | `FieldConfig` | Per-type configuration — see {@link FieldConfig}. |
|
|
1101
|
+
* | `validation` | `any` | Synchronous validation rules. |
|
|
1102
|
+
* | `asyncValidation` | `FieldAsyncValidation` | Remote validation rules. |
|
|
1103
|
+
* | `events` | `FieldEvent[]` | Cross-field reactions (show, hide, set value, …). |
|
|
1104
|
+
* | `children` | `IssField[]` | Nested fields, used by table and group fields. |
|
|
1105
|
+
* | `value` / `defaultValue` | `string` | Initial and fallback raw values. |
|
|
1106
|
+
* | `jsonValue` | `any` | Initial resolved value for controls with a rich payload. |
|
|
1107
|
+
* | `ctrlValue()` | `string \| null` | Live raw value of the control. |
|
|
1108
|
+
* | `ctrlJsonValue()` | `any` | Live resolved value (selected options, files, users, …). |
|
|
1109
|
+
* | `response()` / `apiResponse` | `any` | Latest payload returned for this field. |
|
|
1110
|
+
*/
|
|
422
1111
|
declare class IssField {
|
|
423
1112
|
id: number;
|
|
424
1113
|
name: string;
|
|
@@ -496,15 +1185,50 @@ declare class FormEngine {
|
|
|
496
1185
|
static ɵprov: i0.ɵɵInjectableDeclaration<FormEngine>;
|
|
497
1186
|
}
|
|
498
1187
|
|
|
1188
|
+
/**
|
|
1189
|
+
* Base class for every `iss-field-*` field.
|
|
1190
|
+
*
|
|
1191
|
+
* A field is the form-engine layer around a control: it reads its whole configuration from
|
|
1192
|
+
* the injected {@link IssField} (label, options, config, validation, events), registers its
|
|
1193
|
+
* `FormControl` on the parent `FormGroup` on init and removes it again on destroy, and
|
|
1194
|
+
* switches between the control (`mode() === "edit"`) and the viewer (`mode() === "view"`).
|
|
1195
|
+
*
|
|
1196
|
+
* ### Inputs
|
|
1197
|
+
* | Property | Type | Description |
|
|
1198
|
+
* | --- | --- | --- |
|
|
1199
|
+
* | `issField` | `IssField` | **Required.** The field definition; also provided through the `FIELD_DATA` token. |
|
|
1200
|
+
* | `formReady` | `boolean \| undefined` | Set by the outlet once the whole form exists; gates event wiring. |
|
|
1201
|
+
*
|
|
1202
|
+
* ### Properties available on `field`
|
|
1203
|
+
* `name` · `type` · `base` · `label()` · `hint()` · `options()` · `api()` · `mode()` ·
|
|
1204
|
+
* `visible()` · `loading()` · `value` · `jsonValue` · `defaultValue` · `ctrlValue()` ·
|
|
1205
|
+
* `ctrlJsonValue()` · `events` · `validation` · `asyncValidation` · `children` ·
|
|
1206
|
+
* `response()` · `config` — see {@link IssField} and {@link FieldConfig}.
|
|
1207
|
+
*
|
|
1208
|
+
* Fields are not used directly in templates; the outlet resolves them from the field `type`
|
|
1209
|
+
* through the `COMPONENTS` index.
|
|
1210
|
+
*/
|
|
499
1211
|
declare class FieldBase implements OnInit, OnDestroy {
|
|
500
1212
|
#private;
|
|
1213
|
+
/**
|
|
1214
|
+
* The field definition rendered by this component. Required.
|
|
1215
|
+
*/
|
|
501
1216
|
issField: InputSignal<IssField>;
|
|
1217
|
+
/**
|
|
1218
|
+
* Set by the outlet once every field is registered; field events start only after it turns true.
|
|
1219
|
+
*/
|
|
502
1220
|
formReady: InputSignal<boolean | undefined>;
|
|
1221
|
+
/**
|
|
1222
|
+
* The {@link IssField} for this instance, injected through the `FIELD_DATA` token.
|
|
1223
|
+
*/
|
|
503
1224
|
field: IssField;
|
|
504
1225
|
parentFormGroup: ControlContainer;
|
|
505
1226
|
formEngine: FormEngine;
|
|
506
1227
|
eventHandler: EventHandler;
|
|
507
1228
|
destroyRef: DestroyRef;
|
|
1229
|
+
/**
|
|
1230
|
+
* The `FormControl` this field registers on the parent form under `field.name`.
|
|
1231
|
+
*/
|
|
508
1232
|
ctrl: FormControl;
|
|
509
1233
|
ctrlValueChange: i0.Signal<any>;
|
|
510
1234
|
get form(): FormGroup;
|
|
@@ -514,56 +1238,294 @@ declare class FieldBase implements OnInit, OnDestroy {
|
|
|
514
1238
|
static ɵcmp: i0.ɵɵComponentDeclaration<FieldBase, "ng-component", never, { "issField": { "alias": "issField"; "required": true; "isSignal": true; }; "formReady": { "alias": "formReady"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
515
1239
|
}
|
|
516
1240
|
|
|
1241
|
+
/**
|
|
1242
|
+
* `<iss-field-input>` — single line text, number, email or password entry.
|
|
1243
|
+
*
|
|
1244
|
+
* Rendered by the outlet for fields of type `text_input`. In `edit` mode it renders
|
|
1245
|
+
* {@link InputControl} plus the validation message; in `view` mode the matching viewer.
|
|
1246
|
+
*
|
|
1247
|
+
* ### Supported `config` keys
|
|
1248
|
+
* | Key | Type | Description |
|
|
1249
|
+
* | --- | --- | --- |
|
|
1250
|
+
* | `type` | `string` | Native input type — `text`, `number`, `email`, `password`, … |
|
|
1251
|
+
* | `placeholder` | `string` | Placeholder shown while empty. |
|
|
1252
|
+
* | `min` | `number` | Minimum numeric value. |
|
|
1253
|
+
* | `max` | `number` | Maximum numeric value. |
|
|
1254
|
+
* | `minLength` | `number` | Minimum number of characters. |
|
|
1255
|
+
* | `maxLength` | `number` | Maximum number of characters. |
|
|
1256
|
+
* | `readonly` | `boolean` | Shows the value but blocks interaction. |
|
|
1257
|
+
*
|
|
1258
|
+
* ### Other field members used
|
|
1259
|
+
* `label()`
|
|
1260
|
+
*
|
|
1261
|
+
* Every field also honours `visible`, `mode`, `validation`, `asyncValidation` and
|
|
1262
|
+
* `events` — see {@link IssField} for the full model and {@link FieldConfig} for all keys.
|
|
1263
|
+
*
|
|
1264
|
+
* @example
|
|
1265
|
+
* ```json
|
|
1266
|
+
* { "name": "email", "type": "text_input", "label": "Email", "config": { "type": "email", "maxLength": 120 } }
|
|
1267
|
+
* ```
|
|
1268
|
+
*/
|
|
517
1269
|
declare class InputField extends FieldBase {
|
|
518
1270
|
static ɵfac: i0.ɵɵFactoryDeclaration<InputField, never>;
|
|
519
1271
|
static ɵcmp: i0.ɵɵComponentDeclaration<InputField, "iss-field-input", never, {}, {}, never, never, true, never>;
|
|
520
1272
|
}
|
|
521
1273
|
|
|
1274
|
+
/**
|
|
1275
|
+
* `<iss-field-textarea>` — multi line free text.
|
|
1276
|
+
*
|
|
1277
|
+
* Rendered by the outlet for fields of type `textarea`. In `edit` mode it renders
|
|
1278
|
+
* {@link TextareaControl} plus the validation message; in `view` mode the matching viewer.
|
|
1279
|
+
*
|
|
1280
|
+
* ### Supported `config` keys
|
|
1281
|
+
* | Key | Type | Description |
|
|
1282
|
+
* | --- | --- | --- |
|
|
1283
|
+
* | `minLength` | `number` | Minimum number of characters. |
|
|
1284
|
+
* | `maxLength` | `number` | Maximum number of characters. |
|
|
1285
|
+
* | `readonly` | `boolean` | Shows the value but blocks interaction. |
|
|
1286
|
+
*
|
|
1287
|
+
* ### Other field members used
|
|
1288
|
+
* `label()`
|
|
1289
|
+
*
|
|
1290
|
+
* Every field also honours `visible`, `mode`, `validation`, `asyncValidation` and
|
|
1291
|
+
* `events` — see {@link IssField} for the full model and {@link FieldConfig} for all keys.
|
|
1292
|
+
*
|
|
1293
|
+
* @example
|
|
1294
|
+
* ```json
|
|
1295
|
+
* { "name": "notes", "type": "textarea", "label": "Notes", "config": { "maxLength": 500 } }
|
|
1296
|
+
* ```
|
|
1297
|
+
*/
|
|
522
1298
|
declare class TextareaField extends FieldBase {
|
|
523
1299
|
static ɵfac: i0.ɵɵFactoryDeclaration<TextareaField, never>;
|
|
524
1300
|
static ɵcmp: i0.ɵɵComponentDeclaration<TextareaField, "iss-field-textarea", never, {}, {}, never, never, true, never>;
|
|
525
1301
|
}
|
|
526
1302
|
|
|
1303
|
+
/**
|
|
1304
|
+
* `<iss-field-chips>` — free text entered as removable chips.
|
|
1305
|
+
*
|
|
1306
|
+
* Rendered by the outlet for fields of type `chips`. In `edit` mode it renders
|
|
1307
|
+
* {@link ChipsControl} plus the validation message; in `view` mode the matching viewer.
|
|
1308
|
+
*
|
|
1309
|
+
* ### Supported `config` keys
|
|
1310
|
+
* | Key | Type | Description |
|
|
1311
|
+
* | --- | --- | --- |
|
|
1312
|
+
* | `readonly` | `boolean` | Shows the value but blocks interaction. |
|
|
1313
|
+
*
|
|
1314
|
+
* ### Other field members used
|
|
1315
|
+
* `label()`
|
|
1316
|
+
*
|
|
1317
|
+
* Every field also honours `visible`, `mode`, `validation`, `asyncValidation` and
|
|
1318
|
+
* `events` — see {@link IssField} for the full model and {@link FieldConfig} for all keys.
|
|
1319
|
+
*
|
|
1320
|
+
* @example
|
|
1321
|
+
* ```json
|
|
1322
|
+
* { "name": "tags", "type": "chips", "label": "Tags" }
|
|
1323
|
+
* ```
|
|
1324
|
+
*/
|
|
527
1325
|
declare class ChipsField extends FieldBase {
|
|
528
1326
|
static ɵfac: i0.ɵɵFactoryDeclaration<ChipsField, never>;
|
|
529
1327
|
static ɵcmp: i0.ɵɵComponentDeclaration<ChipsField, "iss-field-chips", never, {}, {}, never, never, true, never>;
|
|
530
1328
|
}
|
|
531
1329
|
|
|
1330
|
+
/**
|
|
1331
|
+
* `<iss-field-radio>` — one choice out of a fixed set of options.
|
|
1332
|
+
*
|
|
1333
|
+
* Rendered by the outlet for fields of type `radio`. In `edit` mode it renders
|
|
1334
|
+
* {@link RadioControl} plus the validation message; in `view` mode the matching viewer.
|
|
1335
|
+
*
|
|
1336
|
+
* ### Supported `config` keys
|
|
1337
|
+
* | Key | Type | Description |
|
|
1338
|
+
* | --- | --- | --- |
|
|
1339
|
+
* | `hideLabel` | `boolean` | Hides the field label. |
|
|
1340
|
+
* | `readonly` | `boolean` | Shows the value but blocks interaction. |
|
|
1341
|
+
*
|
|
1342
|
+
* ### Other field members used
|
|
1343
|
+
* `label()` · `options()`
|
|
1344
|
+
*
|
|
1345
|
+
* Every field also honours `visible`, `mode`, `validation`, `asyncValidation` and
|
|
1346
|
+
* `events` — see {@link IssField} for the full model and {@link FieldConfig} for all keys.
|
|
1347
|
+
*
|
|
1348
|
+
* @example
|
|
1349
|
+
* ```json
|
|
1350
|
+
* { "name": "gender", "type": "radio", "label": "Gender", "options": [{ "value": "m", "label": "Male" }] }
|
|
1351
|
+
* ```
|
|
1352
|
+
*/
|
|
532
1353
|
declare class RadioField extends FieldBase {
|
|
533
1354
|
onChange($event: any): void;
|
|
534
1355
|
static ɵfac: i0.ɵɵFactoryDeclaration<RadioField, never>;
|
|
535
1356
|
static ɵcmp: i0.ɵɵComponentDeclaration<RadioField, "iss-field-radio", never, {}, {}, never, never, true, never>;
|
|
536
1357
|
}
|
|
537
1358
|
|
|
1359
|
+
/**
|
|
1360
|
+
* `<iss-field-select>` — single or multiple selection from a dropdown.
|
|
1361
|
+
*
|
|
1362
|
+
* Rendered by the outlet for fields of type `dropdown_list`. In `edit` mode it renders
|
|
1363
|
+
* {@link SelectControl} plus the validation message; in `view` mode the matching viewer.
|
|
1364
|
+
*
|
|
1365
|
+
* ### Supported `config` keys
|
|
1366
|
+
* | Key | Type | Description |
|
|
1367
|
+
* | --- | --- | --- |
|
|
1368
|
+
* | `multiple` | `boolean` | Allows selecting more than one option. |
|
|
1369
|
+
* | `readonly` | `boolean` | Shows the value but blocks interaction. |
|
|
1370
|
+
*
|
|
1371
|
+
* ### Other field members used
|
|
1372
|
+
* `label()` · `options()` · `ctrlJsonValue()`
|
|
1373
|
+
*
|
|
1374
|
+
* Every field also honours `visible`, `mode`, `validation`, `asyncValidation` and
|
|
1375
|
+
* `events` — see {@link IssField} for the full model and {@link FieldConfig} for all keys.
|
|
1376
|
+
*
|
|
1377
|
+
* The raw form value holds the selected option values; the resolved options are written
|
|
1378
|
+
* back to `field.ctrlJsonValue`.
|
|
1379
|
+
*
|
|
1380
|
+
* @example
|
|
1381
|
+
* ```json
|
|
1382
|
+
* { "name": "city", "type": "dropdown_list", "label": "City", "options": [{ "value": "1", "label": "Riyadh" }] }
|
|
1383
|
+
* ```
|
|
1384
|
+
*/
|
|
538
1385
|
declare class SelectField extends FieldBase {
|
|
539
1386
|
onChange($event: string | FormData): void;
|
|
540
1387
|
static ɵfac: i0.ɵɵFactoryDeclaration<SelectField, never>;
|
|
541
1388
|
static ɵcmp: i0.ɵɵComponentDeclaration<SelectField, "iss-field-select", never, {}, {}, never, never, true, never>;
|
|
542
1389
|
}
|
|
543
1390
|
|
|
1391
|
+
/**
|
|
1392
|
+
* `<iss-field-mobile>` — an international phone number with a country selector.
|
|
1393
|
+
*
|
|
1394
|
+
* Rendered by the outlet for fields of the type `mobile`. In `edit` mode it renders
|
|
1395
|
+
* {@link MobileControl} plus the validation message; in `view` mode the matching viewer.
|
|
1396
|
+
*
|
|
1397
|
+
* ### Supported `config` keys
|
|
1398
|
+
* | Key | Type | Description |
|
|
1399
|
+
* | --- | --- | --- |
|
|
1400
|
+
* | `readonly` | `boolean` | Shows the value but blocks interaction. |
|
|
1401
|
+
*
|
|
1402
|
+
* ### Other field members used
|
|
1403
|
+
* `label()`
|
|
1404
|
+
*
|
|
1405
|
+
* Every field also honors `visible`, `mode`, `validation`, `asyncValidation` and
|
|
1406
|
+
* `events` — see {@link IssField} for the full model and {@link FieldConfig} for all keys.
|
|
1407
|
+
*
|
|
1408
|
+
* @example
|
|
1409
|
+
* ```json
|
|
1410
|
+
* { "name": "mobile", "type": "mobile", "label": "Mobile" }
|
|
1411
|
+
* ```
|
|
1412
|
+
*/
|
|
544
1413
|
declare class MobileField extends FieldBase {
|
|
545
1414
|
static ɵfac: i0.ɵɵFactoryDeclaration<MobileField, never>;
|
|
546
1415
|
static ɵcmp: i0.ɵɵComponentDeclaration<MobileField, "iss-field-mobile", never, {}, {}, never, never, true, never>;
|
|
547
1416
|
}
|
|
548
1417
|
|
|
1418
|
+
/**
|
|
1419
|
+
* `<iss-field-checkbox>` — a list of checkboxes over a fixed set of options.
|
|
1420
|
+
*
|
|
1421
|
+
* Rendered by the outlet for fields of type `checkbox`. In `edit` mode it renders
|
|
1422
|
+
* {@link CheckboxControl} plus the validation message; in `view` mode the matching viewer.
|
|
1423
|
+
*
|
|
1424
|
+
* ### Supported `config` keys
|
|
1425
|
+
* | Key | Type | Description |
|
|
1426
|
+
* | --- | --- | --- |
|
|
1427
|
+
* | `hideLabel` | `boolean` | Hides the field label. |
|
|
1428
|
+
* | `readonly` | `boolean` | Shows the value but blocks interaction. |
|
|
1429
|
+
*
|
|
1430
|
+
* ### Other field members used
|
|
1431
|
+
* `label()` · `options()`
|
|
1432
|
+
*
|
|
1433
|
+
* Every field also honours `visible`, `mode`, `validation`, `asyncValidation` and
|
|
1434
|
+
* `events` — see {@link IssField} for the full model and {@link FieldConfig} for all keys.
|
|
1435
|
+
*
|
|
1436
|
+
* @example
|
|
1437
|
+
* ```json
|
|
1438
|
+
* { "name": "days", "type": "checkbox", "label": "Days", "options": [{ "value": "sun", "label": "Sunday" }] }
|
|
1439
|
+
* ```
|
|
1440
|
+
*/
|
|
549
1441
|
declare class CheckboxField extends FieldBase {
|
|
550
1442
|
updateField($event: any): void;
|
|
551
1443
|
static ɵfac: i0.ɵɵFactoryDeclaration<CheckboxField, never>;
|
|
552
1444
|
static ɵcmp: i0.ɵɵComponentDeclaration<CheckboxField, "iss-field-checkbox", never, {}, {}, never, never, true, never>;
|
|
553
1445
|
}
|
|
554
1446
|
|
|
1447
|
+
/**
|
|
1448
|
+
* `<iss-field-toggle-button>` — options rendered as a button group.
|
|
1449
|
+
*
|
|
1450
|
+
* Rendered by the outlet for fields of type `toggle_button`. In `edit` mode it renders
|
|
1451
|
+
* {@link ToggleButtonControl} plus the validation message; in `view` mode the matching viewer.
|
|
1452
|
+
*
|
|
1453
|
+
* ### Supported `config` keys
|
|
1454
|
+
* | Key | Type | Description |
|
|
1455
|
+
* | --- | --- | --- |
|
|
1456
|
+
* | `multiple` | `boolean` | Allows more than one active button. |
|
|
1457
|
+
* | `hideLabel` | `boolean` | Hides the field label. |
|
|
1458
|
+
* | `readonly` | `boolean` | Shows the value but blocks interaction. |
|
|
1459
|
+
*
|
|
1460
|
+
* ### Other field members used
|
|
1461
|
+
* `label()` · `options()`
|
|
1462
|
+
*
|
|
1463
|
+
* Every field also honours `visible`, `mode`, `validation`, `asyncValidation` and
|
|
1464
|
+
* `events` — see {@link IssField} for the full model and {@link FieldConfig} for all keys.
|
|
1465
|
+
*
|
|
1466
|
+
* @example
|
|
1467
|
+
* ```json
|
|
1468
|
+
* { "name": "priority", "type": "toggle_button", "label": "Priority", "options": [{ "value": "high", "label": "High" }] }
|
|
1469
|
+
* ```
|
|
1470
|
+
*/
|
|
555
1471
|
declare class ToggleButtonField extends FieldBase {
|
|
556
1472
|
onChange($event: any): void;
|
|
557
1473
|
static ɵfac: i0.ɵɵFactoryDeclaration<ToggleButtonField, never>;
|
|
558
1474
|
static ɵcmp: i0.ɵɵComponentDeclaration<ToggleButtonField, "iss-field-toggle-button", never, {}, {}, never, never, true, never>;
|
|
559
1475
|
}
|
|
560
1476
|
|
|
1477
|
+
/**
|
|
1478
|
+
* `<iss-field-slide-toggle>` — an on/off switch for a boolean value.
|
|
1479
|
+
*
|
|
1480
|
+
* Rendered by the outlet for fields of type `switch`. In `edit` mode it renders
|
|
1481
|
+
* {@link SlideToggleControl} plus the validation message; in `view` mode the matching viewer.
|
|
1482
|
+
*
|
|
1483
|
+
* ### Supported `config` keys
|
|
1484
|
+
* | Key | Type | Description |
|
|
1485
|
+
* | --- | --- | --- |
|
|
1486
|
+
* | `hideLabel` | `boolean` | Hides the field label. |
|
|
1487
|
+
* | `readonly` | `boolean` | Shows the value but blocks interaction. |
|
|
1488
|
+
*
|
|
1489
|
+
* ### Other field members used
|
|
1490
|
+
* `label()`
|
|
1491
|
+
*
|
|
1492
|
+
* Every field also honours `visible`, `mode`, `validation`, `asyncValidation` and
|
|
1493
|
+
* `events` — see {@link IssField} for the full model and {@link FieldConfig} for all keys.
|
|
1494
|
+
*
|
|
1495
|
+
* @example
|
|
1496
|
+
* ```json
|
|
1497
|
+
* { "name": "active", "type": "switch", "label": "Active" }
|
|
1498
|
+
* ```
|
|
1499
|
+
*/
|
|
561
1500
|
declare class SlideToggleField extends FieldBase {
|
|
562
1501
|
onChange($event: any): void;
|
|
563
1502
|
static ɵfac: i0.ɵɵFactoryDeclaration<SlideToggleField, never>;
|
|
564
1503
|
static ɵcmp: i0.ɵɵComponentDeclaration<SlideToggleField, "iss-field-slide-toggle", never, {}, {}, never, never, true, never>;
|
|
565
1504
|
}
|
|
566
1505
|
|
|
1506
|
+
/**
|
|
1507
|
+
* `<iss-field-plate-number>` — a Saudi vehicle plate in Arabic and English.
|
|
1508
|
+
*
|
|
1509
|
+
* Rendered by the outlet for fields of type `vehicle_plate`. In `edit` mode it renders
|
|
1510
|
+
* {@link PlateControl} plus the validation message; in `view` mode the matching viewer.
|
|
1511
|
+
*
|
|
1512
|
+
* ### Supported `config` keys
|
|
1513
|
+
* | Key | Type | Description |
|
|
1514
|
+
* | --- | --- | --- |
|
|
1515
|
+
* | `hideLabel` | `boolean` | Hides the field label. |
|
|
1516
|
+
* | `readonly` | `boolean` | Shows the value but blocks interaction. |
|
|
1517
|
+
*
|
|
1518
|
+
* ### Other field members used
|
|
1519
|
+
* `label()`
|
|
1520
|
+
*
|
|
1521
|
+
* Every field also honours `visible`, `mode`, `validation`, `asyncValidation` and
|
|
1522
|
+
* `events` — see {@link IssField} for the full model and {@link FieldConfig} for all keys.
|
|
1523
|
+
*
|
|
1524
|
+
* @example
|
|
1525
|
+
* ```json
|
|
1526
|
+
* { "name": "plate", "type": "vehicle_plate", "label": "Plate number" }
|
|
1527
|
+
* ```
|
|
1528
|
+
*/
|
|
567
1529
|
declare class PlateField extends FieldBase {
|
|
568
1530
|
updateField($event: any): void;
|
|
569
1531
|
static ɵfac: i0.ɵɵFactoryDeclaration<PlateField, never>;
|
|
@@ -586,6 +1548,36 @@ declare class FileHandler {
|
|
|
586
1548
|
static ɵprov: i0.ɵɵInjectableDeclaration<FileHandler>;
|
|
587
1549
|
}
|
|
588
1550
|
|
|
1551
|
+
/**
|
|
1552
|
+
* `<iss-field-file-picker>` — attachment upload.
|
|
1553
|
+
*
|
|
1554
|
+
* Rendered by the outlet for fields of type `attachment`. In `edit` mode it renders
|
|
1555
|
+
* {@link FilePickerControl} plus the validation message; in `view` mode the matching viewer.
|
|
1556
|
+
*
|
|
1557
|
+
* ### Supported `config` keys
|
|
1558
|
+
* | Key | Type | Description |
|
|
1559
|
+
* | --- | --- | --- |
|
|
1560
|
+
* | `multiple` | `boolean` | Allows attaching more than one file. |
|
|
1561
|
+
* | `readonly` | `boolean` | Shows the value but blocks interaction. |
|
|
1562
|
+
*
|
|
1563
|
+
* ### Other field members used
|
|
1564
|
+
* `label()` · `value` · `validation` · `ctrlJsonValue()`
|
|
1565
|
+
*
|
|
1566
|
+
* Every field also honours `visible`, `mode`, `validation`, `asyncValidation` and
|
|
1567
|
+
* `events` — see {@link IssField} for the full model and {@link FieldConfig} for all keys.
|
|
1568
|
+
*
|
|
1569
|
+
* The field uploads the picked files itself, stores the returned ids as the control value
|
|
1570
|
+
* and keeps the resolved attachments in `field.ctrlJsonValue`.
|
|
1571
|
+
*
|
|
1572
|
+
* Accepted extensions come from the `fileType` **validation** rule, not from `config`; the
|
|
1573
|
+
* `allowedFileSize`, `allowedFileTypes`, `minFilesCount`, `maxFilesCount`, `templateId` and
|
|
1574
|
+
* `templateUrl` config keys exist on {@link FieldConfig} but are not read here yet.
|
|
1575
|
+
*
|
|
1576
|
+
* @example
|
|
1577
|
+
* ```json
|
|
1578
|
+
* { "name": "attachments", "type": "attachment", "label": "Attachments", "config": { "multiple": true }, "validation": { "fileType": ["pdf", "png"] } }
|
|
1579
|
+
* ```
|
|
1580
|
+
*/
|
|
589
1581
|
declare class FilePickerField extends FieldBase implements OnDestroy {
|
|
590
1582
|
#private;
|
|
591
1583
|
picker: FormControl<any>;
|
|
@@ -602,21 +1594,117 @@ declare class FilePickerField extends FieldBase implements OnDestroy {
|
|
|
602
1594
|
static ɵcmp: i0.ɵɵComponentDeclaration<FilePickerField, "iss-field-file-picker", never, {}, {}, never, never, true, never>;
|
|
603
1595
|
}
|
|
604
1596
|
|
|
1597
|
+
/**
|
|
1598
|
+
* `<iss-field-time-picker>` — a time of day, picked from a generated list.
|
|
1599
|
+
*
|
|
1600
|
+
* Rendered by the outlet for fields of type `time`. In `edit` mode it renders
|
|
1601
|
+
* {@link TimePickerControl} plus the validation message; in `view` mode the matching viewer.
|
|
1602
|
+
*
|
|
1603
|
+
* ### Supported `config` keys
|
|
1604
|
+
* | Key | Type | Description |
|
|
1605
|
+
* | --- | --- | --- |
|
|
1606
|
+
* | `readonly` | `boolean` | Shows the value but blocks interaction. |
|
|
1607
|
+
*
|
|
1608
|
+
* ### Other field members used
|
|
1609
|
+
* `label()`
|
|
1610
|
+
*
|
|
1611
|
+
* Every field also honours `visible`, `mode`, `validation`, `asyncValidation` and
|
|
1612
|
+
* `events` — see {@link IssField} for the full model and {@link FieldConfig} for all keys.
|
|
1613
|
+
*
|
|
1614
|
+
* @example
|
|
1615
|
+
* ```json
|
|
1616
|
+
* { "name": "startsAt", "type": "time", "label": "Starts at" }
|
|
1617
|
+
* ```
|
|
1618
|
+
*/
|
|
605
1619
|
declare class TimePickerField extends FieldBase {
|
|
606
1620
|
static ɵfac: i0.ɵɵFactoryDeclaration<TimePickerField, never>;
|
|
607
1621
|
static ɵcmp: i0.ɵɵComponentDeclaration<TimePickerField, "iss-field-time-picker", never, {}, {}, never, never, true, never>;
|
|
608
1622
|
}
|
|
609
1623
|
|
|
1624
|
+
/**
|
|
1625
|
+
* `<iss-field-date-picker>` — a single date, picked from a calendar.
|
|
1626
|
+
*
|
|
1627
|
+
* Rendered by the outlet for fields of type `date`. In `edit` mode it renders
|
|
1628
|
+
* {@link DatePickerControl} plus the validation message; in `view` mode the matching viewer.
|
|
1629
|
+
*
|
|
1630
|
+
* ### Supported `config` keys
|
|
1631
|
+
* | Key | Type | Description |
|
|
1632
|
+
* | --- | --- | --- |
|
|
1633
|
+
* | `minDate` | `Date` | Earliest selectable date. |
|
|
1634
|
+
* | `maxDate` | `Date` | Latest selectable date. |
|
|
1635
|
+
* | `readonly` | `boolean` | Shows the value but blocks interaction. |
|
|
1636
|
+
*
|
|
1637
|
+
* ### Other field members used
|
|
1638
|
+
* `label()`
|
|
1639
|
+
*
|
|
1640
|
+
* Every field also honours `visible`, `mode`, `validation`, `asyncValidation` and
|
|
1641
|
+
* `events` — see {@link IssField} for the full model and {@link FieldConfig} for all keys.
|
|
1642
|
+
*
|
|
1643
|
+
* @example
|
|
1644
|
+
* ```json
|
|
1645
|
+
* { "name": "startsOn", "type": "date", "label": "Start date", "config": { "minDate": "2026-01-01" } }
|
|
1646
|
+
* ```
|
|
1647
|
+
*/
|
|
610
1648
|
declare class DatePickerField extends FieldBase {
|
|
611
1649
|
static ɵfac: i0.ɵɵFactoryDeclaration<DatePickerField, never>;
|
|
612
1650
|
static ɵcmp: i0.ɵɵComponentDeclaration<DatePickerField, "iss-field-date-picker", never, {}, {}, never, never, true, never>;
|
|
613
1651
|
}
|
|
614
1652
|
|
|
1653
|
+
/**
|
|
1654
|
+
* `<iss-field-datetime-picker>` — a date and a time in one field.
|
|
1655
|
+
*
|
|
1656
|
+
* Rendered by the outlet for fields of type `datetime`. In `edit` mode it renders
|
|
1657
|
+
* {@link DatetimePickerControl} plus the validation message; in `view` mode the matching viewer.
|
|
1658
|
+
*
|
|
1659
|
+
* ### Supported `config` keys
|
|
1660
|
+
* | Key | Type | Description |
|
|
1661
|
+
* | --- | --- | --- |
|
|
1662
|
+
* | `minDate` | `Date` | Earliest selectable date. |
|
|
1663
|
+
* | `maxDate` | `Date` | Latest selectable date. |
|
|
1664
|
+
* | `readonly` | `boolean` | Shows the value but blocks interaction. |
|
|
1665
|
+
*
|
|
1666
|
+
* ### Other field members used
|
|
1667
|
+
* `label()`
|
|
1668
|
+
*
|
|
1669
|
+
* Every field also honours `visible`, `mode`, `validation`, `asyncValidation` and
|
|
1670
|
+
* `events` — see {@link IssField} for the full model and {@link FieldConfig} for all keys.
|
|
1671
|
+
*
|
|
1672
|
+
* @example
|
|
1673
|
+
* ```json
|
|
1674
|
+
* { "name": "scheduledAt", "type": "datetime", "label": "Scheduled at" }
|
|
1675
|
+
* ```
|
|
1676
|
+
*/
|
|
615
1677
|
declare class DatetimePickerField extends FieldBase {
|
|
616
1678
|
static ɵfac: i0.ɵɵFactoryDeclaration<DatetimePickerField, never>;
|
|
617
1679
|
static ɵcmp: i0.ɵɵComponentDeclaration<DatetimePickerField, "iss-field-datetime-picker", never, {}, {}, never, never, true, never>;
|
|
618
1680
|
}
|
|
619
1681
|
|
|
1682
|
+
/**
|
|
1683
|
+
* `<iss-field-date-range-picker>` — a start and end date in one field.
|
|
1684
|
+
*
|
|
1685
|
+
* Rendered by the outlet for fields of type `date_range`. In `edit` mode it renders
|
|
1686
|
+
* {@link DateRangePickerControl} plus the validation message; in `view` mode the matching viewer.
|
|
1687
|
+
*
|
|
1688
|
+
* ### Supported `config` keys
|
|
1689
|
+
* | Key | Type | Description |
|
|
1690
|
+
* | --- | --- | --- |
|
|
1691
|
+
* | `minDate` | `Date` | Earliest selectable date. |
|
|
1692
|
+
* | `maxDate` | `Date` | Latest selectable date. |
|
|
1693
|
+
* | `readonly` | `boolean` | Shows the value but blocks interaction. |
|
|
1694
|
+
*
|
|
1695
|
+
* ### Other field members used
|
|
1696
|
+
* `label()`
|
|
1697
|
+
*
|
|
1698
|
+
* Every field also honours `visible`, `mode`, `validation`, `asyncValidation` and
|
|
1699
|
+
* `events` — see {@link IssField} for the full model and {@link FieldConfig} for all keys.
|
|
1700
|
+
*
|
|
1701
|
+
* A half-filled range is treated as no value at all.
|
|
1702
|
+
*
|
|
1703
|
+
* @example
|
|
1704
|
+
* ```json
|
|
1705
|
+
* { "name": "period", "type": "date_range", "label": "Period" }
|
|
1706
|
+
* ```
|
|
1707
|
+
*/
|
|
620
1708
|
declare class DateRangePickerField extends FieldBase {
|
|
621
1709
|
static ɵfac: i0.ɵɵFactoryDeclaration<DateRangePickerField, never>;
|
|
622
1710
|
static ɵcmp: i0.ɵɵComponentDeclaration<DateRangePickerField, "iss-field-date-range-picker", never, {}, {}, never, never, true, never>;
|
|
@@ -758,6 +1846,33 @@ interface DynamicImport<T> {
|
|
|
758
1846
|
[key: PropertyKey]: () => Promise<T>;
|
|
759
1847
|
}
|
|
760
1848
|
|
|
1849
|
+
/**
|
|
1850
|
+
* Maps a field's `type` to the `iss-field-*` component that renders it.
|
|
1851
|
+
*
|
|
1852
|
+
* The outlet looks the field up here and lazy-loads the component, so a `type` that is not
|
|
1853
|
+
* a key of this object renders nothing. Hover a field class for the `config` keys it reads.
|
|
1854
|
+
*
|
|
1855
|
+
* | `type` | Component | Control | Renders |
|
|
1856
|
+
* | --- | --- | --- | --- |
|
|
1857
|
+
* | `text_input` | `InputField` | `iss-ctrl-input` | Single line text, number, email, password. |
|
|
1858
|
+
* | `textarea` | `TextareaField` | `iss-ctrl-textarea` | Multi line free text. |
|
|
1859
|
+
* | `dropdown_list` | `SelectField` | `iss-ctrl-select` | Searchable single/multi select. |
|
|
1860
|
+
* | `toggle_button` | `ToggleButtonField` | `iss-ctrl-toggle-button` | Options as a button group. |
|
|
1861
|
+
* | `checkbox` | `CheckboxField` | `iss-ctrl-checkbox` | Multi choice checkbox list. |
|
|
1862
|
+
* | `radio` | `RadioField` | `iss-ctrl-radio` | Single choice radio list. |
|
|
1863
|
+
* | `date` | `DatePickerField` | `iss-ctrl-date-picker` | A single date. |
|
|
1864
|
+
* | `time` | `TimePickerField` | `iss-ctrl-time-picker` | A time of day. |
|
|
1865
|
+
* | `datetime` | `DatetimePickerField` | `iss-ctrl-datetime-picker` | Date and time together. |
|
|
1866
|
+
* | `date_range` | `DateRangePickerField` | `iss-ctrl-date-range-picker` | A start/end date range. |
|
|
1867
|
+
* | `attachment` | `FilePickerField` | `iss-ctrl-file-picker` | File upload. |
|
|
1868
|
+
* | `userPicker` | `UserPickerField` | `iss-ctrl-select` | Employee lookup. |
|
|
1869
|
+
* | `vehicle_plate` | `PlateField` | `iss-ctrl-plate-number` | Saudi vehicle plate. |
|
|
1870
|
+
* | `enrichment` | `NoteField` | — | Read-only explanatory text. |
|
|
1871
|
+
* | `mobile` | `MobileField` | `iss-ctrl-mobile` | International phone number. |
|
|
1872
|
+
* | `table` | `TableField` | `iss-ctrl-table` | Repeatable rows built from `children`. |
|
|
1873
|
+
* | `chips` | `ChipsField` | `iss-ctrl-chips` | Free text as removable chips. |
|
|
1874
|
+
* | `switch` | `SlideToggleField` | `iss-ctrl-slide-toggle` | Boolean on/off switch. |
|
|
1875
|
+
*/
|
|
761
1876
|
declare const COMPONENTS: DynamicImport<Type<any>>;
|
|
762
1877
|
|
|
763
1878
|
declare const SERVICES: DynamicImport<Type<any>>;
|