@flozy/editor 9.1.6 → 9.1.8

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 (253) hide show
  1. package/dist/Editor/ChatEditor.js +33 -9
  2. package/dist/Editor/CommonEditor.js +121 -43
  3. package/dist/Editor/DialogWrapper.js +31 -25
  4. package/dist/Editor/Editor.css +21 -3
  5. package/dist/Editor/Elements/AI/AIInput.js +5 -3
  6. package/dist/Editor/Elements/AI/CustomSelect.js +9 -5
  7. package/dist/Editor/Elements/AI/PopoverAIInput.js +4 -2
  8. package/dist/Editor/Elements/Accordion/Accordion.js +4 -3
  9. package/dist/Editor/Elements/Accordion/AccordionBtnPopup.js +4 -1
  10. package/dist/Editor/Elements/Accordion/AccordionButton.js +6 -2
  11. package/dist/Editor/Elements/Accordion/AccordionTitlePopup.js +4 -1
  12. package/dist/Editor/Elements/AppHeader/AppHeader.js +3 -3
  13. package/dist/Editor/Elements/AppHeader/AppHeaderButton.js +6 -2
  14. package/dist/Editor/Elements/AppHeader/AppHeaderPopup.js +4 -1
  15. package/dist/Editor/Elements/Attachments/AttachmentsButton.js +4 -1
  16. package/dist/Editor/Elements/Button/ButtonPopup.js +4 -1
  17. package/dist/Editor/Elements/Button/ButtonToolIcon.js +6 -2
  18. package/dist/Editor/Elements/Button/EditorButton.js +31 -14
  19. package/dist/Editor/Elements/Carousel/Carousel.js +5 -4
  20. package/dist/Editor/Elements/Carousel/CarouselButton.js +6 -2
  21. package/dist/Editor/Elements/Carousel/CarouselItem.js +3 -2
  22. package/dist/Editor/Elements/ChipText/ChipTextPopup.js +4 -1
  23. package/dist/Editor/Elements/CodeToText/CodeToText.js +5 -4
  24. package/dist/Editor/Elements/CodeToText/HtmlContextMenu.js +6 -2
  25. package/dist/Editor/Elements/Color Picker/ColorButtons.js +57 -12
  26. package/dist/Editor/Elements/Color Picker/ColorPicker.css +25 -1
  27. package/dist/Editor/Elements/Color Picker/ColorPicker.js +5 -5
  28. package/dist/Editor/Elements/Color Picker/Styles.js +1 -1
  29. package/dist/Editor/Elements/Colorbox/ColorboxButton.js +6 -2
  30. package/dist/Editor/Elements/DataView/DataView.js +5 -2
  31. package/dist/Editor/Elements/DataView/DataViewButton.js +6 -2
  32. package/dist/Editor/Elements/DataView/Layouts/ColumnView.js +4 -1
  33. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/Select.js +3 -4
  34. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/styles.js +6 -1
  35. package/dist/Editor/Elements/DataView/Layouts/DataTypes/DateType.js +19 -9
  36. package/dist/Editor/Elements/DataView/Layouts/FilterSort/SortOptions/ChooseSort.js +13 -12
  37. package/dist/Editor/Elements/DataView/Layouts/FilterSort/SortOptions/index.js +7 -4
  38. package/dist/Editor/Elements/DataView/Layouts/FilterSort/index.js +7 -5
  39. package/dist/Editor/Elements/DataView/Layouts/FilterView.js +9 -7
  40. package/dist/Editor/Elements/DataView/Layouts/Options/AddOptions.js +3 -2
  41. package/dist/Editor/Elements/DataView/Layouts/Options/AddProperty.js +5 -3
  42. package/dist/Editor/Elements/DataView/Layouts/Options/AllProperties.js +6 -5
  43. package/dist/Editor/Elements/DataView/Layouts/Options/ChangeProperty.js +5 -3
  44. package/dist/Editor/Elements/DataView/Layouts/Options/EditOption.js +7 -6
  45. package/dist/Editor/Elements/DataView/Layouts/Options/EditProperty.js +15 -12
  46. package/dist/Editor/Elements/DataView/Layouts/Options/FilterProperty.js +3 -2
  47. package/dist/Editor/Elements/DataView/Layouts/Options/PropertyList.js +3 -2
  48. package/dist/Editor/Elements/DataView/Layouts/Options/index.js +12 -6
  49. package/dist/Editor/Elements/DataView/Layouts/TableStyles.js +32 -2
  50. package/dist/Editor/Elements/DataView/Layouts/TableView.js +132 -33
  51. package/dist/Editor/Elements/DataView/Layouts/ViewData.js +3 -3
  52. package/dist/Editor/Elements/DataView/Layouts/index.js +3 -1
  53. package/dist/Editor/Elements/DataView/Providers/DataViewProvider.js +6 -3
  54. package/dist/Editor/Elements/DataView/styles.js +8 -8
  55. package/dist/Editor/Elements/Divider/Divider.js +5 -3
  56. package/dist/Editor/Elements/Divider/DividerButton.js +6 -2
  57. package/dist/Editor/Elements/Divider/DividerPopup.js +3 -2
  58. package/dist/Editor/Elements/Embed/Embed.js +4 -1
  59. package/dist/Editor/Elements/Embed/EmbedPopup.js +4 -1
  60. package/dist/Editor/Elements/Embed/Image.js +16 -11
  61. package/dist/Editor/Elements/Embed/Video.js +10 -7
  62. package/dist/Editor/Elements/EmbedScript/Code.js +7 -4
  63. package/dist/Editor/Elements/EmbedScript/EmbedScript.js +6 -2
  64. package/dist/Editor/Elements/EmbedScript/EmbedScriptPopup.js +8 -5
  65. package/dist/Editor/Elements/Emoji/EmojiButton.js +6 -2
  66. package/dist/Editor/Elements/Form/FieldPopup.js +4 -1
  67. package/dist/Editor/Elements/Form/Form.js +12 -9
  68. package/dist/Editor/Elements/Form/FormButton.js +6 -2
  69. package/dist/Editor/Elements/Form/FormPopup.js +3 -2
  70. package/dist/Editor/Elements/Form/Workflow/FormWorkflow.js +18 -12
  71. package/dist/Editor/Elements/Form/Workflow/ListWorkflow.js +13 -8
  72. package/dist/Editor/Elements/Form/Workflow/MoreOptions.js +3 -2
  73. package/dist/Editor/Elements/Form/Workflow/UserInputs.js +4 -2
  74. package/dist/Editor/Elements/Form/Workflow/index.js +15 -9
  75. package/dist/Editor/Elements/FreeGrid/FreeGrid.js +21 -18
  76. package/dist/Editor/Elements/FreeGrid/FreeGridBox.js +6 -2
  77. package/dist/Editor/Elements/FreeGrid/FreeGridButton.js +6 -2
  78. package/dist/Editor/Elements/FreeGrid/FreeGridItem.js +8 -3
  79. package/dist/Editor/Elements/FreeGrid/Options/AddElement.js +3 -2
  80. package/dist/Editor/Elements/FreeGrid/Options/More.js +4 -3
  81. package/dist/Editor/Elements/FreeGrid/styles.js +3 -0
  82. package/dist/Editor/Elements/Grid/Grid.js +13 -10
  83. package/dist/Editor/Elements/Grid/GridButton.js +9 -5
  84. package/dist/Editor/Elements/Grid/GridItem.js +15 -10
  85. package/dist/Editor/Elements/Grid/GridItemPopup.js +4 -1
  86. package/dist/Editor/Elements/Grid/GridPopup.js +4 -1
  87. package/dist/Editor/Elements/Grid/SectionPopup.js +4 -1
  88. package/dist/Editor/Elements/Link/Link.js +74 -44
  89. package/dist/Editor/Elements/Link/LinkButton.js +4 -1
  90. package/dist/Editor/Elements/List/CheckList.js +14 -9
  91. package/dist/Editor/Elements/NewLine/NewLineButton.js +6 -2
  92. package/dist/Editor/Elements/PageSettings/PageSettingsButton.js +16 -5
  93. package/dist/Editor/Elements/PageSettings/PageSettingsPopup.js +4 -1
  94. package/dist/Editor/Elements/Search/SearchButton.js +6 -3
  95. package/dist/Editor/Elements/Search/SearchList.js +7 -3
  96. package/dist/Editor/Elements/Signature/SignatureButton.js +6 -2
  97. package/dist/Editor/Elements/Signature/SignatureOptions/TypeSignature.js +6 -2
  98. package/dist/Editor/Elements/Signature/SignatureOptions/UploadSignature.js +4 -1
  99. package/dist/Editor/Elements/Signature/SignaturePopup.js +17 -16
  100. package/dist/Editor/Elements/SimpleText/index.js +5 -5
  101. package/dist/Editor/Elements/SimpleText/style.js +2 -2
  102. package/dist/Editor/Elements/Table/DragButton.js +4 -2
  103. package/dist/Editor/Elements/Table/Table.js +56 -32
  104. package/dist/Editor/Elements/Table/TableCell.js +5 -5
  105. package/dist/Editor/Elements/Table/TablePopup.js +4 -1
  106. package/dist/Editor/Elements/Table/TableSelector.js +10 -6
  107. package/dist/Editor/Elements/Table/TableTool.js +8 -4
  108. package/dist/Editor/Elements/Title/title.js +13 -31
  109. package/dist/Editor/Elements/TopBanner/TopBannerButton.js +4 -1
  110. package/dist/Editor/Elements/Variables/Style.js +28 -2
  111. package/dist/Editor/Elements/Variables/VariableButton.js +17 -4
  112. package/dist/Editor/MiniEditor.js +9 -3
  113. package/dist/Editor/Styles/EditorStyles.js +5 -5
  114. package/dist/Editor/Toolbar/Basic/index.js +2 -1
  115. package/dist/Editor/Toolbar/FormatTools/BlockButton.js +6 -2
  116. package/dist/Editor/Toolbar/FormatTools/Dropdown.js +27 -3
  117. package/dist/Editor/Toolbar/FormatTools/FontFamilyAutocomplete.js +4 -3
  118. package/dist/Editor/Toolbar/FormatTools/MarkButton.js +8 -4
  119. package/dist/Editor/Toolbar/FormatTools/TextSize.js +7 -15
  120. package/dist/Editor/Toolbar/Mini/MiniToolbar.js +20 -15
  121. package/dist/Editor/Toolbar/PopupTool/AddTemplates.js +19 -13
  122. package/dist/Editor/Toolbar/PopupTool/ButtonTemplatesCard.js +10 -4
  123. package/dist/Editor/Toolbar/PopupTool/FullViewCard.js +10 -4
  124. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/MiniColorPicker.js +6 -2
  125. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectAlignment.js +42 -35
  126. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectFontSize.js +6 -13
  127. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectList.js +58 -51
  128. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectSuperSubscript.js +29 -22
  129. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/SelectTypography.js +226 -87
  130. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +15 -7
  131. package/dist/Editor/Toolbar/PopupTool/PopperHeader.js +8 -4
  132. package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +16 -12
  133. package/dist/Editor/Toolbar/PopupTool/TemplateCard.js +11 -5
  134. package/dist/Editor/Toolbar/PopupTool/TextFormat.js +82 -27
  135. package/dist/Editor/Toolbar/PopupTool/ThemeTextFormat.js +438 -0
  136. package/dist/Editor/Toolbar/PopupTool/index.js +6 -17
  137. package/dist/Editor/Toolbar/Toolbar.js +20 -10
  138. package/dist/Editor/Toolbar/toolbarGroups.js +48 -6
  139. package/dist/Editor/assets/svg/ThemeIcons.js +291 -0
  140. package/dist/Editor/common/ColorPickerButton.js +35 -9
  141. package/dist/Editor/common/CustomColorPicker/index.js +106 -0
  142. package/dist/Editor/common/CustomColorPicker/style.js +53 -0
  143. package/dist/Editor/common/CustomDialog/index.js +88 -0
  144. package/dist/Editor/common/CustomDialog/styles.js +80 -0
  145. package/dist/Editor/common/CustomDialog2/index.js +94 -0
  146. package/dist/Editor/common/CustomDialog2/style.js +67 -0
  147. package/dist/Editor/common/CustomSelect.js +33 -0
  148. package/dist/Editor/common/DnD/DragHandleButton.js +1 -1
  149. package/dist/Editor/common/DnD/Draggable.js +0 -1
  150. package/dist/Editor/common/FontLoader/FontLoader.js +3 -0
  151. package/dist/Editor/common/Icon.js +28 -0
  152. package/dist/Editor/common/ImageSelector/ImageSelector.js +10 -8
  153. package/dist/Editor/common/ImageSelector/Options/AddLink.js +6 -4
  154. package/dist/Editor/common/ImageSelector/Options/Upload.js +1 -1
  155. package/dist/Editor/common/ImageSelector/Styles.js +3 -9
  156. package/dist/Editor/common/ImageSelector/UploadStyles.js +9 -10
  157. package/dist/Editor/common/LinkSettings/NavComponents.js +14 -10
  158. package/dist/Editor/common/LinkSettings/index.js +20 -14
  159. package/dist/Editor/common/LinkSettings/navOptions.js +1 -1
  160. package/dist/Editor/common/MentionsPopup/Styles.js +6 -12
  161. package/dist/Editor/common/MentionsPopup/index.js +6 -2
  162. package/dist/Editor/common/RnD/ContextMenu/CMenus.js +22 -22
  163. package/dist/Editor/common/RnD/ContextMenu/index.js +3 -2
  164. package/dist/Editor/common/RnD/ElementOptions/index.js +7 -2
  165. package/dist/Editor/common/RnD/ElementSettings/OtherSettings/SaveAsTemplate.js +8 -3
  166. package/dist/Editor/common/RnD/ElementSettings/OtherSettings/Settings.js +7 -3
  167. package/dist/Editor/common/RnD/ElementSettings/Settings/AppHeaderSettings.js +3 -2
  168. package/dist/Editor/common/RnD/ElementSettings/Settings/BoxSettings.js +3 -2
  169. package/dist/Editor/common/RnD/ElementSettings/Settings/ButtonSettings.js +3 -2
  170. package/dist/Editor/common/RnD/ElementSettings/Settings/CodeSettings.js +3 -2
  171. package/dist/Editor/common/RnD/ElementSettings/Settings/FormSettings.js +7 -4
  172. package/dist/Editor/common/RnD/ElementSettings/Settings/ImageSettings.js +3 -2
  173. package/dist/Editor/common/RnD/ElementSettings/Settings/TableSettings.js +3 -2
  174. package/dist/Editor/common/RnD/ElementSettings/Settings/TextSettings.js +4 -2
  175. package/dist/Editor/common/RnD/ElementSettings/Settings/VideoSettings.js +3 -2
  176. package/dist/Editor/common/RnD/ElementSettings/styles.js +0 -1
  177. package/dist/Editor/common/RnD/OptionsPopup/index.js +4 -3
  178. package/dist/Editor/common/RnD/SwitchViewport/SwitchViewport.js +11 -4
  179. package/dist/Editor/common/RnD/Theme/MainThemeProvider.js +17 -0
  180. package/dist/Editor/common/RnD/Theme/ViewportStimulator.js +31 -10
  181. package/dist/Editor/common/RnD/Utils/gridDropItem.js +5 -4
  182. package/dist/Editor/common/RnD/Utils/index.js +45 -0
  183. package/dist/Editor/common/RnD/VirtualElement/index.js +1 -2
  184. package/dist/Editor/common/RnD/index.js +34 -7
  185. package/dist/Editor/common/Section/index.js +7 -4
  186. package/dist/Editor/common/Shorthands/elements.js +75 -4
  187. package/dist/Editor/common/StyleBuilder/appHeaderStyle.js +4 -4
  188. package/dist/Editor/common/StyleBuilder/boxStyle.js +2 -2
  189. package/dist/Editor/common/StyleBuilder/buttonStyle.js +6 -4
  190. package/dist/Editor/common/StyleBuilder/dividerStyles.js +2 -2
  191. package/dist/Editor/common/StyleBuilder/embedVideoStyle.js +6 -6
  192. package/dist/Editor/common/StyleBuilder/fieldStyle.js +2 -2
  193. package/dist/Editor/common/StyleBuilder/fieldTypes/alignment.js +13 -9
  194. package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +11 -3
  195. package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +19 -5
  196. package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +22 -10
  197. package/dist/Editor/common/StyleBuilder/fieldTypes/buttonLink.js +6 -3
  198. package/dist/Editor/common/StyleBuilder/fieldTypes/card.js +27 -13
  199. package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +41 -14
  200. package/dist/Editor/common/StyleBuilder/fieldTypes/elementSize.js +10 -6
  201. package/dist/Editor/common/StyleBuilder/fieldTypes/fontSize.js +19 -6
  202. package/dist/Editor/common/StyleBuilder/fieldTypes/gridSize.js +6 -2
  203. package/dist/Editor/common/StyleBuilder/fieldTypes/icons.js +5 -2
  204. package/dist/Editor/common/StyleBuilder/fieldTypes/menusArray.js +9 -6
  205. package/dist/Editor/common/StyleBuilder/fieldTypes/metaDataMapping.js +8 -2
  206. package/dist/Editor/common/StyleBuilder/fieldTypes/saveAsTemplate.js +12 -11
  207. package/dist/Editor/common/StyleBuilder/fieldTypes/selectBox.js +6 -2
  208. package/dist/Editor/common/StyleBuilder/fieldTypes/text.js +8 -4
  209. package/dist/Editor/common/StyleBuilder/fieldTypes/textAlign.js +6 -2
  210. package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +21 -12
  211. package/dist/Editor/common/StyleBuilder/formStyle.js +7 -7
  212. package/dist/Editor/common/StyleBuilder/gridItemStyle.js +6 -6
  213. package/dist/Editor/common/StyleBuilder/gridStyle.js +5 -5
  214. package/dist/Editor/common/StyleBuilder/index.js +8 -5
  215. package/dist/Editor/common/Uploader.js +16 -5
  216. package/dist/Editor/commonStyle.js +114 -69
  217. package/dist/Editor/helper/index.js +8 -12
  218. package/dist/Editor/helper/theme.js +200 -2
  219. package/dist/Editor/hooks/useDrag.js +17 -11
  220. package/dist/Editor/hooks/useEditorScroll.js +10 -6
  221. package/dist/Editor/hooks/useEditorTheme.js +153 -0
  222. package/dist/Editor/hooks/useMouseMove.js +25 -13
  223. package/dist/Editor/hooks/useTable.js +1 -1
  224. package/dist/Editor/plugins/withEmbeds.js +1 -1
  225. package/dist/Editor/plugins/withHTML.js +20 -16
  226. package/dist/Editor/plugins/withLayout.js +3 -2
  227. package/dist/Editor/plugins/withTable.js +1 -1
  228. package/dist/Editor/theme/ThemeList.js +50 -173
  229. package/dist/Editor/theme/index.js +144 -0
  230. package/dist/Editor/themeSettings/ActiveTheme.js +72 -0
  231. package/dist/Editor/themeSettings/buttons/index.js +283 -0
  232. package/dist/Editor/themeSettings/buttons/style.js +21 -0
  233. package/dist/Editor/themeSettings/colorTheme/index.js +292 -0
  234. package/dist/Editor/themeSettings/colorTheme/style.js +77 -0
  235. package/dist/Editor/themeSettings/fonts/PreviewElement.js +121 -0
  236. package/dist/Editor/themeSettings/fonts/index.js +220 -0
  237. package/dist/Editor/themeSettings/fonts/style.js +44 -0
  238. package/dist/Editor/themeSettings/icons.js +60 -0
  239. package/dist/Editor/themeSettings/index.js +320 -0
  240. package/dist/Editor/themeSettings/style.js +152 -0
  241. package/dist/Editor/themeSettingsAI/icons.js +96 -0
  242. package/dist/Editor/themeSettingsAI/index.js +356 -0
  243. package/dist/Editor/themeSettingsAI/saveTheme.js +197 -0
  244. package/dist/Editor/themeSettingsAI/style.js +250 -0
  245. package/dist/Editor/utils/SlateUtilityFunctions.js +162 -45
  246. package/dist/Editor/utils/button.js +0 -14
  247. package/dist/Editor/utils/chatEditor/SlateUtilityFunctions.js +23 -0
  248. package/dist/Editor/utils/draftToSlate.js +3 -2
  249. package/dist/Editor/utils/font.js +40 -37
  250. package/dist/Editor/utils/helper.js +59 -27
  251. package/dist/Editor/utils/link.js +1 -1
  252. package/dist/Editor/utils/table.js +8 -0
  253. package/package.json +6 -3
@@ -10,6 +10,8 @@ import { AllColors } from "../../Elements/Color Picker/ColorButtons";
10
10
  import { fontFamilyMap } from "../../utils/font";
11
11
  import { getBorderColor } from "../../utils/helper";
12
12
  import SelectTypography from "./MiniTextFormat/SelectTypography";
13
+ import { isTextCustomized, saveToTheme } from "../../helper/theme";
14
+ import { useEditorTheme } from "../../hooks/useEditorTheme";
13
15
  import SelectSuperSubscript from "./MiniTextFormat/SelectSuperSubscript";
14
16
  import { ColorResetIcon, TextDefaultStyleIcon } from "../../common/iconListV2";
15
17
  import FontFamilyAutocomplete from "../FormatTools/FontFamilyAutocomplete";
@@ -33,12 +35,15 @@ const TextFormat = props => {
33
35
  const [anchorEl, setAnchorEl] = useState(null);
34
36
  const [type, setType] = useState(null);
35
37
  const open = Boolean(anchorEl);
38
+ const {
39
+ translation
40
+ } = customProps;
36
41
 
37
42
  // const { element: pageSt } = getPageSettings(editor) || {};
38
43
  // const pageSettingLine = pageSt?.pageProps?.lineHeight;
39
44
  const {
40
45
  fontFamilies,
41
- theme
46
+ theme: appTheme
42
47
  } = useEditorContext();
43
48
  // const { activeBreakPoint } = useEditorContext();
44
49
  // const breakpoint = activeBreakPoint === "" ? "lg" : activeBreakPoint;
@@ -58,6 +63,11 @@ const TextFormat = props => {
58
63
  color: "",
59
64
  bgColor: ""
60
65
  };
66
+ const {
67
+ theme,
68
+ updateTheme
69
+ } = useEditorTheme();
70
+ const customized = isTextCustomized(editor);
61
71
 
62
72
  // let lineSpacingValue = activeMark(editor, "lineHeight");
63
73
  // lineSpacingValue =
@@ -126,7 +136,52 @@ const TextFormat = props => {
126
136
  variant: "body1",
127
137
  color: "primary",
128
138
  sx: classes.typoLabel,
129
- children: "Font Family"
139
+ children: "Style"
140
+ })
141
+ }), /*#__PURE__*/_jsx(Grid, {
142
+ item: true,
143
+ children: theme?.id ? /*#__PURE__*/_jsx(Button, {
144
+ sx: classes.defaultBtn,
145
+ onClick: () => {
146
+ const {
147
+ field,
148
+ theme
149
+ } = saveToTheme(editor) || {};
150
+ updateTheme(theme, {
151
+ action: "ELEMENT_PROPS_CHANGE",
152
+ fieldName: field
153
+ });
154
+ },
155
+ disabled: !customized,
156
+ children: "Save to theme"
157
+ }) : null
158
+ })]
159
+ }), /*#__PURE__*/_jsx(Grid, {
160
+ item: true,
161
+ xs: 12,
162
+ sx: classes.textFormatField,
163
+ children: /*#__PURE__*/_jsx(SelectTypography, {
164
+ editor: editor,
165
+ classes: classes,
166
+ closeMainPopup: () => {},
167
+ type: "fullWidth",
168
+ customProps: customProps
169
+ })
170
+ })]
171
+ }), /*#__PURE__*/_jsxs(Grid, {
172
+ item: true,
173
+ xs: 12,
174
+ children: [/*#__PURE__*/_jsxs(Grid, {
175
+ container: true,
176
+ justifyContent: "space-between",
177
+ alignItems: "center",
178
+ children: [/*#__PURE__*/_jsx(Grid, {
179
+ item: true,
180
+ children: /*#__PURE__*/_jsx(Typography, {
181
+ variant: "body1",
182
+ color: "primary",
183
+ sx: classes.typoLabel,
184
+ children: translation("fontFamily")
130
185
  })
131
186
  }), /*#__PURE__*/_jsx(Grid, {
132
187
  item: true,
@@ -138,7 +193,7 @@ const TextFormat = props => {
138
193
  val: Object.values(fontFamilyMap)[0]
139
194
  }),
140
195
  className: "npr-0",
141
- children: "Default Text"
196
+ children: translation("defaultText")
142
197
  })
143
198
  })]
144
199
  }), /*#__PURE__*/_jsx(Grid, {
@@ -163,7 +218,7 @@ const TextFormat = props => {
163
218
  variant: "body1",
164
219
  color: "primary",
165
220
  sx: classes.typoLabel3,
166
- children: "Font Weight"
221
+ children: translation("fontWeight")
167
222
  }), /*#__PURE__*/_jsx(Grid, {
168
223
  item: true,
169
224
  xs: 12,
@@ -184,7 +239,7 @@ const TextFormat = props => {
184
239
  variant: "body1",
185
240
  color: "primary",
186
241
  sx: classes.typoLabel3,
187
- children: "Font Size"
242
+ children: translation("fontSize")
188
243
  }), /*#__PURE__*/_jsx(Grid, {
189
244
  item: true,
190
245
  xs: 12,
@@ -217,7 +272,7 @@ const TextFormat = props => {
217
272
  variant: "body1",
218
273
  color: "primary",
219
274
  sx: classes.typoLabel,
220
- children: "Text Color"
275
+ children: translation("textColor")
221
276
  })
222
277
  }), /*#__PURE__*/_jsx(Grid, {
223
278
  item: true,
@@ -227,7 +282,7 @@ const TextFormat = props => {
227
282
  onClick: handleDefault({
228
283
  format: "color"
229
284
  }),
230
- children: "Default Color"
285
+ children: translation("defaultColor")
231
286
  })
232
287
  })]
233
288
  }), /*#__PURE__*/_jsx(Grid, {
@@ -238,7 +293,7 @@ const TextFormat = props => {
238
293
  editor: editor,
239
294
  showHex: false,
240
295
  rounded: true,
241
- title: "Text Color",
296
+ title: translation("textColor"),
242
297
  id: "11_cc",
243
298
  classes: classes
244
299
  }, "11_cc")
@@ -257,7 +312,7 @@ const TextFormat = props => {
257
312
  variant: "body1",
258
313
  color: "primary",
259
314
  sx: classes.typoLabel,
260
- children: "Background Color"
315
+ children: translation("backgroundColor")
261
316
  })
262
317
  }), /*#__PURE__*/_jsx(Grid, {
263
318
  item: true,
@@ -266,12 +321,12 @@ const TextFormat = props => {
266
321
  children: /*#__PURE__*/_jsx(Button, {
267
322
  sx: classes.defaultBtn2,
268
323
  startIcon: /*#__PURE__*/_jsx(ColorResetIcon, {
269
- stroke: theme?.palette?.type === "dark" ? "#505359" : "#A2B0B9"
324
+ stroke: appTheme?.palette?.type === "dark" ? "#505359" : "#A2B0B9"
270
325
  }),
271
326
  onClick: handleDefault({
272
327
  format: "bgColor"
273
328
  }),
274
- children: "Default Color"
329
+ children: translation("defaultColor")
275
330
  })
276
331
  })
277
332
  })]
@@ -285,7 +340,7 @@ const TextFormat = props => {
285
340
  editor: editor,
286
341
  showHex: false,
287
342
  rounded: true,
288
- title: "Text Background Color",
343
+ title: translation("textBgColor"),
289
344
  classes: classes,
290
345
  id: "12_cc"
291
346
  }, "12_cc")
@@ -303,7 +358,7 @@ const TextFormat = props => {
303
358
  variant: "body1",
304
359
  color: "primary",
305
360
  sx: classes.typoLabel2,
306
- children: "Alignment"
361
+ children: translation("Alignment")
307
362
  }), /*#__PURE__*/_jsx(Grid, {
308
363
  item: true,
309
364
  xs: 12,
@@ -311,7 +366,8 @@ const TextFormat = props => {
311
366
  children: fontAlign?.map((m, i) => {
312
367
  return /*#__PURE__*/_jsx(BlockButton, {
313
368
  editor: editor,
314
- ...m
369
+ ...m,
370
+ customProps: customProps
315
371
  }, `pptool_block_${i}_${m.id}`);
316
372
  })
317
373
  })]
@@ -323,7 +379,7 @@ const TextFormat = props => {
323
379
  variant: "body1",
324
380
  color: "primary",
325
381
  sx: classes.typoLabel2,
326
- children: "Lists"
382
+ children: translation("Lists")
327
383
  }), /*#__PURE__*/_jsx(Grid, {
328
384
  item: true,
329
385
  xs: 12,
@@ -332,7 +388,8 @@ const TextFormat = props => {
332
388
  const Comp = ButtonComp[m?.component] || BlockButton;
333
389
  return /*#__PURE__*/_jsx(Comp, {
334
390
  editor: editor,
335
- ...m
391
+ ...m,
392
+ customProps: customProps
336
393
  }, `pptool_block_${i}_${m.id}`);
337
394
  })
338
395
  })]
@@ -348,20 +405,17 @@ const TextFormat = props => {
348
405
  variant: "body1",
349
406
  color: "primary",
350
407
  sx: classes.typoLabel,
351
- children: "Typography"
408
+ children: translation("Typography")
352
409
  }), /*#__PURE__*/_jsxs(Grid, {
353
410
  item: true,
354
411
  xs: 12,
355
412
  className: "typo-icons",
356
413
  sx: classes.evenSpace,
357
- children: [/*#__PURE__*/_jsx(SelectTypography, {
358
- classes: classes,
359
- editor: editor,
360
- closeMainPopup: closeMainPopup || onClose
361
- }), fontStyle?.map((m, i) => {
414
+ children: [fontStyle?.map((m, i) => {
362
415
  return /*#__PURE__*/_jsx(MarkButton, {
363
416
  editor: editor,
364
- ...m
417
+ ...m,
418
+ customProps: customProps
365
419
  }, `pptool_mark_${i}_${m.id}`);
366
420
  }), /*#__PURE__*/_jsx(LinkButton, {
367
421
  active: isBlockActive(editor, link.format),
@@ -370,7 +424,8 @@ const TextFormat = props => {
370
424
  }, link.id), /*#__PURE__*/_jsx(SelectSuperSubscript, {
371
425
  classes: classes,
372
426
  editor: editor,
373
- closeMainPopup: closeMainPopup || onClose
427
+ closeMainPopup: closeMainPopup || onClose,
428
+ customProps: customProps
374
429
  })]
375
430
  })]
376
431
  }), /*#__PURE__*/_jsx(Grid, {
@@ -389,7 +444,7 @@ const TextFormat = props => {
389
444
  variant: "body1",
390
445
  color: "primary",
391
446
  sx: classes.typoLabel3,
392
- children: "Decorations"
447
+ children: translation("Decorations")
393
448
  })
394
449
  }), /*#__PURE__*/_jsxs(Grid, {
395
450
  item: true,
@@ -409,7 +464,7 @@ const TextFormat = props => {
409
464
  style: {
410
465
  background: bqBgColor
411
466
  },
412
- children: "Colorbox"
467
+ children: translation("Colorbox")
413
468
  }), /*#__PURE__*/_jsx("div", {
414
469
  className: "vl"
415
470
  }), /*#__PURE__*/_jsx(Button, {
@@ -430,7 +485,7 @@ const TextFormat = props => {
430
485
  ...getBorderColor(bqColor || "transparent", 3),
431
486
  borderWidth: bqColor ? "0px 0px 0px 3px" : "0px"
432
487
  },
433
- children: "Quote"
488
+ children: translation("Quote")
434
489
  })
435
490
  }), /*#__PURE__*/_jsx("div", {
436
491
  className: "vl"
@@ -0,0 +1,438 @@
1
+ import { Button, Grid, IconButton, Popover, TextField, Tooltip, Typography } from "@mui/material";
2
+ import { useEditorContext } from "../../hooks/useMouseMove";
3
+ import FormatClearIcon from "@mui/icons-material/FormatClear";
4
+ import usePopupStyles from "../PopupTool/PopupToolStyle";
5
+ import { TextMinusIcon, TextPlusIcon } from "../../common/iconslist";
6
+ import { BREAKPOINTS_DEVICES, getBreakPointsValue, getVariableValue } from "../../helper/theme";
7
+ import useWindowResize from "../../hooks/useWindowResize";
8
+ import { toolbarGroups } from "../toolbarGroups";
9
+ import Icon from "../../common/Icon";
10
+ import { useMemo, useState } from "react";
11
+ import CommonButton from "../../common/Button";
12
+ import CustomSelect from "../../common/CustomSelect";
13
+ import ColorButtons from "../../Elements/Color Picker/ColorButtons";
14
+ import FormatColorResetIcon from "@mui/icons-material/FormatColorReset";
15
+ import ColorPickerStyles from "../../Elements/Color Picker/Styles";
16
+ import colorWheel from "../../Elements/Color Picker/colorWheel.png";
17
+ import CustomColorPicker from "../../common/CustomColorPicker";
18
+ import FontFamilyAutocomplete from "../FormatTools/FontFamilyAutocomplete";
19
+ import { googleFontList as defaultFonts } from "../../common/FontLoader/FontList";
20
+ import { jsx as _jsx } from "react/jsx-runtime";
21
+ import { jsxs as _jsxs } from "react/jsx-runtime";
22
+ import { Fragment as _Fragment } from "react/jsx-runtime";
23
+ function getFontStyleProps(settings = {}, format) {
24
+ const {
25
+ fontWeight,
26
+ fontStyle
27
+ } = settings;
28
+ let isActive;
29
+ let onClick;
30
+ switch (format) {
31
+ case "bold":
32
+ isActive = fontWeight === "bold" || fontWeight === "700";
33
+ onClick = () => {
34
+ return {
35
+ fontWeight: isActive ? "normal" : "bold"
36
+ };
37
+ };
38
+ break;
39
+ case "italic":
40
+ isActive = fontStyle === "italic";
41
+ onClick = () => {
42
+ return {
43
+ fontStyle: isActive ? "unset" : "italic"
44
+ };
45
+ };
46
+ break;
47
+
48
+ // case "underline":
49
+ // isActive = textDecoration.includes("underline");
50
+ // onClick = () => {
51
+ // let otherTextDecoration = textDecoration?.includes("line-through")
52
+ // ? "line-through"
53
+ // : "";
54
+
55
+ // otherTextDecoration += isActive ? "" : " underline";
56
+
57
+ // return { textDecoration: otherTextDecoration };
58
+ // };
59
+ // break;
60
+ // case "strikethrough":
61
+ // isActive = textDecoration.includes("line-through");
62
+ // onClick = () => {
63
+ // let otherTextDecoration = textDecoration?.includes("underline")
64
+ // ? "underline"
65
+ // : "";
66
+
67
+ // otherTextDecoration += isActive ? "" : " line-through";
68
+
69
+ // return { textDecoration: otherTextDecoration };
70
+ // };
71
+ // break;
72
+
73
+ default:
74
+ isActive = false;
75
+ onClick = () => {};
76
+ break;
77
+ }
78
+ return {
79
+ isActive,
80
+ onClick
81
+ };
82
+ }
83
+ const allTools = toolbarGroups.flat();
84
+ function ThemeTextFormat(props) {
85
+ const {
86
+ settings,
87
+ updateSettings,
88
+ onSaveTextSettings,
89
+ onClose
90
+ } = props;
91
+ const {
92
+ theme,
93
+ fontFamilies
94
+ } = useEditorContext();
95
+ const classes = usePopupStyles(theme);
96
+ const pickerStyles = ColorPickerStyles(theme);
97
+ const fontStyle = allTools.filter(f => f.type === "mark" && f.themeEnabled);
98
+ const fontWeight = allTools.find(f => f.format === "fontWeight");
99
+ const fontFamilyVal = useMemo(() => {
100
+ const {
101
+ fontFamily = ""
102
+ } = settings;
103
+ let font = fontFamily.startsWith("var") ? getVariableValue(fontFamily) : fontFamily;
104
+ return font;
105
+ }, [settings]);
106
+ const fontWeightVal = useMemo(() => {
107
+ const {
108
+ options
109
+ } = fontWeight || {};
110
+ const selected = options?.find(o => o.value === settings?.fontWeight || o.numVal === settings?.fontWeight);
111
+ return selected?.value;
112
+ }, [settings?.fontWeight]);
113
+ return /*#__PURE__*/_jsxs(Grid, {
114
+ container: true,
115
+ sx: classes.textFormatWrapper,
116
+ children: [/*#__PURE__*/_jsxs(Grid, {
117
+ item: true,
118
+ xs: 12,
119
+ children: [/*#__PURE__*/_jsxs(Grid, {
120
+ container: true,
121
+ justifyContent: "space-between",
122
+ alignItems: "center",
123
+ children: [/*#__PURE__*/_jsx(Grid, {
124
+ item: true,
125
+ children: /*#__PURE__*/_jsx(Typography, {
126
+ variant: "body1",
127
+ color: "primary",
128
+ sx: classes.typoLabel,
129
+ children: "Font Family"
130
+ })
131
+ }), /*#__PURE__*/_jsx(Grid, {
132
+ item: true,
133
+ children: /*#__PURE__*/_jsx(Button, {
134
+ sx: classes.defaultBtn,
135
+ startIcon: /*#__PURE__*/_jsx(FormatClearIcon, {}),
136
+ onClick: () => updateSettings({
137
+ fontFamily: defaultFonts[0]
138
+ }),
139
+ children: "Default"
140
+ })
141
+ })]
142
+ }), /*#__PURE__*/_jsx(Grid, {
143
+ item: true,
144
+ xs: 12,
145
+ sx: classes.textFormatField,
146
+ children: /*#__PURE__*/_jsx(FontFamilyAutocomplete, {
147
+ editor: {},
148
+ format: "fontFamily",
149
+ options: fontFamilies?.options,
150
+ width: "100%",
151
+ onChange: updateSettings,
152
+ val: fontFamilyVal || defaultFonts[0],
153
+ webFont: true
154
+ })
155
+ })]
156
+ }), /*#__PURE__*/_jsxs(Grid, {
157
+ container: true,
158
+ spacing: 2,
159
+ children: [/*#__PURE__*/_jsxs(Grid, {
160
+ item: true,
161
+ xs: 6,
162
+ children: [/*#__PURE__*/_jsx(Typography, {
163
+ variant: "body1",
164
+ color: "primary",
165
+ sx: classes.typoLabel,
166
+ children: "Font Weight"
167
+ }), /*#__PURE__*/_jsx(Grid, {
168
+ item: true,
169
+ xs: 12,
170
+ sx: classes.textFormatField,
171
+ children: /*#__PURE__*/_jsx(CustomSelect, {
172
+ options: fontWeight?.options || [],
173
+ classes: classes,
174
+ onChange: e => {
175
+ updateSettings({
176
+ fontWeight: e.target.value
177
+ });
178
+ },
179
+ value: fontWeightVal
180
+ })
181
+ })]
182
+ }), /*#__PURE__*/_jsxs(Grid, {
183
+ item: true,
184
+ xs: 6,
185
+ children: [/*#__PURE__*/_jsx(Typography, {
186
+ variant: "body1",
187
+ color: "primary",
188
+ sx: classes.typoLabel,
189
+ children: "Font Size"
190
+ }), /*#__PURE__*/_jsx(Grid, {
191
+ item: true,
192
+ xs: 12,
193
+ sx: classes.textFormatCG,
194
+ children: /*#__PURE__*/_jsx(TextSize, {
195
+ classes: classes,
196
+ value: settings?.fontSize || 16,
197
+ onChange: fontSize => updateSettings({
198
+ fontSize
199
+ }),
200
+ fullWidth: true
201
+ })
202
+ })]
203
+ })]
204
+ }), /*#__PURE__*/_jsxs(Grid, {
205
+ item: true,
206
+ xs: 12,
207
+ sx: classes.textFormatField,
208
+ style: {
209
+ marginTop: "14px"
210
+ },
211
+ children: [/*#__PURE__*/_jsxs(Grid, {
212
+ container: true,
213
+ justifyContent: "space-between",
214
+ alignItems: "center",
215
+ children: [/*#__PURE__*/_jsx(Grid, {
216
+ item: true,
217
+ children: /*#__PURE__*/_jsx(Typography, {
218
+ variant: "body1",
219
+ color: "primary",
220
+ sx: classes.typoLabel,
221
+ children: "Text Color"
222
+ })
223
+ }), /*#__PURE__*/_jsx(Grid, {
224
+ item: true,
225
+ children: /*#__PURE__*/_jsx(Button, {
226
+ sx: classes.defaultBtn,
227
+ startIcon: /*#__PURE__*/_jsx(FormatColorResetIcon, {}),
228
+ onClick: () => updateSettings({
229
+ color: "#ddd"
230
+ }),
231
+ children: "Default"
232
+ })
233
+ })]
234
+ }), /*#__PURE__*/_jsx(Grid, {
235
+ sx: classes.textFormatColorWrpr,
236
+ children: /*#__PURE__*/_jsx(ColorPicker, {
237
+ classes: classes,
238
+ pickerStyles: pickerStyles,
239
+ onChange: color => updateSettings({
240
+ color
241
+ }),
242
+ color: settings?.color,
243
+ disableEditTheme: true
244
+ })
245
+ })]
246
+ }), /*#__PURE__*/_jsxs(Grid, {
247
+ item: true,
248
+ xs: 12,
249
+ children: [/*#__PURE__*/_jsx(Typography, {
250
+ variant: "body1",
251
+ color: "primary",
252
+ sx: classes.typoLabel,
253
+ children: "Typography"
254
+ }), /*#__PURE__*/_jsx(Grid, {
255
+ item: true,
256
+ xs: 12,
257
+ className: "typo-icons",
258
+ sx: classes.evenSpace,
259
+ children: fontStyle?.map((m, i) => {
260
+ const {
261
+ isActive,
262
+ onClick
263
+ } = getFontStyleProps(settings, m.format) || {};
264
+ return /*#__PURE__*/_jsx(CommonButton, {
265
+ active: isActive,
266
+ onClick: () => {
267
+ const style = onClick();
268
+ updateSettings(style);
269
+ },
270
+ children: /*#__PURE__*/_jsx(Icon, {
271
+ icon: m.format
272
+ })
273
+ }, i);
274
+ })
275
+ })]
276
+ }), /*#__PURE__*/_jsx(Grid, {
277
+ item: true,
278
+ xs: 12,
279
+ sx: {
280
+ mt: 2
281
+ },
282
+ children: /*#__PURE__*/_jsxs("div", {
283
+ style: {
284
+ display: "flex",
285
+ justifyContent: "end",
286
+ margin: "8px",
287
+ position: "absolute",
288
+ bottom: 0,
289
+ right: 0
290
+ },
291
+ children: [/*#__PURE__*/_jsx(Button, {
292
+ onClick: onClose,
293
+ className: "secondaryBtn",
294
+ children: "Cancel"
295
+ }), /*#__PURE__*/_jsx(Button, {
296
+ onClick: onSaveTextSettings,
297
+ className: "primaryBtn",
298
+ children: "Save"
299
+ })]
300
+ })
301
+ })]
302
+ });
303
+ }
304
+ export default ThemeTextFormat;
305
+ function TextSize(props) {
306
+ const {
307
+ classes,
308
+ value: val,
309
+ onChange,
310
+ fullWidth
311
+ } = props;
312
+ const [size] = useWindowResize();
313
+ const value = getBreakPointsValue(val, size?.device);
314
+ const updateMarkData = newVal => {
315
+ let upData = {
316
+ ...getBreakPointsValue(val),
317
+ [size?.device]: `${newVal}px`
318
+ };
319
+
320
+ // if desktop update to all other devices
321
+ // to avoid default normal size
322
+ if (size?.device === "lg") {
323
+ upData = BREAKPOINTS_DEVICES.reduce((a, b) => {
324
+ a[b] = `${newVal}px`;
325
+ return a;
326
+ }, {});
327
+ }
328
+ onChange(upData);
329
+ };
330
+ const onChangeSize = e => {
331
+ let inc = parseInt(e.target.value) || 8;
332
+ inc = inc > 200 ? 200 : inc;
333
+ updateMarkData(inc || 8);
334
+ };
335
+ const getSizeVal = () => {
336
+ try {
337
+ return parseInt(value);
338
+ } catch (err) {
339
+ return "";
340
+ }
341
+ };
342
+ const combinedOldVal = getSizeVal();
343
+ const onIncreaseSize = () => {
344
+ let inc = (combinedOldVal || 0) + 1;
345
+ inc = inc > 200 ? 200 : inc;
346
+ updateMarkData(inc);
347
+ };
348
+ const onDecreaseSize = () => {
349
+ const newVal = combinedOldVal - 1 < 0 ? 0 : combinedOldVal - 1;
350
+ updateMarkData(newVal);
351
+ };
352
+ return /*#__PURE__*/_jsx(TextField, {
353
+ sx: classes?.textSize,
354
+ value: combinedOldVal,
355
+ onChange: onChangeSize,
356
+ size: "small",
357
+ inputProps: {
358
+ style: {
359
+ width: fullWidth ? "100%" : "30px",
360
+ textAlign: "center",
361
+ height: "19px",
362
+ fontSize: "14px"
363
+ }
364
+ },
365
+ fullWidth: fullWidth,
366
+ InputProps: {
367
+ style: {
368
+ borderRadius: "8px"
369
+ },
370
+ endAdornment: /*#__PURE__*/_jsxs("div", {
371
+ className: "textFontArrows",
372
+ children: [/*#__PURE__*/_jsx(IconButton, {
373
+ onClick: onIncreaseSize,
374
+ size: "small",
375
+ children: /*#__PURE__*/_jsx(TextPlusIcon, {})
376
+ }), /*#__PURE__*/_jsx(IconButton, {
377
+ onClick: onDecreaseSize,
378
+ size: "small",
379
+ children: /*#__PURE__*/_jsx(TextMinusIcon, {})
380
+ })]
381
+ })
382
+ }
383
+ });
384
+ }
385
+ function ColorPicker(props) {
386
+ const {
387
+ classes,
388
+ pickerStyles,
389
+ onChange,
390
+ color,
391
+ disableEditTheme
392
+ } = props;
393
+ const [anchorEl, setAnchorEl] = useState(null);
394
+ const open = Boolean(anchorEl);
395
+ const handleClose = () => {
396
+ setAnchorEl(null);
397
+ };
398
+ return /*#__PURE__*/_jsxs(_Fragment, {
399
+ children: [/*#__PURE__*/_jsx(Tooltip, {
400
+ title: "",
401
+ arrow: true,
402
+ children: /*#__PURE__*/_jsx(IconButton, {
403
+ sx: pickerStyles.colorPickerIcon,
404
+ onClick: e => {
405
+ setAnchorEl(e.currentTarget);
406
+ },
407
+ children: /*#__PURE__*/_jsx("img", {
408
+ src: colorWheel,
409
+ alt: "color wheel"
410
+ })
411
+ })
412
+ }), /*#__PURE__*/_jsx(ColorButtons, {
413
+ classes: pickerStyles,
414
+ onSelect: onChange,
415
+ activeColor: color,
416
+ disableEditTheme: disableEditTheme
417
+ }), /*#__PURE__*/_jsx(Popover, {
418
+ open: open,
419
+ anchorEl: anchorEl,
420
+ onClose: handleClose,
421
+ anchorOrigin: {
422
+ vertical: "top",
423
+ horizontal: "center"
424
+ },
425
+ transformOrigin: {
426
+ vertical: "bottom",
427
+ horizontal: "top"
428
+ },
429
+ sx: classes.colorPickerPopup,
430
+ children: /*#__PURE__*/_jsx(CustomColorPicker, {
431
+ gradient: true,
432
+ onChange: onChange,
433
+ color: color,
434
+ disableEditTheme: disableEditTheme
435
+ })
436
+ })]
437
+ });
438
+ }