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.
Files changed (328) hide show
  1. package/fesm2022/{iss-ctrl-iss-ctrl-hz0ibyPg.mjs → iss-ctrl-iss-ctrl-BN9rcLt2.mjs} +1293 -198
  2. package/fesm2022/iss-ctrl-iss-ctrl-BN9rcLt2.mjs.map +1 -0
  3. package/fesm2022/iss-ctrl-iss-ctrl-DOmgkxUv.mjs +8924 -0
  4. package/fesm2022/iss-ctrl-iss-ctrl-DOmgkxUv.mjs.map +1 -0
  5. package/fesm2022/iss-ctrl-iss-ctrl-WfIqBEcL.mjs +8913 -0
  6. package/fesm2022/iss-ctrl-iss-ctrl-WfIqBEcL.mjs.map +1 -0
  7. package/fesm2022/{iss-ctrl-load-event-BW5dKG8R.mjs → iss-ctrl-load-event-AgBohfHa.mjs} +3 -3
  8. package/fesm2022/{iss-ctrl-load-event-BW5dKG8R.mjs.map → iss-ctrl-load-event-AgBohfHa.mjs.map} +1 -1
  9. package/fesm2022/iss-ctrl-load-event-D70VZuyD.mjs +60 -0
  10. package/fesm2022/iss-ctrl-load-event-D70VZuyD.mjs.map +1 -0
  11. package/fesm2022/iss-ctrl-load-event-SlQmVmyf.mjs +60 -0
  12. package/fesm2022/iss-ctrl-load-event-SlQmVmyf.mjs.map +1 -0
  13. package/fesm2022/{iss-ctrl-load-options-event-ClX9TiiD.mjs → iss-ctrl-load-options-event-CBejHpME.mjs} +3 -3
  14. package/fesm2022/{iss-ctrl-load-options-event-ClX9TiiD.mjs.map → iss-ctrl-load-options-event-CBejHpME.mjs.map} +1 -1
  15. package/fesm2022/iss-ctrl-load-options-event-ClQPHNBO.mjs +50 -0
  16. package/fesm2022/iss-ctrl-load-options-event-ClQPHNBO.mjs.map +1 -0
  17. package/fesm2022/iss-ctrl-load-options-event-DHmaMAOb.mjs +50 -0
  18. package/fesm2022/iss-ctrl-load-options-event-DHmaMAOb.mjs.map +1 -0
  19. package/fesm2022/{iss-ctrl-load-value-event-DThpI9BA.mjs → iss-ctrl-load-value-event-Bu9-rZ6T.mjs} +3 -3
  20. package/fesm2022/{iss-ctrl-load-value-event-DThpI9BA.mjs.map → iss-ctrl-load-value-event-Bu9-rZ6T.mjs.map} +1 -1
  21. package/fesm2022/iss-ctrl-load-value-event-CDAKsE_O.mjs +52 -0
  22. package/fesm2022/iss-ctrl-load-value-event-CDAKsE_O.mjs.map +1 -0
  23. package/fesm2022/iss-ctrl-load-value-event-Cpuy1og1.mjs +52 -0
  24. package/fesm2022/iss-ctrl-load-value-event-Cpuy1og1.mjs.map +1 -0
  25. package/fesm2022/{iss-ctrl-note.field-4uLl0oS_.mjs → iss-ctrl-note.field-C9cVaAz0.mjs} +24 -2
  26. package/fesm2022/iss-ctrl-note.field-C9cVaAz0.mjs.map +1 -0
  27. package/fesm2022/iss-ctrl-note.field-IM4x1O3b.mjs +65 -0
  28. package/fesm2022/iss-ctrl-note.field-IM4x1O3b.mjs.map +1 -0
  29. package/fesm2022/iss-ctrl-note.field-onDjqI_X.mjs +65 -0
  30. package/fesm2022/iss-ctrl-note.field-onDjqI_X.mjs.map +1 -0
  31. package/fesm2022/{iss-ctrl-replace-api-keys-BQL9zimJ.mjs → iss-ctrl-replace-api-keys-CLP4wBYu.mjs} +2 -2
  32. package/fesm2022/{iss-ctrl-replace-api-keys-BQL9zimJ.mjs.map → iss-ctrl-replace-api-keys-CLP4wBYu.mjs.map} +1 -1
  33. package/fesm2022/iss-ctrl-replace-api-keys-Chwe42Nu.mjs +57 -0
  34. package/fesm2022/iss-ctrl-replace-api-keys-Chwe42Nu.mjs.map +1 -0
  35. package/fesm2022/iss-ctrl-replace-api-keys-CvhCKvNB.mjs +57 -0
  36. package/fesm2022/iss-ctrl-replace-api-keys-CvhCKvNB.mjs.map +1 -0
  37. package/fesm2022/{iss-ctrl-set-value-event-BbEYFBe3.mjs → iss-ctrl-set-value-event-C7YYwHZV.mjs} +2 -2
  38. package/fesm2022/{iss-ctrl-set-value-event-BbEYFBe3.mjs.map → iss-ctrl-set-value-event-C7YYwHZV.mjs.map} +1 -1
  39. package/fesm2022/iss-ctrl-set-value-event-CrpzRR6X.mjs +61 -0
  40. package/fesm2022/iss-ctrl-set-value-event-CrpzRR6X.mjs.map +1 -0
  41. package/fesm2022/iss-ctrl-set-value-event-DiHESiPT.mjs +61 -0
  42. package/fesm2022/iss-ctrl-set-value-event-DiHESiPT.mjs.map +1 -0
  43. package/fesm2022/iss-ctrl-table.field-BP-HMKO3.mjs +592 -0
  44. package/fesm2022/iss-ctrl-table.field-BP-HMKO3.mjs.map +1 -0
  45. package/fesm2022/iss-ctrl-table.field-CDSVakji.mjs +592 -0
  46. package/fesm2022/iss-ctrl-table.field-CDSVakji.mjs.map +1 -0
  47. package/fesm2022/{iss-ctrl-table.field-kPIwve-M.mjs → iss-ctrl-table.field-DxwfNXNc.mjs} +77 -2
  48. package/fesm2022/iss-ctrl-table.field-DxwfNXNc.mjs.map +1 -0
  49. package/fesm2022/{iss-ctrl-trigger-based-on-json-value-DuLD4SOS.mjs → iss-ctrl-trigger-based-on-json-value-CprcFCWi.mjs} +2 -2
  50. package/fesm2022/{iss-ctrl-trigger-based-on-json-value-DuLD4SOS.mjs.map → iss-ctrl-trigger-based-on-json-value-CprcFCWi.mjs.map} +1 -1
  51. package/fesm2022/iss-ctrl-trigger-based-on-json-value-DS4TR38v.mjs +24 -0
  52. package/fesm2022/iss-ctrl-trigger-based-on-json-value-DS4TR38v.mjs.map +1 -0
  53. package/fesm2022/iss-ctrl-trigger-based-on-json-value-Dp0EhVLA.mjs +24 -0
  54. package/fesm2022/iss-ctrl-trigger-based-on-json-value-Dp0EhVLA.mjs.map +1 -0
  55. package/fesm2022/{iss-ctrl-user-picker.field-l-0bW6lP.mjs → iss-ctrl-user-picker.field-8Jb1325c.mjs} +33 -8
  56. package/fesm2022/iss-ctrl-user-picker.field-8Jb1325c.mjs.map +1 -0
  57. package/fesm2022/iss-ctrl-user-picker.field-Mqi37i7D.mjs +225 -0
  58. package/fesm2022/iss-ctrl-user-picker.field-Mqi37i7D.mjs.map +1 -0
  59. package/fesm2022/iss-ctrl-user-picker.field-PxT_dZ_O.mjs +225 -0
  60. package/fesm2022/iss-ctrl-user-picker.field-PxT_dZ_O.mjs.map +1 -0
  61. package/fesm2022/iss-ctrl.mjs +1 -1
  62. package/package.json +1 -1
  63. package/types/iss-ctrl.d.ts +1115 -0
  64. package/upgrade.scss +16 -0
  65. package/fesm2022/iss-ctrl-iss-ctrl-hz0ibyPg.mjs.map +0 -1
  66. package/fesm2022/iss-ctrl-note.field-4uLl0oS_.mjs.map +0 -1
  67. package/fesm2022/iss-ctrl-table.field-kPIwve-M.mjs.map +0 -1
  68. package/fesm2022/iss-ctrl-user-picker.field-l-0bW6lP.mjs.map +0 -1
  69. package/src/components/controls/mobile/flags/ad.svg +0 -282
  70. package/src/components/controls/mobile/flags/ae.svg +0 -6
  71. package/src/components/controls/mobile/flags/af.svg +0 -9
  72. package/src/components/controls/mobile/flags/ag.svg +0 -15
  73. package/src/components/controls/mobile/flags/ai.svg +0 -35
  74. package/src/components/controls/mobile/flags/al.svg +0 -7
  75. package/src/components/controls/mobile/flags/am.svg +0 -5
  76. package/src/components/controls/mobile/flags/ao.svg +0 -19
  77. package/src/components/controls/mobile/flags/aq.svg +0 -45
  78. package/src/components/controls/mobile/flags/ar.svg +0 -66
  79. package/src/components/controls/mobile/flags/as.svg +0 -225
  80. package/src/components/controls/mobile/flags/at.svg +0 -4
  81. package/src/components/controls/mobile/flags/au.svg +0 -32
  82. package/src/components/controls/mobile/flags/aw.svg +0 -11
  83. package/src/components/controls/mobile/flags/ax.svg +0 -11
  84. package/src/components/controls/mobile/flags/az.svg +0 -11
  85. package/src/components/controls/mobile/flags/ba.svg +0 -18
  86. package/src/components/controls/mobile/flags/bb.svg +0 -11
  87. package/src/components/controls/mobile/flags/bd.svg +0 -4
  88. package/src/components/controls/mobile/flags/be.svg +0 -5
  89. package/src/components/controls/mobile/flags/bf.svg +0 -14
  90. package/src/components/controls/mobile/flags/bg.svg +0 -5
  91. package/src/components/controls/mobile/flags/bh.svg +0 -4
  92. package/src/components/controls/mobile/flags/bi.svg +0 -26
  93. package/src/components/controls/mobile/flags/bj.svg +0 -5
  94. package/src/components/controls/mobile/flags/bl.svg +0 -5
  95. package/src/components/controls/mobile/flags/bm.svg +0 -374
  96. package/src/components/controls/mobile/flags/bn.svg +0 -70
  97. package/src/components/controls/mobile/flags/bo.svg +0 -3625
  98. package/src/components/controls/mobile/flags/bq.svg +0 -5
  99. package/src/components/controls/mobile/flags/br.svg +0 -92
  100. package/src/components/controls/mobile/flags/bs.svg +0 -5
  101. package/src/components/controls/mobile/flags/bt.svg +0 -487
  102. package/src/components/controls/mobile/flags/bv.svg +0 -11
  103. package/src/components/controls/mobile/flags/bw.svg +0 -5
  104. package/src/components/controls/mobile/flags/by.svg +0 -15
  105. package/src/components/controls/mobile/flags/bz.svg +0 -629
  106. package/src/components/controls/mobile/flags/ca.svg +0 -7
  107. package/src/components/controls/mobile/flags/cc.svg +0 -33
  108. package/src/components/controls/mobile/flags/cd.svg +0 -5
  109. package/src/components/controls/mobile/flags/cf.svg +0 -7
  110. package/src/components/controls/mobile/flags/cg.svg +0 -5
  111. package/src/components/controls/mobile/flags/ch.svg +0 -4
  112. package/src/components/controls/mobile/flags/ci.svg +0 -5
  113. package/src/components/controls/mobile/flags/ck.svg +0 -29
  114. package/src/components/controls/mobile/flags/cl.svg +0 -14
  115. package/src/components/controls/mobile/flags/cm.svg +0 -15
  116. package/src/components/controls/mobile/flags/cn.svg +0 -11
  117. package/src/components/controls/mobile/flags/co.svg +0 -5
  118. package/src/components/controls/mobile/flags/cr.svg +0 -1332
  119. package/src/components/controls/mobile/flags/cu.svg +0 -6
  120. package/src/components/controls/mobile/flags/cv.svg +0 -24
  121. package/src/components/controls/mobile/flags/cw.svg +0 -16
  122. package/src/components/controls/mobile/flags/cx.svg +0 -24
  123. package/src/components/controls/mobile/flags/cy.svg +0 -13
  124. package/src/components/controls/mobile/flags/cz.svg +0 -5
  125. package/src/components/controls/mobile/flags/de.svg +0 -5
  126. package/src/components/controls/mobile/flags/dj.svg +0 -6
  127. package/src/components/controls/mobile/flags/dk.svg +0 -5
  128. package/src/components/controls/mobile/flags/dm.svg +0 -198
  129. package/src/components/controls/mobile/flags/do.svg +0 -238
  130. package/src/components/controls/mobile/flags/dz.svg +0 -5
  131. package/src/components/controls/mobile/flags/ec.svg +0 -1292
  132. package/src/components/controls/mobile/flags/ee.svg +0 -5
  133. package/src/components/controls/mobile/flags/eg.svg +0 -125
  134. package/src/components/controls/mobile/flags/eh.svg +0 -12
  135. package/src/components/controls/mobile/flags/er.svg +0 -9
  136. package/src/components/controls/mobile/flags/es.svg +0 -445
  137. package/src/components/controls/mobile/flags/et.svg +0 -16
  138. package/src/components/controls/mobile/flags/eu.svg +0 -28
  139. package/src/components/controls/mobile/flags/fi.svg +0 -5
  140. package/src/components/controls/mobile/flags/fj.svg +0 -203
  141. package/src/components/controls/mobile/flags/fk.svg +0 -922
  142. package/src/components/controls/mobile/flags/flags.png +0 -0
  143. package/src/components/controls/mobile/flags/flags@2x.png +0 -0
  144. package/src/components/controls/mobile/flags/fm.svg +0 -16
  145. package/src/components/controls/mobile/flags/fo.svg +0 -11
  146. package/src/components/controls/mobile/flags/fonts.css +0 -271
  147. package/src/components/controls/mobile/flags/fr.svg +0 -5
  148. package/src/components/controls/mobile/flags/ga.svg +0 -5
  149. package/src/components/controls/mobile/flags/gb-eng.svg +0 -7
  150. package/src/components/controls/mobile/flags/gb-nir.svg +0 -15
  151. package/src/components/controls/mobile/flags/gb-sct.svg +0 -11
  152. package/src/components/controls/mobile/flags/gb-wls.svg +0 -16
  153. package/src/components/controls/mobile/flags/gb.svg +0 -15
  154. package/src/components/controls/mobile/flags/gd.svg +0 -11
  155. package/src/components/controls/mobile/flags/ge.svg +0 -17
  156. package/src/components/controls/mobile/flags/gf.svg +0 -5
  157. package/src/components/controls/mobile/flags/gg.svg +0 -8
  158. package/src/components/controls/mobile/flags/gh.svg +0 -6
  159. package/src/components/controls/mobile/flags/gi.svg +0 -69
  160. package/src/components/controls/mobile/flags/gl.svg +0 -4
  161. package/src/components/controls/mobile/flags/gm.svg +0 -7
  162. package/src/components/controls/mobile/flags/gn.svg +0 -5
  163. package/src/components/controls/mobile/flags/gp.svg +0 -5
  164. package/src/components/controls/mobile/flags/gq.svg +0 -88
  165. package/src/components/controls/mobile/flags/gr.svg +0 -4
  166. package/src/components/controls/mobile/flags/gs.svg +0 -693
  167. package/src/components/controls/mobile/flags/gt.svg +0 -317
  168. package/src/components/controls/mobile/flags/gu.svg +0 -58
  169. package/src/components/controls/mobile/flags/gw.svg +0 -13
  170. package/src/components/controls/mobile/flags/gy.svg +0 -7
  171. package/src/components/controls/mobile/flags/hk.svg +0 -17
  172. package/src/components/controls/mobile/flags/hm.svg +0 -32
  173. package/src/components/controls/mobile/flags/hn.svg +0 -10
  174. package/src/components/controls/mobile/flags/hr.svg +0 -282
  175. package/src/components/controls/mobile/flags/ht.svg +0 -1470
  176. package/src/components/controls/mobile/flags/hu.svg +0 -5
  177. package/src/components/controls/mobile/flags/id.svg +0 -4
  178. package/src/components/controls/mobile/flags/ie.svg +0 -5
  179. package/src/components/controls/mobile/flags/il.svg +0 -5
  180. package/src/components/controls/mobile/flags/im.svg +0 -33
  181. package/src/components/controls/mobile/flags/in.svg +0 -25
  182. package/src/components/controls/mobile/flags/io.svg +0 -895
  183. package/src/components/controls/mobile/flags/iq.svg +0 -12
  184. package/src/components/controls/mobile/flags/ir.svg +0 -31
  185. package/src/components/controls/mobile/flags/is.svg +0 -5
  186. package/src/components/controls/mobile/flags/it.svg +0 -5
  187. package/src/components/controls/mobile/flags/je.svg +0 -40
  188. package/src/components/controls/mobile/flags/jm.svg +0 -9
  189. package/src/components/controls/mobile/flags/jo.svg +0 -10
  190. package/src/components/controls/mobile/flags/jp.svg +0 -4
  191. package/src/components/controls/mobile/flags/ke.svg +0 -28
  192. package/src/components/controls/mobile/flags/kg.svg +0 -7
  193. package/src/components/controls/mobile/flags/kh.svg +0 -133
  194. package/src/components/controls/mobile/flags/ki.svg +0 -54
  195. package/src/components/controls/mobile/flags/km.svg +0 -13
  196. package/src/components/controls/mobile/flags/kn.svg +0 -24
  197. package/src/components/controls/mobile/flags/kp.svg +0 -16
  198. package/src/components/controls/mobile/flags/kr.svg +0 -16
  199. package/src/components/controls/mobile/flags/kw.svg +0 -6
  200. package/src/components/controls/mobile/flags/ky.svg +0 -153
  201. package/src/components/controls/mobile/flags/kz.svg +0 -49
  202. package/src/components/controls/mobile/flags/la.svg +0 -5
  203. package/src/components/controls/mobile/flags/lb.svg +0 -8
  204. package/src/components/controls/mobile/flags/lc.svg +0 -6
  205. package/src/components/controls/mobile/flags/li.svg +0 -75
  206. package/src/components/controls/mobile/flags/lk.svg +0 -50
  207. package/src/components/controls/mobile/flags/lr.svg +0 -15
  208. package/src/components/controls/mobile/flags/ls.svg +0 -32
  209. package/src/components/controls/mobile/flags/lt.svg +0 -5
  210. package/src/components/controls/mobile/flags/lu.svg +0 -5
  211. package/src/components/controls/mobile/flags/lv.svg +0 -4
  212. package/src/components/controls/mobile/flags/ly.svg +0 -8
  213. package/src/components/controls/mobile/flags/ma.svg +0 -4
  214. package/src/components/controls/mobile/flags/mc.svg +0 -4
  215. package/src/components/controls/mobile/flags/md.svg +0 -102
  216. package/src/components/controls/mobile/flags/me.svg +0 -240
  217. package/src/components/controls/mobile/flags/mf.svg +0 -5
  218. package/src/components/controls/mobile/flags/mg.svg +0 -5
  219. package/src/components/controls/mobile/flags/mh.svg +0 -18
  220. package/src/components/controls/mobile/flags/mk.svg +0 -6
  221. package/src/components/controls/mobile/flags/ml.svg +0 -5
  222. package/src/components/controls/mobile/flags/mm.svg +0 -12
  223. package/src/components/controls/mobile/flags/mn.svg +0 -12
  224. package/src/components/controls/mobile/flags/mo.svg +0 -13
  225. package/src/components/controls/mobile/flags/mp.svg +0 -2919
  226. package/src/components/controls/mobile/flags/mq.svg +0 -5
  227. package/src/components/controls/mobile/flags/mr.svg +0 -5
  228. package/src/components/controls/mobile/flags/ms.svg +0 -59
  229. package/src/components/controls/mobile/flags/mt.svg +0 -52
  230. package/src/components/controls/mobile/flags/mu.svg +0 -6
  231. package/src/components/controls/mobile/flags/mv.svg +0 -8
  232. package/src/components/controls/mobile/flags/mw.svg +0 -24
  233. package/src/components/controls/mobile/flags/mx.svg +0 -1129
  234. package/src/components/controls/mobile/flags/my.svg +0 -12
  235. package/src/components/controls/mobile/flags/mz.svg +0 -50
  236. package/src/components/controls/mobile/flags/na.svg +0 -17
  237. package/src/components/controls/mobile/flags/nc.svg +0 -5
  238. package/src/components/controls/mobile/flags/ne.svg +0 -6
  239. package/src/components/controls/mobile/flags/nf.svg +0 -8
  240. package/src/components/controls/mobile/flags/ng.svg +0 -4
  241. package/src/components/controls/mobile/flags/ni.svg +0 -281
  242. package/src/components/controls/mobile/flags/nl.svg +0 -5
  243. package/src/components/controls/mobile/flags/no.svg +0 -11
  244. package/src/components/controls/mobile/flags/np.svg +0 -33
  245. package/src/components/controls/mobile/flags/nr.svg +0 -8
  246. package/src/components/controls/mobile/flags/nu.svg +0 -23
  247. package/src/components/controls/mobile/flags/nz.svg +0 -37
  248. package/src/components/controls/mobile/flags/om.svg +0 -307
  249. package/src/components/controls/mobile/flags/pa.svg +0 -15
  250. package/src/components/controls/mobile/flags/pe.svg +0 -767
  251. package/src/components/controls/mobile/flags/pf.svg +0 -38
  252. package/src/components/controls/mobile/flags/pg.svg +0 -16
  253. package/src/components/controls/mobile/flags/ph.svg +0 -28
  254. package/src/components/controls/mobile/flags/pk.svg +0 -7
  255. package/src/components/controls/mobile/flags/pl.svg +0 -4
  256. package/src/components/controls/mobile/flags/pm.svg +0 -5
  257. package/src/components/controls/mobile/flags/pn.svg +0 -131
  258. package/src/components/controls/mobile/flags/pr.svg +0 -6
  259. package/src/components/controls/mobile/flags/ps.svg +0 -6
  260. package/src/components/controls/mobile/flags/pt.svg +0 -79
  261. package/src/components/controls/mobile/flags/pw.svg +0 -4
  262. package/src/components/controls/mobile/flags/py.svg +0 -192
  263. package/src/components/controls/mobile/flags/qa.svg +0 -7
  264. package/src/components/controls/mobile/flags/re.svg +0 -5
  265. package/src/components/controls/mobile/flags/ro.svg +0 -5
  266. package/src/components/controls/mobile/flags/rs.svg +0 -1143
  267. package/src/components/controls/mobile/flags/ru.svg +0 -5
  268. package/src/components/controls/mobile/flags/rw.svg +0 -17
  269. package/src/components/controls/mobile/flags/sa.svg +0 -23
  270. package/src/components/controls/mobile/flags/sb.svg +0 -30
  271. package/src/components/controls/mobile/flags/sc.svg +0 -7
  272. package/src/components/controls/mobile/flags/sd.svg +0 -6
  273. package/src/components/controls/mobile/flags/se.svg +0 -5
  274. package/src/components/controls/mobile/flags/sg.svg +0 -15
  275. package/src/components/controls/mobile/flags/sh.svg +0 -15
  276. package/src/components/controls/mobile/flags/si.svg +0 -30
  277. package/src/components/controls/mobile/flags/sj.svg +0 -11
  278. package/src/components/controls/mobile/flags/sk.svg +0 -21
  279. package/src/components/controls/mobile/flags/sl.svg +0 -5
  280. package/src/components/controls/mobile/flags/sm.svg +0 -847
  281. package/src/components/controls/mobile/flags/sn.svg +0 -15
  282. package/src/components/controls/mobile/flags/so.svg +0 -13
  283. package/src/components/controls/mobile/flags/sr.svg +0 -6
  284. package/src/components/controls/mobile/flags/ss.svg +0 -8
  285. package/src/components/controls/mobile/flags/st.svg +0 -16
  286. package/src/components/controls/mobile/flags/stc-icons.css +0 -1
  287. package/src/components/controls/mobile/flags/sv.svg +0 -3368
  288. package/src/components/controls/mobile/flags/sx.svg +0 -172
  289. package/src/components/controls/mobile/flags/sy.svg +0 -6
  290. package/src/components/controls/mobile/flags/sz.svg +0 -54
  291. package/src/components/controls/mobile/flags/tc.svg +0 -88
  292. package/src/components/controls/mobile/flags/td.svg +0 -5
  293. package/src/components/controls/mobile/flags/tf.svg +0 -18
  294. package/src/components/controls/mobile/flags/tg.svg +0 -15
  295. package/src/components/controls/mobile/flags/th.svg +0 -5
  296. package/src/components/controls/mobile/flags/tj.svg +0 -32
  297. package/src/components/controls/mobile/flags/tk.svg +0 -25
  298. package/src/components/controls/mobile/flags/tl.svg +0 -6
  299. package/src/components/controls/mobile/flags/tm.svg +0 -349
  300. package/src/components/controls/mobile/flags/tn.svg +0 -9
  301. package/src/components/controls/mobile/flags/to.svg +0 -8
  302. package/src/components/controls/mobile/flags/tr.svg +0 -6
  303. package/src/components/controls/mobile/flags/tt.svg +0 -5
  304. package/src/components/controls/mobile/flags/tv.svg +0 -18
  305. package/src/components/controls/mobile/flags/tw.svg +0 -12
  306. package/src/components/controls/mobile/flags/tz.svg +0 -13
  307. package/src/components/controls/mobile/flags/ua.svg +0 -4
  308. package/src/components/controls/mobile/flags/ug.svg +0 -46
  309. package/src/components/controls/mobile/flags/um.svg +0 -25
  310. package/src/components/controls/mobile/flags/us.svg +0 -25
  311. package/src/components/controls/mobile/flags/uy.svg +0 -138
  312. package/src/components/controls/mobile/flags/uz.svg +0 -30
  313. package/src/components/controls/mobile/flags/va.svg +0 -277
  314. package/src/components/controls/mobile/flags/vc.svg +0 -9
  315. package/src/components/controls/mobile/flags/ve.svg +0 -28
  316. package/src/components/controls/mobile/flags/vg.svg +0 -96
  317. package/src/components/controls/mobile/flags/vi.svg +0 -311
  318. package/src/components/controls/mobile/flags/vn.svg +0 -12
  319. package/src/components/controls/mobile/flags/vu.svg +0 -20
  320. package/src/components/controls/mobile/flags/wf.svg +0 -7
  321. package/src/components/controls/mobile/flags/ws.svg +0 -14
  322. package/src/components/controls/mobile/flags/xk.svg +0 -11
  323. package/src/components/controls/mobile/flags/ye.svg +0 -5
  324. package/src/components/controls/mobile/flags/yt.svg +0 -5
  325. package/src/components/controls/mobile/flags/za.svg +0 -17
  326. package/src/components/controls/mobile/flags/zm.svg +0 -20
  327. package/src/components/controls/mobile/flags/zw.svg +0 -130
  328. package/src/upgrade.scss +0 -68
@@ -0,0 +1,225 @@
1
+ import * as i0 from '@angular/core';
2
+ import { inject, signal, CUSTOM_ELEMENTS_SCHEMA, Component } from '@angular/core';
3
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
+ import { MatSidenav, MatSidenavContainer } from '@angular/material/sidenav';
5
+ import { Subject, debounceTime, distinctUntilChanged, switchMap, map } from 'rxjs';
6
+ import { F as FieldBase, E as Employee, V as VIEW_PROVIDER, S as SelectControl, a as ValidationMessageComponent } from './iss-ctrl-iss-ctrl-WfIqBEcL.mjs';
7
+
8
+ /**
9
+ * `<iss-user-picker>` — employee lookup, searched against the directory API.
10
+ *
11
+ * Rendered by the outlet for fields of type `userPicker`. In `edit` mode it renders
12
+ * {@link SelectControl} — always multi-select — over the employees returned by the search;
13
+ * in `view` mode the stored value as plain text. Selecting a user opens a details drawer.
14
+ *
15
+ * ### Supported `config` keys
16
+ * | Key | Type | Description |
17
+ * | --- | --- | --- |
18
+ * | `min` | `number` | Minimum number of users required. |
19
+ * | `max` | `number` | Maximum number of users allowed. |
20
+ * | `readonly` | `boolean` | Shows the value but blocks interaction. |
21
+ *
22
+ * ### Other field members used
23
+ * `label()` · `value` · `ctrlJsonValue()`
24
+ *
25
+ * Every field also honours `visible`, `mode`, `validation`, `asyncValidation` and
26
+ * `events` — see {@link IssField} for the full model and {@link FieldConfig} for all keys.
27
+ *
28
+ * @example
29
+ * ```json
30
+ * { "name": "approvers", "type": "userPicker", "label": "Approvers", "config": { "max": 3 } }
31
+ * ```
32
+ */
33
+ class UserPickerField extends FieldBase {
34
+ userImageHost = "https://igateapp.stc.com.sa";
35
+ employeeService = inject(Employee);
36
+ options = signal([], ...(ngDevMode ? [{ debugName: "options" }] : /* istanbul ignore next */ []));
37
+ userData;
38
+ #query = new Subject();
39
+ constructor() {
40
+ super();
41
+ this.#query.pipe(debounceTime(300), distinctUntilChanged(),
42
+ // a new query cancels the request still in flight
43
+ switchMap((query) => this.employeeService.search(query)), map((res) => {
44
+ return res.map((user) => {
45
+ user.value = user.email;
46
+ user.label = user.name;
47
+ return user;
48
+ });
49
+ }), takeUntilDestroyed(this.destroyRef)).subscribe((res) => {
50
+ this.options.set(res);
51
+ });
52
+ }
53
+ userImage() {
54
+ const image = this.userData?.profileImage ?? this.userData?.profileImageUrl;
55
+ if (!image) {
56
+ return null;
57
+ }
58
+ return image.startsWith("http") ? image : this.userImageHost + image;
59
+ }
60
+ search(event) {
61
+ this.#query.next(event);
62
+ }
63
+ updateField($event) {
64
+ this.options.set([]);
65
+ }
66
+ showUserData(item) {
67
+ this.userData = item;
68
+ }
69
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: UserPickerField, deps: [], target: i0.ɵɵFactoryTarget.Component });
70
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: UserPickerField, isStandalone: true, selector: "iss-user-picker", usesInheritance: true, ngImport: i0, template: `
71
+ @if (field.visible()) {
72
+ @if (field.mode() === "edit") {
73
+ <iss-ctrl-select
74
+ [formControlName]="field.name"
75
+ [min]="field.config.min() ?? null"
76
+ [max]="field.config.max() ?? null"
77
+ [options]="options()"
78
+ [multiple]="true"
79
+ [readonly]="field.config.readonly() ?? false"
80
+ (onQueryChange)="search($event)"
81
+ (onChange)="updateField($event)"
82
+ >
83
+ <label>{{ field.label() }}</label>
84
+ <ng-template let-item #optionTemplate>
85
+ <div class="d-flex align-items-center gap-2">
86
+ <ds-avatar size="x-small" [attr.image]="item.image"></ds-avatar>
87
+ <span class="fs-14 fw-medium fc-black">{{ item.name }}</span>
88
+ </div>
89
+ </ng-template>
90
+ <ng-template let-item #cardViewerTemplate>
91
+ <div (click)="showUserData(item);drawer.open()">
92
+ {{ item.name }}
93
+ </div>
94
+ </ng-template>
95
+ </iss-ctrl-select>
96
+ <iss-validation-message-viewer [errors]="ctrl.errors" [showMessage]="!ctrl.untouched"/>
97
+ } @else {
98
+ <p>{{ field.value }}</p>
99
+ }
100
+ }
101
+ <mat-sidenav-container [hasBackdrop]="true">
102
+ <mat-sidenav #drawer [mode]="'over'" [position]="'start'" [autoFocus]="false">
103
+ <div class="main-sidenav">
104
+ <div class="sidenav-title bc-white">
105
+ <h3> Employee Information </h3>
106
+ <ds-icon icon="close" class="fc-black fs-20 p-3 cursor-pointer" (click)="drawer.close()"></ds-icon>
107
+ </div>
108
+ <div class="sidenav-body p-0">
109
+ <div class="d-flex flex-column align-items-center gap-3 sidenav-user bc-off-white text-center">
110
+ <ds-avatar [attr.image]="userImage()" [attr.label]="userData?.name"></ds-avatar>
111
+ @if (userData?.employeeNumber) {
112
+ <div class="d-flex flex-column gap-1">
113
+ <h4 class="fs-16 fc-black fw-medium mb-0">{{ userData?.name }}</h4>
114
+ @if (!userData?.job?.name) {
115
+ <h6 class="fs-12 fc-dark-gray fw-normal mb-0">{{ userData?.position?.name }}</h6>
116
+ }
117
+ @if (!userData?.position?.name) {
118
+ <h6 class="fs-12 fc-dark-gray fw-normal mb-0">{{ userData?.job?.name }}</h6>
119
+ }
120
+ </div>
121
+ }
122
+ <div class="d-flex flex-wrap gap-2">
123
+ <div class="fs-12 fc-black d-flex align-items-center gap-2 box-shadow bc-white radius-4 p-2 profile-box">
124
+ <ds-icon icon="mail-o" class="fc-coral fs-20"></ds-icon>
125
+ <a [href]="'mailTo:' + userData?.email" class="fc-black">{{ userData?.email }}</a>
126
+ </div>
127
+ @if (userData?.contact?.mobile) {
128
+ <div class="fs-12 fc-black d-flex align-items-center gap-2 box-shadow bc-white radius-4 p-2 profile-box">
129
+ <ds-icon icon="phone" class="fc-coral fs-20"></ds-icon>
130
+ <a [href]="'tel:' + userData?.contact?.mobile" class="fc-black">
131
+ <bdi>{{ userData?.contact?.mobile }}</bdi>
132
+ </a>
133
+ </div>
134
+ }
135
+ </div>
136
+ </div>
137
+ </div>
138
+ </div>
139
+ </mat-sidenav>
140
+ </mat-sidenav-container>
141
+ `, isInline: true, styles: [".mat-drawer{position:fixed;left:0}\n"], dependencies: [{ kind: "component", type: SelectControl, selector: "iss-ctrl-select", inputs: ["options", "height", "loading"], outputs: ["onQueryChange"] }, { kind: "component", type: ValidationMessageComponent, selector: "iss-validation-message-viewer", inputs: ["errors", "showMessage"] }, { kind: "component", type: MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { kind: "component", type: MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }], viewProviders: [VIEW_PROVIDER] });
142
+ }
143
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: UserPickerField, decorators: [{
144
+ type: Component,
145
+ args: [{ selector: "iss-user-picker", viewProviders: [VIEW_PROVIDER], imports: [
146
+ SelectControl,
147
+ ValidationMessageComponent,
148
+ MatSidenav,
149
+ MatSidenavContainer,
150
+ ], template: `
151
+ @if (field.visible()) {
152
+ @if (field.mode() === "edit") {
153
+ <iss-ctrl-select
154
+ [formControlName]="field.name"
155
+ [min]="field.config.min() ?? null"
156
+ [max]="field.config.max() ?? null"
157
+ [options]="options()"
158
+ [multiple]="true"
159
+ [readonly]="field.config.readonly() ?? false"
160
+ (onQueryChange)="search($event)"
161
+ (onChange)="updateField($event)"
162
+ >
163
+ <label>{{ field.label() }}</label>
164
+ <ng-template let-item #optionTemplate>
165
+ <div class="d-flex align-items-center gap-2">
166
+ <ds-avatar size="x-small" [attr.image]="item.image"></ds-avatar>
167
+ <span class="fs-14 fw-medium fc-black">{{ item.name }}</span>
168
+ </div>
169
+ </ng-template>
170
+ <ng-template let-item #cardViewerTemplate>
171
+ <div (click)="showUserData(item);drawer.open()">
172
+ {{ item.name }}
173
+ </div>
174
+ </ng-template>
175
+ </iss-ctrl-select>
176
+ <iss-validation-message-viewer [errors]="ctrl.errors" [showMessage]="!ctrl.untouched"/>
177
+ } @else {
178
+ <p>{{ field.value }}</p>
179
+ }
180
+ }
181
+ <mat-sidenav-container [hasBackdrop]="true">
182
+ <mat-sidenav #drawer [mode]="'over'" [position]="'start'" [autoFocus]="false">
183
+ <div class="main-sidenav">
184
+ <div class="sidenav-title bc-white">
185
+ <h3> Employee Information </h3>
186
+ <ds-icon icon="close" class="fc-black fs-20 p-3 cursor-pointer" (click)="drawer.close()"></ds-icon>
187
+ </div>
188
+ <div class="sidenav-body p-0">
189
+ <div class="d-flex flex-column align-items-center gap-3 sidenav-user bc-off-white text-center">
190
+ <ds-avatar [attr.image]="userImage()" [attr.label]="userData?.name"></ds-avatar>
191
+ @if (userData?.employeeNumber) {
192
+ <div class="d-flex flex-column gap-1">
193
+ <h4 class="fs-16 fc-black fw-medium mb-0">{{ userData?.name }}</h4>
194
+ @if (!userData?.job?.name) {
195
+ <h6 class="fs-12 fc-dark-gray fw-normal mb-0">{{ userData?.position?.name }}</h6>
196
+ }
197
+ @if (!userData?.position?.name) {
198
+ <h6 class="fs-12 fc-dark-gray fw-normal mb-0">{{ userData?.job?.name }}</h6>
199
+ }
200
+ </div>
201
+ }
202
+ <div class="d-flex flex-wrap gap-2">
203
+ <div class="fs-12 fc-black d-flex align-items-center gap-2 box-shadow bc-white radius-4 p-2 profile-box">
204
+ <ds-icon icon="mail-o" class="fc-coral fs-20"></ds-icon>
205
+ <a [href]="'mailTo:' + userData?.email" class="fc-black">{{ userData?.email }}</a>
206
+ </div>
207
+ @if (userData?.contact?.mobile) {
208
+ <div class="fs-12 fc-black d-flex align-items-center gap-2 box-shadow bc-white radius-4 p-2 profile-box">
209
+ <ds-icon icon="phone" class="fc-coral fs-20"></ds-icon>
210
+ <a [href]="'tel:' + userData?.contact?.mobile" class="fc-black">
211
+ <bdi>{{ userData?.contact?.mobile }}</bdi>
212
+ </a>
213
+ </div>
214
+ }
215
+ </div>
216
+ </div>
217
+ </div>
218
+ </div>
219
+ </mat-sidenav>
220
+ </mat-sidenav-container>
221
+ `, schemas: [CUSTOM_ELEMENTS_SCHEMA], styles: [".mat-drawer{position:fixed;left:0}\n"] }]
222
+ }], ctorParameters: () => [] });
223
+
224
+ export { UserPickerField };
225
+ //# sourceMappingURL=iss-ctrl-user-picker.field-Mqi37i7D.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iss-ctrl-user-picker.field-Mqi37i7D.mjs","sources":["../../../projects/iss/src/components/controls/user-picker/user-picker.field.ts"],"sourcesContent":["import { Component, CUSTOM_ELEMENTS_SCHEMA, inject, signal } from \"@angular/core\";\r\nimport { takeUntilDestroyed } from \"@angular/core/rxjs-interop\";\r\nimport { MatSidenav, MatSidenavContainer } from \"@angular/material/sidenav\";\r\nimport { debounceTime, distinctUntilChanged, map, Subject, switchMap } from \"rxjs\";\r\nimport { ValidationMessageComponent } from \"../../shared/validation-message.component\";\r\nimport { FieldBase } from \"../base/field-base\";\r\nimport { SelectControl } from \"../select/select.control\";\r\nimport { Employee } from \"./employee\";\r\nimport { VIEW_PROVIDER } from \"../../../shared/constants/view-provider.const\";\r\n\r\n/**\r\n * `<iss-user-picker>` — employee lookup, searched against the directory API.\r\n *\r\n * Rendered by the outlet for fields of type `userPicker`. In `edit` mode it renders\r\n * {@link SelectControl} — always multi-select — over the employees returned by the search;\r\n * in `view` mode the stored value as plain text. Selecting a user opens a details drawer.\r\n *\r\n * ### Supported `config` keys\r\n * | Key | Type | Description |\r\n * | --- | --- | --- |\r\n * | `min` | `number` | Minimum number of users required. |\r\n * | `max` | `number` | Maximum number of users allowed. |\r\n * | `readonly` | `boolean` | Shows the value but blocks interaction. |\r\n *\r\n * ### Other field members used\r\n * `label()` · `value` · `ctrlJsonValue()`\r\n *\r\n * Every field also honours `visible`, `mode`, `validation`, `asyncValidation` and\r\n * `events` — see {@link IssField} for the full model and {@link FieldConfig} for all keys.\r\n *\r\n * @example\r\n * ```json\r\n * { \"name\": \"approvers\", \"type\": \"userPicker\", \"label\": \"Approvers\", \"config\": { \"max\": 3 } }\r\n * ```\r\n */\r\n@Component({\r\n selector: \"iss-user-picker\",\r\n viewProviders: [VIEW_PROVIDER],\r\n imports: [\r\n SelectControl,\r\n ValidationMessageComponent,\r\n MatSidenav,\r\n MatSidenavContainer,\r\n ],\r\n template: `\r\n @if (field.visible()) {\r\n @if (field.mode() === \"edit\") {\r\n <iss-ctrl-select\r\n [formControlName]=\"field.name\"\r\n [min]=\"field.config.min() ?? null\"\r\n [max]=\"field.config.max() ?? null\"\r\n [options]=\"options()\"\r\n [multiple]=\"true\"\r\n [readonly]=\"field.config.readonly() ?? false\"\r\n (onQueryChange)=\"search($event)\"\r\n (onChange)=\"updateField($event)\"\r\n >\r\n <label>{{ field.label() }}</label>\r\n <ng-template let-item #optionTemplate>\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <ds-avatar size=\"x-small\" [attr.image]=\"item.image\"></ds-avatar>\r\n <span class=\"fs-14 fw-medium fc-black\">{{ item.name }}</span>\r\n </div>\r\n </ng-template>\r\n <ng-template let-item #cardViewerTemplate>\r\n <div (click)=\"showUserData(item);drawer.open()\">\r\n {{ item.name }}\r\n </div>\r\n </ng-template>\r\n </iss-ctrl-select>\r\n <iss-validation-message-viewer [errors]=\"ctrl.errors\" [showMessage]=\"!ctrl.untouched\"/>\r\n } @else {\r\n <p>{{ field.value }}</p>\r\n }\r\n }\r\n <mat-sidenav-container [hasBackdrop]=\"true\">\r\n <mat-sidenav #drawer [mode]=\"'over'\" [position]=\"'start'\" [autoFocus]=\"false\">\r\n <div class=\"main-sidenav\">\r\n <div class=\"sidenav-title bc-white\">\r\n <h3> Employee Information </h3>\r\n <ds-icon icon=\"close\" class=\"fc-black fs-20 p-3 cursor-pointer\" (click)=\"drawer.close()\"></ds-icon>\r\n </div>\r\n <div class=\"sidenav-body p-0\">\r\n <div class=\"d-flex flex-column align-items-center gap-3 sidenav-user bc-off-white text-center\">\r\n <ds-avatar [attr.image]=\"userImage()\" [attr.label]=\"userData?.name\"></ds-avatar>\r\n @if (userData?.employeeNumber) {\r\n <div class=\"d-flex flex-column gap-1\">\r\n <h4 class=\"fs-16 fc-black fw-medium mb-0\">{{ userData?.name }}</h4>\r\n @if (!userData?.job?.name) {\r\n <h6 class=\"fs-12 fc-dark-gray fw-normal mb-0\">{{ userData?.position?.name }}</h6>\r\n }\r\n @if (!userData?.position?.name) {\r\n <h6 class=\"fs-12 fc-dark-gray fw-normal mb-0\">{{ userData?.job?.name }}</h6>\r\n }\r\n </div>\r\n }\r\n <div class=\"d-flex flex-wrap gap-2\">\r\n <div class=\"fs-12 fc-black d-flex align-items-center gap-2 box-shadow bc-white radius-4 p-2 profile-box\">\r\n <ds-icon icon=\"mail-o\" class=\"fc-coral fs-20\"></ds-icon>\r\n <a [href]=\"'mailTo:' + userData?.email\" class=\"fc-black\">{{ userData?.email }}</a>\r\n </div>\r\n @if (userData?.contact?.mobile) {\r\n <div class=\"fs-12 fc-black d-flex align-items-center gap-2 box-shadow bc-white radius-4 p-2 profile-box\">\r\n <ds-icon icon=\"phone\" class=\"fc-coral fs-20\"></ds-icon>\r\n <a [href]=\"'tel:' + userData?.contact?.mobile\" class=\"fc-black\">\r\n <bdi>{{ userData?.contact?.mobile }}</bdi>\r\n </a>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </mat-sidenav>\r\n </mat-sidenav-container>\r\n `,\r\n styles: `\r\n .mat-drawer {\r\n position: fixed;\r\n left: 0;\r\n }`,\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\nexport class UserPickerField extends FieldBase {\r\n userImageHost = \"https://igateapp.stc.com.sa\";\r\n employeeService = inject(Employee);\r\n options: any = signal([]);\r\n userData: any;\r\n #query: Subject<string> = new Subject<string>();\r\n\r\n constructor() {\r\n super();\r\n this.#query.pipe(\r\n debounceTime(300),\r\n distinctUntilChanged(),\r\n // a new query cancels the request still in flight\r\n switchMap((query: string) => this.employeeService.search(query)),\r\n map((res: any) => {\r\n return res.map((user: any) => {\r\n user.value = user.email;\r\n user.label = user.name;\r\n return user;\r\n });\r\n }),\r\n takeUntilDestroyed(this.destroyRef)\r\n ).subscribe((res: any) => {\r\n this.options.set(res);\r\n });\r\n }\r\n\r\n userImage(): string | null {\r\n const image: string | undefined = this.userData?.profileImage ?? this.userData?.profileImageUrl;\r\n if (!image) {\r\n return null;\r\n }\r\n return image.startsWith(\"http\") ? image : this.userImageHost + image;\r\n }\r\n\r\n search(event: string) {\r\n this.#query.next(event);\r\n }\r\n\r\n updateField($event: string | FormData) {\r\n this.options.set([]);\r\n }\r\n\r\n showUserData(item: any) {\r\n this.userData = item;\r\n }\r\n}\r\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,225 @@
1
+ import * as i0 from '@angular/core';
2
+ import { inject, signal, CUSTOM_ELEMENTS_SCHEMA, Component } from '@angular/core';
3
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
+ import { MatSidenav, MatSidenavContainer } from '@angular/material/sidenav';
5
+ import { Subject, debounceTime, distinctUntilChanged, switchMap, map } from 'rxjs';
6
+ import { F as FieldBase, E as Employee, V as VIEW_PROVIDER, S as SelectControl, a as ValidationMessageComponent } from './iss-ctrl-iss-ctrl-DOmgkxUv.mjs';
7
+
8
+ /**
9
+ * `<iss-user-picker>` — employee lookup, searched against the directory API.
10
+ *
11
+ * Rendered by the outlet for fields of type `userPicker`. In `edit` mode it renders
12
+ * {@link SelectControl} — always multi-select — over the employees returned by the search;
13
+ * in `view` mode the stored value as plain text. Selecting a user opens a details drawer.
14
+ *
15
+ * ### Supported `config` keys
16
+ * | Key | Type | Description |
17
+ * | --- | --- | --- |
18
+ * | `min` | `number` | Minimum number of users required. |
19
+ * | `max` | `number` | Maximum number of users allowed. |
20
+ * | `readonly` | `boolean` | Shows the value but blocks interaction. |
21
+ *
22
+ * ### Other field members used
23
+ * `label()` · `value` · `ctrlJsonValue()`
24
+ *
25
+ * Every field also honours `visible`, `mode`, `validation`, `asyncValidation` and
26
+ * `events` — see {@link IssField} for the full model and {@link FieldConfig} for all keys.
27
+ *
28
+ * @example
29
+ * ```json
30
+ * { "name": "approvers", "type": "userPicker", "label": "Approvers", "config": { "max": 3 } }
31
+ * ```
32
+ */
33
+ class UserPickerField extends FieldBase {
34
+ userImageHost = "https://igateapp.stc.com.sa";
35
+ employeeService = inject(Employee);
36
+ options = signal([], ...(ngDevMode ? [{ debugName: "options" }] : /* istanbul ignore next */ []));
37
+ userData;
38
+ #query = new Subject();
39
+ constructor() {
40
+ super();
41
+ this.#query.pipe(debounceTime(300), distinctUntilChanged(),
42
+ // a new query cancels the request still in flight
43
+ switchMap((query) => this.employeeService.search(query)), map((res) => {
44
+ return res.map((user) => {
45
+ user.value = user.email;
46
+ user.label = user.name;
47
+ return user;
48
+ });
49
+ }), takeUntilDestroyed(this.destroyRef)).subscribe((res) => {
50
+ this.options.set(res);
51
+ });
52
+ }
53
+ userImage() {
54
+ const image = this.userData?.profileImage ?? this.userData?.profileImageUrl;
55
+ if (!image) {
56
+ return null;
57
+ }
58
+ return image.startsWith("http") ? image : this.userImageHost + image;
59
+ }
60
+ search(event) {
61
+ this.#query.next(event);
62
+ }
63
+ updateField($event) {
64
+ this.options.set([]);
65
+ }
66
+ showUserData(item) {
67
+ this.userData = item;
68
+ }
69
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: UserPickerField, deps: [], target: i0.ɵɵFactoryTarget.Component });
70
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: UserPickerField, isStandalone: true, selector: "iss-user-picker", usesInheritance: true, ngImport: i0, template: `
71
+ @if (field.visible()) {
72
+ @if (field.mode() === "edit") {
73
+ <iss-ctrl-select
74
+ [formControlName]="field.name"
75
+ [min]="field.config.min() ?? null"
76
+ [max]="field.config.max() ?? null"
77
+ [options]="options()"
78
+ [multiple]="true"
79
+ [readonly]="field.config.readonly() ?? false"
80
+ (onQueryChange)="search($event)"
81
+ (onChange)="updateField($event)"
82
+ >
83
+ <label>{{ field.label() }}</label>
84
+ <ng-template let-item #optionTemplate>
85
+ <div class="d-flex align-items-center gap-2">
86
+ <ds-avatar size="x-small" [attr.image]="item.image"></ds-avatar>
87
+ <span class="fs-14 fw-medium fc-black">{{ item.name }}</span>
88
+ </div>
89
+ </ng-template>
90
+ <ng-template let-item #cardViewerTemplate>
91
+ <div (click)="showUserData(item);drawer.open()">
92
+ {{ item.name }}
93
+ </div>
94
+ </ng-template>
95
+ </iss-ctrl-select>
96
+ <iss-validation-message-viewer [errors]="ctrl.errors" [showMessage]="!ctrl.untouched"/>
97
+ } @else {
98
+ <p>{{ field.value }}</p>
99
+ }
100
+ }
101
+ <mat-sidenav-container [hasBackdrop]="true">
102
+ <mat-sidenav #drawer [mode]="'over'" [position]="'start'" [autoFocus]="false">
103
+ <div class="main-sidenav">
104
+ <div class="sidenav-title bc-white">
105
+ <h3> Employee Information </h3>
106
+ <ds-icon icon="close" class="fc-black fs-20 p-3 cursor-pointer" (click)="drawer.close()"></ds-icon>
107
+ </div>
108
+ <div class="sidenav-body p-0">
109
+ <div class="d-flex flex-column align-items-center gap-3 sidenav-user bc-off-white text-center">
110
+ <ds-avatar [attr.image]="userImage()" [attr.label]="userData?.name"></ds-avatar>
111
+ @if (userData?.employeeNumber) {
112
+ <div class="d-flex flex-column gap-1">
113
+ <h4 class="fs-16 fc-black fw-medium mb-0">{{ userData?.name }}</h4>
114
+ @if (!userData?.job?.name) {
115
+ <h6 class="fs-12 fc-dark-gray fw-normal mb-0">{{ userData?.position?.name }}</h6>
116
+ }
117
+ @if (!userData?.position?.name) {
118
+ <h6 class="fs-12 fc-dark-gray fw-normal mb-0">{{ userData?.job?.name }}</h6>
119
+ }
120
+ </div>
121
+ }
122
+ <div class="d-flex flex-wrap gap-2">
123
+ <div class="fs-12 fc-black d-flex align-items-center gap-2 box-shadow bc-white radius-4 p-2 profile-box">
124
+ <ds-icon icon="mail-o" class="fc-coral fs-20"></ds-icon>
125
+ <a [href]="'mailTo:' + userData?.email" class="fc-black">{{ userData?.email }}</a>
126
+ </div>
127
+ @if (userData?.contact?.mobile) {
128
+ <div class="fs-12 fc-black d-flex align-items-center gap-2 box-shadow bc-white radius-4 p-2 profile-box">
129
+ <ds-icon icon="phone" class="fc-coral fs-20"></ds-icon>
130
+ <a [href]="'tel:' + userData?.contact?.mobile" class="fc-black">
131
+ <bdi>{{ userData?.contact?.mobile }}</bdi>
132
+ </a>
133
+ </div>
134
+ }
135
+ </div>
136
+ </div>
137
+ </div>
138
+ </div>
139
+ </mat-sidenav>
140
+ </mat-sidenav-container>
141
+ `, isInline: true, styles: [".mat-drawer{position:fixed;left:0}\n"], dependencies: [{ kind: "component", type: SelectControl, selector: "iss-ctrl-select", inputs: ["options", "height", "loading"], outputs: ["onQueryChange"] }, { kind: "component", type: ValidationMessageComponent, selector: "iss-validation-message-viewer", inputs: ["errors", "showMessage"] }, { kind: "component", type: MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { kind: "component", type: MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }], viewProviders: [VIEW_PROVIDER] });
142
+ }
143
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: UserPickerField, decorators: [{
144
+ type: Component,
145
+ args: [{ selector: "iss-user-picker", viewProviders: [VIEW_PROVIDER], imports: [
146
+ SelectControl,
147
+ ValidationMessageComponent,
148
+ MatSidenav,
149
+ MatSidenavContainer,
150
+ ], template: `
151
+ @if (field.visible()) {
152
+ @if (field.mode() === "edit") {
153
+ <iss-ctrl-select
154
+ [formControlName]="field.name"
155
+ [min]="field.config.min() ?? null"
156
+ [max]="field.config.max() ?? null"
157
+ [options]="options()"
158
+ [multiple]="true"
159
+ [readonly]="field.config.readonly() ?? false"
160
+ (onQueryChange)="search($event)"
161
+ (onChange)="updateField($event)"
162
+ >
163
+ <label>{{ field.label() }}</label>
164
+ <ng-template let-item #optionTemplate>
165
+ <div class="d-flex align-items-center gap-2">
166
+ <ds-avatar size="x-small" [attr.image]="item.image"></ds-avatar>
167
+ <span class="fs-14 fw-medium fc-black">{{ item.name }}</span>
168
+ </div>
169
+ </ng-template>
170
+ <ng-template let-item #cardViewerTemplate>
171
+ <div (click)="showUserData(item);drawer.open()">
172
+ {{ item.name }}
173
+ </div>
174
+ </ng-template>
175
+ </iss-ctrl-select>
176
+ <iss-validation-message-viewer [errors]="ctrl.errors" [showMessage]="!ctrl.untouched"/>
177
+ } @else {
178
+ <p>{{ field.value }}</p>
179
+ }
180
+ }
181
+ <mat-sidenav-container [hasBackdrop]="true">
182
+ <mat-sidenav #drawer [mode]="'over'" [position]="'start'" [autoFocus]="false">
183
+ <div class="main-sidenav">
184
+ <div class="sidenav-title bc-white">
185
+ <h3> Employee Information </h3>
186
+ <ds-icon icon="close" class="fc-black fs-20 p-3 cursor-pointer" (click)="drawer.close()"></ds-icon>
187
+ </div>
188
+ <div class="sidenav-body p-0">
189
+ <div class="d-flex flex-column align-items-center gap-3 sidenav-user bc-off-white text-center">
190
+ <ds-avatar [attr.image]="userImage()" [attr.label]="userData?.name"></ds-avatar>
191
+ @if (userData?.employeeNumber) {
192
+ <div class="d-flex flex-column gap-1">
193
+ <h4 class="fs-16 fc-black fw-medium mb-0">{{ userData?.name }}</h4>
194
+ @if (!userData?.job?.name) {
195
+ <h6 class="fs-12 fc-dark-gray fw-normal mb-0">{{ userData?.position?.name }}</h6>
196
+ }
197
+ @if (!userData?.position?.name) {
198
+ <h6 class="fs-12 fc-dark-gray fw-normal mb-0">{{ userData?.job?.name }}</h6>
199
+ }
200
+ </div>
201
+ }
202
+ <div class="d-flex flex-wrap gap-2">
203
+ <div class="fs-12 fc-black d-flex align-items-center gap-2 box-shadow bc-white radius-4 p-2 profile-box">
204
+ <ds-icon icon="mail-o" class="fc-coral fs-20"></ds-icon>
205
+ <a [href]="'mailTo:' + userData?.email" class="fc-black">{{ userData?.email }}</a>
206
+ </div>
207
+ @if (userData?.contact?.mobile) {
208
+ <div class="fs-12 fc-black d-flex align-items-center gap-2 box-shadow bc-white radius-4 p-2 profile-box">
209
+ <ds-icon icon="phone" class="fc-coral fs-20"></ds-icon>
210
+ <a [href]="'tel:' + userData?.contact?.mobile" class="fc-black">
211
+ <bdi>{{ userData?.contact?.mobile }}</bdi>
212
+ </a>
213
+ </div>
214
+ }
215
+ </div>
216
+ </div>
217
+ </div>
218
+ </div>
219
+ </mat-sidenav>
220
+ </mat-sidenav-container>
221
+ `, schemas: [CUSTOM_ELEMENTS_SCHEMA], styles: [".mat-drawer{position:fixed;left:0}\n"] }]
222
+ }], ctorParameters: () => [] });
223
+
224
+ export { UserPickerField };
225
+ //# sourceMappingURL=iss-ctrl-user-picker.field-PxT_dZ_O.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iss-ctrl-user-picker.field-PxT_dZ_O.mjs","sources":["../../../projects/iss/src/components/controls/user-picker/user-picker.field.ts"],"sourcesContent":["import { Component, CUSTOM_ELEMENTS_SCHEMA, inject, signal } from \"@angular/core\";\r\nimport { takeUntilDestroyed } from \"@angular/core/rxjs-interop\";\r\nimport { MatSidenav, MatSidenavContainer } from \"@angular/material/sidenav\";\r\nimport { debounceTime, distinctUntilChanged, map, Subject, switchMap } from \"rxjs\";\r\nimport { ValidationMessageComponent } from \"../../shared/validation-message.component\";\r\nimport { FieldBase } from \"../base/field-base\";\r\nimport { SelectControl } from \"../select/select.control\";\r\nimport { Employee } from \"./employee\";\r\nimport { VIEW_PROVIDER } from \"../../../shared/constants/view-provider.const\";\r\n\r\n/**\r\n * `<iss-user-picker>` — employee lookup, searched against the directory API.\r\n *\r\n * Rendered by the outlet for fields of type `userPicker`. In `edit` mode it renders\r\n * {@link SelectControl} — always multi-select — over the employees returned by the search;\r\n * in `view` mode the stored value as plain text. Selecting a user opens a details drawer.\r\n *\r\n * ### Supported `config` keys\r\n * | Key | Type | Description |\r\n * | --- | --- | --- |\r\n * | `min` | `number` | Minimum number of users required. |\r\n * | `max` | `number` | Maximum number of users allowed. |\r\n * | `readonly` | `boolean` | Shows the value but blocks interaction. |\r\n *\r\n * ### Other field members used\r\n * `label()` · `value` · `ctrlJsonValue()`\r\n *\r\n * Every field also honours `visible`, `mode`, `validation`, `asyncValidation` and\r\n * `events` — see {@link IssField} for the full model and {@link FieldConfig} for all keys.\r\n *\r\n * @example\r\n * ```json\r\n * { \"name\": \"approvers\", \"type\": \"userPicker\", \"label\": \"Approvers\", \"config\": { \"max\": 3 } }\r\n * ```\r\n */\r\n@Component({\r\n selector: \"iss-user-picker\",\r\n viewProviders: [VIEW_PROVIDER],\r\n imports: [\r\n SelectControl,\r\n ValidationMessageComponent,\r\n MatSidenav,\r\n MatSidenavContainer,\r\n ],\r\n template: `\r\n @if (field.visible()) {\r\n @if (field.mode() === \"edit\") {\r\n <iss-ctrl-select\r\n [formControlName]=\"field.name\"\r\n [min]=\"field.config.min() ?? null\"\r\n [max]=\"field.config.max() ?? null\"\r\n [options]=\"options()\"\r\n [multiple]=\"true\"\r\n [readonly]=\"field.config.readonly() ?? false\"\r\n (onQueryChange)=\"search($event)\"\r\n (onChange)=\"updateField($event)\"\r\n >\r\n <label>{{ field.label() }}</label>\r\n <ng-template let-item #optionTemplate>\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <ds-avatar size=\"x-small\" [attr.image]=\"item.image\"></ds-avatar>\r\n <span class=\"fs-14 fw-medium fc-black\">{{ item.name }}</span>\r\n </div>\r\n </ng-template>\r\n <ng-template let-item #cardViewerTemplate>\r\n <div (click)=\"showUserData(item);drawer.open()\">\r\n {{ item.name }}\r\n </div>\r\n </ng-template>\r\n </iss-ctrl-select>\r\n <iss-validation-message-viewer [errors]=\"ctrl.errors\" [showMessage]=\"!ctrl.untouched\"/>\r\n } @else {\r\n <p>{{ field.value }}</p>\r\n }\r\n }\r\n <mat-sidenav-container [hasBackdrop]=\"true\">\r\n <mat-sidenav #drawer [mode]=\"'over'\" [position]=\"'start'\" [autoFocus]=\"false\">\r\n <div class=\"main-sidenav\">\r\n <div class=\"sidenav-title bc-white\">\r\n <h3> Employee Information </h3>\r\n <ds-icon icon=\"close\" class=\"fc-black fs-20 p-3 cursor-pointer\" (click)=\"drawer.close()\"></ds-icon>\r\n </div>\r\n <div class=\"sidenav-body p-0\">\r\n <div class=\"d-flex flex-column align-items-center gap-3 sidenav-user bc-off-white text-center\">\r\n <ds-avatar [attr.image]=\"userImage()\" [attr.label]=\"userData?.name\"></ds-avatar>\r\n @if (userData?.employeeNumber) {\r\n <div class=\"d-flex flex-column gap-1\">\r\n <h4 class=\"fs-16 fc-black fw-medium mb-0\">{{ userData?.name }}</h4>\r\n @if (!userData?.job?.name) {\r\n <h6 class=\"fs-12 fc-dark-gray fw-normal mb-0\">{{ userData?.position?.name }}</h6>\r\n }\r\n @if (!userData?.position?.name) {\r\n <h6 class=\"fs-12 fc-dark-gray fw-normal mb-0\">{{ userData?.job?.name }}</h6>\r\n }\r\n </div>\r\n }\r\n <div class=\"d-flex flex-wrap gap-2\">\r\n <div class=\"fs-12 fc-black d-flex align-items-center gap-2 box-shadow bc-white radius-4 p-2 profile-box\">\r\n <ds-icon icon=\"mail-o\" class=\"fc-coral fs-20\"></ds-icon>\r\n <a [href]=\"'mailTo:' + userData?.email\" class=\"fc-black\">{{ userData?.email }}</a>\r\n </div>\r\n @if (userData?.contact?.mobile) {\r\n <div class=\"fs-12 fc-black d-flex align-items-center gap-2 box-shadow bc-white radius-4 p-2 profile-box\">\r\n <ds-icon icon=\"phone\" class=\"fc-coral fs-20\"></ds-icon>\r\n <a [href]=\"'tel:' + userData?.contact?.mobile\" class=\"fc-black\">\r\n <bdi>{{ userData?.contact?.mobile }}</bdi>\r\n </a>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </mat-sidenav>\r\n </mat-sidenav-container>\r\n `,\r\n styles: `\r\n .mat-drawer {\r\n position: fixed;\r\n left: 0;\r\n }`,\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\nexport class UserPickerField extends FieldBase {\r\n userImageHost = \"https://igateapp.stc.com.sa\";\r\n employeeService = inject(Employee);\r\n options: any = signal([]);\r\n userData: any;\r\n #query: Subject<string> = new Subject<string>();\r\n\r\n constructor() {\r\n super();\r\n this.#query.pipe(\r\n debounceTime(300),\r\n distinctUntilChanged(),\r\n // a new query cancels the request still in flight\r\n switchMap((query: string) => this.employeeService.search(query)),\r\n map((res: any) => {\r\n return res.map((user: any) => {\r\n user.value = user.email;\r\n user.label = user.name;\r\n return user;\r\n });\r\n }),\r\n takeUntilDestroyed(this.destroyRef)\r\n ).subscribe((res: any) => {\r\n this.options.set(res);\r\n });\r\n }\r\n\r\n userImage(): string | null {\r\n const image: string | undefined = this.userData?.profileImage ?? this.userData?.profileImageUrl;\r\n if (!image) {\r\n return null;\r\n }\r\n return image.startsWith(\"http\") ? image : this.userImageHost + image;\r\n }\r\n\r\n search(event: string) {\r\n this.#query.next(event);\r\n }\r\n\r\n updateField($event: string | FormData) {\r\n this.options.set([]);\r\n }\r\n\r\n showUserData(item: any) {\r\n this.userData = item;\r\n }\r\n}\r\n"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export { ai as ATTACHMENT_DOWNLOAD_URL, ah as ATTACHMENT_UPLOAD_RESPONSE_MAPPER, ag as ATTACHMENT_UPLOAD_URL, am as ArabicNumberPipe, a0 as AttachmentViewer, ab as COMPONENTS, a6 as COUNTRIES, d as CheckboxControl, v as CheckboxField, Y as CheckboxViewer, e as ChipsControl, q as ChipsField, Q as ChipsViewer, C as ControlBase, a8 as DATETIME_FORMAT, a7 as DATE_FORMAT_ADAPTER, a5 as DEFAULT_COUNTRY, D as DatePickerControl, B as DatePickerField, a3 as DatePickerTimeViewer, a2 as DatePickerViewer, f as DateRangePickerControl, J as DateRangePickerField, a4 as DateRangePickerViewer, h as DatetimePickerControl, G as DatetimePickerField, al as Droppable, E as Employee, ae as FIELD_DATA, F as FieldBase, an as FieldDataInjector, ar as FileHandler, i as FilePickerControl, z as FilePickerField, aw as FileValidators, b as FormEngine, H as HOST, ak as HintsComponent, j as InputControl, o as InputField, K as InputViewer, av as IssValidators, L as Loader, M as MobileControl, u as MobileField, X as MobileViewer, O as Outlet, P as PLACEHOLDER_REGEX, a9 as PLATE_LETTERS, as as Phone, k as PlateControl, y as PlateField, ao as PlateLetterPipe, $ as PlateViewer, R as RadioControl, s as RadioField, U as RadioViewer, ac as SERVICES, S as SelectControl, t as SelectField, ap as SelectStatusPipe, W as SelectViewer, l as SlideToggleControl, x as SlideToggleField, _ as SlideToggleViewer, T as TextareaControl, p as TextareaField, N as TextareaViewer, m as TimePickerControl, A as TimePickerField, a1 as TimePickerViewer, ax as TimeValidator, n as ToggleButtonControl, w as ToggleButtonField, Z as ToggleButtonViewer, aq as TranslatePipe, af as UI_LANGUAGE, aj as USER_SEARCH_API, aa as VALIDATION_MESSAGES, ad as VALIDATORS, V as VIEW_PROVIDER, c as ValidationMessageComponent, at as arrayFrom, au as formatFileSize, g as getPropertyByPath, r as replacePlaceholders } from './iss-ctrl-iss-ctrl-hz0ibyPg.mjs';
1
+ export { ai as ATTACHMENT_DOWNLOAD_URL, ah as ATTACHMENT_UPLOAD_RESPONSE_MAPPER, ag as ATTACHMENT_UPLOAD_URL, am as ArabicNumberPipe, a0 as AttachmentViewer, ab as COMPONENTS, a6 as COUNTRIES, d as CheckboxControl, v as CheckboxField, Y as CheckboxViewer, e as ChipsControl, q as ChipsField, Q as ChipsViewer, C as ControlBase, a8 as DATETIME_FORMAT, a7 as DATE_FORMAT_ADAPTER, a5 as DEFAULT_COUNTRY, D as DatePickerControl, B as DatePickerField, a3 as DatePickerTimeViewer, a2 as DatePickerViewer, f as DateRangePickerControl, J as DateRangePickerField, a4 as DateRangePickerViewer, h as DatetimePickerControl, G as DatetimePickerField, al as Droppable, E as Employee, ae as FIELD_DATA, F as FieldBase, an as FieldDataInjector, ar as FileHandler, i as FilePickerControl, z as FilePickerField, aw as FileValidators, c as FormEngine, H as HOST, ak as HintsComponent, j as InputControl, o as InputField, K as InputViewer, av as IssValidators, L as Loader, M as MobileControl, u as MobileField, X as MobileViewer, O as Outlet, P as PLACEHOLDER_REGEX, a9 as PLATE_LETTERS, as as Phone, k as PlateControl, y as PlateField, ao as PlateLetterPipe, $ as PlateViewer, R as RadioControl, s as RadioField, U as RadioViewer, ac as SERVICES, S as SelectControl, t as SelectField, ap as SelectStatusPipe, W as SelectViewer, l as SlideToggleControl, x as SlideToggleField, _ as SlideToggleViewer, T as TextareaControl, p as TextareaField, N as TextareaViewer, m as TimePickerControl, A as TimePickerField, a1 as TimePickerViewer, ax as TimeValidator, n as ToggleButtonControl, w as ToggleButtonField, Z as ToggleButtonViewer, aq as TranslatePipe, af as UI_LANGUAGE, aj as USER_SEARCH_API, aa as VALIDATION_MESSAGES, ad as VALIDATORS, V as VIEW_PROVIDER, a as ValidationMessageComponent, at as arrayFrom, au as formatFileSize, g as getPropertyByPath, r as replacePlaceholders } from './iss-ctrl-iss-ctrl-BN9rcLt2.mjs';
2
2
  //# sourceMappingURL=iss-ctrl.mjs.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iss-ctrl",
3
- "version": "0.0.11",
3
+ "version": "0.0.13",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^21.0.6",
6
6
  "@angular/core": "^21.0.6",