@activecollab/components 2.0.408 → 2.0.410

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 (257) hide show
  1. package/dist/cjs/components/BreakPoints.js +12 -1
  2. package/dist/cjs/components/BreakPoints.js.map +1 -1
  3. package/dist/cjs/components/Columns/Columns.js +42 -0
  4. package/dist/cjs/components/Columns/Columns.js.map +1 -0
  5. package/dist/cjs/components/Columns/Styles.js +25 -0
  6. package/dist/cjs/components/Columns/Styles.js.map +1 -0
  7. package/dist/cjs/components/Columns/index.js +17 -0
  8. package/dist/cjs/components/Columns/index.js.map +1 -0
  9. package/dist/cjs/components/Icons/collection/Project.js +98 -0
  10. package/dist/cjs/components/Icons/collection/Project.js.map +1 -0
  11. package/dist/cjs/components/Icons/collection/Task.js +61 -0
  12. package/dist/cjs/components/Icons/collection/Task.js.map +1 -0
  13. package/dist/cjs/components/Icons/collection/index.js +14 -0
  14. package/dist/cjs/components/Icons/collection/index.js.map +1 -1
  15. package/dist/cjs/components/LayoutTokens.js +21 -0
  16. package/dist/cjs/components/LayoutTokens.js.map +1 -0
  17. package/dist/cjs/components/Media/Media.js +39 -0
  18. package/dist/cjs/components/Media/Media.js.map +1 -0
  19. package/dist/cjs/components/Media/Styles.js +18 -0
  20. package/dist/cjs/components/Media/Styles.js.map +1 -0
  21. package/dist/cjs/components/Media/index.js +17 -0
  22. package/dist/cjs/components/Media/index.js.map +1 -0
  23. package/dist/cjs/components/PortableText/PortableText.js +125 -0
  24. package/dist/cjs/components/PortableText/PortableText.js.map +1 -0
  25. package/dist/cjs/components/PortableText/Styles.js +33 -0
  26. package/dist/cjs/components/PortableText/Styles.js.map +1 -0
  27. package/dist/cjs/components/PortableText/index.js +39 -0
  28. package/dist/cjs/components/PortableText/index.js.map +1 -0
  29. package/dist/cjs/components/PortableText/renderers.js +116 -0
  30. package/dist/cjs/components/PortableText/renderers.js.map +1 -0
  31. package/dist/cjs/components/PortableText/types.js +122 -0
  32. package/dist/cjs/components/PortableText/types.js.map +1 -0
  33. package/dist/cjs/components/PortableText/types.test.js +183 -0
  34. package/dist/cjs/components/PortableText/types.test.js.map +1 -0
  35. package/dist/cjs/components/Row/Row.js +30 -0
  36. package/dist/cjs/components/Row/Row.js.map +1 -0
  37. package/dist/cjs/components/Row/Styles.js +25 -0
  38. package/dist/cjs/components/Row/Styles.js.map +1 -0
  39. package/dist/cjs/components/Row/index.js +17 -0
  40. package/dist/cjs/components/Row/index.js.map +1 -0
  41. package/dist/cjs/components/Stack/Stack.js +27 -0
  42. package/dist/cjs/components/Stack/Stack.js.map +1 -0
  43. package/dist/cjs/components/Stack/Styles.js +21 -0
  44. package/dist/cjs/components/Stack/Styles.js.map +1 -0
  45. package/dist/cjs/components/Stack/index.js +17 -0
  46. package/dist/cjs/components/Stack/index.js.map +1 -0
  47. package/dist/cjs/components/Tiles/Styles.js +25 -0
  48. package/dist/cjs/components/Tiles/Styles.js.map +1 -0
  49. package/dist/cjs/components/Tiles/Tiles.js +29 -0
  50. package/dist/cjs/components/Tiles/Tiles.js.map +1 -0
  51. package/dist/cjs/components/Tiles/index.js +17 -0
  52. package/dist/cjs/components/Tiles/index.js.map +1 -0
  53. package/dist/cjs/components/TitledText/Styles.js +15 -0
  54. package/dist/cjs/components/TitledText/Styles.js.map +1 -0
  55. package/dist/cjs/components/TitledText/TitledText.js +50 -0
  56. package/dist/cjs/components/TitledText/TitledText.js.map +1 -0
  57. package/dist/cjs/components/TitledText/index.js +17 -0
  58. package/dist/cjs/components/TitledText/index.js.map +1 -0
  59. package/dist/cjs/components/index.js +88 -0
  60. package/dist/cjs/components/index.js.map +1 -1
  61. package/dist/cjs/presentation/shared/MessageDialog.js +351 -0
  62. package/dist/cjs/presentation/shared/MessageDialog.js.map +1 -0
  63. package/dist/cjs/presentation/shared/index.js +22 -0
  64. package/dist/cjs/presentation/shared/index.js.map +1 -1
  65. package/dist/cjs/presentation/stackedCard/content/NoteCard.js +7 -3
  66. package/dist/cjs/presentation/stackedCard/content/NoteCard.js.map +1 -1
  67. package/dist/cjs/presentation/stackedCard/content/ProjectCard.js +136 -0
  68. package/dist/cjs/presentation/stackedCard/content/ProjectCard.js.map +1 -0
  69. package/dist/cjs/presentation/stackedCard/content/TaskCard.js +183 -56
  70. package/dist/cjs/presentation/stackedCard/content/TaskCard.js.map +1 -1
  71. package/dist/cjs/presentation/stackedCard/content/index.js +11 -0
  72. package/dist/cjs/presentation/stackedCard/content/index.js.map +1 -1
  73. package/dist/cjs/presentation/stackedCard/content/shared.js +66 -19
  74. package/dist/cjs/presentation/stackedCard/content/shared.js.map +1 -1
  75. package/dist/cjs/presentation/whiteboard/bottomDock.js +95 -32
  76. package/dist/cjs/presentation/whiteboard/bottomDock.js.map +1 -1
  77. package/dist/cjs/presentation/whiteboard/canvasElements.js +196 -8
  78. package/dist/cjs/presentation/whiteboard/canvasElements.js.map +1 -1
  79. package/dist/cjs/presentation/whiteboard/inspector.js +149 -47
  80. package/dist/cjs/presentation/whiteboard/inspector.js.map +1 -1
  81. package/dist/cjs/presentation/whiteboard/outline.js +91 -18
  82. package/dist/cjs/presentation/whiteboard/outline.js.map +1 -1
  83. package/dist/cjs/presentation/whiteboard/projectElements.js +883 -0
  84. package/dist/cjs/presentation/whiteboard/projectElements.js.map +1 -0
  85. package/dist/esm/components/BreakPoints.d.ts +2 -0
  86. package/dist/esm/components/BreakPoints.d.ts.map +1 -1
  87. package/dist/esm/components/BreakPoints.js +9 -0
  88. package/dist/esm/components/BreakPoints.js.map +1 -1
  89. package/dist/esm/components/Columns/Columns.d.ts +11 -0
  90. package/dist/esm/components/Columns/Columns.d.ts.map +1 -0
  91. package/dist/esm/components/Columns/Columns.js +34 -0
  92. package/dist/esm/components/Columns/Columns.js.map +1 -0
  93. package/dist/esm/components/Columns/Styles.d.ts +8 -0
  94. package/dist/esm/components/Columns/Styles.d.ts.map +1 -0
  95. package/dist/esm/components/Columns/Styles.js +18 -0
  96. package/dist/esm/components/Columns/Styles.js.map +1 -0
  97. package/dist/esm/components/Columns/index.d.ts +2 -0
  98. package/dist/esm/components/Columns/index.d.ts.map +1 -0
  99. package/dist/esm/components/Columns/index.js +2 -0
  100. package/dist/esm/components/Columns/index.js.map +1 -0
  101. package/dist/esm/components/Icons/collection/Project.d.ts +36 -0
  102. package/dist/esm/components/Icons/collection/Project.d.ts.map +1 -0
  103. package/dist/esm/components/Icons/collection/Project.js +91 -0
  104. package/dist/esm/components/Icons/collection/Project.js.map +1 -0
  105. package/dist/esm/components/Icons/collection/Task.d.ts +32 -0
  106. package/dist/esm/components/Icons/collection/Task.d.ts.map +1 -0
  107. package/dist/esm/components/Icons/collection/Task.js +54 -0
  108. package/dist/esm/components/Icons/collection/Task.js.map +1 -0
  109. package/dist/esm/components/Icons/collection/index.d.ts +2 -0
  110. package/dist/esm/components/Icons/collection/index.d.ts.map +1 -1
  111. package/dist/esm/components/Icons/collection/index.js +2 -0
  112. package/dist/esm/components/Icons/collection/index.js.map +1 -1
  113. package/dist/esm/components/LayoutTokens.d.ts +6 -0
  114. package/dist/esm/components/LayoutTokens.d.ts.map +1 -0
  115. package/dist/esm/components/LayoutTokens.js +15 -0
  116. package/dist/esm/components/LayoutTokens.js.map +1 -0
  117. package/dist/esm/components/Media/Media.d.ts +10 -0
  118. package/dist/esm/components/Media/Media.d.ts.map +1 -0
  119. package/dist/esm/components/Media/Media.js +31 -0
  120. package/dist/esm/components/Media/Media.js.map +1 -0
  121. package/dist/esm/components/Media/Styles.d.ts +4 -0
  122. package/dist/esm/components/Media/Styles.d.ts.map +1 -0
  123. package/dist/esm/components/Media/Styles.js +11 -0
  124. package/dist/esm/components/Media/Styles.js.map +1 -0
  125. package/dist/esm/components/Media/index.d.ts +2 -0
  126. package/dist/esm/components/Media/index.d.ts.map +1 -0
  127. package/dist/esm/components/Media/index.js +2 -0
  128. package/dist/esm/components/Media/index.js.map +1 -0
  129. package/dist/esm/components/PortableText/PortableText.d.ts +24 -0
  130. package/dist/esm/components/PortableText/PortableText.d.ts.map +1 -0
  131. package/dist/esm/components/PortableText/PortableText.js +111 -0
  132. package/dist/esm/components/PortableText/PortableText.js.map +1 -0
  133. package/dist/esm/components/PortableText/Styles.d.ts +9 -0
  134. package/dist/esm/components/PortableText/Styles.d.ts.map +1 -0
  135. package/dist/esm/components/PortableText/Styles.js +27 -0
  136. package/dist/esm/components/PortableText/Styles.js.map +1 -0
  137. package/dist/esm/components/PortableText/index.d.ts +4 -0
  138. package/dist/esm/components/PortableText/index.d.ts.map +1 -0
  139. package/dist/esm/components/PortableText/index.js +4 -0
  140. package/dist/esm/components/PortableText/index.js.map +1 -0
  141. package/dist/esm/components/PortableText/renderers.d.ts +9 -0
  142. package/dist/esm/components/PortableText/renderers.d.ts.map +1 -0
  143. package/dist/esm/components/PortableText/renderers.js +110 -0
  144. package/dist/esm/components/PortableText/renderers.js.map +1 -0
  145. package/dist/esm/components/PortableText/types.d.ts +141 -0
  146. package/dist/esm/components/PortableText/types.d.ts.map +1 -0
  147. package/dist/esm/components/PortableText/types.js +106 -0
  148. package/dist/esm/components/PortableText/types.js.map +1 -0
  149. package/dist/esm/components/PortableText/types.test.d.ts +2 -0
  150. package/dist/esm/components/PortableText/types.test.d.ts.map +1 -0
  151. package/dist/esm/components/PortableText/types.test.js +181 -0
  152. package/dist/esm/components/PortableText/types.test.js.map +1 -0
  153. package/dist/esm/components/Row/Row.d.ts +10 -0
  154. package/dist/esm/components/Row/Row.d.ts.map +1 -0
  155. package/dist/esm/components/Row/Row.js +22 -0
  156. package/dist/esm/components/Row/Row.js.map +1 -0
  157. package/dist/esm/components/Row/Styles.d.ts +8 -0
  158. package/dist/esm/components/Row/Styles.d.ts.map +1 -0
  159. package/dist/esm/components/Row/Styles.js +18 -0
  160. package/dist/esm/components/Row/Styles.js.map +1 -0
  161. package/dist/esm/components/Row/index.d.ts +2 -0
  162. package/dist/esm/components/Row/index.d.ts.map +1 -0
  163. package/dist/esm/components/Row/index.js +2 -0
  164. package/dist/esm/components/Row/index.js.map +1 -0
  165. package/dist/esm/components/Stack/Stack.d.ts +8 -0
  166. package/dist/esm/components/Stack/Stack.d.ts.map +1 -0
  167. package/dist/esm/components/Stack/Stack.js +19 -0
  168. package/dist/esm/components/Stack/Stack.js.map +1 -0
  169. package/dist/esm/components/Stack/Styles.d.ts +6 -0
  170. package/dist/esm/components/Stack/Styles.d.ts.map +1 -0
  171. package/dist/esm/components/Stack/Styles.js +14 -0
  172. package/dist/esm/components/Stack/Styles.js.map +1 -0
  173. package/dist/esm/components/Stack/index.d.ts +2 -0
  174. package/dist/esm/components/Stack/index.d.ts.map +1 -0
  175. package/dist/esm/components/Stack/index.js +2 -0
  176. package/dist/esm/components/Stack/index.js.map +1 -0
  177. package/dist/esm/components/Tiles/Styles.d.ts +8 -0
  178. package/dist/esm/components/Tiles/Styles.d.ts.map +1 -0
  179. package/dist/esm/components/Tiles/Styles.js +18 -0
  180. package/dist/esm/components/Tiles/Styles.js.map +1 -0
  181. package/dist/esm/components/Tiles/Tiles.d.ts +10 -0
  182. package/dist/esm/components/Tiles/Tiles.d.ts.map +1 -0
  183. package/dist/esm/components/Tiles/Tiles.js +21 -0
  184. package/dist/esm/components/Tiles/Tiles.js.map +1 -0
  185. package/dist/esm/components/Tiles/index.d.ts +2 -0
  186. package/dist/esm/components/Tiles/index.d.ts.map +1 -0
  187. package/dist/esm/components/Tiles/index.js +2 -0
  188. package/dist/esm/components/Tiles/index.js.map +1 -0
  189. package/dist/esm/components/TitledText/Styles.d.ts +2 -0
  190. package/dist/esm/components/TitledText/Styles.d.ts.map +1 -0
  191. package/dist/esm/components/TitledText/Styles.js +8 -0
  192. package/dist/esm/components/TitledText/Styles.js.map +1 -0
  193. package/dist/esm/components/TitledText/TitledText.d.ts +18 -0
  194. package/dist/esm/components/TitledText/TitledText.d.ts.map +1 -0
  195. package/dist/esm/components/TitledText/TitledText.js +43 -0
  196. package/dist/esm/components/TitledText/TitledText.js.map +1 -0
  197. package/dist/esm/components/TitledText/index.d.ts +2 -0
  198. package/dist/esm/components/TitledText/index.d.ts.map +1 -0
  199. package/dist/esm/components/TitledText/index.js +2 -0
  200. package/dist/esm/components/TitledText/index.js.map +1 -0
  201. package/dist/esm/components/index.d.ts +8 -0
  202. package/dist/esm/components/index.d.ts.map +1 -1
  203. package/dist/esm/components/index.js +8 -0
  204. package/dist/esm/components/index.js.map +1 -1
  205. package/dist/esm/presentation/shared/MessageDialog.d.ts +35 -0
  206. package/dist/esm/presentation/shared/MessageDialog.d.ts.map +1 -0
  207. package/dist/esm/presentation/shared/MessageDialog.js +331 -0
  208. package/dist/esm/presentation/shared/MessageDialog.js.map +1 -0
  209. package/dist/esm/presentation/shared/index.d.ts +2 -0
  210. package/dist/esm/presentation/shared/index.d.ts.map +1 -1
  211. package/dist/esm/presentation/shared/index.js +1 -0
  212. package/dist/esm/presentation/shared/index.js.map +1 -1
  213. package/dist/esm/presentation/stackedCard/content/NoteCard.d.ts +8 -1
  214. package/dist/esm/presentation/stackedCard/content/NoteCard.d.ts.map +1 -1
  215. package/dist/esm/presentation/stackedCard/content/NoteCard.js +8 -4
  216. package/dist/esm/presentation/stackedCard/content/NoteCard.js.map +1 -1
  217. package/dist/esm/presentation/stackedCard/content/ProjectCard.d.ts +64 -0
  218. package/dist/esm/presentation/stackedCard/content/ProjectCard.d.ts.map +1 -0
  219. package/dist/esm/presentation/stackedCard/content/ProjectCard.js +128 -0
  220. package/dist/esm/presentation/stackedCard/content/ProjectCard.js.map +1 -0
  221. package/dist/esm/presentation/stackedCard/content/TaskCard.d.ts +64 -2
  222. package/dist/esm/presentation/stackedCard/content/TaskCard.d.ts.map +1 -1
  223. package/dist/esm/presentation/stackedCard/content/TaskCard.js +181 -58
  224. package/dist/esm/presentation/stackedCard/content/TaskCard.js.map +1 -1
  225. package/dist/esm/presentation/stackedCard/content/index.d.ts +1 -0
  226. package/dist/esm/presentation/stackedCard/content/index.d.ts.map +1 -1
  227. package/dist/esm/presentation/stackedCard/content/index.js +1 -0
  228. package/dist/esm/presentation/stackedCard/content/index.js.map +1 -1
  229. package/dist/esm/presentation/stackedCard/content/shared.d.ts +30 -0
  230. package/dist/esm/presentation/stackedCard/content/shared.d.ts.map +1 -1
  231. package/dist/esm/presentation/stackedCard/content/shared.js +66 -19
  232. package/dist/esm/presentation/stackedCard/content/shared.js.map +1 -1
  233. package/dist/esm/presentation/whiteboard/bottomDock.d.ts +30 -7
  234. package/dist/esm/presentation/whiteboard/bottomDock.d.ts.map +1 -1
  235. package/dist/esm/presentation/whiteboard/bottomDock.js +79 -32
  236. package/dist/esm/presentation/whiteboard/bottomDock.js.map +1 -1
  237. package/dist/esm/presentation/whiteboard/canvasElements.d.ts +4 -1
  238. package/dist/esm/presentation/whiteboard/canvasElements.d.ts.map +1 -1
  239. package/dist/esm/presentation/whiteboard/canvasElements.js +158 -7
  240. package/dist/esm/presentation/whiteboard/canvasElements.js.map +1 -1
  241. package/dist/esm/presentation/whiteboard/inspector.d.ts +35 -1
  242. package/dist/esm/presentation/whiteboard/inspector.d.ts.map +1 -1
  243. package/dist/esm/presentation/whiteboard/inspector.js +170 -68
  244. package/dist/esm/presentation/whiteboard/inspector.js.map +1 -1
  245. package/dist/esm/presentation/whiteboard/outline.d.ts +23 -3
  246. package/dist/esm/presentation/whiteboard/outline.d.ts.map +1 -1
  247. package/dist/esm/presentation/whiteboard/outline.js +89 -18
  248. package/dist/esm/presentation/whiteboard/outline.js.map +1 -1
  249. package/dist/esm/presentation/whiteboard/projectElements.d.ts +267 -0
  250. package/dist/esm/presentation/whiteboard/projectElements.d.ts.map +1 -0
  251. package/dist/esm/presentation/whiteboard/projectElements.js +824 -0
  252. package/dist/esm/presentation/whiteboard/projectElements.js.map +1 -0
  253. package/dist/index.js +1490 -738
  254. package/dist/index.js.map +1 -1
  255. package/dist/index.min.js +1 -1
  256. package/dist/index.min.js.map +1 -1
  257. package/package.json +1 -1
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Media = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _Styles = require("./Styles");
9
+ var _Typography = require("../Typography");
10
+ var _excluded = ["src", "alt", "variant", "caption"];
11
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
12
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
13
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
14
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
15
+ /**
16
+ * An image block: a screenshot renders framed (border, no shadow), a flat
17
+ * illustration renders without a frame. The caption sits below the frame.
18
+ */
19
+ var Media = exports.Media = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
20
+ var src = _ref.src,
21
+ alt = _ref.alt,
22
+ _ref$variant = _ref.variant,
23
+ variant = _ref$variant === void 0 ? "illustration" : _ref$variant,
24
+ caption = _ref.caption,
25
+ rest = _objectWithoutProperties(_ref, _excluded);
26
+ return /*#__PURE__*/_react.default.createElement(_Styles.StyledMedia, _extends({
27
+ ref: ref,
28
+ $bordered: variant === "screenshot"
29
+ }, rest), /*#__PURE__*/_react.default.createElement("div", {
30
+ className: "c-media-frame"
31
+ }, /*#__PURE__*/_react.default.createElement("img", {
32
+ src: src,
33
+ alt: alt !== null && alt !== void 0 ? alt : ""
34
+ })), caption ? /*#__PURE__*/_react.default.createElement(_Typography.Caption1, {
35
+ color: "secondary"
36
+ }, caption) : null);
37
+ });
38
+ Media.displayName = "Media";
39
+ //# sourceMappingURL=Media.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Media.js","names":["_react","_interopRequireWildcard","require","_Styles","_Typography","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","_objectWithoutProperties","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","Media","exports","forwardRef","_ref","ref","src","alt","_ref$variant","variant","caption","rest","createElement","StyledMedia","$bordered","className","Caption1","color","displayName"],"sources":["../../../../src/components/Media/Media.tsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\n\nimport { StyledMedia } from \"./Styles\";\nimport { PortableTextMediaBlock } from \"../PortableText/types\";\nimport { Caption1 } from \"../Typography\";\n\nexport interface IMediaProps\n extends Omit<PortableTextMediaBlock, \"type\">,\n React.ComponentPropsWithoutRef<\"div\"> {}\n\n/**\n * An image block: a screenshot renders framed (border, no shadow), a flat\n * illustration renders without a frame. The caption sits below the frame.\n */\nexport const Media = forwardRef<HTMLDivElement, IMediaProps>(\n ({ src, alt, variant = \"illustration\", caption, ...rest }, ref) => (\n <StyledMedia ref={ref} $bordered={variant === \"screenshot\"} {...rest}>\n <div className=\"c-media-frame\">\n <img src={src} alt={alt ?? \"\"} />\n </div>\n {caption ? <Caption1 color=\"secondary\">{caption}</Caption1> : null}\n </StyledMedia>\n )\n);\n\nMedia.displayName = \"Media\";\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,OAAA,GAAAD,OAAA;AAEA,IAAAE,WAAA,GAAAF,OAAA;AAAyC,IAAAG,SAAA;AAAA,SAAAJ,wBAAAK,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAP,uBAAA,YAAAA,wBAAAK,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,cAAAM,EAAA,IAAAd,CAAA,gBAAAc,EAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,EAAA,OAAAP,CAAA,IAAAD,CAAA,GAAAW,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAnB,CAAA,EAAAc,EAAA,OAAAP,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAM,EAAA,EAAAP,CAAA,IAAAC,CAAA,CAAAM,EAAA,IAAAd,CAAA,CAAAc,EAAA,WAAAN,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAAA,SAAAmB,SAAA,WAAAA,QAAA,GAAAH,MAAA,CAAAI,MAAA,GAAAJ,MAAA,CAAAI,MAAA,CAAAC,IAAA,eAAAlB,CAAA,aAAAJ,CAAA,MAAAA,CAAA,GAAAuB,SAAA,CAAAC,MAAA,EAAAxB,CAAA,UAAAC,CAAA,GAAAsB,SAAA,CAAAvB,CAAA,YAAAG,CAAA,IAAAF,CAAA,OAAAc,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAE,CAAA,MAAAC,CAAA,CAAAD,CAAA,IAAAF,CAAA,CAAAE,CAAA,aAAAC,CAAA,KAAAgB,QAAA,CAAAK,KAAA,OAAAF,SAAA;AAAA,SAAAG,yBAAA1B,CAAA,EAAAC,CAAA,gBAAAD,CAAA,iBAAAM,CAAA,EAAAH,CAAA,EAAAI,CAAA,GAAAoB,6BAAA,CAAA3B,CAAA,EAAAC,CAAA,OAAAgB,MAAA,CAAAW,qBAAA,QAAAxB,CAAA,GAAAa,MAAA,CAAAW,qBAAA,CAAA5B,CAAA,QAAAG,CAAA,MAAAA,CAAA,GAAAC,CAAA,CAAAoB,MAAA,EAAArB,CAAA,IAAAG,CAAA,GAAAF,CAAA,CAAAD,CAAA,UAAAF,CAAA,CAAA4B,OAAA,CAAAvB,CAAA,QAAAwB,oBAAA,CAAAd,IAAA,CAAAhB,CAAA,EAAAM,CAAA,MAAAC,CAAA,CAAAD,CAAA,IAAAN,CAAA,CAAAM,CAAA,aAAAC,CAAA;AAAA,SAAAoB,8BAAAxB,CAAA,EAAAH,CAAA,gBAAAG,CAAA,iBAAAF,CAAA,gBAAAG,CAAA,IAAAD,CAAA,SAAAY,cAAA,CAAAC,IAAA,CAAAb,CAAA,EAAAC,CAAA,gBAAAJ,CAAA,CAAA6B,OAAA,CAAAzB,CAAA,aAAAH,CAAA,CAAAG,CAAA,IAAAD,CAAA,CAAAC,CAAA,YAAAH,CAAA;AAMzC;AACA;AACA;AACA;AACO,IAAM8B,KAAK,GAAAC,OAAA,CAAAD,KAAA,gBAAG,IAAAE,iBAAU,EAC7B,UAAAC,IAAA,EAA2DC,GAAG;EAAA,IAA3DC,GAAG,GAAAF,IAAA,CAAHE,GAAG;IAAEC,GAAG,GAAAH,IAAA,CAAHG,GAAG;IAAAC,YAAA,GAAAJ,IAAA,CAAEK,OAAO;IAAPA,OAAO,GAAAD,YAAA,cAAG,cAAc,GAAAA,YAAA;IAAEE,OAAO,GAAAN,IAAA,CAAPM,OAAO;IAAKC,IAAI,GAAAf,wBAAA,CAAAQ,IAAA,EAAAnC,SAAA;EAAA,oBACrDL,MAAA,CAAAgB,OAAA,CAAAgC,aAAA,CAAC7C,OAAA,CAAA8C,WAAW,EAAAvB,QAAA;IAACe,GAAG,EAAEA,GAAI;IAACS,SAAS,EAAEL,OAAO,KAAK;EAAa,GAAKE,IAAI,gBAClE/C,MAAA,CAAAgB,OAAA,CAAAgC,aAAA;IAAKG,SAAS,EAAC;EAAe,gBAC5BnD,MAAA,CAAAgB,OAAA,CAAAgC,aAAA;IAAKN,GAAG,EAAEA,GAAI;IAACC,GAAG,EAAEA,GAAG,aAAHA,GAAG,cAAHA,GAAG,GAAI;EAAG,CAAE,CAC7B,CAAC,EACLG,OAAO,gBAAG9C,MAAA,CAAAgB,OAAA,CAAAgC,aAAA,CAAC5C,WAAA,CAAAgD,QAAQ;IAACC,KAAK,EAAC;EAAW,GAAEP,OAAkB,CAAC,GAAG,IACnD,CAAC;AAAA,CAElB,CAAC;AAEDT,KAAK,CAACiB,WAAW,GAAG,OAAO","ignoreList":[]}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.StyledMedia = void 0;
7
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
8
+ var _LayoutTokens = require("../LayoutTokens");
9
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
10
+ var StyledMedia = exports.StyledMedia = _styledComponents.default.div.withConfig({
11
+ displayName: "Styles__StyledMedia",
12
+ componentId: "sc-zjz7mh-0"
13
+ })(["display:flex;flex-direction:column;gap:", ";width:100%;.c-media-frame{", "}.c-media-frame img{display:block;width:100%;height:auto;}"], _LayoutTokens.SPACE.sm, function (_ref) {
14
+ var $bordered = _ref.$bordered;
15
+ return $bordered && (0, _styledComponents.css)(["overflow:hidden;border:1px solid var(--border-primary);border-radius:", ";"], "0.5rem");
16
+ });
17
+ StyledMedia.displayName = "StyledMedia";
18
+ //# sourceMappingURL=Styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Styles.js","names":["_styledComponents","_interopRequireWildcard","require","_LayoutTokens","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","StyledMedia","exports","styled","div","withConfig","displayName","componentId","SPACE","sm","_ref","$bordered","css"],"sources":["../../../../src/components/Media/Styles.ts"],"sourcesContent":["import styled, { css } from \"styled-components\";\nimport { theme } from \"twin.macro\";\n\nimport { SPACE } from \"../LayoutTokens\";\n\nexport const StyledMedia = styled.div<{ $bordered: boolean }>`\n display: flex;\n flex-direction: column;\n gap: ${SPACE.sm};\n width: 100%;\n\n .c-media-frame {\n ${({ $bordered }) =>\n $bordered &&\n css`\n overflow: hidden;\n border: 1px solid var(--border-primary);\n border-radius: ${theme(\"borderRadius.lg\")};\n `}\n }\n\n .c-media-frame img {\n display: block;\n width: 100%;\n height: auto;\n }\n`;\n\nStyledMedia.displayName = \"StyledMedia\";\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,uBAAA,CAAAC,OAAA;AAGA,IAAAC,aAAA,GAAAD,OAAA;AAAwC,SAAAD,wBAAAG,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAL,uBAAA,YAAAA,wBAAAG,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,cAAAM,EAAA,IAAAd,CAAA,gBAAAc,EAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,EAAA,OAAAP,CAAA,IAAAD,CAAA,GAAAW,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAnB,CAAA,EAAAc,EAAA,OAAAP,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAM,EAAA,EAAAP,CAAA,IAAAC,CAAA,CAAAM,EAAA,IAAAd,CAAA,CAAAc,EAAA,WAAAN,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAEjC,IAAMmB,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAGE,yBAAM,CAACC,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,6IAG5BC,mBAAK,CAACC,EAAE,EAIX,UAAAC,IAAA;EAAA,IAAGC,SAAS,GAAAD,IAAA,CAATC,SAAS;EAAA,OACZA,SAAS,QACTC,qBAAG,kFAGgB,QAAwB,CAC1C;AAAA,EAQN;AAEDX,WAAW,CAACK,WAAW,GAAG,aAAa","ignoreList":[]}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _Media = require("./Media");
7
+ Object.keys(_Media).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _Media[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function get() {
13
+ return _Media[key];
14
+ }
15
+ });
16
+ });
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_Media","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["../../../../src/components/Media/index.ts"],"sourcesContent":["export * from \"./Media\";\n"],"mappings":";;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,MAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,MAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAT,MAAA,CAAAK,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.PortableText = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _renderers = require("./renderers");
9
+ var _types = require("./types");
10
+ var _Stack = require("../Stack");
11
+ var _excluded = ["content", "components", "space"];
12
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
13
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
14
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
15
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
16
+ var defaultUnknownTypeHandler = function defaultUnknownTypeHandler(kind, type) {
17
+ console.warn("PortableText: no renderer for ".concat(kind, " type \"").concat(type, "\"."));
18
+ };
19
+
20
+ /**
21
+ * A span's marks wrap its text inside out. An unknown mark is reported and
22
+ * skipped — the text stays, because dropping a word would break the sentence.
23
+ */
24
+ var renderSpan = function renderSpan(span, ctx) {
25
+ var _span$marks;
26
+ return ((_span$marks = span.marks) !== null && _span$marks !== void 0 ? _span$marks : []).reduce(function (children, mark) {
27
+ var _ctx$components$marks, _ctx$components;
28
+ var type = typeof mark === "string" ? mark : mark.type;
29
+ var Renderer = (_ctx$components$marks = (_ctx$components = ctx.components) === null || _ctx$components === void 0 || (_ctx$components = _ctx$components.marks) === null || _ctx$components === void 0 ? void 0 : _ctx$components[type]) !== null && _ctx$components$marks !== void 0 ? _ctx$components$marks : _renderers.portableTextDefaultMarkRenderers[type];
30
+ if (!Renderer) {
31
+ ctx.report("mark", type);
32
+ return children;
33
+ }
34
+ return /*#__PURE__*/_react.default.createElement(Renderer, {
35
+ mark: typeof mark === "string" ? undefined : mark
36
+ }, children);
37
+ }, span.text);
38
+ };
39
+
40
+ /**
41
+ * Traversal is structural, so the walker keeps no list of block types of its
42
+ * own: a `children` array holds spans or nested blocks, a nested `content`
43
+ * holds a node list, and anything else has no children to render.
44
+ */
45
+ var renderBlockChildren = function renderBlockChildren(block, ctx) {
46
+ var _ref = block,
47
+ children = _ref.children,
48
+ content = _ref.content;
49
+ if (Array.isArray(children)) {
50
+ return children.map(function (child, index) {
51
+ return /*#__PURE__*/_react.default.createElement(_react.Fragment, {
52
+ key: index
53
+ }, (0, _types.isPortableTextSpan)(child) ? renderSpan(child, ctx) : (0, _types.isPortableTextBlock)(child) ? renderBlock(child, ctx) : null);
54
+ });
55
+ }
56
+ return (0, _types.isPortableTextContent)(content) ? renderNodes(content, ctx) : undefined;
57
+ };
58
+ var renderBlock = function renderBlock(block, ctx) {
59
+ var _ctx$components$block, _ctx$components2;
60
+ var type = block.type;
61
+ var Renderer = (_ctx$components$block = (_ctx$components2 = ctx.components) === null || _ctx$components2 === void 0 || (_ctx$components2 = _ctx$components2.blocks) === null || _ctx$components2 === void 0 ? void 0 : _ctx$components2[type]) !== null && _ctx$components$block !== void 0 ? _ctx$components$block : _renderers.portableTextDefaultBlockRenderers[type];
62
+ if (!Renderer) {
63
+ ctx.report("block", block.type);
64
+ return null;
65
+ }
66
+ return /*#__PURE__*/_react.default.createElement(Renderer, {
67
+ block: block
68
+ }, renderBlockChildren(block, ctx));
69
+ };
70
+ var renderObject = function renderObject(node, ctx) {
71
+ var _ctx$components3;
72
+ var Renderer = (_ctx$components3 = ctx.components) === null || _ctx$components3 === void 0 || (_ctx$components3 = _ctx$components3.objects) === null || _ctx$components3 === void 0 ? void 0 : _ctx$components3[node._type];
73
+ if (!Renderer) {
74
+ ctx.report("object", node._type);
75
+ return null;
76
+ }
77
+ return /*#__PURE__*/_react.default.createElement(Renderer, {
78
+ node: node
79
+ }, (0, _types.isPortableTextContent)(node.content) ? renderNodes(node.content, ctx) : undefined);
80
+ };
81
+ var renderNodes = function renderNodes(nodes, ctx) {
82
+ return nodes.map(function (node, index) {
83
+ return /*#__PURE__*/_react.default.createElement(_react.Fragment, {
84
+ key: index
85
+ }, (0, _types.isPortableTextObjectNode)(node) ? renderObject(node, ctx) : renderBlock(node, ctx));
86
+ });
87
+ };
88
+
89
+ /**
90
+ * The Portable Text engine: walks a {@link PortableTextContent} envelope and
91
+ * renders it with the default renderers for the universal set, plus whatever
92
+ * the application injects through `components`. The engine itself is hollow —
93
+ * it knows no product element; an unknown block or object renders nothing and
94
+ * is reported once per type through `onUnknownType` (console.warn when the
95
+ * hook is absent).
96
+ */
97
+ var PortableText = exports.PortableText = /*#__PURE__*/(0, _react.forwardRef)(function (_ref2, ref) {
98
+ var content = _ref2.content,
99
+ components = _ref2.components,
100
+ _ref2$space = _ref2.space,
101
+ space = _ref2$space === void 0 ? "md" : _ref2$space,
102
+ rest = _objectWithoutProperties(_ref2, _excluded);
103
+ // Memoized so unknown types are reported once per type for a given
104
+ // content/components pair, not again on every parent re-render.
105
+ var nodes = (0, _react.useMemo)(function () {
106
+ var reported = new Set();
107
+ var report = function report(kind, type) {
108
+ var _components$onUnknown;
109
+ var key = "".concat(kind, ":").concat(type);
110
+ if (reported.has(key)) return;
111
+ reported.add(key);
112
+ ((_components$onUnknown = components === null || components === void 0 ? void 0 : components.onUnknownType) !== null && _components$onUnknown !== void 0 ? _components$onUnknown : defaultUnknownTypeHandler)(kind, type);
113
+ };
114
+ return renderNodes(content, {
115
+ components,
116
+ report
117
+ });
118
+ }, [content, components]);
119
+ return /*#__PURE__*/_react.default.createElement(_Stack.Stack, _extends({
120
+ ref: ref,
121
+ space: space
122
+ }, rest), nodes);
123
+ });
124
+ PortableText.displayName = "PortableText";
125
+ //# sourceMappingURL=PortableText.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PortableText.js","names":["_react","_interopRequireWildcard","require","_renderers","_types","_Stack","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","_objectWithoutProperties","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","defaultUnknownTypeHandler","kind","type","console","warn","concat","renderSpan","span","ctx","_span$marks","marks","reduce","children","mark","_ctx$components$marks","_ctx$components","Renderer","components","portableTextDefaultMarkRenderers","report","createElement","undefined","text","renderBlockChildren","block","_ref","content","Array","isArray","map","child","index","Fragment","key","isPortableTextSpan","isPortableTextBlock","renderBlock","isPortableTextContent","renderNodes","_ctx$components$block","_ctx$components2","blocks","portableTextDefaultBlockRenderers","renderObject","node","_ctx$components3","objects","_type","nodes","isPortableTextObjectNode","PortableText","exports","forwardRef","_ref2","ref","_ref2$space","space","rest","useMemo","reported","Set","_components$onUnknown","add","onUnknownType","Stack","displayName"],"sources":["../../../../src/components/PortableText/PortableText.tsx"],"sourcesContent":["import React, { Fragment, ReactNode, forwardRef, useMemo } from \"react\";\n\nimport {\n portableTextDefaultBlockRenderers,\n portableTextDefaultMarkRenderers,\n} from \"./renderers\";\nimport {\n isPortableTextBlock,\n isPortableTextContent,\n isPortableTextObjectNode,\n isPortableTextSpan,\n PortableTextBlock,\n PortableTextComponents,\n PortableTextContent,\n PortableTextDefaultBlockType,\n PortableTextDefaultMark,\n PortableTextListItemBlock,\n PortableTextObjectNode,\n PortableTextSpan,\n PortableTextUnknownTypeHandler,\n} from \"./types\";\nimport { Space } from \"../LayoutTokens\";\nimport { Stack } from \"../Stack\";\n\nexport interface IPortableTextProps\n extends Omit<React.ComponentPropsWithoutRef<\"div\">, \"content\"> {\n /** The message body: the node list an API returns under `content`. */\n content: PortableTextContent;\n /**\n * Application-injected renderers: catalog marks and objects, optional\n * default-block overrides, and the unknown-type hook. See README.md.\n */\n components?: PortableTextComponents;\n /** Vertical rhythm between top-level nodes. */\n space?: Space;\n}\n\ninterface IWalkContext {\n components?: PortableTextComponents;\n report: PortableTextUnknownTypeHandler;\n}\n\nconst defaultUnknownTypeHandler: PortableTextUnknownTypeHandler = (\n kind,\n type\n) => {\n console.warn(`PortableText: no renderer for ${kind} type \"${type}\".`);\n};\n\n/**\n * A span's marks wrap its text inside out. An unknown mark is reported and\n * skipped — the text stays, because dropping a word would break the sentence.\n */\nconst renderSpan = (span: PortableTextSpan, ctx: IWalkContext): ReactNode =>\n (span.marks ?? []).reduce<ReactNode>((children, mark) => {\n const type = typeof mark === \"string\" ? mark : mark.type;\n const Renderer =\n ctx.components?.marks?.[type] ??\n portableTextDefaultMarkRenderers[type as PortableTextDefaultMark];\n\n if (!Renderer) {\n ctx.report(\"mark\", type);\n return children;\n }\n\n return (\n <Renderer mark={typeof mark === \"string\" ? undefined : mark}>\n {children}\n </Renderer>\n );\n }, span.text);\n\n/**\n * Traversal is structural, so the walker keeps no list of block types of its\n * own: a `children` array holds spans or nested blocks, a nested `content`\n * holds a node list, and anything else has no children to render.\n */\nconst renderBlockChildren = (\n block: PortableTextBlock | PortableTextListItemBlock,\n ctx: IWalkContext\n): ReactNode => {\n const { children, content } = block as {\n children?: unknown;\n content?: unknown;\n };\n\n if (Array.isArray(children)) {\n return children.map((child, index) => (\n <Fragment key={index}>\n {isPortableTextSpan(child)\n ? renderSpan(child, ctx)\n : isPortableTextBlock(child)\n ? renderBlock(child, ctx)\n : null}\n </Fragment>\n ));\n }\n\n return isPortableTextContent(content) ? renderNodes(content, ctx) : undefined;\n};\n\nconst renderBlock = (\n block: PortableTextBlock | PortableTextListItemBlock,\n ctx: IWalkContext\n): ReactNode => {\n const type = block.type as PortableTextDefaultBlockType;\n const Renderer =\n ctx.components?.blocks?.[type] ?? portableTextDefaultBlockRenderers[type];\n\n if (!Renderer) {\n ctx.report(\"block\", block.type);\n return null;\n }\n\n return (\n <Renderer block={block as PortableTextBlock}>\n {renderBlockChildren(block, ctx)}\n </Renderer>\n );\n};\n\nconst renderObject = (\n node: PortableTextObjectNode,\n ctx: IWalkContext\n): ReactNode => {\n const Renderer = ctx.components?.objects?.[node._type];\n\n if (!Renderer) {\n ctx.report(\"object\", node._type);\n return null;\n }\n\n return (\n <Renderer node={node}>\n {isPortableTextContent(node.content)\n ? renderNodes(node.content, ctx)\n : undefined}\n </Renderer>\n );\n};\n\nconst renderNodes = (\n nodes: PortableTextContent,\n ctx: IWalkContext\n): ReactNode =>\n nodes.map((node, index) => (\n <Fragment key={index}>\n {isPortableTextObjectNode(node)\n ? renderObject(node, ctx)\n : renderBlock(node, ctx)}\n </Fragment>\n ));\n\n/**\n * The Portable Text engine: walks a {@link PortableTextContent} envelope and\n * renders it with the default renderers for the universal set, plus whatever\n * the application injects through `components`. The engine itself is hollow —\n * it knows no product element; an unknown block or object renders nothing and\n * is reported once per type through `onUnknownType` (console.warn when the\n * hook is absent).\n */\nexport const PortableText = forwardRef<HTMLDivElement, IPortableTextProps>(\n ({ content, components, space = \"md\", ...rest }, ref) => {\n // Memoized so unknown types are reported once per type for a given\n // content/components pair, not again on every parent re-render.\n const nodes = useMemo(() => {\n const reported = new Set<string>();\n const report: PortableTextUnknownTypeHandler = (kind, type) => {\n const key = `${kind}:${type}`;\n if (reported.has(key)) return;\n reported.add(key);\n (components?.onUnknownType ?? defaultUnknownTypeHandler)(kind, type);\n };\n\n return renderNodes(content, { components, report });\n }, [content, components]);\n\n return (\n <Stack ref={ref} space={space} {...rest}>\n {nodes}\n </Stack>\n );\n }\n);\n\nPortableText.displayName = \"PortableText\";\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.StyledList = exports.StyledLink = exports.StyledCode = void 0;
7
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
8
+ var _LayoutTokens = require("../LayoutTokens");
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
+ /** The default `code` mark: a quiet inline chip that keeps the line intact. */
11
+ var StyledCode = exports.StyledCode = _styledComponents.default.code.withConfig({
12
+ displayName: "Styles__StyledCode",
13
+ componentId: "sc-1fss4z4-0"
14
+ })(["padding:0 ", ";border-radius:", ";background-color:var(--color-theme-300);font-family:\"SFMono-Regular\",Menlo,Consolas,\"Liberation Mono\",monospace;font-size:0.85em;"], "0.25rem", "0.25rem");
15
+ StyledCode.displayName = "StyledCode";
16
+
17
+ /** The default `link` mark: an inline text link inside flowing content. */
18
+ var StyledLink = exports.StyledLink = _styledComponents.default.a.withConfig({
19
+ displayName: "Styles__StyledLink",
20
+ componentId: "sc-1fss4z4-1"
21
+ })(["color:var(--color-primary);text-decoration:underline var(--color-primary);text-underline-offset:3px;&:hover{text-decoration:none;}"]);
22
+ StyledLink.displayName = "StyledLink";
23
+
24
+ /** The default `list` block; rendered as ul or ol through the `as` prop. */
25
+ var StyledList = exports.StyledList = _styledComponents.default.ul.withConfig({
26
+ displayName: "Styles__StyledList",
27
+ componentId: "sc-1fss4z4-2"
28
+ })(["margin:0;padding-left:", ";list-style:", " outside;li + li{margin-top:", ";}"], "1.25rem", function (_ref) {
29
+ var $ordered = _ref.$ordered;
30
+ return $ordered ? "decimal" : "disc";
31
+ }, _LayoutTokens.SPACE.xs);
32
+ StyledList.displayName = "StyledList";
33
+ //# sourceMappingURL=Styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Styles.js","names":["_styledComponents","_interopRequireDefault","require","_LayoutTokens","e","__esModule","default","StyledCode","exports","styled","code","withConfig","displayName","componentId","StyledLink","a","StyledList","ul","_ref","$ordered","SPACE","xs"],"sources":["../../../../src/components/PortableText/Styles.ts"],"sourcesContent":["import styled from \"styled-components\";\nimport { theme } from \"twin.macro\";\n\nimport { SPACE } from \"../LayoutTokens\";\n\n/** The default `code` mark: a quiet inline chip that keeps the line intact. */\nexport const StyledCode = styled.code`\n padding: 0 ${theme(\"spacing.1\")};\n border-radius: ${theme(\"borderRadius.DEFAULT\")};\n background-color: var(--color-theme-300);\n font-family: \"SFMono-Regular\", Menlo, Consolas, \"Liberation Mono\", monospace;\n font-size: 0.85em;\n`;\n\nStyledCode.displayName = \"StyledCode\";\n\n/** The default `link` mark: an inline text link inside flowing content. */\nexport const StyledLink = styled.a`\n color: var(--color-primary);\n text-decoration: underline var(--color-primary);\n text-underline-offset: 3px;\n\n &:hover {\n text-decoration: none;\n }\n`;\n\nStyledLink.displayName = \"StyledLink\";\n\n/** The default `list` block; rendered as ul or ol through the `as` prop. */\nexport const StyledList = styled.ul<{ $ordered: boolean }>`\n margin: 0;\n padding-left: ${theme(\"spacing.5\")};\n list-style: ${({ $ordered }) => ($ordered ? \"decimal\" : \"disc\")} outside;\n\n li + li {\n margin-top: ${SPACE.xs};\n }\n`;\n\nStyledList.displayName = \"StyledList\";\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAGA,IAAAC,aAAA,GAAAD,OAAA;AAAwC,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAExC;AACO,IAAMG,UAAU,GAAAC,OAAA,CAAAD,UAAA,GAAGE,yBAAM,CAACC,IAAI,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,gLACtB,SAAkB,EACd,SAA6B,CAI/C;AAEDN,UAAU,CAACK,WAAW,GAAG,YAAY;;AAErC;AACO,IAAME,UAAU,GAAAN,OAAA,CAAAM,UAAA,GAAGL,yBAAM,CAACM,CAAC,CAAAJ,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,0IAQjC;AAEDC,UAAU,CAACF,WAAW,GAAG,YAAY;;AAErC;AACO,IAAMI,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAGP,yBAAM,CAACQ,EAAE,CAAAN,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,qFAEjB,SAAkB,EACpB,UAAAK,IAAA;EAAA,IAAGC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;EAAA,OAAQA,QAAQ,GAAG,SAAS,GAAG,MAAM;AAAA,CAAC,EAG/CC,mBAAK,CAACC,EAAE,CAEzB;AAEDL,UAAU,CAACJ,WAAW,GAAG,YAAY","ignoreList":[]}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _PortableText = require("./PortableText");
7
+ Object.keys(_PortableText).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _PortableText[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function get() {
13
+ return _PortableText[key];
14
+ }
15
+ });
16
+ });
17
+ var _renderers = require("./renderers");
18
+ Object.keys(_renderers).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _renderers[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function get() {
24
+ return _renderers[key];
25
+ }
26
+ });
27
+ });
28
+ var _types = require("./types");
29
+ Object.keys(_types).forEach(function (key) {
30
+ if (key === "default" || key === "__esModule") return;
31
+ if (key in exports && exports[key] === _types[key]) return;
32
+ Object.defineProperty(exports, key, {
33
+ enumerable: true,
34
+ get: function get() {
35
+ return _types[key];
36
+ }
37
+ });
38
+ });
39
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_PortableText","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_renderers","_types"],"sources":["../../../../src/components/PortableText/index.ts"],"sourcesContent":["export * from \"./PortableText\";\nexport * from \"./renderers\";\nexport * from \"./types\";\n"],"mappings":";;;;;AAAA,IAAAA,aAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,aAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,aAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAT,aAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,UAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,UAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,UAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAC,UAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,MAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,MAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,MAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAE,MAAA,CAAAN,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.portableTextDefaultMarkRenderers = exports.portableTextDefaultBlockRenderers = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _Styles = require("./Styles");
9
+ var _Media = require("../Media");
10
+ var _TitledText = require("../TitledText");
11
+ var _Typography = require("../Typography");
12
+ var _Typography2 = require("../Typography/Typography");
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
+ /**
15
+ * The default renderers for the universal set — everything a client renders
16
+ * without injection, and nothing more: no product element ever lands here.
17
+ * Injected {@link PortableTextComponents} maps take precedence entry by entry.
18
+ */
19
+
20
+ var portableTextDefaultMarkRenderers = exports.portableTextDefaultMarkRenderers = {
21
+ strong: function strong(_ref) {
22
+ var children = _ref.children;
23
+ return /*#__PURE__*/_react.default.createElement("strong", null, children);
24
+ },
25
+ em: function em(_ref2) {
26
+ var children = _ref2.children;
27
+ return /*#__PURE__*/_react.default.createElement("em", null, children);
28
+ },
29
+ code: function code(_ref3) {
30
+ var children = _ref3.children;
31
+ return /*#__PURE__*/_react.default.createElement(_Styles.StyledCode, null, children);
32
+ },
33
+ link: function link(_ref4) {
34
+ var mark = _ref4.mark,
35
+ children = _ref4.children;
36
+ var href = mark === null || mark === void 0 ? void 0 : mark.href;
37
+
38
+ // A link mark without an href (authored as a plain string) has nowhere
39
+ // to go — keep the text, skip the anchor.
40
+ if (!href) {
41
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, children);
42
+ }
43
+ return /*#__PURE__*/_react.default.createElement(_Styles.StyledLink, {
44
+ href: href,
45
+ target: "_blank",
46
+ rel: "noopener noreferrer"
47
+ }, children);
48
+ }
49
+ };
50
+
51
+ /** The semantic wire levels resolve to typography only here, in the renderer. */
52
+ var HEADING_LEVEL_VARIANTS = {
53
+ 1: "title1",
54
+ 2: "title2",
55
+ 3: "header2"
56
+ };
57
+
58
+ /** Heading levels map to the same typography TitledText uses. */
59
+ var HeadingBlock = function HeadingBlock(_ref5) {
60
+ var _HEADING_LEVEL_VARIAN;
61
+ var block = _ref5.block,
62
+ children = _ref5.children;
63
+ var _ref6 = block,
64
+ level = _ref6.level;
65
+ var Heading = _TitledText.titledTextHeadings[(_HEADING_LEVEL_VARIAN = HEADING_LEVEL_VARIANTS[level]) !== null && _HEADING_LEVEL_VARIAN !== void 0 ? _HEADING_LEVEL_VARIAN : "header2"];
66
+ return /*#__PURE__*/_react.default.createElement(Heading, null, children);
67
+ };
68
+ var portableTextDefaultBlockRenderers = exports.portableTextDefaultBlockRenderers = {
69
+ paragraph: function paragraph(_ref7) {
70
+ var children = _ref7.children;
71
+ return /*#__PURE__*/_react.default.createElement(_Typography.Body1, null, children);
72
+ },
73
+ heading: HeadingBlock,
74
+ list: function list(_ref8) {
75
+ var block = _ref8.block,
76
+ children = _ref8.children;
77
+ var ordered = block.style === "number";
78
+ return /*#__PURE__*/_react.default.createElement(_Styles.StyledList, {
79
+ as: ordered ? "ol" : "ul",
80
+ $ordered: ordered
81
+ }, children);
82
+ },
83
+ "list-item": function listItem(_ref9) {
84
+ var children = _ref9.children;
85
+ return /*#__PURE__*/_react.default.createElement(_Typography2.Typography, {
86
+ variant: "Body 1",
87
+ as: "li"
88
+ }, children);
89
+ },
90
+ media: function media(_ref0) {
91
+ var block = _ref0.block;
92
+ var _ref1 = block,
93
+ src = _ref1.src,
94
+ alt = _ref1.alt,
95
+ variant = _ref1.variant,
96
+ caption = _ref1.caption;
97
+ return /*#__PURE__*/_react.default.createElement(_Media.Media, {
98
+ src: src,
99
+ alt: alt,
100
+ variant: variant,
101
+ caption: caption
102
+ });
103
+ },
104
+ "titled-text": function titledText(_ref10) {
105
+ var block = _ref10.block,
106
+ children = _ref10.children;
107
+ var _ref11 = block,
108
+ title = _ref11.title,
109
+ level = _ref11.level;
110
+ return /*#__PURE__*/_react.default.createElement(_TitledText.TitledText, {
111
+ title: title,
112
+ variant: HEADING_LEVEL_VARIANTS[level !== null && level !== void 0 ? level : 3]
113
+ }, children);
114
+ }
115
+ };
116
+ //# sourceMappingURL=renderers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderers.js","names":["_react","_interopRequireDefault","require","_Styles","_Media","_TitledText","_Typography","_Typography2","e","__esModule","default","portableTextDefaultMarkRenderers","exports","strong","_ref","children","createElement","em","_ref2","code","_ref3","StyledCode","link","_ref4","mark","href","Fragment","StyledLink","target","rel","HEADING_LEVEL_VARIANTS","HeadingBlock","_ref5","_HEADING_LEVEL_VARIAN","block","_ref6","level","Heading","titledTextHeadings","portableTextDefaultBlockRenderers","paragraph","_ref7","Body1","heading","list","_ref8","ordered","style","StyledList","as","$ordered","listItem","_ref9","Typography","variant","media","_ref0","_ref1","src","alt","caption","Media","titledText","_ref10","_ref11","title","TitledText"],"sources":["../../../../src/components/PortableText/renderers.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { StyledCode, StyledLink, StyledList } from \"./Styles\";\nimport {\n PortableTextBlockRenderer,\n PortableTextDefaultBlockType,\n PortableTextDefaultMark,\n PortableTextHeadingBlock,\n PortableTextHeadingLevel,\n PortableTextLinkMark,\n PortableTextListBlock,\n PortableTextMarkRenderer,\n PortableTextMediaBlock,\n PortableTextTitledTextBlock,\n} from \"./types\";\nimport { Media } from \"../Media\";\nimport {\n TitledText,\n TitledTextVariant,\n titledTextHeadings,\n} from \"../TitledText\";\nimport { Body1 } from \"../Typography\";\nimport { Typography } from \"../Typography/Typography\";\n\n/**\n * The default renderers for the universal set — everything a client renders\n * without injection, and nothing more: no product element ever lands here.\n * Injected {@link PortableTextComponents} maps take precedence entry by entry.\n */\n\nexport const portableTextDefaultMarkRenderers: Record<\n PortableTextDefaultMark,\n PortableTextMarkRenderer\n> = {\n strong: ({ children }) => <strong>{children}</strong>,\n em: ({ children }) => <em>{children}</em>,\n code: ({ children }) => <StyledCode>{children}</StyledCode>,\n link: ({ mark, children }) => {\n const href = (mark as PortableTextLinkMark | undefined)?.href;\n\n // A link mark without an href (authored as a plain string) has nowhere\n // to go — keep the text, skip the anchor.\n if (!href) {\n return <>{children}</>;\n }\n\n return (\n <StyledLink href={href} target=\"_blank\" rel=\"noopener noreferrer\">\n {children}\n </StyledLink>\n );\n },\n};\n\n/** The semantic wire levels resolve to typography only here, in the renderer. */\nconst HEADING_LEVEL_VARIANTS: Record<\n PortableTextHeadingLevel,\n TitledTextVariant\n> = {\n 1: \"title1\",\n 2: \"title2\",\n 3: \"header2\",\n};\n\n/** Heading levels map to the same typography TitledText uses. */\nconst HeadingBlock: PortableTextBlockRenderer = ({ block, children }) => {\n const { level } = block as PortableTextHeadingBlock;\n const Heading =\n titledTextHeadings[HEADING_LEVEL_VARIANTS[level] ?? \"header2\"];\n return <Heading>{children}</Heading>;\n};\n\nexport const portableTextDefaultBlockRenderers: Record<\n PortableTextDefaultBlockType,\n PortableTextBlockRenderer\n> = {\n paragraph: ({ children }) => <Body1>{children}</Body1>,\n heading: HeadingBlock,\n list: ({ block, children }) => {\n const ordered = (block as PortableTextListBlock).style === \"number\";\n return (\n <StyledList as={ordered ? \"ol\" : \"ul\"} $ordered={ordered}>\n {children}\n </StyledList>\n );\n },\n \"list-item\": ({ children }) => (\n <Typography variant=\"Body 1\" as=\"li\">\n {children}\n </Typography>\n ),\n media: ({ block }) => {\n const { src, alt, variant, caption } = block as PortableTextMediaBlock;\n return <Media src={src} alt={alt} variant={variant} caption={caption} />;\n },\n \"titled-text\": ({ block, children }) => {\n const { title, level } = block as PortableTextTitledTextBlock;\n return (\n <TitledText title={title} variant={HEADING_LEVEL_VARIANTS[level ?? 3]}>\n {children}\n </TitledText>\n );\n },\n};\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isPortableTextSpan = exports.isPortableTextObjectNode = exports.isPortableTextContent = exports.isPortableTextBlock = exports.PORTABLE_TEXT_DEFAULT_MARKS = exports.PORTABLE_TEXT_DEFAULT_BLOCKS = void 0;
7
+ /**
8
+ * Portable Text envelope — the general content contract for structured,
9
+ * renderer-independent content (in-app messages, help, changelogs).
10
+ *
11
+ * The design system owns this envelope and the universal default set below.
12
+ * It never hardcodes a product element: concrete elements (callout,
13
+ * button-reference, doc-link, …) are defined in the application catalog and
14
+ * injected into the Portable Text engine through {@link PortableTextComponents}.
15
+ * See README.md next to this file for the full contract.
16
+ */
17
+
18
+ /* ---- Spans and marks ------------------------------------------------- */
19
+
20
+ /**
21
+ * A mark with data. Parameterless marks travel as plain strings ("strong");
22
+ * marks that need data travel as objects discriminated by `type`.
23
+ */
24
+
25
+ /** The one default mark that carries data. */
26
+
27
+ /** The leaf of every text run: a piece of text plus the marks wrapping it. */
28
+
29
+ /** Marks every client understands without injection. */
30
+ var PORTABLE_TEXT_DEFAULT_MARKS = exports.PORTABLE_TEXT_DEFAULT_MARKS = ["strong", "em", "code", "link"];
31
+
32
+ /* ---- Blocks ----------------------------------------------------------- */
33
+
34
+ /** 1 maps to Title1, 2 to Title2, 3 to Header2 typography. */
35
+
36
+ /** Screenshots render framed (border, no shadow); illustrations render flat. */
37
+
38
+ /**
39
+ * Derived from the union's discriminators, so adding a block to the union
40
+ * without a renderer entry is a compile error, never silent drift.
41
+ */
42
+
43
+ // A Record so the compiler checks the list against the union in both
44
+ // directions: a missing and a stray key each fail to build.
45
+ var DEFAULT_BLOCK_TYPES = {
46
+ paragraph: true,
47
+ heading: true,
48
+ list: true,
49
+ "list-item": true,
50
+ media: true,
51
+ "titled-text": true
52
+ };
53
+
54
+ /** Blocks every client understands without injection. */
55
+ var PORTABLE_TEXT_DEFAULT_BLOCKS = exports.PORTABLE_TEXT_DEFAULT_BLOCKS = Object.keys(DEFAULT_BLOCK_TYPES);
56
+
57
+ /* ---- Objects ----------------------------------------------------------- */
58
+
59
+ /**
60
+ * An embedded component the envelope does not interpret: `_type` names an
61
+ * application-catalog element, everything else is that element's data. An
62
+ * object whose `_type` has no injected renderer renders nothing and is logged.
63
+ */
64
+
65
+ /** The root of a message body: what an API returns under `content`. */
66
+
67
+ /* ---- Injection contract ------------------------------------------------ */
68
+
69
+ /**
70
+ * Called once per unknown type instead of rendering it, so content written
71
+ * for newer clients degrades silently on older ones.
72
+ */
73
+
74
+ /**
75
+ * What an application injects into the Portable Text engine: renderers for
76
+ * its catalog marks and objects, optional overrides for the default blocks,
77
+ * and the unknown-type hook.
78
+ */
79
+
80
+ /* ---- Runtime guards ----------------------------------------------------- */
81
+
82
+ var isRecord = function isRecord(value) {
83
+ return typeof value === "object" && value !== null;
84
+ };
85
+ var isPortableTextSpan = exports.isPortableTextSpan = function isPortableTextSpan(value) {
86
+ return isRecord(value) && typeof value.text === "string";
87
+ };
88
+ var isPortableTextObjectNode = exports.isPortableTextObjectNode = function isPortableTextObjectNode(value) {
89
+ return isRecord(value) && value.type === "object" && typeof value._type === "string";
90
+ };
91
+
92
+ /**
93
+ * A block is any non-object node with a string `type`. Unknown block types
94
+ * stay valid on purpose — they render nothing on clients that predate them.
95
+ * Known types are held to their shape, so a serializer bug (a paragraph
96
+ * without `children`, a list of non-nodes) fails here instead of at render.
97
+ */
98
+ var _isPortableTextBlock = exports.isPortableTextBlock = function isPortableTextBlock(value) {
99
+ if (!isRecord(value) || typeof value.type !== "string" || value.type === "object") {
100
+ return false;
101
+ }
102
+ switch (value.type) {
103
+ case "paragraph":
104
+ case "heading":
105
+ case "list-item":
106
+ return Array.isArray(value.children) && value.children.every(isPortableTextSpan);
107
+ case "list":
108
+ return Array.isArray(value.children) && value.children.every(_isPortableTextBlock);
109
+ case "media":
110
+ return typeof value.src === "string";
111
+ case "titled-text":
112
+ return typeof value.title === "string" && (value.content === undefined || isPortableTextContent(value.content));
113
+ default:
114
+ return true;
115
+ }
116
+ };
117
+ var isPortableTextContent = exports.isPortableTextContent = function isPortableTextContent(value) {
118
+ return Array.isArray(value) && value.every(function (node) {
119
+ return _isPortableTextBlock(node) || isPortableTextObjectNode(node);
120
+ });
121
+ };
122
+ //# sourceMappingURL=types.js.map