@dextinity/admin-rte 2.0.0-canary-20260729062014

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 (201) hide show
  1. package/LICENSE +24 -0
  2. package/lib/core/BlockElement.d.ts +29 -0
  3. package/lib/core/BlockElement.d.ts.map +1 -0
  4. package/lib/core/BlockElement.js +43 -0
  5. package/lib/core/Controls/BlockTypesControls.d.ts +16 -0
  6. package/lib/core/Controls/BlockTypesControls.d.ts.map +1 -0
  7. package/lib/core/Controls/BlockTypesControls.js +91 -0
  8. package/lib/core/Controls/ControlButton.d.ts +28 -0
  9. package/lib/core/Controls/ControlButton.d.ts.map +1 -0
  10. package/lib/core/Controls/ControlButton.js +62 -0
  11. package/lib/core/Controls/Controls.d.ts +3 -0
  12. package/lib/core/Controls/Controls.d.ts.map +1 -0
  13. package/lib/core/Controls/Controls.js +30 -0
  14. package/lib/core/Controls/CustomControls.d.ts +3 -0
  15. package/lib/core/Controls/CustomControls.d.ts.map +1 -0
  16. package/lib/core/Controls/CustomControls.js +20 -0
  17. package/lib/core/Controls/FeaturesButtonGroup.d.ts +30 -0
  18. package/lib/core/Controls/FeaturesButtonGroup.d.ts.map +1 -0
  19. package/lib/core/Controls/FeaturesButtonGroup.js +147 -0
  20. package/lib/core/Controls/HistoryContols.d.ts +3 -0
  21. package/lib/core/Controls/HistoryContols.d.ts.map +1 -0
  22. package/lib/core/Controls/HistoryContols.js +24 -0
  23. package/lib/core/Controls/InlineStyleTypeControls.d.ts +3 -0
  24. package/lib/core/Controls/InlineStyleTypeControls.d.ts.map +1 -0
  25. package/lib/core/Controls/InlineStyleTypeControls.js +29 -0
  26. package/lib/core/Controls/LinkControls.d.ts +26 -0
  27. package/lib/core/Controls/LinkControls.d.ts.map +1 -0
  28. package/lib/core/Controls/LinkControls.js +54 -0
  29. package/lib/core/Controls/ListsControls.d.ts +3 -0
  30. package/lib/core/Controls/ListsControls.d.ts.map +1 -0
  31. package/lib/core/Controls/ListsControls.js +30 -0
  32. package/lib/core/Controls/ListsIndentControls.d.ts +3 -0
  33. package/lib/core/Controls/ListsIndentControls.d.ts.map +1 -0
  34. package/lib/core/Controls/ListsIndentControls.js +27 -0
  35. package/lib/core/Controls/SpecialCharactersControls.d.ts +4 -0
  36. package/lib/core/Controls/SpecialCharactersControls.d.ts.map +1 -0
  37. package/lib/core/Controls/SpecialCharactersControls.js +20 -0
  38. package/lib/core/Controls/Toolbar/Toolbar.d.ts +28 -0
  39. package/lib/core/Controls/Toolbar/Toolbar.d.ts.map +1 -0
  40. package/lib/core/Controls/Toolbar/Toolbar.js +41 -0
  41. package/lib/core/Controls/Toolbar/Toolbar.styles.d.ts +14 -0
  42. package/lib/core/Controls/Toolbar/Toolbar.styles.d.ts.map +1 -0
  43. package/lib/core/Controls/Toolbar/Toolbar.styles.js +21 -0
  44. package/lib/core/Controls/TranslationControls.d.ts +4 -0
  45. package/lib/core/Controls/TranslationControls.d.ts.map +1 -0
  46. package/lib/core/Controls/TranslationControls.js +20 -0
  47. package/lib/core/Controls/useBlockTypes.d.ts +23 -0
  48. package/lib/core/Controls/useBlockTypes.d.ts.map +1 -0
  49. package/lib/core/Controls/useBlockTypes.js +116 -0
  50. package/lib/core/Controls/useHistory.d.ts +13 -0
  51. package/lib/core/Controls/useHistory.d.ts.map +1 -0
  52. package/lib/core/Controls/useHistory.js +63 -0
  53. package/lib/core/Controls/useInlineStyleType.d.ts +16 -0
  54. package/lib/core/Controls/useInlineStyleType.d.ts.map +1 -0
  55. package/lib/core/Controls/useInlineStyleType.js +148 -0
  56. package/lib/core/Controls/useListIndent.d.ts +14 -0
  57. package/lib/core/Controls/useListIndent.d.ts.map +1 -0
  58. package/lib/core/Controls/useListIndent.js +114 -0
  59. package/lib/core/Rte.d.ts +72 -0
  60. package/lib/core/Rte.d.ts.map +1 -0
  61. package/lib/core/Rte.js +256 -0
  62. package/lib/core/RteReadOnly.d.ts +19 -0
  63. package/lib/core/RteReadOnly.d.ts.map +1 -0
  64. package/lib/core/RteReadOnly.js +62 -0
  65. package/lib/core/defaultBlocktypeMap.d.ts +6 -0
  66. package/lib/core/defaultBlocktypeMap.d.ts.map +1 -0
  67. package/lib/core/defaultBlocktypeMap.js +235 -0
  68. package/lib/core/extension/Link/Decorator.d.ts +5 -0
  69. package/lib/core/extension/Link/Decorator.d.ts.map +1 -0
  70. package/lib/core/extension/Link/Decorator.js +13 -0
  71. package/lib/core/extension/Link/EditorComponent.d.ts +12 -0
  72. package/lib/core/extension/Link/EditorComponent.d.ts.map +1 -0
  73. package/lib/core/extension/Link/EditorComponent.js +14 -0
  74. package/lib/core/extension/Link/ToolbarButton.d.ts +3 -0
  75. package/lib/core/extension/Link/ToolbarButton.d.ts.map +1 -0
  76. package/lib/core/extension/Link/ToolbarButton.js +162 -0
  77. package/lib/core/extension/LinksRemove/ToolbarButton.d.ts +3 -0
  78. package/lib/core/extension/LinksRemove/ToolbarButton.d.ts.map +1 -0
  79. package/lib/core/extension/LinksRemove/ToolbarButton.js +20 -0
  80. package/lib/core/extension/NonBreakingSpace/Decorator.d.ts +4 -0
  81. package/lib/core/extension/NonBreakingSpace/Decorator.d.ts.map +1 -0
  82. package/lib/core/extension/NonBreakingSpace/Decorator.js +17 -0
  83. package/lib/core/extension/NonBreakingSpace/EditorComponent.d.ts +9 -0
  84. package/lib/core/extension/NonBreakingSpace/EditorComponent.d.ts.map +1 -0
  85. package/lib/core/extension/NonBreakingSpace/EditorComponent.js +37 -0
  86. package/lib/core/extension/NonBreakingSpace/ToolbarButton.d.ts +4 -0
  87. package/lib/core/extension/NonBreakingSpace/ToolbarButton.d.ts.map +1 -0
  88. package/lib/core/extension/NonBreakingSpace/ToolbarButton.js +42 -0
  89. package/lib/core/extension/SoftHyphen/Decorator.d.ts +4 -0
  90. package/lib/core/extension/SoftHyphen/Decorator.d.ts.map +1 -0
  91. package/lib/core/extension/SoftHyphen/Decorator.js +17 -0
  92. package/lib/core/extension/SoftHyphen/EditorComponent.d.ts +9 -0
  93. package/lib/core/extension/SoftHyphen/EditorComponent.d.ts.map +1 -0
  94. package/lib/core/extension/SoftHyphen/EditorComponent.js +24 -0
  95. package/lib/core/extension/SoftHyphen/ToolbarButton.d.ts +3 -0
  96. package/lib/core/extension/SoftHyphen/ToolbarButton.d.ts.map +1 -0
  97. package/lib/core/extension/SoftHyphen/ToolbarButton.js +35 -0
  98. package/lib/core/filterEditor/composeFilterEditorFns.d.ts +4 -0
  99. package/lib/core/filterEditor/composeFilterEditorFns.d.ts.map +1 -0
  100. package/lib/core/filterEditor/composeFilterEditorFns.js +8 -0
  101. package/lib/core/filterEditor/default.d.ts +4 -0
  102. package/lib/core/filterEditor/default.d.ts.map +1 -0
  103. package/lib/core/filterEditor/default.js +16 -0
  104. package/lib/core/filterEditor/manageStandardBlockType.d.ts +4 -0
  105. package/lib/core/filterEditor/manageStandardBlockType.d.ts.map +1 -0
  106. package/lib/core/filterEditor/manageStandardBlockType.js +16 -0
  107. package/lib/core/filterEditor/removeBlocksExceedingBlockLimit.d.ts +4 -0
  108. package/lib/core/filterEditor/removeBlocksExceedingBlockLimit.d.ts.map +1 -0
  109. package/lib/core/filterEditor/removeBlocksExceedingBlockLimit.js +22 -0
  110. package/lib/core/filterEditor/removeUnsupportedBlockTypes.d.ts +4 -0
  111. package/lib/core/filterEditor/removeUnsupportedBlockTypes.d.ts.map +1 -0
  112. package/lib/core/filterEditor/removeUnsupportedBlockTypes.js +35 -0
  113. package/lib/core/filterEditor/removeUnsupportedEntities.d.ts +4 -0
  114. package/lib/core/filterEditor/removeUnsupportedEntities.d.ts.map +1 -0
  115. package/lib/core/filterEditor/removeUnsupportedEntities.js +18 -0
  116. package/lib/core/filterEditor/removeUnsupportedInlineStyles.d.ts +4 -0
  117. package/lib/core/filterEditor/removeUnsupportedInlineStyles.d.ts.map +1 -0
  118. package/lib/core/filterEditor/removeUnsupportedInlineStyles.js +26 -0
  119. package/lib/core/filterEditor/removeUnsupportedListLevels.d.ts +4 -0
  120. package/lib/core/filterEditor/removeUnsupportedListLevels.d.ts.map +1 -0
  121. package/lib/core/filterEditor/removeUnsupportedListLevels.js +16 -0
  122. package/lib/core/filterEditor/utils/changeBlockType.d.ts +9 -0
  123. package/lib/core/filterEditor/utils/changeBlockType.d.ts.map +1 -0
  124. package/lib/core/filterEditor/utils/changeBlockType.js +37 -0
  125. package/lib/core/filterEditor/utils/manipulateEntityData.d.ts +6 -0
  126. package/lib/core/filterEditor/utils/manipulateEntityData.d.ts.map +1 -0
  127. package/lib/core/filterEditor/utils/manipulateEntityData.js +43 -0
  128. package/lib/core/filterEditor/utils/removeEntities.d.ts +6 -0
  129. package/lib/core/filterEditor/utils/removeEntities.d.ts.map +1 -0
  130. package/lib/core/filterEditor/utils/removeEntities.js +34 -0
  131. package/lib/core/filterEditor/utils/removeInlineStyles.d.ts +5 -0
  132. package/lib/core/filterEditor/utils/removeInlineStyles.d.ts.map +1 -0
  133. package/lib/core/filterEditor/utils/removeInlineStyles.js +28 -0
  134. package/lib/core/makeRteApi.d.ts +26 -0
  135. package/lib/core/makeRteApi.d.ts.map +1 -0
  136. package/lib/core/makeRteApi.js +86 -0
  137. package/lib/core/translation/EditorStateTranslationDialog.d.ts +11 -0
  138. package/lib/core/translation/EditorStateTranslationDialog.d.ts.map +1 -0
  139. package/lib/core/translation/EditorStateTranslationDialog.js +32 -0
  140. package/lib/core/translation/ToolbarButton.d.ts +4 -0
  141. package/lib/core/translation/ToolbarButton.d.ts.map +1 -0
  142. package/lib/core/translation/ToolbarButton.js +98 -0
  143. package/lib/core/translation/htmlToState.d.ts +9 -0
  144. package/lib/core/translation/htmlToState.d.ts.map +1 -0
  145. package/lib/core/translation/htmlToState.js +53 -0
  146. package/lib/core/translation/htmlToState.spec.d.ts +2 -0
  147. package/lib/core/translation/htmlToState.spec.d.ts.map +1 -0
  148. package/lib/core/translation/stateToHtml.d.ts +13 -0
  149. package/lib/core/translation/stateToHtml.d.ts.map +1 -0
  150. package/lib/core/translation/stateToHtml.js +60 -0
  151. package/lib/core/translation/stateToHtml.spec.d.ts +2 -0
  152. package/lib/core/translation/stateToHtml.spec.d.ts.map +1 -0
  153. package/lib/core/types.d.ts +64 -0
  154. package/lib/core/types.d.ts.map +1 -0
  155. package/lib/core/types.js +1 -0
  156. package/lib/core/utils/createBlockRenderMap.d.ts +6 -0
  157. package/lib/core/utils/createBlockRenderMap.d.ts.map +1 -0
  158. package/lib/core/utils/createBlockRenderMap.js +22 -0
  159. package/lib/core/utils/findEntityDataInCurrentSelection.d.ts +3 -0
  160. package/lib/core/utils/findEntityDataInCurrentSelection.d.ts.map +1 -0
  161. package/lib/core/utils/findEntityDataInCurrentSelection.js +12 -0
  162. package/lib/core/utils/findEntityInCurrentSelection.d.ts +8 -0
  163. package/lib/core/utils/findEntityInCurrentSelection.d.ts.map +1 -0
  164. package/lib/core/utils/findEntityInCurrentSelection.js +81 -0
  165. package/lib/core/utils/findTextInCurrentSelection.d.ts +3 -0
  166. package/lib/core/utils/findTextInCurrentSelection.d.ts.map +1 -0
  167. package/lib/core/utils/findTextInCurrentSelection.js +16 -0
  168. package/lib/core/utils/getCurrentBlock.d.ts +3 -0
  169. package/lib/core/utils/getCurrentBlock.d.ts.map +1 -0
  170. package/lib/core/utils/getCurrentBlock.js +7 -0
  171. package/lib/core/utils/getRteTheme.d.ts +19 -0
  172. package/lib/core/utils/getRteTheme.d.ts.map +1 -0
  173. package/lib/core/utils/getRteTheme.js +18 -0
  174. package/lib/core/utils/pasteAndFilterText.d.ts +5 -0
  175. package/lib/core/utils/pasteAndFilterText.d.ts.map +1 -0
  176. package/lib/core/utils/pasteAndFilterText.js +17 -0
  177. package/lib/core/utils/rangesIntersect.d.ts +6 -0
  178. package/lib/core/utils/rangesIntersect.d.ts.map +1 -0
  179. package/lib/core/utils/rangesIntersect.js +22 -0
  180. package/lib/core/utils/selectionIsInOneBlock.d.ts +3 -0
  181. package/lib/core/utils/selectionIsInOneBlock.d.ts.map +1 -0
  182. package/lib/core/utils/selectionIsInOneBlock.js +6 -0
  183. package/lib/field/createFinalFormRte.d.ts +22 -0
  184. package/lib/field/createFinalFormRte.d.ts.map +1 -0
  185. package/lib/field/createFinalFormRte.js +84 -0
  186. package/lib/field/createRteField.d.ts +13 -0
  187. package/lib/field/createRteField.d.ts.map +1 -0
  188. package/lib/field/createRteField.js +44 -0
  189. package/lib/index.d.ts +31 -0
  190. package/lib/index.d.ts.map +1 -0
  191. package/lib/index.js +29 -0
  192. package/lib/useDebounce.d.ts +2 -0
  193. package/lib/useDebounce.d.ts.map +1 -0
  194. package/lib/useDebounce.js +32 -0
  195. package/lib/usePrevious.d.ts +4 -0
  196. package/lib/usePrevious.d.ts.map +1 -0
  197. package/lib/usePrevious.js +20 -0
  198. package/lib/utils/requiredValidator.d.ts +4 -0
  199. package/lib/utils/requiredValidator.d.ts.map +1 -0
  200. package/lib/utils/requiredValidator.js +16 -0
  201. package/package.json +93 -0
@@ -0,0 +1,3 @@
1
+ import type { IControlProps } from "../types";
2
+ export default function InlineStyleTypeControls({ editorState, setEditorState, options: { supports: supportedThings, customInlineStyles }, disabled, editorRef, }: IControlProps): import("react/jsx-runtime").JSX.Element | null;
3
+ //# sourceMappingURL=InlineStyleTypeControls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InlineStyleTypeControls.d.ts","sourceRoot":"","sources":["../../../src/core/Controls/InlineStyleTypeControls.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAI9C,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAAC,EAC5C,WAAW,EACX,cAAc,EACd,OAAO,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,kBAAkB,EAAE,EAC1D,QAAQ,EACR,SAAS,GACZ,EAAE,aAAa,kDAMf"}
@@ -0,0 +1,29 @@
1
+ import { FeaturesButtonGroup } from "./FeaturesButtonGroup";
2
+ import useInlineStyleType from "./useInlineStyleType";
3
+ import { jsx as _jsx } from "react/jsx-runtime";
4
+ export default function InlineStyleTypeControls(_ref) {
5
+ var editorState = _ref.editorState,
6
+ setEditorState = _ref.setEditorState,
7
+ _ref$options = _ref.options,
8
+ supportedThings = _ref$options.supports,
9
+ customInlineStyles = _ref$options.customInlineStyles,
10
+ disabled = _ref.disabled,
11
+ editorRef = _ref.editorRef;
12
+ var _useInlineStyleType = useInlineStyleType({
13
+ editorState: editorState,
14
+ setEditorState: setEditorState,
15
+ supportedThings: supportedThings,
16
+ customInlineStyles: customInlineStyles,
17
+ editorRef: editorRef
18
+ }),
19
+ features = _useInlineStyleType.features;
20
+ if (!features) {
21
+ return null;
22
+ }
23
+ return /*#__PURE__*/_jsx(FeaturesButtonGroup, {
24
+ features: features,
25
+ disabled: disabled,
26
+ editorRef: editorRef,
27
+ maxVisible: 4
28
+ });
29
+ }
@@ -0,0 +1,26 @@
1
+ import { type ThemedComponentBaseProps } from "@dextinity/admin";
2
+ import { ButtonGroup, type ComponentsOverrides, type Theme } from "@mui/material";
3
+ import type { IControlProps } from "../types";
4
+ export interface RteLinkControlsProps extends IControlProps, ThemedComponentBaseProps<{
5
+ root: typeof ButtonGroup;
6
+ item: "div";
7
+ }> {
8
+ }
9
+ export type RteLinkControlsClassKey = "root" | "item";
10
+ declare const _default: (p: IControlProps) => import("react/jsx-runtime").JSX.Element | null;
11
+ export default _default;
12
+ declare module "@mui/material/styles" {
13
+ interface ComponentsPropsList {
14
+ CometAdminRteLinkControls: RteLinkControlsProps;
15
+ }
16
+ interface ComponentNameToClassKey {
17
+ CometAdminRteLinkControls: RteLinkControlsClassKey;
18
+ }
19
+ interface Components {
20
+ CometAdminRteLinkControls?: {
21
+ defaultProps?: Partial<ComponentsPropsList["CometAdminRteLinkControls"]>;
22
+ styleOverrides?: ComponentsOverrides<Theme>["CometAdminRteLinkControls"];
23
+ };
24
+ }
25
+ }
26
+ //# sourceMappingURL=LinkControls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LinkControls.d.ts","sourceRoot":"","sources":["../../../src/core/Controls/LinkControls.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AACtF,OAAO,EAAE,WAAW,EAAE,KAAK,mBAAmB,EAAO,KAAK,KAAK,EAAiB,MAAM,eAAe,CAAC;AAItG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,MAAM,WAAW,oBACb,SAAQ,aAAa,EACjB,wBAAwB,CAAC;IACrB,IAAI,EAAE,OAAO,WAAW,CAAC;IACzB,IAAI,EAAE,KAAK,CAAC;CACf,CAAC;CAAG;AAqBb,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,MAAM,CAAC;yBAmBtC,GAAG,aAAa;AAAhC,wBAQE;AAEF,OAAO,QAAQ,sBAAsB,CAAC;IAClC,UAAU,mBAAmB;QACzB,yBAAyB,EAAE,oBAAoB,CAAC;KACnD;IAED,UAAU,uBAAuB;QAC7B,yBAAyB,EAAE,uBAAuB,CAAC;KACtD;IAED,UAAU,UAAU;QAChB,yBAAyB,CAAC,EAAE;YACxB,YAAY,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,2BAA2B,CAAC,CAAC,CAAC;YACzE,cAAc,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC,2BAA2B,CAAC,CAAC;SAC5E,CAAC;KACL;CACJ"}
@@ -0,0 +1,54 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ var _templateObject;
3
+ var _excluded = ["options", "slotProps"];
4
+ function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
5
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
6
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
7
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
8
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
9
+ 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); }
10
+ 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; }
11
+ 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; }
12
+ import { createComponentSlot } from "@dextinity/admin";
13
+ import { ButtonGroup, css, useThemeProps } from "@mui/material";
14
+ import LinkToolbarButton from "../extension/Link/ToolbarButton";
15
+ import LinksRemoveToolbarButton from "../extension/LinksRemove/ToolbarButton";
16
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
17
+ function StyledLinkControls(inProps) {
18
+ var props = useThemeProps({
19
+ props: inProps,
20
+ name: "CometAdminRteLinkControls"
21
+ });
22
+ var _props$options = props.options,
23
+ supportedThings = _props$options.supports,
24
+ overwriteLinkButton = _props$options.overwriteLinkButton,
25
+ overwriteLinksRemoveButton = _props$options.overwriteLinksRemoveButton,
26
+ slotProps = props.slotProps,
27
+ restProps = _objectWithoutProperties(props, _excluded);
28
+ var LinkButtonComponent = overwriteLinkButton ? overwriteLinkButton : LinkToolbarButton;
29
+ var LinksRemoveButtonComponent = overwriteLinksRemoveButton ? overwriteLinksRemoveButton : LinksRemoveToolbarButton;
30
+ return /*#__PURE__*/_jsxs(Root, _objectSpread(_objectSpread(_objectSpread({}, slotProps === null || slotProps === void 0 ? void 0 : slotProps.root), restProps), {}, {
31
+ children: [/*#__PURE__*/_jsx(Item, _objectSpread(_objectSpread({}, slotProps === null || slotProps === void 0 ? void 0 : slotProps.item), {}, {
32
+ children: supportedThings.includes("link") && /*#__PURE__*/_jsx(LinkButtonComponent, _objectSpread({}, props))
33
+ })), /*#__PURE__*/_jsx(Item, _objectSpread(_objectSpread({}, slotProps === null || slotProps === void 0 ? void 0 : slotProps.item), {}, {
34
+ children: supportedThings.includes("links-remove") && /*#__PURE__*/_jsx(LinksRemoveButtonComponent, _objectSpread({}, props))
35
+ }))]
36
+ }));
37
+ }
38
+ var Root = createComponentSlot(ButtonGroup)({
39
+ componentName: "RteLinkControls",
40
+ slotName: "root"
41
+ })();
42
+ var Item = createComponentSlot("div")({
43
+ componentName: "RteLinkControls",
44
+ slotName: "item"
45
+ })(css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n margin-right: 1px;\n min-width: 0;\n &:last-child {\n margin-right: 0;\n }\n"]))));
46
+
47
+ // If there are no link-actions, this must return null not just an empty component, to prevent an empty item from being rendered in Toolbar
48
+ export default (function (p) {
49
+ var supportedThings = p.options.supports;
50
+ if (!supportedThings.includes("link") && !supportedThings.includes("links-remove")) {
51
+ return null;
52
+ }
53
+ return /*#__PURE__*/_jsx(StyledLinkControls, _objectSpread({}, p));
54
+ });
@@ -0,0 +1,3 @@
1
+ import type { IControlProps } from "../types";
2
+ export default function ListsControls({ editorState, setEditorState, editorRef, options: { supports: supportedThings, blocktypeMap, standardBlockType }, disabled, }: IControlProps): import("react/jsx-runtime").JSX.Element | null;
3
+ //# sourceMappingURL=ListsControls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListsControls.d.ts","sourceRoot":"","sources":["../../../src/core/Controls/ListsControls.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAI9C,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EAClC,WAAW,EACX,cAAc,EACd,SAAS,EACT,OAAO,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,YAAY,EAAE,iBAAiB,EAAE,EACvE,QAAQ,GACX,EAAE,aAAa,kDAMf"}
@@ -0,0 +1,30 @@
1
+ import { FeaturesButtonGroup } from "./FeaturesButtonGroup";
2
+ import useBlockTypes from "./useBlockTypes";
3
+ import { jsx as _jsx } from "react/jsx-runtime";
4
+ export default function ListsControls(_ref) {
5
+ var editorState = _ref.editorState,
6
+ setEditorState = _ref.setEditorState,
7
+ editorRef = _ref.editorRef,
8
+ _ref$options = _ref.options,
9
+ supportedThings = _ref$options.supports,
10
+ blocktypeMap = _ref$options.blocktypeMap,
11
+ standardBlockType = _ref$options.standardBlockType,
12
+ disabled = _ref.disabled;
13
+ var _useBlockTypes = useBlockTypes({
14
+ editorState: editorState,
15
+ setEditorState: setEditorState,
16
+ supportedThings: supportedThings,
17
+ blocktypeMap: blocktypeMap,
18
+ editorRef: editorRef,
19
+ standardBlockType: standardBlockType
20
+ }),
21
+ listsFeatures = _useBlockTypes.listsFeatures;
22
+ if (listsFeatures.length < 1) {
23
+ return null;
24
+ }
25
+ return /*#__PURE__*/_jsx(FeaturesButtonGroup, {
26
+ features: listsFeatures,
27
+ disabled: disabled,
28
+ editorRef: editorRef
29
+ });
30
+ }
@@ -0,0 +1,3 @@
1
+ import type { IControlProps } from "../types";
2
+ export default function ListsIndentControls({ editorState, setEditorState, options: { supports: supportedThings, listLevelMax }, disabled, editorRef, }: IControlProps): import("react/jsx-runtime").JSX.Element | null;
3
+ //# sourceMappingURL=ListsIndentControls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListsIndentControls.d.ts","sourceRoot":"","sources":["../../../src/core/Controls/ListsIndentControls.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAI9C,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EACxC,WAAW,EACX,cAAc,EACd,OAAO,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,YAAY,EAAE,EACpD,QAAQ,EACR,SAAS,GACZ,EAAE,aAAa,kDAMf"}
@@ -0,0 +1,27 @@
1
+ import { FeaturesButtonGroup } from "./FeaturesButtonGroup";
2
+ import useListIndent from "./useListIndent";
3
+ import { jsx as _jsx } from "react/jsx-runtime";
4
+ export default function ListsIndentControls(_ref) {
5
+ var editorState = _ref.editorState,
6
+ setEditorState = _ref.setEditorState,
7
+ _ref$options = _ref.options,
8
+ supportedThings = _ref$options.supports,
9
+ listLevelMax = _ref$options.listLevelMax,
10
+ disabled = _ref.disabled,
11
+ editorRef = _ref.editorRef;
12
+ var _useListIndent = useListIndent({
13
+ editorState: editorState,
14
+ setEditorState: setEditorState,
15
+ supportedThings: supportedThings,
16
+ listLevelMax: listLevelMax
17
+ }),
18
+ features = _useListIndent.features;
19
+ if (features.length < 1) {
20
+ return null;
21
+ }
22
+ return /*#__PURE__*/_jsx(FeaturesButtonGroup, {
23
+ features: features,
24
+ disabled: disabled,
25
+ editorRef: editorRef
26
+ });
27
+ }
@@ -0,0 +1,4 @@
1
+ import type { IControlProps } from "../types";
2
+ declare function SpecialCharactersControls(props: IControlProps): import("react/jsx-runtime").JSX.Element | null;
3
+ export default SpecialCharactersControls;
4
+ //# sourceMappingURL=SpecialCharactersControls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpecialCharactersControls.d.ts","sourceRoot":"","sources":["../../../src/core/Controls/SpecialCharactersControls.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,iBAAS,yBAAyB,CAAC,KAAK,EAAE,aAAa,kDAetD;AAED,eAAe,yBAAyB,CAAC"}
@@ -0,0 +1,20 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
6
+ 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); }
7
+ import { ButtonGroup } from "@mui/material";
8
+ import NonBreakingSpaceToolbarButton from "../extension/NonBreakingSpace/ToolbarButton";
9
+ import { ToolbarButton as SoftHyphenToolbarButton } from "../extension/SoftHyphen/ToolbarButton";
10
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
+ function SpecialCharactersControls(props) {
12
+ var supportedThings = props.options.supports;
13
+ if (!supportedThings.includes("non-breaking-space") && !supportedThings.includes("soft-hyphen")) {
14
+ return null;
15
+ }
16
+ return /*#__PURE__*/_jsxs(ButtonGroup, {
17
+ children: [supportedThings.includes("non-breaking-space") && /*#__PURE__*/_jsx(NonBreakingSpaceToolbarButton, _objectSpread({}, props)), supportedThings.includes("soft-hyphen") && /*#__PURE__*/_jsx(SoftHyphenToolbarButton, _objectSpread({}, props))]
18
+ });
19
+ }
20
+ export default SpecialCharactersControls;
@@ -0,0 +1,28 @@
1
+ import type { ThemedComponentBaseProps } from "@dextinity/admin";
2
+ import type { ComponentsOverrides, Theme } from "@mui/material";
3
+ import { type JSX } from "react";
4
+ import type { IControlProps } from "../../types";
5
+ import { type RteToolbarClassKey } from "./Toolbar.styles";
6
+ interface RteToolbarProps extends IControlProps, ThemedComponentBaseProps<{
7
+ root: "div";
8
+ slot: "div";
9
+ }> {
10
+ children: Array<(p: IControlProps) => JSX.Element | null>;
11
+ }
12
+ export declare function Toolbar(inProps: RteToolbarProps): import("react/jsx-runtime").JSX.Element;
13
+ declare module "@mui/material/styles" {
14
+ interface ComponentsPropsList {
15
+ CometAdminRteToolbar: RteToolbarProps;
16
+ }
17
+ interface ComponentNameToClassKey {
18
+ CometAdminRteToolbar: RteToolbarClassKey;
19
+ }
20
+ interface Components {
21
+ CometAdminRteToolbar?: {
22
+ defaultProps?: Partial<ComponentsPropsList["CometAdminRteToolbar"]>;
23
+ styleOverrides?: ComponentsOverrides<Theme>["CometAdminRteToolbar"];
24
+ };
25
+ }
26
+ }
27
+ export {};
28
+ //# sourceMappingURL=Toolbar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toolbar.d.ts","sourceRoot":"","sources":["../../../../src/core/Controls/Toolbar/Toolbar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEhE,OAAO,EAAiB,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAEhD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAQ,KAAK,kBAAkB,EAAQ,MAAM,kBAAkB,CAAC;AAEvE,UAAU,eACN,SAAQ,aAAa,EACjB,wBAAwB,CAAC;IACrB,IAAI,EAAE,KAAK,CAAC;IACZ,IAAI,EAAE,KAAK,CAAC;CACf,CAAC;IACN,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,aAAa,KAAK,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;CAC7D;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,eAAe,2CAyB/C;AAED,OAAO,QAAQ,sBAAsB,CAAC;IAClC,UAAU,mBAAmB;QACzB,oBAAoB,EAAE,eAAe,CAAC;KACzC;IAED,UAAU,uBAAuB;QAC7B,oBAAoB,EAAE,kBAAkB,CAAC;KAC5C;IAED,UAAU,UAAU;QAChB,oBAAoB,CAAC,EAAE;YACnB,YAAY,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,sBAAsB,CAAC,CAAC,CAAC;YACpE,cAAc,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC,sBAAsB,CAAC,CAAC;SACvE,CAAC;KACL;CACJ"}
@@ -0,0 +1,41 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ var _excluded = ["children", "slotProps"];
3
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
6
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
7
+ 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); }
8
+ 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; }
9
+ 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; }
10
+ import { useThemeProps } from "@mui/material/styles";
11
+ import { createElement } from "react";
12
+ import { Root, Slot } from "./Toolbar.styles";
13
+ import { jsx as _jsx } from "react/jsx-runtime";
14
+ export function Toolbar(inProps) {
15
+ var _useThemeProps = useThemeProps({
16
+ props: inProps,
17
+ name: "CometAdminRteToolbar"
18
+ }),
19
+ children = _useThemeProps.children,
20
+ slotProps = _useThemeProps.slotProps,
21
+ restProps = _objectWithoutProperties(_useThemeProps, _excluded);
22
+ var childrenElements = children.filter(function (c) {
23
+ var Comp = c;
24
+ return Comp(restProps) !== null; // filter out unused control components
25
+ }).map(function (c) {
26
+ var Comp = c;
27
+ return /*#__PURE__*/createElement(Comp, restProps);
28
+ });
29
+ return (
30
+ /*#__PURE__*/
31
+ // TODO: Find alternative to className
32
+ _jsx(Root, _objectSpread(_objectSpread(_objectSpread({}, slotProps === null || slotProps === void 0 ? void 0 : slotProps.root), restProps), {}, {
33
+ className: "CometAdminRteToolbar-root",
34
+ children: childrenElements.map(function (c, idx) {
35
+ return /*#__PURE__*/_jsx(Slot, _objectSpread(_objectSpread({}, slotProps === null || slotProps === void 0 ? void 0 : slotProps.slot), {}, {
36
+ children: c
37
+ }), idx);
38
+ })
39
+ }))
40
+ );
41
+ }
@@ -0,0 +1,14 @@
1
+ export type RteToolbarClassKey = "root" | "slot";
2
+ export declare const Root: import("react").ForwardRefExoticComponent<Omit<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof import("react").HTMLAttributes<HTMLDivElement> | keyof import("react").ClassAttributes<HTMLDivElement>> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme> & {
3
+ ownerState?: undefined;
4
+ } & {
5
+ className?: string;
6
+ ownerState?: object;
7
+ }, "ref"> & import("react").RefAttributes<unknown>>;
8
+ export declare const Slot: import("react").ForwardRefExoticComponent<Omit<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof import("react").HTMLAttributes<HTMLDivElement> | keyof import("react").ClassAttributes<HTMLDivElement>> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme> & {
9
+ ownerState?: undefined;
10
+ } & {
11
+ className?: string;
12
+ ownerState?: object;
13
+ }, "ref"> & import("react").RefAttributes<unknown>>;
14
+ //# sourceMappingURL=Toolbar.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toolbar.styles.d.ts","sourceRoot":"","sources":["../../../../src/core/Controls/Toolbar/Toolbar.styles.tsx"],"names":[],"mappings":"AAKA,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,MAAM,CAAC;AAEjD,eAAO,MAAM,IAAI;;;;;mDAgBhB,CAAC;AAEF,eAAO,MAAM,IAAI;;;;;mDA4ChB,CAAC"}
@@ -0,0 +1,21 @@
1
+ var _templateObject, _templateObject2;
2
+ function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
3
+ import { createComponentSlot } from "@dextinity/admin";
4
+ import { css } from "@mui/material/styles";
5
+ import getRteTheme from "../../utils/getRteTheme";
6
+ export var Root = createComponentSlot("div")({
7
+ componentName: "RteToolbar",
8
+ slotName: "root"
9
+ })(function (_ref) {
10
+ var _getRteTheme$colors, _theme$components;
11
+ var theme = _ref.theme;
12
+ return css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n position: sticky;\n top: 0;\n z-index: 2;\n display: flex;\n flex-wrap: wrap;\n border-top: 1px solid var(--comet-admin-rte-outer-border-color);\n background-color: ", ";\n padding-left: 6px;\n padding-right: 6px;\n overflow: hidden;\n "])), (_getRteTheme$colors = getRteTheme((_theme$components = theme.components) === null || _theme$components === void 0 || (_theme$components = _theme$components.CometAdminRte) === null || _theme$components === void 0 ? void 0 : _theme$components.defaultProps).colors) === null || _getRteTheme$colors === void 0 ? void 0 : _getRteTheme$colors.toolbarBackground);
13
+ });
14
+ export var Slot = createComponentSlot("div")({
15
+ componentName: "RteToolbar",
16
+ slotName: "slot"
17
+ })(function (_ref2) {
18
+ var _getRteTheme$colors2, _theme$components2;
19
+ var theme = _ref2.theme;
20
+ return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n position: relative;\n flex-shrink: 0;\n flex-grow: 0;\n height: 34px;\n box-sizing: border-box;\n padding-top: 5px;\n padding-bottom: 5px;\n padding-right: 6px;\n margin-right: 5px;\n\n &::before,\n &::after {\n content: \"\";\n position: absolute;\n background-color: ", ";\n }\n\n &::before {\n bottom: 0;\n height: 1px;\n left: -100vw;\n right: -100vw;\n }\n\n &::after {\n top: 8px;\n right: 0;\n bottom: 8px;\n width: 1px;\n }\n\n &:last-child {\n margin-right: 0;\n }\n\n &:last-child::after {\n display: none;\n }\n "])), (_getRteTheme$colors2 = getRteTheme((_theme$components2 = theme.components) === null || _theme$components2 === void 0 || (_theme$components2 = _theme$components2.CometAdminRte) === null || _theme$components2 === void 0 ? void 0 : _theme$components2.defaultProps).colors) === null || _getRteTheme$colors2 === void 0 ? void 0 : _getRteTheme$colors2.border);
21
+ });
@@ -0,0 +1,4 @@
1
+ import type { IControlProps } from "../types";
2
+ declare function TranslationControls(props: IControlProps): import("react/jsx-runtime").JSX.Element | null;
3
+ export default TranslationControls;
4
+ //# sourceMappingURL=TranslationControls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TranslationControls.d.ts","sourceRoot":"","sources":["../../../src/core/Controls/TranslationControls.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,iBAAS,mBAAmB,CAAC,KAAK,EAAE,aAAa,kDAWhD;AAED,eAAe,mBAAmB,CAAC"}
@@ -0,0 +1,20 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
6
+ 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); }
7
+ import { useContentTranslationService } from "@dextinity/admin";
8
+ import { ButtonGroup } from "@mui/material";
9
+ import TranslationToolbarButton from "../translation/ToolbarButton";
10
+ import { jsx as _jsx } from "react/jsx-runtime";
11
+ function TranslationControls(props) {
12
+ var translationContext = useContentTranslationService();
13
+ if (translationContext.enabled && !props.options.disableContentTranslation) {
14
+ return /*#__PURE__*/_jsx(ButtonGroup, {
15
+ children: /*#__PURE__*/_jsx(TranslationToolbarButton, _objectSpread({}, props))
16
+ });
17
+ }
18
+ return null;
19
+ }
20
+ export default TranslationControls;
@@ -0,0 +1,23 @@
1
+ import type { SelectChangeEvent } from "@mui/material";
2
+ import { type DraftBlockType, type Editor, type EditorState } from "draft-js";
3
+ import { type RefObject } from "react";
4
+ import type { SupportedThings } from "../Rte";
5
+ import type { IBlocktypeMap, IFeatureConfig } from "../types";
6
+ interface IProps {
7
+ editorState: EditorState;
8
+ setEditorState: (editorState: EditorState) => void;
9
+ supportedThings: SupportedThings[];
10
+ blocktypeMap: IBlocktypeMap;
11
+ editorRef: RefObject<Editor | null>;
12
+ standardBlockType: DraftBlockType;
13
+ }
14
+ type BlockChangeEvent = SelectChangeEvent<DraftBlockType>;
15
+ export interface BlockTypesApi {
16
+ dropdownFeatures: IFeatureConfig[];
17
+ activeDropdownBlockType: string;
18
+ handleBlockTypeChange: (e: BlockChangeEvent) => void;
19
+ listsFeatures: IFeatureConfig[];
20
+ }
21
+ export default function useBlockTypes({ editorState, setEditorState, supportedThings, blocktypeMap, editorRef, standardBlockType, }: IProps): BlockTypesApi;
22
+ export {};
23
+ //# sourceMappingURL=useBlockTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useBlockTypes.d.ts","sourceRoot":"","sources":["../../../src/core/Controls/useBlockTypes.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,MAAM,EAAE,KAAK,WAAW,EAAa,MAAM,UAAU,CAAC;AACzF,OAAO,EAAmB,KAAK,SAAS,EAAwB,MAAM,OAAO,CAAC;AAE9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAG9D,UAAU,MAAM;IACZ,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,CAAC;IACnD,eAAe,EAAE,eAAe,EAAE,CAAC;IACnC,YAAY,EAAE,aAAa,CAAC;IAC5B,SAAS,EAAE,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACpC,iBAAiB,EAAE,cAAc,CAAC;CACrC;AA+BD,KAAK,gBAAgB,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAC;AAE1D,MAAM,WAAW,aAAa;IAC1B,gBAAgB,EAAE,cAAc,EAAE,CAAC;IACnC,uBAAuB,EAAE,MAAM,CAAC;IAChC,qBAAqB,EAAE,CAAC,CAAC,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACrD,aAAa,EAAE,cAAc,EAAE,CAAC;CACnC;AAED,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EAClC,WAAW,EACX,cAAc,EACd,eAAe,EACf,YAAY,EACZ,SAAS,EACT,iBAAiB,GACpB,EAAE,MAAM,GAAG,aAAa,CAkExB"}
@@ -0,0 +1,116 @@
1
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
2
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
4
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
5
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
6
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
7
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
8
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
9
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
10
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
11
+ import { RichUtils } from "draft-js";
12
+ import { useCallback, useMemo } from "react";
13
+ import getCurrentBlock from "../utils/getCurrentBlock";
14
+ var DEFAULT_GROUP = "dropdown";
15
+ var createFeaturesFromBlocktypeMap = function createFeaturesFromBlocktypeMap(group) {
16
+ return function (_ref) {
17
+ var blocktypeMap = _ref.blocktypeMap,
18
+ supports = _ref.supports,
19
+ blockTypeActive = _ref.blockTypeActive,
20
+ handleBlockTypeButtonClick = _ref.handleBlockTypeButtonClick,
21
+ standardBlockType = _ref.standardBlockType;
22
+ return _toConsumableArray(Object.entries(blocktypeMap).filter(function (_ref2) {
23
+ var _ref3 = _slicedToArray(_ref2, 2),
24
+ key = _ref3[0],
25
+ config = _ref3[1];
26
+ return (!config.group && group === DEFAULT_GROUP || config.group && config.group === group) && (
27
+ // empty groups are ok for the default group OR group must match
28
+ !config.supportedBy || supports(config.supportedBy)) && (
29
+ // either no supportedBy given or the specific "supportedBy"-value is in the supports array
30
+ key !== "unstyled" || standardBlockType === "unstyled");
31
+ } // unstyled passes only when it is the standardBlock
32
+ ).map(function (_ref4) {
33
+ var _config$label;
34
+ var _ref5 = _slicedToArray(_ref4, 2),
35
+ blocktype = _ref5[0],
36
+ config = _ref5[1];
37
+ return {
38
+ name: blocktype,
39
+ label: (_config$label = config.label) !== null && _config$label !== void 0 ? _config$label : blocktype,
40
+ selected: blockTypeActive(blocktype),
41
+ onButtonClick: handleBlockTypeButtonClick.bind(null, blocktype),
42
+ icon: config.icon
43
+ };
44
+ }));
45
+ };
46
+ };
47
+ export default function useBlockTypes(_ref6) {
48
+ var editorState = _ref6.editorState,
49
+ setEditorState = _ref6.setEditorState,
50
+ supportedThings = _ref6.supportedThings,
51
+ blocktypeMap = _ref6.blocktypeMap,
52
+ editorRef = _ref6.editorRef,
53
+ standardBlockType = _ref6.standardBlockType;
54
+ // can check if blocktype is supported by the editor
55
+ var supports = useCallback(function (supportedBy) {
56
+ return supportedBy ? supportedThings.includes(supportedBy) : true;
57
+ }, [supportedThings]);
58
+ var blockTypeActive = useCallback(function (blockType) {
59
+ var currentBlock = getCurrentBlock(editorState);
60
+ if (!currentBlock) {
61
+ return false;
62
+ }
63
+ return currentBlock.getType() === blockType;
64
+ }, [editorState]);
65
+ var handleBlockTypeButtonClick = useCallback(function (blockType, e) {
66
+ e.preventDefault();
67
+ setEditorState(RichUtils.toggleBlockType(editorState, blockType));
68
+ }, [setEditorState, editorState]);
69
+ var handleBlockTypeChange = useCallback(function (e) {
70
+ e.preventDefault();
71
+ if (!e.target.value) {
72
+ var currentBlock = getCurrentBlock(editorState);
73
+ if (currentBlock) {
74
+ setEditorState(RichUtils.toggleBlockType(editorState, currentBlock.getType()));
75
+ }
76
+ } else {
77
+ setEditorState(RichUtils.toggleBlockType(editorState, e.target.value));
78
+ }
79
+ // keeps editor focused
80
+ setTimeout(function () {
81
+ if (editorRef.current) {
82
+ editorRef.current.focus();
83
+ }
84
+ }, 0);
85
+ }, [setEditorState, editorState, editorRef]);
86
+ var dropdownFeatures = useMemo(function () {
87
+ return createFeaturesFromBlocktypeMap("dropdown")({
88
+ supports: supports,
89
+ blockTypeActive: blockTypeActive,
90
+ handleBlockTypeButtonClick: handleBlockTypeButtonClick,
91
+ blocktypeMap: blocktypeMap,
92
+ standardBlockType: standardBlockType
93
+ });
94
+ }, [supports, blockTypeActive, handleBlockTypeButtonClick, blocktypeMap, standardBlockType]);
95
+ var listsFeatures = useMemo(function () {
96
+ return createFeaturesFromBlocktypeMap("button")({
97
+ supports: supports,
98
+ blockTypeActive: blockTypeActive,
99
+ handleBlockTypeButtonClick: handleBlockTypeButtonClick,
100
+ blocktypeMap: blocktypeMap,
101
+ standardBlockType: standardBlockType
102
+ });
103
+ }, [supports, blockTypeActive, handleBlockTypeButtonClick, blocktypeMap, standardBlockType]);
104
+ var activeDropdownBlockType = useMemo(function () {
105
+ var activeFeature = dropdownFeatures.find(function (c) {
106
+ return c.selected;
107
+ });
108
+ return activeFeature ? activeFeature.name : "unstyled";
109
+ }, [dropdownFeatures]);
110
+ return {
111
+ dropdownFeatures: dropdownFeatures,
112
+ activeDropdownBlockType: activeDropdownBlockType,
113
+ handleBlockTypeChange: handleBlockTypeChange,
114
+ listsFeatures: listsFeatures
115
+ };
116
+ }
@@ -0,0 +1,13 @@
1
+ import { EditorState } from "draft-js";
2
+ import type { SupportedThings } from "../Rte";
3
+ import type { IFeatureConfig } from "../types";
4
+ interface IProps {
5
+ editorState: EditorState;
6
+ setEditorState: (editorState: EditorState) => void;
7
+ supportedThings: SupportedThings[];
8
+ }
9
+ export default function useHistory({ editorState, setEditorState, supportedThings }: IProps): {
10
+ features: IFeatureConfig<string>[];
11
+ };
12
+ export {};
13
+ //# sourceMappingURL=useHistory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useHistory.d.ts","sourceRoot":"","sources":["../../../src/core/Controls/useHistory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAIvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,UAAU,MAAM;IACZ,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,CAAC;IACnD,eAAe,EAAE,eAAe,EAAE,CAAC;CACtC;AAED,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,EAAE,MAAM;;EAsD1F"}
@@ -0,0 +1,63 @@
1
+ import { RteRedo, RteUndo } from "@dextinity/admin-icons";
2
+ import { EditorState } from "draft-js";
3
+ import { useCallback, useMemo } from "react";
4
+ import { useIntl } from "react-intl";
5
+ export default function useHistory(_ref) {
6
+ var editorState = _ref.editorState,
7
+ setEditorState = _ref.setEditorState,
8
+ supportedThings = _ref.supportedThings;
9
+ var intl = useIntl();
10
+
11
+ // can check if history is supported
12
+ var supported = useMemo(function () {
13
+ return supportedThings.includes("history");
14
+ }, [supportedThings]);
15
+ var canRedo = useMemo(function () {
16
+ return !editorState.getRedoStack().isEmpty();
17
+ }, [editorState]);
18
+ var canUndo = useMemo(function () {
19
+ return !editorState.getUndoStack().isEmpty();
20
+ }, [editorState]);
21
+ var handleUndoClick = useCallback(function (e) {
22
+ e.preventDefault();
23
+ var newEditorState = EditorState.undo(editorState);
24
+ setEditorState(newEditorState);
25
+ }, [editorState, setEditorState]);
26
+ var handleRedoClick = useCallback(function (e) {
27
+ e.preventDefault();
28
+ var newEditorState = EditorState.redo(editorState);
29
+ setEditorState(newEditorState);
30
+ }, [editorState, setEditorState]);
31
+ var features = useMemo(function () {
32
+ return supported ? [{
33
+ name: "undo",
34
+ label: intl.formatMessage({
35
+ id: "comet.rte.controls.undo.label",
36
+ defaultMessage: "Undo"
37
+ }),
38
+ disabled: !canUndo,
39
+ onButtonClick: handleUndoClick,
40
+ icon: RteUndo,
41
+ tooltipText: intl.formatMessage({
42
+ id: "comet.rte.controls.undo.tooltip",
43
+ defaultMessage: "Ctrl+Z"
44
+ })
45
+ }, {
46
+ name: "redo",
47
+ label: intl.formatMessage({
48
+ id: "comet.rte.controls.redo.label",
49
+ defaultMessage: "Redo"
50
+ }),
51
+ disabled: !canRedo,
52
+ onButtonClick: handleRedoClick,
53
+ icon: RteRedo,
54
+ tooltipText: intl.formatMessage({
55
+ id: "comet.rte.controls.redo.tooltip",
56
+ defaultMessage: "Ctrl+Y"
57
+ })
58
+ }] : [];
59
+ }, [supported, canRedo, canUndo, handleUndoClick, handleRedoClick, intl]);
60
+ return {
61
+ features: features
62
+ };
63
+ }