@anvilkit/plugin-asset-manager 0.1.2 → 0.1.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 (96) hide show
  1. package/README.md +366 -108
  2. package/dist/adapters/data-url.cjs +6 -2
  3. package/dist/adapters/data-url.d.cts.map +1 -1
  4. package/dist/adapters/data-url.d.ts.map +1 -1
  5. package/dist/adapters/data-url.js +6 -2
  6. package/dist/adapters/extract-image-dimensions.cjs +9 -0
  7. package/dist/adapters/extract-image-dimensions.d.cts +6 -0
  8. package/dist/adapters/extract-image-dimensions.d.cts.map +1 -1
  9. package/dist/adapters/extract-image-dimensions.d.ts +6 -0
  10. package/dist/adapters/extract-image-dimensions.d.ts.map +1 -1
  11. package/dist/adapters/extract-image-dimensions.js +9 -0
  12. package/dist/adapters/in-memory.cjs +6 -4
  13. package/dist/adapters/in-memory.d.cts +6 -0
  14. package/dist/adapters/in-memory.d.cts.map +1 -1
  15. package/dist/adapters/in-memory.d.ts +6 -0
  16. package/dist/adapters/in-memory.d.ts.map +1 -1
  17. package/dist/adapters/in-memory.js +6 -4
  18. package/dist/adapters/s3-presigned.cjs +78 -28
  19. package/dist/adapters/s3-presigned.d.cts +1 -0
  20. package/dist/adapters/s3-presigned.d.cts.map +1 -1
  21. package/dist/adapters/s3-presigned.d.ts +1 -0
  22. package/dist/adapters/s3-presigned.d.ts.map +1 -1
  23. package/dist/adapters/s3-presigned.js +78 -28
  24. package/dist/csp.d.cts.map +1 -1
  25. package/dist/csp.d.ts.map +1 -1
  26. package/dist/errors.d.cts.map +1 -1
  27. package/dist/errors.d.ts.map +1 -1
  28. package/dist/index.d.cts +3 -3
  29. package/dist/index.d.cts.map +1 -1
  30. package/dist/index.d.ts +3 -3
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/plugin.cjs +32 -5
  33. package/dist/plugin.d.cts +4 -3
  34. package/dist/plugin.d.cts.map +1 -1
  35. package/dist/plugin.d.ts +4 -3
  36. package/dist/plugin.d.ts.map +1 -1
  37. package/dist/plugin.js +22 -5
  38. package/dist/registry.d.cts.map +1 -1
  39. package/dist/registry.d.ts.map +1 -1
  40. package/dist/resolver.cjs +6 -1
  41. package/dist/resolver.d.cts.map +1 -1
  42. package/dist/resolver.d.ts.map +1 -1
  43. package/dist/resolver.js +6 -1
  44. package/dist/retry.cjs +10 -8
  45. package/dist/retry.d.cts.map +1 -1
  46. package/dist/retry.d.ts.map +1 -1
  47. package/dist/retry.js +10 -8
  48. package/dist/studio-asset-source.cjs +26 -5
  49. package/dist/studio-asset-source.d.cts +2 -2
  50. package/dist/studio-asset-source.d.cts.map +1 -1
  51. package/dist/studio-asset-source.d.ts +2 -2
  52. package/dist/studio-asset-source.d.ts.map +1 -1
  53. package/dist/studio-asset-source.js +26 -5
  54. package/dist/testing/index.d.cts.map +1 -1
  55. package/dist/testing/index.d.ts.map +1 -1
  56. package/dist/types.d.cts +9 -1
  57. package/dist/types.d.cts.map +1 -1
  58. package/dist/types.d.ts +9 -1
  59. package/dist/types.d.ts.map +1 -1
  60. package/dist/ui/AssetBrowser.cjs +54 -19
  61. package/dist/ui/AssetBrowser.d.cts +10 -1
  62. package/dist/ui/AssetBrowser.d.cts.map +1 -1
  63. package/dist/ui/AssetBrowser.d.ts +10 -1
  64. package/dist/ui/AssetBrowser.d.ts.map +1 -1
  65. package/dist/ui/AssetBrowser.js +54 -19
  66. package/dist/ui/AssetCommandPalette.cjs +18 -9
  67. package/dist/ui/AssetCommandPalette.d.cts.map +1 -1
  68. package/dist/ui/AssetCommandPalette.d.ts.map +1 -1
  69. package/dist/ui/AssetCommandPalette.js +18 -9
  70. package/dist/ui/AssetManagerUI.cjs +1 -0
  71. package/dist/ui/AssetManagerUI.d.cts.map +1 -1
  72. package/dist/ui/AssetManagerUI.d.ts.map +1 -1
  73. package/dist/ui/AssetManagerUI.js +1 -0
  74. package/dist/ui/DeleteAssetDialog.cjs +1 -0
  75. package/dist/ui/DeleteAssetDialog.d.cts.map +1 -1
  76. package/dist/ui/DeleteAssetDialog.d.ts.map +1 -1
  77. package/dist/ui/DeleteAssetDialog.js +1 -0
  78. package/dist/ui/MetadataPanel.cjs +1 -0
  79. package/dist/ui/MetadataPanel.d.cts.map +1 -1
  80. package/dist/ui/MetadataPanel.d.ts.map +1 -1
  81. package/dist/ui/MetadataPanel.js +1 -0
  82. package/dist/ui/ReplaceAssetDialog.cjs +1 -0
  83. package/dist/ui/ReplaceAssetDialog.d.cts.map +1 -1
  84. package/dist/ui/ReplaceAssetDialog.d.ts.map +1 -1
  85. package/dist/ui/ReplaceAssetDialog.js +1 -0
  86. package/dist/ui/UploadButton.cjs +22 -7
  87. package/dist/ui/UploadButton.d.cts.map +1 -1
  88. package/dist/ui/UploadButton.d.ts.map +1 -1
  89. package/dist/ui/UploadButton.js +22 -7
  90. package/dist/ui/index.d.cts.map +1 -1
  91. package/dist/ui/index.d.ts.map +1 -1
  92. package/dist/validate-upload-result.cjs +49 -10
  93. package/dist/validate-upload-result.d.cts.map +1 -1
  94. package/dist/validate-upload-result.d.ts.map +1 -1
  95. package/dist/validate-upload-result.js +49 -10
  96. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"validate-upload-result.d.cts","sourceRoot":"","sources":["../src/validate-upload-result.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAKpE;;;;GAIG;AACH,MAAM,MAAM,2BAA2B,GAAG,IAAI,CAC7C,mBAAmB,EACnB,uBAAuB,GAAG,2BAA2B,CACrD,CAAC;AAEF,wBAAgB,oBAAoB,CACnC,MAAM,EAAE,YAAY,EACpB,OAAO,GAAE,2BAAgC,GACvC,YAAY,CAqBd"}
1
+ {"version":3,"file":"validate-upload-result.d.cts","sourceRoot":"","sources":["../src/validate-upload-result.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAKpE;;;;GAIG;AACH,MAAM,MAAM,2BAA2B,GAAG,IAAI,CAC5C,mBAAmB,EACnB,uBAAuB,GAAG,2BAA2B,CACtD,CAAC;AAEF,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,YAAY,EACpB,OAAO,GAAE,2BAAgC,GACxC,YAAY,CAqBd"}
@@ -1 +1 @@
1
- {"version":3,"file":"validate-upload-result.d.ts","sourceRoot":"","sources":["../src/validate-upload-result.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAKpE;;;;GAIG;AACH,MAAM,MAAM,2BAA2B,GAAG,IAAI,CAC7C,mBAAmB,EACnB,uBAAuB,GAAG,2BAA2B,CACrD,CAAC;AAEF,wBAAgB,oBAAoB,CACnC,MAAM,EAAE,YAAY,EACpB,OAAO,GAAE,2BAAgC,GACvC,YAAY,CAqBd"}
1
+ {"version":3,"file":"validate-upload-result.d.ts","sourceRoot":"","sources":["../src/validate-upload-result.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAKpE;;;;GAIG;AACH,MAAM,MAAM,2BAA2B,GAAG,IAAI,CAC5C,mBAAmB,EACnB,uBAAuB,GAAG,2BAA2B,CACtD,CAAC;AAEF,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,YAAY,EACpB,OAAO,GAAE,2BAAgC,GACxC,YAAY,CAqBd"}
@@ -68,18 +68,57 @@ function assertNoMixedScriptHostname(url, options) {
68
68
  ].filter((s)=>scripts.has(s));
69
69
  if (hasLatin && confusable.length > 0) throw new AssetValidationError("MIXED_SCRIPT_HOSTNAME", `Upload adapter returned a URL whose hostname mixes Latin with a visually confusable script (${confusable.join(", ")}). Set allowMixedScriptHostnames: true to permit this.`);
70
70
  }
71
+ const SKIP_SCRIPT_RE = /[\p{Script=Common}\p{Script=Inherited}]/u;
72
+ const SCRIPT_MATCHERS = [
73
+ [
74
+ "Latin",
75
+ /\p{Script=Latin}/u
76
+ ],
77
+ [
78
+ "Cyrillic",
79
+ /\p{Script=Cyrillic}/u
80
+ ],
81
+ [
82
+ "Greek",
83
+ /\p{Script=Greek}/u
84
+ ],
85
+ [
86
+ "Han",
87
+ /\p{Script=Han}/u
88
+ ],
89
+ [
90
+ "Hiragana",
91
+ /\p{Script=Hiragana}/u
92
+ ],
93
+ [
94
+ "Katakana",
95
+ /\p{Script=Katakana}/u
96
+ ],
97
+ [
98
+ "Hangul",
99
+ /\p{Script=Hangul}/u
100
+ ],
101
+ [
102
+ "Arabic",
103
+ /\p{Script=Arabic}/u
104
+ ],
105
+ [
106
+ "Hebrew",
107
+ /\p{Script=Hebrew}/u
108
+ ]
109
+ ];
71
110
  function detectHostnameScripts(host) {
72
111
  const scripts = new Set();
73
- for (const ch of host)if (!/[\p{Script=Common}\p{Script=Inherited}]/u.test(ch)) if (/\p{Script=Latin}/u.test(ch)) scripts.add("Latin");
74
- else if (/\p{Script=Cyrillic}/u.test(ch)) scripts.add("Cyrillic");
75
- else if (/\p{Script=Greek}/u.test(ch)) scripts.add("Greek");
76
- else if (/\p{Script=Han}/u.test(ch)) scripts.add("Han");
77
- else if (/\p{Script=Hiragana}/u.test(ch)) scripts.add("Hiragana");
78
- else if (/\p{Script=Katakana}/u.test(ch)) scripts.add("Katakana");
79
- else if (/\p{Script=Hangul}/u.test(ch)) scripts.add("Hangul");
80
- else if (/\p{Script=Arabic}/u.test(ch)) scripts.add("Arabic");
81
- else if (/\p{Script=Hebrew}/u.test(ch)) scripts.add("Hebrew");
82
- else scripts.add("Other");
112
+ for (const ch of host){
113
+ if (SKIP_SCRIPT_RE.test(ch)) continue;
114
+ let matched = false;
115
+ for (const [name, re] of SCRIPT_MATCHERS)if (re.test(ch)) {
116
+ scripts.add(name);
117
+ matched = true;
118
+ break;
119
+ }
120
+ if (!matched) scripts.add("Other");
121
+ }
83
122
  return scripts;
84
123
  }
85
124
  function normalizeCandidate(input) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anvilkit/plugin-asset-manager",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "description": "Headless asset manager plugin for Anvilkit Studio with host-provided uploads and optional React UI.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -84,10 +84,10 @@
84
84
  }
85
85
  },
86
86
  "dependencies": {
87
- "@anvilkit/core": "0.1.2",
88
- "@anvilkit/ir": "0.1.2",
89
- "@anvilkit/ui": "0.1.2",
90
- "@anvilkit/utils": "0.1.2"
87
+ "@anvilkit/core": "0.1.4",
88
+ "@anvilkit/ir": "0.1.4",
89
+ "@anvilkit/ui": "0.1.4",
90
+ "@anvilkit/utils": "0.1.3"
91
91
  },
92
92
  "devDependencies": {
93
93
  "@puckeditor/core": "^0.21.2",