@nullix/zod-mongoose-studio 3.3.1 → 3.3.3

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 (325) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/{BCIlnd0g.js → 5ZXm4f56.js} +1 -1
  3. package/.output/public/_nuxt/{DcJ7oPvZ.js → B2fcLSyW.js} +1 -1
  4. package/.output/public/_nuxt/{B0N6xv5E.js → BBN7l5Hn.js} +1 -1
  5. package/.output/public/_nuxt/BBTTtb8r.js +41 -0
  6. package/.output/public/_nuxt/{5Tu2WUJz.js → BDbISGvP.js} +1 -1
  7. package/.output/public/_nuxt/{D87QMS6j.js → BijI4RNx.js} +1 -1
  8. package/.output/public/_nuxt/{C2BHp-MG.js → Bp9qkJ9m.js} +1 -1
  9. package/.output/public/_nuxt/{I3Ucam2s.js → Bu3-sqCf.js} +1 -1
  10. package/.output/public/_nuxt/{BO4hqv6q.js → C-FtTvwz.js} +1 -1
  11. package/.output/public/_nuxt/C02JV0Aj.js +1 -0
  12. package/.output/public/_nuxt/{sKEJiAHO.js → C1UkIsDc.js} +1 -1
  13. package/.output/public/_nuxt/{CKULsFUz.js → CJT28r6J.js} +1 -1
  14. package/.output/public/_nuxt/{BNDnV2op.js → CL7qtgl2.js} +3 -3
  15. package/.output/public/_nuxt/{DA0pQuyP.js → CRMd2YH2.js} +3 -3
  16. package/.output/public/_nuxt/{DpKrXpkK.js → CRkdQgFz.js} +1 -1
  17. package/.output/public/_nuxt/{B0cUlOSM.js → Cw1XFOz5.js} +1 -1
  18. package/.output/public/_nuxt/{CzbCpNnc.js → D5yWk6Ly.js} +1 -1
  19. package/.output/public/_nuxt/{BOsJJ_ZU.js → DA9GjKpR.js} +1 -1
  20. package/.output/public/_nuxt/{Dce9SnGa.js → DaWAlZhp.js} +1 -1
  21. package/.output/public/_nuxt/{tqQNlhT9.js → DafLMUHo.js} +1 -1
  22. package/.output/public/_nuxt/{ypRHVLFO.js → Dyaldc-t.js} +1 -1
  23. package/.output/public/_nuxt/{o-NCh2rp.js → UU9fpRNQ.js} +1 -1
  24. package/.output/public/_nuxt/builds/latest.json +1 -1
  25. package/.output/public/_nuxt/builds/meta/717459d8-0da1-42ed-af0b-9ec5395e8fdc.json +1 -0
  26. package/.output/public/_nuxt/entry.CDPplHzk.css +1 -0
  27. package/.output/public/_nuxt/error-404.hPtlUQpd.css +1 -0
  28. package/.output/public/_nuxt/error-500.E-PXUb6B.css +1 -0
  29. package/.output/public/_nuxt/{CMH9iX_E.js → kFZJW2-u.js} +2 -2
  30. package/.output/public/_nuxt/{DsnIpnT9.js → u3DlT5Mh.js} +1 -1
  31. package/.output/server/chunks/_/error-500.mjs.map +1 -1
  32. package/.output/server/chunks/_/parse-request.mjs +29 -0
  33. package/.output/server/chunks/_/parse-request.mjs.map +1 -0
  34. package/.output/server/chunks/build/client.precomputed.mjs +1 -1
  35. package/.output/server/chunks/build/{error-404-KRkA0DPI.mjs → error-404-aQ5PiVuX.mjs} +6 -12
  36. package/.output/server/chunks/build/error-404-aQ5PiVuX.mjs.map +1 -0
  37. package/.output/server/chunks/build/error-404-styles.DIZfBVBR.mjs +8 -0
  38. package/.output/server/chunks/build/error-404-styles.DIZfBVBR.mjs.map +1 -0
  39. package/.output/server/chunks/build/{error-500-DIIFf55p.mjs → error-500-BY6ZAZZ2.mjs} +6 -12
  40. package/.output/server/chunks/build/error-500-BY6ZAZZ2.mjs.map +1 -0
  41. package/.output/server/chunks/build/error-500-styles.BZXgEzR5.mjs +8 -0
  42. package/.output/server/chunks/build/error-500-styles.BZXgEzR5.mjs.map +1 -0
  43. package/.output/server/chunks/build/index-57_mtIua.mjs +235 -0
  44. package/.output/server/chunks/build/index-57_mtIua.mjs.map +1 -0
  45. package/.output/server/chunks/build/{index-CB1N4gax.mjs → index-Qa-4KqCB.mjs} +7 -13
  46. package/.output/server/chunks/build/index-Qa-4KqCB.mjs.map +1 -0
  47. package/.output/server/chunks/build/server.mjs +3913 -3378
  48. package/.output/server/chunks/build/server.mjs.map +1 -1
  49. package/.output/server/chunks/build/styles.mjs +4 -4
  50. package/.output/server/chunks/nitro/nitro.mjs +652 -2278
  51. package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
  52. package/.output/server/chunks/routes/api/editor-types.get.mjs +91 -28
  53. package/.output/server/chunks/routes/api/editor-types.get.mjs.map +1 -1
  54. package/.output/server/chunks/routes/api/parse.post.mjs +1599 -7
  55. package/.output/server/chunks/routes/api/parse.post.mjs.map +1 -1
  56. package/.output/server/chunks/routes/api/resolve.get.mjs +0 -6
  57. package/.output/server/chunks/routes/api/resolve.get.mjs.map +1 -1
  58. package/.output/server/chunks/routes/api/studio/run.post.mjs +50 -12
  59. package/.output/server/chunks/routes/api/studio/run.post.mjs.map +1 -1
  60. package/.output/server/chunks/routes/renderer.mjs +21 -44
  61. package/.output/server/chunks/routes/renderer.mjs.map +1 -1
  62. package/.output/server/index.mjs +1 -7
  63. package/.output/server/index.mjs.map +1 -1
  64. package/.output/server/node_modules/.nitro/@vue/compiler-core@3.5.43/dist/compiler-core.cjs.prod.js +6801 -0
  65. package/.output/server/node_modules/.nitro/@vue/compiler-core@3.5.43/package.json +58 -0
  66. package/.output/server/node_modules/.nitro/@vue/compiler-dom@3.5.43/dist/compiler-dom.cjs.prod.js +692 -0
  67. package/.output/server/node_modules/.nitro/@vue/compiler-dom@3.5.43/package.json +57 -0
  68. package/.output/server/node_modules/.nitro/@vue/reactivity@3.5.43/dist/reactivity.cjs.prod.js +1905 -0
  69. package/.output/server/node_modules/.nitro/@vue/reactivity@3.5.43/package.json +55 -0
  70. package/.output/server/node_modules/.nitro/@vue/runtime-core@3.5.43/dist/runtime-core.cjs.prod.js +7006 -0
  71. package/.output/server/node_modules/.nitro/@vue/runtime-core@3.5.43/package.json +52 -0
  72. package/.output/server/node_modules/.nitro/@vue/runtime-dom@3.5.43/dist/runtime-dom.cjs.prod.js +1867 -0
  73. package/.output/server/node_modules/.nitro/@vue/runtime-dom@3.5.43/package.json +60 -0
  74. package/.output/server/node_modules/.nitro/@vue/shared@3.5.43/dist/shared.cjs.prod.js +655 -0
  75. package/.output/server/node_modules/.nitro/@vue/shared@3.5.43/package.json +47 -0
  76. package/.output/server/node_modules/.nitro/source-map-js@1.2.2/lib/array-set.js +121 -0
  77. package/.output/server/node_modules/.nitro/source-map-js@1.2.2/lib/base64-vlq.js +140 -0
  78. package/.output/server/node_modules/.nitro/source-map-js@1.2.2/lib/base64.js +67 -0
  79. package/.output/server/node_modules/.nitro/source-map-js@1.2.2/lib/binary-search.js +111 -0
  80. package/.output/server/node_modules/.nitro/source-map-js@1.2.2/lib/mapping-list.js +79 -0
  81. package/.output/server/node_modules/.nitro/source-map-js@1.2.2/lib/quick-sort.js +141 -0
  82. package/.output/server/node_modules/.nitro/source-map-js@1.2.2/lib/source-map-consumer.js +1236 -0
  83. package/.output/server/node_modules/.nitro/source-map-js@1.2.2/lib/source-map-generator.js +446 -0
  84. package/.output/server/node_modules/.nitro/source-map-js@1.2.2/lib/source-node.js +420 -0
  85. package/.output/server/node_modules/.nitro/source-map-js@1.2.2/lib/util.js +594 -0
  86. package/.output/server/node_modules/.nitro/source-map-js@1.2.2/package.json +71 -0
  87. package/.output/server/node_modules/.nitro/source-map-js@1.2.2/source-map.js +8 -0
  88. package/.output/server/node_modules/.nitro/vue@3.5.43/dist/vue.cjs.js +80 -0
  89. package/.output/server/node_modules/.nitro/vue@3.5.43/dist/vue.cjs.prod.js +66 -0
  90. package/.output/server/node_modules/.nitro/vue@3.5.43/index.js +7 -0
  91. package/.output/server/node_modules/.nitro/vue@3.5.43/index.mjs +1 -0
  92. package/.output/server/node_modules/.nitro/vue@3.5.43/package.json +112 -0
  93. package/.output/server/node_modules/@babel/parser/lib/index.js +55 -21
  94. package/.output/server/node_modules/@babel/parser/package.json +7 -7
  95. package/.output/server/node_modules/@esbuild/linux-x64/bin/esbuild +0 -0
  96. package/.output/server/node_modules/@esbuild/linux-x64/package.json +1 -1
  97. package/.output/server/node_modules/@iconify/utils/lib/colors/index.js +19 -16
  98. package/.output/server/node_modules/@iconify/utils/lib/colors/keywords.js +3 -4
  99. package/.output/server/node_modules/@iconify/utils/lib/css/common.js +16 -16
  100. package/.output/server/node_modules/@iconify/utils/lib/css/format.js +1 -2
  101. package/.output/server/node_modules/@iconify/utils/lib/css/icon.js +11 -14
  102. package/.output/server/node_modules/@iconify/utils/lib/css/icons.js +13 -16
  103. package/.output/server/node_modules/@iconify/utils/lib/customisations/bool.js +1 -2
  104. package/.output/server/node_modules/@iconify/utils/lib/customisations/defaults.js +1 -3
  105. package/.output/server/node_modules/@iconify/utils/lib/customisations/flip.js +2 -5
  106. package/.output/server/node_modules/@iconify/utils/lib/customisations/merge.js +1 -3
  107. package/.output/server/node_modules/@iconify/utils/lib/customisations/rotate.js +4 -5
  108. package/.output/server/node_modules/@iconify/utils/lib/emoji/cleanup.js +1 -3
  109. package/.output/server/node_modules/@iconify/utils/lib/emoji/convert.js +9 -11
  110. package/.output/server/node_modules/@iconify/utils/lib/emoji/data.js +1 -2
  111. package/.output/server/node_modules/@iconify/utils/lib/emoji/format.js +1 -3
  112. package/.output/server/node_modules/@iconify/utils/lib/emoji/parse.js +1 -3
  113. package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/base.js +12 -18
  114. package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/create.js +3 -4
  115. package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/numbers.js +5 -7
  116. package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/similar.js +1 -8
  117. package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/tree.js +11 -12
  118. package/.output/server/node_modules/@iconify/utils/lib/emoji/replace/find.js +5 -7
  119. package/.output/server/node_modules/@iconify/utils/lib/emoji/replace/replace.js +1 -3
  120. package/.output/server/node_modules/@iconify/utils/lib/emoji/test/components.js +1 -3
  121. package/.output/server/node_modules/@iconify/utils/lib/emoji/test/missing.js +7 -7
  122. package/.output/server/node_modules/@iconify/utils/lib/emoji/test/name.js +2 -4
  123. package/.output/server/node_modules/@iconify/utils/lib/emoji/test/parse.js +5 -9
  124. package/.output/server/node_modules/@iconify/utils/lib/emoji/test/similar.js +3 -5
  125. package/.output/server/node_modules/@iconify/utils/lib/emoji/test/tree.js +2 -4
  126. package/.output/server/node_modules/@iconify/utils/lib/emoji/test/variations.js +7 -8
  127. package/.output/server/node_modules/@iconify/utils/lib/icon/defaults.js +1 -2
  128. package/.output/server/node_modules/@iconify/utils/lib/icon/merge.js +1 -3
  129. package/.output/server/node_modules/@iconify/utils/lib/icon/name.js +3 -4
  130. package/.output/server/node_modules/@iconify/utils/lib/icon/square.js +1 -2
  131. package/.output/server/node_modules/@iconify/utils/lib/icon/transformations.js +1 -2
  132. package/.output/server/node_modules/@iconify/utils/lib/icon-set/convert-info.js +10 -15
  133. package/.output/server/node_modules/@iconify/utils/lib/icon-set/expand.js +1 -3
  134. package/.output/server/node_modules/@iconify/utils/lib/icon-set/get-icon.js +3 -5
  135. package/.output/server/node_modules/@iconify/utils/lib/icon-set/get-icons.js +1 -3
  136. package/.output/server/node_modules/@iconify/utils/lib/icon-set/minify.js +1 -3
  137. package/.output/server/node_modules/@iconify/utils/lib/icon-set/parse.js +1 -3
  138. package/.output/server/node_modules/@iconify/utils/lib/icon-set/tree.js +1 -2
  139. package/.output/server/node_modules/@iconify/utils/lib/icon-set/validate-basic.js +1 -3
  140. package/.output/server/node_modules/@iconify/utils/lib/icon-set/validate.js +21 -13
  141. package/.output/server/node_modules/@iconify/utils/lib/index.js +1 -2
  142. package/.output/server/node_modules/@iconify/utils/lib/loader/custom.js +3 -3
  143. package/.output/server/node_modules/@iconify/utils/lib/loader/hmr-utils.js +33 -0
  144. package/.output/server/node_modules/@iconify/utils/lib/loader/loader.js +22 -22
  145. package/.output/server/node_modules/@iconify/utils/lib/loader/modern.js +7 -22
  146. package/.output/server/node_modules/@iconify/utils/lib/loader/utils.js +60 -16
  147. package/.output/server/node_modules/@iconify/utils/lib/misc/objects.js +1 -2
  148. package/.output/server/node_modules/@iconify/utils/lib/misc/strings.js +1 -2
  149. package/.output/server/node_modules/@iconify/utils/lib/misc/title.js +1 -2
  150. package/.output/server/node_modules/@iconify/utils/lib/svg/build.js +9 -11
  151. package/.output/server/node_modules/@iconify/utils/lib/svg/defs.js +1 -2
  152. package/.output/server/node_modules/@iconify/utils/lib/svg/encode-svg-for-css.js +1 -3
  153. package/.output/server/node_modules/@iconify/utils/lib/svg/html.js +1 -2
  154. package/.output/server/node_modules/@iconify/utils/lib/svg/id.js +1 -2
  155. package/.output/server/node_modules/@iconify/utils/lib/svg/inner-html.js +1 -2
  156. package/.output/server/node_modules/@iconify/utils/lib/svg/parse.js +3 -5
  157. package/.output/server/node_modules/@iconify/utils/lib/svg/pretty.js +5 -4
  158. package/.output/server/node_modules/@iconify/utils/lib/svg/size.js +1 -2
  159. package/.output/server/node_modules/@iconify/utils/lib/svg/trim.js +1 -2
  160. package/.output/server/node_modules/@iconify/utils/lib/svg/url.js +1 -2
  161. package/.output/server/node_modules/@iconify/utils/lib/svg/viewbox.js +2 -3
  162. package/.output/server/node_modules/@iconify/utils/package.json +15 -13
  163. package/.output/server/node_modules/@vue/compiler-ssr/dist/compiler-ssr.cjs.js +8 -1
  164. package/.output/server/node_modules/@vue/compiler-ssr/package.json +3 -3
  165. package/.output/server/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js +34 -13
  166. package/.output/server/node_modules/@vue/server-renderer/package.json +4 -6
  167. package/.output/server/node_modules/devalue/index.js +15 -2
  168. package/.output/server/node_modules/devalue/package.json +5 -3
  169. package/.output/server/node_modules/devalue/src/base64.js +46 -96
  170. package/.output/server/node_modules/devalue/src/constants.js +5 -0
  171. package/.output/server/node_modules/devalue/src/operations.js +221 -0
  172. package/.output/server/node_modules/devalue/src/parse.js +76 -62
  173. package/.output/server/node_modules/devalue/src/stringify.js +164 -81
  174. package/.output/server/node_modules/devalue/src/uneval.js +312 -104
  175. package/.output/server/node_modules/devalue/src/utils.js +61 -19
  176. package/.output/server/node_modules/esbuild/lib/main.js +12 -8
  177. package/.output/server/node_modules/esbuild/package.json +50 -50
  178. package/.output/server/node_modules/hookable/dist/index.mjs +2 -11
  179. package/.output/server/node_modules/hookable/package.json +23 -22
  180. package/.output/server/node_modules/ip-address/dist/ipv4.js +7 -0
  181. package/.output/server/node_modules/ip-address/package.json +1 -1
  182. package/.output/server/node_modules/zod/package.json +20 -8
  183. package/.output/server/node_modules/zod/v4/classic/checks.js +1 -1
  184. package/.output/server/node_modules/zod/v4/classic/deep-partial.js +13 -0
  185. package/.output/server/node_modules/zod/v4/classic/errors.js +44 -35
  186. package/.output/server/node_modules/zod/v4/classic/external.js +5 -8
  187. package/.output/server/node_modules/zod/v4/classic/from-json-schema.js +375 -78
  188. package/.output/server/node_modules/zod/v4/classic/in-out.js +36 -0
  189. package/.output/server/node_modules/zod/v4/classic/index.js +2 -2
  190. package/.output/server/node_modules/zod/v4/classic/iso.js +2 -17
  191. package/.output/server/node_modules/zod/v4/classic/package.json +2 -1
  192. package/.output/server/node_modules/zod/v4/classic/parse.js +1 -0
  193. package/.output/server/node_modules/zod/v4/classic/schemas.js +601 -223
  194. package/.output/server/node_modules/zod/v4/core/api.js +51 -26
  195. package/.output/server/node_modules/zod/v4/core/checks.js +68 -127
  196. package/.output/server/node_modules/zod/v4/core/compile.js +1858 -0
  197. package/.output/server/node_modules/zod/v4/core/core.js +87 -22
  198. package/.output/server/node_modules/zod/v4/core/doc.js +12 -9
  199. package/.output/server/node_modules/zod/v4/core/errors.js +127 -42
  200. package/.output/server/node_modules/zod/v4/core/index.js +3 -0
  201. package/.output/server/node_modules/zod/v4/core/json-schema-generator.js +6 -2
  202. package/.output/server/node_modules/zod/v4/core/json-schema-processors.js +413 -175
  203. package/.output/server/node_modules/zod/v4/core/memoizer.js +311 -0
  204. package/.output/server/node_modules/zod/v4/core/package.json +2 -1
  205. package/.output/server/node_modules/zod/v4/core/parse.js +130 -48
  206. package/.output/server/node_modules/zod/v4/core/regexes.js +39 -16
  207. package/.output/server/node_modules/zod/v4/core/registries.js +2 -2
  208. package/.output/server/node_modules/zod/v4/core/schemas.js +895 -382
  209. package/.output/server/node_modules/zod/v4/core/to-json-schema.js +253 -39
  210. package/.output/server/node_modules/zod/v4/core/util.js +383 -175
  211. package/.output/server/node_modules/zod/v4/core/versions.js +2 -2
  212. package/.output/server/node_modules/zod/v4/core/visit.js +169 -0
  213. package/.output/server/node_modules/zod/v4/index.js +3 -2
  214. package/.output/server/node_modules/zod/v4/locales/ar.js +5 -0
  215. package/.output/server/node_modules/zod/v4/locales/az.js +5 -0
  216. package/.output/server/node_modules/zod/v4/locales/be.js +12 -0
  217. package/.output/server/node_modules/zod/v4/locales/bg.js +5 -0
  218. package/.output/server/node_modules/zod/v4/locales/bn.js +113 -0
  219. package/.output/server/node_modules/zod/v4/locales/ca.js +5 -0
  220. package/.output/server/node_modules/zod/v4/locales/ckb.js +133 -0
  221. package/.output/server/node_modules/zod/v4/locales/cs.js +5 -0
  222. package/.output/server/node_modules/zod/v4/locales/da.js +7 -2
  223. package/.output/server/node_modules/zod/v4/locales/de.js +5 -0
  224. package/.output/server/node_modules/zod/v4/locales/el.js +112 -0
  225. package/.output/server/node_modules/zod/v4/locales/en.js +20 -4
  226. package/.output/server/node_modules/zod/v4/locales/eo.js +5 -0
  227. package/.output/server/node_modules/zod/v4/locales/es.js +4 -0
  228. package/.output/server/node_modules/zod/v4/locales/fa.js +5 -0
  229. package/.output/server/node_modules/zod/v4/locales/fi.js +5 -0
  230. package/.output/server/node_modules/zod/v4/locales/fr-CA.js +5 -0
  231. package/.output/server/node_modules/zod/v4/locales/fr.js +38 -17
  232. package/.output/server/node_modules/zod/v4/locales/gu.js +113 -0
  233. package/.output/server/node_modules/zod/v4/locales/he.js +7 -0
  234. package/.output/server/node_modules/zod/v4/locales/hi.js +111 -0
  235. package/.output/server/node_modules/zod/v4/locales/hr.js +126 -0
  236. package/.output/server/node_modules/zod/v4/locales/hu.js +5 -0
  237. package/.output/server/node_modules/zod/v4/locales/hy.js +11 -0
  238. package/.output/server/node_modules/zod/v4/locales/id.js +5 -0
  239. package/.output/server/node_modules/zod/v4/locales/index.js +14 -0
  240. package/.output/server/node_modules/zod/v4/locales/is.js +5 -0
  241. package/.output/server/node_modules/zod/v4/locales/it.js +6 -1
  242. package/.output/server/node_modules/zod/v4/locales/ja.js +5 -0
  243. package/.output/server/node_modules/zod/v4/locales/ka.js +13 -8
  244. package/.output/server/node_modules/zod/v4/locales/km.js +5 -0
  245. package/.output/server/node_modules/zod/v4/locales/kn.js +116 -0
  246. package/.output/server/node_modules/zod/v4/locales/ko.js +5 -0
  247. package/.output/server/node_modules/zod/v4/locales/lt.js +4 -0
  248. package/.output/server/node_modules/zod/v4/locales/mk.js +5 -0
  249. package/.output/server/node_modules/zod/v4/locales/ms.js +5 -0
  250. package/.output/server/node_modules/zod/v4/locales/ne.js +111 -0
  251. package/.output/server/node_modules/zod/v4/locales/nl.js +5 -0
  252. package/.output/server/node_modules/zod/v4/locales/nn.js +113 -0
  253. package/.output/server/node_modules/zod/v4/locales/no.js +7 -2
  254. package/.output/server/node_modules/zod/v4/locales/ota.js +5 -0
  255. package/.output/server/node_modules/zod/v4/locales/package.json +2 -1
  256. package/.output/server/node_modules/zod/v4/locales/pl.js +5 -0
  257. package/.output/server/node_modules/zod/v4/locales/ps.js +5 -0
  258. package/.output/server/node_modules/zod/v4/locales/pt-BR.js +143 -0
  259. package/.output/server/node_modules/zod/v4/locales/pt.js +89 -55
  260. package/.output/server/node_modules/zod/v4/locales/ro.js +122 -0
  261. package/.output/server/node_modules/zod/v4/locales/ru.js +12 -0
  262. package/.output/server/node_modules/zod/v4/locales/sk.js +116 -0
  263. package/.output/server/node_modules/zod/v4/locales/sl.js +5 -0
  264. package/.output/server/node_modules/zod/v4/locales/sv.js +7 -2
  265. package/.output/server/node_modules/zod/v4/locales/ta.js +5 -0
  266. package/.output/server/node_modules/zod/v4/locales/tg.js +117 -0
  267. package/.output/server/node_modules/zod/v4/locales/th.js +5 -0
  268. package/.output/server/node_modules/zod/v4/locales/tk.js +107 -0
  269. package/.output/server/node_modules/zod/v4/locales/tr.js +5 -0
  270. package/.output/server/node_modules/zod/v4/locales/uk.js +5 -0
  271. package/.output/server/node_modules/zod/v4/locales/ur.js +5 -0
  272. package/.output/server/node_modules/zod/v4/locales/uz.js +4 -0
  273. package/.output/server/node_modules/zod/v4/locales/vi.js +5 -0
  274. package/.output/server/node_modules/zod/v4/locales/yo.js +5 -0
  275. package/.output/server/node_modules/zod/v4/locales/zh-CN.js +5 -0
  276. package/.output/server/node_modules/zod/v4/locales/zh-TW.js +5 -0
  277. package/.output/server/node_modules/zod/v4/package.json +2 -1
  278. package/.output/server/package.json +18 -18
  279. package/README.md +12 -1
  280. package/package.json +10 -9
  281. package/server/api/editor-types.get.ts +2 -23
  282. package/server/api/studio/run.post.ts +18 -6
  283. package/server/utils/editor-types.json +1 -0
  284. package/.output/public/_nuxt/B9paGgN0.js +0 -33
  285. package/.output/public/_nuxt/builds/meta/51f1351c-0667-4235-9ddc-16582a51ce03.json +0 -1
  286. package/.output/public/_nuxt/entry.B-vs1tRH.css +0 -1
  287. package/.output/public/_nuxt/error-404.CTSXlFYa.css +0 -1
  288. package/.output/public/_nuxt/error-500.DqEfQnVZ.css +0 -1
  289. package/.output/server/chunks/build/error-404-KRkA0DPI.mjs.map +0 -1
  290. package/.output/server/chunks/build/error-404-styles.I0NYw-Bn.mjs +0 -8
  291. package/.output/server/chunks/build/error-404-styles.I0NYw-Bn.mjs.map +0 -1
  292. package/.output/server/chunks/build/error-500-DIIFf55p.mjs.map +0 -1
  293. package/.output/server/chunks/build/error-500-styles.D1cs9hQy.mjs +0 -8
  294. package/.output/server/chunks/build/error-500-styles.D1cs9hQy.mjs.map +0 -1
  295. package/.output/server/chunks/build/index-CB1N4gax.mjs.map +0 -1
  296. /package/.output/server/node_modules/{@vue/compiler-core → .nitro/@vue/compiler-core@3.5.32}/dist/compiler-core.cjs.prod.js +0 -0
  297. /package/.output/server/node_modules/{@vue/compiler-core → .nitro/@vue/compiler-core@3.5.32}/package.json +0 -0
  298. /package/.output/server/node_modules/{@vue/compiler-dom → .nitro/@vue/compiler-dom@3.5.32}/dist/compiler-dom.cjs.prod.js +0 -0
  299. /package/.output/server/node_modules/{@vue/compiler-dom → .nitro/@vue/compiler-dom@3.5.32}/package.json +0 -0
  300. /package/.output/server/node_modules/{@vue/reactivity → .nitro/@vue/reactivity@3.5.32}/dist/reactivity.cjs.prod.js +0 -0
  301. /package/.output/server/node_modules/{@vue/reactivity → .nitro/@vue/reactivity@3.5.32}/package.json +0 -0
  302. /package/.output/server/node_modules/{@vue/runtime-core → .nitro/@vue/runtime-core@3.5.32}/dist/runtime-core.cjs.prod.js +0 -0
  303. /package/.output/server/node_modules/{@vue/runtime-core → .nitro/@vue/runtime-core@3.5.32}/package.json +0 -0
  304. /package/.output/server/node_modules/{@vue/runtime-dom → .nitro/@vue/runtime-dom@3.5.32}/dist/runtime-dom.cjs.prod.js +0 -0
  305. /package/.output/server/node_modules/{@vue/runtime-dom → .nitro/@vue/runtime-dom@3.5.32}/package.json +0 -0
  306. /package/.output/server/node_modules/{@vue/shared → .nitro/@vue/shared@3.5.32}/dist/shared.cjs.prod.js +0 -0
  307. /package/.output/server/node_modules/{@vue/shared → .nitro/@vue/shared@3.5.32}/package.json +0 -0
  308. /package/.output/server/node_modules/{source-map-js → .nitro/source-map-js@1.2.1}/lib/array-set.js +0 -0
  309. /package/.output/server/node_modules/{source-map-js → .nitro/source-map-js@1.2.1}/lib/base64-vlq.js +0 -0
  310. /package/.output/server/node_modules/{source-map-js → .nitro/source-map-js@1.2.1}/lib/base64.js +0 -0
  311. /package/.output/server/node_modules/{source-map-js → .nitro/source-map-js@1.2.1}/lib/binary-search.js +0 -0
  312. /package/.output/server/node_modules/{source-map-js → .nitro/source-map-js@1.2.1}/lib/mapping-list.js +0 -0
  313. /package/.output/server/node_modules/{source-map-js → .nitro/source-map-js@1.2.1}/lib/quick-sort.js +0 -0
  314. /package/.output/server/node_modules/{source-map-js → .nitro/source-map-js@1.2.1}/lib/source-map-consumer.js +0 -0
  315. /package/.output/server/node_modules/{source-map-js → .nitro/source-map-js@1.2.1}/lib/source-map-generator.js +0 -0
  316. /package/.output/server/node_modules/{source-map-js → .nitro/source-map-js@1.2.1}/lib/source-node.js +0 -0
  317. /package/.output/server/node_modules/{source-map-js → .nitro/source-map-js@1.2.1}/lib/util.js +0 -0
  318. /package/.output/server/node_modules/{source-map-js → .nitro/source-map-js@1.2.1}/package.json +0 -0
  319. /package/.output/server/node_modules/{source-map-js → .nitro/source-map-js@1.2.1}/source-map.js +0 -0
  320. /package/.output/server/node_modules/{vue → .nitro/vue@3.5.32}/dist/vue.cjs.js +0 -0
  321. /package/.output/server/node_modules/{vue → .nitro/vue@3.5.32}/dist/vue.cjs.prod.js +0 -0
  322. /package/.output/server/node_modules/{vue → .nitro/vue@3.5.32}/index.js +0 -0
  323. /package/.output/server/node_modules/{vue → .nitro/vue@3.5.32}/index.mjs +0 -0
  324. /package/.output/server/node_modules/{vue → .nitro/vue@3.5.32}/package.json +0 -0
  325. /package/.output/server/node_modules/{vue → .nitro/vue@3.5.43}/server-renderer/index.mjs +0 -0
@@ -1,6 +1,5 @@
1
1
  import { emojiComponents } from "../data.js";
2
2
  import { getEmojiSequenceKeyword } from "../format.js";
3
-
4
3
  /**
5
4
  * Map components from test data
6
5
  */
@@ -74,5 +73,4 @@ function replaceEmojiComponentsInCombinedSequence(sequence, values) {
74
73
  return list[index >= list.length ? list.length - 1 : index];
75
74
  });
76
75
  }
77
-
78
- export { emojiSequenceWithComponentsToString, findEmojiComponentsInSequence, mapEmojiTestDataComponents, replaceEmojiComponentsInCombinedSequence };
76
+ export { emojiSequenceWithComponentsToString, findEmojiComponentsInSequence, mapEmojiTestDataComponents, replaceEmojiComponentsInCombinedSequence };
@@ -2,7 +2,6 @@ import { emojiComponents } from "../data.js";
2
2
  import { getUnqualifiedEmojiSequence } from "../cleanup.js";
3
3
  import { getEmojiSequenceKeyword } from "../format.js";
4
4
  import { replaceEmojiComponentsInCombinedSequence } from "./components.js";
5
-
6
5
  /**
7
6
  * Find missing emojis
8
7
  *
@@ -15,7 +14,8 @@ function findMissingEmojis(sequences, testDataTree) {
15
14
  const existingItems = Object.create(null);
16
15
  const copiedItems = Object.create(null);
17
16
  sequences.forEach((item) => {
18
- const key = getEmojiSequenceKeyword(getUnqualifiedEmojiSequence(item.sequence));
17
+ const sequence = getUnqualifiedEmojiSequence(item.sequence);
18
+ const key = getEmojiSequenceKeyword(sequence);
19
19
  if (!existingItems[key] || existingItems[key].sequence.length < item.sequence.length) existingItems[key] = item;
20
20
  });
21
21
  const iterate = (type, parentTree, parentValues, parentItem, deep) => {
@@ -45,18 +45,19 @@ function findMissingEmojis(sequences, testDataTree) {
45
45
  results.push(item);
46
46
  }
47
47
  }
48
- if (deep || oldItem) for (const key$1 in values) iterate(key$1, childTree, values, item, deep);
48
+ if (deep || oldItem) for (const key in values) iterate(key, childTree, values, item, deep);
49
49
  }
50
50
  };
51
51
  const parse = (key, deep) => {
52
52
  const treeItem = testDataTree[key];
53
- const rootItem = existingItems[treeItem.item.sequenceKey];
53
+ const sequenceKey = treeItem.item.sequenceKey;
54
+ const rootItem = existingItems[sequenceKey];
54
55
  if (!rootItem) return;
55
56
  const values = {
56
57
  "skin-tone": [],
57
58
  "hair-style": []
58
59
  };
59
- for (const key$1 in values) iterate(key$1, treeItem, values, rootItem, deep);
60
+ for (const key in values) iterate(key, treeItem, values, rootItem, deep);
60
61
  };
61
62
  for (const key in testDataTree) {
62
63
  parse(key, false);
@@ -64,5 +65,4 @@ function findMissingEmojis(sequences, testDataTree) {
64
65
  }
65
66
  return results;
66
67
  }
67
-
68
- export { findMissingEmojis };
68
+ export { findMissingEmojis };
@@ -1,8 +1,7 @@
1
1
  import { emojiComponents } from "../data.js";
2
-
3
2
  const nameSplit = ": ";
4
3
  const variationSplit = ", ";
5
- const ignoredVariations = new Set(["person"]);
4
+ const ignoredVariations = /* @__PURE__ */ new Set(["person"]);
6
5
  /**
7
6
  * Split emoji name to base name and variations
8
7
  *
@@ -43,5 +42,4 @@ function splitEmojiNameVariations(name, sequence, componentsData) {
43
42
  if (components) result.components = components;
44
43
  return result;
45
44
  }
46
-
47
- export { splitEmojiNameVariations };
45
+ export { splitEmojiNameVariations };
@@ -1,8 +1,7 @@
1
1
  import { getEmojiSequenceFromString, getUnqualifiedEmojiSequence } from "../cleanup.js";
2
2
  import { getEmojiSequenceKeyword } from "../format.js";
3
-
4
3
  const componentStatus = "component";
5
- const allowedStatus = new Set([
4
+ const allowedStatus = /* @__PURE__ */ new Set([
6
5
  componentStatus,
7
6
  "fully-qualified",
8
7
  "minimally-qualified",
@@ -59,16 +58,14 @@ function parseEmojiTestFile(data) {
59
58
  if (!firstChunk) {
60
59
  const commentParts = secondChunk.split(":");
61
60
  if (commentParts.length === 2) {
62
- const key$1 = commentParts[0].trim();
61
+ const key = commentParts[0].trim();
63
62
  const value = commentParts[1].trim();
64
- switch (key$1) {
63
+ switch (key) {
65
64
  case "group":
66
65
  group = value;
67
66
  subgroup = void 0;
68
67
  break;
69
- case "subgroup":
70
- subgroup = value;
71
- break;
68
+ case "subgroup": subgroup = value;
72
69
  }
73
70
  }
74
71
  return;
@@ -101,5 +98,4 @@ function parseEmojiTestFile(data) {
101
98
  });
102
99
  return getQualifiedTestData(results);
103
100
  }
104
-
105
- export { componentStatus, parseEmojiTestFile };
101
+ export { componentStatus, parseEmojiTestFile };
@@ -1,15 +1,14 @@
1
1
  import { vs16Emoji } from "../data.js";
2
2
  import { emojiSequenceWithComponentsToString, mapEmojiTestDataComponents } from "./components.js";
3
3
  import { splitEmojiNameVariations } from "./name.js";
4
-
5
4
  /**
6
5
  * Find components in item, generate CombinedEmojiTestDataItem
7
6
  */
8
7
  function findComponentsInEmojiTestItem(item, componentsData) {
9
8
  const name = splitEmojiNameVariations(item.name, item.sequence, componentsData);
10
9
  const sequence = [...item.sequence];
11
- name.variations?.forEach((item$1) => {
12
- if (typeof item$1 !== "string") sequence[item$1.index] = item$1.type;
10
+ name.variations?.forEach((item) => {
11
+ if (typeof item !== "string") sequence[item.index] = item.type;
13
12
  });
14
13
  const sequenceKey = emojiSequenceWithComponentsToString(sequence.filter((code) => code !== vs16Emoji));
15
14
  return {
@@ -34,5 +33,4 @@ function combineSimilarEmojiTestData(data, componentsData) {
34
33
  }
35
34
  return results;
36
35
  }
37
-
38
- export { combineSimilarEmojiTestData, findComponentsInEmojiTestItem };
36
+ export { combineSimilarEmojiTestData, findComponentsInEmojiTestItem };
@@ -1,5 +1,4 @@
1
1
  import { emojiComponents } from "../data.js";
2
-
3
2
  /**
4
3
  * Merge types for unique key
5
4
  */
@@ -79,7 +78,7 @@ function getEmojiTestDataTree(data) {
79
78
  }
80
79
  if (item) {
81
80
  const result = { item };
82
- for (const key$1 in emojiComponents) check(result, componentsList, key$1);
81
+ for (const key in emojiComponents) check(result, componentsList, key);
83
82
  return result;
84
83
  }
85
84
  };
@@ -90,5 +89,4 @@ function getEmojiTestDataTree(data) {
90
89
  }
91
90
  return results;
92
91
  }
93
-
94
- export { getEmojiTestDataTree };
92
+ export { getEmojiTestDataTree };
@@ -1,8 +1,7 @@
1
- import { emojiComponents, keycapEmoji, vs16Emoji } from "../data.js";
1
+ import { emojiComponents, vs16Emoji } from "../data.js";
2
2
  import { convertEmojiSequenceToUTF32 } from "../convert.js";
3
3
  import { getUnqualifiedEmojiSequence, joinEmojiSequences, splitEmojiSequences } from "../cleanup.js";
4
4
  import { getEmojiSequenceKeyword } from "../format.js";
5
-
6
5
  /**
7
6
  * Get qualified sequence, adding optional `FE0F` wherever it might exist
8
7
  *
@@ -13,11 +12,11 @@ import { getEmojiSequenceKeyword } from "../format.js";
13
12
  * have `FE0F`, it will be caught by regex too.
14
13
  */
15
14
  function guessQualifiedEmojiSequence(sequence) {
16
- return joinEmojiSequences(splitEmojiSequences(sequence).map((part) => {
17
- if (part.indexOf(vs16Emoji) !== -1) return part;
15
+ const split = splitEmojiSequences(sequence).map((part) => {
16
+ if (part.indexOf(65039) !== -1) return part;
18
17
  if (part.length === 2) {
19
18
  const lastNum = part[1];
20
- if (lastNum === keycapEmoji) return [
19
+ if (lastNum === 8419) return [
21
20
  part[0],
22
21
  vs16Emoji,
23
22
  lastNum
@@ -32,7 +31,8 @@ function guessQualifiedEmojiSequence(sequence) {
32
31
  }
33
32
  }
34
33
  return part.length === 1 ? [part[0], vs16Emoji] : part;
35
- }));
34
+ });
35
+ return joinEmojiSequences(split);
36
36
  }
37
37
  /**
38
38
  * Get qualified variations for emojis
@@ -60,5 +60,4 @@ function getQualifiedEmojiVariations(items) {
60
60
  }
61
61
  return Object.values(results);
62
62
  }
63
-
64
- export { getQualifiedEmojiVariation, getQualifiedEmojiVariations, guessQualifiedEmojiSequence };
63
+ export { getQualifiedEmojiVariation, getQualifiedEmojiVariations, guessQualifiedEmojiSequence };
@@ -22,5 +22,4 @@ const defaultExtendedIconProps = Object.freeze({
22
22
  body: "",
23
23
  hidden: false
24
24
  });
25
-
26
- export { defaultExtendedIconProps, defaultIconDimensions, defaultIconProps, defaultIconTransformations };
25
+ export { defaultExtendedIconProps, defaultIconDimensions, defaultIconProps, defaultIconTransformations };
@@ -1,6 +1,5 @@
1
1
  import { defaultExtendedIconProps, defaultIconTransformations } from "./defaults.js";
2
2
  import { mergeIconTransformations } from "./transformations.js";
3
-
4
3
  /**
5
4
  * Merge icon and alias
6
5
  *
@@ -14,5 +13,4 @@ function mergeIconData(parent, child) {
14
13
  else if (key in parent) result[key] = parent[key];
15
14
  return result;
16
15
  }
17
-
18
- export { mergeIconData };
16
+ export { mergeIconData };
@@ -16,12 +16,12 @@ const stringToIcon = (value, validate, allowSimpleName, provider = "") => {
16
16
  }
17
17
  if (colonSeparated.length > 3 || !colonSeparated.length) return null;
18
18
  if (colonSeparated.length > 1) {
19
- const name$1 = colonSeparated.pop();
19
+ const name = colonSeparated.pop();
20
20
  const prefix = colonSeparated.pop();
21
21
  const result = {
22
22
  provider: colonSeparated.length > 0 ? colonSeparated[0] : provider,
23
23
  prefix,
24
- name: name$1
24
+ name
25
25
  };
26
26
  return validate && !validateIconName(result) ? null : result;
27
27
  }
@@ -54,5 +54,4 @@ const validateIconName = (icon, allowSimpleName) => {
54
54
  if (!icon) return false;
55
55
  return !!((allowSimpleName && icon.prefix === "" || !!icon.prefix) && !!icon.name);
56
56
  };
57
-
58
- export { matchIconName, stringToIcon, validateIconName };
57
+ export { matchIconName, stringToIcon, validateIconName };
@@ -30,5 +30,4 @@ function makeViewBoxSquare(viewBox) {
30
30
  }
31
31
  return viewBox;
32
32
  }
33
-
34
- export { makeIconSquare, makeViewBoxSquare };
33
+ export { makeIconSquare, makeViewBoxSquare };
@@ -9,5 +9,4 @@ function mergeIconTransformations(obj1, obj2) {
9
9
  if (rotate) result.rotate = rotate;
10
10
  return result;
11
11
  }
12
-
13
- export { mergeIconTransformations };
12
+ export { mergeIconTransformations };
@@ -90,16 +90,14 @@ function convertIconSetInfo(data, expectedPrefix = "") {
90
90
  case "boolean":
91
91
  info.palette = source.palette;
92
92
  break;
93
- case "string":
94
- switch (source.palette.toLowerCase()) {
95
- case "colorless":
96
- case "false":
97
- info.palette = false;
98
- break;
99
- case "colorful":
100
- case "true": info.palette = true;
101
- }
102
- break;
93
+ case "string": switch (source.palette.toLowerCase()) {
94
+ case "colorless":
95
+ case "false":
96
+ info.palette = false;
97
+ break;
98
+ case "colorful":
99
+ case "true": info.palette = true;
100
+ }
103
101
  }
104
102
  if (source.hidden === true) info.hidden = true;
105
103
  Object.keys(source).forEach((key) => {
@@ -115,12 +113,9 @@ function convertIconSetInfo(data, expectedPrefix = "") {
115
113
  info.license.url = value;
116
114
  break;
117
115
  case "licenseID":
118
- case "licenseSPDX":
119
- info.license.spdx = value;
120
- break;
116
+ case "licenseSPDX": info.license.spdx = value;
121
117
  }
122
118
  });
123
119
  return info;
124
120
  }
125
-
126
- export { convertIconSetInfo };
121
+ export { convertIconSetInfo };
@@ -1,5 +1,4 @@
1
1
  import { defaultIconDimensions } from "../icon/defaults.js";
2
-
3
2
  /**
4
3
  * Expand minified icon set
5
4
  *
@@ -17,5 +16,4 @@ function expandIconSet(data) {
17
16
  delete data[prop];
18
17
  });
19
18
  }
20
-
21
- export { expandIconSet };
19
+ export { expandIconSet };
@@ -1,6 +1,5 @@
1
1
  import { mergeIconData } from "../icon/merge.js";
2
2
  import { getIconsTree } from "./tree.js";
3
-
4
3
  /**
5
4
  * Get icon data, using prepared aliases tree
6
5
  */
@@ -8,8 +7,8 @@ function internalGetIconData(data, name, tree) {
8
7
  const icons = data.icons;
9
8
  const aliases = data.aliases || Object.create(null);
10
9
  let currentProps = {};
11
- function parse(name$1) {
12
- currentProps = mergeIconData(icons[name$1] || aliases[name$1], currentProps);
10
+ function parse(name) {
11
+ currentProps = mergeIconData(icons[name] || aliases[name], currentProps);
13
12
  }
14
13
  parse(name);
15
14
  tree.forEach(parse);
@@ -23,5 +22,4 @@ function getIconData(data, name) {
23
22
  const tree = getIconsTree(data, [name])[name];
24
23
  return tree ? internalGetIconData(data, name, tree) : null;
25
24
  }
26
-
27
- export { getIconData, internalGetIconData };
25
+ export { getIconData, internalGetIconData };
@@ -1,6 +1,5 @@
1
1
  import { defaultIconDimensions } from "../icon/defaults.js";
2
2
  import { getIconsTree } from "./tree.js";
3
-
4
3
  /**
5
4
  * Optional properties that must be copied when copying icon set
6
5
  */
@@ -34,5 +33,4 @@ function getIcons(data, names, not_found) {
34
33
  });
35
34
  return empty && not_found !== true ? null : result;
36
35
  }
37
-
38
- export { getIcons, propsToCopy };
36
+ export { getIcons, propsToCopy };
@@ -1,5 +1,4 @@
1
1
  import { defaultIconDimensions } from "../icon/defaults.js";
2
-
3
2
  /**
4
3
  * Minify icon set
5
4
  *
@@ -89,5 +88,4 @@ function minifyIconSet(data) {
89
88
  });
90
89
  });
91
90
  }
92
-
93
- export { minifyIconSet };
91
+ export { minifyIconSet };
@@ -1,6 +1,5 @@
1
1
  import { getIconsTree } from "./tree.js";
2
2
  import { internalGetIconData } from "./get-icon.js";
3
-
4
3
  /**
5
4
  * Extract icons from an icon set
6
5
  *
@@ -44,5 +43,4 @@ async function parseIconSetAsync(data, callback) {
44
43
  }
45
44
  return names;
46
45
  }
47
-
48
- export { parseIconSet, parseIconSetAsync };
46
+ export { parseIconSet, parseIconSetAsync };
@@ -20,5 +20,4 @@ function getIconsTree(data, names) {
20
20
  (names || Object.keys(icons).concat(Object.keys(aliases))).forEach(resolve);
21
21
  return resolved;
22
22
  }
23
-
24
- export { getIconsTree };
23
+ export { getIconsTree };
@@ -1,5 +1,4 @@
1
1
  import { defaultExtendedIconProps, defaultIconDimensions } from "../icon/defaults.js";
2
-
3
2
  /**
4
3
  * Optional properties
5
4
  */
@@ -40,5 +39,4 @@ function quicklyValidateIconSet(obj) {
40
39
  }
41
40
  return data;
42
41
  }
43
-
44
- export { quicklyValidateIconSet };
42
+ export { quicklyValidateIconSet };
@@ -1,6 +1,5 @@
1
1
  import { defaultExtendedIconProps } from "../icon/defaults.js";
2
2
  import { getIconsTree } from "./tree.js";
3
-
4
3
  /**
5
4
  * Match character
6
5
  */
@@ -29,8 +28,10 @@ function validateIconProps(item, fix, checkOtherProps) {
29
28
  }
30
29
  continue;
31
30
  }
32
- if (checkOtherProps && type === "object") if (fix) delete item[attr];
33
- else return key;
31
+ if (checkOtherProps && type === "object") {
32
+ if (fix) delete item[attr];
33
+ else return key;
34
+ }
34
35
  }
35
36
  return null;
36
37
  }
@@ -46,12 +47,16 @@ function validateIconSet(obj, options) {
46
47
  else if (typeof data.prefix !== "string" || !data.prefix) throw new Error("Invalid prefix");
47
48
  if (options && typeof options.provider === "string") data.provider = options.provider;
48
49
  else if (data.provider !== void 0) {
49
- if (typeof data.provider !== "string") if (fix) delete data.provider;
50
- else throw new Error("Invalid provider");
50
+ if (typeof data.provider !== "string") {
51
+ if (fix) delete data.provider;
52
+ else throw new Error("Invalid provider");
53
+ }
51
54
  }
52
55
  if (data.aliases !== void 0) {
53
- if (typeof data.aliases !== "object" || data.aliases === null) if (fix) delete data.aliases;
54
- else throw new Error("Invalid aliases list");
56
+ if (typeof data.aliases !== "object" || data.aliases === null) {
57
+ if (fix) delete data.aliases;
58
+ else throw new Error("Invalid aliases list");
59
+ }
55
60
  }
56
61
  const tree = getIconsTree(data);
57
62
  const icons = data.icons;
@@ -88,15 +93,19 @@ function validateIconSet(obj, options) {
88
93
  const key = typeof item[requiredProp] !== "string" ? requiredProp : validateIconProps(item, fix, true);
89
94
  if (key !== null) throw new Error(`Invalid property "${key}" in "${name}"`);
90
95
  }
91
- if (data.not_found !== void 0 && !(data.not_found instanceof Array)) if (fix) delete data.not_found;
92
- else throw new Error("Invalid not_found list");
96
+ if (data.not_found !== void 0 && !(data.not_found instanceof Array)) {
97
+ if (fix) delete data.not_found;
98
+ else throw new Error("Invalid not_found list");
99
+ }
93
100
  if (!Object.keys(data.icons).length && !(data.not_found && data.not_found.length)) throw new Error("Icon set is empty");
94
101
  if (fix && !Object.keys(aliases).length) delete data.aliases;
95
102
  const failedOptionalProp = validateIconProps(data, false, false);
96
103
  if (failedOptionalProp) throw new Error(`Invalid value type for "${failedOptionalProp}"`);
97
104
  if (data.chars !== void 0) {
98
- if (typeof data.chars !== "object" || data.chars === null) if (fix) delete data.chars;
99
- else throw new Error("Invalid characters map");
105
+ if (typeof data.chars !== "object" || data.chars === null) {
106
+ if (fix) delete data.chars;
107
+ else throw new Error("Invalid characters map");
108
+ }
100
109
  }
101
110
  if (typeof data.chars === "object") {
102
111
  const chars = data.chars;
@@ -121,5 +130,4 @@ function validateIconSet(obj, options) {
121
130
  }
122
131
  return data;
123
132
  }
124
-
125
- export { matchChar, validateIconSet };
133
+ export { matchChar, validateIconSet };
@@ -49,5 +49,4 @@ import { findAndReplaceEmojisInText } from "./emoji/replace/replace.js";
49
49
  import { camelToKebab, camelize, pascalize, snakelize } from "./misc/strings.js";
50
50
  import { commonObjectProps, compareObjects, unmergeObjects } from "./misc/objects.js";
51
51
  import { sanitiseTitleAttribute } from "./misc/title.js";
52
-
53
- export { buildParsedSVG, calculateSize, camelToKebab, camelize, cleanUpInnerHTML, clearIDCache, colorKeywords, colorToString, commonObjectProps, compareColors, compareObjects, convertEmojiSequenceToUTF16, convertEmojiSequenceToUTF32, convertIconSetInfo, convertParsedSVG, createOptimisedRegex, createOptimisedRegexForEmojiSequences, defaultExtendedIconProps, defaultIconCustomisations, defaultIconDimensions, defaultIconProps, defaultIconSizeCustomisations, defaultIconTransformations, encodeSvgForCss, expandIconSet, findAndReplaceEmojisInText, findMissingEmojis, flipFromString, getCustomIcon, getEmojiCodePoint, getEmojiSequenceFromString, getEmojiSequenceKeyword, getEmojiSequenceString, getEmojiUnicode, getEmojiUnicodeString, getIconCSS, getIconContentCSS, getIconData, getIcons, getIconsCSS, getIconsContentCSS, getIconsTree, getQualifiedEmojiVariations, getSVGViewBox, getUnqualifiedEmojiSequence, iconToHTML, iconToSVG, isUTF32SplitNumber, loadIcon, makeIconSquare, matchIconName, mergeCustomisations, mergeDefsAndContent, mergeIconData, mergeIconProps, mergeIconTransformations, mergeUTF32Numbers, minifyIconSet, parseEmojiTestFile, parseIconSet, parseIconSetAsync, parseSVGContent, pascalize, prepareEmojiForIconSet, prepareEmojiForIconsList, prettifySVG, quicklyValidateIconSet, replaceIDs, rotateFromString, sanitiseTitleAttribute, searchForIcon, snakelize, splitSVGDefs, splitUTF32Number, stringToColor, stringToIcon, svgToData, svgToURL, toBoolean, trimSVG, unmergeObjects, validateIconName, validateIconSet, wrapSVGContent };
52
+ export { buildParsedSVG, calculateSize, camelToKebab, camelize, cleanUpInnerHTML, clearIDCache, colorKeywords, colorToString, commonObjectProps, compareColors, compareObjects, convertEmojiSequenceToUTF16, convertEmojiSequenceToUTF32, convertIconSetInfo, convertParsedSVG, createOptimisedRegex, createOptimisedRegexForEmojiSequences, defaultExtendedIconProps, defaultIconCustomisations, defaultIconDimensions, defaultIconProps, defaultIconSizeCustomisations, defaultIconTransformations, encodeSvgForCss, expandIconSet, findAndReplaceEmojisInText, findMissingEmojis, flipFromString, getCustomIcon, getEmojiCodePoint, getEmojiSequenceFromString, getEmojiSequenceKeyword, getEmojiSequenceString, getEmojiUnicode, getEmojiUnicodeString, getIconCSS, getIconContentCSS, getIconData, getIcons, getIconsCSS, getIconsContentCSS, getIconsTree, getQualifiedEmojiVariations, getSVGViewBox, getUnqualifiedEmojiSequence, iconToHTML, iconToSVG, isUTF32SplitNumber, loadIcon, makeIconSquare, matchIconName, mergeCustomisations, mergeDefsAndContent, mergeIconData, mergeIconProps, mergeIconTransformations, mergeUTF32Numbers, minifyIconSet, parseEmojiTestFile, parseIconSet, parseIconSetAsync, parseSVGContent, pascalize, prepareEmojiForIconSet, prepareEmojiForIconsList, prettifySVG, quicklyValidateIconSet, replaceIDs, rotateFromString, sanitiseTitleAttribute, searchForIcon, snakelize, splitSVGDefs, splitUTF32Number, stringToColor, stringToIcon, svgToData, svgToURL, toBoolean, trimSVG, unmergeObjects, validateIconName, validateIconSet, wrapSVGContent };
@@ -1,6 +1,6 @@
1
1
  import { trimSVG } from "../svg/trim.js";
2
2
  import { mergeIconProps } from "./utils.js";
3
-
3
+ import { isCustomHMRIconLoader } from "./hmr-utils.js";
4
4
  /**
5
5
  * Get custom icon from inline collection or using loader
6
6
  */
@@ -8,6 +8,7 @@ async function getCustomIcon(custom, collection, icon, options) {
8
8
  let result;
9
9
  try {
10
10
  if (typeof custom === "function") result = await custom(icon);
11
+ else if (isCustomHMRIconLoader(custom)) result = await custom.iconLoader(icon);
11
12
  else {
12
13
  const inline = custom[icon];
13
14
  result = typeof inline === "function" ? await inline() : inline;
@@ -28,5 +29,4 @@ async function getCustomIcon(custom, collection, icon, options) {
28
29
  return await mergeIconProps(options?.customizations?.trimCustomSvg === true ? trimSVG(result) : result, collection, icon, options, void 0);
29
30
  }
30
31
  }
31
-
32
- export { getCustomIcon };
32
+ export { getCustomIcon };
@@ -0,0 +1,33 @@
1
+ const normalizeRegexp = /\\/g;
2
+ function normalizePath(path) {
3
+ return path.replace(normalizeRegexp, "/");
4
+ }
5
+ function isCustomHMRIconLoader(loader) {
6
+ return typeof loader === "function" ? false : "__iconifyCustomHmrIconLoader" in loader && loader.__iconifyCustomHmrIconLoader === true && "name" in loader && typeof loader.name === "string" && "iconLoader" in loader && typeof loader.iconLoader === "function" && "resolveModuleIconName" in loader && typeof loader.resolveModuleIconName === "function" && "resolveSVGIconPath" in loader && typeof loader.resolveSVGIconPath === "function";
7
+ }
8
+ function collectCustomHMRIconResolvers(customCollections = {}) {
9
+ const hmrCustomIconResolversMap = /* @__PURE__ */ new Map();
10
+ for (const collection of Object.values(customCollections)) if (isCustomHMRIconLoader(collection)) hmrCustomIconResolversMap.set(collection.name, collection);
11
+ return hmrCustomIconResolversMap;
12
+ }
13
+ function createHMRHelper(collectIconModules, customCollections = {}) {
14
+ const hmrCustomIconResolversMap = collectCustomHMRIconResolvers(customCollections);
15
+ const hmrCustomIconResolvers = Array.from(hmrCustomIconResolversMap.values());
16
+ return {
17
+ hmrCustomIconResolvers,
18
+ handleHotUpdate: (svgFilePath, findModules) => {
19
+ const normalizedSVGPath = normalizePath(svgFilePath);
20
+ for (const resolver of hmrCustomIconResolvers) {
21
+ const icon = resolver.resolveModuleIconName(normalizedSVGPath);
22
+ if (icon) {
23
+ const modules = collectIconModules(resolver.name, icon, findModules);
24
+ if (modules && modules.length > 0) return modules;
25
+ }
26
+ }
27
+ },
28
+ resolveSVGIconPath: (collectionName, iconName) => {
29
+ return hmrCustomIconResolversMap.get(collectionName)?.resolveSVGIconPath(iconName);
30
+ }
31
+ };
32
+ }
33
+ export { collectCustomHMRIconResolvers, createHMRHelper, isCustomHMRIconLoader, normalizePath };
@@ -1,28 +1,28 @@
1
1
  import { getCustomIcon } from "./custom.js";
2
2
  import { searchForIcon } from "./modern.js";
3
-
4
3
  const loadIcon = async (collection, icon, options) => {
5
4
  const custom = options?.customCollections?.[collection];
6
- if (custom) if (typeof custom === "function") {
7
- let result;
8
- try {
9
- result = await custom(icon);
10
- } catch (err) {
11
- console.warn(`Failed to load custom icon "${icon}" in "${collection}":`, err);
12
- return;
13
- }
14
- if (result) {
15
- if (typeof result === "string") return await getCustomIcon(() => result, collection, icon, options);
16
- if ("icons" in result) {
17
- const ids = [
18
- icon,
19
- icon.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase(),
20
- icon.replace(/([a-z])(\d+)/g, "$1-$2")
21
- ];
22
- return await searchForIcon(result, collection, ids, options);
5
+ if (custom) {
6
+ if (typeof custom === "function") {
7
+ let result;
8
+ try {
9
+ result = await custom(icon);
10
+ } catch (err) {
11
+ console.warn(`Failed to load custom icon "${icon}" in "${collection}":`, err);
12
+ return;
23
13
  }
24
- }
25
- } else return await getCustomIcon(custom, collection, icon, options);
14
+ if (result) {
15
+ if (typeof result === "string") return await getCustomIcon(() => result, collection, icon, options);
16
+ if ("icons" in result) {
17
+ const ids = [
18
+ icon,
19
+ icon.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase(),
20
+ icon.replace(/([a-z])(\d+)/g, "$1-$2")
21
+ ];
22
+ return await searchForIcon(result, collection, ids, options);
23
+ }
24
+ }
25
+ } else return await getCustomIcon(custom, collection, icon, options);
26
+ }
26
27
  };
27
-
28
- export { loadIcon };
28
+ export { loadIcon };
@@ -1,9 +1,7 @@
1
1
  import { defaultIconCustomisations } from "../customisations/defaults.js";
2
2
  import { getIconData } from "../icon-set/get-icon.js";
3
- import { calculateSize } from "../svg/size.js";
4
- import { iconToSVG, isUnsetKeyword } from "../svg/build.js";
5
- import { mergeIconProps } from "./utils.js";
6
-
3
+ import { iconToSVG } from "../svg/build.js";
4
+ import { loaderDefaultHeightProp, loaderDefaultWidthProp, mergeIconProps } from "./utils.js";
7
5
  async function searchForIcon(iconSet, collection, ids, options) {
8
6
  let iconData;
9
7
  const { customize } = options?.customizations ?? {};
@@ -16,27 +14,14 @@ async function searchForIcon(iconSet, collection, ids, options) {
16
14
  defaultCustomizations = customize(defaultCustomizations, iconData, `${collection}:${id}`) ?? defaultCustomizations;
17
15
  }
18
16
  const { attributes: { width, height, ...restAttributes }, body } = iconToSVG(iconData, defaultCustomizations);
19
- const scale = options?.scale;
20
17
  return await mergeIconProps(`<svg >${body}</svg>`, collection, id, options, () => {
21
- return { ...restAttributes };
22
- }, (props) => {
23
- const check = (prop, defaultValue) => {
24
- const propValue = props[prop];
25
- let value;
26
- if (!isUnsetKeyword(propValue)) {
27
- if (propValue) return;
28
- if (typeof scale === "number") {
29
- if (scale) value = calculateSize(defaultValue ?? "1em", scale);
30
- } else value = defaultValue;
31
- }
32
- if (!value) delete props[prop];
33
- else props[prop] = value;
18
+ return {
19
+ ...restAttributes,
20
+ ...width ? { [loaderDefaultWidthProp]: width } : {},
21
+ ...height ? { [loaderDefaultHeightProp]: height } : {}
34
22
  };
35
- check("width", width);
36
- check("height", height);
37
23
  });
38
24
  }
39
25
  }
40
26
  }
41
-
42
- export { searchForIcon };
27
+ export { searchForIcon };