cty-mui-core 1.0.37 → 1.0.39

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 (400) hide show
  1. package/components/audio-recorder.js +27 -0
  2. package/components/camera.js +128 -30
  3. package/components/circle.js +3 -3
  4. package/components/crop-image.js +1 -1
  5. package/components/cty-camera-photo.js +112 -37
  6. package/components/cty-canvas-board.js +1 -1
  7. package/components/cty-canvas-video.js +1 -1
  8. package/components/cty-cascader-view.js +3 -3
  9. package/components/cty-cascader.js +1 -1
  10. package/components/cty-count-down.js +2 -2
  11. package/components/cty-dropdown.js +4 -4
  12. package/components/cty-empty.js +1 -1
  13. package/components/cty-floating-bubble.js +1 -1
  14. package/components/cty-floating-panel.js +4 -4
  15. package/components/cty-image-upload.js +1 -1
  16. package/components/cty-index-bar.js +2 -2
  17. package/components/cty-keyboard.js +1 -1
  18. package/components/cty-loading.js +1 -1
  19. package/components/cty-media-capture.js +56 -4
  20. package/components/cty-notice-bar.js +1 -1
  21. package/components/cty-pdf-viewer.js +1 -1
  22. package/components/cty-permission-alert.d.ts +11 -0
  23. package/components/cty-permission-alert.js +6 -0
  24. package/components/cty-progress.js +1 -1
  25. package/components/cty-quick-access.js +1 -1
  26. package/components/cty-rate.js +1 -1
  27. package/components/cty-record.js +66 -9
  28. package/components/cty-segment-slides.js +1 -1
  29. package/components/cty-selector.js +1 -1
  30. package/components/cty-share-sheet.js +1 -1
  31. package/components/cty-side-panel.js +1 -1
  32. package/components/cty-stepper.js +10 -2
  33. package/components/cty-steps.js +1 -1
  34. package/components/cty-text-ellipsis.js +2 -2
  35. package/components/cty-title-bar.js +1 -1
  36. package/components/cty-tour.js +4 -4
  37. package/components/cty-tutorial.js +1 -1
  38. package/components/cty-video.js +2 -2
  39. package/components/cty-virtual-list.js +12 -7
  40. package/components/divider.js +2 -2
  41. package/components/icon.js +1 -1
  42. package/components/image-picker.js +69 -5
  43. package/components/image-viewer.js +10 -5
  44. package/components/index.js +65 -2
  45. package/components/nav-bar.js +1 -1
  46. package/components/overlay.js +1 -1
  47. package/components/permission-alert.js +84 -0
  48. package/components/permission-purpose.js +1 -1
  49. package/components/swipe-item.js +2 -2
  50. package/components/swipe.js +1 -1
  51. package/components/swiper.js +5 -1
  52. package/components/video-capture.js +28 -1
  53. package/dist/cjs/{audio-recorder-ChGIymnF.js → audio-recorder-D3rqlSLq.js} +27 -0
  54. package/dist/cjs/{camera-preview-CTbXcOZK.js → camera-preview-BylkRIcS.js} +29 -2
  55. package/dist/cjs/cty-alert_2.cjs.entry.js +26 -67
  56. package/dist/cjs/cty-camera-photo.cjs.entry.js +59 -8
  57. package/dist/cjs/cty-camera_2.cjs.entry.js +83 -11
  58. package/dist/cjs/cty-canvas-board.cjs.entry.js +1 -1
  59. package/dist/cjs/cty-canvas-video.cjs.entry.js +1 -1
  60. package/dist/cjs/cty-cascader-view.cjs.entry.js +3 -3
  61. package/dist/cjs/cty-cascader.cjs.entry.js +1 -1
  62. package/dist/cjs/cty-circle.cjs.entry.js +82 -0
  63. package/dist/cjs/cty-count-down.cjs.entry.js +2 -2
  64. package/dist/cjs/cty-divider.cjs.entry.js +2 -2
  65. package/dist/cjs/cty-dropdown.cjs.entry.js +4 -4
  66. package/dist/cjs/cty-empty.cjs.entry.js +1 -1
  67. package/dist/cjs/cty-floating-bubble.cjs.entry.js +1 -1
  68. package/dist/cjs/cty-floating-panel.cjs.entry.js +4 -4
  69. package/dist/cjs/cty-icon.cjs.entry.js +1 -1
  70. package/dist/cjs/cty-image-upload.cjs.entry.js +1 -1
  71. package/dist/cjs/cty-image-viewer_6.cjs.entry.js +15 -7
  72. package/dist/cjs/cty-index-bar.cjs.entry.js +2 -2
  73. package/dist/cjs/cty-keyboard.cjs.entry.js +1 -1
  74. package/dist/cjs/cty-loading.cjs.entry.js +1 -1
  75. package/dist/cjs/cty-media-capture.cjs.entry.js +33 -3
  76. package/dist/cjs/cty-mui.cjs.js +1 -1
  77. package/dist/cjs/cty-notice-bar.cjs.entry.js +1 -1
  78. package/dist/cjs/cty-overlay.cjs.entry.js +1 -1
  79. package/dist/cjs/cty-pdf-viewer.cjs.entry.js +1 -1
  80. package/dist/cjs/cty-permission-purpose.cjs.entry.js +1 -1
  81. package/dist/cjs/cty-progress.cjs.entry.js +1 -1
  82. package/dist/cjs/cty-quick-access.cjs.entry.js +1 -1
  83. package/dist/cjs/cty-rate.cjs.entry.js +1 -1
  84. package/dist/cjs/cty-record.cjs.entry.js +49 -2
  85. package/dist/cjs/cty-segment-slides.cjs.entry.js +1 -1
  86. package/dist/cjs/cty-selector.cjs.entry.js +1 -1
  87. package/dist/cjs/cty-share-sheet.cjs.entry.js +1 -1
  88. package/dist/cjs/cty-side-panel.cjs.entry.js +1 -1
  89. package/dist/cjs/cty-stepper.cjs.entry.js +9 -2
  90. package/dist/cjs/cty-steps.cjs.entry.js +1 -1
  91. package/dist/cjs/cty-swipe_2.cjs.entry.js +3 -3
  92. package/dist/cjs/cty-text-ellipsis.cjs.entry.js +2 -2
  93. package/dist/cjs/cty-title-bar.cjs.entry.js +1 -1
  94. package/dist/cjs/cty-tour.cjs.entry.js +4 -4
  95. package/dist/cjs/cty-tutorial.cjs.entry.js +1 -1
  96. package/dist/cjs/cty-video.cjs.entry.js +2 -2
  97. package/dist/cjs/cty-virtual-list.cjs.entry.js +11 -7
  98. package/dist/cjs/{image-picker-BoG8_gzp.js → image-picker-C9sdhsR_.js} +40 -3
  99. package/dist/cjs/index.cjs.js +68 -4
  100. package/dist/cjs/loader.cjs.js +1 -1
  101. package/dist/cjs/{video-capture-C-HjTI17.js → video-capture-BO4sLa1e.js} +28 -1
  102. package/dist/collection/collection-manifest.json +1 -0
  103. package/dist/collection/components/camera/camera.js +188 -9
  104. package/dist/collection/components/camera-photo/camera-photo.js +126 -8
  105. package/dist/collection/components/canvas-board/canvas-board.js +1 -1
  106. package/dist/collection/components/canvas-video/canvas-video.js +1 -1
  107. package/dist/collection/components/cascader/cascader.js +1 -1
  108. package/dist/collection/components/cascader-view/cascader-view.js +3 -3
  109. package/dist/collection/components/circle/circle.js +3 -3
  110. package/dist/collection/components/count-down/count-down.js +2 -2
  111. package/dist/collection/components/crop-image/crop-image.js +1 -1
  112. package/dist/collection/components/divider/divider.js +2 -2
  113. package/dist/collection/components/dropdown/dropdown.js +4 -4
  114. package/dist/collection/components/empty/empty.js +1 -1
  115. package/dist/collection/components/floating-bubble/floating-bubble.js +1 -1
  116. package/dist/collection/components/floating-panel/floating-panel.css +1 -0
  117. package/dist/collection/components/floating-panel/floating-panel.js +3 -3
  118. package/dist/collection/components/icon/icon.js +1 -1
  119. package/dist/collection/components/image-upload/image-upload.js +1 -1
  120. package/dist/collection/components/image-viewer/image-viewer.css +139 -2
  121. package/dist/collection/components/image-viewer/image-viewer.js +10 -5
  122. package/dist/collection/components/index-bar/index-bar.js +2 -2
  123. package/dist/collection/components/keyboard/keyboard.js +1 -1
  124. package/dist/collection/components/loading/loading.js +1 -1
  125. package/dist/collection/components/media-capture/media-capture.js +98 -3
  126. package/dist/collection/components/nav-bar/nav-bar.js +1 -1
  127. package/dist/collection/components/notice-bar/notice-bar.js +1 -1
  128. package/dist/collection/components/overlay/overlay.js +1 -1
  129. package/dist/collection/components/pdf-viewer/pdf-viewer.js +1 -1
  130. package/dist/collection/components/permission-alert/permission-alert.css +57 -0
  131. package/dist/collection/components/permission-alert/permission-alert.js +196 -0
  132. package/dist/collection/components/permission-purpose/permission-purpose.js +1 -1
  133. package/dist/collection/components/progress/progress.js +1 -1
  134. package/dist/collection/components/quick-access/quick-access.js +1 -1
  135. package/dist/collection/components/rate/rate.js +1 -1
  136. package/dist/collection/components/record/record.js +113 -1
  137. package/dist/collection/components/segment-slides/segment-slides.js +1 -1
  138. package/dist/collection/components/selector/selector.js +1 -1
  139. package/dist/collection/components/share-sheet/share-sheet.js +1 -1
  140. package/dist/collection/components/side-panel/side-panel.js +1 -1
  141. package/dist/collection/components/stepper/stepper.css +5 -2
  142. package/dist/collection/components/stepper/stepper.js +32 -1
  143. package/dist/collection/components/steps/steps.js +1 -1
  144. package/dist/collection/components/swipe/swipe.js +1 -1
  145. package/dist/collection/components/swipe-item/swipe-item.js +2 -2
  146. package/dist/collection/components/swiper/swiper.js +5 -1
  147. package/dist/collection/components/text-ellipsis/text-ellipsis.js +2 -2
  148. package/dist/collection/components/title-bar/title-bar.js +1 -1
  149. package/dist/collection/components/tour/tour.js +4 -4
  150. package/dist/collection/components/tutorial/tutorial.js +1 -1
  151. package/dist/collection/components/video/video.js +2 -2
  152. package/dist/collection/components/virtual-list/virtual-list.css +2 -5
  153. package/dist/collection/components/virtual-list/virtual-list.js +33 -6
  154. package/dist/collection/index.js +1 -0
  155. package/dist/collection/utils/native/audio-recorder.js +27 -0
  156. package/dist/collection/utils/native/camera-preview.js +29 -2
  157. package/dist/collection/utils/native/image-picker.js +40 -3
  158. package/dist/collection/utils/native/media-editor.js +62 -0
  159. package/dist/collection/utils/native/video-capture.js +28 -1
  160. package/dist/cty-mui/cty-mui.esm.js +1 -1
  161. package/dist/cty-mui/index.esm.js +1 -1
  162. package/dist/cty-mui/{p-a586fcb6.entry.js → p-005c9f17.entry.js} +1 -1
  163. package/dist/cty-mui/{p-9ba0f75c.entry.js → p-01a57e66.entry.js} +1 -1
  164. package/dist/cty-mui/{p-a8ada422.system.entry.js → p-0c4881aa.system.entry.js} +1 -1
  165. package/dist/cty-mui/{p-587210af.system.entry.js → p-1a3bf306.system.entry.js} +1 -1
  166. package/dist/cty-mui/{p-4f60b693.entry.js → p-1aca5f5b.entry.js} +1 -1
  167. package/dist/cty-mui/{p-475efd63.entry.js → p-1e4ee703.entry.js} +1 -1
  168. package/dist/cty-mui/{p-afc54cf3.entry.js → p-2005bf43.entry.js} +1 -1
  169. package/dist/cty-mui/{p-90f8d468.system.entry.js → p-20ce6b1f.system.entry.js} +1 -1
  170. package/dist/cty-mui/{p-c91ca631.system.entry.js → p-216d0332.system.entry.js} +1 -1
  171. package/dist/cty-mui/{p-e66d35a9.system.entry.js → p-222b8c9f.system.entry.js} +1 -1
  172. package/dist/cty-mui/{p-5ea1965a.system.entry.js → p-2236e06d.system.entry.js} +1 -1
  173. package/dist/cty-mui/p-27e63575.entry.js +1 -0
  174. package/dist/cty-mui/{p-ff973e68.system.entry.js → p-2b46cac8.system.entry.js} +1 -1
  175. package/dist/cty-mui/{p-d74dbc79.system.entry.js → p-398dc564.system.entry.js} +1 -1
  176. package/dist/cty-mui/{p-d62ba819.system.entry.js → p-3f47c7cc.system.entry.js} +1 -1
  177. package/dist/cty-mui/{p-8bfd28fc.entry.js → p-3fdb16af.entry.js} +1 -1
  178. package/dist/cty-mui/{p-2b0dc5e3.entry.js → p-4113a97c.entry.js} +1 -1
  179. package/dist/cty-mui/{p-49341ac0.system.entry.js → p-4377a67a.system.entry.js} +1 -1
  180. package/dist/cty-mui/{p-a5537cb3.system.entry.js → p-44748654.system.entry.js} +1 -1
  181. package/dist/cty-mui/p-46c45956.system.entry.js +1 -0
  182. package/dist/cty-mui/{p-f9f7ee85.entry.js → p-49712aa2.entry.js} +1 -1
  183. package/dist/cty-mui/{p-4890b69c.system.entry.js → p-49a6a0d2.system.entry.js} +1 -1
  184. package/dist/cty-mui/{p-5645d522.system.entry.js → p-4f53841f.system.entry.js} +1 -1
  185. package/dist/cty-mui/{p-b1f6e59c.entry.js → p-5087335d.entry.js} +1 -1
  186. package/dist/cty-mui/{p-d4915a3a.system.entry.js → p-520f708a.system.entry.js} +1 -1
  187. package/dist/cty-mui/p-5d4ba642.system.entry.js +1 -0
  188. package/dist/cty-mui/{p-ad85921c.entry.js → p-5d57fcbf.entry.js} +1 -1
  189. package/dist/cty-mui/{p-9d07466a.system.entry.js → p-5ec43731.system.entry.js} +1 -1
  190. package/dist/cty-mui/p-608ba84c.entry.js +1 -0
  191. package/dist/cty-mui/{p-cdee2447.system.entry.js → p-6179c262.system.entry.js} +1 -1
  192. package/dist/cty-mui/{p-55a730c1.system.entry.js → p-685dc602.system.entry.js} +1 -1
  193. package/dist/cty-mui/{p-5d59f92f.system.entry.js → p-688e3d13.system.entry.js} +1 -1
  194. package/dist/cty-mui/{p-7530dbf4.entry.js → p-6a2cde81.entry.js} +1 -1
  195. package/dist/cty-mui/{p-f4775bbd.system.entry.js → p-6acaf6b0.system.entry.js} +1 -1
  196. package/dist/cty-mui/p-6b00dff7.system.entry.js +1 -0
  197. package/dist/cty-mui/{p-3e894981.entry.js → p-6b90bc73.entry.js} +1 -1
  198. package/dist/cty-mui/p-6ff6ece0.entry.js +1 -0
  199. package/dist/cty-mui/{p-5029b2d1.entry.js → p-7067cc1e.entry.js} +1 -1
  200. package/dist/cty-mui/{p-a02134a3.entry.js → p-738694f5.entry.js} +1 -1
  201. package/dist/cty-mui/{p-c36ad14e.entry.js → p-79c493eb.entry.js} +1 -1
  202. package/dist/cty-mui/p-81a6cd2f.system.entry.js +1 -0
  203. package/dist/cty-mui/{p-019cfadb.entry.js → p-83b3627e.entry.js} +1 -1
  204. package/dist/cty-mui/p-83e63668.entry.js +1 -0
  205. package/dist/cty-mui/p-85a69c15.entry.js +1 -0
  206. package/dist/cty-mui/{p-edc23b12.system.entry.js → p-86fc18c6.system.entry.js} +1 -1
  207. package/dist/cty-mui/{p-71a51c66.system.entry.js → p-88f257ae.system.entry.js} +1 -1
  208. package/dist/cty-mui/p-8a3f8bbc.system.entry.js +1 -0
  209. package/dist/cty-mui/{p-844ef4f2.system.entry.js → p-933ae9d4.system.entry.js} +1 -1
  210. package/dist/cty-mui/{p-c2833f8f.entry.js → p-9a3a8e96.entry.js} +1 -1
  211. package/dist/cty-mui/p-B0tecevi.system.js +1 -0
  212. package/dist/cty-mui/p-BR2ny4zu.system.js +1 -0
  213. package/dist/cty-mui/p-Bkucjxe0.js +1 -0
  214. package/dist/cty-mui/p-Bntx5BKz.js +1 -0
  215. package/dist/cty-mui/p-CElxzE6f.system.js +1 -0
  216. package/dist/cty-mui/p-CPg00410.system.js +1 -0
  217. package/dist/cty-mui/p-CeJSms5W.js +1 -0
  218. package/dist/cty-mui/p-Cegbc1c7.system.js +1 -1
  219. package/dist/cty-mui/p-CnG0E7wf.js +1 -0
  220. package/dist/cty-mui/p-D5J8bYlQ.system.js +1 -0
  221. package/dist/cty-mui/{p-2518352c.system.entry.js → p-a0390733.system.entry.js} +1 -1
  222. package/dist/cty-mui/{p-36619007.entry.js → p-a0aec994.entry.js} +1 -1
  223. package/dist/cty-mui/{p-5528eb5e.entry.js → p-a2a4f620.entry.js} +1 -1
  224. package/dist/cty-mui/p-a337c7a9.system.entry.js +1 -0
  225. package/dist/cty-mui/{p-b00db557.system.entry.js → p-a68cdc7f.system.entry.js} +1 -1
  226. package/dist/cty-mui/{p-215219ca.entry.js → p-a77a236d.entry.js} +1 -1
  227. package/dist/cty-mui/{p-14d54127.system.entry.js → p-ae133756.system.entry.js} +1 -1
  228. package/dist/cty-mui/p-aeb79634.entry.js +1 -0
  229. package/dist/cty-mui/p-b295f647.entry.js +1 -0
  230. package/dist/cty-mui/{p-df2367ca.system.entry.js → p-b4ad5f38.system.entry.js} +1 -1
  231. package/dist/cty-mui/{p-99ce288e.entry.js → p-b6dfc8cc.entry.js} +1 -1
  232. package/dist/cty-mui/{p-97d899b3.entry.js → p-b8350f6b.entry.js} +1 -1
  233. package/dist/cty-mui/p-bfcd0ee8.entry.js +1 -0
  234. package/dist/cty-mui/{p-d0c16dfb.system.entry.js → p-c997e644.system.entry.js} +1 -1
  235. package/dist/cty-mui/{p-a88f7145.system.entry.js → p-cb2be37d.system.entry.js} +1 -1
  236. package/dist/cty-mui/p-ccc21f2e.entry.js +1 -0
  237. package/dist/cty-mui/{p-a4ec9006.entry.js → p-cd172ce5.entry.js} +1 -1
  238. package/dist/cty-mui/{p-ddd7a69a.system.entry.js → p-d030a500.system.entry.js} +1 -1
  239. package/dist/cty-mui/{p-d390049b.system.entry.js → p-d418bc6c.system.entry.js} +1 -1
  240. package/dist/cty-mui/{p-bd9c8e43.entry.js → p-d80da6a9.entry.js} +1 -1
  241. package/dist/cty-mui/{p-d94cdb9d.entry.js → p-d91dd1fd.entry.js} +1 -1
  242. package/dist/cty-mui/{p-3080e6c5.entry.js → p-d99e0f79.entry.js} +1 -1
  243. package/dist/cty-mui/{p-9cf3001f.system.entry.js → p-dd267090.system.entry.js} +1 -1
  244. package/dist/cty-mui/{p-3c8e24c4.system.entry.js → p-e0177323.system.entry.js} +1 -1
  245. package/dist/cty-mui/{p-b0056ff5.entry.js → p-e0bc62cf.entry.js} +1 -1
  246. package/dist/cty-mui/{p-cbd8842f.system.entry.js → p-e2ce5d7f.system.entry.js} +1 -1
  247. package/dist/cty-mui/{p-5a33becc.entry.js → p-e3653feb.entry.js} +1 -1
  248. package/dist/cty-mui/p-e3b5c1fc.system.entry.js +4 -0
  249. package/dist/cty-mui/{p-e55ab7ee.entry.js → p-e8f1c2e2.entry.js} +1 -1
  250. package/dist/cty-mui/{p-1c082713.entry.js → p-e92747c2.entry.js} +1 -1
  251. package/dist/cty-mui/{p-8e03fe9c.entry.js → p-ed751d9b.entry.js} +1 -1
  252. package/dist/cty-mui/{p-0e982b61.system.entry.js → p-eff6c534.system.entry.js} +1 -1
  253. package/dist/cty-mui/{p-5524f103.system.entry.js → p-f06ed732.system.entry.js} +1 -1
  254. package/dist/cty-mui/p-f3eca262.entry.js +5 -0
  255. package/dist/cty-mui/p-fbc7fe30.entry.js +1 -0
  256. package/dist/docs.json +780 -45
  257. package/dist/esm/{audio-recorder-CbuBJ-u7.js → audio-recorder-vTQ1Jf9u.js} +27 -0
  258. package/dist/esm/{camera-preview-SS7McUtz.js → camera-preview-Bntx5BKz.js} +29 -2
  259. package/dist/esm/cty-alert_2.entry.js +26 -67
  260. package/dist/esm/cty-camera-photo.entry.js +59 -8
  261. package/dist/esm/cty-camera_2.entry.js +83 -11
  262. package/dist/esm/cty-canvas-board.entry.js +1 -1
  263. package/dist/esm/cty-canvas-video.entry.js +1 -1
  264. package/dist/esm/cty-cascader-view.entry.js +3 -3
  265. package/dist/esm/cty-cascader.entry.js +1 -1
  266. package/dist/esm/cty-circle.entry.js +80 -0
  267. package/dist/esm/cty-count-down.entry.js +2 -2
  268. package/dist/esm/cty-divider.entry.js +2 -2
  269. package/dist/esm/cty-dropdown.entry.js +4 -4
  270. package/dist/esm/cty-empty.entry.js +1 -1
  271. package/dist/esm/cty-floating-bubble.entry.js +1 -1
  272. package/dist/esm/cty-floating-panel.entry.js +4 -4
  273. package/dist/esm/cty-icon.entry.js +1 -1
  274. package/dist/esm/cty-image-upload.entry.js +1 -1
  275. package/dist/esm/cty-image-viewer_6.entry.js +15 -7
  276. package/dist/esm/cty-index-bar.entry.js +2 -2
  277. package/dist/esm/cty-keyboard.entry.js +1 -1
  278. package/dist/esm/cty-loading.entry.js +1 -1
  279. package/dist/esm/cty-media-capture.entry.js +33 -3
  280. package/dist/esm/cty-mui.js +1 -1
  281. package/dist/esm/cty-notice-bar.entry.js +1 -1
  282. package/dist/esm/cty-overlay.entry.js +1 -1
  283. package/dist/esm/cty-pdf-viewer.entry.js +1 -1
  284. package/dist/esm/cty-permission-purpose.entry.js +1 -1
  285. package/dist/esm/cty-progress.entry.js +1 -1
  286. package/dist/esm/cty-quick-access.entry.js +1 -1
  287. package/dist/esm/cty-rate.entry.js +1 -1
  288. package/dist/esm/cty-record.entry.js +49 -2
  289. package/dist/esm/cty-segment-slides.entry.js +1 -1
  290. package/dist/esm/cty-selector.entry.js +1 -1
  291. package/dist/esm/cty-share-sheet.entry.js +1 -1
  292. package/dist/esm/cty-side-panel.entry.js +1 -1
  293. package/dist/esm/cty-stepper.entry.js +9 -2
  294. package/dist/esm/cty-steps.entry.js +1 -1
  295. package/dist/esm/cty-swipe_2.entry.js +3 -3
  296. package/dist/esm/cty-text-ellipsis.entry.js +2 -2
  297. package/dist/esm/cty-title-bar.entry.js +1 -1
  298. package/dist/esm/cty-tour.entry.js +4 -4
  299. package/dist/esm/cty-tutorial.entry.js +1 -1
  300. package/dist/esm/cty-video.entry.js +2 -2
  301. package/dist/esm/cty-virtual-list.entry.js +11 -7
  302. package/dist/esm/{image-picker-FShbNAm_.js → image-picker-0JHjPizE.js} +40 -3
  303. package/dist/esm/index.js +69 -6
  304. package/dist/esm/loader.js +1 -1
  305. package/dist/esm/{video-capture-B1wGDp4R.js → video-capture-B83C8hW9.js} +28 -1
  306. package/dist/esm-es5/audio-recorder-vTQ1Jf9u.js +1 -0
  307. package/dist/esm-es5/camera-preview-Bntx5BKz.js +1 -0
  308. package/dist/esm-es5/cty-alert_2.entry.js +1 -1
  309. package/dist/esm-es5/cty-camera-photo.entry.js +1 -1
  310. package/dist/esm-es5/cty-camera_2.entry.js +1 -1
  311. package/dist/esm-es5/cty-canvas-board.entry.js +1 -1
  312. package/dist/esm-es5/cty-canvas-video.entry.js +1 -1
  313. package/dist/esm-es5/cty-cascader-view.entry.js +1 -1
  314. package/dist/esm-es5/cty-cascader.entry.js +1 -1
  315. package/dist/esm-es5/cty-circle.entry.js +1 -0
  316. package/dist/esm-es5/cty-count-down.entry.js +1 -1
  317. package/dist/esm-es5/cty-divider.entry.js +1 -1
  318. package/dist/esm-es5/cty-dropdown.entry.js +1 -1
  319. package/dist/esm-es5/cty-empty.entry.js +1 -1
  320. package/dist/esm-es5/cty-floating-bubble.entry.js +1 -1
  321. package/dist/esm-es5/cty-floating-panel.entry.js +1 -1
  322. package/dist/esm-es5/cty-icon.entry.js +1 -1
  323. package/dist/esm-es5/cty-image-upload.entry.js +1 -1
  324. package/dist/esm-es5/cty-image-viewer_6.entry.js +2 -2
  325. package/dist/esm-es5/cty-index-bar.entry.js +1 -1
  326. package/dist/esm-es5/cty-keyboard.entry.js +1 -1
  327. package/dist/esm-es5/cty-loading.entry.js +1 -1
  328. package/dist/esm-es5/cty-media-capture.entry.js +1 -1
  329. package/dist/esm-es5/cty-mui.js +1 -1
  330. package/dist/esm-es5/cty-notice-bar.entry.js +1 -1
  331. package/dist/esm-es5/cty-overlay.entry.js +1 -1
  332. package/dist/esm-es5/cty-pdf-viewer.entry.js +1 -1
  333. package/dist/esm-es5/cty-permission-purpose.entry.js +1 -1
  334. package/dist/esm-es5/cty-progress.entry.js +1 -1
  335. package/dist/esm-es5/cty-quick-access.entry.js +1 -1
  336. package/dist/esm-es5/cty-rate.entry.js +1 -1
  337. package/dist/esm-es5/cty-record.entry.js +1 -1
  338. package/dist/esm-es5/cty-segment-slides.entry.js +1 -1
  339. package/dist/esm-es5/cty-selector.entry.js +1 -1
  340. package/dist/esm-es5/cty-share-sheet.entry.js +1 -1
  341. package/dist/esm-es5/cty-side-panel.entry.js +1 -1
  342. package/dist/esm-es5/cty-stepper.entry.js +1 -1
  343. package/dist/esm-es5/cty-steps.entry.js +1 -1
  344. package/dist/esm-es5/cty-swipe_2.entry.js +1 -1
  345. package/dist/esm-es5/cty-text-ellipsis.entry.js +1 -1
  346. package/dist/esm-es5/cty-title-bar.entry.js +1 -1
  347. package/dist/esm-es5/cty-tour.entry.js +1 -1
  348. package/dist/esm-es5/cty-tutorial.entry.js +1 -1
  349. package/dist/esm-es5/cty-video.entry.js +1 -1
  350. package/dist/esm-es5/cty-virtual-list.entry.js +1 -1
  351. package/dist/esm-es5/image-picker-0JHjPizE.js +1 -0
  352. package/dist/esm-es5/index.js +1 -1
  353. package/dist/esm-es5/loader.js +1 -1
  354. package/dist/esm-es5/video-capture-B83C8hW9.js +1 -0
  355. package/dist/types/components/camera/camera.d.ts +14 -1
  356. package/dist/types/components/camera-photo/camera-photo.d.ts +11 -1
  357. package/dist/types/components/image-viewer/image-viewer.d.ts +1 -0
  358. package/dist/types/components/media-capture/media-capture.d.ts +8 -0
  359. package/dist/types/components/permission-alert/permission-alert.d.ts +17 -0
  360. package/dist/types/components/record/record.d.ts +9 -0
  361. package/dist/types/components/stepper/stepper.d.ts +1 -0
  362. package/dist/types/components/swiper/swiper.d.ts +1 -0
  363. package/dist/types/components/virtual-list/virtual-list.d.ts +1 -1
  364. package/dist/types/components.d.ts +75 -2
  365. package/dist/types/index.d.ts +1 -0
  366. package/dist/types/utils/native/audio-recorder.d.ts +3 -0
  367. package/dist/types/utils/native/camera-preview.d.ts +9 -1
  368. package/dist/types/utils/native/image-picker.d.ts +8 -0
  369. package/dist/types/utils/native/media-editor.d.ts +45 -0
  370. package/dist/types/utils/native/video-capture.d.ts +3 -0
  371. package/package.json +2 -2
  372. package/dist/cty-mui/p-1078ee6a.system.entry.js +0 -1
  373. package/dist/cty-mui/p-1cb056b2.system.entry.js +0 -1
  374. package/dist/cty-mui/p-1d3aca02.entry.js +0 -1
  375. package/dist/cty-mui/p-2F5bjTGm.system.js +0 -1
  376. package/dist/cty-mui/p-3f54848b.entry.js +0 -1
  377. package/dist/cty-mui/p-4XVRwqXU.js +0 -1
  378. package/dist/cty-mui/p-62a9c160.entry.js +0 -1
  379. package/dist/cty-mui/p-68d73325.entry.js +0 -5
  380. package/dist/cty-mui/p-6dddba8f.system.entry.js +0 -1
  381. package/dist/cty-mui/p-751ca0a3.system.entry.js +0 -4
  382. package/dist/cty-mui/p-8b03016d.entry.js +0 -1
  383. package/dist/cty-mui/p-C6cVxtBr.system.js +0 -1
  384. package/dist/cty-mui/p-CcRtmdkf.system.js +0 -1
  385. package/dist/cty-mui/p-D0fcC0rL.js +0 -1
  386. package/dist/cty-mui/p-DTfCyY9u.system.js +0 -1
  387. package/dist/cty-mui/p-Dty0N6Ky.system.js +0 -1
  388. package/dist/cty-mui/p-SS7McUtz.js +0 -1
  389. package/dist/cty-mui/p-adc25955.system.entry.js +0 -1
  390. package/dist/cty-mui/p-c3bb2f2a.entry.js +0 -1
  391. package/dist/cty-mui/p-db2289f6.entry.js +0 -1
  392. package/dist/cty-mui/p-ea36cfac.entry.js +0 -1
  393. package/dist/cty-mui/p-f57da567.system.entry.js +0 -1
  394. package/dist/cty-mui/p-fd7e26fd.entry.js +0 -1
  395. package/dist/cty-mui/p-ff4436a4.entry.js +0 -1
  396. package/dist/cty-mui/p-fpbYSnt8.js +0 -1
  397. package/dist/esm-es5/audio-recorder-CbuBJ-u7.js +0 -1
  398. package/dist/esm-es5/camera-preview-SS7McUtz.js +0 -1
  399. package/dist/esm-es5/image-picker-FShbNAm_.js +0 -1
  400. package/dist/esm-es5/video-capture-B1wGDp4R.js +0 -1
@@ -75,6 +75,33 @@ class CTYAudioRecorder {
75
75
  }
76
76
  });
77
77
  }
78
+ hasPermission() {
79
+ return new Promise((resolve, reject) => {
80
+ if (!this.isAudioRecorderAvailable) {
81
+ reject('Audio recorder plugin is not available');
82
+ return;
83
+ }
84
+ this._audioRecorderPlugin.hasPermission((result) => resolve(result), (error) => reject(error));
85
+ });
86
+ }
87
+ requestPermission() {
88
+ return new Promise((resolve, reject) => {
89
+ if (!this.isAudioRecorderAvailable) {
90
+ reject('Audio recorder plugin is not available');
91
+ return;
92
+ }
93
+ this._audioRecorderPlugin.requestPermission(() => resolve(), (error) => reject(error));
94
+ });
95
+ }
96
+ openAppSettings() {
97
+ return new Promise((resolve, reject) => {
98
+ if (!this.isAudioRecorderAvailable) {
99
+ reject('Audio recorder plugin is not available');
100
+ return;
101
+ }
102
+ this._audioRecorderPlugin.openAppSettings(() => resolve(), (error) => reject(error));
103
+ });
104
+ }
78
105
  uploadWxRecording(localId, tip = UploadProgressTip.SHOW) {
79
106
  return new Promise((resolve, reject) => {
80
107
  try {
@@ -2,17 +2,20 @@ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/
2
2
  import { c as cameraPreview, i as imagePicker } from './image-picker.js';
3
3
  import { d as deviceInfo } from './device-info.js';
4
4
  import { d as closeOutline, e as backspaceOutline } from './index2.js';
5
- import { d as defineCustomElement$c } from './backdrop.js';
6
- import { d as defineCustomElement$b } from './icon.js';
7
- import { d as defineCustomElement$a } from './image-viewer.js';
8
- import { d as defineCustomElement$9 } from './nav-bar.js';
9
- import { d as defineCustomElement$8 } from './swiper.js';
10
- import { d as defineCustomElement$7 } from './button.js';
11
- import { d as defineCustomElement$6 } from './buttons.js';
12
- import { d as defineCustomElement$5 } from './header.js';
13
- import { d as defineCustomElement$4 } from './icon2.js';
14
- import { d as defineCustomElement$3 } from './ripple-effect.js';
15
- import { d as defineCustomElement$2 } from './title.js';
5
+ import { d as defineCustomElement$f } from './alert.js';
6
+ import { d as defineCustomElement$e } from './backdrop.js';
7
+ import { d as defineCustomElement$d } from './icon.js';
8
+ import { d as defineCustomElement$c } from './image-viewer.js';
9
+ import { d as defineCustomElement$b } from './nav-bar.js';
10
+ import { d as defineCustomElement$a } from './permission-alert.js';
11
+ import { d as defineCustomElement$9 } from './swiper.js';
12
+ import { d as defineCustomElement$8 } from './button.js';
13
+ import { d as defineCustomElement$7 } from './buttons.js';
14
+ import { d as defineCustomElement$6 } from './header.js';
15
+ import { d as defineCustomElement$5 } from './icon2.js';
16
+ import { d as defineCustomElement$4 } from './ripple-effect.js';
17
+ import { d as defineCustomElement$3 } from './title.js';
18
+ import { d as defineCustomElement$2 } from './toast.js';
16
19
  import { d as defineCustomElement$1 } from './toolbar.js';
17
20
 
18
21
  const cameraCss = "*{-webkit-box-sizing:border-box;box-sizing:border-box}p,h1,h2,h3,h4,h5,h6{margin:0;padding:0}.flex{display:-ms-flexbox;display:flex}.flex-wrap{display:-ms-flexbox;display:flex;-ms-flex-flow:wrap;flex-flow:wrap}.flex-align-start{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start}.flex-align-center{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.flex-align-end{display:-ms-flexbox;display:flex;-ms-flex-align:end;align-items:flex-end}.flex-justify-start{display:-ms-flexbox;display:flex;-ms-flex-pack:start;justify-content:flex-start}.flex-justify-center{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center}.flex-justify-end{display:-ms-flexbox;display:flex;-ms-flex-pack:end;justify-content:flex-end}.flex-align-end-start{display:-ms-flexbox;display:flex;-ms-flex-align:end;align-items:flex-end;-ms-flex-pack:start;justify-content:flex-start}.flex-align-end-center{display:-ms-flexbox;display:flex;-ms-flex-align:end;align-items:flex-end;-ms-flex-pack:center;justify-content:center}.flex-align-end-end{display:-ms-flexbox;display:flex;-ms-flex-align:end;align-items:flex-end;-ms-flex-pack:end;justify-content:flex-end}.flex-center{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.flex-center-justify-end{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end}.flex-between{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}.flex-center-between{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.flex-column{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column}.flex-column-align-center{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;-ms-flex-align:center;align-items:center}.flex-column-justify-center{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;-ms-flex-pack:center;justify-content:center}.flex-column-center{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.flex-column-between{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;-ms-flex-pack:justify;justify-content:space-between}.flex-column-center-between{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.cty-button-native{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;margin:0;padding:0;background:transparent;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;line-height:1;border:0;outline:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:0;-webkit-box-shadow:none;box-shadow:none;cursor:pointer}:host{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;position:fixed;left:0;top:0;z-index:20099;width:100vw !important;height:100vh !important;visibility:visible !important}.cty-camera__close[class]{margin:0;min-height:var(--cty-camera-close-min-hieght, 3.1em);--background:transparent;--background-activated:transparent;--background-focused:transparent;--background-hover:transparent;--box-shadow:none;--padding-top:var(--cty-camera-close-padding-top, 3px);--padding-bottom:var(--cty-camera-close-padding-bottom, 3px);--padding-start:var(--cty-camera-close-padding-start, 6px);--padding-end:var(--cty-camera-close-padding-end, 6px);--color:var(--cty-camera-close-color, var(--cty-text-color-white))}.cty-camera__close-icon{font-size:var(--cty-camera-close-font-size, 28px)}.cty-camera-main{-ms-flex:1;flex:1;position:relative}.cty-camera-widgets{position:absolute;top:0;right:15px}.cty-camera-widget{-ms-flex-direction:column;flex-direction:column;margin-bottom:var(--cty-camera-camera-widget-offset-y, 30px);color:var(--cty-camera-camera-widget-color, #fff)}.cty-camera-widget__icon{font-size:var(--cty-camera-camera-widget-icon-size, 20px)}.cty-camera-widget__text{margin-top:var(--cty-camera-camera-widget-text-offset-y, 5px);font-size:var(--cty-camera-camera-widget-text-size, var(--cty-font-size-extra-small))}.cty-camera-widget__ratio{width:24px;height:16px;border-radius:2px;border:1px solid var(--cty-camera-camera-widget-color, #fff);font-size:10px}.cty-camera-controls{margin-top:auto}.cty-camera-controls__mode{width:-webkit-max-content;width:-moz-max-content;width:max-content;padding:var(--cty-camera-camera-controls-mode-padding, 2px);margin:var(--cty-camera-camera-controls-mode-offset, 0 auto 15px);background:var(--cty-camera-camera-controls-mode-bg, rgba(0, 0, 0, 0.5));border-radius:var(--cty-camera-camera-controls-mode-radius, 3px);color:var(--cty-camera-camera-controls-mode-color, #fff)}.cty-camera-controls__mode-button{padding:var(--cty-camera-camera-controls-mode-button-padding, 3px 5px);border-radius:var(--cty-camera-camera-controls-mode-button-radius, 3px);font-size:var(--cty-camera-camera-controls-mode-button-font-szie, var(--cty-font-size-extra-small))}.cty-camera-controls__mode-button__active{background:var(--cty-camera-camera-controls-mode-button-active-bg, #fff);color:var(--cty-camera-camera-controls-mode-button-active-color, #000)}.cty-camera-controls__zooms{margin:var(--cty-camera-camera-controls-zooms-offset, 0 0 15px)}.cty-camera-controls__zoom-item{width:var(--cty-camera-camera-controls-zoom-active-size, 28px);height:var(--cty-camera-camera-controls-zoom-active-size, 28px);border-radius:50%}.cty-camera-controls__zoom-item:not(:last-child){margin-right:var(--cty-camera-camera-controls-zoom-offset, 10px)}.cty-camera-controls__zoom-item__active{border:var(--cty-camera-camera-controls-zoom-active-border, 1px solid #fff)}.cty-camera-controls__zoom-item__active .cty-camera-controls__zoom-text{background:var(--cty-camera-camera-controls-zoom-active-bg, transparent)}.cty-camera-controls__zoom-text{width:var(--cty-camera-camera-controls-zoom-size, 24px);height:var(--cty-camera-camera-controls-zoom-size, 24px);background:var(--cty-camera-camera-controls-zoom-bg, rgba(0, 0, 0, 0.3));border-radius:50%;color:var(--cty-camera-camera-controls-color, #fff);font-size:var(--cty-camera-camera-controls-zoom-font-size, 10px);font-weight:var(--cty-camera-camera-controls-zoom-font-weight, 600)}.cty-camera-controls__main{margin:var(--cty-camera-camera-controls-take-photo-offset, 0 0 15px)}.cty-camera-controls__take-photo{width:var(--cty-camera-camera-controls-take-photo-size, 60px);height:var(--cty-camera-camera-controls-take-photo-size, 60px);border-radius:50%;border:var(--cty-camera-camera-controls-take-photo-border, 2px solid #fff)}.cty-camera-controls__take-photo-button{width:var(--cty-camera-camera-controls-take-photo-button-size, 48px);height:var(--cty-camera-camera-controls-take-photo-button-size, 48px);border-radius:50%;background:var(--cty-camera-camera-controls-color, #fff)}.cty-camera-controls__take-photo-button:active{-webkit-transform:scale(0.9);transform:scale(0.9);-webkit-transition:-webkit-transform 0.05s cubic-bezier(0.2, 0.9, 0.4, 1.1);transition:-webkit-transform 0.05s cubic-bezier(0.2, 0.9, 0.4, 1.1);transition:transform 0.05s cubic-bezier(0.2, 0.9, 0.4, 1.1);transition:transform 0.05s cubic-bezier(0.2, 0.9, 0.4, 1.1), -webkit-transform 0.05s cubic-bezier(0.2, 0.9, 0.4, 1.1);-webkit-box-shadow:0 3px 8px rgba(0, 0, 0, 0.2);box-shadow:0 3px 8px rgba(0, 0, 0, 0.2);-webkit-filter:brightness(0.96);filter:brightness(0.96)}.cty-camera-controls__main-left,.cty-camera-controls__main-confirm{-ms-flex:1;flex:1}.cty-camera-controls__main-confirm-icon{font-size:var(--cty-camera-camera-controls-confirm-icon-size, 24px);color:var(--cty-camera-camera-controls-confirm-icon-color, var(--cty-color-danger))}.cty-camera-controls__main-confirm-text{margin-top:var(--cty-camera-camera-controls-confirm-text-offset, 5px);font-size:var(--cty-camera-camera-controls-confirm-text-size, 12px);color:var(--cty-camera-camera-controls-confirm-text-color, #fff)}.cty-camera-controls__main-delete{margin-right:var(--cty-camera-camera-controls-delete-offser, 30px)}.cty-camera-controls__main-delete-icon{font-size:var(--cty-camera-camera-controls-delete-icon-size, 20px);color:var(--cty-camera-camera-controls-delete-icon-color, #fff)}.cty-camera-controls__images{overflow-x:auto;width:100%;min-height:var(--cty-camera-camera-controls-images-min-height, 84px);padding:var(--cty-camera-camera-controls-images-padding, 0 15px);margin:var(--cty-camera-camera-controls-images-offset, 15px 0)}.cty-camera-controls__image{-ms-flex:none;flex:none;position:relative;width:var(--cty-camera-camera-controls-image-size, 54px);height:var(--cty-camera-camera-controls-image-size, 54px)}.cty-camera-controls__image:not(:last-child){margin-right:var(--cty-camera-camera-controls-image-offset, 10px)}.cty-camera-controls__image-img{display:block;width:100%;height:100%;border-radius:var(--cty-camera-camera-controls-image-border-radius, 8px);-o-object-fit:var(--cty-camera-camera-controls-image-object-fit, cover);object-fit:var(--cty-camera-camera-controls-image-object-fit, cover)}.cty-camera-controls__image-delete{position:absolute;top:0;right:0;width:var(--cty-camera-camera-controls-image-delete-size, 20px);height:var(--cty-camera-camera-controls-image-delete-size, 20px);background:var(--cty-camera-camera-controls-image-delete-bg, rgba(0, 0, 0, 0.5));border-radius:var(--cty-camera-camera-controls-image-delete-border-radius, 0 8px);color:var(--cty-camera-camera-controls-image-delete-color, #fff);font-size:var(--cty-camera-camera-controls-image-delete-font-size, 18px)}.cty-camera-viewer__single{min-height:var(--cty-camera-viewer-single-min-height, 44px);padding:var(--cty-camera-viewer-single-padding, 0 15px)}.cty-camera-viewer__single-close,.cty-camera-viewer__single-confirm{font-size:var(--cty-image-viewer-single-close-size, 20px);color:var(--cty-image-viewer-single-close-color, #fff)}";
@@ -33,6 +36,8 @@ const Camera = /*@__PURE__*/ proxyCustomElement(class Camera extends HTMLElement
33
36
  this.width = 0;
34
37
  this.height = 0;
35
38
  this.quality = 85;
39
+ this.includeThumb = true;
40
+ this.thumbWidth = 120;
36
41
  this.file = true;
37
42
  this.max = 9;
38
43
  this.flipText = '翻转';
@@ -48,6 +53,8 @@ const Camera = /*@__PURE__*/ proxyCustomElement(class Camera extends HTMLElement
48
53
  this.zoomSteps = 20; //仅android有效,通过这个算出每一份的的比例: (getMaxZoom() + 1) / allowMaxZoom
49
54
  this.touchZoom = true;
50
55
  this.touchZoomProp = 0.01;
56
+ this.permissionAlertTitle = '需要申请开启相机权限';
57
+ this.permissionAlertContent = '需要开启相机权限,用于拍照。我们承诺仅在功能使用时调用摄像头。';
51
58
  this.ratioIndex = 0;
52
59
  this.flash = false;
53
60
  this.zoomIndex = 0;
@@ -56,6 +63,10 @@ const Camera = /*@__PURE__*/ proxyCustomElement(class Camera extends HTMLElement
56
63
  this.imageViewerIndex = 0;
57
64
  this.currentPhotoMode = 'multiple';
58
65
  this.currentZoom = 1;
66
+ this.hasPermission = false;
67
+ this.permissionAlertVisible = false;
68
+ this.isToastOpen = false;
69
+ this.toastContent = '';
59
70
  this.startZoom = 1;
60
71
  this.SCREEN_WIDTH = window.screen.width;
61
72
  this.SCREEN_HEIGHT = window.screen.height;
@@ -80,9 +91,46 @@ const Camera = /*@__PURE__*/ proxyCustomElement(class Camera extends HTMLElement
80
91
  bodyEl.style.visibility = 'visible';
81
92
  bodyEl.style.background = this.originalBodyBackground;
82
93
  }
83
- initCamera() {
94
+ async requestPermission() {
95
+ try {
96
+ this.hasPermission = await cameraPreview.hasPermission();
97
+ }
98
+ catch (error) {
99
+ this.hasPermission = false;
100
+ }
101
+ if (!this.hasPermission) {
102
+ try {
103
+ await cameraPreview.requestPermission();
104
+ this.hasPermission = true;
105
+ }
106
+ catch (error) {
107
+ const { code, message } = error;
108
+ if (code == 'PERMISSION_DENIED_NEED_SETTINGS') {
109
+ this.permissionAlertVisible = true;
110
+ }
111
+ else {
112
+ if (code != 'PERMISSION_DENIED_FIRST_TIME' && message) {
113
+ this.isToastOpen = true;
114
+ this.toastContent = message;
115
+ }
116
+ this.ctyDismiss.emit();
117
+ }
118
+ }
119
+ }
120
+ }
121
+ async initCamera() {
122
+ await this.requestPermission();
123
+ if (!this.hasPermission) {
124
+ this.ctyDismiss.emit();
125
+ return;
126
+ }
84
127
  const height = this.getCameraHeight();
85
- cameraPreview.startCamera(Object.assign(Object.assign({ y: this.safeArea, camera: 'back', backgroundColor: '#000000' }, this.options), { x: 0, height, toBack: true, tapPhoto: false, tapFocus: true, enableAutoSettings: false, storeToFile: this.file }));
128
+ cameraPreview.startCamera(Object.assign(Object.assign({ y: this.safeArea, camera: 'back', backgroundColor: '#000000' }, this.options), { x: 0, height, toBack: true, tapPhoto: false, tapFocus: true, enableAutoSettings: false, storeToFile: this.file })).catch((error) => {
129
+ const { code } = error;
130
+ if (code == 'PERMISSION_DENIED_NEED_SETTINGS') {
131
+ this.permissionAlertVisible = true;
132
+ }
133
+ });
86
134
  }
87
135
  close() {
88
136
  this.ctyDismiss.emit();
@@ -129,14 +177,24 @@ const Camera = /*@__PURE__*/ proxyCustomElement(class Camera extends HTMLElement
129
177
  return cameraPreview.setZoom(idx === 0 ? 0 : Math.min(zoom, maxZoom));
130
178
  }
131
179
  async takePhoto() {
132
- const { quality, width, height, file, max, pictures } = this;
180
+ const { quality, width, height, includeThumb, thumbWidth, file, max, pictures } = this;
133
181
  if (max > 0 && pictures.length >= max || this.currentPhotoMode === 'single' && this.pictures.length > 0 || this.isTakingPhoto) {
134
182
  return;
135
183
  }
136
184
  this.isTakingPhoto = true;
137
- const data = await cameraPreview.takePicture({ width, height, quality });
138
- const result = await imagePicker.formatPictureResult(file, data);
139
- this.pictures = [...pictures, result];
185
+ const data = await cameraPreview.takePicture({ width, height, quality, includeThumb, thumbWidth });
186
+ let uri = '';
187
+ let thumbnail = '';
188
+ if (data && typeof data === 'object') {
189
+ uri = data.image;
190
+ thumbnail = data.thumbnail;
191
+ }
192
+ else {
193
+ uri = data;
194
+ }
195
+ const result = await imagePicker.formatPictureResult(file, uri);
196
+ const thumbResult = await imagePicker.formatPictureResult(file, thumbnail);
197
+ this.pictures = [...pictures, Object.assign(Object.assign({}, result), { thumbnail: thumbResult.url })];
140
198
  this.ctyTakePhoto.emit(result);
141
199
  this.isTakingPhoto = false;
142
200
  if (this.currentPhotoMode === 'single') {
@@ -172,7 +230,7 @@ const Camera = /*@__PURE__*/ proxyCustomElement(class Camera extends HTMLElement
172
230
  this.closeImageViewer(e);
173
231
  }
174
232
  confirm() {
175
- this.ctyConfirm.emit(this.pictures);
233
+ this.ctyConfirm.emit(this.pictures.map(({ url, data }) => ({ url, data })));
176
234
  }
177
235
  deleteLastPicture() {
178
236
  const pictures = [...this.pictures];
@@ -224,9 +282,26 @@ const Camera = /*@__PURE__*/ proxyCustomElement(class Camera extends HTMLElement
224
282
  }
225
283
  cameraPreview.setZoom(Math.min(startCameraZoom + diff, maxZoom));
226
284
  }
285
+ async toOpenAppSetting(event) {
286
+ const { item } = event.detail;
287
+ if (item.action == 'permission') {
288
+ try {
289
+ await cameraPreview.openAppSettings();
290
+ this.permissionAlertVisible = false;
291
+ }
292
+ catch (error) {
293
+ this.closePermissionAlert(event);
294
+ }
295
+ }
296
+ }
297
+ closePermissionAlert(e) {
298
+ e.stopPropagation();
299
+ this.permissionAlertVisible = false;
300
+ this.ctyDismiss.emit();
301
+ }
227
302
  render() {
228
303
  const { title, closeIcon, flash, flipText, flashText, ratioText, ratios, ratioIndex, zoomIndex, zooms, mode, singleText, multipleText, currentPhotoMode, confirmIcon, confirmText, deleteIcon, pictures, showImageViewer, imageViewerIndex, touchZoom, currentZoom } = this;
229
- return (h(Host, { key: 'f40edbc29fe5da2917d4010c6d3b1a518aedaa41', class: "cty-camera", onClick: (e) => e.stopPropagation() }, h("cty-nav-bar", { key: '5ff4256016fa09b23178155358ebf130e43bcb7f', title: title, type: "clear" }, h("slot", { key: 'd2e04b67a7d3950bf4affa93bb5cb4d7c2a617c9', name: "header-start", slot: "start" }, !!closeIcon && h("ion-button", { key: '15ac081655793b3e389a1f3639bedfc1d9ecbf07', class: "cty-camera__close", onClick: () => this.close() }, h("cty-icon", { key: '0a502cc7dacef6aae4f0d378dde420bdc809fe06', class: "cty-camera__close-icon", name: closeIcon })))), h("div", { key: '50daa357c535b0b664cee8f7f2f373a6580b1999', class: "cty-camera-main", onTouchStart: (e) => this.touchstart(e), onTouchMove: (e) => this.touchmove(e), onTouchEnd: (e) => this.touchend(e) }, h("div", { key: '9480b0a5d2ecf27c8c29a4ff92b96ef3ea88ef42', class: "cty-camera-widgets", part: "widgets" }, !!flipText && h("button", { key: '686db6af3c4dafb1581bea7fa2e6b4a2f4f27083', class: "cty-button-native cty-camera-widget", part: "widget", onClick: () => this.flipCamera() }, h("cty-icon", { key: 'e79bfc8da5c2b406ac216c06b6a968f5abec969a', class: "cty-camera-widget__icon", name: "cty-flip" }), !!flipText && h("span", { key: 'ba9aa97adee38dac5b7ac62162748cbe1692fdd0', class: "cty-camera-widget__text" }, flipText)), !!flashText && h("button", { key: '40e364c8c390b8d34a10483dd9c59e6308af086a', class: "cty-button-native cty-camera-widget", part: "widget", onClick: () => this.toggleFlash() }, h("cty-icon", { key: 'b3529fb6899eec50a9dd23cafd14c702b73f0eab', class: "cty-camera-widget__icon", name: flash ? 'cty-flash-on' : 'cty-flash-off' }), !!flashText && h("span", { key: '5db6b0cdeda7be4a9dfc141ac2853f77b39480b3', class: "cty-camera-widget__text" }, flashText)), !!ratioText && h("button", { key: 'ca8f01983dd7c8d881e62f6537b59e54147989ba', class: "cty-button-native cty-camera-widget", part: "ratio", onClick: () => this.ratioChange() }, h("span", { key: 'ce1b6eae99a1a28490b5e354dc7b5d787f33012d', class: "cty-camera-widget__ratio flex-center" }, ratios[ratioIndex]), !!ratioText && h("span", { key: '5f8782c77973f304783f090c0d074d9aa4d37529', class: "cty-camera-widget__text" }, ratioText)))), h("div", { key: 'eb9fbcf73791d348b2721af75eb6379fac9edc5a', class: "cty-camera-controls safe-area-bottom-padding" }, mode == 'both' && pictures.length <= 0 && h("div", { key: 'd8ab77317beba8093cfa5b14a7b58b576f92b0d4', class: "cty-camera-controls__mode flex-center", part: "mode" }, h("button", { key: 'ba2f4a6ce81f5d7cd34cc9ccb405c3b42f399d38', class: { 'cty-button-native cty-camera-controls__mode-button': true, 'cty-camera-controls__mode-button__active': currentPhotoMode === 'single' }, onClick: () => this.currentPhotoMode = 'single' }, singleText), h("button", { key: '8617e01437655cc1dfa2f77c977f826375be9b6a', class: { 'cty-button-native cty-camera-controls__mode-button': true, 'cty-camera-controls__mode-button__active': currentPhotoMode === 'multiple' }, onClick: () => this.currentPhotoMode = 'multiple' }, multipleText)), h("slot", { key: 'c23efc3fc61cb836bb970252106ed1e1cf3558d9', name: "zooms" }, !touchZoom && zooms.length > 0 && h("div", { key: '02e630d9fb5e30cc9257d74102301991f4f34cda', class: "cty-camera-controls__zooms flex-center", part: "zooms" }, zooms.map((item, idx) => (h("div", { class: { 'cty-camera-controls__zoom-item flex-center': true, 'cty-camera-controls__zoom-item__active': zoomIndex === idx }, onClick: () => this.setZoom(idx) }, h("span", { class: "cty-camera-controls__zoom-text flex-center" }, item, "X"))))), touchZoom && h("div", { key: 'e9f24d62c30dd73fd7be61a92b2a9e8477444d31', class: "cty-camera-controls__zooms flex-center", part: "zooms" }, h("div", { key: '15c9dfb471ebbc9d042b43c0798ca09fa20866d9', class: { 'cty-camera-controls__zoom-item flex-center cty-camera-controls__zoom-item__active': true }, onClick: () => this.resetZoom() }, h("span", { key: '02bf72c6259c9580006fa3ae14623686478e0637', class: "cty-camera-controls__zoom-text flex-center" }, currentZoom, "X")))), h("div", { key: 'd48ce6b8c8100b91876519bcc3aaae6ec6c64bb2', class: "cty-camera-controls__main flex-center" }, h("div", { key: 'bab57f9bb2276980e1eaf97db8a3473c393bd2a9', class: "cty-camera-controls__main-left flex-center" }), h("div", { key: '771f14a7d81b3ddd8ee3389de781baa408e58ab2', class: "cty-camera-controls__take-photo flex-center" }, h("button", { key: 'eb69383d3140935cf780d90f7a2f094295341613', class: "cty-button-native cty-camera-controls__take-photo-button", part: "take-photo", onClick: () => this.takePhoto() })), h("div", { key: '4de8c1abb63d4413d80fc6038b2d01161b61d03e', class: "cty-camera-controls__main-confirm flex-center" }, currentPhotoMode !== 'single' && pictures.length > 0 && !!deleteIcon && h("button", { key: 'd147510274b3f2d6afd7b8bc484a674274805556', class: "cty-camera-controls__main-delete cty-button-native flex-column-center", onClick: () => this.deleteLastPicture() }, h("cty-icon", { key: '28b17cecf4e4f3dbc25a2b1a6c9dd08cdace231a', class: "cty-camera-controls__main-delete-icon", name: deleteIcon })), currentPhotoMode !== 'single' && pictures.length > 0 && h("button", { key: 'be6a8e67255e4265f5f5744ba4bc12ea86fd8413', class: "cty-button-native flex-column-center", onClick: () => this.confirm() }, h("cty-icon", { key: 'e721a132723d3ec61d450d7bb92551fb3255a85b', class: "cty-camera-controls__main-confirm-icon", name: confirmIcon }), confirmText && h("span", { key: 'cd3413a3f091755709d4766bfb9851cd62797637', class: "cty-camera-controls__main-confirm-text" }, confirmText)))), h("slot", { key: '25cd2fd4dbf4383a38944f7a05c82d8529a1f329', name: "images" }, h("div", { key: 'd494fba5318e56f1bbd5e298c94d0db792fe2466', class: "cty-camera-controls__images flex-align-center" }, currentPhotoMode !== 'single' && pictures.map((item, idx) => (h("div", { class: "cty-camera-controls__image", onClick: () => this.toImageViewer(idx) }, h("img", { class: 'cty-camera-controls__image-img', src: item.url }), h("button", { class: "cty-button-native", onClick: (e) => this.deletePicture(e, idx) }, h("cty-icon", { class: "cty-camera-controls__image-delete", name: closeOutline })))))))), showImageViewer && h("cty-image-viewer", { key: 'e7b85e1ee2817e30dffd31b8dc54bb688e7eebda', images: pictures.map(item => item.url), initialSlide: imageViewerIndex, overlayIndex: 100, backdropDismiss: false, closeable: false, onCtyDismiss: (e) => this.closeImageViewer(e) }, currentPhotoMode !== 'multiple' && h("div", { key: '5ee748c3a00c7b59a06caf8452e991923f8b0e03', class: "cty-camera-viewer__single flex-center-between", slot: "pager" }, h("button", { key: 'e887095785b5a51ba6e7b9535302048f52847fec', class: "cty-camera-viewer__single-close cty-button-native", onClick: (event) => this.closeSingleImageViewer(event) }, h("cty-icon", { key: '9835324ca3a6d13a5492cc71e275a10176a2c41a', name: "cty-close2" })), h("button", { key: 'ead287871bcf1427012c48efff2f13e51acb8fc9', class: "cty-camera-viewer__single-confirm cty-button-native", onClick: () => this.confirm() }, h("cty-icon", { key: '5bcfd41d3c8998abcc06bf9852efcb4b1b821ffb', name: "cty-tick" }))), currentPhotoMode !== 'multiple' && h("i", { key: 'd1410f731edc011af6acdc1652264e760d557213', slot: "close" }))));
304
+ return (h(Host, { key: '249d6c9269af0bb404fa13c2679db953580196be', class: "cty-camera", onClick: (e) => e.stopPropagation() }, h("cty-nav-bar", { key: '3ddc96ed9540f67485013bd1d52cf593f7a159ec', title: title, type: "clear" }, h("slot", { key: 'c3124d840af6803fe87669dc1da346b5a51d6dc1', name: "header-start", slot: "start" }, !!closeIcon && h("ion-button", { key: '48ebfe61e98a586fb127feb9e57e556108665126', class: "cty-camera__close", onClick: () => this.close() }, h("cty-icon", { key: '8da9e811d18687d6c3c3fd19f3b6d96db3b4d992', class: "cty-camera__close-icon", name: closeIcon })))), h("div", { key: '918f5390b8d846231a1fbd3550858114efb3797f', class: "cty-camera-main", onTouchStart: (e) => this.touchstart(e), onTouchMove: (e) => this.touchmove(e), onTouchEnd: (e) => this.touchend(e) }, h("div", { key: '4d872387a4bb06d4d5030c181c6a67a9ef19f5aa', class: "cty-camera-widgets", part: "widgets" }, !!flipText && h("button", { key: '6de4076ab5b8ee8a31a63305fc4fd4c954e87291', class: "cty-button-native cty-camera-widget", part: "widget", onClick: () => this.flipCamera() }, h("cty-icon", { key: 'cf2cd7ccbf12a6b972371389045aa7360a7e361c', class: "cty-camera-widget__icon", name: "cty-flip" }), !!flipText && h("span", { key: '63816718efe322900dd80192a3c96e1dde0f56bf', class: "cty-camera-widget__text" }, flipText)), !!flashText && h("button", { key: '71f482e92876e408cfe4391c92c79789d83ff12b', class: "cty-button-native cty-camera-widget", part: "widget", onClick: () => this.toggleFlash() }, h("cty-icon", { key: '70a2838d229df2418807329013cf2db86c8b2886', class: "cty-camera-widget__icon", name: flash ? 'cty-flash-on' : 'cty-flash-off' }), !!flashText && h("span", { key: 'dc6dcb389cde04abe9e94824fc7ab23d7cbd49c3', class: "cty-camera-widget__text" }, flashText)), !!ratioText && h("button", { key: '13fd40b68adeefca52a5775b2fc86bd0602728c7', class: "cty-button-native cty-camera-widget", part: "ratio", onClick: () => this.ratioChange() }, h("span", { key: 'e971f50bb4a923dfb119497d530890dc2a2f4cc2', class: "cty-camera-widget__ratio flex-center" }, ratios[ratioIndex]), !!ratioText && h("span", { key: 'c13601a6c3866a72120a9b441d971c5134e95b26', class: "cty-camera-widget__text" }, ratioText)))), h("div", { key: 'b82e91f54f7416c8f8ba0bbc99ad034b7d90d201', class: "cty-camera-controls safe-area-bottom-padding" }, mode == 'both' && pictures.length <= 0 && h("div", { key: 'da4867ad484906fb92bb0b9840ae05cab7f6017c', class: "cty-camera-controls__mode flex-center", part: "mode" }, h("button", { key: '8932fc465360764b3d19c2ba0f9afa26df747248', class: { 'cty-button-native cty-camera-controls__mode-button': true, 'cty-camera-controls__mode-button__active': currentPhotoMode === 'single' }, onClick: () => this.currentPhotoMode = 'single' }, singleText), h("button", { key: 'a70dd98026cb8125f04841f3f82ae83bffedea17', class: { 'cty-button-native cty-camera-controls__mode-button': true, 'cty-camera-controls__mode-button__active': currentPhotoMode === 'multiple' }, onClick: () => this.currentPhotoMode = 'multiple' }, multipleText)), h("slot", { key: '706e3c7c60be9bea7a887743981e6c0c83d867a1', name: "zooms" }, !touchZoom && zooms.length > 0 && h("div", { key: 'dd6fe65fe090190eb2f1f0b678ebfa84f8bbbe31', class: "cty-camera-controls__zooms flex-center", part: "zooms" }, zooms.map((item, idx) => (h("div", { class: { 'cty-camera-controls__zoom-item flex-center': true, 'cty-camera-controls__zoom-item__active': zoomIndex === idx }, onClick: () => this.setZoom(idx) }, h("span", { class: "cty-camera-controls__zoom-text flex-center" }, item, "X"))))), touchZoom && h("div", { key: '9f0a68f5c87b36f50807a1ddce3fd7d495f5b0f7', class: "cty-camera-controls__zooms flex-center", part: "zooms" }, h("div", { key: '2b1f97c6fbe953d71779f536d408d8a878872b1c', class: { 'cty-camera-controls__zoom-item flex-center cty-camera-controls__zoom-item__active': true }, onClick: () => this.resetZoom() }, h("span", { key: '2e16a3df094da8fcfe0b3758732a48bc67e00797', class: "cty-camera-controls__zoom-text flex-center" }, currentZoom, "X")))), h("div", { key: '06a01b4fcb96b0bd33bde8ed91fc2b436e406791', class: "cty-camera-controls__main flex-center" }, h("div", { key: 'c748dab6ff814deab00d7f0ff8e2b9ae439acc82', class: "cty-camera-controls__main-left flex-center" }), h("div", { key: 'ae6105b6f28bd8be992ebf164987806a5cf52e9c', class: "cty-camera-controls__take-photo flex-center" }, h("button", { key: '1bbe3c2225a533fd7f4b9de9b7778c748c4f5a03', class: "cty-button-native cty-camera-controls__take-photo-button", part: "take-photo", onClick: () => this.takePhoto() })), h("div", { key: 'd8b0277f2daf2c6085edd86c18d220a7c24e1e37', class: "cty-camera-controls__main-confirm flex-center" }, currentPhotoMode !== 'single' && pictures.length > 0 && !!deleteIcon && h("button", { key: 'cc83aa1aab767ea7a3aef3b44194b4891836c09a', class: "cty-camera-controls__main-delete cty-button-native flex-column-center", onClick: () => this.deleteLastPicture() }, h("cty-icon", { key: '5b2a06c3819fa158b12769b4cea08f7df6cecff2', class: "cty-camera-controls__main-delete-icon", name: deleteIcon })), currentPhotoMode !== 'single' && pictures.length > 0 && h("button", { key: '09642c94b869090cd1381b75a949013623558fb6', class: "cty-button-native flex-column-center", onClick: () => this.confirm() }, h("cty-icon", { key: '09e36ce96317e298f0a54ce6c1d76009a4ad4b95', class: "cty-camera-controls__main-confirm-icon", name: confirmIcon }), confirmText && h("span", { key: '9d24bf57e4c32abbbfb95671c1191f7d85adfce4', class: "cty-camera-controls__main-confirm-text" }, confirmText)))), h("slot", { key: '5530ce7f1411007acfd28326b53b5caa52c52376', name: "images" }, h("div", { key: '2a9366f14ff5878bb704703d9fd65a4549c002fb', class: "cty-camera-controls__images flex-align-center" }, currentPhotoMode !== 'single' && pictures.map((item, idx) => (h("div", { class: "cty-camera-controls__image", onClick: () => this.toImageViewer(idx) }, h("img", { class: 'cty-camera-controls__image-img', src: item.thumbnail || item.url }), h("button", { class: "cty-button-native", onClick: (e) => this.deletePicture(e, idx) }, h("cty-icon", { class: "cty-camera-controls__image-delete", name: closeOutline })))))))), showImageViewer && h("cty-image-viewer", { key: '5c3f82c1f25c434e79c2df83f657c25cc42f0ffc', images: pictures.map(item => item.url), initialSlide: imageViewerIndex, overlayIndex: 100, backdropDismiss: false, closeable: false, onCtyDismiss: (e) => this.closeImageViewer(e) }, currentPhotoMode !== 'multiple' && h("div", { key: '2c0753cab107695962bbdd55ab9b334e91c361a2', class: "cty-camera-viewer__single flex-center-between", slot: "pager" }, h("button", { key: '3cf7393d965245e4b7072afe50412c150840cec3', class: "cty-camera-viewer__single-close cty-button-native", onClick: (event) => this.closeSingleImageViewer(event) }, h("cty-icon", { key: 'db1b6d35ff40650a00903d37d03adf9c4e7ce311', name: "cty-close2" })), h("button", { key: '25df5828eafcc1191e826445e0b20e41eec869bf', class: "cty-camera-viewer__single-confirm cty-button-native", onClick: () => this.confirm() }, h("cty-icon", { key: 'e96ba7b2413df359b4ab6ea184250edbf3618d2a', name: "cty-tick" }))), currentPhotoMode !== 'multiple' && h("i", { key: '8a167eb7c089ede4aeff07e73cd14424a0ccca55', slot: "close" })), this.permissionAlertVisible && h("cty-permission-alert", { key: '3fb0cd60cb246d94f12a6adff586087071075ea2', title: this.permissionAlertTitle, content: this.permissionAlertContent, buttons: this.permissionAlertbuttons, onCtyDismiss: (e) => this.closePermissionAlert(e), onCtyTap: (e) => this.toOpenAppSetting(e) }), h("ion-toast", { key: 'ac0224081e8ce22eaebfd7224391cf1957c2ff47', "is-open": this.isToastOpen, message: this.toastContent, duration: 2000, position: 'middle' })));
230
305
  }
231
306
  get el() { return this; }
232
307
  static get style() { return cameraCss; }
@@ -239,6 +314,8 @@ const Camera = /*@__PURE__*/ proxyCustomElement(class Camera extends HTMLElement
239
314
  "width": [2],
240
315
  "height": [2],
241
316
  "quality": [2],
317
+ "includeThumb": [4, "include-thumb"],
318
+ "thumbWidth": [2, "thumb-width"],
242
319
  "file": [4],
243
320
  "max": [2],
244
321
  "flipText": [1, "flip-text"],
@@ -254,6 +331,9 @@ const Camera = /*@__PURE__*/ proxyCustomElement(class Camera extends HTMLElement
254
331
  "zoomSteps": [2, "zoom-steps"],
255
332
  "touchZoom": [4, "touch-zoom"],
256
333
  "touchZoomProp": [2, "touch-zoom-prop"],
334
+ "permissionAlertTitle": [1, "permission-alert-title"],
335
+ "permissionAlertContent": [1, "permission-alert-content"],
336
+ "permissionAlertbuttons": [16, "permission-alertbuttons"],
257
337
  "ratioIndex": [32],
258
338
  "flash": [32],
259
339
  "zoomIndex": [32],
@@ -262,6 +342,9 @@ const Camera = /*@__PURE__*/ proxyCustomElement(class Camera extends HTMLElement
262
342
  "imageViewerIndex": [32],
263
343
  "currentPhotoMode": [32],
264
344
  "currentZoom": [32],
345
+ "permissionAlertVisible": [32],
346
+ "isToastOpen": [32],
347
+ "toastContent": [32],
265
348
  "flipCamera": [64],
266
349
  "toggleFlash": [64],
267
350
  "flashOff": [64],
@@ -274,64 +357,79 @@ function defineCustomElement() {
274
357
  if (typeof customElements === "undefined") {
275
358
  return;
276
359
  }
277
- const components = ["cty-camera", "cty-backdrop", "cty-icon", "cty-image-viewer", "cty-nav-bar", "cty-swiper", "ion-button", "ion-buttons", "ion-header", "ion-icon", "ion-ripple-effect", "ion-title", "ion-toolbar"];
360
+ const components = ["cty-camera", "cty-alert", "cty-backdrop", "cty-icon", "cty-image-viewer", "cty-nav-bar", "cty-permission-alert", "cty-swiper", "ion-button", "ion-buttons", "ion-header", "ion-icon", "ion-ripple-effect", "ion-title", "ion-toast", "ion-toolbar"];
278
361
  components.forEach(tagName => { switch (tagName) {
279
362
  case "cty-camera":
280
363
  if (!customElements.get(tagName)) {
281
364
  customElements.define(tagName, Camera);
282
365
  }
283
366
  break;
367
+ case "cty-alert":
368
+ if (!customElements.get(tagName)) {
369
+ defineCustomElement$f();
370
+ }
371
+ break;
284
372
  case "cty-backdrop":
285
373
  if (!customElements.get(tagName)) {
286
- defineCustomElement$c();
374
+ defineCustomElement$e();
287
375
  }
288
376
  break;
289
377
  case "cty-icon":
290
378
  if (!customElements.get(tagName)) {
291
- defineCustomElement$b();
379
+ defineCustomElement$d();
292
380
  }
293
381
  break;
294
382
  case "cty-image-viewer":
295
383
  if (!customElements.get(tagName)) {
296
- defineCustomElement$a();
384
+ defineCustomElement$c();
297
385
  }
298
386
  break;
299
387
  case "cty-nav-bar":
300
388
  if (!customElements.get(tagName)) {
301
- defineCustomElement$9();
389
+ defineCustomElement$b();
390
+ }
391
+ break;
392
+ case "cty-permission-alert":
393
+ if (!customElements.get(tagName)) {
394
+ defineCustomElement$a();
302
395
  }
303
396
  break;
304
397
  case "cty-swiper":
305
398
  if (!customElements.get(tagName)) {
306
- defineCustomElement$8();
399
+ defineCustomElement$9();
307
400
  }
308
401
  break;
309
402
  case "ion-button":
310
403
  if (!customElements.get(tagName)) {
311
- defineCustomElement$7();
404
+ defineCustomElement$8();
312
405
  }
313
406
  break;
314
407
  case "ion-buttons":
315
408
  if (!customElements.get(tagName)) {
316
- defineCustomElement$6();
409
+ defineCustomElement$7();
317
410
  }
318
411
  break;
319
412
  case "ion-header":
320
413
  if (!customElements.get(tagName)) {
321
- defineCustomElement$5();
414
+ defineCustomElement$6();
322
415
  }
323
416
  break;
324
417
  case "ion-icon":
325
418
  if (!customElements.get(tagName)) {
326
- defineCustomElement$4();
419
+ defineCustomElement$5();
327
420
  }
328
421
  break;
329
422
  case "ion-ripple-effect":
330
423
  if (!customElements.get(tagName)) {
331
- defineCustomElement$3();
424
+ defineCustomElement$4();
332
425
  }
333
426
  break;
334
427
  case "ion-title":
428
+ if (!customElements.get(tagName)) {
429
+ defineCustomElement$3();
430
+ }
431
+ break;
432
+ case "ion-toast":
335
433
  if (!customElements.get(tagName)) {
336
434
  defineCustomElement$2();
337
435
  }
@@ -62,14 +62,14 @@ const Circle = /*@__PURE__*/ proxyCustomElement(class Circle extends HTMLElement
62
62
  return `M ${viewBoxSize / 2} ${viewBoxSize / 2} m 0, ${-rad} a ${rad}, ${rad} 0 1, ${sweepFlag} 0, ${rad * 2} a ${rad}, ${rad} 0 1, ${sweepFlag} 0, ${-rad * 2}`;
63
63
  }
64
64
  render() {
65
- return (h(Host, { key: 'b552b6f0190327fbd9fcf458994feee63b761d38', class: "cty-circle" }, h("svg", { key: '64b07a4798544cc9f9878dc4be3a046c881a6706', ref: el => (this.svgEl = el) }, this.needDefs && h("defs", { key: '5762f3641189b8d8dd8da4beddaeb82c28b68287' }, h("linearGradient", { key: '03205dd0dc64e90bf6ca30fb613ceeffe688585e', id: this.gradientId, x1: "100%", y1: "0%", x2: "0%", y2: "0%", gradientTransform: "rotate(90)" }, this.colors.map(() => (h("stop", null))))), h("path", { key: '8075a1ece096aa40e2e57bba80760bfb87c38b01', ref: el => (this.layerEl = el), class: "cty-circle__layer", style: {
65
+ return (h(Host, { key: '2f368270af4614789d5598e5bc90b3e2ef057989', class: "cty-circle" }, h("svg", { key: '1df0553171d9fec249e84cf41f710826f49b3026', ref: el => (this.svgEl = el) }, this.needDefs && h("defs", { key: 'd57f574b35bbf69c57fc40803f3f7fb9acbcf9a9' }, h("linearGradient", { key: 'cf43aa12f3d51cf6a243f9638de9dedf2257280a', id: this.gradientId, x1: "100%", y1: "0%", x2: "0%", y2: "0%", gradientTransform: "rotate(90)" }, this.colors.map(() => (h("stop", null))))), h("path", { key: 'b5f534ab0dae045ee9d90f7dc9ca7781858e75f7', ref: el => (this.layerEl = el), class: "cty-circle__layer", style: {
66
66
  'stroke-width': this.width + 'px',
67
67
  'strokeDasharray': (this.ratio * this.perimeter) + 'px ' + this.perimeter + 'px'
68
- } }), h("path", { key: 'fefec8d3cb6927b35b37ca04498d3abc572e8b63', ref: el => (this.hoverEl = el), class: "cty-circle__hover", style: {
68
+ } }), h("path", { key: 'c0e0e7bde4ee4218d369f0a68c45bdcc41b9bf6f', ref: el => (this.hoverEl = el), class: "cty-circle__hover", style: {
69
69
  'stroke': this.rate <= 0 && this.zeroTransparent ? 'transparent' : this.needDefs ? 'url(#' + this.gradientId + ')' : this.color,
70
70
  'stroke-width': +this.width + this.widthDif + 'px',
71
71
  'strokeDasharray': (this.ratio * this.rate / 100 * this.perimeter) + 'px ' + this.perimeter + 'px'
72
- } })), this.text !== '' && h("div", { key: 'f683c2dc61d281e6c506ff9a15b3a2a2f4ef56da', class: "cty-circle__text" }, this.text), h("slot", { key: '64eba94a1e793fe3dec863d0733f8a7ceb9e659b' })));
72
+ } })), this.text !== '' && h("div", { key: '87e72df56f972317345f50b3b7e82ff002df5048', class: "cty-circle__text" }, this.text), h("slot", { key: '269615587b996b6dc54c2a3390a0ef47ff08fb4c' })));
73
73
  }
74
74
  get el() { return this; }
75
75
  static get watchers() { return {
@@ -208,7 +208,7 @@ const CropImage = /*@__PURE__*/ proxyCustomElement(class CropImage extends HTMLE
208
208
  return (h("div", { class: "cty-crop-image__buttons flex-center-between safe-area-bottom-border-color" }, this.cancelText && cancelCmp, this.confirmText && confirmCmp));
209
209
  }
210
210
  render() {
211
- return (h(Host, { key: 'f03ef034659039ca694e92e094e6f771b65ed41d', class: "cty-crop-image", onMouseDown: (e) => this.doTouchStart(e), onTouchStart: (e) => this.doTouchStart(e), onTouchMove: (e) => this.doTouchMove(e), onTouchEnd: () => this.doTouchEnd() }, h("slot", { key: '4d1f7dcd27ebf1824937e8e056fec2e64b871610', name: "header" }), h("div", { key: '53adedd36ec4b3d2a622d9c308f35b593df3c7dd', class: "cty-crop-image__wrapper", ref: el => (this.imageEl = el) }, h("img", { key: '70dc841fd80c5e80923e3365597653837ee2d01d', src: this.url, class: "cty-crop-image__image" })), h("div", { key: '7c19c8da9253e17615aa2699391fcc545cb1f9ac', class: "cty-crop-image__clip", ref: el => (this.clipEl = el) }), h("slot", { key: '8394107199cf8626534e3d0c1a258225306c6eaf', name: "clip" }), this.renderButtons(), h("slot", { key: 'e723cd0166a0a1d752d6f69af3873ac97b96298c', name: "footer" })));
211
+ return (h(Host, { key: '3805ba12b7e6f2809399b8a9f213e4a4131b081c', class: "cty-crop-image", onMouseDown: (e) => this.doTouchStart(e), onTouchStart: (e) => this.doTouchStart(e), onTouchMove: (e) => this.doTouchMove(e), onTouchEnd: () => this.doTouchEnd() }, h("slot", { key: '441105402304f96770ff61b883993c952f7ea4a9', name: "header" }), h("div", { key: 'affa68ce2eacf57bff5dcbc140c1da82d59dc8a3', class: "cty-crop-image__wrapper", ref: el => (this.imageEl = el) }, h("img", { key: '9c5dd8cafb8e14f7f0e5d6ee2cc999a139580342', src: this.url, class: "cty-crop-image__image" })), h("div", { key: 'eafd9083b6728615b767dae842c8b102ad40916d', class: "cty-crop-image__clip", ref: el => (this.clipEl = el) }), h("slot", { key: '25cb5fb31191e0a991064164b4c5752f39b7499b', name: "clip" }), this.renderButtons(), h("slot", { key: 'e60a010fea26d6fa38a380c4cb9f6c4c28c25558', name: "footer" })));
212
212
  }
213
213
  get el() { return this; }
214
214
  static get style() { return cropImageCss; }