ps-toolkit-ui 0.0.210 → 0.0.211

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 (311) hide show
  1. package/karma.conf.js +32 -0
  2. package/ng-package.json +16 -0
  3. package/package.json +19 -22
  4. package/src/lib/classes/chart.class.ts +140 -0
  5. package/src/lib/classes/enum.class.ts +193 -0
  6. package/src/lib/classes/excel.class.ts +46 -0
  7. package/src/lib/classes/form.class.ts +528 -0
  8. package/src/lib/classes/helper.class.ts +283 -0
  9. package/src/lib/classes/lang.class.ts +32 -0
  10. package/src/lib/classes/login.class.ts +27 -0
  11. package/src/lib/classes/modal.class.ts +59 -0
  12. package/src/lib/classes/permission.class.ts +55 -0
  13. package/src/lib/classes/request.class.ts +255 -0
  14. package/src/lib/classes/safestyle.class.ts +4 -0
  15. package/src/lib/classes/sidebar.class.ts +20 -0
  16. package/src/lib/classes/steps.class.ts +19 -0
  17. package/src/lib/classes/string.class.ts +219 -0
  18. package/src/lib/classes/table.class.ts +228 -0
  19. package/src/lib/components/accordion/accordion.component.css +116 -0
  20. package/src/lib/components/accordion/accordion.component.html +19 -0
  21. package/src/lib/components/accordion/accordion.component.ts +41 -0
  22. package/src/lib/components/alert/alert.component.css +112 -0
  23. package/src/lib/components/alert/alert.component.html +1 -0
  24. package/src/lib/components/alert/alert.component.ts +35 -0
  25. package/src/lib/components/base.component.ts +38 -0
  26. package/src/lib/components/calendar/calendar.component.css +206 -0
  27. package/src/lib/components/calendar/calendar.component.html +36 -0
  28. package/src/lib/components/calendar/calendar.component.ts +99 -0
  29. package/src/lib/components/chart/chart.component.css +24 -0
  30. package/src/lib/components/chart/chart.component.html +6 -0
  31. package/src/lib/components/chart/chart.component.ts +14 -0
  32. package/src/lib/components/clock/clock.component.css +141 -0
  33. package/src/lib/components/clock/clock.component.html +10 -0
  34. package/src/lib/components/clock/clock.component.ts +37 -0
  35. package/src/lib/components/confirm/confirm.component.css +112 -0
  36. package/src/lib/components/confirm/confirm.component.html +1 -0
  37. package/src/lib/components/confirm/confirm.component.ts +47 -0
  38. package/src/lib/components/footer/footer.component.css +46 -0
  39. package/src/lib/components/footer/footer.component.html +9 -0
  40. package/src/lib/components/footer/footer.component.ts +18 -0
  41. package/src/lib/components/form/bank-card/form.bank-card.component.css +115 -0
  42. package/src/lib/components/form/bank-card/form.bank-card.component.html +13 -0
  43. package/src/lib/components/form/bank-card/form.bank-card.component.ts +144 -0
  44. package/src/lib/components/form/button/form.button.component.css +222 -0
  45. package/src/lib/components/form/button/form.button.component.html +16 -0
  46. package/src/lib/components/form/button/form.button.component.ts +65 -0
  47. package/src/lib/components/form/car/form.car.component.css +287 -0
  48. package/src/lib/components/form/car/form.car.component.html +11 -0
  49. package/src/lib/components/form/car/form.car.component.ts +82 -0
  50. package/src/lib/components/form/car/search/form.car.search.component.css +287 -0
  51. package/src/lib/components/form/car/search/form.car.search.component.html +15 -0
  52. package/src/lib/components/form/car/search/form.car.search.component.ts +170 -0
  53. package/src/lib/components/form/checkbox/form.checkbox.component.css +128 -0
  54. package/src/lib/components/form/checkbox/form.checkbox.component.html +8 -0
  55. package/src/lib/components/form/checkbox/form.checkbox.component.ts +64 -0
  56. package/src/lib/components/form/date/form.date.component.css +310 -0
  57. package/src/lib/components/form/date/form.date.component.html +46 -0
  58. package/src/lib/components/form/date/form.date.component.ts +247 -0
  59. package/src/lib/components/form/datetime/form.datetime.component.css +157 -0
  60. package/src/lib/components/form/datetime/form.datetime.component.html +11 -0
  61. package/src/lib/components/form/datetime/form.datetime.component.ts +98 -0
  62. package/src/lib/components/form/file/form.file.component.css +151 -0
  63. package/src/lib/components/form/file/form.file.component.html +12 -0
  64. package/src/lib/components/form/file/form.file.component.ts +130 -0
  65. package/src/lib/components/form/finger/form.finger.component.css +215 -0
  66. package/src/lib/components/form/finger/form.finger.component.html +59 -0
  67. package/src/lib/components/form/finger/form.finger.component.ts +131 -0
  68. package/src/lib/components/form/hidden/form.hidden.component.css +0 -0
  69. package/src/lib/components/form/hidden/form.hidden.component.html +0 -0
  70. package/src/lib/components/form/hidden/form.hidden.component.ts +29 -0
  71. package/src/lib/components/form/icon/form.icon.component.css +108 -0
  72. package/src/lib/components/form/icon/form.icon.component.html +14 -0
  73. package/src/lib/components/form/icon/form.icon.component.ts +73 -0
  74. package/src/lib/components/form/index/form.component.css +89 -0
  75. package/src/lib/components/form/index/form.component.html +35 -0
  76. package/src/lib/components/form/index/form.component.ts +45 -0
  77. package/src/lib/components/form/label/form.label.component.css +45 -0
  78. package/src/lib/components/form/label/form.label.component.html +2 -0
  79. package/src/lib/components/form/label/form.label.component.ts +30 -0
  80. package/src/lib/components/form/plaque/form.plaque.component.css +76 -0
  81. package/src/lib/components/form/plaque/form.plaque.component.html +10 -0
  82. package/src/lib/components/form/plaque/form.plaque.component.ts +178 -0
  83. package/src/lib/components/form/plaque/select/form.plaque.select.component.css +167 -0
  84. package/src/lib/components/form/plaque/select/form.plaque.select.component.html +19 -0
  85. package/src/lib/components/form/plaque/select/form.plaque.select.component.ts +385 -0
  86. package/src/lib/components/form/radio/form.radio.component.css +158 -0
  87. package/src/lib/components/form/radio/form.radio.component.html +16 -0
  88. package/src/lib/components/form/radio/form.radio.component.ts +78 -0
  89. package/src/lib/components/form/select/form.select.component.css +326 -0
  90. package/src/lib/components/form/select/form.select.component.html +16 -0
  91. package/src/lib/components/form/select/form.select.component.ts +358 -0
  92. package/src/lib/components/form/select/item/form.select.item.component.css +59 -0
  93. package/src/lib/components/form/select/item/form.select.item.component.html +10 -0
  94. package/src/lib/components/form/select/item/form.select.item.component.ts +40 -0
  95. package/src/lib/components/form/table/form.table.component.css +50 -0
  96. package/src/lib/components/form/table/form.table.component.html +8 -0
  97. package/src/lib/components/form/table/form.table.component.ts +94 -0
  98. package/src/lib/components/form/textarea/form.textarea.component.css +109 -0
  99. package/src/lib/components/form/textarea/form.textarea.component.html +10 -0
  100. package/src/lib/components/form/textarea/form.textarea.component.ts +76 -0
  101. package/src/lib/components/form/textbox/form.textbox.component.css +296 -0
  102. package/src/lib/components/form/textbox/form.textbox.component.html +13 -0
  103. package/src/lib/components/form/textbox/form.textbox.component.ts +185 -0
  104. package/src/lib/components/form/time/form.time.component.css +205 -0
  105. package/src/lib/components/form/time/form.time.component.html +22 -0
  106. package/src/lib/components/form/time/form.time.component.ts +139 -0
  107. package/src/lib/components/form/tree/form.tree.component.css +109 -0
  108. package/src/lib/components/form/tree/form.tree.component.html +11 -0
  109. package/src/lib/components/form/tree/form.tree.component.ts +98 -0
  110. package/src/lib/components/form/tree/item/form.tree.item.component.css +142 -0
  111. package/src/lib/components/form/tree/item/form.tree.item.component.html +9 -0
  112. package/src/lib/components/form/tree/item/form.tree.item.component.ts +49 -0
  113. package/src/lib/components/header/header.component.css +57 -0
  114. package/src/lib/components/header/header.component.html +5 -0
  115. package/src/lib/components/header/header.component.ts +28 -0
  116. package/src/lib/components/header/sub/sub.header.component.css +62 -0
  117. package/src/lib/components/header/sub/sub.header.component.html +8 -0
  118. package/src/lib/components/header/sub/sub.header.component.ts +11 -0
  119. package/src/lib/components/layout/layout.component.css +300 -0
  120. package/src/lib/components/layout/layout.component.html +20 -0
  121. package/src/lib/components/layout/layout.component.ts +21 -0
  122. package/src/lib/components/loading/loading.component.css +39 -0
  123. package/src/lib/components/loading/loading.component.html +8 -0
  124. package/src/lib/components/loading/loading.component.ts +18 -0
  125. package/src/lib/components/login/login.component.css +389 -0
  126. package/src/lib/components/login/login.component.html +27 -0
  127. package/src/lib/components/login/login.component.ts +145 -0
  128. package/src/lib/components/modal/modal.component.css +60 -0
  129. package/src/lib/components/modal/modal.component.html +12 -0
  130. package/src/lib/components/modal/modal.component.ts +23 -0
  131. package/src/lib/components/notfound/notfound.component.css +134 -0
  132. package/src/lib/components/notfound/notfound.component.html +10 -0
  133. package/src/lib/components/notfound/notfound.component.ts +25 -0
  134. package/src/lib/components/notification/notification.component.css +45 -0
  135. package/src/lib/components/notification/notification.component.html +2 -0
  136. package/src/lib/components/notification/notification.component.ts +11 -0
  137. package/src/lib/components/sidebar/item/sidebar.item.component.css +236 -0
  138. package/src/lib/components/sidebar/item/sidebar.item.component.html +16 -0
  139. package/src/lib/components/sidebar/item/sidebar.item.component.ts +54 -0
  140. package/src/lib/components/sidebar/sidebar.component.css +42 -0
  141. package/src/lib/components/sidebar/sidebar.component.html +10 -0
  142. package/src/lib/components/sidebar/sidebar.component.ts +60 -0
  143. package/src/lib/components/steps/steps.component.css +320 -0
  144. package/src/lib/components/steps/steps.component.html +18 -0
  145. package/src/lib/components/steps/steps.component.ts +44 -0
  146. package/src/lib/components/table/loading/table.loading.component.css +29 -0
  147. package/src/lib/components/table/loading/table.loading.component.html +9 -0
  148. package/src/lib/components/table/loading/table.loading.component.ts +14 -0
  149. package/src/lib/components/table/pagination/table.pagination.component.css +138 -0
  150. package/src/lib/components/table/pagination/table.pagination.component.html +9 -0
  151. package/src/lib/components/table/pagination/table.pagination.component.ts +89 -0
  152. package/src/lib/components/table/report/table.report.component.css +125 -0
  153. package/src/lib/components/table/report/table.report.component.html +19 -0
  154. package/src/lib/components/table/report/table.report.component.ts +238 -0
  155. package/src/lib/components/table/row/table.row.component.css +170 -0
  156. package/src/lib/components/table/row/table.row.component.html +21 -0
  157. package/src/lib/components/table/row/table.row.component.ts +373 -0
  158. package/src/lib/components/table/table.component.css +116 -0
  159. package/src/lib/components/table/table.component.html +62 -0
  160. package/src/lib/components/table/table.component.ts +180 -0
  161. package/src/lib/components/tooltip/tooltip.component.css +159 -0
  162. package/src/lib/components/tooltip/tooltip.component.html +1 -0
  163. package/src/lib/components/tooltip/tooltip.component.ts +15 -0
  164. package/src/lib/ps-toolkit-ui.module.ts +94 -0
  165. package/src/lib/services/config.service.ts +8 -0
  166. package/{public-api.d.ts → src/public-api.ts} +53 -48
  167. package/src/test.ts +26 -0
  168. package/tsconfig.lib.json +25 -0
  169. package/tsconfig.lib.prod.json +10 -0
  170. package/tsconfig.spec.json +17 -0
  171. package/tslint.json +17 -0
  172. package/bundles/ps-toolkit-ui.umd.js +0 -7646
  173. package/bundles/ps-toolkit-ui.umd.js.map +0 -1
  174. package/bundles/ps-toolkit-ui.umd.min.js +0 -2
  175. package/bundles/ps-toolkit-ui.umd.min.js.map +0 -1
  176. package/esm2015/lib/classes/chart.class.js +0 -140
  177. package/esm2015/lib/classes/enum.class.js +0 -187
  178. package/esm2015/lib/classes/form.class.js +0 -481
  179. package/esm2015/lib/classes/helper.class.js +0 -284
  180. package/esm2015/lib/classes/lang.class.js +0 -32
  181. package/esm2015/lib/classes/login.class.js +0 -22
  182. package/esm2015/lib/classes/modal.class.js +0 -52
  183. package/esm2015/lib/classes/permission.class.js +0 -61
  184. package/esm2015/lib/classes/request.class.js +0 -256
  185. package/esm2015/lib/classes/safestyle.class.js +0 -15
  186. package/esm2015/lib/classes/sidebar.class.js +0 -14
  187. package/esm2015/lib/classes/steps.class.js +0 -20
  188. package/esm2015/lib/classes/string.class.js +0 -220
  189. package/esm2015/lib/classes/table.class.js +0 -215
  190. package/esm2015/lib/components/accordion/accordion.component.js +0 -45
  191. package/esm2015/lib/components/alert/alert.component.js +0 -39
  192. package/esm2015/lib/components/base.component.js +0 -45
  193. package/esm2015/lib/components/calendar/calendar.component.js +0 -97
  194. package/esm2015/lib/components/chart/chart.component.js +0 -17
  195. package/esm2015/lib/components/clock/clock.component.js +0 -33
  196. package/esm2015/lib/components/confirm/confirm.component.js +0 -50
  197. package/esm2015/lib/components/footer/footer.component.js +0 -23
  198. package/esm2015/lib/components/form/bank-card/form.bank-card.component.js +0 -148
  199. package/esm2015/lib/components/form/button/form.button.component.js +0 -68
  200. package/esm2015/lib/components/form/car/form.car.component.js +0 -84
  201. package/esm2015/lib/components/form/car/search/form.car.search.component.js +0 -172
  202. package/esm2015/lib/components/form/checkbox/form.checkbox.component.js +0 -66
  203. package/esm2015/lib/components/form/date/form.date.component.js +0 -254
  204. package/esm2015/lib/components/form/datetime/form.datetime.component.js +0 -104
  205. package/esm2015/lib/components/form/file/form.file.component.js +0 -133
  206. package/esm2015/lib/components/form/finger/form.finger.component.js +0 -138
  207. package/esm2015/lib/components/form/hidden/form.hidden.component.js +0 -31
  208. package/esm2015/lib/components/form/icon/form.icon.component.js +0 -76
  209. package/esm2015/lib/components/form/index/form.component.js +0 -48
  210. package/esm2015/lib/components/form/label/form.label.component.js +0 -32
  211. package/esm2015/lib/components/form/plaque/form.plaque.component.js +0 -176
  212. package/esm2015/lib/components/form/plaque/select/form.plaque.select.component.js +0 -390
  213. package/esm2015/lib/components/form/radio/form.radio.component.js +0 -79
  214. package/esm2015/lib/components/form/select/form.select.component.js +0 -374
  215. package/esm2015/lib/components/form/select/item/form.select.item.component.js +0 -43
  216. package/esm2015/lib/components/form/table/form.table.component.js +0 -98
  217. package/esm2015/lib/components/form/textarea/form.textarea.component.js +0 -78
  218. package/esm2015/lib/components/form/textbox/form.textbox.component.js +0 -186
  219. package/esm2015/lib/components/form/time/form.time.component.js +0 -145
  220. package/esm2015/lib/components/form/tree/form.tree.component.js +0 -99
  221. package/esm2015/lib/components/form/tree/item/form.tree.item.component.js +0 -48
  222. package/esm2015/lib/components/header/header.component.js +0 -33
  223. package/esm2015/lib/components/header/sub/sub.header.component.js +0 -14
  224. package/esm2015/lib/components/layout/layout.component.js +0 -25
  225. package/esm2015/lib/components/loading/loading.component.js +0 -22
  226. package/esm2015/lib/components/login/login.component.js +0 -148
  227. package/esm2015/lib/components/modal/modal.component.js +0 -25
  228. package/esm2015/lib/components/notfound/notfound.component.js +0 -29
  229. package/esm2015/lib/components/notification/notification.component.js +0 -14
  230. package/esm2015/lib/components/sidebar/item/sidebar.item.component.js +0 -53
  231. package/esm2015/lib/components/sidebar/sidebar.component.js +0 -67
  232. package/esm2015/lib/components/steps/steps.component.js +0 -51
  233. package/esm2015/lib/components/table/loading/table.loading.component.js +0 -17
  234. package/esm2015/lib/components/table/pagination/table.pagination.component.js +0 -84
  235. package/esm2015/lib/components/table/report/table.report.component.js +0 -246
  236. package/esm2015/lib/components/table/row/table.row.component.js +0 -379
  237. package/esm2015/lib/components/table/table.component.js +0 -179
  238. package/esm2015/lib/components/tooltip/tooltip.component.js +0 -19
  239. package/esm2015/lib/ps-toolkit-ui.module.js +0 -95
  240. package/esm2015/lib/services/config.service.js +0 -14
  241. package/esm2015/ps-toolkit-ui.js +0 -20
  242. package/esm2015/public-api.js +0 -52
  243. package/fesm2015/ps-toolkit-ui.js +0 -6566
  244. package/fesm2015/ps-toolkit-ui.js.map +0 -1
  245. package/lib/classes/chart.class.d.ts +0 -11
  246. package/lib/classes/enum.class.d.ts +0 -158
  247. package/lib/classes/form.class.d.ts +0 -173
  248. package/lib/classes/helper.class.d.ts +0 -28
  249. package/lib/classes/lang.class.d.ts +0 -5
  250. package/lib/classes/login.class.d.ts +0 -17
  251. package/lib/classes/modal.class.d.ts +0 -19
  252. package/lib/classes/permission.class.d.ts +0 -31
  253. package/lib/classes/request.class.d.ts +0 -12
  254. package/lib/classes/safestyle.class.d.ts +0 -7
  255. package/lib/classes/sidebar.class.d.ts +0 -11
  256. package/lib/classes/steps.class.d.ts +0 -17
  257. package/lib/classes/string.class.d.ts +0 -218
  258. package/lib/classes/table.class.d.ts +0 -69
  259. package/lib/components/accordion/accordion.component.d.ts +0 -7
  260. package/lib/components/alert/alert.component.d.ts +0 -10
  261. package/lib/components/base.component.d.ts +0 -14
  262. package/lib/components/calendar/calendar.component.d.ts +0 -26
  263. package/lib/components/chart/chart.component.d.ts +0 -5
  264. package/lib/components/clock/clock.component.d.ts +0 -11
  265. package/lib/components/confirm/confirm.component.d.ts +0 -14
  266. package/lib/components/footer/footer.component.d.ts +0 -6
  267. package/lib/components/form/bank-card/form.bank-card.component.d.ts +0 -22
  268. package/lib/components/form/button/form.button.component.d.ts +0 -15
  269. package/lib/components/form/car/form.car.component.d.ts +0 -16
  270. package/lib/components/form/car/search/form.car.search.component.d.ts +0 -17
  271. package/lib/components/form/checkbox/form.checkbox.component.d.ts +0 -14
  272. package/lib/components/form/date/form.date.component.d.ts +0 -42
  273. package/lib/components/form/datetime/form.datetime.component.d.ts +0 -13
  274. package/lib/components/form/file/form.file.component.d.ts +0 -17
  275. package/lib/components/form/finger/form.finger.component.d.ts +0 -15
  276. package/lib/components/form/hidden/form.hidden.component.d.ts +0 -7
  277. package/lib/components/form/icon/form.icon.component.d.ts +0 -15
  278. package/lib/components/form/index/form.component.d.ts +0 -10
  279. package/lib/components/form/label/form.label.component.d.ts +0 -8
  280. package/lib/components/form/plaque/form.plaque.component.d.ts +0 -22
  281. package/lib/components/form/plaque/select/form.plaque.select.component.d.ts +0 -36
  282. package/lib/components/form/radio/form.radio.component.d.ts +0 -13
  283. package/lib/components/form/select/form.select.component.d.ts +0 -39
  284. package/lib/components/form/select/item/form.select.item.component.d.ts +0 -12
  285. package/lib/components/form/table/form.table.component.d.ts +0 -9
  286. package/lib/components/form/textarea/form.textarea.component.d.ts +0 -13
  287. package/lib/components/form/textbox/form.textbox.component.d.ts +0 -20
  288. package/lib/components/form/time/form.time.component.d.ts +0 -25
  289. package/lib/components/form/tree/form.tree.component.d.ts +0 -16
  290. package/lib/components/form/tree/item/form.tree.item.component.d.ts +0 -17
  291. package/lib/components/header/header.component.d.ts +0 -9
  292. package/lib/components/header/sub/sub.header.component.d.ts +0 -3
  293. package/lib/components/layout/layout.component.d.ts +0 -8
  294. package/lib/components/loading/loading.component.d.ts +0 -5
  295. package/lib/components/login/login.component.d.ts +0 -13
  296. package/lib/components/modal/modal.component.d.ts +0 -9
  297. package/lib/components/notfound/notfound.component.d.ts +0 -8
  298. package/lib/components/notification/notification.component.d.ts +0 -3
  299. package/lib/components/sidebar/item/sidebar.item.component.d.ts +0 -14
  300. package/lib/components/sidebar/sidebar.component.d.ts +0 -19
  301. package/lib/components/steps/steps.component.d.ts +0 -10
  302. package/lib/components/table/loading/table.loading.component.d.ts +0 -5
  303. package/lib/components/table/pagination/table.pagination.component.d.ts +0 -15
  304. package/lib/components/table/report/table.report.component.d.ts +0 -34
  305. package/lib/components/table/row/table.row.component.d.ts +0 -34
  306. package/lib/components/table/table.component.d.ts +0 -40
  307. package/lib/components/tooltip/tooltip.component.d.ts +0 -5
  308. package/lib/ps-toolkit-ui.module.d.ts +0 -4
  309. package/lib/services/config.service.d.ts +0 -6
  310. package/ps-toolkit-ui.d.ts +0 -19
  311. package/ps-toolkit-ui.metadata.json +0 -1
@@ -0,0 +1,296 @@
1
+ .form-input-con.text{
2
+ position: relative;
3
+ float: right;
4
+ width: 100%;
5
+ padding: 0 15px;
6
+ }
7
+ .form-input-con.text .form-input {
8
+ position: relative;
9
+ float: right;
10
+ width: 100%;
11
+ }
12
+
13
+ .form-input-con.text .form-input .label {
14
+ float: right;
15
+ width: 100%;
16
+ height: 20px;
17
+ line-height: 20px;
18
+ padding: 0 10px;
19
+ font-size: 12px;
20
+ margin-bottom: 3px;
21
+ cursor: default;
22
+ -webkit-user-select: none;
23
+ -moz-user-select: none;
24
+ -khtml-user-select: none;
25
+ -ms-user-select: none;
26
+ direction: rtl;
27
+ text-align: right;
28
+ }
29
+ .form-input-con.text.error .form-input .label {
30
+ font-size: 10px;
31
+ color: var(--red);
32
+ }
33
+ .form-input-con.text .form-input .label .required-icon{
34
+ height: 20px;
35
+ width: 20px;
36
+ line-height: 20px;
37
+ font-size: 9px;
38
+ color: var(--red);
39
+ text-align: center;
40
+ }
41
+ .form-input-con.text .form-input .control {
42
+ display: block;
43
+ width: 100%;
44
+ height: 35px;
45
+ padding: 5px 35px;
46
+ font-family: Vazir;
47
+ color: var(--black);
48
+ background-image: none;
49
+ border-radius: 5px;
50
+ text-align: center;
51
+ background-color: white;
52
+ position: relative;
53
+ z-index: 2;
54
+ font-size: 11px;
55
+ border: var(--border-input);
56
+ }
57
+
58
+ .form-input-con.text .form-input:hover .control, .form-input-con.text .form-input .control:focus {
59
+ outline: none;
60
+ border: var(--border-input-dark);
61
+ }
62
+ .form-input-con.text.error .form-input .control {
63
+ border: var(--border-input-red);
64
+ }
65
+ .form-input-con.text.error .form-input .control, .form-input-con.text.error .form-input span.icon {
66
+ color: var(--red);
67
+ }
68
+ .form-input-con.text.error .form-input:hover .control, .form-input-con.text.error .form-input .control:focus {
69
+ border: var(--border-input-red-dark);
70
+ }
71
+
72
+ .form-input-con.text.without-icon .form-input .control {
73
+ padding: 5px 10px;
74
+ }
75
+
76
+ .form-input-con.text .form-input span.icon {
77
+ position: absolute;
78
+ font-size: 14px;
79
+ color: var(--comp);
80
+ cursor: text;
81
+ bottom: 0;
82
+ z-index: 2;
83
+ -webkit-transition: all .35s ease-in-out;
84
+ transition: all .35s ease-in-out;
85
+ width: 35px;
86
+ text-align: center;
87
+ height: 35px;
88
+ line-height: 38px;
89
+ left: 0;
90
+ }
91
+
92
+ .form-input-con.text .form-input span.clear-icon {
93
+ position: absolute;
94
+ font-size: 14px;
95
+ color: var(--red);
96
+ cursor: pointer;
97
+ bottom: 0;
98
+ z-index: 2;
99
+ -webkit-transition: all .35s ease-in-out;
100
+ transition: all .35s ease-in-out;
101
+ width: 35px;
102
+ text-align: center;
103
+ height: 35px;
104
+ line-height: 38px;
105
+ right: 0;
106
+ }
107
+
108
+ .form-input-con.text .form-input span.icon.button {
109
+ background-color: var(--base);
110
+ color: white;
111
+ border-radius: 5px 0 0 5px;
112
+ cursor: pointer;
113
+ }
114
+ .form-input-con.text .form-input span.icon.button:hover {
115
+ background-color: var(--base-dark);
116
+ }
117
+ .form-input-con.text .form-input span.icon.button.blue {
118
+ background-color: var(--blue);
119
+ }
120
+ .form-input-con.text .form-input span.icon.button.blue:hover {
121
+ background-color: var(--blue-dark);
122
+ }
123
+ .form-input-con.text .form-input span.icon.button.green {
124
+ background-color: var(--green);
125
+ }
126
+ .form-input-con.text .form-input span.icon.button.green:hover {
127
+ background-color: var(--green-dark);
128
+ }
129
+ .form-input-con.text .form-input span.icon.button.red {
130
+ background-color: var(--red);
131
+ }
132
+ .form-input-con.text .form-input span.icon.button.red:hover {
133
+ background-color: var(--red-dark);
134
+ }
135
+ .form-input-con.text .form-input span.icon.button.comp {
136
+ background-color: var(--comp);
137
+ }
138
+ .form-input-con.text .form-input span.icon.button.comp:hover {
139
+ background-color: var(--comp-dark);
140
+ }
141
+
142
+ .form-input-con.text.disabled .form-input .control, .form-input-con.text.disabled .form-input span.icon, .form-input-con.text.disabled .form-input .label {
143
+ cursor: default;
144
+ box-shadow: unset;
145
+ opacity: 0.7;
146
+ filter: blur(0.5px);
147
+ -webkit-user-select: none;
148
+ -moz-user-select: none;
149
+ -khtml-user-select: none;
150
+ -ms-user-select: none;
151
+ }
152
+
153
+ .form-input-con.text .form-input .progress {
154
+ width: 98%;
155
+ margin-right: 1%;
156
+ height: 3px;
157
+ line-height: 3px;
158
+ background-color: var(--comp);
159
+ position: absolute;
160
+ bottom: 0;
161
+ right: 0;
162
+ border-radius: 5px;
163
+ -webkit-transition: width 0.5s ease-in-out;
164
+ -moz-transition: width 0.5s ease-in-out;
165
+ -o-transition: width 0.5s ease-in-out;
166
+ transition: width 0.5s ease-in-out;
167
+ }
168
+ .form-input-con.text.without-icon .form-input .control {
169
+ padding: 5px 10px;
170
+ }
171
+ .form-input-con.text.h-50 .form-input .control {
172
+ height: 50px;
173
+ }
174
+ .form-input-con.text.h-50 .form-input span.icon {
175
+ height: 50px;
176
+ line-height: 50px;
177
+ }
178
+
179
+ .form-input-con.text.h-45 .form-input .control {
180
+ height: 45px;
181
+ font-size: 17px;
182
+ }
183
+ .form-input-con.text.h-45 .form-input .control::-moz-placeholder, .form-input-con.text.h-45 .form-input .control::-webkit-input-placeholder {
184
+ font-size: 12px;
185
+ }
186
+
187
+ .form-input-con.text.h-45 .form-input span.icon {
188
+ height: 45px;
189
+ line-height: 50px;
190
+ font-size: 18px;
191
+ }
192
+
193
+ .form-input-con.text.h-30 .form-input .control {
194
+ height: 30px;
195
+ padding: 0;
196
+ font-size: 10px;
197
+ }
198
+
199
+ .form-input-con.text.h-30 .form-input span.icon {
200
+ height: 30px;
201
+ width: 30px;
202
+ line-height: 33px;
203
+ font-size: 11px;
204
+ }
205
+
206
+ .form-input-con.text.h-35 {
207
+ height: 35px;
208
+ }
209
+
210
+ .form-input-con.text.h-35 .form-input .control {
211
+ height: 35px;
212
+ padding: 0 35px;
213
+ }
214
+
215
+ .form-input-con.text.h-35 .form-input span.icon {
216
+ height: 35px;
217
+ line-height: 35px;
218
+ }
219
+
220
+ .form-input-con.text.h-25 .form-input .control {
221
+ height: 25px;
222
+ padding: 0;
223
+ }
224
+
225
+ .form-input-con.text.h-25 .form-input span.icon {
226
+ height: 25px;
227
+ line-height: 25px;
228
+ }
229
+
230
+ .form-input-con.text.h-25 .form-input .control::-moz-placeholder, .form-input-con.text.h-25 .form-input .control::-webkit-input-placeholder {
231
+ font-size: 10px;
232
+ font-family: VazirLight;
233
+ }
234
+
235
+ .form-input-con.text.table-search {
236
+ width: 100%;
237
+ float: right;
238
+ padding: 0;
239
+ }
240
+ .form-input-con.text.plaque-part-item .form-input .control{
241
+ border: none !important;
242
+ }
243
+ .form-input-con.text.plaque-part-1{
244
+ width: 35px!important;
245
+ padding: 0!important;
246
+ float: left;
247
+ }
248
+ .form-input-con.text.plaque-part-1.plaque-part-m{
249
+ width: 49px!important;
250
+ }
251
+ .form-input-con.text.plaque-part-3{
252
+ width: 49px!important;
253
+ padding: 0!important;
254
+ float: left;
255
+ }
256
+ .form-input-con.text.plaque-part-3.plaque-part-m{
257
+ width: 69px !important;
258
+ }
259
+ .form-input-con.text.plaque-part-4{
260
+ margin-top: 10px;
261
+ width: 31px!important;
262
+ padding: 0!important;
263
+ float: left;
264
+ }
265
+ .form-input-con.text.plaque-part-4 .form-input .control{
266
+ height: 25px!important;
267
+ }
268
+ .form-input-con.text.plaque-part-4.plaque-part-m{
269
+ display: none !important;
270
+ }
271
+
272
+ .form-input-con.text.bank-card-part-item{
273
+ width: 25%;
274
+ float: left;
275
+ padding: 0 !important;
276
+ }
277
+ .form-input-con.text.bank-card-part-item:not(.bank-card-part-4):after{
278
+ position: absolute;
279
+ content: '\f068';
280
+ font-family: "Font Awesome 5 Pro";
281
+ font-weight: 900;
282
+ width: 20px;
283
+ height: 20px;
284
+ line-height: 20px;
285
+ top: calc(50% - 10px);
286
+ right: -10px;
287
+ text-align: center;
288
+ font-size: 6px;
289
+ }
290
+ .form-input-con.text.bank-card-part-item .form-input .control{
291
+ background-color: transparent !important;
292
+ box-shadow: unset !important;
293
+ border: unset !important;
294
+ padding: 0 !important;
295
+ font-size: 13px !important;
296
+ }
@@ -0,0 +1,13 @@
1
+ <div #inputDiv [id]="inp.name + 'Input'" [style]="inp.style" [className]="inp.class + ' form-input-con text' + (inp.error == null ? '' : ' error') + (inp.disabled || inp.loading ? ' disabled' : '') + (inp.icon == null ? ' without-icon' : '')">
2
+ <div class="form-input" (click)="onFocusIn()">
3
+ <div *ngIf="inp.displayLabel" class="label"><i *ngIf="inp.required" class="fas fa-star-of-life required-icon"></i>{{inp.getLabel()}}</div>
4
+ <input (keydown)="onKeyDown($event)" (change)="onChange($event)" (keyup)="onKeyUp($event)" [disabled]="inp.disabled || inp.loading" [value]="getValue()" [placeholder]="inp.placeholder ? inp.l(inp.placeholder) : ''" #inputBase [type]="inp.type == type.Password ? 'password': 'text'" [name]="inp.name" class="control" autocomplete="off" [maxLength]="inp.maxLength > 0 ? inp.type == type.Number ? inp.maxLength.toString().length : inp.maxLength : 524288">
5
+ <span *ngIf="inp.icon != null || inp.loading" (click)="inp.button && onClickButton()" #inputIcon [className]="(inp.button ? inp.button + ' button ' : '') + 'icon'">
6
+ <i [className]="(inp.loading ? 'fa-duotone fa-spin fa-spinner ' : inp.icon + ' ')">{{inp.type === type.Sheba ? 'IR' : ''}}</i>
7
+ </span>
8
+ <span *ngIf="inp.withClear && inp.value" (click)="inp.clear()" class="clear-icon">
9
+ <i class="fa-duotone fa-eraser"></i>
10
+ </span>
11
+ <div *ngIf="inp.progress != null && inp.progress.remainSecs > 0" [ngStyle]="{width: inp.progress.percent + '%'}" class="progress"></div>
12
+ </div>
13
+ </div>
@@ -0,0 +1,185 @@
1
+ import {Component, ElementRef, EventEmitter, HostListener, Input, OnInit, Output, ViewChild} from '@angular/core';
2
+ import {InputClass} from '../../../classes/form.class';
3
+ import {InputError, InputType} from '../../../classes/enum.class';
4
+ import {HelperClass} from '../../../classes/helper.class';
5
+
6
+ @Component({
7
+ selector: 'lib-form-textbox',
8
+ templateUrl: './form.textbox.component.html',
9
+ styleUrls: ['./form.textbox.component.css']
10
+ })
11
+ export class FormTextboxComponent implements OnInit {
12
+ @Input()
13
+ inp: InputClass;
14
+ cValue = '';
15
+ @Output()
16
+ changeIndex = new EventEmitter<string>();
17
+
18
+ get type(): typeof InputType {
19
+ return InputType;
20
+ }
21
+
22
+ navigationKeys = ['Backspace', 'Delete', 'Tab', 'Escape', 'Enter', 'Home', 'End', 'ArrowLeft', 'ArrowRight', 'Clear', 'Copy', 'Paste'];
23
+ @ViewChild('inputBase') inputBase: ElementRef;
24
+ @ViewChild('inputDiv') inputDiv: ElementRef;
25
+ @ViewChild('inputLabel') inputLabel: ElementRef;
26
+
27
+ ngOnInit(): void {
28
+ this.inp.setValue = (v) => {
29
+ this.inp.value = v != null ? v.toString() : '';
30
+ };
31
+ this.inp.focus = (changeIndex= false) => {
32
+ this.onFocusIn(changeIndex);
33
+ };
34
+ this.inp.isValid = () => {
35
+ this.inp.error = null;
36
+ if (this.inp.required && !this.inp.value) {
37
+ this.inp.error = InputError.Required;
38
+ return false;
39
+ }
40
+ if (!this.inp.required && !this.inp.value) {
41
+ return true;
42
+ }
43
+ if (this.inp.type === InputType.Mobile && !RegExp(/^(09\d{9})$/).test(this.inp.value)) {
44
+ this.inp.error = InputError.Invalid;
45
+ return false;
46
+ }
47
+ if (this.inp.type === InputType.Phone && !RegExp(/^(0\d{10})$/).test(this.inp.value)) {
48
+ this.inp.error = InputError.Invalid;
49
+ return false;
50
+ }
51
+ if (this.inp.type === InputType.Url && !RegExp(/^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_+.~#?&/=]*)$/).test(this.inp.value)) {
52
+ this.inp.error = InputError.Invalid;
53
+ return false;
54
+ }
55
+ if (this.inp.required && this.inp.type === InputType.Email && !RegExp(/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/).test(this.inp.value)) {
56
+ this.inp.error = InputError.Invalid;
57
+ return false;
58
+ }
59
+ if (this.inp.type === InputType.NationalCode && !HelperClass.nationalCodeValid(this.inp.value)) {
60
+ this.inp.error = InputError.Invalid;
61
+ return false;
62
+ }
63
+ if (this.inp.type === InputType.Sheba && !HelperClass.shebaValid(this.inp.value)) {
64
+ this.inp.error = InputError.Invalid;
65
+ return false;
66
+ }
67
+ if (this.inp.type === InputType.PostalCode && !HelperClass.postalCodeValid(this.inp.value)) {
68
+ this.inp.error = InputError.Invalid;
69
+ return false;
70
+ }
71
+ if (this.inp.type === InputType.Number || this.inp.type === InputType.Price){
72
+ const v = this.inp.value.toString().replace(/,/g, '');
73
+ if (!/^\d+$/.test(v)){
74
+ this.inp.error = InputError.Invalid;
75
+ return false;
76
+ }
77
+ }
78
+ if (this.inp.type === InputType.Number || this.inp.type === InputType.Price){
79
+ const v = parseInt(this.inp.value.replace(/,/g, ''), 10);
80
+ if (this.inp.required && this.inp.minLength !== -1 && v < this.inp.minLength) {
81
+ this.inp.error = InputError.MinAmount;
82
+ return false;
83
+ }
84
+ if (this.inp.required && this.inp.maxLength !== -1 && v > this.inp.maxLength) {
85
+ this.inp.error = InputError.MaxAmount;
86
+ return false;
87
+ }
88
+ } else {
89
+ if (this.inp.required && this.inp.minLength !== -1 && this.inp.minLength === this.inp.maxLength &&
90
+ this.inp.value.length !== this.inp.minLength) {
91
+ this.inp.error = InputError.Length;
92
+ return false;
93
+ }
94
+ if (this.inp.required && this.inp.minLength !== -1 && this.inp.value.length < this.inp.minLength) {
95
+ this.inp.error = InputError.MinLength;
96
+ return false;
97
+ }
98
+ if (this.inp.required && this.inp.maxLength !== -1 && this.inp.value.length > this.inp.maxLength) {
99
+ this.inp.error = InputError.MaxLength;
100
+ return false;
101
+ }
102
+ }
103
+ if (this.inp.match !== null && this.inp.value !== this.inp.match.value) {
104
+ this.inp.error = InputError.NotMatch;
105
+ return false;
106
+ }
107
+ return true;
108
+ };
109
+ this.inp.clear = () => {
110
+ this.inp.error = null;
111
+ this.inp.setValue(this.inp.default, false);
112
+ };
113
+ this.inp.data = () => {
114
+ let v = this.inp.value;
115
+ if (v === null){
116
+ return null;
117
+ }
118
+ if (v && this.inp.type === InputType.Number || this.inp.type === InputType.Price){
119
+ v = parseInt(v.replace(/,/g, ''), 10);
120
+ }
121
+ return v;
122
+ };
123
+ }
124
+
125
+ onFocusIn(changeIndex = false): void {
126
+ if (changeIndex){
127
+ this.inputBase.nativeElement.select();
128
+ }else{
129
+ this.inputBase.nativeElement.focus();
130
+ }
131
+ }
132
+ onChange(e): void {
133
+ this.onKeyUp(e);
134
+ }
135
+
136
+ onKeyUp(e): void {
137
+ this.inp.value = e.target.value;
138
+ if (this.inp.onKeyUp) {
139
+ this.inp.onKeyUp(this.inp);
140
+ }
141
+ if (this.inp.onChange) {
142
+ if (this.cValue !== e.target.value) {
143
+ this.inp.onChange(e.target.value);
144
+ this.cValue = e.target.value;
145
+ }
146
+ }
147
+ }
148
+ onClickButton(): void{
149
+ if (this.inp.isValid()){
150
+ this.inp.onClickButton();
151
+ }
152
+ }
153
+ onKeyDown(e): void {
154
+ if (this.inp.onKeyDown) {
155
+ this.inp.onKeyDown(e);
156
+ }
157
+ const code = e.keyCode || e.which;
158
+ if (code === 9 || code === 13) {
159
+ e.preventDefault();
160
+ if (code === 13 && this.inp.button){
161
+ this.onClickButton();
162
+ }else{
163
+ this.changeIndex.emit(code === 9 ? e.shiftKey ? 'ShiftTab' : 'Tab' : e.shiftKey ? 'ShiftEnter' : 'Enter');
164
+ }
165
+ return;
166
+ }
167
+ this.inp.error = null;
168
+ }
169
+
170
+ getValue(): string {
171
+ try {
172
+ if (this.inp.value && this.inp.type === InputType.Price){
173
+ const v = this.inp.value.toString().replace(/,/g, '');
174
+ if (/^\d+$/.test(v)){
175
+ return parseInt(v, 10).toLocaleString();
176
+ }
177
+ return v;
178
+ }
179
+ return this.inp.value;
180
+ }
181
+ catch {
182
+ return '';
183
+ }
184
+ }
185
+ }
@@ -0,0 +1,205 @@
1
+ .form-input-con.time {
2
+ position: relative;
3
+ float: right;
4
+ width: 100%;
5
+ padding: 0 15px;
6
+ }
7
+ .form-input-con.time .form-input {
8
+ position: relative;
9
+ float: right;
10
+ width: 100%;
11
+ }
12
+ .form-input-con.time .form-input .label {
13
+ float: right;
14
+ width: 100%;
15
+ height: 20px;
16
+ line-height: 20px;
17
+ padding: 0 10px;
18
+ font-size: 12px;
19
+ margin-bottom: 3px;
20
+ cursor: default;
21
+ -webkit-user-select: none;
22
+ -moz-user-select: none;
23
+ -khtml-user-select: none;
24
+ -ms-user-select: none;
25
+ direction: rtl;
26
+ text-align: right;
27
+ }
28
+ .form-input-con.time.error .form-input .label {
29
+ font-size: 10px;
30
+ color: var(--red);
31
+ }
32
+ .form-input-con.time .form-input .label .required-icon{
33
+ height: 20px;
34
+ width: 20px;
35
+ line-height: 20px;
36
+ font-size: 9px;
37
+ color: var(--red);
38
+ text-align: center;
39
+ }
40
+
41
+ .form-input-con.time .form-input .control {
42
+ display: block;
43
+ width: 100%;
44
+ height: 35px;
45
+ padding: 5px 35px;
46
+ font-family: Vazir;
47
+ color: var(--black);
48
+ background-image: none;
49
+ border: none;
50
+ border-radius: 5px;
51
+ text-align: center;
52
+ background-color: white;
53
+ position: relative;
54
+ z-index: 2;
55
+ font-size: 11px;
56
+ border: var(--border-input);
57
+ }
58
+ .form-input-con.time .form-input .control:focus{
59
+ border-radius: 5px 5px 5px 0;
60
+ }
61
+ .form-input-con.time.top .form-input .control:focus{
62
+ border-radius: 0 5px 5px 5px;
63
+ }
64
+
65
+ .form-input-con.time .form-input:hover .control, .form-input-con.time .form-input .control:focus {
66
+ border: var(--border-input-dark);
67
+ outline: none;
68
+ }
69
+
70
+ .form-input-con.time .form-input i.icon {
71
+ position: absolute;
72
+ font-size: 13px;
73
+ color: var(--comp);
74
+ cursor: text;
75
+ bottom: 0;
76
+ z-index: 3;
77
+ -webkit-transition: all .35s ease-in-out;
78
+ transition: all .35s ease-in-out;
79
+ width: 35px;
80
+ text-align: center;
81
+ height: 35px;
82
+ line-height: 35px;
83
+ left: 0;
84
+ }
85
+ .form-input-con.time .form-input i.clear-icon {
86
+ position: absolute;
87
+ font-size: 14px;
88
+ color: var(--red);
89
+ cursor: pointer;
90
+ bottom: 0;
91
+ z-index: 3;
92
+ -webkit-transition: all .35s ease-in-out;
93
+ transition: all .35s ease-in-out;
94
+ width: 35px;
95
+ text-align: center;
96
+ height: 35px;
97
+ line-height: 38px;
98
+ right: 0;
99
+ }
100
+
101
+ .form-input-con.time.disabled .form-input .control, .form-input-con.time.disabled .form-input i.icon, .form-input-con.time.disabled .form-input .label {
102
+ cursor: default;
103
+ opacity: 0.7;
104
+ filter: blur(0.5px);
105
+ }
106
+
107
+ .form-input-con.time.error .form-input .control, .form-input-con.time.error .form-input i.icon {
108
+ color: var(--red-cc);
109
+ }
110
+
111
+ .form-input-con.time.error .form-input .control {
112
+ border: var(--border-input-red);
113
+ }
114
+ .form-input-con.time.error .form-input:hover .control, .form-input-con.time.error .form-input .control:focus {
115
+ border: var(--border-input-red-dark);
116
+ }
117
+
118
+ .form-input-con.time .form-input .options-con{
119
+ position: absolute;
120
+ left: 0;
121
+ height: 235px;
122
+ top: -200000px;
123
+ background-color: white;
124
+ border: var(--border-input);
125
+ border-radius: 0 0 5px 5px;
126
+ z-index: 4;
127
+ overflow: hidden;
128
+ -webkit-user-select: none;
129
+ -moz-user-select: none;
130
+ -khtml-user-select: none;
131
+ -ms-user-select: none;
132
+ }
133
+ .form-input-con.time .form-input .options-con .options{
134
+ float: right;
135
+ width: 100px;
136
+ position: relative;
137
+ }
138
+ .form-input-con.time .form-input .options-con .options .hours{
139
+ float: left;
140
+ width: 50%;
141
+ height: 235px;
142
+ overflow: auto;
143
+ position: relative;
144
+ -ms-overflow-style: none; /* IE and Edge */
145
+ scrollbar-width: none; /* Firefox */
146
+ }
147
+ .form-input-con.time .form-input .options-con .options .rightline{
148
+ position: absolute;
149
+ top: 0;
150
+ right: calc((100% - 1px) / 2);
151
+ width: 1px;
152
+ height: 235px;
153
+ }
154
+ .form-input-con.time .form-input .options-con .options .hours::-webkit-scrollbar {
155
+ display: none;
156
+ }
157
+ .form-input-con.time .form-input .options-con .options .minutes{
158
+ float: right;
159
+ width: 50%;
160
+ height: 235px;
161
+ overflow: auto;
162
+ -ms-overflow-style: none; /* IE and Edge */
163
+ scrollbar-width: none; /* Firefox */
164
+ }
165
+ .form-input-con.time .form-input .options-con .options .hours::-webkit-scrollbar {
166
+ display: none;
167
+ }
168
+ .form-input-con.time .form-input .options-con .options .hours .hour, .form-input-con.time .form-input .options-con .options .minutes .minute{
169
+ float: right;
170
+ width: 100%;
171
+ height: 30px;
172
+ line-height: 30px;
173
+ text-align: center;
174
+ font-size: 12px;
175
+ cursor: pointer;
176
+ }
177
+ .form-input-con.time .form-input .options-con .options .hours .hour:hover,
178
+ .form-input-con.time .form-input .options-con .options .hours .hour.active,
179
+ .form-input-con.time .form-input .options-con .options .minutes .minute:hover,
180
+ .form-input-con.time .form-input .options-con .options .minutes .minute.active{
181
+ background-color: var(--black-33);
182
+ }
183
+ .form-input-con.time .form-input .control:focus + .options-con{
184
+ top: 35px !important;
185
+ }
186
+
187
+ .form-input-con.time.top .form-input .control:focus + .options-con{
188
+ border-radius: 5px 5px 0 0;
189
+ bottom: 35px;
190
+ top: unset!important;
191
+ }
192
+ .form-input-con.time.h-22 .form-input .control {
193
+ height: 22px;
194
+ padding: 5px;
195
+ }
196
+ .form-input-con.time.h-22 .form-input i.icon {
197
+ display: none;
198
+ }
199
+ .form-input-con.time.h-22 .form-input .control:focus + .options-con{
200
+ top: 22px !important;
201
+ }
202
+
203
+ .form-input-con.time.h-22.top .form-input .control:focus + .options-con{
204
+ bottom: 22px;
205
+ }