@yelon/util 12.0.19 → 13.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (307) hide show
  1. package/README.md +1 -1
  2. package/{date-time/yelon-util-date-time.d.ts → array/array.d.ts} +1 -0
  3. package/array/array.service.d.ts +3 -0
  4. package/array/package.json +6 -7
  5. package/browser/browser.d.ts +1 -0
  6. package/browser/cookie.service.d.ts +3 -0
  7. package/browser/copy.d.ts +1 -1
  8. package/browser/package.json +5 -6
  9. package/browser/scroll.service.d.ts +3 -0
  10. package/config/config.d.ts +5 -0
  11. package/config/config.service.d.ts +3 -0
  12. package/config/package.json +6 -7
  13. package/date-time/date-time.d.ts +5 -0
  14. package/date-time/package.json +6 -7
  15. package/decorator/decorator.d.ts +5 -0
  16. package/decorator/package.json +6 -7
  17. package/{esm2015/array/array-type.service.js → esm2020/array/array-type.service.mjs} +0 -0
  18. package/esm2020/array/array.mjs +5 -0
  19. package/esm2020/array/array.service.mjs +278 -0
  20. package/{esm2015/array/index.js → esm2020/array/index.mjs} +0 -0
  21. package/{esm2015/browser/browser.js → esm2020/browser/browser.mjs} +0 -0
  22. package/esm2020/browser/cookie.service.mjs +103 -0
  23. package/esm2020/browser/copy.mjs +9 -0
  24. package/{esm2015/browser/index.js → esm2020/browser/index.mjs} +0 -0
  25. package/{esm2015/browser/is-empty.js → esm2020/browser/is-empty.mjs} +0 -0
  26. package/esm2020/browser/scroll.service.mjs +88 -0
  27. package/{esm2015/browser/style.js → esm2020/browser/style.mjs} +2 -2
  28. package/{esm2015/config/abc/date-picker.type.js → esm2020/config/abc/date-picker.type.mjs} +0 -0
  29. package/{esm2015/config/abc/error-collect.type.js → esm2020/config/abc/error-collect.type.mjs} +0 -0
  30. package/{esm2015/config/abc/image.type.js → esm2020/config/abc/image.type.mjs} +0 -0
  31. package/{esm2015/config/abc/index.js → esm2020/config/abc/index.mjs} +0 -0
  32. package/{esm2015/config/abc/loading.type.js → esm2020/config/abc/loading.type.mjs} +0 -0
  33. package/{esm2015/config/abc/lodop.type.js → esm2020/config/abc/lodop.type.mjs} +0 -0
  34. package/{esm2015/config/abc/media.type.js → esm2020/config/abc/media.type.mjs} +0 -0
  35. package/{esm2015/config/abc/onboarding.type.js → esm2020/config/abc/onboarding.type.mjs} +0 -0
  36. package/{esm2015/config/abc/page-header.type.js → esm2020/config/abc/page-header.type.mjs} +0 -0
  37. package/{esm2015/config/abc/pdf.type.js → esm2020/config/abc/pdf.type.mjs} +0 -0
  38. package/{esm2015/config/abc/qr.type.js → esm2020/config/abc/qr.type.mjs} +0 -0
  39. package/{esm2015/config/abc/se.type.js → esm2020/config/abc/se.type.mjs} +0 -0
  40. package/{esm2015/config/abc/sg.type.js → esm2020/config/abc/sg.type.mjs} +0 -0
  41. package/{esm2015/config/abc/st.type.js → esm2020/config/abc/st.type.mjs} +0 -0
  42. package/{esm2015/config/abc/sv.type.js → esm2020/config/abc/sv.type.mjs} +0 -0
  43. package/{esm2015/config/abc/xlsx.type.js → esm2020/config/abc/xlsx.type.mjs} +0 -0
  44. package/{esm2015/config/abc/zip.type.js → esm2020/config/abc/zip.type.mjs} +0 -0
  45. package/{esm2015/config/acl/acl.type.js → esm2020/config/acl/acl.type.mjs} +0 -0
  46. package/{esm2015/config/auth/auth.type.js → esm2020/config/auth/auth.type.mjs} +0 -0
  47. package/{esm2015/config/bis/bis.type.js → esm2020/config/bis/bis.type.mjs} +0 -0
  48. package/{esm2015/config/cache/cache.type.js → esm2020/config/cache/cache.type.mjs} +0 -0
  49. package/{esm2015/config/chart/chart.type.js → esm2020/config/chart/chart.type.mjs} +0 -0
  50. package/esm2020/config/config.mjs +5 -0
  51. package/esm2020/config/config.service.mjs +37 -0
  52. package/{esm2015/config/config.types.js → esm2020/config/config.types.mjs} +0 -0
  53. package/{esm2015/config/index.js → esm2020/config/index.mjs} +0 -0
  54. package/{esm2015/config/mock/mock.type.js → esm2020/config/mock/mock.type.mjs} +0 -0
  55. package/{esm2015/config/sf/sf.type.js → esm2020/config/sf/sf.type.mjs} +0 -0
  56. package/{esm2015/config/stomp/stomp.type.js → esm2020/config/stomp/stomp.type.mjs} +0 -0
  57. package/{esm2015/config/theme/http.type.js → esm2020/config/theme/http.type.mjs} +0 -0
  58. package/{esm2015/config/theme/i18n.type.js → esm2020/config/theme/i18n.type.mjs} +0 -0
  59. package/{esm2015/config/theme/index.js → esm2020/config/theme/index.mjs} +0 -0
  60. package/{esm2015/config/theme/responsive.type.js → esm2020/config/theme/responsive.type.mjs} +0 -0
  61. package/{esm2015/config/util/array.type.js → esm2020/config/util/array.type.mjs} +0 -0
  62. package/{esm2015/config/util/currency.type.js → esm2020/config/util/currency.type.mjs} +0 -0
  63. package/esm2020/date-time/date-time.mjs +5 -0
  64. package/{esm2015/date-time/index.js → esm2020/date-time/index.mjs} +0 -0
  65. package/esm2020/date-time/picker.mjs +116 -0
  66. package/{esm2015/date-time/time.js → esm2020/date-time/time.mjs} +6 -2
  67. package/esm2020/decorator/convert.mjs +58 -0
  68. package/esm2020/decorator/decorator.mjs +5 -0
  69. package/{esm2015/decorator/index.js → esm2020/decorator/index.mjs} +0 -0
  70. package/esm2020/decorator/zone-outside.mjs +57 -0
  71. package/esm2020/form/form.mjs +5 -0
  72. package/{esm2015/form/index.js → esm2020/form/index.mjs} +0 -0
  73. package/{esm2015/form/match-control.js → esm2020/form/match-control.mjs} +0 -0
  74. package/{esm2015/form/validators.js → esm2020/form/validators.mjs} +0 -0
  75. package/esm2020/format/currency.service.mjs +238 -0
  76. package/{esm2015/format/currency.types.js → esm2020/format/currency.types.mjs} +0 -0
  77. package/esm2020/format/format.mjs +5 -0
  78. package/{esm2015/format/index.js → esm2020/format/index.mjs} +0 -0
  79. package/esm2020/format/string.mjs +85 -0
  80. package/{esm2015/format/validate.js → esm2020/format/validate.mjs} +0 -0
  81. package/{esm2015/index.js → esm2020/index.mjs} +0 -0
  82. package/{esm2015/math/in-range.js → esm2020/math/in-range.mjs} +0 -0
  83. package/{esm2015/math/index.js → esm2020/math/index.mjs} +0 -0
  84. package/esm2020/math/math.mjs +5 -0
  85. package/{esm2015/math/round.js → esm2020/math/round.mjs} +0 -0
  86. package/{esm2015/other/assert.js → esm2020/other/assert.mjs} +0 -0
  87. package/{esm2015/other/deep.js → esm2020/other/deep.mjs} +0 -0
  88. package/{esm2015/other/index.js → esm2020/other/index.mjs} +0 -0
  89. package/esm2020/other/lazy.service.mjs +104 -0
  90. package/{esm2015/other/logger.js → esm2020/other/logger.mjs} +0 -0
  91. package/esm2020/other/other.mjs +5 -0
  92. package/{esm2015/other/resize.js → esm2020/other/resize.mjs} +0 -0
  93. package/{esm2015/other/url.js → esm2020/other/url.mjs} +0 -0
  94. package/esm2020/pipes/currency/cny.pipe.mjs +23 -0
  95. package/{esm2015/pipes/currency/index.js → esm2020/pipes/currency/index.mjs} +2 -1
  96. package/esm2020/pipes/currency/mega.pipe.mjs +29 -0
  97. package/esm2020/pipes/currency/module.mjs +19 -0
  98. package/esm2020/pipes/currency/pipe-currency.mjs +5 -0
  99. package/esm2020/pipes/currency/price.pipe.mjs +27 -0
  100. package/esm2020/pipes/filter/filter.pipe.mjs +19 -0
  101. package/{esm2015/pipes/filter/index.js → esm2020/pipes/filter/index.mjs} +0 -0
  102. package/esm2020/pipes/filter/module.mjs +17 -0
  103. package/{esm2015/other/yelon-util-other.js → esm2020/pipes/filter/pipe-filter.mjs} +1 -1
  104. package/{esm2015/pipes/format/index.js → esm2020/pipes/format/index.mjs} +0 -0
  105. package/esm2020/pipes/format/mask.pipe.mjs +34 -0
  106. package/esm2020/pipes/format/module.mjs +17 -0
  107. package/{esm2015/array/yelon-util-array.js → esm2020/pipes/format/pipe-format.mjs} +1 -1
  108. package/{esm2015/pipes/index.js → esm2020/pipes/index.mjs} +0 -0
  109. package/esm2020/pipes/pipes.mjs +5 -0
  110. package/{esm2015/token/index.js → esm2020/token/index.mjs} +0 -0
  111. package/{esm2015/token/page-visibility.js → esm2020/token/page-visibility.mjs} +0 -0
  112. package/esm2020/token/token.mjs +5 -0
  113. package/{esm2015/token/window.js → esm2020/token/window.mjs} +0 -0
  114. package/{esm2015/yelon-util.js → esm2020/yelon-util.mjs} +0 -0
  115. package/fesm2015/{yelon-util-array.js → array.mjs} +8 -10
  116. package/fesm2015/array.mjs.map +1 -0
  117. package/fesm2015/{browser.js → browser.mjs} +28 -42
  118. package/fesm2015/browser.mjs.map +1 -0
  119. package/fesm2015/{yelon-util-config.js → config.mjs} +14 -8
  120. package/fesm2015/config.mjs.map +1 -0
  121. package/fesm2015/{yelon-util-date-time.js → date-time.mjs} +1 -1
  122. package/fesm2015/date-time.mjs.map +1 -0
  123. package/fesm2015/{yelon-util-decorator.js → decorator.mjs} +8 -4
  124. package/fesm2015/decorator.mjs.map +1 -0
  125. package/fesm2015/{yelon-util-form.js → form.mjs} +1 -1
  126. package/fesm2015/form.mjs.map +1 -0
  127. package/fesm2015/{yelon-util-format.js → format.mjs} +18 -14
  128. package/fesm2015/format.mjs.map +1 -0
  129. package/fesm2015/{yelon-util-math.js → math.mjs} +1 -1
  130. package/fesm2015/math.mjs.map +1 -0
  131. package/fesm2015/{yelon-util-other.js → other.mjs} +17 -29
  132. package/fesm2015/other.mjs.map +1 -0
  133. package/fesm2015/pipe-currency.mjs +96 -0
  134. package/fesm2015/pipe-currency.mjs.map +1 -0
  135. package/fesm2015/pipe-filter.mjs +40 -0
  136. package/fesm2015/pipe-filter.mjs.map +1 -0
  137. package/fesm2015/pipe-format.mjs +55 -0
  138. package/fesm2015/pipe-format.mjs.map +1 -0
  139. package/fesm2015/{yelon-util-pipes.js → pipes.mjs} +1 -1
  140. package/fesm2015/pipes.mjs.map +1 -0
  141. package/fesm2015/{yelon-util-token.js → token.mjs} +1 -1
  142. package/fesm2015/token.mjs.map +1 -0
  143. package/fesm2015/{yelon-util.js → yelon-util.mjs} +1 -1
  144. package/fesm2015/yelon-util.mjs.map +1 -0
  145. package/fesm2020/array.mjs +285 -0
  146. package/fesm2020/array.mjs.map +1 -0
  147. package/fesm2020/browser.mjs +260 -0
  148. package/fesm2020/browser.mjs.map +1 -0
  149. package/fesm2020/config.mjs +54 -0
  150. package/fesm2020/config.mjs.map +1 -0
  151. package/fesm2020/date-time.mjs +210 -0
  152. package/fesm2020/date-time.mjs.map +1 -0
  153. package/fesm2020/decorator.mjs +121 -0
  154. package/fesm2020/decorator.mjs.map +1 -0
  155. package/fesm2020/form.mjs +118 -0
  156. package/fesm2020/form.mjs.map +1 -0
  157. package/fesm2020/format.mjs +431 -0
  158. package/fesm2020/format.mjs.map +1 -0
  159. package/fesm2020/math.mjs +85 -0
  160. package/fesm2020/math.mjs.map +1 -0
  161. package/fesm2020/other.mjs +303 -0
  162. package/fesm2020/other.mjs.map +1 -0
  163. package/fesm2020/pipe-currency.mjs +94 -0
  164. package/fesm2020/pipe-currency.mjs.map +1 -0
  165. package/fesm2020/pipe-filter.mjs +40 -0
  166. package/fesm2020/pipe-filter.mjs.map +1 -0
  167. package/fesm2020/pipe-format.mjs +55 -0
  168. package/fesm2020/pipe-format.mjs.map +1 -0
  169. package/fesm2020/pipes.mjs +8 -0
  170. package/fesm2020/pipes.mjs.map +1 -0
  171. package/fesm2020/token.mjs +38 -0
  172. package/fesm2020/token.mjs.map +1 -0
  173. package/fesm2020/yelon-util.mjs +16 -0
  174. package/fesm2020/yelon-util.mjs.map +1 -0
  175. package/{array/yelon-util-array.d.ts → form/form.d.ts} +1 -0
  176. package/form/package.json +6 -7
  177. package/format/currency.service.d.ts +3 -0
  178. package/format/format.d.ts +5 -0
  179. package/format/package.json +6 -7
  180. package/{config/yelon-util-config.d.ts → math/math.d.ts} +1 -0
  181. package/math/package.json +6 -7
  182. package/other/lazy.service.d.ts +3 -0
  183. package/{decorator/yelon-util-decorator.d.ts → other/other.d.ts} +1 -0
  184. package/other/package.json +6 -7
  185. package/package.json +132 -8
  186. package/pipes/currency/cny.pipe.d.ts +3 -0
  187. package/pipes/currency/index.d.ts +1 -0
  188. package/pipes/currency/mega.pipe.d.ts +3 -0
  189. package/pipes/currency/module.d.ts +7 -0
  190. package/pipes/currency/package.json +6 -7
  191. package/pipes/currency/pipe-currency.d.ts +5 -0
  192. package/pipes/currency/price.pipe.d.ts +3 -0
  193. package/pipes/filter/filter.pipe.d.ts +3 -0
  194. package/pipes/filter/module.d.ts +5 -0
  195. package/pipes/filter/package.json +6 -7
  196. package/pipes/filter/pipe-filter.d.ts +5 -0
  197. package/pipes/format/mask.pipe.d.ts +3 -0
  198. package/pipes/format/module.d.ts +5 -0
  199. package/pipes/format/package.json +6 -7
  200. package/pipes/format/pipe-format.d.ts +5 -0
  201. package/pipes/package.json +6 -7
  202. package/pipes/pipes.d.ts +5 -0
  203. package/token/package.json +6 -7
  204. package/token/token.d.ts +5 -0
  205. package/yelon-util.d.ts +1 -0
  206. package/array/yelon-util-array.metadata.json +0 -1
  207. package/browser/browser.metadata.json +0 -1
  208. package/bundles/browser.umd.js +0 -325
  209. package/bundles/browser.umd.js.map +0 -1
  210. package/bundles/yelon-util-array.umd.js +0 -641
  211. package/bundles/yelon-util-array.umd.js.map +0 -1
  212. package/bundles/yelon-util-config.umd.js +0 -411
  213. package/bundles/yelon-util-config.umd.js.map +0 -1
  214. package/bundles/yelon-util-date-time.umd.js +0 -238
  215. package/bundles/yelon-util-date-time.umd.js.map +0 -1
  216. package/bundles/yelon-util-decorator.umd.js +0 -462
  217. package/bundles/yelon-util-decorator.umd.js.map +0 -1
  218. package/bundles/yelon-util-form.umd.js +0 -135
  219. package/bundles/yelon-util-form.umd.js.map +0 -1
  220. package/bundles/yelon-util-format.umd.js +0 -785
  221. package/bundles/yelon-util-format.umd.js.map +0 -1
  222. package/bundles/yelon-util-math.umd.js +0 -104
  223. package/bundles/yelon-util-math.umd.js.map +0 -1
  224. package/bundles/yelon-util-other.umd.js +0 -733
  225. package/bundles/yelon-util-other.umd.js.map +0 -1
  226. package/bundles/yelon-util-pipes-currency.umd.js +0 -108
  227. package/bundles/yelon-util-pipes-currency.umd.js.map +0 -1
  228. package/bundles/yelon-util-pipes-filter.umd.js +0 -374
  229. package/bundles/yelon-util-pipes-filter.umd.js.map +0 -1
  230. package/bundles/yelon-util-pipes-format.umd.js +0 -66
  231. package/bundles/yelon-util-pipes-format.umd.js.map +0 -1
  232. package/bundles/yelon-util-pipes.umd.js +0 -38
  233. package/bundles/yelon-util-pipes.umd.js.map +0 -1
  234. package/bundles/yelon-util-token.umd.js +0 -49
  235. package/bundles/yelon-util-token.umd.js.map +0 -1
  236. package/bundles/yelon-util.umd.js +0 -86
  237. package/bundles/yelon-util.umd.js.map +0 -1
  238. package/config/yelon-util-config.metadata.json +0 -1
  239. package/date-time/yelon-util-date-time.metadata.json +0 -1
  240. package/decorator/yelon-util-decorator.metadata.json +0 -1
  241. package/esm2015/array/array.service.js +0 -250
  242. package/esm2015/browser/cookie.service.js +0 -104
  243. package/esm2015/browser/copy.js +0 -27
  244. package/esm2015/browser/scroll.service.js +0 -89
  245. package/esm2015/config/config.service.js +0 -34
  246. package/esm2015/config/yelon-util-config.js +0 -5
  247. package/esm2015/date-time/picker.js +0 -116
  248. package/esm2015/date-time/yelon-util-date-time.js +0 -5
  249. package/esm2015/decorator/convert.js +0 -56
  250. package/esm2015/decorator/yelon-util-decorator.js +0 -5
  251. package/esm2015/decorator/zone-outside.js +0 -55
  252. package/esm2015/form/yelon-util-form.js +0 -5
  253. package/esm2015/format/currency.service.js +0 -225
  254. package/esm2015/format/string.js +0 -76
  255. package/esm2015/format/yelon-util-format.js +0 -5
  256. package/esm2015/math/yelon-util-math.js +0 -5
  257. package/esm2015/other/lazy.service.js +0 -118
  258. package/esm2015/pipes/currency/cny.pipe.js +0 -22
  259. package/esm2015/pipes/currency/mega.pipe.js +0 -26
  260. package/esm2015/pipes/currency/module.js +0 -14
  261. package/esm2015/pipes/currency/price.pipe.js +0 -26
  262. package/esm2015/pipes/currency/yelon-util-pipes-currency.js +0 -6
  263. package/esm2015/pipes/filter/filter.pipe.js +0 -15
  264. package/esm2015/pipes/filter/module.js +0 -12
  265. package/esm2015/pipes/filter/yelon-util-pipes-filter.js +0 -5
  266. package/esm2015/pipes/format/mask.pipe.js +0 -30
  267. package/esm2015/pipes/format/module.js +0 -12
  268. package/esm2015/pipes/format/yelon-util-pipes-format.js +0 -5
  269. package/esm2015/pipes/yelon-util-pipes.js +0 -5
  270. package/esm2015/token/yelon-util-token.js +0 -5
  271. package/fesm2015/browser.js.map +0 -1
  272. package/fesm2015/yelon-util-array.js.map +0 -1
  273. package/fesm2015/yelon-util-config.js.map +0 -1
  274. package/fesm2015/yelon-util-date-time.js.map +0 -1
  275. package/fesm2015/yelon-util-decorator.js.map +0 -1
  276. package/fesm2015/yelon-util-form.js.map +0 -1
  277. package/fesm2015/yelon-util-format.js.map +0 -1
  278. package/fesm2015/yelon-util-math.js.map +0 -1
  279. package/fesm2015/yelon-util-other.js.map +0 -1
  280. package/fesm2015/yelon-util-pipes-currency.js +0 -87
  281. package/fesm2015/yelon-util-pipes-currency.js.map +0 -1
  282. package/fesm2015/yelon-util-pipes-filter.js +0 -32
  283. package/fesm2015/yelon-util-pipes-filter.js.map +0 -1
  284. package/fesm2015/yelon-util-pipes-format.js +0 -47
  285. package/fesm2015/yelon-util-pipes-format.js.map +0 -1
  286. package/fesm2015/yelon-util-pipes.js.map +0 -1
  287. package/fesm2015/yelon-util-token.js.map +0 -1
  288. package/fesm2015/yelon-util.js.map +0 -1
  289. package/form/yelon-util-form.d.ts +0 -4
  290. package/form/yelon-util-form.metadata.json +0 -1
  291. package/format/yelon-util-format.d.ts +0 -4
  292. package/format/yelon-util-format.metadata.json +0 -1
  293. package/math/yelon-util-math.d.ts +0 -4
  294. package/math/yelon-util-math.metadata.json +0 -1
  295. package/other/yelon-util-other.d.ts +0 -4
  296. package/other/yelon-util-other.metadata.json +0 -1
  297. package/pipes/currency/yelon-util-pipes-currency.d.ts +0 -5
  298. package/pipes/currency/yelon-util-pipes-currency.metadata.json +0 -1
  299. package/pipes/filter/yelon-util-pipes-filter.d.ts +0 -4
  300. package/pipes/filter/yelon-util-pipes-filter.metadata.json +0 -1
  301. package/pipes/format/yelon-util-pipes-format.d.ts +0 -4
  302. package/pipes/format/yelon-util-pipes-format.metadata.json +0 -1
  303. package/pipes/yelon-util-pipes.d.ts +0 -4
  304. package/pipes/yelon-util-pipes.metadata.json +0 -1
  305. package/token/yelon-util-token.d.ts +0 -4
  306. package/token/yelon-util-token.metadata.json +0 -1
  307. package/yelon-util.metadata.json +0 -1
@@ -1,325 +0,0 @@
1
- /**
2
- * @license ng-yunzai(devcui@outlook.com) v12.0.19
3
- * (c) 2020 devcui https://github.com/hbyunzai/yelon/
4
- * License: MIT
5
- */
6
- (function (global, factory) {
7
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/cdk/platform'), require('@angular/common'), require('@angular/core')) :
8
- typeof define === 'function' && define.amd ? define('@yelon/util/browser', ['exports', '@angular/cdk/platform', '@angular/common', '@angular/core'], factory) :
9
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.yelon = global.yelon || {}, global.yelon.util = global.yelon.util || {}, global.yelon.util.browser = {}), global.ng.cdk.platform, global.ng.common, global.ng.core));
10
- })(this, (function (exports, i2, i1, i0) { 'use strict';
11
-
12
- function _interopNamespace(e) {
13
- if (e && e.__esModule) return e;
14
- var n = Object.create(null);
15
- if (e) {
16
- Object.keys(e).forEach(function (k) {
17
- if (k !== 'default') {
18
- var d = Object.getOwnPropertyDescriptor(e, k);
19
- Object.defineProperty(n, k, d.get ? d : {
20
- enumerable: true,
21
- get: function () { return e[k]; }
22
- });
23
- }
24
- });
25
- }
26
- n["default"] = e;
27
- return Object.freeze(n);
28
- }
29
-
30
- var i2__namespace = /*#__PURE__*/_interopNamespace(i2);
31
- var i1__namespace = /*#__PURE__*/_interopNamespace(i1);
32
- var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
33
-
34
- /**
35
- * A set of simple Cookie manipulation classes.
36
- *
37
- * 一组简单的 Cookie 操作类。
38
- */
39
- var CookieService = /** @class */ (function () {
40
- function CookieService(_doc, platform) {
41
- this._doc = _doc;
42
- this.platform = platform;
43
- }
44
- Object.defineProperty(CookieService.prototype, "doc", {
45
- get: function () {
46
- return this._doc || document;
47
- },
48
- enumerable: false,
49
- configurable: true
50
- });
51
- Object.defineProperty(CookieService.prototype, "cookie", {
52
- /**
53
- * Original cookie value
54
- *
55
- * 原始Cookie值
56
- */
57
- get: function () {
58
- return this.platform.isBrowser ? this.doc.cookie : '';
59
- },
60
- enumerable: false,
61
- configurable: true
62
- });
63
- /**
64
- * Get all cookie key-value pairs
65
- *
66
- * 获取所有Cookie键值对
67
- */
68
- CookieService.prototype.getAll = function () {
69
- var ret = {};
70
- var arr = this.cookie.split('; ');
71
- for (var i = 0; i < arr.length; i++) {
72
- var cookie = arr[i];
73
- var index = cookie.indexOf('=');
74
- if (index > 0) {
75
- var name = decodeURIComponent(cookie.substring(0, index));
76
- if (ret[name] == null) {
77
- ret[name] = decodeURIComponent(cookie.substring(index + 1));
78
- }
79
- }
80
- }
81
- return ret;
82
- };
83
- /**
84
- * Get the value of given cookie `key`
85
- *
86
- * 获取指定 `key` 的值
87
- */
88
- CookieService.prototype.get = function (key) {
89
- return this.getAll()[key];
90
- };
91
- /**
92
- * Sets a value for given cookie key
93
- *
94
- * 设置指定 Cookie 键的值
95
- */
96
- CookieService.prototype.put = function (key, value, options) {
97
- if (!this.platform.isBrowser) {
98
- return;
99
- }
100
- var opt = Object.assign({ path: '/' }, options);
101
- if (typeof opt.expires === 'number') {
102
- opt.expires = new Date(+new Date() + opt.expires * 1e3);
103
- }
104
- if (typeof opt.expires !== 'string') {
105
- opt.expires = opt.expires ? opt.expires.toUTCString() : '';
106
- }
107
- var optStr = opt;
108
- var attributes = Object.keys(optStr)
109
- .filter(function (k) { return optStr[k] && optStr[k] !== true; })
110
- .map(function (k) { return k + "=" + optStr[k].split(';')[0]; })
111
- .join(';');
112
- this.doc.cookie = encodeURIComponent(String(key)) + "=" + encodeURIComponent(String(value)) + (attributes ? "; " + attributes : '');
113
- };
114
- /**
115
- * Remove given cookie
116
- *
117
- * 移除指定 Cookie
118
- */
119
- CookieService.prototype.remove = function (key, options) {
120
- this.put(key, undefined, options);
121
- };
122
- /**
123
- * Remove all cookies
124
- *
125
- * 移除所有 Cookies
126
- */
127
- CookieService.prototype.removeAll = function () {
128
- this.doc.cookie = '';
129
- };
130
- return CookieService;
131
- }());
132
- CookieService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function CookieService_Factory() { return new CookieService(i0__namespace.ɵɵinject(i1__namespace.DOCUMENT), i0__namespace.ɵɵinject(i2__namespace.Platform)); }, token: CookieService, providedIn: "root" });
133
- CookieService.decorators = [
134
- { type: i0.Injectable, args: [{ providedIn: 'root' },] }
135
- ];
136
- CookieService.ctorParameters = function () { return [
137
- { type: undefined, decorators: [{ type: i0.Inject, args: [i1.DOCUMENT,] }] },
138
- { type: i2.Platform }
139
- ]; };
140
-
141
- /**
142
- * Copy text to clipboard
143
- *
144
- * 复制字符串文档至剪贴板
145
- */
146
- function copy(value) {
147
- return new Promise(function (resolve) {
148
- var copyTextArea = null;
149
- try {
150
- copyTextArea = document.createElement('textarea');
151
- copyTextArea.style.height = '0px';
152
- copyTextArea.style.opacity = '0';
153
- copyTextArea.style.width = '0px';
154
- document.body.appendChild(copyTextArea);
155
- copyTextArea.value = value;
156
- copyTextArea.select();
157
- document.execCommand('copy');
158
- resolve(value);
159
- }
160
- finally {
161
- if (copyTextArea && copyTextArea.parentNode) {
162
- copyTextArea.parentNode.removeChild(copyTextArea);
163
- }
164
- }
165
- });
166
- }
167
-
168
- /**
169
- * Used to verify `<ng-content></ng-content>` is empty, useful for custom components.
170
- *
171
- * 用于校验 `<ng-content></ng-content>` 是否为空,自定义组件时蛮有用。
172
- */
173
- function isEmpty(element) {
174
- var nodes = element.childNodes;
175
- for (var i = 0; i < nodes.length; i++) {
176
- var node = nodes.item(i);
177
- if (node.nodeType === 1 && node.outerHTML.toString().trim().length !== 0) {
178
- return false;
179
- }
180
- else if (node.nodeType === 3 && node.textContent.toString().trim().length !== 0) {
181
- return false;
182
- }
183
- }
184
- return true;
185
- }
186
-
187
- var ScrollService = /** @class */ (function () {
188
- function ScrollService(_doc, platform) {
189
- this._doc = _doc;
190
- this.platform = platform;
191
- }
192
- ScrollService.prototype._getDoc = function () {
193
- return this._doc || document;
194
- };
195
- ScrollService.prototype._getWin = function () {
196
- var doc = this._getDoc();
197
- return doc.defaultView || window;
198
- };
199
- /**
200
- * 获取滚动条位置
201
- *
202
- * @param element 指定元素,默认 `window`
203
- */
204
- ScrollService.prototype.getScrollPosition = function (element) {
205
- if (!this.platform.isBrowser) {
206
- return [0, 0];
207
- }
208
- var win = this._getWin();
209
- if (element && element !== win) {
210
- return [element.scrollLeft, element.scrollTop];
211
- }
212
- else {
213
- return [win.pageXOffset, win.pageYOffset];
214
- }
215
- };
216
- /**
217
- * 设置滚动条位置
218
- *
219
- * @param element 指定元素
220
- */
221
- ScrollService.prototype.scrollToPosition = function (element, position) {
222
- if (!this.platform.isBrowser) {
223
- return;
224
- }
225
- (element || this._getWin()).scrollTo(position[0], position[1]);
226
- };
227
- /**
228
- * 设置滚动条至指定元素
229
- *
230
- * @param element 指定元素,默认 `document.body`
231
- * @param topOffset 偏移值,默认 `0`
232
- */
233
- ScrollService.prototype.scrollToElement = function (element, topOffset) {
234
- if (topOffset === void 0) { topOffset = 0; }
235
- if (!this.platform.isBrowser) {
236
- return;
237
- }
238
- if (!element) {
239
- element = this._getDoc().body;
240
- }
241
- element.scrollIntoView();
242
- var win = this._getWin();
243
- if (win && win.scrollBy) {
244
- win.scrollBy(0, element.getBoundingClientRect().top - topOffset);
245
- if (win.pageYOffset < 20) {
246
- win.scrollBy(0, -win.pageYOffset);
247
- }
248
- }
249
- };
250
- /**
251
- * 滚动至顶部
252
- *
253
- * @param topOffset 偏移值,默认 `0`
254
- */
255
- ScrollService.prototype.scrollToTop = function (topOffset) {
256
- if (topOffset === void 0) { topOffset = 0; }
257
- if (!this.platform.isBrowser) {
258
- return;
259
- }
260
- this.scrollToElement(this._getDoc().body, topOffset);
261
- };
262
- return ScrollService;
263
- }());
264
- ScrollService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function ScrollService_Factory() { return new ScrollService(i0__namespace.ɵɵinject(i1__namespace.DOCUMENT), i0__namespace.ɵɵinject(i2__namespace.Platform)); }, token: ScrollService, providedIn: "root" });
265
- ScrollService.decorators = [
266
- { type: i0.Injectable, args: [{ providedIn: 'root' },] }
267
- ];
268
- ScrollService.ctorParameters = function () { return [
269
- { type: undefined, decorators: [{ type: i0.Inject, args: [i1.DOCUMENT,] }] },
270
- { type: i2.Platform }
271
- ]; };
272
-
273
- function removeClass(el, classMap, renderer) {
274
- Object.keys(classMap).forEach(function (key) { return renderer.removeClass(el, key); });
275
- }
276
- function addClass(el, classMap, renderer) {
277
- for (var i in classMap) {
278
- if (classMap[i]) {
279
- renderer.addClass(el, i);
280
- }
281
- }
282
- }
283
- /**
284
- * Update host component style `class`
285
- *
286
- * 更新宿主组件样式 `class`
287
- *
288
- * ```ts
289
- * updateHostClass(
290
- * this.el.nativeElement,
291
- * this.renderer,
292
- * {
293
- * [ 'classname' ]: true,
294
- * [ 'classname' ]: this.type === '1',
295
- * [ this.cls ]: true,
296
- * [ `a-${this.cls}` ]: true
297
- * })
298
- * ```
299
- */
300
- function updateHostClass(el, renderer, classMap, preClean) {
301
- if (preClean === void 0) { preClean = false; }
302
- if (preClean === true) {
303
- renderer.removeAttribute(el, 'class');
304
- }
305
- else {
306
- removeClass(el, classMap, renderer);
307
- }
308
- classMap = Object.assign({}, classMap);
309
- addClass(el, classMap, renderer);
310
- }
311
-
312
- /**
313
- * Generated bundle index. Do not edit.
314
- */
315
-
316
- exports.CookieService = CookieService;
317
- exports.ScrollService = ScrollService;
318
- exports.copy = copy;
319
- exports.isEmpty = isEmpty;
320
- exports.updateHostClass = updateHostClass;
321
-
322
- Object.defineProperty(exports, '__esModule', { value: true });
323
-
324
- }));
325
- //# sourceMappingURL=browser.umd.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"browser.umd.js","sources":["../../../../packages/util/browser/cookie.service.ts","../../../../packages/util/browser/copy.ts","../../../../packages/util/browser/is-empty.ts","../../../../packages/util/browser/scroll.service.ts","../../../../packages/util/browser/style.ts","../../../../packages/util/browser/browser.ts"],"sourcesContent":["import { Platform } from '@angular/cdk/platform';\nimport { DOCUMENT } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\n\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nexport interface CookieOptions {\n path?: string;\n domain?: string;\n /**\n * Expiration time, `number` is seconds\n *\n * 过期时间,`number` 类型表示秒数\n */\n expires?: number | Date | string;\n secure?: boolean;\n HttpOnly?: boolean;\n SameSite?: boolean | 'lax' | 'strict' | 'none';\n}\n\n/**\n * A set of simple Cookie manipulation classes.\n *\n * 一组简单的 Cookie 操作类。\n */\n@Injectable({ providedIn: 'root' })\nexport class CookieService {\n private get doc(): Document {\n return this._doc || document;\n }\n\n /**\n * Original cookie value\n *\n * 原始Cookie值\n */\n get cookie(): string {\n return this.platform.isBrowser ? this.doc.cookie : '';\n }\n\n constructor(@Inject(DOCUMENT) private _doc: NzSafeAny, private platform: Platform) {}\n\n /**\n * Get all cookie key-value pairs\n *\n * 获取所有Cookie键值对\n */\n getAll(): { [key: string]: string } {\n const ret: { [key: string]: string } = {};\n const arr = this.cookie.split('; ');\n for (let i = 0; i < arr.length; i++) {\n const cookie = arr[i];\n const index = cookie.indexOf('=');\n if (index > 0) {\n const name = decodeURIComponent(cookie.substring(0, index));\n if (ret[name] == null) {\n ret[name] = decodeURIComponent(cookie.substring(index + 1));\n }\n }\n }\n return ret;\n }\n\n /**\n * Get the value of given cookie `key`\n *\n * 获取指定 `key` 的值\n */\n get(key: string): string | undefined {\n return this.getAll()[key];\n }\n\n /**\n * Sets a value for given cookie key\n *\n * 设置指定 Cookie 键的值\n */\n put(key: string, value: string | undefined, options?: CookieOptions): void {\n if (!this.platform.isBrowser) {\n return;\n }\n const opt = { path: '/', ...options };\n if (typeof opt.expires === 'number') {\n opt.expires = new Date(+new Date() + opt.expires * 1e3);\n }\n if (typeof opt.expires !== 'string') {\n opt.expires = opt.expires ? opt.expires.toUTCString() : '';\n }\n const optStr: { [key: string]: string | boolean } = opt as NzSafeAny;\n const attributes = Object.keys(optStr)\n .filter(k => optStr[k] && optStr[k] !== true)\n .map(k => `${k}=${(optStr[k] as string).split(';')[0]}`)\n .join(';');\n this.doc.cookie = `${encodeURIComponent(String(key))}=${encodeURIComponent(String(value))}${\n attributes ? `; ${attributes}` : ''\n }`;\n }\n\n /**\n * Remove given cookie\n *\n * 移除指定 Cookie\n */\n remove(key: string, options?: CookieOptions): void {\n this.put(key, undefined, options);\n }\n\n /**\n * Remove all cookies\n *\n * 移除所有 Cookies\n */\n removeAll(): void {\n this.doc.cookie = '';\n }\n}\n","/**\n * Copy text to clipboard\n *\n * 复制字符串文档至剪贴板\n */\nexport function copy(value: string): Promise<string> {\n return new Promise<string>((resolve): void => {\n let copyTextArea: HTMLTextAreaElement | null = null;\n try {\n copyTextArea = document.createElement('textarea');\n copyTextArea.style.height = '0px';\n copyTextArea.style.opacity = '0';\n copyTextArea.style.width = '0px';\n document.body.appendChild(copyTextArea);\n copyTextArea.value = value;\n copyTextArea.select();\n document.execCommand('copy');\n resolve(value);\n } finally {\n if (copyTextArea && copyTextArea.parentNode) {\n copyTextArea.parentNode.removeChild(copyTextArea);\n }\n }\n });\n}\n","/**\n * Used to verify `<ng-content></ng-content>` is empty, useful for custom components.\n *\n * 用于校验 `<ng-content></ng-content>` 是否为空,自定义组件时蛮有用。\n */\nexport function isEmpty(element: HTMLElement): boolean {\n const nodes = element.childNodes;\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes.item(i);\n if (node.nodeType === 1 && (node as HTMLElement).outerHTML.toString().trim().length !== 0) {\n return false;\n } else if (node.nodeType === 3 && node.textContent!.toString().trim().length !== 0) {\n return false;\n }\n }\n return true;\n}\n","import { Platform } from '@angular/cdk/platform';\nimport { DOCUMENT } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\n\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\n@Injectable({ providedIn: 'root' })\nexport class ScrollService {\n private _getDoc(): Document {\n return this._doc || document;\n }\n\n private _getWin(): Window {\n const doc = this._getDoc();\n return doc.defaultView || window;\n }\n\n constructor(@Inject(DOCUMENT) private _doc: NzSafeAny, private platform: Platform) {}\n\n /**\n * 获取滚动条位置\n *\n * @param element 指定元素,默认 `window`\n */\n getScrollPosition(element?: Element | Window): [number, number] {\n if (!this.platform.isBrowser) {\n return [0, 0];\n }\n\n const win = this._getWin();\n if (element && element !== win) {\n return [(element as Element).scrollLeft, (element as Element).scrollTop];\n } else {\n return [win.pageXOffset, win.pageYOffset];\n }\n }\n\n /**\n * 设置滚动条位置\n *\n * @param element 指定元素\n */\n scrollToPosition(element: Element | Window | null | undefined, position: [number, number]): void {\n if (!this.platform.isBrowser) {\n return;\n }\n (element || this._getWin()).scrollTo(position[0], position[1]);\n }\n\n /**\n * 设置滚动条至指定元素\n *\n * @param element 指定元素,默认 `document.body`\n * @param topOffset 偏移值,默认 `0`\n */\n scrollToElement(element?: Element | null, topOffset: number = 0): void {\n if (!this.platform.isBrowser) {\n return;\n }\n if (!element) {\n element = this._getDoc().body;\n }\n\n element.scrollIntoView();\n\n const win = this._getWin();\n if (win && win.scrollBy) {\n win.scrollBy(0, element!.getBoundingClientRect().top - topOffset);\n\n if (win.pageYOffset < 20) {\n win.scrollBy(0, -win.pageYOffset);\n }\n }\n }\n\n /**\n * 滚动至顶部\n *\n * @param topOffset 偏移值,默认 `0`\n */\n scrollToTop(topOffset: number = 0): void {\n if (!this.platform.isBrowser) {\n return;\n }\n this.scrollToElement(this._getDoc().body, topOffset);\n }\n}\n","import { Renderer2 } from '@angular/core';\n\nfunction removeClass(el: HTMLElement, classMap: { [klass: string]: unknown }, renderer: Renderer2): void {\n Object.keys(classMap).forEach(key => renderer.removeClass(el, key));\n}\n\nfunction addClass(el: HTMLElement, classMap: { [klass: string]: unknown }, renderer: Renderer2): void {\n for (const i in classMap) {\n if (classMap[i]) {\n renderer.addClass(el, i);\n }\n }\n}\n\n/**\n * Update host component style `class`\n *\n * 更新宿主组件样式 `class`\n *\n * ```ts\n * updateHostClass(\n * this.el.nativeElement,\n * this.renderer,\n * {\n * [ 'classname' ]: true,\n * [ 'classname' ]: this.type === '1',\n * [ this.cls ]: true,\n * [ `a-${this.cls}` ]: true\n * })\n * ```\n */\nexport function updateHostClass(\n el: HTMLElement,\n renderer: Renderer2,\n classMap: { [klass: string]: unknown },\n preClean: boolean = false\n): void {\n if (preClean === true) {\n renderer.removeAttribute(el, 'class');\n } else {\n removeClass(el, classMap, renderer);\n }\n classMap = { ...classMap };\n addClass(el, classMap, renderer);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["Injectable","Inject","DOCUMENT","Platform"],"mappings":"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"}