@automattic/social-previews 2.1.0-beta.6 → 2.1.0-beta.7

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 (125) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/dist/cjs/bluesky-preview/helpers.js +21 -0
  3. package/dist/cjs/bluesky-preview/helpers.js.map +1 -0
  4. package/dist/cjs/bluesky-preview/index.js +7 -0
  5. package/dist/cjs/bluesky-preview/index.js.map +1 -0
  6. package/dist/cjs/bluesky-preview/link-preview.js +10 -0
  7. package/dist/cjs/bluesky-preview/link-preview.js.map +1 -0
  8. package/dist/cjs/bluesky-preview/post/actions/index.js +7 -0
  9. package/dist/cjs/bluesky-preview/post/actions/index.js.map +1 -0
  10. package/dist/cjs/bluesky-preview/post/actions/styles.scss +20 -0
  11. package/dist/cjs/bluesky-preview/post/body/index.js +10 -0
  12. package/dist/cjs/bluesky-preview/post/body/index.js.map +1 -0
  13. package/dist/cjs/bluesky-preview/post/body/styles.scss +12 -0
  14. package/dist/cjs/bluesky-preview/post/card/index.js +11 -0
  15. package/dist/cjs/bluesky-preview/post/card/index.js.map +1 -0
  16. package/dist/cjs/bluesky-preview/post/card/styles.scss +70 -0
  17. package/dist/cjs/bluesky-preview/post/header/index.js +11 -0
  18. package/dist/cjs/bluesky-preview/post/header/index.js.map +1 -0
  19. package/dist/cjs/bluesky-preview/post/header/styles.scss +33 -0
  20. package/dist/cjs/bluesky-preview/post/sidebar/index.js +11 -0
  21. package/dist/cjs/bluesky-preview/post/sidebar/index.js.map +1 -0
  22. package/dist/cjs/bluesky-preview/post/sidebar/styles.scss +6 -0
  23. package/dist/cjs/bluesky-preview/post-preview.js +20 -0
  24. package/dist/cjs/bluesky-preview/post-preview.js.map +1 -0
  25. package/dist/cjs/bluesky-preview/previews.js +18 -0
  26. package/dist/cjs/bluesky-preview/previews.js.map +1 -0
  27. package/dist/cjs/bluesky-preview/styles.scss +65 -0
  28. package/dist/cjs/bluesky-preview/types.js +3 -0
  29. package/dist/cjs/bluesky-preview/types.js.map +1 -0
  30. package/dist/cjs/bluesky-preview/variables.scss +6 -0
  31. package/dist/cjs/google-search-preview/style.scss +1 -1
  32. package/dist/cjs/helpers.js +2 -1
  33. package/dist/cjs/helpers.js.map +1 -1
  34. package/dist/cjs/index.js +1 -0
  35. package/dist/cjs/index.js.map +1 -1
  36. package/dist/cjs/threads-preview/style.scss +1 -1
  37. package/dist/cjs/twitter-preview/style.scss +1 -1
  38. package/dist/esm/bluesky-preview/helpers.js +15 -0
  39. package/dist/esm/bluesky-preview/helpers.js.map +1 -0
  40. package/dist/esm/bluesky-preview/index.js +4 -0
  41. package/dist/esm/bluesky-preview/index.js.map +1 -0
  42. package/dist/esm/bluesky-preview/link-preview.js +6 -0
  43. package/dist/esm/bluesky-preview/link-preview.js.map +1 -0
  44. package/dist/esm/bluesky-preview/post/actions/index.js +5 -0
  45. package/dist/esm/bluesky-preview/post/actions/index.js.map +1 -0
  46. package/dist/esm/bluesky-preview/post/actions/styles.scss +20 -0
  47. package/dist/esm/bluesky-preview/post/body/index.js +8 -0
  48. package/dist/esm/bluesky-preview/post/body/index.js.map +1 -0
  49. package/dist/esm/bluesky-preview/post/body/styles.scss +12 -0
  50. package/dist/esm/bluesky-preview/post/card/index.js +9 -0
  51. package/dist/esm/bluesky-preview/post/card/index.js.map +1 -0
  52. package/dist/esm/bluesky-preview/post/card/styles.scss +70 -0
  53. package/dist/esm/bluesky-preview/post/header/index.js +9 -0
  54. package/dist/esm/bluesky-preview/post/header/index.js.map +1 -0
  55. package/dist/esm/bluesky-preview/post/header/styles.scss +33 -0
  56. package/dist/esm/bluesky-preview/post/sidebar/index.js +7 -0
  57. package/dist/esm/bluesky-preview/post/sidebar/index.js.map +1 -0
  58. package/dist/esm/bluesky-preview/post/sidebar/styles.scss +6 -0
  59. package/dist/esm/bluesky-preview/post-preview.js +15 -0
  60. package/dist/esm/bluesky-preview/post-preview.js.map +1 -0
  61. package/dist/esm/bluesky-preview/previews.js +14 -0
  62. package/dist/esm/bluesky-preview/previews.js.map +1 -0
  63. package/dist/esm/bluesky-preview/styles.scss +65 -0
  64. package/dist/esm/bluesky-preview/types.js +2 -0
  65. package/dist/esm/bluesky-preview/types.js.map +1 -0
  66. package/dist/esm/bluesky-preview/variables.scss +6 -0
  67. package/dist/esm/google-search-preview/style.scss +1 -1
  68. package/dist/esm/helpers.js +2 -1
  69. package/dist/esm/helpers.js.map +1 -1
  70. package/dist/esm/index.js +1 -0
  71. package/dist/esm/index.js.map +1 -1
  72. package/dist/esm/threads-preview/style.scss +1 -1
  73. package/dist/esm/twitter-preview/style.scss +1 -1
  74. package/dist/tsconfig-cjs.tsbuildinfo +1 -1
  75. package/dist/tsconfig.tsbuildinfo +1 -1
  76. package/dist/types/bluesky-preview/helpers.d.ts +8 -0
  77. package/dist/types/bluesky-preview/helpers.d.ts.map +1 -0
  78. package/dist/types/bluesky-preview/index.d.ts +4 -0
  79. package/dist/types/bluesky-preview/index.d.ts.map +1 -0
  80. package/dist/types/bluesky-preview/link-preview.d.ts +4 -0
  81. package/dist/types/bluesky-preview/link-preview.d.ts.map +1 -0
  82. package/dist/types/bluesky-preview/post/actions/index.d.ts +5 -0
  83. package/dist/types/bluesky-preview/post/actions/index.d.ts.map +1 -0
  84. package/dist/types/bluesky-preview/post/body/index.d.ts +9 -0
  85. package/dist/types/bluesky-preview/post/body/index.d.ts.map +1 -0
  86. package/dist/types/bluesky-preview/post/card/index.d.ts +6 -0
  87. package/dist/types/bluesky-preview/post/card/index.d.ts.map +1 -0
  88. package/dist/types/bluesky-preview/post/header/index.d.ts +7 -0
  89. package/dist/types/bluesky-preview/post/header/index.d.ts.map +1 -0
  90. package/dist/types/bluesky-preview/post/sidebar/index.d.ts +7 -0
  91. package/dist/types/bluesky-preview/post/sidebar/index.d.ts.map +1 -0
  92. package/dist/types/bluesky-preview/post-preview.d.ts +5 -0
  93. package/dist/types/bluesky-preview/post-preview.d.ts.map +1 -0
  94. package/dist/types/bluesky-preview/previews.d.ts +6 -0
  95. package/dist/types/bluesky-preview/previews.d.ts.map +1 -0
  96. package/dist/types/bluesky-preview/types.d.ts +12 -0
  97. package/dist/types/bluesky-preview/types.d.ts.map +1 -0
  98. package/dist/types/helpers.d.ts +1 -1
  99. package/dist/types/helpers.d.ts.map +1 -1
  100. package/dist/types/index.d.ts +1 -0
  101. package/dist/types/index.d.ts.map +1 -1
  102. package/package.json +9 -9
  103. package/src/bluesky-preview/helpers.ts +31 -0
  104. package/src/bluesky-preview/index.tsx +3 -0
  105. package/src/bluesky-preview/link-preview.tsx +6 -0
  106. package/src/bluesky-preview/post/actions/index.tsx +72 -0
  107. package/src/bluesky-preview/post/actions/styles.scss +20 -0
  108. package/src/bluesky-preview/post/body/index.tsx +25 -0
  109. package/src/bluesky-preview/post/body/styles.scss +12 -0
  110. package/src/bluesky-preview/post/card/index.tsx +26 -0
  111. package/src/bluesky-preview/post/card/styles.scss +70 -0
  112. package/src/bluesky-preview/post/header/index.tsx +34 -0
  113. package/src/bluesky-preview/post/header/styles.scss +33 -0
  114. package/src/bluesky-preview/post/sidebar/index.tsx +36 -0
  115. package/src/bluesky-preview/post/sidebar/styles.scss +6 -0
  116. package/src/bluesky-preview/post-preview.tsx +45 -0
  117. package/src/bluesky-preview/previews.tsx +56 -0
  118. package/src/bluesky-preview/styles.scss +65 -0
  119. package/src/bluesky-preview/types.ts +13 -0
  120. package/src/bluesky-preview/variables.scss +6 -0
  121. package/src/google-search-preview/style.scss +1 -1
  122. package/src/helpers.tsx +6 -4
  123. package/src/index.ts +1 -0
  124. package/src/threads-preview/style.scss +1 -1
  125. package/src/twitter-preview/style.scss +1 -1
package/CHANGELOG.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## v2.1.0
4
4
 
5
- - Added Threads preview
5
+ - Added Threads and Bluesky preview
6
6
  - Fixed media image URL for Tumblr and Instagram previews
7
7
 
8
8
  ## v2.0.1 (2024-06-10)
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.blueskyUrl = exports.blueskyBody = exports.blueskyTitle = void 0;
4
+ const helpers_1 = require("../helpers");
5
+ const TITLE_LENGTH = 200;
6
+ const BODY_LENGTH = 300;
7
+ const URL_LENGTH = 40;
8
+ const blueskyTitle = (text) => (0, helpers_1.firstValid)((0, helpers_1.shortEnough)(TITLE_LENGTH), (0, helpers_1.hardTruncation)(TITLE_LENGTH))((0, helpers_1.stripHtmlTags)(text)) || '';
9
+ exports.blueskyTitle = blueskyTitle;
10
+ const blueskyBody = (text, options = {}) => {
11
+ const { offset = 0 } = options;
12
+ return (0, helpers_1.preparePreviewText)(text, {
13
+ platform: 'bluesky',
14
+ maxChars: BODY_LENGTH - URL_LENGTH - offset,
15
+ });
16
+ };
17
+ exports.blueskyBody = blueskyBody;
18
+ const blueskyUrl = (text) => (0, helpers_1.firstValid)((0, helpers_1.shortEnough)(URL_LENGTH), (0, helpers_1.hardTruncation)(URL_LENGTH))((0, helpers_1.stripHtmlTags)(text)) ||
19
+ '';
20
+ exports.blueskyUrl = blueskyUrl;
21
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/bluesky-preview/helpers.ts"],"names":[],"mappings":";;;AAAA,wCAOoB;AAEpB,MAAM,YAAY,GAAG,GAAG,CAAC;AACzB,MAAM,WAAW,GAAG,GAAG,CAAC;AACxB,MAAM,UAAU,GAAG,EAAE,CAAC;AAEf,MAAM,YAAY,GAAc,CAAE,IAAI,EAAG,EAAE,CACjD,IAAA,oBAAU,EACT,IAAA,qBAAW,EAAE,YAAY,CAAE,EAC3B,IAAA,wBAAc,EAAE,YAAY,CAAE,CAC9B,CAAE,IAAA,uBAAa,EAAE,IAAI,CAAE,CAAE,IAAI,EAAE,CAAC;AAJrB,QAAA,YAAY,gBAIS;AAE3B,MAAM,WAAW,GAAG,CAAE,IAAY,EAAE,UAA+B,EAAE,EAAG,EAAE;IAChF,MAAM,EAAE,MAAM,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC;IAE/B,OAAO,IAAA,4BAAkB,EAAE,IAAI,EAAE;QAChC,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE,WAAW,GAAG,UAAU,GAAG,MAAM;KAC3C,CAAE,CAAC;AACL,CAAC,CAAC;AAPW,QAAA,WAAW,eAOtB;AAEK,MAAM,UAAU,GAAc,CAAE,IAAI,EAAG,EAAE,CAC/C,IAAA,oBAAU,EAAE,IAAA,qBAAW,EAAE,UAAU,CAAE,EAAE,IAAA,wBAAc,EAAE,UAAU,CAAE,CAAE,CAAE,IAAA,uBAAa,EAAE,IAAI,CAAE,CAAE;IAC9F,EAAE,CAAC;AAFS,QAAA,UAAU,cAEnB"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./link-preview"), exports);
5
+ tslib_1.__exportStar(require("./post-preview"), exports);
6
+ tslib_1.__exportStar(require("./previews"), exports);
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/bluesky-preview/index.tsx"],"names":[],"mappings":";;;AAAA,yDAA+B;AAC/B,yDAA+B;AAC/B,qDAA2B"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BlueskyLinkPreview = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const post_preview_1 = require("./post-preview");
6
+ const BlueskyLinkPreview = (props) => {
7
+ return (0, jsx_runtime_1.jsx)(post_preview_1.BlueskyPostPreview, { ...props, user: undefined, media: undefined, customText: "" });
8
+ };
9
+ exports.BlueskyLinkPreview = BlueskyLinkPreview;
10
+ //# sourceMappingURL=link-preview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"link-preview.js","sourceRoot":"","sources":["../../../src/bluesky-preview/link-preview.tsx"],"names":[],"mappings":";;;;AAAA,iDAAoD;AAG7C,MAAM,kBAAkB,GAAoC,CAAE,KAAK,EAAG,EAAE;IAC9E,OAAO,uBAAC,iCAAkB,OAAM,KAAK,EAAG,IAAI,EAAG,SAAS,EAAG,KAAK,EAAG,SAAS,EAAG,UAAU,EAAC,EAAE,GAAG,CAAC;AACjG,CAAC,CAAC;AAFW,QAAA,kBAAkB,sBAE7B"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
4
+ require("./styles.scss");
5
+ const BlueskyPostActions = () => ((0, jsx_runtime_1.jsxs)("div", { className: "bluesky-preview__post-actions", children: [(0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("svg", { fill: "none", width: "18", viewBox: "0 0 24 24", height: "18", style: { color: 'rgb(111, 134, 159)' }, "aria-hidden": "true", children: (0, jsx_runtime_1.jsx)("path", { fill: "hsl(211, 20%, 53%)", fillRule: "evenodd", clipRule: "evenodd", d: "M2.002 6a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v10a3 3 0 0 1-3 3H12.28l-4.762 2.858A1 1 0 0 1 6.002 21v-2h-1a3 3 0 0 1-3-3V6Zm3-1a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h2a1 1 0 0 1 1 1v1.234l3.486-2.092a1 1 0 0 1 .514-.142h7a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-14Z" }) }), (0, jsx_runtime_1.jsx)("span", { children: 0 })] }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("svg", { fill: "none", width: "18", viewBox: "0 0 24 24", height: "18", style: { color: 'rgb(111, 134, 159)' }, "aria-hidden": "true", children: (0, jsx_runtime_1.jsx)("path", { fill: "hsl(211, 20%, 53%)", fillRule: "evenodd", clipRule: "evenodd", d: "M17.957 2.293a1 1 0 1 0-1.414 1.414L17.836 5H6a3 3 0 0 0-3 3v3a1 1 0 1 0 2 0V8a1 1 0 0 1 1-1h11.836l-1.293 1.293a1 1 0 0 0 1.414 1.414l2.47-2.47a1.75 1.75 0 0 0 0-2.474l-2.47-2.47ZM20 12a1 1 0 0 1 1 1v3a3 3 0 0 1-3 3H6.164l1.293 1.293a1 1 0 1 1-1.414 1.414l-2.47-2.47a1.75 1.75 0 0 1 0-2.474l2.47-2.47a1 1 0 0 1 1.414 1.414L6.164 17H18a1 1 0 0 0 1-1v-3a1 1 0 0 1 1-1Z" }) }), (0, jsx_runtime_1.jsx)("span", { children: 0 })] }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("svg", { fill: "none", width: "18", viewBox: "0 0 24 24", height: "18", style: { color: 'rgb(111, 134, 159)' }, "aria-hidden": "true", children: (0, jsx_runtime_1.jsx)("path", { fill: "hsl(211, 20%, 53%)", fillRule: "evenodd", clipRule: "evenodd", d: "M16.734 5.091c-1.238-.276-2.708.047-4.022 1.38a1 1 0 0 1-1.424 0C9.974 5.137 8.504 4.814 7.266 5.09c-1.263.282-2.379 1.206-2.92 2.556C3.33 10.18 4.252 14.84 12 19.348c7.747-4.508 8.67-9.168 7.654-11.7-.541-1.351-1.657-2.275-2.92-2.557Zm4.777 1.812c1.604 4-.494 9.69-9.022 14.47a1 1 0 0 1-.978 0C2.983 16.592.885 10.902 2.49 6.902c.779-1.942 2.414-3.334 4.342-3.764 1.697-.378 3.552.003 5.169 1.286 1.617-1.283 3.472-1.664 5.17-1.286 1.927.43 3.562 1.822 4.34 3.764Z" }) }), (0, jsx_runtime_1.jsx)("span", { children: 0 })] }), (0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)("svg", { fill: "none", viewBox: "0 0 24 24", width: "20", height: "20", "aria-hidden": "true", children: (0, jsx_runtime_1.jsx)("path", { fill: "hsl(211, 20%, 53%)", fillRule: "evenodd", clipRule: "evenodd", d: "M2 12a2 2 0 1 1 4 0 2 2 0 0 1-4 0Zm16 0a2 2 0 1 1 4 0 2 2 0 0 1-4 0Zm-6-2a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z" }) }) })] }));
6
+ exports.default = BlueskyPostActions;
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/bluesky-preview/post/actions/index.tsx"],"names":[],"mappings":";;;AAAA,yBAAuB;AAEvB,MAAM,kBAAkB,GAAa,GAAG,EAAE,CAAC,CAC1C,iCAAK,SAAS,EAAC,+BAA+B,aAC7C,4CACC,gCACC,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,IAAI,EACV,OAAO,EAAC,WAAW,EACnB,MAAM,EAAC,IAAI,EACX,KAAK,EAAG,EAAE,KAAK,EAAE,oBAAoB,EAAE,iBAC3B,MAAM,YAElB,iCACC,IAAI,EAAC,oBAAoB,EACzB,QAAQ,EAAC,SAAS,EAClB,QAAQ,EAAC,SAAS,EAClB,CAAC,EAAC,qPAAqP,GAChP,GACH,EACN,2CAAQ,CAAC,GAAS,IACb,EACN,4CACC,gCACC,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,IAAI,EACV,OAAO,EAAC,WAAW,EACnB,MAAM,EAAC,IAAI,EACX,KAAK,EAAG,EAAE,KAAK,EAAE,oBAAoB,EAAE,iBAC3B,MAAM,YAElB,iCACC,IAAI,EAAC,oBAAoB,EACzB,QAAQ,EAAC,SAAS,EAClB,QAAQ,EAAC,SAAS,EAClB,CAAC,EAAC,iXAAiX,GAC5W,GACH,EACN,2CAAQ,CAAC,GAAS,IACb,EACN,4CACC,gCACC,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,IAAI,EACV,OAAO,EAAC,WAAW,EACnB,MAAM,EAAC,IAAI,EACX,KAAK,EAAG,EAAE,KAAK,EAAE,oBAAoB,EAAE,iBAC3B,MAAM,YAElB,iCACC,IAAI,EAAC,oBAAoB,EACzB,QAAQ,EAAC,SAAS,EAClB,QAAQ,EAAC,SAAS,EAClB,CAAC,EAAC,mdAAmd,GAC9c,GACH,EACN,2CAAQ,CAAC,GAAS,IACb,EACN,0CACC,gCAAK,IAAI,EAAC,MAAM,EAAC,OAAO,EAAC,WAAW,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,iBAAa,MAAM,YAC7E,iCACC,IAAI,EAAC,oBAAoB,EACzB,QAAQ,EAAC,SAAS,EAClB,QAAQ,EAAC,SAAS,EAClB,CAAC,EAAC,wGAAwG,GACnG,GACH,GACD,IACD,CACN,CAAC;AAEF,kBAAe,kBAAkB,CAAC"}
@@ -0,0 +1,20 @@
1
+ @import "../../variables";
2
+
3
+ .bluesky-preview__post-actions {
4
+ margin-top: 0.5rem;
5
+ display: flex;
6
+ justify-content: space-between;
7
+ align-items: center;
8
+
9
+ & > div {
10
+ flex: 1;
11
+ display: flex;
12
+ align-items: center;
13
+ gap: 4px;
14
+ color: rgb(111, 134, 159);
15
+ }
16
+
17
+ svg {
18
+ fill: currentColor;
19
+ }
20
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
4
+ const helpers_1 = require("../../helpers");
5
+ require("./styles.scss");
6
+ const BlueskyPostBody = ({ customText, url, children }) => {
7
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "bluesky-preview__body", children: [customText ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { children: (0, helpers_1.blueskyBody)(customText) }), (0, jsx_runtime_1.jsx)("br", {}), (0, jsx_runtime_1.jsx)("a", { href: url, target: "_blank", rel: "noreferrer noopener", children: (0, helpers_1.blueskyUrl)(url.replace(/^https?:\/\//, '')) })] })) : null, children] }));
8
+ };
9
+ exports.default = BlueskyPostBody;
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/bluesky-preview/post/body/index.tsx"],"names":[],"mappings":";;;AAAA,2CAAwD;AAGxD,yBAAuB;AAIvB,MAAM,eAAe,GAAsB,CAAE,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAG,EAAE;IAC9E,OAAO,CACN,iCAAK,SAAS,EAAC,uBAAuB,aACnC,UAAU,CAAC,CAAC,CAAC,CACd,6DACC,0CAAO,IAAA,qBAAW,EAAE,UAAU,CAAE,GAAQ,EACxC,gCAAM,EACN,8BAAG,IAAI,EAAG,GAAG,EAAG,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,qBAAqB,YACtD,IAAA,oBAAU,EAAE,GAAG,CAAC,OAAO,CAAE,cAAc,EAAE,EAAE,CAAE,CAAE,GAC9C,IACF,CACH,CAAC,CAAC,CAAC,IAAI,EACN,QAAQ,IACL,CACN,CAAC;AACH,CAAC,CAAC;AAEF,kBAAe,eAAe,CAAC"}
@@ -0,0 +1,12 @@
1
+ @import "../../variables";
2
+
3
+ .bluesky-preview__body {
4
+ margin-bottom: 1rem;
5
+
6
+ color: $bluesky-body-text-color;
7
+
8
+ > p {
9
+ margin-bottom: 1.25rem;
10
+ }
11
+ }
12
+
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
4
+ const helpers_1 = require("../../../helpers");
5
+ const helpers_2 = require("../../helpers");
6
+ require("./styles.scss");
7
+ const BlueskyPostCard = ({ title, description, url, image }) => {
8
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "bluesky-preview__card", children: [image ? ((0, jsx_runtime_1.jsx)("div", { className: "bluesky-preview__card-image", children: (0, jsx_runtime_1.jsx)("img", { src: image, alt: "" }) })) : null, (0, jsx_runtime_1.jsxs)("div", { className: "bluesky-preview__card-text", children: [(0, jsx_runtime_1.jsx)("div", { className: "bluesky-preview__card-site", children: (0, helpers_1.baseDomain)(url) }), (0, jsx_runtime_1.jsx)("div", { className: "bluesky-preview__card-title", children: (0, helpers_2.blueskyTitle)(title) || (0, helpers_1.getTitleFromDescription)(description) }), (0, jsx_runtime_1.jsx)("div", { className: "bluesky-preview__card-description", children: (0, helpers_1.stripHtmlTags)(description) })] })] }));
9
+ };
10
+ exports.default = BlueskyPostCard;
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/bluesky-preview/post/card/index.tsx"],"names":[],"mappings":";;;AAAA,8CAAsF;AACtF,2CAA6C;AAG7C,yBAAuB;AAEvB,MAAM,eAAe,GAAoC,CAAE,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,KAAK,EAAE,EAAG,EAAE;IACjG,OAAO,CACN,iCAAK,SAAS,EAAC,uBAAuB,aACnC,KAAK,CAAC,CAAC,CAAC,CACT,gCAAK,SAAS,EAAC,6BAA6B,YAC3C,gCAAK,GAAG,EAAG,KAAK,EAAG,GAAG,EAAC,EAAE,GAAG,GACvB,CACN,CAAC,CAAC,CAAC,IAAI,EACR,iCAAK,SAAS,EAAC,4BAA4B,aAC1C,gCAAK,SAAS,EAAC,4BAA4B,YAAG,IAAA,oBAAU,EAAE,GAAG,CAAE,GAAQ,EACvE,gCAAK,SAAS,EAAC,6BAA6B,YACzC,IAAA,sBAAY,EAAE,KAAK,CAAE,IAAI,IAAA,iCAAuB,EAAE,WAAW,CAAE,GAC5D,EACN,gCAAK,SAAS,EAAC,mCAAmC,YAAG,IAAA,uBAAa,EAAE,WAAW,CAAE,GAAQ,IACpF,IACD,CACN,CAAC;AACH,CAAC,CAAC;AAEF,kBAAe,eAAe,CAAC"}
@@ -0,0 +1,70 @@
1
+ @import "../../variables";
2
+
3
+ .bluesky-preview__card {
4
+ display: flex;
5
+ flex-direction: column;
6
+ margin-top: 1rem;
7
+
8
+ border: solid 1px #d9e1e8;
9
+ /* stylelint-disable-next-line scales/radii */
10
+ border-radius: 8px;
11
+ overflow: hidden;
12
+ color: $bluesky-body-text-color;
13
+ }
14
+
15
+ .bluesky-preview__card-image img {
16
+ width: 100%;
17
+ object-fit: cover;
18
+ }
19
+
20
+ .bluesky-preview__card-text {
21
+ border-bottom-width: 1px;
22
+ border-left-width: 1px;
23
+ border-right-width: 1px;
24
+ flex: 1 1 0%;
25
+ padding: 8px 14px;
26
+ border-color: rgb(212, 219, 226);
27
+ /* stylelint-disable-next-line scales/radii */
28
+ border-bottom-right-radius: 8px;
29
+ /* stylelint-disable-next-line scales/radii */
30
+ border-bottom-left-radius: 8px;
31
+ }
32
+
33
+ .bluesky-preview__card-title {
34
+ -webkit-box-orient: vertical;
35
+ -webkit-line-clamp: 3;
36
+ display: -webkit-box;
37
+ overflow: hidden;
38
+ text-overflow: ellipsis;
39
+ color: rgb(11, 15, 20);
40
+ /* stylelint-disable-next-line declaration-property-unit-allowed-list */
41
+ font-size: 16px;
42
+ font-weight: 700;
43
+ letter-spacing: 0.25px;
44
+ }
45
+
46
+ .bluesky-preview__card-site {
47
+ /* stylelint-disable-next-line declaration-property-unit-allowed-list */
48
+ font-size: 14px;
49
+ overflow: hidden;
50
+ text-overflow: ellipsis;
51
+ white-space: nowrap;
52
+ color: rgb(66, 87, 108);
53
+ font-weight: 400;
54
+ letter-spacing: 0.25px;
55
+ margin-bottom: 2px;
56
+ margin-top: 2px;
57
+ }
58
+
59
+ .bluesky-preview__card-description {
60
+ -webkit-box-orient: vertical;
61
+ -webkit-line-clamp: 2;
62
+ color: rgb(11, 15, 20);
63
+ display: -webkit-box;
64
+ /* stylelint-disable-next-line declaration-property-unit-allowed-list */
65
+ font-size: 15px;
66
+ font-weight: 400;
67
+ letter-spacing: 0.25px;
68
+ margin-top: 4px;
69
+ overflow: hidden;
70
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
4
+ const i18n_1 = require("@wordpress/i18n");
5
+ require("./styles.scss");
6
+ const BlueskyPostHeader = ({ user }) => {
7
+ const { displayName, address } = user || {};
8
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "bluesky-preview__post-header", children: [(0, jsx_runtime_1.jsxs)("div", { className: "bluesky-preview__post-header-user", children: [(0, jsx_runtime_1.jsx)("span", { className: "bluesky-preview__post-header--displayname", children: displayName || (0, i18n_1.__)('Account name') }), "\u00A0", (0, jsx_runtime_1.jsx)("span", { className: "bluesky-preview__post-header--username", children: address || 'username.bsky.social' })] }), (0, jsx_runtime_1.jsx)("div", { className: "bluesky-preview__post-header--separator", children: "\u00B7" }), (0, jsx_runtime_1.jsx)("div", { className: "bluesky-preview__post-header--date", children: (0, i18n_1._x)('1h', 'refers to the time since the post was published, e.g. "1h"', 'social-previews') })] }));
9
+ };
10
+ exports.default = BlueskyPostHeader;
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/bluesky-preview/post/header/index.tsx"],"names":[],"mappings":";;;AAAA,0CAAyC;AAGzC,yBAAuB;AAIvB,MAAM,iBAAiB,GAAsB,CAAE,EAAE,IAAI,EAAE,EAAG,EAAE;IAC3D,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;IAE5C,OAAO,CACN,iCAAK,SAAS,EAAC,8BAA8B,aAC5C,iCAAK,SAAS,EAAC,mCAAmC,aACjD,iCAAM,SAAS,EAAC,2CAA2C,YACxD,WAAW,IAAI,IAAA,SAAE,EAAE,cAAc,CAAE,GAC/B,YAEP,iCAAM,SAAS,EAAC,wCAAwC,YACrD,OAAO,IAAI,sBAAsB,GAC7B,IACF,EACN,gCAAK,SAAS,EAAC,yCAAyC,uBAAQ,EAChE,gCAAK,SAAS,EAAC,oCAAoC,YAChD,IAAA,SAAE,EACH,IAAI,EACJ,4DAA4D,EAC5D,iBAAiB,CACjB,GACI,IACD,CACN,CAAC;AACH,CAAC,CAAC;AAEF,kBAAe,iBAAiB,CAAC"}
@@ -0,0 +1,33 @@
1
+ @import "../../variables";
2
+
3
+ .bluesky-preview__post-header {
4
+ display: flex;
5
+ align-items: start;
6
+ gap: 4px;
7
+
8
+ margin-bottom: 0.625rem;
9
+
10
+ /* stylelint-disable-next-line scales/font-sizes */
11
+ font-size: 0.9375rem;
12
+ line-height: 1.47;
13
+
14
+ &--displayname {
15
+ /* stylelint-disable-next-line declaration-property-unit-allowed-list */
16
+ font-size: 16px;
17
+ letter-spacing: 0.25px;
18
+ font-weight: 700;
19
+ line-height: 19px;
20
+ color: rgb(11, 15, 20);
21
+ }
22
+
23
+ &--username,
24
+ &--separator,
25
+ &--date {
26
+ /* stylelint-disable-next-line declaration-property-unit-allowed-list */
27
+ font-size: 15px;
28
+ letter-spacing: 0.25px;
29
+ font-weight: 400;
30
+ color: rgb(66, 87, 108);
31
+ }
32
+
33
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BlueskyPostSidebar = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ require("./styles.scss");
6
+ const BlueskyPostSidebar = ({ user }) => {
7
+ const { avatarUrl } = user || {};
8
+ return ((0, jsx_runtime_1.jsx)("div", { className: "bluesky-preview__post-sidebar", children: (0, jsx_runtime_1.jsx)("div", { className: "bluesky-preview__post-sidebar-user", children: avatarUrl ? ((0, jsx_runtime_1.jsx)("img", { className: "bluesky-preview__post-avatar", src: avatarUrl, alt: "" })) : ((0, jsx_runtime_1.jsxs)("svg", { className: "bluesky-preview__post-avatar", viewBox: "0 0 24 24", fill: "none", stroke: "none", role: "presentation", children: [(0, jsx_runtime_1.jsx)("circle", { cx: "12", cy: "12", r: "12", fill: "#0070ff" }), (0, jsx_runtime_1.jsx)("circle", { cx: "12", cy: "9.5", r: "3.5", fill: "#fff" }), (0, jsx_runtime_1.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", fill: "#fff", d: "M 12.058 22.784 C 9.422 22.784 7.007 21.836 5.137 20.262 C 5.667 17.988 8.534 16.25 11.99 16.25 C 15.494 16.25 18.391 18.036 18.864 20.357 C 17.01 21.874 14.64 22.784 12.058 22.784 Z" })] })) }) }));
9
+ };
10
+ exports.BlueskyPostSidebar = BlueskyPostSidebar;
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/bluesky-preview/post/sidebar/index.tsx"],"names":[],"mappings":";;;;AAEA,yBAAuB;AAIhB,MAAM,kBAAkB,GAAsB,CAAE,EAAE,IAAI,EAAE,EAAG,EAAE;IACnE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;IAEjC,OAAO,CACN,gCAAK,SAAS,EAAC,+BAA+B,YAC7C,gCAAK,SAAS,EAAC,oCAAoC,YAChD,SAAS,CAAC,CAAC,CAAC,CACb,gCAAK,SAAS,EAAC,8BAA8B,EAAC,GAAG,EAAG,SAAS,EAAG,GAAG,EAAC,EAAE,GAAG,CACzE,CAAC,CAAC,CAAC,CACH,iCACC,SAAS,EAAC,8BAA8B,EACxC,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,MAAM,EACb,IAAI,EAAC,cAAc,aAEnB,mCAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,EAAC,IAAI,EAAC,SAAS,GAAU,EACvD,mCAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,KAAK,EAAC,CAAC,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,GAAU,EACtD,iCACC,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,EACtB,IAAI,EAAC,MAAM,EACX,CAAC,EAAC,wLAAwL,GACnL,IACH,CACN,GACI,GACD,CACN,CAAC;AACH,CAAC,CAAC;AA7BW,QAAA,kBAAkB,sBA6B7B"}
@@ -0,0 +1,6 @@
1
+
2
+ .bluesky-preview__post-avatar {
3
+ width: 52px;
4
+ height: 52px;
5
+ border-radius: 50%;
6
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BlueskyPostPreview = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const jsx_runtime_1 = require("react/jsx-runtime");
6
+ const clsx_1 = tslib_1.__importDefault(require("clsx"));
7
+ const actions_1 = tslib_1.__importDefault(require("./post/actions"));
8
+ const body_1 = tslib_1.__importDefault(require("./post/body"));
9
+ const card_1 = tslib_1.__importDefault(require("./post/card"));
10
+ const header_1 = tslib_1.__importDefault(require("./post/header"));
11
+ const sidebar_1 = require("./post/sidebar");
12
+ require("./styles.scss");
13
+ const BlueskyPostPreview = (props) => {
14
+ const { user, media } = props;
15
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "bluesky-preview__post", children: [(0, jsx_runtime_1.jsx)(sidebar_1.BlueskyPostSidebar, { user: user }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)(header_1.default, { user: user }), (0, jsx_runtime_1.jsx)(body_1.default, { ...props, children: media?.length ? ((0, jsx_runtime_1.jsx)("div", { className: (0, clsx_1.default)('bluesky-preview__media', { 'as-grid': media.length > 1 }), children: media.map((mediaItem, index) => ((0, jsx_runtime_1.jsx)("div", { className: "bluesky-preview__media-item", children: mediaItem.type.startsWith('video/') ? (
16
+ // eslint-disable-next-line jsx-a11y/media-has-caption
17
+ (0, jsx_runtime_1.jsx)("video", { controls: true, children: (0, jsx_runtime_1.jsx)("source", { src: mediaItem.url, type: mediaItem.type }) })) : ((0, jsx_runtime_1.jsx)("img", { alt: mediaItem.alt || '', src: mediaItem.url })) }, `bluesky-preview__media-item-${index}`))) })) : null }), !media?.length ? (0, jsx_runtime_1.jsx)(card_1.default, { ...props }) : null, (0, jsx_runtime_1.jsx)(actions_1.default, {})] })] }));
18
+ };
19
+ exports.BlueskyPostPreview = BlueskyPostPreview;
20
+ //# sourceMappingURL=post-preview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"post-preview.js","sourceRoot":"","sources":["../../../src/bluesky-preview/post-preview.tsx"],"names":[],"mappings":";;;;;AAAA,wDAAwB;AACxB,qEAAgD;AAChD,+DAA0C;AAC1C,+DAA0C;AAC1C,mEAA8C;AAC9C,4CAAoD;AAGpD,yBAAuB;AAEhB,MAAM,kBAAkB,GAAoC,CAAE,KAAK,EAAG,EAAE;IAC9E,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IAE9B,OAAO,CACN,iCAAK,SAAS,EAAC,uBAAuB,aACrC,uBAAC,4BAAkB,IAAC,IAAI,EAAG,IAAI,GAAK,EACpC,4CACC,uBAAC,gBAAiB,IAAC,IAAI,EAAG,IAAI,GAAK,EACnC,uBAAC,cAAe,OAAM,KAAK,YACxB,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CACjB,gCAAK,SAAS,EAAG,IAAA,cAAI,EAAE,wBAAwB,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAE,YAC/E,KAAK,CAAC,GAAG,CAAE,CAAE,SAAS,EAAE,KAAK,EAAG,EAAE,CAAC,CACpC,gCAEC,SAAS,EAAC,6BAA6B,YAErC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAE,QAAQ,CAAE,CAAC,CAAC,CAAC;gCACzC,sDAAsD;gCACtD,kCAAO,QAAQ,kBACd,mCAAQ,GAAG,EAAG,SAAS,CAAC,GAAG,EAAG,IAAI,EAAG,SAAS,CAAC,IAAI,GAAK,GACjD,CACR,CAAC,CAAC,CAAC,CACH,gCAAK,GAAG,EAAG,SAAS,CAAC,GAAG,IAAI,EAAE,EAAG,GAAG,EAAG,SAAS,CAAC,GAAG,GAAK,CACzD,IAVK,+BAAgC,KAAM,EAAE,CAWzC,CACN,CAAE,GACE,CACN,CAAC,CAAC,CAAC,IAAI,GACS,EAChB,CAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,uBAAC,cAAe,OAAM,KAAK,GAAK,CAAC,CAAC,CAAC,IAAI,EAC3D,uBAAC,iBAAkB,KAAG,IACjB,IACD,CACN,CAAC;AACH,CAAC,CAAC;AAlCW,QAAA,kBAAkB,sBAkC7B"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BlueskyPreviews = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const components_1 = require("@wordpress/components");
6
+ const i18n_1 = require("@wordpress/i18n");
7
+ const section_heading_1 = require("../shared/section-heading");
8
+ const link_preview_1 = require("./link-preview");
9
+ const post_preview_1 = require("./post-preview");
10
+ const BlueskyPreviews = ({ headingLevel, hidePostPreview, hideLinkPreview, ...props }) => {
11
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "social-preview bluesky-preview", children: [!hidePostPreview && ((0, jsx_runtime_1.jsxs)("section", { className: "social-preview__section bluesky-preview__section", children: [(0, jsx_runtime_1.jsx)(section_heading_1.SectionHeading, { level: headingLevel, children:
12
+ // translators: refers to a social post on Bluesky
13
+ (0, i18n_1.__)('Your post', 'social-previews') }), (0, jsx_runtime_1.jsx)("p", { className: "social-preview__section-desc", children: (0, i18n_1.__)('This is what your social post will look like on Bluesky:', 'social-previews') }), (0, jsx_runtime_1.jsx)(post_preview_1.BlueskyPostPreview, { ...props })] })), !hideLinkPreview && ((0, jsx_runtime_1.jsxs)("section", { className: "social-preview__section bluesky-preview__section", children: [(0, jsx_runtime_1.jsx)(section_heading_1.SectionHeading, { level: headingLevel, children:
14
+ // translators: refers to a link to a Bluesky post
15
+ (0, i18n_1.__)('Link preview', 'social-previews') }), (0, jsx_runtime_1.jsxs)("p", { className: "social-preview__section-desc", children: [(0, i18n_1.__)('This is what it will look like when someone shares the link to your WordPress post on Bluesky.', 'social-previews'), "\u00A0", (0, jsx_runtime_1.jsx)(components_1.ExternalLink, { href: "https://jetpack.com/support/jetpack-social-image-generator", children: (0, i18n_1.__)('Learn more about links', 'social-previews') })] }), (0, jsx_runtime_1.jsx)(link_preview_1.BlueskyLinkPreview, { ...props })] }))] }));
16
+ };
17
+ exports.BlueskyPreviews = BlueskyPreviews;
18
+ //# sourceMappingURL=previews.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"previews.js","sourceRoot":"","sources":["../../../src/bluesky-preview/previews.tsx"],"names":[],"mappings":";;;;AAAA,sDAAqD;AACrD,0CAAqC;AACrC,+DAA2D;AAE3D,iDAAoD;AACpD,iDAAoD;AAK7C,MAAM,eAAe,GAAqC,CAAE,EAClE,YAAY,EACZ,eAAe,EACf,eAAe,EACf,GAAG,KAAK,EACR,EAAG,EAAE;IACL,OAAO,CACN,iCAAK,SAAS,EAAC,gCAAgC,aAC5C,CAAE,eAAe,IAAI,CACtB,qCAAS,SAAS,EAAC,kDAAkD,aACpE,uBAAC,gCAAc,IAAC,KAAK,EAAG,YAAY;wBAElC,kDAAkD;wBAClD,IAAA,SAAE,EAAE,WAAW,EAAE,iBAAiB,CAAE,GAErB,EACjB,8BAAG,SAAS,EAAC,8BAA8B,YACxC,IAAA,SAAE,EAAE,0DAA0D,EAAE,iBAAiB,CAAE,GAClF,EACJ,uBAAC,iCAAkB,OAAM,KAAK,GAAK,IAC1B,CACV,EACC,CAAE,eAAe,IAAI,CACtB,qCAAS,SAAS,EAAC,kDAAkD,aACpE,uBAAC,gCAAc,IAAC,KAAK,EAAG,YAAY;wBAElC,kDAAkD;wBAClD,IAAA,SAAE,EAAE,cAAc,EAAE,iBAAiB,CAAE,GAExB,EACjB,+BAAG,SAAS,EAAC,8BAA8B,aACxC,IAAA,SAAE,EACH,gGAAgG,EAChG,iBAAiB,CACjB,YAED,uBAAC,yBAAY,IAAC,IAAI,EAAC,4DAA4D,YAC5E,IAAA,SAAE,EAAE,wBAAwB,EAAE,iBAAiB,CAAE,GACrC,IACZ,EACJ,uBAAC,iCAAkB,OAAM,KAAK,GAAK,IAC1B,CACV,IACI,CACN,CAAC;AACH,CAAC,CAAC;AA7CW,QAAA,eAAe,mBA6C1B"}
@@ -0,0 +1,65 @@
1
+ @import "./variables";
2
+ @import "../shared";
3
+
4
+ .bluesky-preview__section {
5
+ max-width: 100%;
6
+ width: $bluesky-preview-width;
7
+ margin-inline: auto;
8
+ }
9
+
10
+ .bluesky-preview__post {
11
+ display: flex;
12
+ flex-direction: row;
13
+ gap: 10px;
14
+
15
+ width: 100%;
16
+ overflow-y: hidden;
17
+ box-sizing: border-box;
18
+ padding: 1rem;
19
+
20
+ background-color: $bluesky-preview-background-color;
21
+ border: 1px solid #c0cdd9;
22
+ color: $bluesky-preview-text-color;
23
+
24
+ font-family: $bluesky-preview-font-family;
25
+ /* stylelint-disable-next-line scales/font-sizes */
26
+ font-size: 0.9375rem;
27
+ line-height: 1.47;
28
+
29
+ :any-link {
30
+ color: $bluesky-preview-accent-color;
31
+
32
+ text-decoration: none;
33
+ }
34
+ }
35
+
36
+ .bluesky-preview__media {
37
+
38
+ margin-top: 8px;
39
+ min-height: 64px;
40
+ /* stylelint-disable-next-line scales/radii */
41
+ border-radius: 8px;
42
+
43
+ &.as-grid {
44
+ display: grid;
45
+ gap: 2px;
46
+ grid-template-columns: 50% 50%;
47
+ width: 100%;
48
+ overflow: hidden;
49
+ }
50
+
51
+ &-item {
52
+ display: flex;
53
+ border: 0;
54
+ /* stylelint-disable-next-line scales/radii */
55
+ border-radius: 8px;
56
+ overflow: hidden;
57
+
58
+ img,
59
+ video {
60
+ width: 100%;
61
+ object-fit: cover;
62
+ }
63
+ }
64
+
65
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/bluesky-preview/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ $bluesky-preview-width: 578px;
2
+ $bluesky-preview-text-color: #444b5d;
3
+ $bluesky-body-text-color: #000;
4
+ $bluesky-preview-background-color: #fff;
5
+ $bluesky-preview-font-family: "bluesky-font-sans-serif",sans-serif;
6
+ $bluesky-preview-accent-color: #3a3bff;
@@ -9,7 +9,7 @@
9
9
  * @blame: dmsnell
10
10
  */
11
11
 
12
- @import "../variables.scss";
12
+ @import "../variables";
13
13
 
14
14
  .search-preview__display {
15
15
  border: 1px solid var(--color-neutral-0);
@@ -71,6 +71,7 @@ exports.hashtagUrlMap = {
71
71
  mastodon: 'https://%2$s/tags/%1$s',
72
72
  nextdoor: 'https://nextdoor.com/hashtag/%1$s',
73
73
  threads: 'https://www.threads.net/search?q=%1$s&serp_type=tags',
74
+ bluesky: 'https://bsky.app/hashtag/%1$s',
74
75
  };
75
76
  /**
76
77
  * Prepares the text for the preview.
@@ -85,7 +86,7 @@ function preparePreviewText(text, options) {
85
86
  // That is why "\s*"
86
87
  result = result.replaceAll(/(?:\s*[\n\r]){2,}/g, '\n\n');
87
88
  if (maxChars && result.length > maxChars) {
88
- result = result.substring(0, maxChars);
89
+ result = (0, exports.hardTruncation)(maxChars)(result);
89
90
  }
90
91
  if (maxLines) {
91
92
  const lines = result.split('\n');
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.tsx"],"names":[],"mappings":"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"}
package/dist/cjs/index.js CHANGED
@@ -8,6 +8,7 @@ tslib_1.__exportStar(require("./tumblr-preview"), exports);
8
8
  tslib_1.__exportStar(require("./facebook-preview"), exports);
9
9
  tslib_1.__exportStar(require("./mastodon-preview"), exports);
10
10
  tslib_1.__exportStar(require("./nextdoor-preview"), exports);
11
+ tslib_1.__exportStar(require("./bluesky-preview"), exports);
11
12
  tslib_1.__exportStar(require("./threads-preview"), exports);
12
13
  tslib_1.__exportStar(require("./constants"), exports);
13
14
  tslib_1.__exportStar(require("./instagram-preview"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,kEAAwC;AACxC,4DAAkC;AAClC,6DAAmC;AACnC,2DAAiC;AACjC,6DAAmC;AACnC,6DAAmC;AACnC,6DAAmC;AACnC,4DAAkC;AAClC,sDAA4B;AAC5B,8DAAoC;AACpC,kDAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,kEAAwC;AACxC,4DAAkC;AAClC,6DAAmC;AACnC,2DAAiC;AACjC,6DAAmC;AACnC,6DAAmC;AACnC,6DAAmC;AACnC,4DAAkC;AAClC,4DAAkC;AAClC,sDAA4B;AAC5B,8DAAoC;AACpC,kDAAwB"}
@@ -1,6 +1,6 @@
1
1
  /* stylelint-disable scales/radii */
2
2
  /* stylelint-disable declaration-property-unit-allowed-list */
3
- @import "./variables.scss";
3
+ @import "./variables";
4
4
 
5
5
  .threads-preview {
6
6
  padding: 20px;
@@ -7,7 +7,7 @@
7
7
  * @blame: pento
8
8
  */
9
9
 
10
- @import "../variables.scss";
10
+ @import "../variables";
11
11
 
12
12
  .twitter-preview {
13
13
  padding: 20px;
@@ -0,0 +1,15 @@
1
+ import { firstValid, hardTruncation, shortEnough, stripHtmlTags, preparePreviewText, } from '../helpers';
2
+ const TITLE_LENGTH = 200;
3
+ const BODY_LENGTH = 300;
4
+ const URL_LENGTH = 40;
5
+ export const blueskyTitle = (text) => firstValid(shortEnough(TITLE_LENGTH), hardTruncation(TITLE_LENGTH))(stripHtmlTags(text)) || '';
6
+ export const blueskyBody = (text, options = {}) => {
7
+ const { offset = 0 } = options;
8
+ return preparePreviewText(text, {
9
+ platform: 'bluesky',
10
+ maxChars: BODY_LENGTH - URL_LENGTH - offset,
11
+ });
12
+ };
13
+ export const blueskyUrl = (text) => firstValid(shortEnough(URL_LENGTH), hardTruncation(URL_LENGTH))(stripHtmlTags(text)) ||
14
+ '';
15
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/bluesky-preview/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,UAAU,EACV,cAAc,EACd,WAAW,EACX,aAAa,EACb,kBAAkB,GAElB,MAAM,YAAY,CAAC;AAEpB,MAAM,YAAY,GAAG,GAAG,CAAC;AACzB,MAAM,WAAW,GAAG,GAAG,CAAC;AACxB,MAAM,UAAU,GAAG,EAAE,CAAC;AAEtB,MAAM,CAAC,MAAM,YAAY,GAAc,CAAE,IAAI,EAAG,EAAE,CACjD,UAAU,CACT,WAAW,CAAE,YAAY,CAAE,EAC3B,cAAc,CAAE,YAAY,CAAE,CAC9B,CAAE,aAAa,CAAE,IAAI,CAAE,CAAE,IAAI,EAAE,CAAC;AAElC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAE,IAAY,EAAE,UAA+B,EAAE,EAAG,EAAE;IAChF,MAAM,EAAE,MAAM,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC;IAE/B,OAAO,kBAAkB,CAAE,IAAI,EAAE;QAChC,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE,WAAW,GAAG,UAAU,GAAG,MAAM;KAC3C,CAAE,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAc,CAAE,IAAI,EAAG,EAAE,CAC/C,UAAU,CAAE,WAAW,CAAE,UAAU,CAAE,EAAE,cAAc,CAAE,UAAU,CAAE,CAAE,CAAE,aAAa,CAAE,IAAI,CAAE,CAAE;IAC9F,EAAE,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './link-preview';
2
+ export * from './post-preview';
3
+ export * from './previews';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/bluesky-preview/index.tsx"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { BlueskyPostPreview } from './post-preview';
3
+ export const BlueskyLinkPreview = (props) => {
4
+ return _jsx(BlueskyPostPreview, { ...props, user: undefined, media: undefined, customText: "" });
5
+ };
6
+ //# sourceMappingURL=link-preview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"link-preview.js","sourceRoot":"","sources":["../../../src/bluesky-preview/link-preview.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAGpD,MAAM,CAAC,MAAM,kBAAkB,GAAoC,CAAE,KAAK,EAAG,EAAE;IAC9E,OAAO,KAAC,kBAAkB,OAAM,KAAK,EAAG,IAAI,EAAG,SAAS,EAAG,KAAK,EAAG,SAAS,EAAG,UAAU,EAAC,EAAE,GAAG,CAAC;AACjG,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import './styles.scss';
3
+ const BlueskyPostActions = () => (_jsxs("div", { className: "bluesky-preview__post-actions", children: [_jsxs("div", { children: [_jsx("svg", { fill: "none", width: "18", viewBox: "0 0 24 24", height: "18", style: { color: 'rgb(111, 134, 159)' }, "aria-hidden": "true", children: _jsx("path", { fill: "hsl(211, 20%, 53%)", fillRule: "evenodd", clipRule: "evenodd", d: "M2.002 6a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v10a3 3 0 0 1-3 3H12.28l-4.762 2.858A1 1 0 0 1 6.002 21v-2h-1a3 3 0 0 1-3-3V6Zm3-1a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h2a1 1 0 0 1 1 1v1.234l3.486-2.092a1 1 0 0 1 .514-.142h7a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-14Z" }) }), _jsx("span", { children: 0 })] }), _jsxs("div", { children: [_jsx("svg", { fill: "none", width: "18", viewBox: "0 0 24 24", height: "18", style: { color: 'rgb(111, 134, 159)' }, "aria-hidden": "true", children: _jsx("path", { fill: "hsl(211, 20%, 53%)", fillRule: "evenodd", clipRule: "evenodd", d: "M17.957 2.293a1 1 0 1 0-1.414 1.414L17.836 5H6a3 3 0 0 0-3 3v3a1 1 0 1 0 2 0V8a1 1 0 0 1 1-1h11.836l-1.293 1.293a1 1 0 0 0 1.414 1.414l2.47-2.47a1.75 1.75 0 0 0 0-2.474l-2.47-2.47ZM20 12a1 1 0 0 1 1 1v3a3 3 0 0 1-3 3H6.164l1.293 1.293a1 1 0 1 1-1.414 1.414l-2.47-2.47a1.75 1.75 0 0 1 0-2.474l2.47-2.47a1 1 0 0 1 1.414 1.414L6.164 17H18a1 1 0 0 0 1-1v-3a1 1 0 0 1 1-1Z" }) }), _jsx("span", { children: 0 })] }), _jsxs("div", { children: [_jsx("svg", { fill: "none", width: "18", viewBox: "0 0 24 24", height: "18", style: { color: 'rgb(111, 134, 159)' }, "aria-hidden": "true", children: _jsx("path", { fill: "hsl(211, 20%, 53%)", fillRule: "evenodd", clipRule: "evenodd", d: "M16.734 5.091c-1.238-.276-2.708.047-4.022 1.38a1 1 0 0 1-1.424 0C9.974 5.137 8.504 4.814 7.266 5.09c-1.263.282-2.379 1.206-2.92 2.556C3.33 10.18 4.252 14.84 12 19.348c7.747-4.508 8.67-9.168 7.654-11.7-.541-1.351-1.657-2.275-2.92-2.557Zm4.777 1.812c1.604 4-.494 9.69-9.022 14.47a1 1 0 0 1-.978 0C2.983 16.592.885 10.902 2.49 6.902c.779-1.942 2.414-3.334 4.342-3.764 1.697-.378 3.552.003 5.169 1.286 1.617-1.283 3.472-1.664 5.17-1.286 1.927.43 3.562 1.822 4.34 3.764Z" }) }), _jsx("span", { children: 0 })] }), _jsx("div", { children: _jsx("svg", { fill: "none", viewBox: "0 0 24 24", width: "20", height: "20", "aria-hidden": "true", children: _jsx("path", { fill: "hsl(211, 20%, 53%)", fillRule: "evenodd", clipRule: "evenodd", d: "M2 12a2 2 0 1 1 4 0 2 2 0 0 1-4 0Zm16 0a2 2 0 1 1 4 0 2 2 0 0 1-4 0Zm-6-2a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z" }) }) })] }));
4
+ export default BlueskyPostActions;
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/bluesky-preview/post/actions/index.tsx"],"names":[],"mappings":";AAAA,OAAO,eAAe,CAAC;AAEvB,MAAM,kBAAkB,GAAa,GAAG,EAAE,CAAC,CAC1C,eAAK,SAAS,EAAC,+BAA+B,aAC7C,0BACC,cACC,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,IAAI,EACV,OAAO,EAAC,WAAW,EACnB,MAAM,EAAC,IAAI,EACX,KAAK,EAAG,EAAE,KAAK,EAAE,oBAAoB,EAAE,iBAC3B,MAAM,YAElB,eACC,IAAI,EAAC,oBAAoB,EACzB,QAAQ,EAAC,SAAS,EAClB,QAAQ,EAAC,SAAS,EAClB,CAAC,EAAC,qPAAqP,GAChP,GACH,EACN,yBAAQ,CAAC,GAAS,IACb,EACN,0BACC,cACC,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,IAAI,EACV,OAAO,EAAC,WAAW,EACnB,MAAM,EAAC,IAAI,EACX,KAAK,EAAG,EAAE,KAAK,EAAE,oBAAoB,EAAE,iBAC3B,MAAM,YAElB,eACC,IAAI,EAAC,oBAAoB,EACzB,QAAQ,EAAC,SAAS,EAClB,QAAQ,EAAC,SAAS,EAClB,CAAC,EAAC,iXAAiX,GAC5W,GACH,EACN,yBAAQ,CAAC,GAAS,IACb,EACN,0BACC,cACC,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,IAAI,EACV,OAAO,EAAC,WAAW,EACnB,MAAM,EAAC,IAAI,EACX,KAAK,EAAG,EAAE,KAAK,EAAE,oBAAoB,EAAE,iBAC3B,MAAM,YAElB,eACC,IAAI,EAAC,oBAAoB,EACzB,QAAQ,EAAC,SAAS,EAClB,QAAQ,EAAC,SAAS,EAClB,CAAC,EAAC,mdAAmd,GAC9c,GACH,EACN,yBAAQ,CAAC,GAAS,IACb,EACN,wBACC,cAAK,IAAI,EAAC,MAAM,EAAC,OAAO,EAAC,WAAW,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,iBAAa,MAAM,YAC7E,eACC,IAAI,EAAC,oBAAoB,EACzB,QAAQ,EAAC,SAAS,EAClB,QAAQ,EAAC,SAAS,EAClB,CAAC,EAAC,wGAAwG,GACnG,GACH,GACD,IACD,CACN,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,20 @@
1
+ @import "../../variables";
2
+
3
+ .bluesky-preview__post-actions {
4
+ margin-top: 0.5rem;
5
+ display: flex;
6
+ justify-content: space-between;
7
+ align-items: center;
8
+
9
+ & > div {
10
+ flex: 1;
11
+ display: flex;
12
+ align-items: center;
13
+ gap: 4px;
14
+ color: rgb(111, 134, 159);
15
+ }
16
+
17
+ svg {
18
+ fill: currentColor;
19
+ }
20
+ }
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { blueskyBody, blueskyUrl } from '../../helpers';
3
+ import './styles.scss';
4
+ const BlueskyPostBody = ({ customText, url, children }) => {
5
+ return (_jsxs("div", { className: "bluesky-preview__body", children: [customText ? (_jsxs(_Fragment, { children: [_jsx("div", { children: blueskyBody(customText) }), _jsx("br", {}), _jsx("a", { href: url, target: "_blank", rel: "noreferrer noopener", children: blueskyUrl(url.replace(/^https?:\/\//, '')) })] })) : null, children] }));
6
+ };
7
+ export default BlueskyPostBody;
8
+ //# sourceMappingURL=index.js.map