@examind/block-sdk 0.3.4 → 0.3.6

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.
package/dist/index.js CHANGED
@@ -346,8 +346,9 @@ var FinancialStatementQuestionNodeHandler = class extends NodeHandler {
346
346
  } else if (isLine(row)) {
347
347
  const entryHintAttr = row.isEntryHint ? ' data-x-is-entry-hint="true"' : "";
348
348
  const amountHintAttr = row.isAmountHint ? ' data-x-is-amount-hint="true"' : "";
349
+ const roleAttr = row.role ? ` data-x-role="${row.role}"` : "";
349
350
  rowElements.push(
350
- `<x-line id="${row.id}" data-x-depth="${row.depth}"${entryHintAttr}${amountHintAttr}>`,
351
+ `<x-line id="${row.id}" data-x-depth="${row.depth}"${entryHintAttr}${amountHintAttr}${roleAttr}>`,
351
352
  `<x-entry>${createHtmlFromNestedEditor(row.entry, {
352
353
  parentNode: node
353
354
  })}</x-entry>`,
@@ -1550,6 +1551,8 @@ var TAG_X_LINE = "x-line";
1550
1551
  var TAG_X_DISTRACTOR = "x-distractor";
1551
1552
  var TAG_X_ENTRY = "x-entry";
1552
1553
  var TAG_X_AMOUNT = "x-amount";
1554
+ var isLineRole = (value) => value === "line-item" || value === "subtotal" || value === "total";
1555
+ var parseLineRole = (value) => isLineRole(value) ? value : null;
1553
1556
  var FinancialStatementQuestionNodeHandler2 = class extends NodeHandler2 {
1554
1557
  processNode(node) {
1555
1558
  if (!(node instanceof import_node_html_parser9.HTMLElement) || node.tagName !== TAG_X_FINANCIAL_STATEMENT.toUpperCase()) {
@@ -1634,7 +1637,6 @@ var FinancialStatementQuestionNodeHandler2 = class extends NodeHandler2 {
1634
1637
  processLineRow(lineNode, jsonNode) {
1635
1638
  jsonNode.rows.push({
1636
1639
  type: "Line",
1637
- role: "line-item",
1638
1640
  id: lineNode.getAttribute("id") || "",
1639
1641
  depth: Number(lineNode.getAttribute("data-x-depth") || 0),
1640
1642
  entry: createNestedEditorFromHtml(
@@ -1644,7 +1646,8 @@ var FinancialStatementQuestionNodeHandler2 = class extends NodeHandler2 {
1644
1646
  lineNode.querySelector(TAG_X_AMOUNT)
1645
1647
  ),
1646
1648
  isAmountHint: lineNode.getAttribute("data-x-is-amount-hint") === "true",
1647
- isEntryHint: lineNode.getAttribute("data-x-is-entry-hint") === "true"
1649
+ isEntryHint: lineNode.getAttribute("data-x-is-entry-hint") === "true",
1650
+ role: parseLineRole(lineNode.getAttribute("data-x-role"))
1648
1651
  });
1649
1652
  }
1650
1653
  };
package/dist/index.mjs CHANGED
@@ -319,8 +319,9 @@ var FinancialStatementQuestionNodeHandler = class extends NodeHandler {
319
319
  } else if (isLine(row)) {
320
320
  const entryHintAttr = row.isEntryHint ? ' data-x-is-entry-hint="true"' : "";
321
321
  const amountHintAttr = row.isAmountHint ? ' data-x-is-amount-hint="true"' : "";
322
+ const roleAttr = row.role ? ` data-x-role="${row.role}"` : "";
322
323
  rowElements.push(
323
- `<x-line id="${row.id}" data-x-depth="${row.depth}"${entryHintAttr}${amountHintAttr}>`,
324
+ `<x-line id="${row.id}" data-x-depth="${row.depth}"${entryHintAttr}${amountHintAttr}${roleAttr}>`,
324
325
  `<x-entry>${createHtmlFromNestedEditor(row.entry, {
325
326
  parentNode: node
326
327
  })}</x-entry>`,
@@ -1523,6 +1524,8 @@ var TAG_X_LINE = "x-line";
1523
1524
  var TAG_X_DISTRACTOR = "x-distractor";
1524
1525
  var TAG_X_ENTRY = "x-entry";
1525
1526
  var TAG_X_AMOUNT = "x-amount";
1527
+ var isLineRole = (value) => value === "line-item" || value === "subtotal" || value === "total";
1528
+ var parseLineRole = (value) => isLineRole(value) ? value : null;
1526
1529
  var FinancialStatementQuestionNodeHandler2 = class extends NodeHandler2 {
1527
1530
  processNode(node) {
1528
1531
  if (!(node instanceof HTMLElement9) || node.tagName !== TAG_X_FINANCIAL_STATEMENT.toUpperCase()) {
@@ -1607,7 +1610,6 @@ var FinancialStatementQuestionNodeHandler2 = class extends NodeHandler2 {
1607
1610
  processLineRow(lineNode, jsonNode) {
1608
1611
  jsonNode.rows.push({
1609
1612
  type: "Line",
1610
- role: "line-item",
1611
1613
  id: lineNode.getAttribute("id") || "",
1612
1614
  depth: Number(lineNode.getAttribute("data-x-depth") || 0),
1613
1615
  entry: createNestedEditorFromHtml(
@@ -1617,7 +1619,8 @@ var FinancialStatementQuestionNodeHandler2 = class extends NodeHandler2 {
1617
1619
  lineNode.querySelector(TAG_X_AMOUNT)
1618
1620
  ),
1619
1621
  isAmountHint: lineNode.getAttribute("data-x-is-amount-hint") === "true",
1620
- isEntryHint: lineNode.getAttribute("data-x-is-entry-hint") === "true"
1622
+ isEntryHint: lineNode.getAttribute("data-x-is-entry-hint") === "true",
1623
+ role: parseLineRole(lineNode.getAttribute("data-x-role"))
1621
1624
  });
1622
1625
  }
1623
1626
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@examind/block-sdk",
3
- "version": "0.3.4",
3
+ "version": "0.3.6",
4
4
  "@comment version": [
5
5
  "Don't specify package version here. It will be injected by publish workflow."
6
6
  ],
@@ -21,7 +21,7 @@
21
21
  "peerDependencies": {
22
22
  "nanoid": ">=3.0.0",
23
23
  "node-html-parser": ">=6.0.0",
24
- "@examind/block-types": "^0.3.4"
24
+ "@examind/block-types": "^0.3.6"
25
25
  },
26
26
  "devDependencies": {
27
27
  "@eslint/js": "^9.17.0",
@@ -36,7 +36,7 @@
36
36
  "tsup": "^8.3.5",
37
37
  "typescript": "^5.7.2",
38
38
  "typescript-eslint": "^8.18.2",
39
- "@examind/block-types": "0.3.4"
39
+ "@examind/block-types": "0.3.6"
40
40
  },
41
41
  "dependencies": {
42
42
  "lodash-es": "4.17.21"