@trycourier/react-designer 0.2.0 → 0.4.0

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 (118) hide show
  1. package/README.md +254 -41
  2. package/dist/cjs/index.js +70 -47
  3. package/dist/cjs/index.js.map +4 -4
  4. package/dist/cjs/styles.css +1609 -480
  5. package/dist/components/BrandEditor/BrandEditor.d.ts +1 -0
  6. package/dist/components/BrandEditor/Editor/BrandFooter/BrandFooter.d.ts +1 -1
  7. package/dist/components/BrandEditor/Editor/Editor.d.ts +16 -0
  8. package/dist/components/Providers/api/template.d.ts +33 -1
  9. package/dist/components/Providers/store.d.ts +6 -0
  10. package/dist/components/Providers/useBrandActions.d.ts +1 -1
  11. package/dist/components/Providers/useTemplateActions.d.ts +4 -2
  12. package/dist/components/TemplateEditor/Channels/Email/Email.d.ts +5 -6
  13. package/dist/components/TemplateEditor/Channels/Email/EmailEditor.d.ts +2 -1
  14. package/dist/components/TemplateEditor/Channels/Email/EmailLayout.d.ts +1 -1
  15. package/dist/components/TemplateEditor/Channels/Email/SideBar/SideBar.d.ts +9 -3
  16. package/dist/components/TemplateEditor/Channels/Email/SideBar/SideBarSortableItemWrapper/SideBarSortableItemWrapper.d.ts +4 -18
  17. package/dist/components/TemplateEditor/Channels/Inbox/Inbox.d.ts +1 -1
  18. package/dist/components/TemplateEditor/Channels/Inbox/InboxLayout.d.ts +1 -1
  19. package/dist/components/TemplateEditor/Channels/MSTeams/MSTeams.d.ts +5 -3
  20. package/dist/components/TemplateEditor/Channels/MSTeams/MSTeamsEditor.d.ts +1 -1
  21. package/dist/components/TemplateEditor/Channels/MSTeams/MSTeamsLayout.d.ts +1 -1
  22. package/dist/components/TemplateEditor/Channels/MSTeams/SideBar/SideBar.d.ts +5 -3
  23. package/dist/components/TemplateEditor/Channels/Push/Push.d.ts +1 -1
  24. package/dist/components/TemplateEditor/Channels/Push/PushLayout.d.ts +1 -1
  25. package/dist/components/TemplateEditor/Channels/SMS/SMS.d.ts +1 -1
  26. package/dist/components/TemplateEditor/Channels/SMS/SMSLayout.d.ts +1 -1
  27. package/dist/components/TemplateEditor/Channels/Slack/SideBar/SideBar.d.ts +5 -3
  28. package/dist/components/TemplateEditor/Channels/Slack/Slack.d.ts +5 -3
  29. package/dist/components/TemplateEditor/Channels/Slack/SlackEditor.d.ts +1 -1
  30. package/dist/components/TemplateEditor/Channels/Slack/SlackLayout.d.ts +1 -1
  31. package/dist/components/TemplateEditor/Channels/useChannels.d.ts +9 -1
  32. package/dist/components/TemplateEditor/TemplateEditor.d.ts +17 -1
  33. package/dist/components/TemplateEditor/hooks/index.d.ts +1 -0
  34. package/dist/components/TemplateEditor/hooks/useDebouncedFlush.d.ts +10 -0
  35. package/dist/components/TemplateEditor/hooks/useDndRef.d.ts +18 -0
  36. package/dist/components/TemplateEditor/hooks/useEditorDnd.d.ts +12 -16
  37. package/dist/components/TemplateEditor/hooks/usePragmaticDnd.d.ts +22 -0
  38. package/dist/components/TemplateEditor/hooks/useSyncEditorItems.d.ts +3 -2
  39. package/dist/components/TemplateEditor/index.d.ts +5 -2
  40. package/dist/components/TemplateEditor/store.d.ts +150 -0
  41. package/dist/components/extensions/Blockquote/Blockquote.types.d.ts +2 -2
  42. package/dist/components/extensions/Button/Button.types.d.ts +18 -24
  43. package/dist/components/extensions/Button/ButtonComponent.d.ts +1 -0
  44. package/dist/components/extensions/ButtonRow/ButtonRowComponent.d.ts +5 -1
  45. package/dist/components/extensions/Column/Column.d.ts +11 -0
  46. package/dist/components/extensions/Column/Column.types.d.ts +44 -0
  47. package/dist/components/extensions/Column/ColumnComponent.d.ts +9 -0
  48. package/dist/components/extensions/Column/ColumnForm.d.ts +8 -0
  49. package/dist/components/extensions/Column/index.d.ts +5 -0
  50. package/dist/components/extensions/ColumnCell/ColumnCell.d.ts +10 -0
  51. package/dist/components/extensions/ColumnCell/ColumnCellComponent.d.ts +2 -0
  52. package/dist/components/extensions/ColumnCell/index.d.ts +2 -0
  53. package/dist/components/extensions/ColumnRow/ColumnRow.d.ts +10 -0
  54. package/dist/components/extensions/ColumnRow/ColumnRowComponent.d.ts +2 -0
  55. package/dist/components/extensions/ColumnRow/index.d.ts +2 -0
  56. package/dist/components/extensions/ImageBlock/ImageBlock.types.d.ts +2 -6
  57. package/dist/components/extensions/Selection/Selection.d.ts +1 -0
  58. package/dist/components/extensions/TextBlock/TextBlock.types.d.ts +4 -12
  59. package/dist/components/extensions/Variable/Variable.d.ts +16 -0
  60. package/dist/components/extensions/Variable/Variable.types.d.ts +22 -18
  61. package/dist/components/extensions/Variable/VariableIcon.d.ts +5 -1
  62. package/dist/components/extensions/Variable/index.d.ts +1 -0
  63. package/dist/components/extensions/extension-kit.d.ts +8 -3
  64. package/dist/components/extensions/index.d.ts +4 -1
  65. package/dist/components/hooks/index.d.ts +2 -0
  66. package/dist/components/hooks/useBlockConfig.d.ts +110 -0
  67. package/dist/components/hooks/useVariables.d.ts +40 -0
  68. package/dist/components/ui/Blocks/ColumnBlock/ColumnBlock.d.ts +3 -0
  69. package/dist/components/ui/Blocks/ColumnBlock/index.d.ts +1 -0
  70. package/dist/components/ui/Blocks/CustomCodeBlock/index.d.ts +1 -1
  71. package/dist/components/ui/Blocks/index.d.ts +1 -0
  72. package/dist/components/ui/ContentIcon/ContentIcon.d.ts +1 -0
  73. package/dist/components/ui/DraggableItem/DraggableItem.d.ts +16 -0
  74. package/dist/components/ui/DraggableItem/index.d.ts +1 -0
  75. package/dist/components/ui/DropIndicatorPlaceholder/DropIndicatorPlaceholder.d.ts +5 -0
  76. package/dist/components/ui/DropIndicatorPlaceholder/index.d.ts +1 -0
  77. package/dist/components/ui/FormHeader/FormHeader.d.ts +2 -1
  78. package/dist/components/ui/MainLayout/MainLayout.d.ts +1 -1
  79. package/dist/components/ui/SortableItemWrapper/SortableItemWrapper.d.ts +11 -8
  80. package/dist/components/ui/TextInput/TextInput.d.ts +0 -1
  81. package/dist/components/ui/TextMenu/config.d.ts +16 -0
  82. package/dist/components/ui/TextMenu/hooks/useConditionalRules.d.ts +18 -0
  83. package/dist/components/ui/TextMenu/hooks/useTextmenuCommands.d.ts +15 -1
  84. package/dist/components/ui/VariableEditor/VariableAutocomplete.d.ts +16 -0
  85. package/dist/components/ui/VariableEditor/VariableChipBase.d.ts +35 -0
  86. package/dist/components/ui/VariableEditor/VariableEditorToolbar.d.ts +15 -0
  87. package/dist/components/ui/VariableEditor/VariableInput.d.ts +13 -0
  88. package/dist/components/ui/VariableEditor/VariableTextarea.d.ts +11 -0
  89. package/dist/components/ui/VariableEditor/index.d.ts +8 -0
  90. package/dist/components/ui/VariableEditor/shared.d.ts +47 -0
  91. package/dist/components/ui-kit/Icon/EmailIcon.d.ts +3 -0
  92. package/dist/components/ui-kit/Icon/MSTeamsIcon.d.ts +1 -1
  93. package/dist/components/ui-kit/Icon/PushIcon.d.ts +1 -1
  94. package/dist/components/ui-kit/Icon/VariableIcon.d.ts +1 -1
  95. package/dist/components/ui-kit/Icon/index.d.ts +1 -0
  96. package/dist/components/ui-kit/ThemeProvider/ThemeProvider.d.ts +1 -1
  97. package/dist/components/ui-kit/Toggle/Toggle.d.ts +2 -2
  98. package/dist/components/ui-kit/ToggleGroup/ToggleGroup.d.ts +2 -2
  99. package/dist/components/utils/extractVariablesFromContent.d.ts +13 -0
  100. package/dist/components/utils/index.d.ts +1 -0
  101. package/dist/components/utils/multipleContainersKeyboardCoordinates.d.ts +1 -2
  102. package/dist/components/utils/validateVariableName.d.ts +9 -0
  103. package/dist/esm/index.js +70 -47
  104. package/dist/esm/index.js.map +4 -4
  105. package/dist/esm/styles.css +1609 -480
  106. package/dist/hooks/useAutoSave.d.ts +2 -1
  107. package/dist/index.d.ts +2 -1
  108. package/dist/lib/utils/image.d.ts +5 -0
  109. package/dist/styles.css +1609 -480
  110. package/dist/types/elemental.schema.d.ts +3 -3
  111. package/dist/types/elemental.types.d.ts +48 -4
  112. package/dist/types/index.d.ts +1 -0
  113. package/dist/types/validation.types.d.ts +53 -0
  114. package/package.json +7 -6
  115. package/dist/cjs/index.css +0 -2
  116. package/dist/cjs/index.css.map +0 -7
  117. package/dist/esm/index.css +0 -2
  118. package/dist/esm/index.css.map +0 -7
@@ -4,8 +4,9 @@ interface UseAutoSaveOptions<T> {
4
4
  enabled?: boolean;
5
5
  onError?: (error: unknown) => void;
6
6
  initialContent?: T;
7
+ flushBeforeSave?: () => void;
7
8
  }
8
- export declare function useAutoSave<T>({ onSave, debounceMs, enabled, onError, initialContent, }: UseAutoSaveOptions<T>): {
9
+ export declare function useAutoSave<T>({ onSave, debounceMs, enabled, onError, initialContent, flushBeforeSave, }: UseAutoSaveOptions<T>): {
9
10
  handleAutoSave: (content: T) => Promise<void>;
10
11
  isSaving: boolean;
11
12
  };
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
- import "./styles.css";
2
1
  export * from "./components/TemplateEditor";
3
2
  export * from "./components/BrandEditor";
4
3
  export * from "./components/Providers";
4
+ export * from "./components/hooks";
5
+ export type { VariableValidationConfig } from "./types/validation.types";
5
6
  export * from "./lib/utils/errors";
6
7
  export * from "./components/ui-kit/ErrorBoundary";
@@ -1,5 +1,10 @@
1
1
  export declare const MAX_IMAGE_DIMENSION = 800;
2
2
  export declare const MAX_FILE_SIZE: number;
3
+ export declare const BLANK_IMAGE_PLACEHOLDER = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7";
4
+ /**
5
+ * Check if an image source is effectively blank (empty or placeholder)
6
+ */
7
+ export declare function isBlankImageSrc(src: string | undefined | null): boolean;
3
8
  export declare const resizeImage: (file: File, maxDimension: number) => Promise<{
4
9
  dataUrl: string;
5
10
  width: number;