@comet/cms-admin 9.0.0-beta.4 → 9.0.0-beta.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.
Files changed (114) hide show
  1. package/lib/blocks/ExternalLinkBlock.d.ts.map +1 -1
  2. package/lib/blocks/ExternalLinkBlock.js +18 -4
  3. package/lib/blocks/table/TableBlockGrid.d.ts.map +1 -1
  4. package/lib/blocks/table/TableBlockGrid.js +3 -1
  5. package/lib/blocks/table/utils/column.d.ts +16 -21
  6. package/lib/blocks/table/utils/column.d.ts.map +1 -1
  7. package/lib/blocks/table/utils/column.js +0 -11
  8. package/lib/blocks/table/utils/getClipboardValueForSchema.d.ts +1 -1
  9. package/lib/blocks/table/utils/getClipboardValueForSchema.d.ts.map +1 -1
  10. package/lib/blocks/table/utils/row.d.ts +3 -18
  11. package/lib/blocks/table/utils/row.d.ts.map +1 -1
  12. package/lib/blocks/table/utils/row.js +1 -1
  13. package/lib/blocks/table/utils/rteSchema.d.ts +1 -5
  14. package/lib/blocks/table/utils/rteSchema.d.ts.map +1 -1
  15. package/lib/blocks/tipTap/TextBlockStyleContext.d.ts +3 -0
  16. package/lib/blocks/tipTap/TextBlockStyleContext.d.ts.map +1 -0
  17. package/lib/blocks/tipTap/TextBlockStyleContext.js +2 -0
  18. package/lib/blocks/tipTap/TipTapToolbar.d.ts +4 -3
  19. package/lib/blocks/tipTap/TipTapToolbar.d.ts.map +1 -1
  20. package/lib/blocks/tipTap/TipTapToolbar.js +88 -33
  21. package/lib/blocks/tipTap/createTipTapRichTextBlock.d.ts +17 -12
  22. package/lib/blocks/tipTap/createTipTapRichTextBlock.d.ts.map +1 -1
  23. package/lib/blocks/tipTap/createTipTapRichTextBlock.js +33 -27
  24. package/lib/blocks/tipTap/extensions/Placeholder.d.ts +10 -0
  25. package/lib/blocks/tipTap/extensions/Placeholder.d.ts.map +1 -0
  26. package/lib/blocks/tipTap/extensions/Placeholder.js +78 -0
  27. package/lib/blocks/tipTap/extensions/TextBlockStyleHeading.d.ts +2 -0
  28. package/lib/blocks/tipTap/extensions/TextBlockStyleHeading.d.ts.map +1 -0
  29. package/lib/blocks/tipTap/extensions/{BlockStyleHeading.js → TextBlockStyleHeading.js} +12 -12
  30. package/lib/blocks/tipTap/extensions/TextBlockStyleParagraph.d.ts +2 -0
  31. package/lib/blocks/tipTap/extensions/TextBlockStyleParagraph.d.ts.map +1 -0
  32. package/lib/blocks/tipTap/extensions/{BlockStyleParagraph.js → TextBlockStyleParagraph.js} +12 -12
  33. package/lib/blocks.generated.d.ts +2 -0
  34. package/lib/blocks.generated.d.ts.map +1 -1
  35. package/lib/builds/PublisherPage.js +2 -2
  36. package/lib/builds/StartBuildsDialog.d.ts.map +1 -1
  37. package/lib/builds/StartBuildsDialog.js +2 -6
  38. package/lib/config/CometConfigContext.d.ts +7 -1
  39. package/lib/config/CometConfigContext.d.ts.map +1 -1
  40. package/lib/cronJobs/CronJobsGrid.js +1 -1
  41. package/lib/cronJobs/JobsGrid.js +1 -1
  42. package/lib/dam/DataGrid/FolderDataGrid.d.ts.map +1 -1
  43. package/lib/dam/DataGrid/FolderDataGrid.js +6 -4
  44. package/lib/dam/FileForm/EditFile.d.ts.map +1 -1
  45. package/lib/dam/FileForm/EditFile.js +5 -2
  46. package/lib/dam/mediaAlternatives/MediaAlternativesGrid.d.ts.map +1 -1
  47. package/lib/dam/mediaAlternatives/MediaAlternativesGrid.js +1 -1
  48. package/lib/dashboard/widgets/LatestBuildsDashboardWidget.js +1 -1
  49. package/lib/dashboard/widgets/LatestContentUpdatesDashboardWidget.d.ts +1 -1
  50. package/lib/dashboard/widgets/LatestContentUpdatesDashboardWidget.d.ts.map +1 -1
  51. package/lib/dashboard/widgets/LatestContentUpdatesDashboardWidget.js +1 -1
  52. package/lib/dataGrid/DataGrid.d.ts +3 -0
  53. package/lib/dataGrid/DataGrid.d.ts.map +1 -0
  54. package/lib/dataGrid/DataGrid.js +19 -0
  55. package/lib/dependencies/DependenciesList.d.ts.map +1 -1
  56. package/lib/dependencies/DependenciesList.js +1 -1
  57. package/lib/dependencies/DependentsList.d.ts.map +1 -1
  58. package/lib/dependencies/DependentsList.js +1 -1
  59. package/lib/fullTextSearch/SearchHeaderItem.d.ts +2 -0
  60. package/lib/fullTextSearch/SearchHeaderItem.d.ts.map +1 -0
  61. package/lib/fullTextSearch/SearchHeaderItem.generated.d.ts +25 -0
  62. package/lib/fullTextSearch/SearchHeaderItem.generated.d.ts.map +1 -0
  63. package/lib/fullTextSearch/SearchHeaderItem.generated.js +5 -0
  64. package/lib/fullTextSearch/SearchHeaderItem.js +175 -0
  65. package/lib/graphql.generated.d.ts +26 -2
  66. package/lib/graphql.generated.d.ts.map +1 -1
  67. package/lib/index.d.ts +5 -2
  68. package/lib/index.d.ts.map +1 -1
  69. package/lib/index.js +3 -0
  70. package/lib/pages/pageSearch/usePageSearch.d.ts.map +1 -1
  71. package/lib/pages/pageSearch/usePageSearch.js +23 -4
  72. package/lib/pages/pageTree/PageActions.d.ts.map +1 -1
  73. package/lib/pages/pageTree/PageActions.js +4 -2
  74. package/lib/pages/pageTreeConfig.d.ts +5 -0
  75. package/lib/pages/pageTreeConfig.d.ts.map +1 -1
  76. package/lib/pages/pagesPage/PagesPageActionToolbar.d.ts.map +1 -1
  77. package/lib/pages/pagesPage/PagesPageActionToolbar.js +4 -2
  78. package/lib/redirects/RedirectsGrid.d.ts +1 -1
  79. package/lib/redirects/RedirectsGrid.d.ts.map +1 -1
  80. package/lib/redirects/RedirectsGrid.gql.d.ts +1 -0
  81. package/lib/redirects/RedirectsGrid.gql.d.ts.map +1 -1
  82. package/lib/redirects/RedirectsGrid.gql.generated.d.ts +8 -0
  83. package/lib/redirects/RedirectsGrid.gql.generated.d.ts.map +1 -1
  84. package/lib/redirects/RedirectsGrid.gql.generated.js +2 -1
  85. package/lib/redirects/RedirectsGrid.gql.js +3 -2
  86. package/lib/redirects/RedirectsGrid.js +107 -15
  87. package/lib/storybook.d.js +1 -0
  88. package/lib/userPermissions/UserGrid.d.ts +1 -1
  89. package/lib/userPermissions/UserGrid.d.ts.map +1 -1
  90. package/lib/userPermissions/UserGrid.js +2 -2
  91. package/lib/userPermissions/user/permissions/ContentScopeGrid.d.ts.map +1 -1
  92. package/lib/userPermissions/user/permissions/ContentScopeGrid.js +1 -1
  93. package/lib/userPermissions/user/permissions/OverrideContentScopesDialog.js +1 -1
  94. package/lib/userPermissions/user/permissions/PermissionGrid.d.ts.map +1 -1
  95. package/lib/userPermissions/user/permissions/PermissionGrid.js +1 -1
  96. package/lib/userPermissions/user/permissions/selectScopesDialogContent/SelectScopesDialogContent.d.ts.map +1 -1
  97. package/lib/userPermissions/user/permissions/selectScopesDialogContent/SelectScopesDialogContent.js +1 -1
  98. package/lib/warnings/LatestWarningsDashboardWidget.js +1 -1
  99. package/lib/warnings/WarningsGrid.d.ts.map +1 -1
  100. package/lib/warnings/WarningsGrid.js +1 -1
  101. package/package.json +30 -22
  102. package/lib/blocks/__stories__/RichTextBlock.stories.js +0 -53
  103. package/lib/blocks/tipTap/BlockStyleContext.d.ts +0 -3
  104. package/lib/blocks/tipTap/BlockStyleContext.d.ts.map +0 -1
  105. package/lib/blocks/tipTap/BlockStyleContext.js +0 -2
  106. package/lib/blocks/tipTap/__stories__/TipTapRichTextBlock.stories.js +0 -1566
  107. package/lib/blocks/tipTap/extensions/BlockStyleHeading.d.ts +0 -2
  108. package/lib/blocks/tipTap/extensions/BlockStyleHeading.d.ts.map +0 -1
  109. package/lib/blocks/tipTap/extensions/BlockStyleParagraph.d.ts +0 -2
  110. package/lib/blocks/tipTap/extensions/BlockStyleParagraph.d.ts.map +0 -1
  111. package/lib/contentScope/__stories__/ContentScopeProvider.stories.js +0 -85
  112. package/lib/contentScope/__stories__/ContentScopeSelect.stories.js +0 -655
  113. package/lib/contentScope/noContentScopeFallback/__stories__/NoContentScopeFallback.stories.js +0 -7
  114. package/lib/dashboard/__stories__/DateTime.stories.js +0 -7
@@ -1 +1 @@
1
- {"version":3,"file":"ExternalLinkBlock.d.ts","sourceRoot":"","sources":["../../src/blocks/ExternalLinkBlock.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAMzF,OAAO,EAAiB,KAAK,cAAc,EAAE,KAAK,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAEtF,KAAK,KAAK,GAAG,qBAAqB,CAAC;AAEnC,eAAO,MAAM,iBAAiB,EAAE,cAAc,CAAC,qBAAqB,EAAE,KAAK,EAAE,sBAAsB,CAAC,GAAG,kBAAkB,CAAC,KAAK,CA0E9H,CAAC"}
1
+ {"version":3,"file":"ExternalLinkBlock.d.ts","sourceRoot":"","sources":["../../src/blocks/ExternalLinkBlock.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAMzF,OAAO,EAAiB,KAAK,cAAc,EAAE,KAAK,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAEtF,KAAK,KAAK,GAAG,qBAAqB,CAAC;AAEnC,eAAO,MAAM,iBAAiB,EAAE,cAAc,CAAC,qBAAqB,EAAE,KAAK,EAAE,sBAAsB,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAuF9H,CAAC"}
@@ -26,7 +26,8 @@ export var ExternalLinkBlock = _objectSpread(_objectSpread({}, createBlockSkelet
26
26
  defaultValues: function defaultValues() {
27
27
  return {
28
28
  targetUrl: undefined,
29
- openInNewWindow: false
29
+ openInNewWindow: false,
30
+ noFollow: false
30
31
  };
31
32
  },
32
33
  category: BlockCategory.Navigation,
@@ -36,7 +37,8 @@ export var ExternalLinkBlock = _objectSpread(_objectSpread({}, createBlockSkelet
36
37
  state2Output: function state2Output(state) {
37
38
  return {
38
39
  targetUrl: state.targetUrl,
39
- openInNewWindow: state.openInNewWindow
40
+ openInNewWindow: state.openInNewWindow,
41
+ noFollow: state.noFollow
40
42
  };
41
43
  },
42
44
  output2State: function () {
@@ -46,7 +48,8 @@ export var ExternalLinkBlock = _objectSpread(_objectSpread({}, createBlockSkelet
46
48
  case 0:
47
49
  return _context.a(2, {
48
50
  targetUrl: output.targetUrl,
49
- openInNewWindow: output.openInNewWindow
51
+ openInNewWindow: output.openInNewWindow,
52
+ noFollow: output.noFollow
50
53
  });
51
54
  }
52
55
  }, _callee);
@@ -63,7 +66,8 @@ export var ExternalLinkBlock = _objectSpread(_objectSpread({}, createBlockSkelet
63
66
  if (isLinkTarget(url)) {
64
67
  return {
65
68
  targetUrl: url,
66
- openInNewWindow: false
69
+ openInNewWindow: false,
70
+ noFollow: false
67
71
  };
68
72
  }
69
73
  return false;
@@ -95,6 +99,16 @@ export var ExternalLinkBlock = _objectSpread(_objectSpread({}, createBlockSkelet
95
99
  defaultMessage: "Open in new window"
96
100
  }),
97
101
  name: "openInNewWindow"
102
+ }), /*#__PURE__*/_jsx(CheckboxField, {
103
+ label: /*#__PURE__*/_jsx(FormattedMessage, {
104
+ id: "comet.blocks.link.external.noFollow",
105
+ defaultMessage: "No follow"
106
+ }),
107
+ name: "noFollow",
108
+ helperText: /*#__PURE__*/_jsx(FormattedMessage, {
109
+ id: "comet.blocks.link.external.noFollow.helperText",
110
+ defaultMessage: "Adds rel=\"nofollow\" to the link, telling search engines not to follow it. Use for sponsored, paid, user-generated or untrusted links so that no SEO authority is passed to the target."
111
+ })
98
112
  })]
99
113
  })
100
114
  });
@@ -1 +1 @@
1
- {"version":3,"file":"TableBlockGrid.d.ts","sourceRoot":"","sources":["../../../src/blocks/table/TableBlockGrid.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAuB,KAAK,QAAQ,EAAE,KAAK,cAAc,EAAa,MAAM,OAAO,CAAC;AAG3F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AA6B3D,KAAK,KAAK,GAAG;IACT,KAAK,EAAE,eAAe,CAAC;IACvB,WAAW,EAAE,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC;CAC1D,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,wBAAwB,KAAK,4CAoK3D,CAAC"}
1
+ {"version":3,"file":"TableBlockGrid.d.ts","sourceRoot":"","sources":["../../../src/blocks/table/TableBlockGrid.tsx"],"names":[],"mappings":"AAYA,OAAO,EAAuB,KAAK,QAAQ,EAAE,KAAK,cAAc,EAAa,MAAM,OAAO,CAAC;AAG3F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AA6B3D,KAAK,KAAK,GAAG;IACT,KAAK,EAAE,eAAe,CAAC;IACvB,WAAW,EAAE,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC;CAC1D,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,wBAAwB,KAAK,4CAoK3D,CAAC"}
@@ -21,7 +21,9 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
21
21
  import { DragIndicator } from "@comet/admin-icons";
22
22
  // eslint-disable-next-line no-restricted-imports
23
23
 
24
- import { DataGridPro, GRID_REORDER_COL_DEF, useGridApiRef } from "@mui/x-data-grid-pro";
24
+ import {
25
+ // eslint-disable-next-line no-restricted-imports
26
+ DataGridPro, GRID_REORDER_COL_DEF, useGridApiRef } from "@mui/x-data-grid-pro";
25
27
  import { useEffect } from "react";
26
28
  import { CellValue } from "./CellValue";
27
29
  import { ColumnHeader } from "./ColumnHeader";
@@ -3,37 +3,32 @@ import type { TableBlockData } from "../../../blocks.generated";
3
3
  import type { RichTextBlock, RichTextBlockState } from "../../createRichTextBlock";
4
4
  import type { TableBlockState } from "../../createTableBlock";
5
5
  export declare const getNewColumn: () => TableBlockData["columns"][number];
6
- declare const columnSizeSchema: z.ZodEnum<["extraSmall", "small", "standard", "large", "extraLarge"]>;
6
+ declare const columnSizeSchema: z.ZodEnum<{
7
+ extraSmall: "extraSmall";
8
+ small: "small";
9
+ standard: "standard";
10
+ large: "large";
11
+ extraLarge: "extraLarge";
12
+ }>;
7
13
  type ColumnSize = z.infer<typeof columnSizeSchema>;
8
14
  export declare const columnInsertSchema: z.ZodObject<{
9
- size: z.ZodEnum<["extraSmall", "small", "standard", "large", "extraLarge"]>;
15
+ size: z.ZodEnum<{
16
+ extraSmall: "extraSmall";
17
+ small: "small";
18
+ standard: "standard";
19
+ large: "large";
20
+ extraLarge: "extraLarge";
21
+ }>;
10
22
  highlighted: z.ZodBoolean;
11
23
  cellValues: z.ZodArray<z.ZodObject<{
12
24
  draftContent: z.ZodUnknown;
13
- }, "strip", z.ZodTypeAny, {
14
- draftContent?: unknown;
15
- }, {
16
- draftContent?: unknown;
17
- }>, "many">;
18
- }, "strip", z.ZodTypeAny, {
19
- size: "extraSmall" | "small" | "standard" | "large" | "extraLarge";
20
- highlighted: boolean;
21
- cellValues: {
22
- draftContent?: unknown;
23
- }[];
24
- }, {
25
- size: "extraSmall" | "small" | "standard" | "large" | "extraLarge";
26
- highlighted: boolean;
27
- cellValues: {
28
- draftContent?: unknown;
29
- }[];
30
- }>;
25
+ }, z.core.$strip>>;
26
+ }, z.core.$strip>;
31
27
  export type ColumnInsertData = {
32
28
  size: ColumnSize;
33
29
  highlighted: boolean;
34
30
  cellValues: RichTextBlockState[];
35
31
  };
36
- export declare const getNewColumnInsertData: (numberOfRows: number, RichTextBlock: RichTextBlock) => ColumnInsertData;
37
32
  export declare const getDuplicatedColumnInsertData: (state: TableBlockState, columnIndex: number, RichTextBlock: RichTextBlock) => ColumnInsertData | null;
38
33
  export declare const getInsertDataFromColumnById: (state: TableBlockState, columnId: string, RichTextBlock: RichTextBlock) => ColumnInsertData | null;
39
34
  export declare const insertColumnDataAtIndex: (state: TableBlockState, columnInsertData: {
@@ -1 +1 @@
1
- {"version":3,"file":"column.d.ts","sourceRoot":"","sources":["../../../../src/blocks/table/utils/column.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACnF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAI9D,eAAO,MAAM,YAAY,QAAO,cAAc,CAAC,SAAS,CAAC,CAAC,MAAM,CAE/D,CAAC;AAEF,QAAA,MAAM,gBAAgB,uEAAqE,CAAC;AAC5F,KAAK,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEnD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;EAI7B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG;IAC3B,IAAI,EAAE,UAAU,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,kBAAkB,EAAE,CAAC;CACpC,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,cAAc,MAAM,EAAE,eAAe,aAAa,KAAG,gBAM3F,CAAC;AAEF,eAAO,MAAM,6BAA6B,GAAI,OAAO,eAAe,EAAE,aAAa,MAAM,EAAE,eAAe,aAAa,KAAG,gBAAgB,GAAG,IAe5I,CAAC;AAEF,eAAO,MAAM,2BAA2B,GAAI,OAAO,eAAe,EAAE,UAAU,MAAM,EAAE,eAAe,aAAa,KAAG,gBAAgB,GAAG,IAcvI,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAChC,OAAO,eAAe,EACtB,kBAAkB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,WAAW,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,kBAAkB,EAAE,CAAA;CAAE,EAC9F,OAAO,MAAM,EACb,eAAe,aAAa,EAC5B,cAAa,MAAe,KAC7B,eA8BF,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,OAAO,eAAe,EAAE,UAAU,MAAM,KAAG,eAShF,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,OAAO,eAAe,EAAE,UAAU,MAAM,KAAG,eAUhF,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,OAAO,eAAe,EAAE,UAAU,MAAM,EAAE,MAAM,UAAU,KAAG,eAK1F,CAAC"}
1
+ {"version":3,"file":"column.d.ts","sourceRoot":"","sources":["../../../../src/blocks/table/utils/column.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACnF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAI9D,eAAO,MAAM,YAAY,QAAO,cAAc,CAAC,SAAS,CAAC,CAAC,MAAM,CAE/D,CAAC;AAEF,QAAA,MAAM,gBAAgB;;;;;;EAAqE,CAAC;AAC5F,KAAK,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEnD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;iBAI7B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG;IAC3B,IAAI,EAAE,UAAU,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,kBAAkB,EAAE,CAAC;CACpC,CAAC;AAEF,eAAO,MAAM,6BAA6B,GAAI,OAAO,eAAe,EAAE,aAAa,MAAM,EAAE,eAAe,aAAa,KAAG,gBAAgB,GAAG,IAe5I,CAAC;AAEF,eAAO,MAAM,2BAA2B,GAAI,OAAO,eAAe,EAAE,UAAU,MAAM,EAAE,eAAe,aAAa,KAAG,gBAAgB,GAAG,IAcvI,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAChC,OAAO,eAAe,EACtB,kBAAkB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,WAAW,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,kBAAkB,EAAE,CAAA;CAAE,EAC9F,OAAO,MAAM,EACb,eAAe,aAAa,EAC5B,cAAa,MAAe,KAC7B,eA8BF,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,OAAO,eAAe,EAAE,UAAU,MAAM,KAAG,eAShF,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,OAAO,eAAe,EAAE,UAAU,MAAM,KAAG,eAUhF,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,OAAO,eAAe,EAAE,UAAU,MAAM,EAAE,MAAM,UAAU,KAAG,eAK1F,CAAC"}
@@ -27,17 +27,6 @@ export var columnInsertSchema = z.object({
27
27
  highlighted: z["boolean"](),
28
28
  cellValues: z.array(rteSchema)
29
29
  });
30
- export var getNewColumnInsertData = function getNewColumnInsertData(numberOfRows, RichTextBlock) {
31
- return {
32
- size: "standard",
33
- highlighted: false,
34
- cellValues: Array.from({
35
- length: numberOfRows
36
- }).map(function () {
37
- return RichTextBlock.defaultValues();
38
- })
39
- };
40
- };
41
30
  export var getDuplicatedColumnInsertData = function getDuplicatedColumnInsertData(state, columnIndex, RichTextBlock) {
42
31
  var sourceColumn = state.columns[columnIndex];
43
32
  if (!sourceColumn) {
@@ -1,3 +1,3 @@
1
1
  import type { z } from "zod";
2
- export declare const getClipboardValueForSchema: <T>(schema: z.ZodSchema<T>) => Promise<T | null>;
2
+ export declare const getClipboardValueForSchema: <T>(schema: z.ZodType<T>) => Promise<T | null>;
3
3
  //# sourceMappingURL=getClipboardValueForSchema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getClipboardValueForSchema.d.ts","sourceRoot":"","sources":["../../../../src/blocks/table/utils/getClipboardValueForSchema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,eAAO,MAAM,0BAA0B,GAAU,CAAC,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAqB5F,CAAC"}
1
+ {"version":3,"file":"getClipboardValueForSchema.d.ts","sourceRoot":"","sources":["../../../../src/blocks/table/utils/getClipboardValueForSchema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,eAAO,MAAM,0BAA0B,GAAU,CAAC,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAqB1F,CAAC"}
@@ -1,27 +1,12 @@
1
1
  import { z } from "zod";
2
2
  import type { RichTextBlock, RichTextBlockState } from "../../createRichTextBlock";
3
- import type { TableBlockRowState, TableBlockState } from "../../createTableBlock";
4
- export declare const getNewRow: (cellValues: TableBlockRowState["cellValues"], newRowId?: string) => TableBlockRowState;
3
+ import type { TableBlockState } from "../../createTableBlock";
5
4
  export declare const rowInsertSchema: z.ZodObject<{
6
5
  highlighted: z.ZodBoolean;
7
6
  cellValues: z.ZodArray<z.ZodObject<{
8
7
  draftContent: z.ZodUnknown;
9
- }, "strip", z.ZodTypeAny, {
10
- draftContent?: unknown;
11
- }, {
12
- draftContent?: unknown;
13
- }>, "many">;
14
- }, "strip", z.ZodTypeAny, {
15
- highlighted: boolean;
16
- cellValues: {
17
- draftContent?: unknown;
18
- }[];
19
- }, {
20
- highlighted: boolean;
21
- cellValues: {
22
- draftContent?: unknown;
23
- }[];
24
- }>;
8
+ }, z.core.$strip>>;
9
+ }, z.core.$strip>;
25
10
  export type RowInsertData = {
26
11
  highlighted: boolean;
27
12
  cellValues: RichTextBlockState[];
@@ -1 +1 @@
1
- {"version":3,"file":"row.d.ts","sourceRoot":"","sources":["../../../../src/blocks/table/utils/row.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACnF,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAIlF,eAAO,MAAM,SAAS,GAAI,YAAY,kBAAkB,CAAC,YAAY,CAAC,EAAE,WAAU,MAAe,KAAG,kBAEnG,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;EAG1B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG;IACxB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,kBAAkB,EAAE,CAAC;CACpC,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC7B,OAAO,eAAe,EACtB,YAAY,aAAa,EACzB,OAAO,MAAM,EACb,eAAe,aAAa,EAC5B,WAAU,MAAe,KAC1B,eA4CF,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,OAAO,eAAe,EAAE,eAAe,MAAM,KAAG,eAK7E,CAAC;AAEF,eAAO,MAAM,0BAA0B,GAAI,OAAO,eAAe,EAAE,OAAO,MAAM,EAAE,eAAe,aAAa,KAAG,aAAa,GAAG,IAchI,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,OAAO,eAAe,EAAE,OAAO,MAAM,EAAE,eAAe,aAAa,KAAG,aAAa,GAAG,IAgB9H,CAAC"}
1
+ {"version":3,"file":"row.d.ts","sourceRoot":"","sources":["../../../../src/blocks/table/utils/row.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACnF,OAAO,KAAK,EAAsB,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAQlF,eAAO,MAAM,eAAe;;;;;iBAG1B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG;IACxB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,kBAAkB,EAAE,CAAC;CACpC,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC7B,OAAO,eAAe,EACtB,YAAY,aAAa,EACzB,OAAO,MAAM,EACb,eAAe,aAAa,EAC5B,WAAU,MAAe,KAC1B,eA4CF,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,OAAO,eAAe,EAAE,eAAe,MAAM,KAAG,eAK7E,CAAC;AAEF,eAAO,MAAM,0BAA0B,GAAI,OAAO,eAAe,EAAE,OAAO,MAAM,EAAE,eAAe,aAAa,KAAG,aAAa,GAAG,IAchI,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,OAAO,eAAe,EAAE,OAAO,MAAM,EAAE,eAAe,aAAa,KAAG,aAAa,GAAG,IAgB9H,CAAC"}
@@ -14,7 +14,7 @@ import { v4 as uuid } from "uuid";
14
14
  import { z } from "zod";
15
15
  import { getNewColumn } from "./column";
16
16
  import { rteSchema } from "./rteSchema";
17
- export var getNewRow = function getNewRow(cellValues) {
17
+ var getNewRow = function getNewRow(cellValues) {
18
18
  var newRowId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : uuid();
19
19
  return {
20
20
  id: newRowId,
@@ -1,9 +1,5 @@
1
1
  import { z } from "zod";
2
2
  export declare const rteSchema: z.ZodObject<{
3
3
  draftContent: z.ZodUnknown;
4
- }, "strip", z.ZodTypeAny, {
5
- draftContent?: unknown;
6
- }, {
7
- draftContent?: unknown;
8
- }>;
4
+ }, z.core.$strip>;
9
5
  //# sourceMappingURL=rteSchema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rteSchema.d.ts","sourceRoot":"","sources":["../../../../src/blocks/table/utils/rteSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,SAAS;;;;;;EAEpB,CAAC"}
1
+ {"version":3,"file":"rteSchema.d.ts","sourceRoot":"","sources":["../../../../src/blocks/table/utils/rteSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,SAAS;;iBAEpB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { TipTapTextBlockStyle } from "./createTipTapRichTextBlock";
2
+ export declare const TextBlockStyleContext: import("react").Context<TipTapTextBlockStyle[]>;
3
+ //# sourceMappingURL=TextBlockStyleContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextBlockStyleContext.d.ts","sourceRoot":"","sources":["../../../src/blocks/tipTap/TextBlockStyleContext.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAExE,eAAO,MAAM,qBAAqB,iDAA4C,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { createContext } from "react";
2
+ export var TextBlockStyleContext = /*#__PURE__*/createContext([]);
@@ -1,11 +1,12 @@
1
1
  import { type Editor } from "@tiptap/react";
2
2
  import type { BlockInterface, LinkBlockInterface } from "../types";
3
- import type { TipTapBlockStyle, TipTapInlineStyle, TipTapSupports } from "./createTipTapRichTextBlock";
4
- export declare const TipTapToolbar: ({ editor, supports, blockStyles, inlineStyles, linkBlock, listLevelMax, }: {
3
+ import type { TipTapInlineStyle, TipTapPlaceholder, TipTapSupports, TipTapTextBlockStyle } from "./createTipTapRichTextBlock";
4
+ export declare const TipTapToolbar: ({ editor, supports, textBlockStyles, inlineStyles, placeholders, linkBlock, listLevelMax, }: {
5
5
  editor: Editor;
6
6
  supports: TipTapSupports[];
7
- blockStyles: TipTapBlockStyle[];
7
+ textBlockStyles: TipTapTextBlockStyle[];
8
8
  inlineStyles: TipTapInlineStyle[];
9
+ placeholders: TipTapPlaceholder[];
9
10
  linkBlock?: BlockInterface & LinkBlockInterface;
10
11
  listLevelMax?: number;
11
12
  }) => import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"TipTapToolbar.d.ts","sourceRoot":"","sources":["../../../src/blocks/tipTap/TipTapToolbar.tsx"],"names":[],"mappings":"AAgCA,OAAO,EAAE,KAAK,MAAM,EAAkB,MAAM,eAAe,CAAC;AAI5D,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAmB,iBAAiB,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AA8GxH,eAAO,MAAM,aAAa,GAAI,2EAO3B;IACC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAChC,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAClC,SAAS,CAAC,EAAE,cAAc,GAAG,kBAAkB,CAAC;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB,4CA4YA,CAAC"}
1
+ {"version":3,"file":"TipTapToolbar.d.ts","sourceRoot":"","sources":["../../../src/blocks/tipTap/TipTapToolbar.tsx"],"names":[],"mappings":"AAiCA,OAAO,EAAE,KAAK,MAAM,EAAkB,MAAM,eAAe,CAAC;AAI5D,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,cAAc,EAAE,oBAAoB,EAAuB,MAAM,6BAA6B,CAAC;AA8GnJ,eAAO,MAAM,aAAa,GAAI,6FAQ3B;IACC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,eAAe,EAAE,oBAAoB,EAAE,CAAC;IACxC,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAClC,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAClC,SAAS,CAAC,EAAE,cAAc,GAAG,kBAAkB,CAAC;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB,4CA2bA,CAAC"}
@@ -11,12 +11,12 @@ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object
11
11
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
12
12
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
13
13
  import { greyPalette, Tooltip } from "@comet/admin";
14
- import { MoreHorizontal, RteBold, RteClearLink, RteIndentDecrease, RteIndentIncrease, RteItalic, RteLink, RteNonBreakingSpace, RteOl, RteRedo, RteSoftHyphen, RteStrikethrough, RteSub, RteSup, RteUl, RteUndo } from "@comet/admin-icons";
14
+ import { MoreHorizontal, RteBold, RteClearLink, RteIndentDecrease, RteIndentIncrease, RteItalic, RteLink, RteNonBreakingSpace, RteOl, RteRedo, RteSoftHyphen, RteStrikethrough, RteSub, RteSup, RteTextPlaceholder, RteUl, RteUndo } from "@comet/admin-icons";
15
15
  import { Box, FormControl, inputBaseClasses, ListItemIcon, Menu, MenuItem, Select, selectClasses } from "@mui/material";
16
16
  import { grey as muiGreyPalette } from "@mui/material/colors";
17
17
  import { useEditorState } from "@tiptap/react";
18
18
  import { useState } from "react";
19
- import { FormattedMessage } from "react-intl";
19
+ import { FormattedMessage, useIntl } from "react-intl";
20
20
  import { TipTapLinkDialog } from "./TipTapLinkDialog";
21
21
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
22
22
  var toolbarButtonSx = {
@@ -124,18 +124,24 @@ var selectSx = _defineProperty({}, "& .".concat(selectClasses.select, ".").conca
124
124
  export var TipTapToolbar = function TipTapToolbar(_ref3) {
125
125
  var editor = _ref3.editor,
126
126
  supports = _ref3.supports,
127
- blockStyles = _ref3.blockStyles,
127
+ textBlockStyles = _ref3.textBlockStyles,
128
128
  inlineStyles = _ref3.inlineStyles,
129
+ placeholders = _ref3.placeholders,
129
130
  linkBlock = _ref3.linkBlock,
130
131
  listLevelMax = _ref3.listLevelMax;
132
+ var intl = useIntl();
131
133
  var _useState = useState(null),
132
134
  _useState2 = _slicedToArray(_useState, 2),
133
135
  moreAnchorEl = _useState2[0],
134
136
  setMoreAnchorEl = _useState2[1];
135
- var _useState3 = useState(false),
137
+ var _useState3 = useState(null),
136
138
  _useState4 = _slicedToArray(_useState3, 2),
137
- linkDialogOpen = _useState4[0],
138
- setLinkDialogOpen = _useState4[1];
139
+ placeholderAnchorEl = _useState4[0],
140
+ setPlaceholderAnchorEl = _useState4[1];
141
+ var _useState5 = useState(false),
142
+ _useState6 = _slicedToArray(_useState5, 2),
143
+ linkDialogOpen = _useState6[0],
144
+ setLinkDialogOpen = _useState6[1];
139
145
  var hasInlineFormatButtons = ["bold", "italic", "strike"].some(function (s) {
140
146
  return supports.includes(s);
141
147
  });
@@ -149,13 +155,14 @@ export var TipTapToolbar = function TipTapToolbar(_ref3) {
149
155
  return supports.includes(s);
150
156
  });
151
157
  var hasLink = supports.includes("link") && !!linkBlock;
158
+ var hasPlaceholders = placeholders.length > 0;
152
159
  var hasInlineStyles = inlineStyles.length > 0;
153
160
  var editorState = useEditorState({
154
161
  editor: editor,
155
162
  selector: function selector(_ref4) {
156
163
  var _ref6;
157
164
  var e = _ref4.editor;
158
- var activeBlockType = function () {
165
+ var activeTextBlockType = function () {
159
166
  for (var level = 1; level <= 6; level++) {
160
167
  if (e.isActive("heading", {
161
168
  level: level
@@ -165,7 +172,7 @@ export var TipTapToolbar = function TipTapToolbar(_ref3) {
165
172
  }
166
173
  return "paragraph";
167
174
  }();
168
- var activeTipTapBlockType = function () {
175
+ var activeTipTapTextBlockType = function () {
169
176
  if (e.isActive("orderedList")) {
170
177
  return "ordered-list";
171
178
  }
@@ -206,9 +213,9 @@ export var TipTapToolbar = function TipTapToolbar(_ref3) {
206
213
  }
207
214
  }
208
215
  return {
209
- activeBlockType: activeBlockType,
210
- activeTipTapBlockType: activeTipTapBlockType,
211
- activeBlockStyle: (_ref6 = attrs.blockStyle) !== null && _ref6 !== void 0 ? _ref6 : "",
216
+ activeTextBlockType: activeTextBlockType,
217
+ activeTipTapTextBlockType: activeTipTapTextBlockType,
218
+ activeTextBlockStyle: (_ref6 = attrs.textBlockStyle) !== null && _ref6 !== void 0 ? _ref6 : "",
212
219
  activeInlineStyle: activeInlineStyle,
213
220
  canUndo: e.can().undo(),
214
221
  canRedo: e.can().redo(),
@@ -232,13 +239,19 @@ export var TipTapToolbar = function TipTapToolbar(_ref3) {
232
239
  return editor.commands.focus();
233
240
  }, 0);
234
241
  };
235
- var applicableBlockStyles = blockStyles.filter(function (style) {
236
- return !style.appliesTo || style.appliesTo.includes(editorState.activeTipTapBlockType);
242
+ var handlePlaceholderClose = function handlePlaceholderClose() {
243
+ setPlaceholderAnchorEl(null);
244
+ setTimeout(function () {
245
+ return editor.commands.focus();
246
+ }, 0);
247
+ };
248
+ var applicableTextBlockStyles = textBlockStyles.filter(function (style) {
249
+ return !style.appliesTo || style.appliesTo.includes(editorState.activeTipTapTextBlockType);
237
250
  });
238
251
  var applicableInlineStyles = inlineStyles.filter(function (style) {
239
- return !style.appliesTo || style.appliesTo.includes(editorState.activeTipTapBlockType);
252
+ return !style.appliesTo || style.appliesTo.includes(editorState.activeTipTapTextBlockType);
240
253
  });
241
- var handleBlockTypeChange = function handleBlockTypeChange(e) {
254
+ var handleTextBlockTypeChange = function handleTextBlockTypeChange(e) {
242
255
  var value = e.target.value;
243
256
  if (value === "paragraph") {
244
257
  editor.chain().focus().setParagraph().run();
@@ -248,28 +261,28 @@ export var TipTapToolbar = function TipTapToolbar(_ref3) {
248
261
  }).run();
249
262
  }
250
263
 
251
- // Clear blockStyle if it's not applicable to the new block type
252
- if (blockStyles.length > 0) {
253
- var activeBlockStyle = editorState.activeBlockStyle;
254
- if (activeBlockStyle) {
264
+ // Clear textBlockStyle if it's not applicable to the new text block type
265
+ if (textBlockStyles.length > 0) {
266
+ var activeTextBlockStyle = editorState.activeTextBlockStyle;
267
+ if (activeTextBlockStyle) {
255
268
  var newType = value === "paragraph" ? "paragraph" : "heading-".concat(value);
256
- var styleConfig = blockStyles.find(function (s) {
257
- return s.name === activeBlockStyle;
269
+ var styleConfig = textBlockStyles.find(function (s) {
270
+ return s.name === activeTextBlockStyle;
258
271
  });
259
272
  if (styleConfig !== null && styleConfig !== void 0 && styleConfig.appliesTo && !styleConfig.appliesTo.includes(newType)) {
260
273
  var nodeType = value === "paragraph" ? "paragraph" : "heading";
261
274
  editor.chain().updateAttributes(nodeType, {
262
- blockStyle: null
275
+ textBlockStyle: null
263
276
  }).run();
264
277
  }
265
278
  }
266
279
  }
267
280
  };
268
- var handleBlockStyleChange = function handleBlockStyleChange(e) {
281
+ var handleTextBlockStyleChange = function handleTextBlockStyleChange(e) {
269
282
  var value = e.target.value || null;
270
283
  var nodeType = editor.isActive("heading") ? "heading" : "paragraph";
271
284
  editor.chain().focus().updateAttributes(nodeType, {
272
- blockStyle: value
285
+ textBlockStyle: value
273
286
  }).run();
274
287
  };
275
288
  var handleInlineStyleChange = function handleInlineStyleChange(e) {
@@ -318,8 +331,8 @@ export var TipTapToolbar = function TipTapToolbar(_ref3) {
318
331
  children: /*#__PURE__*/_jsx(FormControl, {
319
332
  sx: selectFormControlSx,
320
333
  children: /*#__PURE__*/_jsxs(Select, {
321
- value: editorState.activeBlockType,
322
- onChange: handleBlockTypeChange,
334
+ value: editorState.activeTextBlockType,
335
+ onChange: handleTextBlockTypeChange,
323
336
  displayEmpty: true,
324
337
  variant: "filled",
325
338
  MenuProps: {
@@ -330,7 +343,7 @@ export var TipTapToolbar = function TipTapToolbar(_ref3) {
330
343
  value: "paragraph",
331
344
  dense: true,
332
345
  children: /*#__PURE__*/_jsx(FormattedMessage, {
333
- id: "comet.blocks.tipTapRichText.blockType.default",
346
+ id: "comet.blocks.tipTapRichText.textBlockType.default",
334
347
  defaultMessage: "Default"
335
348
  })
336
349
  }), [1, 2, 3, 4, 5, 6].map(function (level) {
@@ -338,7 +351,7 @@ export var TipTapToolbar = function TipTapToolbar(_ref3) {
338
351
  value: String(level),
339
352
  dense: true,
340
353
  children: /*#__PURE__*/_jsx(FormattedMessage, {
341
- id: "comet.blocks.tipTapRichText.blockType.heading",
354
+ id: "comet.blocks.tipTapRichText.textBlockType.heading",
342
355
  defaultMessage: "Heading {level}",
343
356
  values: {
344
357
  level: level
@@ -348,12 +361,12 @@ export var TipTapToolbar = function TipTapToolbar(_ref3) {
348
361
  })]
349
362
  })
350
363
  })
351
- }), applicableBlockStyles.length > 0 && /*#__PURE__*/_jsx(ToolbarGroup, {
364
+ }), applicableTextBlockStyles.length > 0 && /*#__PURE__*/_jsx(ToolbarGroup, {
352
365
  children: /*#__PURE__*/_jsx(FormControl, {
353
366
  sx: selectFormControlSx,
354
367
  children: /*#__PURE__*/_jsxs(Select, {
355
- value: editorState.activeBlockStyle,
356
- onChange: handleBlockStyleChange,
368
+ value: editorState.activeTextBlockStyle,
369
+ onChange: handleTextBlockStyleChange,
357
370
  displayEmpty: true,
358
371
  variant: "filled",
359
372
  MenuProps: {
@@ -364,10 +377,10 @@ export var TipTapToolbar = function TipTapToolbar(_ref3) {
364
377
  value: "",
365
378
  dense: true,
366
379
  children: /*#__PURE__*/_jsx(FormattedMessage, {
367
- id: "comet.blocks.tipTapRichText.blockStyle.default",
380
+ id: "comet.blocks.tipTapRichText.textBlockStyle.default",
368
381
  defaultMessage: "Default"
369
382
  })
370
- }), applicableBlockStyles.map(function (style) {
383
+ }), applicableTextBlockStyles.map(function (style) {
371
384
  return /*#__PURE__*/_jsx(MenuItem, {
372
385
  value: style.name,
373
386
  dense: true,
@@ -575,6 +588,48 @@ export var TipTapToolbar = function TipTapToolbar(_ref3) {
575
588
  }).run();
576
589
  }
577
590
  })]
591
+ }), hasPlaceholders && /*#__PURE__*/_jsxs(ToolbarGroup, {
592
+ children: [/*#__PURE__*/_jsx(Tooltip, {
593
+ title: /*#__PURE__*/_jsx(FormattedMessage, {
594
+ id: "comet.blocks.tipTapRichText.placeholder.tooltip",
595
+ defaultMessage: "Insert placeholder"
596
+ }),
597
+ children: /*#__PURE__*/_jsx(Box, {
598
+ component: "button",
599
+ type: "button",
600
+ "aria-label": intl.formatMessage({
601
+ id: "comet.blocks.tipTapRichText.placeholder.tooltip",
602
+ defaultMessage: "Insert placeholder"
603
+ }),
604
+ onMouseDown: function onMouseDown(e) {
605
+ e.preventDefault();
606
+ setPlaceholderAnchorEl(e.currentTarget);
607
+ },
608
+ sx: toolbarButtonSx,
609
+ children: /*#__PURE__*/_jsx(RteTextPlaceholder, {
610
+ sx: {
611
+ fontSize: 15
612
+ },
613
+ color: "inherit"
614
+ })
615
+ })
616
+ }), /*#__PURE__*/_jsx(Menu, {
617
+ open: Boolean(placeholderAnchorEl),
618
+ anchorEl: placeholderAnchorEl,
619
+ onClose: handlePlaceholderClose,
620
+ children: placeholders.map(function (placeholder) {
621
+ return /*#__PURE__*/_jsx(MenuItem, {
622
+ onMouseDown: function onMouseDown(e) {
623
+ handlePlaceholderClose();
624
+ e.persist();
625
+ setTimeout(function () {
626
+ return editor.chain().focus().insertPlaceholder(placeholder.name).run();
627
+ }, 0);
628
+ },
629
+ children: placeholder.label
630
+ }, placeholder.name);
631
+ })
632
+ })]
578
633
  }), hasLink && linkBlock && /*#__PURE__*/_jsxs(ToolbarGroup, {
579
634
  children: [/*#__PURE__*/_jsx(ToolbarButton, {
580
635
  editor: editor,
@@ -2,25 +2,26 @@ import { type JSONContent } from "@tiptap/react";
2
2
  import type { ComponentType, HTMLAttributes, ReactNode } from "react";
3
3
  import { type BlockInterface, type LinkBlockInterface } from "../types";
4
4
  export type TipTapSupports = "history" | "bold" | "italic" | "strike" | "sub" | "sup" | "heading" | "ordered-list" | "unordered-list" | "non-breaking-space" | "soft-hyphen" | "link";
5
- export type TipTapBlockType = "paragraph" | "heading-1" | "heading-2" | "heading-3" | "heading-4" | "heading-5" | "heading-6" | "ordered-list" | "unordered-list";
6
- export interface TipTapBlockStyle {
5
+ export type { JSONContent as TipTapRichTextBlockContent } from "@tiptap/core";
6
+ export type TipTapTextBlockType = "paragraph" | "heading-1" | "heading-2" | "heading-3" | "heading-4" | "heading-5" | "heading-6" | "ordered-list" | "unordered-list";
7
+ export interface TipTapTextBlockStyle {
7
8
  name: string;
8
9
  label: ReactNode;
9
10
  /**
10
- * Limits the block style to the provided block types.
11
- * If none is specified, the block style is allowed for all block types.
11
+ * Limits the text block style to the provided text block types.
12
+ * If none is specified, the text block style is allowed for all text block types.
12
13
  */
13
- appliesTo?: TipTapBlockType[];
14
+ appliesTo?: TipTapTextBlockType[];
14
15
  element: ComponentType<HTMLAttributes<HTMLElement>>;
15
16
  }
16
17
  export interface TipTapInlineStyle {
17
18
  name: string;
18
19
  label: ReactNode;
19
20
  /**
20
- * Limits the inline style to the provided block types.
21
- * If none is specified, the inline style is allowed for all block types.
21
+ * Limits the inline style to the provided text block types.
22
+ * If none is specified, the inline style is allowed for all text block types.
22
23
  */
23
- appliesTo?: TipTapBlockType[];
24
+ appliesTo?: TipTapTextBlockType[];
24
25
  element: ComponentType<HTMLAttributes<HTMLElement>>;
25
26
  }
26
27
  export interface TipTapRichTextBlockState {
@@ -32,16 +33,21 @@ interface TipTapRichTextBlockData {
32
33
  interface TipTapRichTextBlockInput {
33
34
  tipTapContent: JSONContent;
34
35
  }
36
+ export interface TipTapPlaceholder {
37
+ name: string;
38
+ label: ReactNode;
39
+ }
35
40
  interface TipTapRichTextBlockFactoryOptions {
36
41
  supports?: TipTapSupports[];
37
- blockStyles?: TipTapBlockStyle[];
42
+ textBlockStyles?: TipTapTextBlockStyle[];
38
43
  inlineStyles?: TipTapInlineStyle[];
44
+ placeholders?: TipTapPlaceholder[];
39
45
  link?: BlockInterface & LinkBlockInterface;
40
46
  /**
41
- * Limits the maximum number of top-level blocks (paragraphs, headings, lists)
47
+ * Limits the maximum number of top-level text blocks (paragraphs, headings, lists)
42
48
  * that can be created in the editor.
43
49
  */
44
- maxBlocks?: number;
50
+ maxTextBlocks?: number;
45
51
  /**
46
52
  * Limits the maximum nesting depth of list items.
47
53
  * A value of 1 means only a flat list (no nesting), 2 allows one level of sub-lists, etc.
@@ -52,5 +58,4 @@ interface TipTapRichTextBlockFactoryOptions {
52
58
  * @experimental
53
59
  */
54
60
  export declare const createTipTapRichTextBlock: (options?: TipTapRichTextBlockFactoryOptions) => BlockInterface<TipTapRichTextBlockData, TipTapRichTextBlockState, TipTapRichTextBlockInput>;
55
- export {};
56
61
  //# sourceMappingURL=createTipTapRichTextBlock.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createTipTapRichTextBlock.d.ts","sourceRoot":"","sources":["../../../src/blocks/tipTap/createTipTapRichTextBlock.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAiB,KAAK,WAAW,EAAa,MAAM,eAAe,CAAC;AAE3E,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAItE,OAAO,EAAiB,KAAK,cAAc,EAAE,KAAK,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAYvF,MAAM,MAAM,cAAc,GACpB,SAAS,GACT,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,KAAK,GACL,KAAK,GACL,SAAS,GACT,cAAc,GACd,gBAAgB,GAChB,oBAAoB,GACpB,aAAa,GACb,MAAM,CAAC;AAgBb,MAAM,MAAM,eAAe,GACrB,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,cAAc,GACd,gBAAgB,CAAC;AAEvB,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,SAAS,CAAC;IACjB;;;OAGG;IACH,SAAS,CAAC,EAAE,eAAe,EAAE,CAAC;IAC9B,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC;CACvD;AAED,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,SAAS,CAAC;IACjB;;;OAGG;IACH,SAAS,CAAC,EAAE,eAAe,EAAE,CAAC;IAC9B,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC;CACvD;AAED,MAAM,WAAW,wBAAwB;IACrC,aAAa,EAAE,WAAW,CAAC;CAC9B;AAED,UAAU,uBAAuB;IAC7B,aAAa,EAAE,WAAW,CAAC;CAC9B;AAED,UAAU,wBAAwB;IAC9B,aAAa,EAAE,WAAW,CAAC;CAC9B;AAED,UAAU,iCAAiC;IACvC,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACjC,YAAY,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACnC,IAAI,CAAC,EAAE,cAAc,GAAG,kBAAkB,CAAC;IAC3C;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAkMD;;GAEG;AACH,eAAO,MAAM,yBAAyB,GAClC,UAAU,iCAAiC,KAC5C,cAAc,CAAC,uBAAuB,EAAE,wBAAwB,EAAE,wBAAwB,CAuF5F,CAAC"}
1
+ {"version":3,"file":"createTipTapRichTextBlock.d.ts","sourceRoot":"","sources":["../../../src/blocks/tipTap/createTipTapRichTextBlock.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAiB,KAAK,WAAW,EAAa,MAAM,eAAe,CAAC;AAE3E,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAItE,OAAO,EAAiB,KAAK,cAAc,EAAE,KAAK,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAavF,MAAM,MAAM,cAAc,GACpB,SAAS,GACT,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,KAAK,GACL,KAAK,GACL,SAAS,GACT,cAAc,GACd,gBAAgB,GAChB,oBAAoB,GACpB,aAAa,GACb,MAAM,CAAC;AAgBb,YAAY,EAAE,WAAW,IAAI,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAE9E,MAAM,MAAM,mBAAmB,GACzB,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,cAAc,GACd,gBAAgB,CAAC;AAEvB,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,SAAS,CAAC;IACjB;;;OAGG;IACH,SAAS,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAClC,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC;CACvD;AAED,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,SAAS,CAAC;IACjB;;;OAGG;IACH,SAAS,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAClC,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC;CACvD;AAED,MAAM,WAAW,wBAAwB;IACrC,aAAa,EAAE,WAAW,CAAC;CAC9B;AAED,UAAU,uBAAuB;IAC7B,aAAa,EAAE,WAAW,CAAC;CAC9B;AAED,UAAU,wBAAwB;IAC9B,aAAa,EAAE,WAAW,CAAC;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,SAAS,CAAC;CACpB;AAED,UAAU,iCAAiC;IACvC,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;IAC5B,eAAe,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACzC,YAAY,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACnC,YAAY,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACnC,IAAI,CAAC,EAAE,cAAc,GAAG,kBAAkB,CAAC;IAC3C;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAuMD;;GAEG;AACH,eAAO,MAAM,yBAAyB,GAClC,UAAU,iCAAiC,KAC5C,cAAc,CAAC,uBAAuB,EAAE,wBAAwB,EAAE,wBAAwB,CAyF5F,CAAC"}