@activecollab/components 2.0.411 → 2.0.412

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 (31) hide show
  1. package/dist/cjs/components/PortableText/PortableText.js +12 -1
  2. package/dist/cjs/components/PortableText/PortableText.js.map +1 -1
  3. package/dist/cjs/components/PortableText/Styles.js +31 -2
  4. package/dist/cjs/components/PortableText/Styles.js.map +1 -1
  5. package/dist/cjs/components/PortableText/renderers.js +46 -2
  6. package/dist/cjs/components/PortableText/renderers.js.map +1 -1
  7. package/dist/cjs/components/PortableText/types.js +20 -2
  8. package/dist/cjs/components/PortableText/types.js.map +1 -1
  9. package/dist/cjs/components/PortableText/types.test.js +78 -1
  10. package/dist/cjs/components/PortableText/types.test.js.map +1 -1
  11. package/dist/esm/components/PortableText/PortableText.d.ts.map +1 -1
  12. package/dist/esm/components/PortableText/PortableText.js +8 -1
  13. package/dist/esm/components/PortableText/PortableText.js.map +1 -1
  14. package/dist/esm/components/PortableText/Styles.d.ts +14 -0
  15. package/dist/esm/components/PortableText/Styles.d.ts.map +1 -1
  16. package/dist/esm/components/PortableText/Styles.js +30 -1
  17. package/dist/esm/components/PortableText/Styles.js.map +1 -1
  18. package/dist/esm/components/PortableText/renderers.d.ts.map +1 -1
  19. package/dist/esm/components/PortableText/renderers.js +35 -3
  20. package/dist/esm/components/PortableText/renderers.js.map +1 -1
  21. package/dist/esm/components/PortableText/types.d.ts +31 -1
  22. package/dist/esm/components/PortableText/types.d.ts.map +1 -1
  23. package/dist/esm/components/PortableText/types.js +15 -1
  24. package/dist/esm/components/PortableText/types.js.map +1 -1
  25. package/dist/esm/components/PortableText/types.test.js +78 -1
  26. package/dist/esm/components/PortableText/types.test.js.map +1 -1
  27. package/dist/index.js +105 -3
  28. package/dist/index.js.map +1 -1
  29. package/dist/index.min.js +1 -1
  30. package/dist/index.min.js.map +1 -1
  31. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -25292,10 +25292,39 @@
25292
25292
  })(["color:var(--color-primary);text-decoration:underline var(--color-primary);text-underline-offset:3px;&:hover{text-decoration:none;}"]);
25293
25293
  StyledLink.displayName = "StyledLink";
25294
25294
 
25295
+ /**
25296
+ * The default `code-block`: quiet preformatted content. It stays a bare
25297
+ * `<pre><code>` on purpose — article surfaces inject a Copy button onto
25298
+ * every `<pre>` they render.
25299
+ */
25300
+ var StyledCodeBlock = styled__default["default"].pre.withConfig({
25301
+ displayName: "Styles__StyledCodeBlock",
25302
+ componentId: "sc-1fss4z4-2"
25303
+ })(["margin:0;padding:", ";border-radius:", ";background-color:var(--color-theme-200);overflow-x:auto;code{font-family:\"SFMono-Regular\",Menlo,Consolas,\"Liberation Mono\",monospace;font-size:", ";color:var(--color-theme-900);}"], SPACE.md, "0.5rem", "0.875rem");
25304
+ StyledCodeBlock.displayName = "StyledCodeBlock";
25305
+
25306
+ /**
25307
+ * The default `table` block wrapper: Table ships page-level chrome (outer
25308
+ * margins) that flowing content does not want — the PortableText Stack owns
25309
+ * the vertical rhythm here.
25310
+ */
25311
+ var StyledTableBlock = styled__default["default"].div.withConfig({
25312
+ displayName: "Styles__StyledTableBlock",
25313
+ componentId: "sc-1fss4z4-3"
25314
+ })([".c-table__wrap{margin:0;}"]);
25315
+ StyledTableBlock.displayName = "StyledTableBlock";
25316
+
25317
+ /** The default `divider` block: a themed horizontal rule. */
25318
+ var StyledDivider = styled__default["default"].hr.withConfig({
25319
+ displayName: "Styles__StyledDivider",
25320
+ componentId: "sc-1fss4z4-4"
25321
+ })(["margin:0;border:none;border-top:1px solid var(--border-primary);"]);
25322
+ StyledDivider.displayName = "StyledDivider";
25323
+
25295
25324
  /** The default `list` block; rendered as ul or ol through the `as` prop. */
25296
25325
  var StyledList$1 = styled__default["default"].ul.withConfig({
25297
25326
  displayName: "Styles__StyledList",
25298
- componentId: "sc-1fss4z4-2"
25327
+ componentId: "sc-1fss4z4-5"
25299
25328
  })(["margin:0;padding-left:", ";list-style:", " outside;li + li{margin-top:", ";}"], "1.25rem", function (_ref) {
25300
25329
  var $ordered = _ref.$ordered;
25301
25330
  return $ordered ? "decimal" : "disc";
@@ -25527,6 +25556,49 @@
25527
25556
  title: title,
25528
25557
  variant: headingVariantForLevel(level)
25529
25558
  }, children);
25559
+ },
25560
+ // No highlighter ships with the default set, so every language — known,
25561
+ // unknown or absent — is plain preformatted text; the hint travels on
25562
+ // data-language for surfaces that highlight.
25563
+ "code-block": function codeBlock(_ref12) {
25564
+ var block = _ref12.block;
25565
+ var _ref13 = block,
25566
+ code = _ref13.code,
25567
+ language = _ref13.language;
25568
+ return /*#__PURE__*/React__default["default"].createElement(StyledCodeBlock, {
25569
+ "data-language": language || undefined
25570
+ }, /*#__PURE__*/React__default["default"].createElement("code", null, code));
25571
+ },
25572
+ table: function table(_ref14) {
25573
+ var block = _ref14.block,
25574
+ renderSpans = _ref14.renderSpans;
25575
+ var _ref15 = block,
25576
+ header = _ref15.header,
25577
+ rows = _ref15.rows;
25578
+ // Standalone (engine-less) use has no span renderer — keep the raw text.
25579
+ var cell = function cell(spans) {
25580
+ return renderSpans ? renderSpans(spans) : spans.map(function (span, index) {
25581
+ return /*#__PURE__*/React__default["default"].createElement(React.Fragment, {
25582
+ key: index
25583
+ }, span.text);
25584
+ });
25585
+ };
25586
+ return /*#__PURE__*/React__default["default"].createElement(StyledTableBlock, null, /*#__PURE__*/React__default["default"].createElement(Table, null, /*#__PURE__*/React__default["default"].createElement(Thead, null, /*#__PURE__*/React__default["default"].createElement("tr", null, header.map(function (spans, index) {
25587
+ return /*#__PURE__*/React__default["default"].createElement("th", {
25588
+ key: index
25589
+ }, cell(spans));
25590
+ }))), /*#__PURE__*/React__default["default"].createElement(Tbody, null, rows.map(function (row, rowIndex) {
25591
+ return /*#__PURE__*/React__default["default"].createElement("tr", {
25592
+ key: rowIndex
25593
+ }, row.map(function (spans, cellIndex) {
25594
+ return /*#__PURE__*/React__default["default"].createElement("td", {
25595
+ key: cellIndex
25596
+ }, cell(spans));
25597
+ }));
25598
+ }))));
25599
+ },
25600
+ divider: function divider() {
25601
+ return /*#__PURE__*/React__default["default"].createElement(StyledDivider, null);
25530
25602
  }
25531
25603
  };
25532
25604
 
@@ -25561,6 +25633,10 @@
25561
25633
 
25562
25634
  /** Screenshots render framed (border, no shadow); illustrations render flat. */
25563
25635
 
25636
+ /** A table cell is a span array, so inline marks work inside cells. */
25637
+
25638
+ /** A themed horizontal rule between sections. Carries no data. */
25639
+
25564
25640
  /**
25565
25641
  * Derived from the union's discriminators, so adding a block to the union
25566
25642
  * without a renderer entry is a compile error, never silent drift.
@@ -25574,7 +25650,10 @@
25574
25650
  list: true,
25575
25651
  "list-item": true,
25576
25652
  media: true,
25577
- "titled-text": true
25653
+ "titled-text": true,
25654
+ "code-block": true,
25655
+ table: true,
25656
+ divider: true
25578
25657
  };
25579
25658
 
25580
25659
  /** Blocks every client understands without injection. */
@@ -25611,6 +25690,11 @@
25611
25690
  var isPortableTextSpan = function isPortableTextSpan(value) {
25612
25691
  return isRecord(value) && typeof value.text === "string";
25613
25692
  };
25693
+ var isPortableTextTableRow = function isPortableTextTableRow(value) {
25694
+ return Array.isArray(value) && value.every(function (cell) {
25695
+ return Array.isArray(cell) && cell.every(isPortableTextSpan);
25696
+ });
25697
+ };
25614
25698
  var isPortableTextObjectNode = function isPortableTextObjectNode(value) {
25615
25699
  return isRecord(value) && value.type === "object" && typeof value._type === "string";
25616
25700
  };
@@ -25636,6 +25720,12 @@
25636
25720
  return typeof value.src === "string";
25637
25721
  case "titled-text":
25638
25722
  return typeof value.title === "string" && (value.content === undefined || isPortableTextContent(value.content));
25723
+ case "code-block":
25724
+ return typeof value.code === "string" && (value.language === undefined || typeof value.language === "string");
25725
+ case "table":
25726
+ return isPortableTextTableRow(value.header) && Array.isArray(value.rows) && value.rows.every(isPortableTextTableRow);
25727
+ case "divider":
25728
+ return true;
25639
25729
  default:
25640
25730
  return true;
25641
25731
  }
@@ -25697,8 +25787,19 @@
25697
25787
  ctx.report("block", block.type);
25698
25788
  return null;
25699
25789
  }
25790
+
25791
+ // Blocks that carry spans outside `children` (table cells) render them
25792
+ // through this engine-bound helper, so mark injection works there too.
25793
+ var renderSpans = function renderSpans(spans) {
25794
+ return spans.map(function (span, index) {
25795
+ return /*#__PURE__*/React__default["default"].createElement(React.Fragment, {
25796
+ key: index
25797
+ }, renderSpan(span, ctx));
25798
+ });
25799
+ };
25700
25800
  return /*#__PURE__*/React__default["default"].createElement(Renderer, {
25701
- block: block
25801
+ block: block,
25802
+ renderSpans: renderSpans
25702
25803
  }, renderBlockChildren(block, ctx));
25703
25804
  };
25704
25805
  var renderObject = function renderObject(node, ctx) {
@@ -30422,6 +30523,7 @@
30422
30523
  exports.isPortableTextContent = isPortableTextContent;
30423
30524
  exports.isPortableTextObjectNode = isPortableTextObjectNode;
30424
30525
  exports.isPortableTextSpan = isPortableTextSpan;
30526
+ exports.isPortableTextTableRow = isPortableTextTableRow;
30425
30527
  exports.isResizeKey = isResizeKey;
30426
30528
  exports.isValidUrl = isValidUrl;
30427
30529
  exports.keyboardResize = keyboardResize;