@uploadcare/file-uploader 1.5.3-alpha.0 → 1.5.3-alpha.2

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 (282) hide show
  1. package/README.md +5 -5
  2. package/abstract/ActivityBlock.d.ts +3 -3
  3. package/abstract/ActivityBlock.d.ts.map +1 -1
  4. package/abstract/Block.d.ts +4 -11
  5. package/abstract/Block.d.ts.map +1 -1
  6. package/abstract/Block.js +16 -16
  7. package/abstract/CTX.d.ts +7 -7
  8. package/abstract/CTX.d.ts.map +1 -1
  9. package/abstract/CTX.js +1 -1
  10. package/abstract/LocaleManager.d.ts +3 -3
  11. package/abstract/SecureUploadsManager.d.ts +2 -2
  12. package/abstract/SecureUploadsManager.d.ts.map +1 -1
  13. package/abstract/SolutionBlock.d.ts +2 -2
  14. package/abstract/SolutionBlock.d.ts.map +1 -1
  15. package/abstract/TypedCollection.d.ts +1 -1
  16. package/abstract/TypedCollection.d.ts.map +1 -1
  17. package/abstract/TypedCollection.js +4 -4
  18. package/abstract/TypedData.d.ts +2 -2
  19. package/abstract/TypedData.d.ts.map +1 -1
  20. package/abstract/TypedData.js +4 -4
  21. package/abstract/UploaderBlock.d.ts +5 -5
  22. package/abstract/UploaderBlock.d.ts.map +1 -1
  23. package/abstract/UploaderBlock.js +5 -5
  24. package/abstract/UploaderPublicApi.d.ts +22 -21
  25. package/abstract/UploaderPublicApi.d.ts.map +1 -1
  26. package/abstract/UploaderPublicApi.js +3 -3
  27. package/abstract/ValidationManager.d.ts +3 -3
  28. package/abstract/ValidationManager.d.ts.map +1 -1
  29. package/abstract/a11y.d.ts +2 -2
  30. package/abstract/a11y.d.ts.map +1 -1
  31. package/abstract/buildOutputCollectionState.d.ts +1 -1
  32. package/abstract/buildOutputCollectionState.d.ts.map +1 -1
  33. package/abstract/defineComponents.d.ts.map +1 -1
  34. package/abstract/defineComponents.js +5 -0
  35. package/abstract/l10nProcessor.d.ts.map +1 -1
  36. package/abstract/l10nProcessor.js +3 -3
  37. package/abstract/loadFileUploaderFrom.d.ts.map +1 -1
  38. package/abstract/localeRegistry.d.ts.map +1 -1
  39. package/abstract/sharedConfigKey.d.ts.map +1 -1
  40. package/abstract/uploadEntrySchema.d.ts +2 -2
  41. package/abstract/uploadEntrySchema.d.ts.map +1 -1
  42. package/abstract/uploadEntrySchema.js +1 -1
  43. package/blocks/CameraSource/CameraSource.d.ts.map +1 -1
  44. package/blocks/CameraSource/CameraSource.js +5 -4
  45. package/blocks/CloudImageEditor/src/CloudImageEditorBlock.d.ts.map +1 -1
  46. package/blocks/CloudImageEditor/src/CropFrame.d.ts +11 -11
  47. package/blocks/CloudImageEditor/src/CropFrame.d.ts.map +1 -1
  48. package/blocks/CloudImageEditor/src/CropFrame.js +2 -1
  49. package/blocks/CloudImageEditor/src/EditorButtonControl.d.ts.map +1 -1
  50. package/blocks/CloudImageEditor/src/EditorButtonControl.js +2 -1
  51. package/blocks/CloudImageEditor/src/EditorFilterControl.d.ts.map +1 -1
  52. package/blocks/CloudImageEditor/src/EditorFilterControl.js +3 -7
  53. package/blocks/CloudImageEditor/src/EditorImageCropper.d.ts +3 -3
  54. package/blocks/CloudImageEditor/src/EditorImageCropper.js +2 -2
  55. package/blocks/CloudImageEditor/src/EditorImageFader.d.ts +1 -1
  56. package/blocks/CloudImageEditor/src/EditorImageFader.d.ts.map +1 -1
  57. package/blocks/CloudImageEditor/src/EditorOperationControl.js +1 -1
  58. package/blocks/CloudImageEditor/src/EditorScroller.d.ts.map +1 -1
  59. package/blocks/CloudImageEditor/src/EditorScroller.js +2 -1
  60. package/blocks/CloudImageEditor/src/EditorSlider.d.ts.map +1 -1
  61. package/blocks/CloudImageEditor/src/EditorSlider.js +2 -1
  62. package/blocks/CloudImageEditor/src/EditorToolbar.d.ts +1 -1
  63. package/blocks/CloudImageEditor/src/EditorToolbar.d.ts.map +1 -1
  64. package/blocks/CloudImageEditor/src/EditorToolbar.js +4 -3
  65. package/blocks/CloudImageEditor/src/crop-utils.d.ts +14 -14
  66. package/blocks/CloudImageEditor/src/crop-utils.d.ts.map +1 -1
  67. package/blocks/CloudImageEditor/src/css/common.css +2 -2
  68. package/blocks/CloudImageEditor/src/elements/button/BtnUi.d.ts.map +1 -1
  69. package/blocks/CloudImageEditor/src/elements/button/BtnUi.js +3 -3
  70. package/blocks/CloudImageEditor/src/elements/line-loader/LineLoaderUi.d.ts.map +1 -1
  71. package/blocks/CloudImageEditor/src/elements/line-loader/LineLoaderUi.js +2 -1
  72. package/blocks/CloudImageEditor/src/elements/presence-toggle/PresenceToggle.d.ts.map +1 -1
  73. package/blocks/CloudImageEditor/src/elements/presence-toggle/PresenceToggle.js +3 -2
  74. package/blocks/CloudImageEditor/src/elements/slider/SliderUi.d.ts.map +1 -1
  75. package/blocks/CloudImageEditor/src/elements/slider/SliderUi.js +2 -1
  76. package/blocks/CloudImageEditor/src/lib/parseCropPreset.d.ts +1 -1
  77. package/blocks/CloudImageEditor/src/lib/transformationUtils.d.ts +3 -3
  78. package/blocks/CloudImageEditor/src/lib/transformationUtils.d.ts.map +1 -1
  79. package/blocks/CloudImageEditor/src/state.d.ts +4 -4
  80. package/blocks/CloudImageEditor/src/template.d.ts.map +1 -1
  81. package/blocks/CloudImageEditor/src/template.js +2 -1
  82. package/blocks/CloudImageEditor/src/types.d.ts +2 -2
  83. package/blocks/CloudImageEditor/src/types.d.ts.map +1 -1
  84. package/blocks/CloudImageEditorActivity/CloudImageEditorActivity.d.ts +1 -1
  85. package/blocks/CloudImageEditorActivity/CloudImageEditorActivity.d.ts.map +1 -1
  86. package/blocks/CloudImageEditorActivity/CloudImageEditorActivity.js +2 -1
  87. package/blocks/Config/Config.d.ts +3 -11
  88. package/blocks/Config/Config.d.ts.map +1 -1
  89. package/blocks/Config/initialConfig.d.ts +1 -1
  90. package/blocks/Config/normalizeConfigValue.d.ts.map +1 -1
  91. package/blocks/Copyright/Copyright.d.ts.map +1 -1
  92. package/blocks/Copyright/Copyright.js +2 -1
  93. package/blocks/DropArea/DropArea.d.ts +2 -2
  94. package/blocks/DropArea/DropArea.d.ts.map +1 -1
  95. package/blocks/DropArea/DropArea.js +3 -3
  96. package/blocks/DropArea/addDropzone.d.ts.map +1 -1
  97. package/blocks/DropArea/getDropItems.d.ts +2 -2
  98. package/blocks/DropArea/getDropItems.d.ts.map +1 -1
  99. package/blocks/ExternalSource/ExternalSource.d.ts +5 -5
  100. package/blocks/ExternalSource/ExternalSource.d.ts.map +1 -1
  101. package/blocks/ExternalSource/ExternalSource.js +3 -3
  102. package/blocks/ExternalSource/buildStyles.js +2 -2
  103. package/blocks/ExternalSource/query-string.d.ts.map +1 -1
  104. package/blocks/FileItem/FileItem.d.ts +2 -2
  105. package/blocks/FileItem/FileItem.d.ts.map +1 -1
  106. package/blocks/FileItem/FileItem.js +7 -3
  107. package/blocks/FormInput/FormInput.js +1 -1
  108. package/blocks/Icon/Icon.d.ts +0 -1
  109. package/blocks/Icon/Icon.d.ts.map +1 -1
  110. package/blocks/Icon/Icon.js +2 -4
  111. package/blocks/Img/ImgBase.js +9 -9
  112. package/blocks/Img/ImgConfig.d.ts +2 -2
  113. package/blocks/Img/ImgConfig.d.ts.map +1 -1
  114. package/blocks/Img/ImgConfig.js +3 -3
  115. package/blocks/Img/utils/parseObjectToString.js +1 -1
  116. package/blocks/Modal/Modal.d.ts.map +1 -1
  117. package/blocks/Modal/Modal.js +2 -1
  118. package/blocks/ProgressBar/ProgressBar.d.ts.map +1 -1
  119. package/blocks/ProgressBar/ProgressBar.js +2 -1
  120. package/blocks/ProgressBarCommon/ProgressBarCommon.d.ts.map +1 -1
  121. package/blocks/ProgressBarCommon/ProgressBarCommon.js +2 -1
  122. package/blocks/Select/Select.d.ts.map +1 -1
  123. package/blocks/Select/Select.js +14 -9
  124. package/blocks/SimpleBtn/SimpleBtn.d.ts +2 -2
  125. package/blocks/SimpleBtn/SimpleBtn.d.ts.map +1 -1
  126. package/blocks/SimpleBtn/SimpleBtn.js +2 -1
  127. package/blocks/SourceBtn/SourceBtn.d.ts +2 -2
  128. package/blocks/SourceBtn/SourceBtn.d.ts.map +1 -1
  129. package/blocks/SourceBtn/SourceBtn.js +3 -3
  130. package/blocks/SourceList/SourceList.d.ts.map +1 -1
  131. package/blocks/SourceList/SourceList.js +5 -4
  132. package/blocks/StartFrom/StartFrom.d.ts.map +1 -1
  133. package/blocks/StartFrom/StartFrom.js +2 -1
  134. package/blocks/UploadCtxProvider/EventEmitter.d.ts +19 -19
  135. package/blocks/UploadCtxProvider/EventEmitter.d.ts.map +1 -1
  136. package/blocks/UploadCtxProvider/UploadCtxProvider.d.ts +4 -4
  137. package/blocks/UploadCtxProvider/UploadCtxProvider.d.ts.map +1 -1
  138. package/blocks/UploadList/UploadList.d.ts +2 -2
  139. package/blocks/UploadList/UploadList.d.ts.map +1 -1
  140. package/blocks/UploadList/UploadList.js +3 -4
  141. package/blocks/UrlSource/UrlSource.d.ts.map +1 -1
  142. package/blocks/UrlSource/UrlSource.js +3 -2
  143. package/blocks/themes/uc-basic/index.css +0 -1
  144. package/blocks/utils/debounce.d.ts +3 -1
  145. package/blocks/utils/debounce.d.ts.map +1 -1
  146. package/blocks/utils/throttle.d.ts +3 -1
  147. package/blocks/utils/throttle.d.ts.map +1 -1
  148. package/blocks/utils/userAgent.d.ts +1 -1
  149. package/blocks/utils/userAgent.d.ts.map +1 -1
  150. package/index.d.ts +1 -1
  151. package/index.js +1 -1
  152. package/index.ssr.d.ts +115 -1
  153. package/index.ssr.d.ts.map +1 -1
  154. package/index.ssr.js +118 -7
  155. package/locales/file-uploader/ar.d.ts +5 -0
  156. package/locales/file-uploader/ar.js +5 -0
  157. package/locales/file-uploader/az.d.ts +5 -0
  158. package/locales/file-uploader/az.js +5 -0
  159. package/locales/file-uploader/ca.d.ts +5 -0
  160. package/locales/file-uploader/ca.js +5 -0
  161. package/locales/file-uploader/cs.d.ts +5 -0
  162. package/locales/file-uploader/cs.js +5 -0
  163. package/locales/file-uploader/da.d.ts +5 -0
  164. package/locales/file-uploader/da.js +5 -0
  165. package/locales/file-uploader/de.d.ts +5 -0
  166. package/locales/file-uploader/de.js +5 -0
  167. package/locales/file-uploader/el.d.ts +5 -0
  168. package/locales/file-uploader/el.js +5 -0
  169. package/locales/file-uploader/en.d.ts +5 -0
  170. package/locales/file-uploader/en.js +5 -0
  171. package/locales/file-uploader/es.d.ts +5 -0
  172. package/locales/file-uploader/es.js +5 -0
  173. package/locales/file-uploader/et.d.ts +5 -0
  174. package/locales/file-uploader/et.js +5 -0
  175. package/locales/file-uploader/fr.d.ts +5 -0
  176. package/locales/file-uploader/fr.js +5 -0
  177. package/locales/file-uploader/he.d.ts +5 -0
  178. package/locales/file-uploader/he.js +5 -0
  179. package/locales/file-uploader/hy.d.ts +5 -0
  180. package/locales/file-uploader/hy.js +5 -0
  181. package/locales/file-uploader/is.d.ts +5 -0
  182. package/locales/file-uploader/is.js +5 -0
  183. package/locales/file-uploader/it.d.ts +5 -0
  184. package/locales/file-uploader/it.js +5 -0
  185. package/locales/file-uploader/ja.d.ts +5 -0
  186. package/locales/file-uploader/ja.js +5 -0
  187. package/locales/file-uploader/ka.d.ts +5 -0
  188. package/locales/file-uploader/ka.js +5 -0
  189. package/locales/file-uploader/kk.d.ts +5 -0
  190. package/locales/file-uploader/kk.js +5 -0
  191. package/locales/file-uploader/ko.d.ts +5 -0
  192. package/locales/file-uploader/ko.js +5 -0
  193. package/locales/file-uploader/lv.d.ts +5 -0
  194. package/locales/file-uploader/lv.js +5 -0
  195. package/locales/file-uploader/nb.d.ts +5 -0
  196. package/locales/file-uploader/nb.js +5 -0
  197. package/locales/file-uploader/nl.d.ts +5 -0
  198. package/locales/file-uploader/nl.js +5 -0
  199. package/locales/file-uploader/pl.d.ts +5 -0
  200. package/locales/file-uploader/pl.js +5 -0
  201. package/locales/file-uploader/pt.d.ts +5 -0
  202. package/locales/file-uploader/pt.js +5 -0
  203. package/locales/file-uploader/ro.d.ts +5 -0
  204. package/locales/file-uploader/ro.js +5 -0
  205. package/locales/file-uploader/ru.d.ts +5 -0
  206. package/locales/file-uploader/ru.js +5 -0
  207. package/locales/file-uploader/sk.d.ts +5 -0
  208. package/locales/file-uploader/sk.js +5 -0
  209. package/locales/file-uploader/sr.d.ts +5 -0
  210. package/locales/file-uploader/sr.js +5 -0
  211. package/locales/file-uploader/sv.d.ts +5 -0
  212. package/locales/file-uploader/sv.js +5 -0
  213. package/locales/file-uploader/tr.d.ts +5 -0
  214. package/locales/file-uploader/tr.js +5 -0
  215. package/locales/file-uploader/uk.d.ts +5 -0
  216. package/locales/file-uploader/uk.js +5 -0
  217. package/locales/file-uploader/vi.d.ts +5 -0
  218. package/locales/file-uploader/vi.js +5 -0
  219. package/locales/file-uploader/zh-TW.d.ts +5 -0
  220. package/locales/file-uploader/zh-TW.js +5 -0
  221. package/locales/file-uploader/zh.d.ts +5 -0
  222. package/locales/file-uploader/zh.js +5 -0
  223. package/package.json +10 -7
  224. package/solutions/file-uploader/inline/FileUploaderInline.d.ts +2 -2
  225. package/solutions/file-uploader/inline/FileUploaderInline.d.ts.map +1 -1
  226. package/solutions/file-uploader/inline/FileUploaderInline.js +3 -4
  227. package/solutions/file-uploader/minimal/FileUploaderMinimal.d.ts.map +1 -1
  228. package/solutions/file-uploader/minimal/FileUploaderMinimal.js +2 -1
  229. package/solutions/file-uploader/regular/FileUploaderRegular.d.ts +3 -3
  230. package/solutions/file-uploader/regular/FileUploaderRegular.d.ts.map +1 -1
  231. package/solutions/file-uploader/regular/FileUploaderRegular.js +3 -2
  232. package/symbiote.js +19 -0
  233. package/types/jsx.d.ts +9 -3
  234. package/utils/getPluralForm.d.ts.map +1 -1
  235. package/utils/isSecureTokenExpired.d.ts +1 -1
  236. package/utils/memoize.d.ts.map +1 -1
  237. package/utils/mixinClass.d.ts +3 -1
  238. package/utils/mixinClass.d.ts.map +1 -1
  239. package/utils/prettyBytes.d.ts.map +1 -1
  240. package/utils/template-utils.d.ts.map +1 -1
  241. package/utils/toKebabCase.d.ts.map +1 -1
  242. package/utils/uniqueArray.d.ts.map +1 -1
  243. package/utils/validators/collection/validateCollectionUploadError.d.ts +1 -1
  244. package/utils/validators/collection/validateMultiple.d.ts +1 -1
  245. package/utils/validators/file/validateFileType.d.ts +1 -1
  246. package/utils/validators/file/validateIsImage.d.ts +1 -1
  247. package/utils/validators/file/validateMaxSizeLimit.d.ts +1 -1
  248. package/utils/validators/file/validateUploadError.d.ts +1 -1
  249. package/utils/waitForAttribute.d.ts +12 -6
  250. package/utils/waitForAttribute.d.ts.map +1 -1
  251. package/utils/waitForAttribute.js +38 -8
  252. package/utils/waitForAttribute.test.js +10 -47
  253. package/utils/withResolvers.d.ts +7 -0
  254. package/utils/withResolvers.d.ts.map +1 -0
  255. package/utils/withResolvers.js +17 -0
  256. package/utils/withResolvers.test.d.ts +2 -0
  257. package/utils/withResolvers.test.d.ts.map +1 -0
  258. package/utils/withResolvers.test.js +27 -0
  259. package/web/file-uploader.iife.min.js +5 -4
  260. package/web/file-uploader.min.js +5 -4
  261. package/web/uc-basic.min.css +1 -1
  262. package/web/uc-cloud-image-editor.min.css +1 -1
  263. package/web/uc-cloud-image-editor.min.js +5 -4
  264. package/web/uc-file-uploader-inline.min.css +1 -1
  265. package/web/uc-file-uploader-inline.min.js +5 -4
  266. package/web/uc-file-uploader-minimal.min.js +4 -3
  267. package/web/uc-file-uploader-regular.min.css +1 -1
  268. package/web/uc-file-uploader-regular.min.js +5 -4
  269. package/web/uc-img.min.js +4 -3
  270. package/blocks/CloudImageEditor/src/lib/FocusVisible.d.ts +0 -15
  271. package/blocks/CloudImageEditor/src/lib/FocusVisible.d.ts.map +0 -1
  272. package/blocks/CloudImageEditor/src/lib/FocusVisible.js +0 -33
  273. package/blocks/CloudImageEditor/src/lib/applyFocusVisiblePolyfill.d.ts +0 -10
  274. package/blocks/CloudImageEditor/src/lib/applyFocusVisiblePolyfill.d.ts.map +0 -1
  275. package/blocks/CloudImageEditor/src/lib/applyFocusVisiblePolyfill.js +0 -256
  276. package/blocks/EditorFilerobotImage/EditorFilerobotImage.d.ts +0 -13
  277. package/blocks/EditorFilerobotImage/EditorFilerobotImage.d.ts.map +0 -1
  278. package/blocks/EditorFilerobotImage/EditorFilerobotImage.js +0 -59
  279. package/blocks/Range/Range.d.ts +0 -16
  280. package/blocks/Range/Range.d.ts.map +0 -1
  281. package/blocks/Range/Range.js +0 -44
  282. package/blocks/Range/range.css +0 -65
package/web/uc-img.min.js CHANGED
@@ -1,4 +1,5 @@
1
1
  /**
2
+ * @version v1.5.2
2
3
  * @license
3
4
  * MIT License
4
5
  *
@@ -23,6 +24,6 @@
23
24
  * SOFTWARE.
24
25
  *
25
26
  */
26
- var ot=Object.defineProperty;var at=(t,s,e)=>s in t?ot(t,s,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[s]=e;var w=(t,s,e)=>(at(t,typeof s!="symbol"?s+"":s,e),e);var lt=t=>t,ht="{{",ut="}}";function j(t,s,e={}){var o;let{openToken:r=ht,closeToken:i=ut,transform:n=lt}=e;for(let l in s){let u=(o=s[l])==null?void 0:o.toString();t=t.replaceAll(r+l+i,typeof u=="string"?n(u):u)}return t}var ct=t=>{if(typeof t!="string"||!t)return"";let s=t.trim();return s.startsWith("-/")?s=s.slice(2):s.startsWith("/")&&(s=s.slice(1)),s.endsWith("/")&&(s=s.slice(0,s.length-1)),s},dt=(...t)=>t.filter(s=>typeof s=="string"&&s).map(s=>ct(s)).join("/-/"),W=(...t)=>{let s=dt(...t);return s?`-/${s}/`:""};function K(t){let s=new URL(t),e=s.pathname+s.search+s.hash,r=e.lastIndexOf("http"),i=e.lastIndexOf("/"),n="";return r>=0?n=e.slice(r):i>=0&&(n=e.slice(i+1)),n}function _t(t){let s=new URL(t),e=K(t),r=z(e)?H(e).pathname:e;return s.pathname=s.pathname.replace(r,""),s.search="",s.hash="",s.toString()}function z(t){return t.startsWith("http")}function H(t){let s=new URL(t);return{pathname:s.origin+s.pathname||"",search:s.search||"",hash:s.hash||""}}var m=(t,s,e)=>{let r=new URL(_t(t));if(e=e||K(t),r.pathname.startsWith("//")&&(r.pathname=r.pathname.replace("//","/")),z(e)){let i=H(e);r.pathname=r.pathname+(s||"")+(i.pathname||""),r.search=i.search,r.hash=i.hash}else r.pathname=r.pathname+(s||"")+(e||"");return r.toString()},D=(t,s)=>{let e=new URL(t);return e.pathname=s+"/",e.toString()};var q=(t,s=",")=>t.trim().split(s).map(e=>e.trim()).filter(e=>e.length>0);var V=t=>[...new Set(t)];var G=t=>Object.entries(t).filter(([s,e])=>e!==void 0&&e!=="").map(([s,e])=>s==="cdn-operations"||s==="analytics"?e:`${s}/${e}`);var pt=Object.defineProperty,ft=(t,s,e)=>s in t?pt(t,s,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[s]=e,L=(t,s,e)=>(ft(t,typeof s!="symbol"?s+"":s,e),e);function mt(t){let s=e=>{var r;for(let i in e)((r=e[i])==null?void 0:r.constructor)===Object&&(e[i]=s(e[i]));return{...e}};return s(t)}var c=class{constructor(t){t.constructor===Object?this.store=mt(t):(this._storeIsProxy=!0,this.store=t),this.callbackMap=Object.create(null)}static warn(t,s){console.warn(`Symbiote Data: cannot ${t}. Prop name: `+s)}read(t){return!this._storeIsProxy&&!this.store.hasOwnProperty(t)?(c.warn("read",t),null):this.store[t]}has(t){return this._storeIsProxy?this.store[t]!==void 0:this.store.hasOwnProperty(t)}add(t,s,e=!1){!e&&Object.keys(this.store).includes(t)||(this.store[t]=s,this.notify(t))}pub(t,s){if(!this._storeIsProxy&&!this.store.hasOwnProperty(t)){c.warn("publish",t);return}this.store[t]=s,this.notify(t)}multiPub(t){for(let s in t)this.pub(s,t[s])}notify(t){this.callbackMap[t]&&this.callbackMap[t].forEach(s=>{s(this.store[t])})}sub(t,s,e=!0){return!this._storeIsProxy&&!this.store.hasOwnProperty(t)?(c.warn("subscribe",t),null):(this.callbackMap[t]||(this.callbackMap[t]=new Set),this.callbackMap[t].add(s),e&&s(this.store[t]),{remove:()=>{this.callbackMap[t].delete(s),this.callbackMap[t].size||delete this.callbackMap[t]},callback:s})}static registerCtx(t,s=Symbol()){let e=c.globalStore.get(s);return e?console.warn('State: context UID "'+s+'" already in use'):(e=new c(t),c.globalStore.set(s,e)),e}static deleteCtx(t){c.globalStore.delete(t)}static getCtx(t,s=!0){return c.globalStore.get(t)||(s&&console.warn('State: wrong context UID - "'+t+'"'),null)}};c.globalStore=new Map;var a=Object.freeze({BIND_ATTR:"set",ATTR_BIND_PRFX:"@",EXT_DATA_CTX_PRFX:"*",NAMED_DATA_CTX_SPLTR:"/",CTX_NAME_ATTR:"ctx-name",CTX_OWNER_ATTR:"ctx-owner",CSS_CTX_PROP:"--ctx-name",EL_REF_ATTR:"ref",AUTO_TAG_PRFX:"sym",REPEAT_ATTR:"repeat",REPEAT_ITEM_TAG_ATTR:"repeat-item-tag",SET_LATER_KEY:"__toSetLater__",USE_TPL:"use-template",ROOT_STYLE_ATTR_NAME:"sym-component"}),Q="1234567890QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm",gt=Q.length-1,bt=class{static generate(t="XXXXXXXXX-XXX"){let s="";for(let e=0;e<t.length;e++)s+=t[e]==="-"?t[e]:Q.charAt(Math.random()*gt);return s}};function Z(t,s,e){let r=!0,i,n=s.split(".");return n.forEach((o,l)=>{l<n.length-1?t=t[o]:i=o}),t?t[i]=e:r=!1,r}function Tt(t){return t.split("-").map((s,e)=>s&&e?s[0].toUpperCase()+s.slice(1):s).join("").split("_").map((s,e)=>s&&e?s.toUpperCase():s).join("")}function Et(t,s){[...t.querySelectorAll(`[${a.REPEAT_ATTR}]`)].forEach(e=>{let r=e.getAttribute(a.REPEAT_ITEM_TAG_ATTR),i;if(r&&(i=window.customElements.get(r)),!i){i=class extends s.BaseComponent{constructor(){super(),r||(this.style.display="contents")}};let o=e.innerHTML;i.template=o,i.reg(r)}for(;e.firstChild;)e.firstChild.remove();let n=e.getAttribute(a.REPEAT_ATTR);s.sub(n,o=>{if(!o){for(;e.firstChild;)e.firstChild.remove();return}let l=[...e.children],u,C=d=>{d.forEach((h,A)=>{if(l[A])if(l[A].set$)setTimeout(()=>{l[A].set$(h)});else for(let E in h)l[A][E]=h[E];else{u||(u=new DocumentFragment);let E=new i;Object.assign(E.init$,h),u.appendChild(E)}}),u&&e.appendChild(u);let _=l.slice(d.length,l.length);for(let h of _)h.remove()};if(o.constructor===Array)C(o);else if(o.constructor===Object){let d=[];for(let _ in o){let h=o[_];Object.defineProperty(h,"_KEY_",{value:_,enumerable:!0}),d.push(h)}C(d)}else console.warn("Symbiote repeat data type error:"),console.log(o)}),e.removeAttribute(a.REPEAT_ATTR),e.removeAttribute(a.REPEAT_ITEM_TAG_ATTR)})}var Y="__default__";function wt(t,s){if(s.shadowRoot)return;let e=[...t.querySelectorAll("slot")];if(!e.length)return;let r={};e.forEach(i=>{let n=i.getAttribute("name")||Y;r[n]={slot:i,fr:document.createDocumentFragment()}}),s.initChildren.forEach(i=>{var n;let o=Y;i instanceof Element&&i.hasAttribute("slot")&&(o=i.getAttribute("slot"),i.removeAttribute("slot")),(n=r[o])==null||n.fr.appendChild(i)}),Object.values(r).forEach(i=>{if(i.fr.childNodes.length)i.slot.parentNode.replaceChild(i.fr,i.slot);else if(i.slot.childNodes.length){let n=document.createDocumentFragment();n.append(...i.slot.childNodes),i.slot.parentNode.replaceChild(n,i.slot)}else i.slot.remove()})}function vt(t,s){[...t.querySelectorAll(`[${a.EL_REF_ATTR}]`)].forEach(e=>{let r=e.getAttribute(a.EL_REF_ATTR);s.ref[r]=e,e.removeAttribute(a.EL_REF_ATTR)})}function yt(t,s){[...t.querySelectorAll(`[${a.BIND_ATTR}]`)].forEach(e=>{let i=e.getAttribute(a.BIND_ATTR).split(";");[...e.attributes].forEach(n=>{if(n.name.startsWith("-")&&n.value){let o=Tt(n.name.replace("-",""));i.push(o+":"+n.value),e.removeAttribute(n.name)}}),i.forEach(n=>{if(!n)return;let o=n.split(":").map(d=>d.trim()),l=o[0],u;l.indexOf(a.ATTR_BIND_PRFX)===0&&(u=!0,l=l.replace(a.ATTR_BIND_PRFX,""));let C=o[1].split(",").map(d=>d.trim());for(let d of C){let _;d.startsWith("!!")?(_="double",d=d.replace("!!","")):d.startsWith("!")&&(_="single",d=d.replace("!","")),s.sub(d,h=>{_==="double"?h=!!h:_==="single"&&(h=!h),u?(h==null?void 0:h.constructor)===Boolean?h?e.setAttribute(l,""):e.removeAttribute(l):e.setAttribute(l,h):Z(e,l,h)||(e[a.SET_LATER_KEY]||(e[a.SET_LATER_KEY]=Object.create(null)),e[a.SET_LATER_KEY][l]=h)})}}),e.removeAttribute(a.BIND_ATTR)})}var x="{{",v="}}",Ct="skip-text";function At(t){let s,e=[],r=document.createTreeWalker(t,NodeFilter.SHOW_TEXT,{acceptNode:i=>{var n;return!((n=i.parentElement)!=null&&n.hasAttribute(Ct))&&i.textContent.includes(x)&&i.textContent.includes(v)&&1}});for(;s=r.nextNode();)e.push(s);return e}var xt=function(t,s){At(t).forEach(r=>{let i=[],n;for(;r.textContent.includes(v);)r.textContent.startsWith(x)?(n=r.textContent.indexOf(v)+v.length,r.splitText(n),i.push(r)):(n=r.textContent.indexOf(x),r.splitText(n)),r=r.nextSibling;i.forEach(o=>{let l=o.textContent.replace(x,"").replace(v,"");o.textContent="",s.sub(l,u=>{o.textContent=u})})})},St=[Et,wt,vt,yt,xt],S="'",b='"',Pt=/\\([0-9a-fA-F]{1,6} ?)/g;function $t(t){return(t[0]===b||t[0]===S)&&(t[t.length-1]===b||t[t.length-1]===S)}function Rt(t){return(t[0]===b||t[0]===S)&&(t=t.slice(1)),(t[t.length-1]===b||t[t.length-1]===S)&&(t=t.slice(0,-1)),t}function Ot(t){let s="",e="";for(var r=0;r<t.length;r++){let i=t[r+1];t[r]==="\\"&&i==='"'?(s+='\\"',r++):t[r]==='"'&&e!=="\\"?s+='\\"':s+=t[r],e=t[r]}return s}function It(t){let s=t;$t(t)&&(s=Rt(s),s=s.replace(Pt,(e,r)=>String.fromCodePoint(parseInt(r.trim(),16))),s=s.replaceAll(`\\
27
- `,"\\n"),s=Ot(s),s=b+s+b);try{return JSON.parse(s)}catch{throw new Error(`Failed to parse CSS property value: ${s}. Original input: ${t}`)}}var J=0,g=null,p=null,f=class extends HTMLElement{constructor(){super(),L(this,"updateCssData",()=>{var t;this.dropCssDataCache(),(t=this.__boundCssProps)==null||t.forEach(s=>{let e=this.getCssData(this.__extractCssName(s),!0);e!==null&&this.$[s]!==e&&(this.$[s]=e)})}),this.init$=Object.create(null),this.cssInit$=Object.create(null),this.tplProcessors=new Set,this.ref=Object.create(null),this.allSubs=new Set,this.pauseRender=!1,this.renderShadow=!1,this.readyToDestroy=!0,this.processInnerHtml=!1,this.allowCustomTemplate=!1,this.ctxOwner=!1}get BaseComponent(){return f}initCallback(){}__initCallback(){var t;this.__initialized||(this.__initialized=!0,(t=this.initCallback)==null||t.call(this))}render(t,s=this.renderShadow){let e;if((s||this.constructor.__shadowStylesUrl)&&!this.shadowRoot&&this.attachShadow({mode:"open"}),this.allowCustomTemplate){let i=this.getAttribute(a.USE_TPL);if(i){let n=this.getRootNode(),o=(n==null?void 0:n.querySelector(i))||document.querySelector(i);o?t=o.content.cloneNode(!0):console.warn(`Symbiote template "${i}" is not found...`)}}if(this.processInnerHtml)for(let i of this.tplProcessors)i(this,this);if(t||this.constructor.template){if(this.constructor.template&&!this.constructor.__tpl&&(this.constructor.__tpl=document.createElement("template"),this.constructor.__tpl.innerHTML=this.constructor.template),(t==null?void 0:t.constructor)===DocumentFragment)e=t;else if((t==null?void 0:t.constructor)===String){let i=document.createElement("template");i.innerHTML=t,e=i.content.cloneNode(!0)}else this.constructor.__tpl&&(e=this.constructor.__tpl.content.cloneNode(!0));for(let i of this.tplProcessors)i(e,this)}let r=()=>{e&&(s&&this.shadowRoot.appendChild(e)||this.appendChild(e)),this.__initCallback()};if(this.constructor.__shadowStylesUrl){s=!0;let i=document.createElement("link");i.rel="stylesheet",i.href=this.constructor.__shadowStylesUrl,i.onload=r,this.shadowRoot.prepend(i)}else r()}addTemplateProcessor(t){this.tplProcessors.add(t)}get autoCtxName(){return this.__autoCtxName||(this.__autoCtxName=bt.generate(),this.style.setProperty(a.CSS_CTX_PROP,`'${this.__autoCtxName}'`)),this.__autoCtxName}get cssCtxName(){return this.getCssData(a.CSS_CTX_PROP,!0)}get ctxName(){var t;let s=((t=this.getAttribute(a.CTX_NAME_ATTR))==null?void 0:t.trim())||this.cssCtxName||this.__cachedCtxName||this.autoCtxName;return this.__cachedCtxName=s,s}get localCtx(){return this.__localCtx||(this.__localCtx=c.registerCtx({},this)),this.__localCtx}get nodeCtx(){return c.getCtx(this.ctxName,!1)||c.registerCtx({},this.ctxName)}static __parseProp(t,s){let e,r;if(t.startsWith(a.EXT_DATA_CTX_PRFX))e=s.nodeCtx,r=t.replace(a.EXT_DATA_CTX_PRFX,"");else if(t.includes(a.NAMED_DATA_CTX_SPLTR)){let i=t.split(a.NAMED_DATA_CTX_SPLTR);e=c.getCtx(i[0]),r=i[1]}else e=s.localCtx,r=t;return{ctx:e,name:r}}sub(t,s,e=!0){let r=n=>{this.isConnected&&s(n)},i=f.__parseProp(t,this);i.ctx.has(i.name)?this.allSubs.add(i.ctx.sub(i.name,r,e)):window.setTimeout(()=>{this.allSubs.add(i.ctx.sub(i.name,r,e))})}notify(t){let s=f.__parseProp(t,this);s.ctx.notify(s.name)}has(t){let s=f.__parseProp(t,this);return s.ctx.has(s.name)}add(t,s,e=!1){let r=f.__parseProp(t,this);r.ctx.add(r.name,s,e)}add$(t,s=!1){for(let e in t)this.add(e,t[e],s)}get $(){if(!this.__stateProxy){let t=Object.create(null);this.__stateProxy=new Proxy(t,{set:(s,e,r)=>{let i=f.__parseProp(e,this);return i.ctx.pub(i.name,r),!0},get:(s,e)=>{let r=f.__parseProp(e,this);return r.ctx.read(r.name)}})}return this.__stateProxy}set$(t,s=!1){for(let e in t){let r=t[e];s||![String,Number,Boolean].includes(r==null?void 0:r.constructor)?this.$[e]=r:this.$[e]!==r&&(this.$[e]=r)}}get __ctxOwner(){return this.ctxOwner||this.hasAttribute(a.CTX_OWNER_ATTR)&&this.getAttribute(a.CTX_OWNER_ATTR)!=="false"}__initDataCtx(){let t=this.constructor.__attrDesc;if(t)for(let s of Object.values(t))Object.keys(this.init$).includes(s)||(this.init$[s]="");for(let s in this.init$)if(s.startsWith(a.EXT_DATA_CTX_PRFX))this.nodeCtx.add(s.replace(a.EXT_DATA_CTX_PRFX,""),this.init$[s],this.__ctxOwner);else if(s.includes(a.NAMED_DATA_CTX_SPLTR)){let e=s.split(a.NAMED_DATA_CTX_SPLTR),r=e[0].trim(),i=e[1].trim();if(r&&i){let n=c.getCtx(r,!1);n||(n=c.registerCtx({},r)),n.add(i,this.init$[s])}}else this.localCtx.add(s,this.init$[s]);for(let s in this.cssInit$)this.bindCssData(s,this.cssInit$[s]);this.__dataCtxInitialized=!0}connectedCallback(){var t;if(this.isConnected){if(this.__disconnectTimeout&&window.clearTimeout(this.__disconnectTimeout),!this.connectedOnce){let s=(t=this.getAttribute(a.CTX_NAME_ATTR))==null?void 0:t.trim();if(s&&this.style.setProperty(a.CSS_CTX_PROP,`'${s}'`),this.__initDataCtx(),this[a.SET_LATER_KEY]){for(let e in this[a.SET_LATER_KEY])Z(this,e,this[a.SET_LATER_KEY][e]);delete this[a.SET_LATER_KEY]}this.initChildren=[...this.childNodes];for(let e of St)this.addTemplateProcessor(e);if(this.pauseRender)this.__initCallback();else if(this.constructor.__rootStylesLink){let e=this.getRootNode();if(!e)return;if(e==null?void 0:e.querySelector(`link[${a.ROOT_STYLE_ATTR_NAME}="${this.constructor.is}"]`)){this.render();return}let i=this.constructor.__rootStylesLink.cloneNode(!0);i.setAttribute(a.ROOT_STYLE_ATTR_NAME,this.constructor.is),i.onload=()=>{this.render()},e.nodeType===Node.DOCUMENT_NODE?e.head.appendChild(i):e.prepend(i)}else this.render()}this.connectedOnce=!0}}destroyCallback(){}disconnectedCallback(){this.connectedOnce&&(this.dropCssDataCache(),this.readyToDestroy&&(this.__disconnectTimeout&&window.clearTimeout(this.__disconnectTimeout),this.__disconnectTimeout=window.setTimeout(()=>{this.destroyCallback();for(let t of this.allSubs)t.remove(),this.allSubs.delete(t);for(let t of this.tplProcessors)this.tplProcessors.delete(t);p==null||p.delete(this.updateCssData),p!=null&&p.size||(g==null||g.disconnect(),g=null,p=null)},100)))}static reg(t,s=!1){t||(J++,t=`${a.AUTO_TAG_PRFX}-${J}`),this.__tag=t;let e=window.customElements.get(t);if(e){!s&&e!==this&&console.warn([`Element with tag name "${t}" already registered.`,`You're trying to override it with another class "${this.name}".`,"This is most likely a mistake.","New element will not be registered."].join(`
28
- `));return}window.customElements.define(t,s?class extends this{}:this)}static get is(){return this.__tag||this.reg(),this.__tag}static bindAttributes(t){this.observedAttributes=Object.keys(t),this.__attrDesc=t}attributeChangedCallback(t,s,e){var r;if(s===e)return;let i=(r=this.constructor.__attrDesc)==null?void 0:r[t];i?this.__dataCtxInitialized?this.$[i]=e:this.init$[i]=e:this[t]=e}getCssData(t,s=!1){if(this.__cssDataCache||(this.__cssDataCache=Object.create(null)),!Object.keys(this.__cssDataCache).includes(t)){this.__computedStyle||(this.__computedStyle=window.getComputedStyle(this));let e=this.__computedStyle.getPropertyValue(t).trim();try{this.__cssDataCache[t]=It(e)}catch{!s&&console.warn(`CSS Data error: ${t}`),this.__cssDataCache[t]=null}}return this.__cssDataCache[t]}__extractCssName(t){return t.split("--").map((s,e)=>e===0?"":s).join("--")}__initStyleAttrObserver(){p||(p=new Set),p.add(this.updateCssData),g||(g=new MutationObserver(t=>{t[0].type==="attributes"&&p.forEach(s=>{s()})}),g.observe(document,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["style"]}))}bindCssData(t,s=""){this.__boundCssProps||(this.__boundCssProps=new Set),this.__boundCssProps.add(t);let e=this.getCssData(this.__extractCssName(t),!0);e===null&&(e=s),this.add(t,e),this.__initStyleAttrObserver()}dropCssDataCache(){this.__cssDataCache=null,this.__computedStyle=null}defineAccessor(t,s,e){let r="__"+t;this[r]=this[t],Object.defineProperty(this,t,{set:i=>{this[r]=i,e?window.setTimeout(()=>{s==null||s(i)}):s==null||s(i)},get:()=>this[r]}),this[t]=this[r]}static set shadowStyles(t){let s=new Blob([t],{type:"text/css"});this.__shadowStylesUrl=URL.createObjectURL(s)}static set rootStyles(t){if(!this.__rootStylesLink){let s=new Blob([t],{type:"text/css"}),e=URL.createObjectURL(s),r=document.createElement("link");r.href=e,r.rel="stylesheet",this.__rootStylesLink=r}}},U=f;L(U,"template");var N=class{static _print(t){console.warn(t)}static setDefaultTitle(t){this.defaultTitle=t}static setRoutingMap(t){Object.assign(this.appMap,t);for(let s in this.appMap)!this.defaultRoute&&this.appMap[s].default===!0?this.defaultRoute=s:!this.errorRoute&&this.appMap[s].error===!0&&(this.errorRoute=s)}static set routingEventName(t){this.__routingEventName=t}static get routingEventName(){return this.__routingEventName||"sym-on-route"}static readAddressBar(){let t={route:null,options:{}};return window.location.search.split(this.separator).forEach(e=>{if(e.includes("?"))t.route=e.replace("?","");else if(e.includes("=")){let r=e.split("=");t.options[r[0]]=decodeURI(r[1])}else t.options[e]=!0}),t}static notify(){let t=this.readAddressBar(),s=this.appMap[t.route];if(s&&s.title&&(document.title=s.title),t.route===null&&this.defaultRoute){this.applyRoute(this.defaultRoute);return}else if(!s&&this.errorRoute){this.applyRoute(this.errorRoute);return}else if(!s&&this.defaultRoute){this.applyRoute(this.defaultRoute);return}else if(!s){this._print(`Route "${t.route}" not found...`);return}let e=new CustomEvent(N.routingEventName,{detail:{route:t.route,options:Object.assign(s||{},t.options)}});window.dispatchEvent(e)}static reflect(t,s={}){let e=this.appMap[t];if(!e){this._print("Wrong route: "+t);return}let r="?"+t;for(let n in s)s[n]===!0?r+=this.separator+n:r+=this.separator+n+`=${s[n]}`;let i=e.title||this.defaultTitle||"";window.history.pushState(null,i,r),document.title=i}static applyRoute(t,s={}){this.reflect(t,s),this.notify()}static setSeparator(t){this._separator=t}static get separator(){return this._separator||"&"}static createRouterData(t,s){this.setRoutingMap(s);let e=c.registerCtx({route:null,options:null,title:null},t);return window.addEventListener(this.routingEventName,r=>{var i;e.multiPub({route:r.detail.route,options:r.detail.options,title:((i=r.detail.options)==null?void 0:i.title)||this.defaultTitle||""})}),N.notify(),this.initPopstateListener(),e}static initPopstateListener(){this.__onPopstate||(this.__onPopstate=()=>{this.notify()},window.addEventListener("popstate",this.__onPopstate))}static removePopstateListener(){window.removeEventListener("popstate",this.__onPopstate),this.__onPopstate=null}};N.appMap=Object.create(null);var tt="idb-store-ready",Dt="symbiote-db",Nt="symbiote-idb-update_",Lt=class{_notifyWhenReady(t=null){window.dispatchEvent(new CustomEvent(tt,{detail:{dbName:this.name,storeName:this.storeName,event:t}}))}get _updEventName(){return Nt+this.name}_getUpdateEvent(t){return new CustomEvent(this._updEventName,{detail:{key:this.name,newValue:t}})}_notifySubscribers(t){window.localStorage.removeItem(this.name),window.localStorage.setItem(this.name,t),window.dispatchEvent(this._getUpdateEvent(t))}constructor(t,s){this.name=t,this.storeName=s,this.version=1,this.request=window.indexedDB.open(this.name,this.version),this.request.onupgradeneeded=e=>{this.db=e.target.result,this.objStore=this.db.createObjectStore(s,{keyPath:"_key"}),this.objStore.transaction.oncomplete=r=>{this._notifyWhenReady(r)}},this.request.onsuccess=e=>{this.db=e.target.result,this._notifyWhenReady(e)},this.request.onerror=e=>{console.error(e)},this._subscriptionsMap={},this._updateHandler=e=>{e.key===this.name&&this._subscriptionsMap[e.newValue]&&this._subscriptionsMap[e.newValue].forEach(async i=>{i(await this.read(e.newValue))})},this._localUpdateHandler=e=>{this._updateHandler(e.detail)},window.addEventListener("storage",this._updateHandler),window.addEventListener(this._updEventName,this._localUpdateHandler)}read(t){let e=this.db.transaction(this.storeName,"readwrite").objectStore(this.storeName).get(t);return new Promise((r,i)=>{e.onsuccess=n=>{var o;(o=n.target.result)!=null&&o._value?r(n.target.result._value):(r(null),console.warn(`IDB: cannot read "${t}"`))},e.onerror=n=>{i(n)}})}write(t,s,e=!1){let r={_key:t,_value:s},n=this.db.transaction(this.storeName,"readwrite").objectStore(this.storeName).put(r);return new Promise((o,l)=>{n.onsuccess=u=>{e||this._notifySubscribers(t),o(u.target.result)},n.onerror=u=>{l(u)}})}delete(t,s=!1){let r=this.db.transaction(this.storeName,"readwrite").objectStore(this.storeName).delete(t);return new Promise((i,n)=>{r.onsuccess=o=>{s||this._notifySubscribers(t),i(o)},r.onerror=o=>{n(o)}})}getAll(){let s=this.db.transaction(this.storeName,"readwrite").objectStore(this.storeName).getAll();return new Promise((e,r)=>{s.onsuccess=i=>{let n=i.target.result;e(n.map(o=>o._value))},s.onerror=i=>{r(i)}})}subscribe(t,s){this._subscriptionsMap[t]||(this._subscriptionsMap[t]=new Set);let e=this._subscriptionsMap[t];return e.add(s),{remove:()=>{e.delete(s),e.size||delete this._subscriptionsMap[t]}}}stop(){window.removeEventListener("storage",this._updateHandler),this._subscriptionsMap=null,et.clear(this.name)}},et=class{static get readyEventName(){return tt}static open(t=Dt,s="store"){let e=t+"/"+s;return this._reg[e]||(this._reg[e]=new Lt(t,s)),this._reg[e]}static clear(t){window.indexedDB.deleteDatabase(t);for(let s in this._reg)s.split("/")[0]===t&&delete this._reg[s]}};L(et,"_reg",Object.create(null));var Ut="https://ucarecdn.com",y=Object.freeze({"dev-mode":{},pubkey:{},uuid:{},src:{},lazy:{default:1},intersection:{},breakpoints:{},"cdn-cname":{default:Ut},"proxy-cname":{},"secure-delivery-proxy":{},"hi-res-support":{default:1},"ultra-res-support":{},format:{},"cdn-operations":{},progressive:{},quality:{},"is-background-for":{},"is-preview-blur":{default:1}});var T="--uc-img-",M="unresolved";var k=!window.location.host.trim()||window.location.host.includes(":")||window.location.hostname.includes("localhost"),X=3e3,B=5e3,F=Object.freeze({PREVIEW:"PREVIEW",MAIN:"MAIN"});var st="blocks",rt="1.5.2";var nt=Object.create(null),it;for(let t in y)nt[T+t]=((it=y[t])==null?void 0:it.default)||"";var P=class extends U{constructor(){super(...arguments);w(this,"cssInit$",nt)}$$(e){return this.$[T+e]}set$$(e){for(let r in e)this.$[T+r]=e[r]}sub$$(e,r){this.sub(T+e,i=>{i===null||i===""||r(i)})}analyticsParams(){return`-/@clib/${st}/${rt}/uc-img/`}initAttributes(e){[...this.attributes].forEach(r=>{y[r.name]||e.setAttribute(r.name,r.value)})}initIntersection(e,r){let i={root:null,rootMargin:"0px"};this._isnObserver=new IntersectionObserver(n=>{n.forEach(o=>{o.isIntersecting&&(r(),this._isnObserver.unobserve(e))})},i),this._isnObserver.observe(e),this._observed||(this._observed=new Set),this._observed.add(e)}destroyCallback(){super.destroyCallback(),this._isnObserver&&(this._observed.forEach(e=>{this._isnObserver.unobserve(e)}),this._isnObserver=null),c.deleteCtx(this)}static get observedAttributes(){return Object.keys(y)}attributeChangedCallback(e,r,i){window.setTimeout(()=>{this.$[T+e]=i})}};var O=class extends P{constructor(){super(...arguments);w(this,"_img",new Image);w(this,"_imgPreview",new Image)}_fmtAbs(e){return!e.includes("//")&&!k&&(e=new URL(e,document.baseURI).href),e}_validateSize(e){if((e==null?void 0:e.trim())!==""){let r=e.match(/\d+/)[0],i=e.match(/[a-zA-Z]+/)[0],n=parseInt(r,10);if(Number(n)>B&&this.hasFormatJPG)return B+i;if(Number(n)>X&&!this.hasFormatJPG)return X+i}return e}_getCdnModifiers(e,r){let i={format:this.$$("format"),quality:this.$$("quality"),resize:this._validateSize(e),blur:r,"cdn-operations":this.$$("cdn-operations"),analytics:this.analyticsParams()};return W(...G(i))}_getUrlBase(e="",r=""){if(this.$$("src").startsWith("data:")||this.$$("src").startsWith("blob:"))return this.$$("src");if(k&&this.$$("src")&&!this.$$("src").includes("//"))return this._proxyUrl(this.$$("src"));let i=this._getCdnModifiers(e,r);if(this.$$("src").startsWith(this.$$("cdn-cname")))return m(this.$$("src"),i);if(this.$$("cdn-cname")&&this.$$("uuid"))return this._proxyUrl(m(D(this.$$("cdn-cname"),this.$$("uuid")),i));if(this.$$("uuid"))return this._proxyUrl(m(D(this.$$("cdn-cname"),this.$$("uuid")),i));if(this.$$("proxy-cname"))return this._proxyUrl(m(this.$$("proxy-cname"),i,this._fmtAbs(this.$$("src"))));if(this.$$("pubkey"))return this._proxyUrl(m(`https://${this.$$("pubkey")}.ucr.io/`,i,this._fmtAbs(this.$$("src"))))}_proxyUrl(e){return this.$$("secure-delivery-proxy")?j(this.$$("secure-delivery-proxy"),{previewUrl:e},{transform:i=>window.encodeURIComponent(i)}):e}_getElSize(e,r=1,i=!0){let n=e.getBoundingClientRect(),o=r*Math.round(n.width),l=i?"":r*Math.round(n.height);return o||l?`${o||""}x${l||""}`:null}_setupEventProxy(e){let r=n=>{n.stopPropagation();let o=new Event(n.type,n);this.dispatchEvent(o)},i=["load","error"];for(let n of i)e.addEventListener(n,r)}get img(){return this.hasPreviewImage||(this._setupConfigForImage({elNode:this._img}),this.appendChild(this._img)),this._img}get currentImg(){return this.hasPreviewImage?{type:F.PREVIEW,img:this._imgPreview}:{type:F.MAIN,img:this.img}}get hasPreviewImage(){return this.$$("is-preview-blur")}get bgSelector(){return this.$$("is-background-for")}get breakpoints(){if(this.$$("breakpoints")){let e=q(this.$$("breakpoints"));return V(e.map(r=>parseInt(r,10)))}else return null}get hasFormatJPG(){return this.$$("format").toLowerCase()==="jpeg"}renderBg(e){let r=new Set;r.add(`url("${this._getUrlBase(this._getElSize(e))}") 1x`),this.$$("hi-res-support")&&r.add(`url("${this._getUrlBase(this._getElSize(e,2))}") ${2}x`),this.$$("ultra-res-support")&&r.add(`url("${this._getUrlBase(this._getElSize(e,3))}") ${3}x`);let i=`image-set(${[...r].join(", ")})`;e.style.setProperty("background-image",i),e.style.setProperty("background-image","-webkit-"+i)}getSrcset(){let e=new Set;return this.breakpoints?this.breakpoints.forEach(r=>{e.add(this._getUrlBase(r+"x")+` ${this._validateSize(r+"w")}`),this.$$("hi-res-support")&&e.add(this._getUrlBase(r*2+"x")+` ${this._validateSize(r*2+"w")}`),this.$$("ultra-res-support")&&e.add(this._getUrlBase(r*3+"x")+` ${this._validateSize(r*3+"w")}`)}):(e.add(this._getUrlBase(this._getElSize(this.currentImg.img))+" 1x"),this.$$("hi-res-support")&&e.add(this._getUrlBase(this._getElSize(this.currentImg.img,2))+" 2x"),this.$$("ultra-res-support")&&e.add(this._getUrlBase(this._getElSize(this.currentImg.img,3))+" 3x")),[...e].join()}getSrc(){return this._getUrlBase()}get srcUrlPreview(){return this._getUrlBase("100x","100")}renderBackground(){[...document.querySelectorAll(this.bgSelector)].forEach(e=>{this.$$("intersection")?this.initIntersection(e,()=>{this.renderBg(e)}):this.renderBg(e)})}_appendURL({elNode:e,src:r,srcset:i}){r&&(e.src=r),i&&(e.srcset=i)}_setupConfigForImage({elNode:e}){this._setupEventProxy(e),this.initAttributes(e)}loaderImage({src:e,srcset:r,elNode:i}){return new Promise((n,o)=>{this._setupConfigForImage({elNode:i}),i.setAttribute(M,""),i.addEventListener("load",()=>{i.removeAttribute(M),n(i)}),i.addEventListener("error",()=>{o(!1)}),this._appendURL({elNode:i,src:e,srcset:r})})}async renderImage(){var e,r;if(this.$$("intersection")){this.hasPreviewImage&&(this._setupConfigForImage({elNode:this._imgPreview}),this.appendChild(this._imgPreview)),this.initIntersection(this.currentImg.img,async()=>{var i;this.hasPreviewImage&&(this._imgPreview.src=this.srcUrlPreview);try{await this.loaderImage({src:this.getSrc(),srcset:this.getSrcset(),elNode:this._img}),this.hasPreviewImage&&await this._imgPreview.remove(),this.appendChild(this._img)}catch{this.hasPreviewImage&&await((i=this._imgPreview)==null?void 0:i.remove()),this.appendChild(this._img)}});return}try{this.hasPreviewImage&&(await this.loaderImage({src:this.srcUrlPreview,elNode:this._imgPreview}),this.appendChild(this._imgPreview)),await this.loaderImage({src:this.getSrc(),srcset:this.getSrcset(),elNode:this._img}),this.hasPreviewImage&&await((e=this._imgPreview)==null?void 0:e.remove()),this.appendChild(this._img)}catch{this.hasPreviewImage&&await((r=this._imgPreview)==null?void 0:r.remove()),this.appendChild(this._img)}}init(){this.bgSelector?this.renderBackground():this.renderImage()}};var I=class extends O{initCallback(){super.initCallback(),this.sub$$("src",()=>{this.init()}),this.sub$$("uuid",()=>{this.init()}),this.sub$$("lazy",s=>{!this.$$("is-background-for")&&!this.$$("is-preview-blur")&&(this.img.loading=s?"lazy":"eager")})}};I.reg("uc-img");export{I as Img};
27
+ var Vt=Object.defineProperty;var zt=(r,i,t)=>i in r?Vt(r,i,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[i]=t;var E=(r,i,t)=>(zt(r,typeof i!="symbol"?i+"":i,t),t),ut=(r,i,t)=>{if(!i.has(r))throw TypeError("Cannot "+t)};var h=(r,i,t)=>(ut(r,i,"read from private field"),t?t.call(r):i.get(r)),c=(r,i,t)=>{if(i.has(r))throw TypeError("Cannot add the same private member more than once");i instanceof WeakSet?i.add(r):i.set(r,t)},p=(r,i,t,e)=>(ut(r,i,"write to private field"),e?e.call(r,t):i.set(r,t),t);var f=(r,i,t)=>(ut(r,i,"access private method"),t);var Gt=r=>r,qt="{{",Yt="}}";function At(r,i,t={}){var a;let{openToken:e=qt,closeToken:s=Yt,transform:o=Gt}=t;for(let l in i){let u=(a=i[l])==null?void 0:a.toString();r=r.replaceAll(e+l+s,typeof u=="string"?o(u):u)}return r}var Jt=r=>{if(typeof r!="string"||!r)return"";let i=r.trim();return i.startsWith("-/")?i=i.slice(2):i.startsWith("/")&&(i=i.slice(1)),i.endsWith("/")&&(i=i.slice(0,i.length-1)),i},Qt=(...r)=>r.filter(i=>typeof i=="string"&&i).map(i=>Jt(i)).join("/-/"),xt=(...r)=>{let i=Qt(...r);return i?`-/${i}/`:""};function Pt(r){let i=new URL(r),t=i.pathname+i.search+i.hash,e=t.lastIndexOf("http"),s=t.lastIndexOf("/"),o="";return e>=0?o=t.slice(e):s>=0&&(o=t.slice(s+1)),o}function Zt(r){let i=new URL(r),t=Pt(r),e=wt(t)?$t(t).pathname:t;return i.pathname=i.pathname.replace(e,""),i.search="",i.hash="",i.toString()}function wt(r){return r.startsWith("http")}function $t(r){let i=new URL(r);return{pathname:i.origin+i.pathname||"",search:i.search||"",hash:i.hash||""}}var M=(r,i,t)=>{let e=new URL(Zt(r));if(t=t||Pt(r),e.pathname.startsWith("//")&&(e.pathname=e.pathname.replace("//","/")),wt(t)){let s=$t(t);e.pathname=e.pathname+(i||"")+(s.pathname||""),e.search=s.search,e.hash=s.hash}else e.pathname=e.pathname+(i||"")+(t||"");return e.toString()},ft=(r,i)=>{let t=new URL(r);return t.pathname=i+"/",t.toString()};var Rt=(r,i=",")=>r.trim().split(i).map(t=>t.trim()).filter(t=>t.length>0);var Ot=r=>[...new Set(r)];var It=r=>Object.entries(r).filter(([,i])=>i!==void 0&&i!=="").map(([i,t])=>i==="cdn-operations"||i==="analytics"?t:`${i}/${t}`);var n={BIND_ATTR:"bind",ATTR_BIND_PX:"@",SHARED_CTX_PX:"*",PARENT_CTX_PX:"^",NAMED_CTX_SPLTR:"/",COMPUTED_PX:"+",CSS_DATA_PX:"--",CTX_NAME_ATTR:"ctx",CTX_OWNER_ATTR:"ctx-owner",CSS_CTX_PROP:"--ctx",EL_REF_ATTR:"ref",AUTO_TAG_PX:"sym",LIST_ATTR:"itemize",LIST_ITEM_TAG_ATTR:"item-tag",SET_LATER_KEY:"__toSetLater__",USE_TPL_ATTR:"use-template",DEFAULT_SLOT_KEY:"__default__",TEXT_NODE_SKIP_ATTR:"skip-text-nodes",TEXT_NODE_OPEN_TOKEN:"{{",TEXT_NODE_CLOSE_TOKEN:"}}"};function te(r){let i=t=>{var e;for(let s in t)((e=t[s])==null?void 0:e.constructor)===Object&&(t[s]=i(t[s]));return{...t}};return i(r)}var k,B,$,R,U,et,Dt,T=class T{constructor(i){c(this,k,void 0);c(this,B,void 0);c(this,$,void 0);i.constructor===Object?this.store=te(i):(p(this,$,!0),this.store=i),this.callbackMap=Object.create(null)}read(i){var t,e;if(!h(this,$)&&!this.store.hasOwnProperty(i))return f(t=T,R,U).call(t,"read",i),null;if(typeof i=="string"&&i.startsWith(n.COMPUTED_PX)){let s=this.store[i];if((s==null?void 0:s.constructor)!==Function){f(e=T,R,U).call(e,"compute",i);return}this.__computedMap||(this.__computedMap={});let o=s();return Object.keys(this.__computedMap).includes(i)||(this.__computedMap[i]=o,this.notify(i)),o}else return this.store[i]}has(i){return h(this,$)?this.store[i]!==void 0:this.store.hasOwnProperty(i)}add(i,t,e=!1){!e&&Object.keys(this.store).includes(i)||(this.store[i]=t,this.notify(i))}pub(i,t){var e,s;if(!h(this,$)&&!this.store.hasOwnProperty(i)){f(e=T,R,U).call(e,"publish",i);return}if(i!=null&&i.startsWith(n.COMPUTED_PX)&&t.constructor!==Function){f(s=T,R,U).call(s,"publish computed",i);return}!(this.store[i]===null||t===null)&&typeof this.store[i]!=typeof t&&console.warn(`Symbiote PubSub: type warning for "${i}" [${typeof this.store[i]} -> ${typeof t}]`),this.store[i]=t,this.notify(i)}get proxy(){if(!h(this,B)){let i=Object.create(null);p(this,B,new Proxy(i,{set:(t,e,s)=>(this.pub(e,s),!0),get:(t,e)=>{this.read(e)}}))}return h(this,B)}multiPub(i){for(let t in i)this.pub(t,i[t])}notify(i){var e;let t=i==null?void 0:i.startsWith(n.COMPUTED_PX);if(this.callbackMap[i]){let s=this.read(i);this.callbackMap[i].forEach(o=>{o(s)}),t&&(this.__computedMap[i]=s)}!t&&f(e=T,et,Dt).call(e,this,i)}sub(i,t,e=!0){var s;return!h(this,$)&&!this.store.hasOwnProperty(i)?(f(s=T,R,U).call(s,"subscribe",i),null):(this.callbackMap[i]||(this.callbackMap[i]=new Set),this.callbackMap[i].add(t),e&&t(this.read(i)),{remove:()=>{this.callbackMap[i].delete(t),this.callbackMap[i].size||delete this.callbackMap[i]},callback:t})}set uid(i){!h(this,k)&&p(this,k,i)}get uid(){return h(this,k)}static registerCtx(i,t=Symbol()){let e=T.globalStore.get(t);return e?console.warn('PubSub: context UID "'+t+'" is already in use'):(e=new T(i),e.uid=t,T.globalStore.set(t,e)),e}static deleteCtx(i){T.globalStore.delete(i)}static getCtx(i,t=!0){return T.globalStore.get(i)||(t&&console.warn('PubSub: wrong context UID - "'+i+'"'),null)}};k=new WeakMap,B=new WeakMap,$=new WeakMap,R=new WeakSet,U=function(i,t){console.warn(`Symbiote PubSub: cannot ${i}. Prop name: `+t)},et=new WeakSet,Dt=function(i,t){this.globalStore.forEach(e=>{e.__computedMap&&Object.keys(e.__computedMap).forEach(s=>{if(e===i&&t===s)return;let o=`__${s}_timeout`;e[o]&&window.clearTimeout(e[o]),e[o]=window.setTimeout(()=>{let a=e.read(s);a!==e.__computedMap[s]&&(e.__computedMap[s]=a,e.notify(s))})})})},c(T,R),c(T,et);var A=T;A.globalStore=new Map;var x=A;var Nt="1234567890QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm",ee=Nt.length-1,K=class{static generate(i="XXXXXXXXX-XXX"){let t="";for(let e=0;e<i.length;e++)t+=i[e]==="-"?i[e]:Nt.charAt(Math.random()*ee);return t}};function H(r,i,t){let e=!0,s,o=i.split(".");return o.forEach((a,l)=>{l<o.length-1?r=r[a]:s=a}),r?r[s]=t:e=!1,e}function dt(r){let i;return r.constructor===CSSStyleSheet?i=r:r.constructor===String&&(i=new CSSStyleSheet,i.replaceSync(r)),i}function vt(r,i){[...r.querySelectorAll(`[${n.LIST_ATTR}]`)].filter(t=>!t.matches(`[${n.LIST_ATTR}] [${n.LIST_ATTR}]`)).forEach(t=>{var a;let e=t.getAttribute(n.LIST_ITEM_TAG_ATTR),s;for(e&&(s=window.customElements.get(e)),s||(s=class extends i.Symbiote{constructor(){super(),e||(this.style.display="contents")}},s.template=((a=t.querySelector("template"))==null?void 0:a.innerHTML)||t.innerHTML,s.reg(e));t.firstChild;)t.firstChild.remove();let o=t.getAttribute(n.LIST_ATTR);i.sub(o,l=>{if(!l){for(;t.firstChild;)t.firstChild.remove();return}let u=[...t.children],D,d=b=>{b.forEach((C,tt)=>{if(u[tt])if(u[tt].set$)u[tt].set$(C);else for(let w in C)u[tt][w]=C[w];else{D||(D=new DocumentFragment);let w=new s;Object.assign((w==null?void 0:w.init$)||w,C),D.appendChild(w)}}),D&&t.appendChild(D);let _=u.slice(b.length,u.length);for(let C of _)C.remove()};if(l.constructor===Array)d(l);else if(l.constructor===Object){let b=[];for(let _ in l){let C=l[_];Object.defineProperty(C,"_KEY_",{value:_,enumerable:!0}),b.push(C)}d(b)}else console.warn("Symbiote list data type error:"),console.log(l)}),t.removeAttribute(n.LIST_ATTR),t.removeAttribute(n.LIST_ITEM_TAG_ATTR)})}function ie(r,i){[...r.querySelectorAll(`[${n.EL_REF_ATTR}]`)].forEach(t=>{let e=t.getAttribute(n.EL_REF_ATTR);i.ref[e]=t,t.removeAttribute(n.EL_REF_ATTR)})}function se(r,i){[...r.querySelectorAll(`[${n.BIND_ATTR}]`)].forEach(t=>{t.getAttribute(n.BIND_ATTR).split(";").forEach(o=>{if(!o)return;let a=o.split(":").map(d=>d.trim()),l=a[0],u;l.indexOf(n.ATTR_BIND_PX)===0&&(u=!0,l=l.replace(n.ATTR_BIND_PX,""));let D=a[1].split(",").map(d=>d.trim());for(let d of D){let b;d.startsWith("!!")?(b="double",d=d.replace("!!","")):d.startsWith("!")&&(b="single",d=d.replace("!","")),!i.has(d)&&i.allowTemplateInits&&(d.startsWith(n.ATTR_BIND_PX)?i.add(d,i.getAttribute(d.replace(n.ATTR_BIND_PX,""))):i.add(d,null)),i.sub(d,_=>{b==="double"?_=!!_:b==="single"&&(_=!_),u?(_==null?void 0:_.constructor)===Boolean?_?t.setAttribute(l,""):t.removeAttribute(l):t.setAttribute(l,_):H(t,l,_)||(t[n.SET_LATER_KEY]||(t[n.SET_LATER_KEY]=Object.create(null)),t[n.SET_LATER_KEY][l]=_)},!(i.ssrMode&&(l==="textContent"||u)))}}),t.removeAttribute(n.BIND_ATTR)})}function re(r){let i,t=[],e=document.createTreeWalker(r,NodeFilter.SHOW_TEXT,{acceptNode:s=>{var o;return!((o=s.parentElement)!=null&&o.hasAttribute(n.TEXT_NODE_SKIP_ATTR))&&s.textContent.includes(n.TEXT_NODE_OPEN_TOKEN)&&s.textContent.includes(n.TEXT_NODE_CLOSE_TOKEN)&&1}});for(;i=e.nextNode();)t.push(i);return t}var oe=function(r,i){re(r).forEach(e=>{let s=[],o;for(;e.textContent.includes(n.TEXT_NODE_CLOSE_TOKEN);)e.textContent.startsWith(n.TEXT_NODE_OPEN_TOKEN)?(o=e.textContent.indexOf(n.TEXT_NODE_CLOSE_TOKEN)+n.TEXT_NODE_CLOSE_TOKEN.length,e.splitText(o),s.push(e)):(o=e.textContent.indexOf(n.TEXT_NODE_OPEN_TOKEN),e.splitText(o)),e=e.nextSibling;s.forEach(a=>{let l=a.textContent.replace(n.TEXT_NODE_OPEN_TOKEN,"").replace(n.TEXT_NODE_CLOSE_TOKEN,"");a.textContent="",!i.has(l)&&i.allowTemplateInits&&(l.startsWith(n.ATTR_BIND_PX)?(i.add(l,i.getAttribute(l.replace(n.ATTR_BIND_PX,""))),i.initAttributeObserver()):i.add(l,null)),i.sub(l,u=>{a.textContent=u})})})},Xt=[vt,ie,se,oe];var it="'",W='"',ne=/\\([0-9a-fA-F]{1,6} ?)/g;function ae(r){return(r[0]===W||r[0]===it)&&(r[r.length-1]===W||r[r.length-1]===it)}function le(r){return(r[0]===W||r[0]===it)&&(r=r.slice(1)),(r[r.length-1]===W||r[r.length-1]===it)&&(r=r.slice(0,-1)),r}function he(r){let i="",t="";for(var e=0;e<r.length;e++){let s=r[e+1];r[e]==="\\"&&s==='"'?(i+='\\"',e++):r[e]==='"'&&t!=="\\"?i+='\\"':i+=r[e],t=r[e]}return i}function Lt(r){let i=r;ae(r)&&(i=le(i),i=i.replace(ne,(t,e)=>String.fromCodePoint(parseInt(e.trim(),16))),i=i.replaceAll(`\\
28
+ `,"\\n"),i=he(i),i=W+i+W);try{return JSON.parse(i)}catch{throw new Error(`Failed to parse CSS property value: ${i}. Original input: ${r}`)}}var Xe=[n.LIST_ATTR,n.LIST_ITEM_TAG_ATTR,n.EL_REF_ATTR,n.USE_TPL_ATTR,n.CTX_NAME_ATTR,n.CTX_OWNER_ATTR];function S(r,...i){let t="",e=new CSSStyleSheet;return r.forEach((s,o)=>{t+=s+i[o]}),S.processors.forEach(s=>{t=s(t)}),S.clearProcessors(),e.replaceSync(t),e}S.processors=[];S.clearProcessors=function(){S.processors=[]};S.useProcessor=function(...r){return S.processors=[...S.processors,...r],S};var Mt=0,V,v,z,O,j,G,I,y,X,L,m,q,mt,P,N,st,kt,rt,Bt,Y,_t,ot,Kt,J,Tt,g=class g extends HTMLElement{constructor(){super();c(this,q);c(this,st);c(this,rt);c(this,Y);c(this,ot);c(this,J);c(this,V,void 0);c(this,v,void 0);c(this,z,void 0);c(this,O,void 0);c(this,j,void 0);c(this,G,void 0);c(this,I,void 0);c(this,y,void 0);c(this,X,void 0);c(this,L,void 0);c(this,m,this.constructor);E(this,"updateCssData",()=>{var t;this.dropCssDataCache(),(t=h(this,L))==null||t.forEach(e=>{let s=this.getCssData(f(this,J,Tt).call(this,e),!0);s!==null&&this.$[e]!==s&&(this.$[e]=s)})});this.init$=Object.create(null),this.cssInit$=Object.create(null),this.tplProcessors=new Set,this.ref=Object.create(null),this.allSubs=new Set,this.pauseRender=!1,this.renderShadow=!1,this.readyToDestroy=!0,this.processInnerHtml=!1,this.ssrMode=!1,this.allowCustomTemplate=!1,this.ctxOwner=!1,this.isVirtual=!1,this.allowTemplateInits=!0}get Symbiote(){return g}initCallback(){}renderCallback(){}render(t,e=this.renderShadow){let s;if((e||h(this,m).shadowStyleSheets)&&!this.shadowRoot&&this.attachShadow({mode:"open"}),this.allowCustomTemplate){let a=this.getAttribute(n.USE_TPL_ATTR);if(a){let l=this.getRootNode(),u=(l==null?void 0:l.querySelector(a))||document.querySelector(a);u?t=u.content.cloneNode(!0):console.warn(`Symbiote template "${a}" is not found...`)}}if(this.processInnerHtml||this.ssrMode)for(let a of this.tplProcessors)a(this,this);if(t||h(this,m).template){if(h(this,m).template&&!h(this,m).__tpl&&(h(this,m).__tpl=document.createElement("template"),h(this,m).__tpl.innerHTML=h(this,m).template),(t==null?void 0:t.constructor)===DocumentFragment)s=t;else if((t==null?void 0:t.constructor)===String){let a=document.createElement("template");a.innerHTML=t,s=a.content.cloneNode(!0)}else h(this,m).__tpl&&(s=h(this,m).__tpl.content.cloneNode(!0));for(let a of this.tplProcessors)a(s,this)}let o=()=>{var a;s&&this.isVirtual?this.replaceWith(s):s&&(e&&this.shadowRoot.appendChild(s)||this.appendChild(s)),f(this,q,mt).call(this),(a=this.renderCallback)==null||a.call(this)};h(this,m).shadowStyleSheets&&(e=!0,this.shadowRoot.adoptedStyleSheets=[...h(this,m).shadowStyleSheets]),o()}addTemplateProcessor(t){this.tplProcessors.add(t)}get autoCtxName(){return h(this,v)||(p(this,v,K.generate()),this.style.setProperty(n.CSS_CTX_PROP,`'${h(this,v)}'`)),h(this,v)}get cssCtxName(){return this.getCssData(n.CSS_CTX_PROP,!0)}get ctxName(){var e;let t=((e=this.getAttribute(n.CTX_NAME_ATTR))==null?void 0:e.trim())||this.cssCtxName||h(this,z)||this.autoCtxName;return p(this,z,t),t}get localCtx(){return h(this,O)||p(this,O,x.registerCtx({})),h(this,O)}get sharedCtx(){return x.getCtx(this.ctxName,!1)||x.registerCtx({},this.ctxName)}sub(t,e,s=!0){var l;let o=u=>{h(this,Y,_t)||e(u)},a=f(l=g,P,N).call(l,t,this);a.ctx.has(a.name)?this.allSubs.add(a.ctx.sub(a.name,o,s)):window.setTimeout(()=>{this.allSubs.add(a.ctx.sub(a.name,o,s))})}notify(t){var s;let e=f(s=g,P,N).call(s,t,this);e.ctx.notify(e.name)}has(t){var s;let e=f(s=g,P,N).call(s,t,this);return e.ctx.has(e.name)}add(t,e,s=!1){var a;let o=f(a=g,P,N).call(a,t,this);o.ctx.add(o.name,e,s)}add$(t,e=!1){for(let s in t)this.add(s,t[s],e)}get $(){if(!h(this,j)){let t=Object.create(null);p(this,j,new Proxy(t,{set:(e,s,o)=>{var l;let a=f(l=g,P,N).call(l,s,this);return a.ctx.pub(a.name,o),!0},get:(e,s)=>{var a;let o=f(a=g,P,N).call(a,s,this);return o.ctx.read(o.name)}}))}return h(this,j)}set$(t,e=!1){for(let s in t){let o=t[s];e||![String,Number,Boolean].includes(o==null?void 0:o.constructor)?this.$[s]=o:this.$[s]!==o&&(this.$[s]=o)}}initAttributeObserver(){this.attributeMutationObserver||(this.attributeMutationObserver=new MutationObserver(t=>{for(let e of t)if(e.type==="attributes"){let s=n.ATTR_BIND_PX+e.attributeName;this.has(s)&&(this.$[s]=this.getAttribute(e.attributeName))}}),this.attributeMutationObserver.observe(this,{attributes:!0}))}connectedCallback(){f(this,ot,Kt).call(this)}destroyCallback(){}disconnectedCallback(){this.connectedOnce&&(this.dropCssDataCache(),this.readyToDestroy&&(h(this,I)&&window.clearTimeout(h(this,I)),p(this,I,window.setTimeout(()=>{this.destroyCallback(),this.attributeMutationObserver&&this.attributeMutationObserver.disconnect();for(let t of this.allSubs)t.remove(),this.allSubs.delete(t);h(this,O)&&x.deleteCtx(h(this,O).uid);for(let t of this.tplProcessors)this.tplProcessors.delete(t)},100))))}static reg(t,e=!1){t||(Mt++,t=`${n.AUTO_TAG_PX}-${Mt}`),this.__tag=t;let s=window.customElements.get(t);if(s){!e&&s!==this&&console.warn([`Element with tag name "${t}" already registered.`,`You're trying to override it with another class "${this.name}".`,"This is most likely a mistake.","New element will not be registered."].join(`
29
+ `));return}window.customElements.define(t,e?class extends this{}:this)}static get is(){return this.__tag||this.reg(),this.__tag}static bindAttributes(t){this.observedAttributes=[...new Set((this.observedAttributes||[]).concat(Object.keys(t)))],this.__attrDesc=t}attributeChangedCallback(t,e,s){var a;if(e===s)return;let o=(a=h(this,m).__attrDesc)==null?void 0:a[t];o?h(this,G)?this.$[o]=s:this.init$[o]=s:this[t]=s}getCssData(t,e=!1){if(h(this,y)||p(this,y,Object.create(null)),!Object.keys(h(this,y)).includes(t)){h(this,X)||p(this,X,window.getComputedStyle(this));let s=h(this,X).getPropertyValue(t).trim();try{h(this,y)[t]=Lt(s)}catch{!e&&console.warn(`CSS Data error: ${t}`),h(this,y)[t]=null}}return h(this,y)[t]}bindCssData(t,e=""){h(this,L)||p(this,L,new Set),h(this,L).add(t);let s=this.getCssData(f(this,J,Tt).call(this,t),!0);s===null&&(s=e),t.startsWith(n.CSS_DATA_PX)?this.localCtx.add(t,s):this.add(t,s)}dropCssDataCache(){p(this,y,null),p(this,X,null)}defineAccessor(t,e,s){let o="#"+t;this[o]=this[t],Object.defineProperty(this,t,{set:a=>{this[o]=a,s?window.setTimeout(()=>{e==null||e(a)}):e==null||e(a)},get:()=>this[o]}),this[t]=this[o]}static addRootStyles(t){this.rootStyleSheets||(this.rootStyleSheets=[]),this.rootStyleSheets.push(dt(t))}static addShadowStyles(t){this.shadowStyleSheets||(this.shadowStyleSheets=[]),this.shadowStyleSheets.push(dt(t))}static set rootStyles(t){this.rootStyleSheets=[],this.addRootStyles(t)}static set shadowStyles(t){this.shadowStyleSheets=[],this.addShadowStyles(t)}};V=new WeakMap,v=new WeakMap,z=new WeakMap,O=new WeakMap,j=new WeakMap,G=new WeakMap,I=new WeakMap,y=new WeakMap,X=new WeakMap,L=new WeakMap,m=new WeakMap,q=new WeakSet,mt=function(){var t;h(this,V)||(p(this,V,!0),(t=this.initCallback)==null||t.call(this))},P=new WeakSet,N=function(t,e){var a;let s,o;if(t.startsWith(n.SHARED_CTX_PX))s=e.sharedCtx,o=t.replace(n.SHARED_CTX_PX,"");else if(t.startsWith(n.PARENT_CTX_PX)){o=t.replace(n.PARENT_CTX_PX,"");let l=e;for(;l&&!((a=l==null?void 0:l.has)!=null&&a.call(l,o));)l=l.parentElement||l.parentNode||l.host;s=(l==null?void 0:l.localCtx)||e.localCtx}else if(t.includes(n.NAMED_CTX_SPLTR)){let l=t.split(n.NAMED_CTX_SPLTR);s=x.getCtx(l[0]),o=l[1]}else t.startsWith(n.CSS_DATA_PX)?(s=e.localCtx,o=t,s.has(o)||e.bindCssData(o)):(s=e.localCtx,o=t);return{ctx:s,name:o}},st=new WeakSet,kt=function(){return this.ctxOwner||this.hasAttribute(n.CTX_OWNER_ATTR)&&this.getAttribute(n.CTX_OWNER_ATTR)!=="false"},rt=new WeakSet,Bt=function(){let t=h(this,m).__attrDesc;if(t)for(let e of Object.values(t))Object.keys(this.init$).includes(e)||(this.init$[e]="");for(let e in this.init$)if(e.startsWith(n.SHARED_CTX_PX))this.sharedCtx.add(e.replace(n.SHARED_CTX_PX,""),this.init$[e],h(this,st,kt));else if(e.startsWith(n.ATTR_BIND_PX))this.localCtx.add(e,this.getAttribute(e.replace(n.ATTR_BIND_PX,""))||this.init$[e]),this.initAttributeObserver();else if(e.includes(n.NAMED_CTX_SPLTR)){let s=e.split(n.NAMED_CTX_SPLTR),o=s[0].trim(),a=s[1].trim();if(o&&a){let l=x.getCtx(o,!1);l||(l=x.registerCtx({},o)),l.add(a,this.init$[e])}}else this.localCtx.add(e,this.init$[e]);for(let e in this.cssInit$)this.bindCssData(e,this.cssInit$[e]);p(this,G,!0)},Y=new WeakSet,_t=function(){return!this.isVirtual&&!this.isConnected},ot=new WeakSet,Kt=function(){var t;if(!h(this,Y,_t)){if(h(this,I)&&window.clearTimeout(h(this,I)),!this.connectedOnce){let e=(t=this.getAttribute(n.CTX_NAME_ATTR))==null?void 0:t.trim();if(e&&this.style.setProperty(n.CSS_CTX_PROP,`'${e}'`),f(this,rt,Bt).call(this),this[n.SET_LATER_KEY]){for(let s in this[n.SET_LATER_KEY])H(this,s,this[n.SET_LATER_KEY][s]);delete this[n.SET_LATER_KEY]}this.initChildren=[...this.childNodes];for(let s of Xt)this.addTemplateProcessor(s);if(this.pauseRender)f(this,q,mt).call(this);else{if(h(this,m).rootStyleSheets){let s=this.getRootNode();if(!s)return;let o=new Set([...s.adoptedStyleSheets,...h(this,m).rootStyleSheets]);s.adoptedStyleSheets=[...o]}this.render()}}this.connectedOnce=!0}},J=new WeakSet,Tt=function(t){return t.split("--").map((e,s)=>s===0?"":e).join("--")},c(g,P),E(g,"__tpl"),E(g,"template");var pt=g,Q=pt;function gt(r){Object.assign(n,r)}gt({BIND_ATTR:"set",CTX_NAME_ATTR:"ctx-name",CSS_CTX_PROP:"--ctx-name"});var fe="https://ucarecdn.com",Z=Object.freeze({"dev-mode":{},pubkey:{},uuid:{},src:{},lazy:{default:1},intersection:{},breakpoints:{},"cdn-cname":{default:fe},"proxy-cname":{},"secure-delivery-proxy":{},"hi-res-support":{default:1},"ultra-res-support":{},format:{},"cdn-operations":{},progressive:{},quality:{},"is-background-for":{},"is-preview-blur":{default:1}});var F="--uc-img-",St="unresolved";var bt=!window.location.host.trim()||window.location.host.includes(":")||window.location.hostname.includes("localhost"),Et=3e3,yt=5e3,Ct=Object.freeze({PREVIEW:"PREVIEW",MAIN:"MAIN"});var Wt="blocks",jt="1.5.2";var Ht=Object.create(null),Ft;for(let r in Z)Ht[F+r]=((Ft=Z[r])==null?void 0:Ft.default)||"";var nt=class extends Q{constructor(){super(...arguments);E(this,"cssInit$",Ht)}$$(t){return this.$[F+t]}set$$(t){for(let e in t)this.$[F+e]=t[e]}sub$$(t,e){this.sub(F+t,s=>{s===null||s===""||e(s)})}analyticsParams(){return`-/@clib/${Wt}/${jt}/uc-img/`}initAttributes(t){[...this.attributes].forEach(e=>{Z[e.name]||t.setAttribute(e.name,e.value)})}initIntersection(t,e){let s={root:null,rootMargin:"0px"};this._isnObserver=new IntersectionObserver(o=>{o.forEach(a=>{a.isIntersecting&&(e(),this._isnObserver.unobserve(t))})},s),this._isnObserver.observe(t),this._observed||(this._observed=new Set),this._observed.add(t)}destroyCallback(){super.destroyCallback(),this._isnObserver&&(this._observed.forEach(t=>{this._isnObserver.unobserve(t)}),this._isnObserver=null),A.deleteCtx(this)}static get observedAttributes(){return Object.keys(Z)}attributeChangedCallback(t,e,s){window.setTimeout(()=>{this.$[F+t]=s})}};var ht=class extends nt{constructor(){super(...arguments);E(this,"_img",new Image);E(this,"_imgPreview",new Image)}_fmtAbs(t){return!t.includes("//")&&!bt&&(t=new URL(t,document.baseURI).href),t}_validateSize(t){if((t==null?void 0:t.trim())!==""){let e=t.match(/\d+/)[0],s=t.match(/[a-zA-Z]+/)[0],o=parseInt(e,10);if(Number(o)>yt&&this.hasFormatJPG)return yt+s;if(Number(o)>Et&&!this.hasFormatJPG)return Et+s}return t}_getCdnModifiers(t,e){let s={format:this.$$("format"),quality:this.$$("quality"),resize:this._validateSize(t),blur:e,"cdn-operations":this.$$("cdn-operations"),analytics:this.analyticsParams()};return xt(...It(s))}_getUrlBase(t="",e=""){if(this.$$("src").startsWith("data:")||this.$$("src").startsWith("blob:"))return this.$$("src");if(bt&&this.$$("src")&&!this.$$("src").includes("//"))return this._proxyUrl(this.$$("src"));let s=this._getCdnModifiers(t,e);if(this.$$("src").startsWith(this.$$("cdn-cname")))return M(this.$$("src"),s);if(this.$$("cdn-cname")&&this.$$("uuid"))return this._proxyUrl(M(ft(this.$$("cdn-cname"),this.$$("uuid")),s));if(this.$$("uuid"))return this._proxyUrl(M(ft(this.$$("cdn-cname"),this.$$("uuid")),s));if(this.$$("proxy-cname"))return this._proxyUrl(M(this.$$("proxy-cname"),s,this._fmtAbs(this.$$("src"))));if(this.$$("pubkey"))return this._proxyUrl(M(`https://${this.$$("pubkey")}.ucr.io/`,s,this._fmtAbs(this.$$("src"))))}_proxyUrl(t){return this.$$("secure-delivery-proxy")?At(this.$$("secure-delivery-proxy"),{previewUrl:t},{transform:s=>window.encodeURIComponent(s)}):t}_getElSize(t,e=1,s=!0){let o=t.getBoundingClientRect(),a=e*Math.round(o.width),l=s?"":e*Math.round(o.height);return a||l?`${a||""}x${l||""}`:null}_setupEventProxy(t){let e=o=>{o.stopPropagation();let a=new Event(o.type,o);this.dispatchEvent(a)},s=["load","error"];for(let o of s)t.addEventListener(o,e)}get img(){return this.hasPreviewImage||(this._setupConfigForImage({elNode:this._img}),this.appendChild(this._img)),this._img}get currentImg(){return this.hasPreviewImage?{type:Ct.PREVIEW,img:this._imgPreview}:{type:Ct.MAIN,img:this.img}}get hasPreviewImage(){return this.$$("is-preview-blur")}get bgSelector(){return this.$$("is-background-for")}get breakpoints(){if(this.$$("breakpoints")){let t=Rt(this.$$("breakpoints"));return Ot(t.map(e=>parseInt(e,10)))}else return null}get hasFormatJPG(){return this.$$("format").toLowerCase()==="jpeg"}renderBg(t){let e=new Set;e.add(`url("${this._getUrlBase(this._getElSize(t))}") 1x`),this.$$("hi-res-support")&&e.add(`url("${this._getUrlBase(this._getElSize(t,2))}") ${2}x`),this.$$("ultra-res-support")&&e.add(`url("${this._getUrlBase(this._getElSize(t,3))}") ${3}x`);let s=`image-set(${[...e].join(", ")})`;t.style.setProperty("background-image",s),t.style.setProperty("background-image","-webkit-"+s)}getSrcset(){let t=new Set;return this.breakpoints?this.breakpoints.forEach(e=>{t.add(this._getUrlBase(e+"x")+` ${this._validateSize(e+"w")}`),this.$$("hi-res-support")&&t.add(this._getUrlBase(e*2+"x")+` ${this._validateSize(e*2+"w")}`),this.$$("ultra-res-support")&&t.add(this._getUrlBase(e*3+"x")+` ${this._validateSize(e*3+"w")}`)}):(t.add(this._getUrlBase(this._getElSize(this.currentImg.img))+" 1x"),this.$$("hi-res-support")&&t.add(this._getUrlBase(this._getElSize(this.currentImg.img,2))+" 2x"),this.$$("ultra-res-support")&&t.add(this._getUrlBase(this._getElSize(this.currentImg.img,3))+" 3x")),[...t].join()}getSrc(){return this._getUrlBase()}get srcUrlPreview(){return this._getUrlBase("100x","100")}renderBackground(){[...document.querySelectorAll(this.bgSelector)].forEach(t=>{this.$$("intersection")?this.initIntersection(t,()=>{this.renderBg(t)}):this.renderBg(t)})}_appendURL({elNode:t,src:e,srcset:s}){e&&(t.src=e),s&&(t.srcset=s)}_setupConfigForImage({elNode:t}){this._setupEventProxy(t),this.initAttributes(t)}loaderImage({src:t,srcset:e,elNode:s}){return new Promise((o,a)=>{this._setupConfigForImage({elNode:s}),s.setAttribute(St,""),s.addEventListener("load",()=>{s.removeAttribute(St),o(s)}),s.addEventListener("error",()=>{a(!1)}),this._appendURL({elNode:s,src:t,srcset:e})})}async renderImage(){var t,e;if(this.$$("intersection")){this.hasPreviewImage&&(this._setupConfigForImage({elNode:this._imgPreview}),this.appendChild(this._imgPreview)),this.initIntersection(this.currentImg.img,async()=>{var s;this.hasPreviewImage&&(this._imgPreview.src=this.srcUrlPreview);try{await this.loaderImage({src:this.getSrc(),srcset:this.getSrcset(),elNode:this._img}),this.hasPreviewImage&&await this._imgPreview.remove(),this.appendChild(this._img)}catch{this.hasPreviewImage&&await((s=this._imgPreview)==null?void 0:s.remove()),this.appendChild(this._img)}});return}try{this.hasPreviewImage&&(await this.loaderImage({src:this.srcUrlPreview,elNode:this._imgPreview}),this.appendChild(this._imgPreview)),await this.loaderImage({src:this.getSrc(),srcset:this.getSrcset(),elNode:this._img}),this.hasPreviewImage&&await((t=this._imgPreview)==null?void 0:t.remove()),this.appendChild(this._img)}catch{this.hasPreviewImage&&await((e=this._imgPreview)==null?void 0:e.remove()),this.appendChild(this._img)}}init(){this.bgSelector?this.renderBackground():this.renderImage()}};var ct=class extends ht{initCallback(){super.initCallback(),this.sub$$("src",()=>{this.init()}),this.sub$$("uuid",()=>{this.init()}),this.sub$$("lazy",i=>{!this.$$("is-background-for")&&!this.$$("is-preview-blur")&&(this.img.loading=i?"lazy":"eager")})}};ct.reg("uc-img");export{ct as Img};
@@ -1,15 +0,0 @@
1
- export class FocusVisible {
2
- /**
3
- * @param {boolean} focusVisible
4
- * @param {HTMLElement} element
5
- */
6
- static handleFocusVisible(focusVisible: boolean, element: HTMLElement): void;
7
- /** @param {ShadowRoot | Document} scope */
8
- static register(scope: ShadowRoot | Document): void;
9
- /** @param {Document | ShadowRoot} scope */
10
- static unregister(scope: Document | ShadowRoot): void;
11
- }
12
- export namespace FocusVisible {
13
- let _destructors: WeakMap<WeakKey, any>;
14
- }
15
- //# sourceMappingURL=FocusVisible.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FocusVisible.d.ts","sourceRoot":"","sources":["FocusVisible.js"],"names":[],"mappings":"AAEA;IACE;;;OAGG;IACH,wCAHW,OAAO,WACP,WAAW,QASrB;IAED,2CAA2C;IAC3C,uBADY,UAAU,GAAG,QAAQ,QAGhC;IAED,2CAA2C;IAC3C,yBADY,QAAQ,GAAG,UAAU,QAQhC;CACF"}
@@ -1,33 +0,0 @@
1
- import { applyFocusVisiblePolyfill } from './applyFocusVisiblePolyfill.js';
2
-
3
- export class FocusVisible {
4
- /**
5
- * @param {boolean} focusVisible
6
- * @param {HTMLElement} element
7
- */
8
- static handleFocusVisible(focusVisible, element) {
9
- if (focusVisible) {
10
- let customOutline = element.style.getPropertyValue('--focus-visible-outline');
11
- element.style.outline = customOutline || '2px solid var(--color-focus-ring)';
12
- } else {
13
- element.style.outline = 'none';
14
- }
15
- }
16
-
17
- /** @param {ShadowRoot | Document} scope */
18
- static register(scope) {
19
- FocusVisible._destructors.set(scope, applyFocusVisiblePolyfill(scope, FocusVisible.handleFocusVisible));
20
- }
21
-
22
- /** @param {Document | ShadowRoot} scope */
23
- static unregister(scope) {
24
- if (!FocusVisible._destructors.has(scope)) {
25
- return;
26
- }
27
- let removeFocusVisiblePolyfill = FocusVisible._destructors.get(scope);
28
- removeFocusVisiblePolyfill();
29
- FocusVisible._destructors.delete(scope);
30
- }
31
- }
32
-
33
- FocusVisible._destructors = new WeakMap();
@@ -1,10 +0,0 @@
1
- /**
2
- * Applies the :focus-visible polyfill at the given scope. A scope, in this case, is either the top-level Document or a
3
- * Shadow Root.
4
- *
5
- * @param {Document | ShadowRoot} scope
6
- * @param {(focusVisible: boolean, el: EventTarget) => void} [callback]
7
- * @see https://github.com/WICG/focus-visible
8
- */
9
- export function applyFocusVisiblePolyfill(scope: Document | ShadowRoot, callback?: ((focusVisible: boolean, el: EventTarget) => void) | undefined): () => void;
10
- //# sourceMappingURL=applyFocusVisiblePolyfill.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"applyFocusVisiblePolyfill.d.ts","sourceRoot":"","sources":["applyFocusVisiblePolyfill.js"],"names":[],"mappings":"AAgDA;;;;;;;GAOG;AACH,iDAJW,QAAQ,GAAG,UAAU,6BACN,OAAO,MAAM,WAAW,KAAK,IAAI,2BA0M1D"}
@@ -1,256 +0,0 @@
1
- /**
2
- * Helper function for legacy browsers and iframes which sometimes focus on elements like document, body, and
3
- * non-interactive SVG.
4
- *
5
- * @param {EventTarget} el
6
- */
7
- function isValidFocusTarget(el) {
8
- if (
9
- el &&
10
- el !== document &&
11
- /** @type {Element} */ (el).nodeName !== 'HTML' &&
12
- /** @type {Element} */ (el).nodeName !== 'BODY' &&
13
- 'classList' in el &&
14
- 'contains' in /** @type {Element} */ (el).classList
15
- ) {
16
- return true;
17
- }
18
- return false;
19
- }
20
-
21
- /**
22
- * Computes whether the given element should automatically trigger the `focus-visible` class being added, i.e., whether
23
- * it should always match `:focus-visible` when focused.
24
- *
25
- * @param {EventTarget} el
26
- * @returns {boolean}
27
- */
28
- function focusTriggersKeyboardModality(el) {
29
- let { tagName } = /** @type {Element} */ (el);
30
-
31
- if (tagName === 'INPUT' && !(/** @type {HTMLInputElement} */ (el).readOnly)) {
32
- return true;
33
- }
34
-
35
- if (tagName === 'TEXTAREA' && !(/** @type {HTMLTextAreaElement} */ (el).readOnly)) {
36
- return true;
37
- }
38
-
39
- if (/** @type {HTMLElement} */ (el).isContentEditable) {
40
- return true;
41
- }
42
-
43
- return false;
44
- }
45
-
46
- let hadKeyboardEvent = true;
47
- let hadFocusVisibleRecently = false;
48
-
49
- /**
50
- * Applies the :focus-visible polyfill at the given scope. A scope, in this case, is either the top-level Document or a
51
- * Shadow Root.
52
- *
53
- * @param {Document | ShadowRoot} scope
54
- * @param {(focusVisible: boolean, el: EventTarget) => void} [callback]
55
- * @see https://github.com/WICG/focus-visible
56
- */
57
- export function applyFocusVisiblePolyfill(scope, callback) {
58
- let hadFocusVisibleRecentlyTimeout = null;
59
-
60
- /**
61
- * Add the `focus-visible` class to the given element if the author did not add it.
62
- *
63
- * @param {EventTarget} el
64
- */
65
- function addFocusVisibleClass(el) {
66
- /** @type {Element} */ (el).setAttribute('focus-visible', '');
67
- callback(true, el);
68
- }
69
-
70
- /**
71
- * Remove the `focus-visible` class from the given element if the author did not originally add it.
72
- *
73
- * @param {EventTarget} el
74
- */
75
- function removeFocusVisibleClass(el) {
76
- if (!(/** @type {Element} */ (el).hasAttribute('focus-visible'))) {
77
- return;
78
- }
79
- /** @type {Element} */ (el).removeAttribute('focus-visible');
80
- callback(false, el);
81
- }
82
-
83
- /**
84
- * If the most recent user interaction was via the keyboard, and the keypress did not include a meta, alt/option, or
85
- * control key, then the keyboard's modality. Otherwise, the modality is not the keyboard.Apply `focus-visible` to any
86
- * current active element and keep track of our keyboard modality state with `hadKeyboardEvent`.
87
- *
88
- * @param {KeyboardEvent} e
89
- */
90
- function onKeyDown(e) {
91
- if (e.metaKey || e.altKey || e.ctrlKey) {
92
- return;
93
- }
94
-
95
- if (isValidFocusTarget(scope.activeElement)) {
96
- addFocusVisibleClass(scope.activeElement);
97
- }
98
-
99
- hadKeyboardEvent = true;
100
- }
101
-
102
- /**
103
- * If at any point a user clicks with a pointing device, ensure that we change the modality away from the keyboard.
104
- * This avoids the situation where a user presses a key on an already focused element, and then clicks on a different
105
- * element focusing it with a pointing device while we still think we're in keyboard modality.
106
- *
107
- * @param {Event} e
108
- */
109
- function onPointerDown(e) {
110
- hadKeyboardEvent = false;
111
- }
112
-
113
- /**
114
- * On `focus`, add the `focus-visible` class to the target if: - the target received focus as a result of keyboard
115
- * navigation or - the event target is an element that will likely require interaction via the keyboard (e.g., a text
116
- * box).
117
- *
118
- * @param {Event} e
119
- */
120
- function onFocus(e) {
121
- // Prevent IE from focusing the document or HTML element.
122
- if (!isValidFocusTarget(e.target)) {
123
- return;
124
- }
125
-
126
- if (hadKeyboardEvent || focusTriggersKeyboardModality(e.target)) {
127
- addFocusVisibleClass(e.target);
128
- }
129
- }
130
-
131
- /**
132
- * On `blur`, remove the `focus-visible` class from the target.
133
- *
134
- * @param {Event} e
135
- */
136
- function onBlur(e) {
137
- if (!isValidFocusTarget(e.target)) {
138
- return;
139
- }
140
-
141
- if (/** @type {Element} */ (e.target).hasAttribute('focus-visible')) {
142
- // To detect a tab/window switch, we look for a blur event followed
143
- // rapidly by a visibility change.
144
- // If we don't see a visibility change within 100ms, it's probably a
145
- // regular focus change.
146
- hadFocusVisibleRecently = true;
147
- window.clearTimeout(hadFocusVisibleRecentlyTimeout);
148
- hadFocusVisibleRecentlyTimeout = window.setTimeout(() => {
149
- hadFocusVisibleRecently = false;
150
- }, 100);
151
- removeFocusVisibleClass(e.target);
152
- }
153
- }
154
-
155
- /**
156
- * Add a group of listeners to detect usage of any pointing devices. These listeners will be added when the polyfill
157
- * first loads and anytime the window is blurred so that they are active when the window regains focus.
158
- */
159
- function addInitialPointerMoveListeners() {
160
- /* eslint-disable no-use-before-define */
161
- document.addEventListener('mousemove', onInitialPointerMove);
162
- document.addEventListener('mousedown', onInitialPointerMove);
163
- document.addEventListener('mouseup', onInitialPointerMove);
164
- document.addEventListener('pointermove', onInitialPointerMove);
165
- document.addEventListener('pointerdown', onInitialPointerMove);
166
- document.addEventListener('pointerup', onInitialPointerMove);
167
- document.addEventListener('touchmove', onInitialPointerMove);
168
- document.addEventListener('touchstart', onInitialPointerMove);
169
- document.addEventListener('touchend', onInitialPointerMove);
170
- /* eslint-enable no-use-before-define */
171
- }
172
-
173
- function removeInitialPointerMoveListeners() {
174
- /* eslint-disable no-use-before-define */
175
- document.removeEventListener('mousemove', onInitialPointerMove);
176
- document.removeEventListener('mousedown', onInitialPointerMove);
177
- document.removeEventListener('mouseup', onInitialPointerMove);
178
- document.removeEventListener('pointermove', onInitialPointerMove);
179
- document.removeEventListener('pointerdown', onInitialPointerMove);
180
- document.removeEventListener('pointerup', onInitialPointerMove);
181
- document.removeEventListener('touchmove', onInitialPointerMove);
182
- document.removeEventListener('touchstart', onInitialPointerMove);
183
- document.removeEventListener('touchend', onInitialPointerMove);
184
- /* eslint-enable no-use-before-define */
185
- }
186
-
187
- /**
188
- * If the user changes tabs, keep track of whether or not the previously focused element had .focus-visible.
189
- *
190
- * @param {Event} e
191
- */
192
- function onVisibilityChange(e) {
193
- if (document.visibilityState === 'hidden') {
194
- // If the tab becomes active again, the browser will handle calling focus
195
- // on the element (Safari actually calls it twice).
196
- // If this tab change caused a blur on an element with focus-visible,
197
- // re-apply the class when the user switches back to the tab.
198
- if (hadFocusVisibleRecently) {
199
- hadKeyboardEvent = true;
200
- }
201
- addInitialPointerMoveListeners();
202
- }
203
- }
204
-
205
- /**
206
- * When the polyfill first loads, assume the user is in keyboard modality. If any event is received from a pointing
207
- * device (e.g., mouse, pointer, touch), turn off keyboard modality. This accounts for situations where focus enters
208
- * the page from the URL bar.
209
- *
210
- * @param {Event} e
211
- */
212
- function onInitialPointerMove(e) {
213
- // Work around a Safari quirk that fires a mousemove on <html> whenever the
214
- // window blurs, even if you're tabbing out of the page. ¯\_(ツ)_/¯
215
- if (
216
- /** @type {Element} */ (e.target).nodeName &&
217
- /** @type {Element} */ (e.target).nodeName.toLowerCase() === 'html'
218
- ) {
219
- return;
220
- }
221
-
222
- hadKeyboardEvent = false;
223
- removeInitialPointerMoveListeners();
224
- }
225
-
226
- // We are interested in changes at the global scope only for some kinds of states.
227
- // For example, global pointer input, global key presses, and global
228
- // visibility change should affect the state at every scope:
229
- document.addEventListener('keydown', onKeyDown, true);
230
- document.addEventListener('mousedown', onPointerDown, true);
231
- document.addEventListener('pointerdown', onPointerDown, true);
232
- document.addEventListener('touchstart', onPointerDown, true);
233
- document.addEventListener('visibilitychange', onVisibilityChange, true);
234
-
235
- addInitialPointerMoveListeners();
236
-
237
- // We specifically care about state changes in the local scope for focus and blur.
238
- // This is because focus/blur events that originate from within a
239
- // shadow root are not re-dispatched from the host element if it was already
240
- // the active element in its own scope:
241
- scope.addEventListener('focus', onFocus, true);
242
- scope.addEventListener('blur', onBlur, true);
243
-
244
- return () => {
245
- removeInitialPointerMoveListeners();
246
-
247
- document.removeEventListener('keydown', onKeyDown, true);
248
- document.removeEventListener('mousedown', onPointerDown, true);
249
- document.removeEventListener('pointerdown', onPointerDown, true);
250
- document.removeEventListener('touchstart', onPointerDown, true);
251
- document.removeEventListener('visibilitychange', onVisibilityChange, true);
252
-
253
- scope.removeEventListener('focus', onFocus, true);
254
- scope.removeEventListener('blur', onBlur, true);
255
- };
256
- }
@@ -1,13 +0,0 @@
1
- export class EditorFilerobotImage extends UploaderBlock {
2
- activityType: any;
3
- get activityParams(): import("../CloudImageEditorActivity/CloudImageEditorActivity.js").ActivityParams;
4
- mounted(): void;
5
- _entry: import("../../abstract/TypedData.js").TypedData | undefined;
6
- _instance: any;
7
- unmounted(): void;
8
- }
9
- export namespace EditorFilerobotImage {
10
- let template: string;
11
- }
12
- import { UploaderBlock } from '../../abstract/UploaderBlock.js';
13
- //# sourceMappingURL=EditorFilerobotImage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EditorFilerobotImage.d.ts","sourceRoot":"","sources":["EditorFilerobotImage.js"],"names":[],"mappings":"AAMA;IAEE,kBAA+D;IAG/D,uGAMC;IAcD,gBAiBC;IAfC,oEAAoD;IAcpD,eAAyB;IAI3B,kBAIC;CACF;;;;8BArD6B,iCAAiC"}
@@ -1,59 +0,0 @@
1
-
2
- import { uploadFile } from '@uploadcare/upload-client';
3
- import { ActivityBlock } from '../../abstract/ActivityBlock.js';
4
- import { UploaderBlock } from '../../abstract/UploaderBlock.js';
5
- import FilerobotImageEditor from 'filerobot-image-editor';
6
-
7
- export class EditorFilerobotImage extends UploaderBlock {
8
- couldBeCtxOwner = true;
9
- activityType = ActivityBlock.activities.EDITOR_FILEROBOT_IMAGE;
10
- static styleAttrs = ['uc-editor-filerobot-image'];
11
-
12
- get activityParams() {
13
- const params = super.activityParams;
14
- if ('internalId' in params) {
15
- return params;
16
- }
17
- throw new Error(`Cloud Image Editor activity params not found`);
18
- }
19
-
20
- initCallback() {
21
- super.initCallback();
22
-
23
- this.registerActivity(this.activityType, {
24
- onActivate: () => this.mounted(),
25
- onDeactivate: () => this.unmounted(),
26
- });
27
-
28
- console.log("EditorFilerobotImage");
29
-
30
- }
31
-
32
- mounted() {
33
- const { internalId } = this.activityParams;
34
- this._entry = this.uploadCollection.read(internalId);
35
-
36
- if (!this._entry) {
37
- throw new Error(`Entry with internalId "${internalId}" not found`);
38
- }
39
-
40
- const file = this._entry.getValue('file');
41
- const cdnUrl = this._entry.getValue('cdnUrl');
42
-
43
-
44
-
45
-
46
- const instance = null
47
-
48
- this._instance = instance
49
- }
50
-
51
-
52
- unmounted() {
53
- this._instance = undefined;
54
- this._entry = undefined;
55
- this.innerHTML = ''
56
- }
57
- }
58
-
59
- EditorFilerobotImage.template = ``;
@@ -1,16 +0,0 @@
1
- export class Range extends BaseComponent<any> {
2
- constructor();
3
- init$: {
4
- cssLeft: string;
5
- barActive: boolean;
6
- value: number;
7
- onChange: (e: any) => void;
8
- };
9
- /** @type {HTMLInputElement} */
10
- _range: HTMLInputElement | undefined;
11
- }
12
- export namespace Range {
13
- let template: string;
14
- }
15
- import { BaseComponent } from '@symbiotejs/symbiote';
16
- //# sourceMappingURL=Range.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Range.d.ts","sourceRoot":"","sources":["Range.js"],"names":[],"mappings":"AAEA;IAqC0C,cAAgB;IApCxD;;;;;MAUE;IAIA,+BAA+B;IAC/B,qCAA4B;CAe/B;;;;8BAjC6B,sBAAsB"}