@trycourier/react-designer 0.0.10 → 0.2.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.
- package/dist/cjs/index.css +1 -1
- package/dist/cjs/index.css.map +2 -2
- package/dist/cjs/index.js +46 -50
- package/dist/cjs/index.js.map +4 -4
- package/dist/cjs/styles.css +23 -23
- package/dist/components/Providers/store.d.ts +5 -0
- package/dist/components/Providers/useTemplateActions.d.ts +21 -1
- package/dist/components/TemplateEditor/Channels/Email/Email.d.ts +2 -0
- package/dist/components/TemplateEditor/Channels/MSTeams/MSTeamsEditor.d.ts +2 -1
- package/dist/components/TemplateEditor/Channels/Push/Push.d.ts +2 -6
- package/dist/components/TemplateEditor/Channels/SMS/SMS.d.ts +2 -5
- package/dist/components/TemplateEditor/Channels/Slack/SlackEditor.d.ts +2 -1
- package/dist/components/TemplateEditor/ReadOnlyEditorContent.d.ts +7 -0
- package/dist/components/TemplateEditor/store.d.ts +4 -2
- package/dist/components/extensions/Button/Button.types.d.ts +2 -2
- package/dist/components/extensions/ImageBlock/ImageBlock.types.d.ts +2 -2
- package/dist/components/extensions/TextBlock/TextBlock.types.d.ts +2 -2
- package/dist/components/extensions/Variable/VariableIcon.d.ts +2 -0
- package/dist/components/ui/PreviewPanel/PreviewPanel.d.ts +2 -1
- package/dist/esm/index.css +1 -1
- package/dist/esm/index.css.map +2 -2
- package/dist/esm/index.js +46 -50
- package/dist/esm/index.js.map +4 -4
- package/dist/esm/styles.css +23 -23
- package/dist/lib/utils/getTitle/index.d.ts +1 -1
- package/dist/lib/utils/getTitle/preserveStorageFormat.d.ts +9 -1
- package/dist/styles.css +23 -23
- package/dist/types/elemental.types.d.ts +2 -2
- package/package.json +1 -1
package/dist/esm/styles.css
CHANGED
|
@@ -1534,6 +1534,11 @@ body {
|
|
|
1534
1534
|
.courier-overflow-y-auto {
|
|
1535
1535
|
overflow-y: auto;
|
|
1536
1536
|
}
|
|
1537
|
+
.courier-truncate {
|
|
1538
|
+
overflow: hidden;
|
|
1539
|
+
text-overflow: ellipsis;
|
|
1540
|
+
white-space: nowrap;
|
|
1541
|
+
}
|
|
1537
1542
|
.courier-whitespace-nowrap {
|
|
1538
1543
|
white-space: nowrap;
|
|
1539
1544
|
}
|
|
@@ -1635,6 +1640,10 @@ body {
|
|
|
1635
1640
|
--tw-border-opacity: 1;
|
|
1636
1641
|
border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
|
|
1637
1642
|
}
|
|
1643
|
+
.courier-border-\[\#BFDBFE\] {
|
|
1644
|
+
--tw-border-opacity: 1;
|
|
1645
|
+
border-color: rgb(191 219 254 / var(--tw-border-opacity, 1));
|
|
1646
|
+
}
|
|
1638
1647
|
.courier-border-accent-foreground {
|
|
1639
1648
|
border-color: var(--accent-foreground);
|
|
1640
1649
|
}
|
|
@@ -1658,10 +1667,6 @@ body {
|
|
|
1658
1667
|
--tw-border-opacity: 1;
|
|
1659
1668
|
border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
|
|
1660
1669
|
}
|
|
1661
|
-
.courier-border-gray-400 {
|
|
1662
|
-
--tw-border-opacity: 1;
|
|
1663
|
-
border-color: rgb(156 163 175 / var(--tw-border-opacity, 1));
|
|
1664
|
-
}
|
|
1665
1670
|
.courier-border-input {
|
|
1666
1671
|
border-color: var(--input);
|
|
1667
1672
|
}
|
|
@@ -1738,6 +1743,10 @@ body {
|
|
|
1738
1743
|
--tw-bg-opacity: 1;
|
|
1739
1744
|
background-color: rgb(229 229 229 / var(--tw-bg-opacity, 1));
|
|
1740
1745
|
}
|
|
1746
|
+
.courier-bg-\[\#EFF6FF\] {
|
|
1747
|
+
--tw-bg-opacity: 1;
|
|
1748
|
+
background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
|
|
1749
|
+
}
|
|
1741
1750
|
.courier-bg-\[\#F5F5F5\] {
|
|
1742
1751
|
--tw-bg-opacity: 1;
|
|
1743
1752
|
background-color: rgb(245 245 245 / var(--tw-bg-opacity, 1));
|
|
@@ -1995,6 +2004,9 @@ body {
|
|
|
1995
2004
|
.courier-pb-6 {
|
|
1996
2005
|
padding-bottom: 1.5rem;
|
|
1997
2006
|
}
|
|
2007
|
+
.courier-pl-1 {
|
|
2008
|
+
padding-left: 0.25rem;
|
|
2009
|
+
}
|
|
1998
2010
|
.courier-pl-2 {
|
|
1999
2011
|
padding-left: 0.5rem;
|
|
2000
2012
|
}
|
|
@@ -2013,9 +2025,6 @@ body {
|
|
|
2013
2025
|
.courier-pr-2 {
|
|
2014
2026
|
padding-right: 0.5rem;
|
|
2015
2027
|
}
|
|
2016
|
-
.courier-pr-3 {
|
|
2017
|
-
padding-right: 0.75rem;
|
|
2018
|
-
}
|
|
2019
2028
|
.courier-pr-4 {
|
|
2020
2029
|
padding-right: 1rem;
|
|
2021
2030
|
}
|
|
@@ -2046,6 +2055,9 @@ body {
|
|
|
2046
2055
|
.courier-text-center {
|
|
2047
2056
|
text-align: center;
|
|
2048
2057
|
}
|
|
2058
|
+
.courier-font-mono {
|
|
2059
|
+
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
|
|
2060
|
+
}
|
|
2049
2061
|
.courier-font-sans {
|
|
2050
2062
|
font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
|
2051
2063
|
}
|
|
@@ -2110,6 +2122,9 @@ body {
|
|
|
2110
2122
|
.courier-leading-relaxed {
|
|
2111
2123
|
line-height: 1.625;
|
|
2112
2124
|
}
|
|
2125
|
+
.courier-tracking-\[0\.64px\] {
|
|
2126
|
+
letter-spacing: 0.64px;
|
|
2127
|
+
}
|
|
2113
2128
|
.courier-tracking-widest {
|
|
2114
2129
|
letter-spacing: 0.1em;
|
|
2115
2130
|
}
|
|
@@ -2884,7 +2899,7 @@ body {
|
|
|
2884
2899
|
color: rgb(163 163 163 / var(--tw-text-opacity, 1));
|
|
2885
2900
|
}
|
|
2886
2901
|
.ProseMirror>.react-renderer.node-paragraph .is-empty .courier-custom-code::after, .ProseMirror>.react-renderer.node-blockquote .is-empty .courier-custom-code::after, .ProseMirror>.react-renderer.node-customCode .is-empty .courier-custom-code::after {
|
|
2887
|
-
content: '
|
|
2902
|
+
content: 'Use the right panel to add custom HTML code...';
|
|
2888
2903
|
}
|
|
2889
2904
|
.ProseMirror>.react-renderer.node-paragraph .is-empty .courier-custom-code::after, .ProseMirror>.react-renderer.node-blockquote .is-empty .courier-custom-code::after, .ProseMirror>.react-renderer.node-customCode .is-empty .courier-custom-code::after {
|
|
2890
2905
|
position: absolute;
|
|
@@ -3584,17 +3599,9 @@ body {
|
|
|
3584
3599
|
.read-only\:courier-border-transparent:read-only {
|
|
3585
3600
|
border-color: transparent;
|
|
3586
3601
|
}
|
|
3587
|
-
.hover\:courier-border-\[\#3B82F6\]:hover {
|
|
3588
|
-
--tw-border-opacity: 1;
|
|
3589
|
-
border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
|
|
3590
|
-
}
|
|
3591
3602
|
.hover\:courier-border-accent-foreground:hover {
|
|
3592
3603
|
border-color: var(--accent-foreground);
|
|
3593
3604
|
}
|
|
3594
|
-
.hover\:courier-bg-\[\#3B82F6\]:hover {
|
|
3595
|
-
--tw-bg-opacity: 1;
|
|
3596
|
-
background-color: rgb(59 130 246 / var(--tw-bg-opacity, 1));
|
|
3597
|
-
}
|
|
3598
3605
|
.hover\:courier-bg-accent:hover {
|
|
3599
3606
|
background-color: var(--accent);
|
|
3600
3607
|
}
|
|
@@ -3633,10 +3640,6 @@ body {
|
|
|
3633
3640
|
.hover\:courier-bg-opacity-20:hover {
|
|
3634
3641
|
--tw-bg-opacity: 0.2;
|
|
3635
3642
|
}
|
|
3636
|
-
.hover\:courier-text-\[\#ffffff\]:hover {
|
|
3637
|
-
--tw-text-opacity: 1;
|
|
3638
|
-
color: rgb(255 255 255 / var(--tw-text-opacity, 1));
|
|
3639
|
-
}
|
|
3640
3643
|
.hover\:courier-text-accent-foreground:hover {
|
|
3641
3644
|
color: var(--accent-foreground);
|
|
3642
3645
|
}
|
|
@@ -3718,9 +3721,6 @@ body {
|
|
|
3718
3721
|
.disabled\:courier-opacity-50:disabled {
|
|
3719
3722
|
opacity: 0.5;
|
|
3720
3723
|
}
|
|
3721
|
-
.courier-group:hover .group-hover\:courier-stroke-primary {
|
|
3722
|
-
stroke: var(--primary);
|
|
3723
|
-
}
|
|
3724
3724
|
.courier-group.toaster .group-\[\.toaster\]\:courier-border-border {
|
|
3725
3725
|
border-color: var(--border);
|
|
3726
3726
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { getTitle, getTitleFromContent, getTitleForChannel } from "./getTitle";
|
|
2
|
-
export { getSubjectStorageFormat, createTitleUpdate, extractCurrentTitle, } from "./preserveStorageFormat";
|
|
2
|
+
export { getSubjectStorageFormat, createTitleUpdate, extractCurrentTitle, cleanSMSElements, cleanPushElements, cleanInboxElements, } from "./preserveStorageFormat";
|
|
@@ -3,6 +3,14 @@ import type { ElementalContent, ElementalNode } from "@/types/elemental.types";
|
|
|
3
3
|
* Cleans an Inbox element by removing styling properties from text and action elements.
|
|
4
4
|
*/
|
|
5
5
|
export declare function cleanInboxElements(elements: ElementalNode[]): ElementalNode[];
|
|
6
|
+
/**
|
|
7
|
+
* Cleans Push elements by removing styling properties from text elements.
|
|
8
|
+
*/
|
|
9
|
+
export declare function cleanPushElements(elements: ElementalNode[]): ElementalNode[];
|
|
10
|
+
/**
|
|
11
|
+
* Cleans SMS elements by removing styling properties from text elements.
|
|
12
|
+
*/
|
|
13
|
+
export declare function cleanSMSElements(elements: ElementalNode[]): ElementalNode[];
|
|
6
14
|
/**
|
|
7
15
|
* Cleans the entire template content by applying Inbox cleaning logic to all Inbox channels.
|
|
8
16
|
*/
|
|
@@ -14,7 +22,7 @@ export declare function cleanTemplateContent(content: ElementalContent): Element
|
|
|
14
22
|
export declare function getSubjectStorageFormat(content: ElementalContent | null | undefined, channelName: string): "raw" | "meta" | "none";
|
|
15
23
|
/**
|
|
16
24
|
* Creates the appropriate subject/title storage structure based on the detected format.
|
|
17
|
-
* For Push and Inbox channels,
|
|
25
|
+
* For Push, SMS, and Inbox channels, uses elements array.
|
|
18
26
|
*/
|
|
19
27
|
export declare function createTitleUpdate(originalContent: ElementalContent | null | undefined, channelName: string, newTitle: string, elementalNodes: ElementalNode[]): {
|
|
20
28
|
elements: ElementalNode[];
|
package/dist/styles.css
CHANGED
|
@@ -1534,6 +1534,11 @@ body {
|
|
|
1534
1534
|
.courier-overflow-y-auto {
|
|
1535
1535
|
overflow-y: auto;
|
|
1536
1536
|
}
|
|
1537
|
+
.courier-truncate {
|
|
1538
|
+
overflow: hidden;
|
|
1539
|
+
text-overflow: ellipsis;
|
|
1540
|
+
white-space: nowrap;
|
|
1541
|
+
}
|
|
1537
1542
|
.courier-whitespace-nowrap {
|
|
1538
1543
|
white-space: nowrap;
|
|
1539
1544
|
}
|
|
@@ -1635,6 +1640,10 @@ body {
|
|
|
1635
1640
|
--tw-border-opacity: 1;
|
|
1636
1641
|
border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
|
|
1637
1642
|
}
|
|
1643
|
+
.courier-border-\[\#BFDBFE\] {
|
|
1644
|
+
--tw-border-opacity: 1;
|
|
1645
|
+
border-color: rgb(191 219 254 / var(--tw-border-opacity, 1));
|
|
1646
|
+
}
|
|
1638
1647
|
.courier-border-accent-foreground {
|
|
1639
1648
|
border-color: var(--accent-foreground);
|
|
1640
1649
|
}
|
|
@@ -1658,10 +1667,6 @@ body {
|
|
|
1658
1667
|
--tw-border-opacity: 1;
|
|
1659
1668
|
border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
|
|
1660
1669
|
}
|
|
1661
|
-
.courier-border-gray-400 {
|
|
1662
|
-
--tw-border-opacity: 1;
|
|
1663
|
-
border-color: rgb(156 163 175 / var(--tw-border-opacity, 1));
|
|
1664
|
-
}
|
|
1665
1670
|
.courier-border-input {
|
|
1666
1671
|
border-color: var(--input);
|
|
1667
1672
|
}
|
|
@@ -1738,6 +1743,10 @@ body {
|
|
|
1738
1743
|
--tw-bg-opacity: 1;
|
|
1739
1744
|
background-color: rgb(229 229 229 / var(--tw-bg-opacity, 1));
|
|
1740
1745
|
}
|
|
1746
|
+
.courier-bg-\[\#EFF6FF\] {
|
|
1747
|
+
--tw-bg-opacity: 1;
|
|
1748
|
+
background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
|
|
1749
|
+
}
|
|
1741
1750
|
.courier-bg-\[\#F5F5F5\] {
|
|
1742
1751
|
--tw-bg-opacity: 1;
|
|
1743
1752
|
background-color: rgb(245 245 245 / var(--tw-bg-opacity, 1));
|
|
@@ -1995,6 +2004,9 @@ body {
|
|
|
1995
2004
|
.courier-pb-6 {
|
|
1996
2005
|
padding-bottom: 1.5rem;
|
|
1997
2006
|
}
|
|
2007
|
+
.courier-pl-1 {
|
|
2008
|
+
padding-left: 0.25rem;
|
|
2009
|
+
}
|
|
1998
2010
|
.courier-pl-2 {
|
|
1999
2011
|
padding-left: 0.5rem;
|
|
2000
2012
|
}
|
|
@@ -2013,9 +2025,6 @@ body {
|
|
|
2013
2025
|
.courier-pr-2 {
|
|
2014
2026
|
padding-right: 0.5rem;
|
|
2015
2027
|
}
|
|
2016
|
-
.courier-pr-3 {
|
|
2017
|
-
padding-right: 0.75rem;
|
|
2018
|
-
}
|
|
2019
2028
|
.courier-pr-4 {
|
|
2020
2029
|
padding-right: 1rem;
|
|
2021
2030
|
}
|
|
@@ -2046,6 +2055,9 @@ body {
|
|
|
2046
2055
|
.courier-text-center {
|
|
2047
2056
|
text-align: center;
|
|
2048
2057
|
}
|
|
2058
|
+
.courier-font-mono {
|
|
2059
|
+
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
|
|
2060
|
+
}
|
|
2049
2061
|
.courier-font-sans {
|
|
2050
2062
|
font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
|
2051
2063
|
}
|
|
@@ -2110,6 +2122,9 @@ body {
|
|
|
2110
2122
|
.courier-leading-relaxed {
|
|
2111
2123
|
line-height: 1.625;
|
|
2112
2124
|
}
|
|
2125
|
+
.courier-tracking-\[0\.64px\] {
|
|
2126
|
+
letter-spacing: 0.64px;
|
|
2127
|
+
}
|
|
2113
2128
|
.courier-tracking-widest {
|
|
2114
2129
|
letter-spacing: 0.1em;
|
|
2115
2130
|
}
|
|
@@ -2884,7 +2899,7 @@ body {
|
|
|
2884
2899
|
color: rgb(163 163 163 / var(--tw-text-opacity, 1));
|
|
2885
2900
|
}
|
|
2886
2901
|
.ProseMirror>.react-renderer.node-paragraph .is-empty .courier-custom-code::after, .ProseMirror>.react-renderer.node-blockquote .is-empty .courier-custom-code::after, .ProseMirror>.react-renderer.node-customCode .is-empty .courier-custom-code::after {
|
|
2887
|
-
content: '
|
|
2902
|
+
content: 'Use the right panel to add custom HTML code...';
|
|
2888
2903
|
}
|
|
2889
2904
|
.ProseMirror>.react-renderer.node-paragraph .is-empty .courier-custom-code::after, .ProseMirror>.react-renderer.node-blockquote .is-empty .courier-custom-code::after, .ProseMirror>.react-renderer.node-customCode .is-empty .courier-custom-code::after {
|
|
2890
2905
|
position: absolute;
|
|
@@ -3584,17 +3599,9 @@ body {
|
|
|
3584
3599
|
.read-only\:courier-border-transparent:read-only {
|
|
3585
3600
|
border-color: transparent;
|
|
3586
3601
|
}
|
|
3587
|
-
.hover\:courier-border-\[\#3B82F6\]:hover {
|
|
3588
|
-
--tw-border-opacity: 1;
|
|
3589
|
-
border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
|
|
3590
|
-
}
|
|
3591
3602
|
.hover\:courier-border-accent-foreground:hover {
|
|
3592
3603
|
border-color: var(--accent-foreground);
|
|
3593
3604
|
}
|
|
3594
|
-
.hover\:courier-bg-\[\#3B82F6\]:hover {
|
|
3595
|
-
--tw-bg-opacity: 1;
|
|
3596
|
-
background-color: rgb(59 130 246 / var(--tw-bg-opacity, 1));
|
|
3597
|
-
}
|
|
3598
3605
|
.hover\:courier-bg-accent:hover {
|
|
3599
3606
|
background-color: var(--accent);
|
|
3600
3607
|
}
|
|
@@ -3633,10 +3640,6 @@ body {
|
|
|
3633
3640
|
.hover\:courier-bg-opacity-20:hover {
|
|
3634
3641
|
--tw-bg-opacity: 0.2;
|
|
3635
3642
|
}
|
|
3636
|
-
.hover\:courier-text-\[\#ffffff\]:hover {
|
|
3637
|
-
--tw-text-opacity: 1;
|
|
3638
|
-
color: rgb(255 255 255 / var(--tw-text-opacity, 1));
|
|
3639
|
-
}
|
|
3640
3643
|
.hover\:courier-text-accent-foreground:hover {
|
|
3641
3644
|
color: var(--accent-foreground);
|
|
3642
3645
|
}
|
|
@@ -3718,9 +3721,6 @@ body {
|
|
|
3718
3721
|
.disabled\:courier-opacity-50:disabled {
|
|
3719
3722
|
opacity: 0.5;
|
|
3720
3723
|
}
|
|
3721
|
-
.courier-group:hover .group-hover\:courier-stroke-primary {
|
|
3722
|
-
stroke: var(--primary);
|
|
3723
|
-
}
|
|
3724
3724
|
.courier-group.toaster .group-\[\.toaster\]\:courier-border-border {
|
|
3725
3725
|
border-color: var(--border);
|
|
3726
3726
|
}
|
|
@@ -139,8 +139,8 @@ export interface ElementalActionNode extends IsElementalNode {
|
|
|
139
139
|
}
|
|
140
140
|
export interface ElementalDividerNode extends IsElementalNode {
|
|
141
141
|
type: "divider";
|
|
142
|
-
|
|
143
|
-
|
|
142
|
+
color?: string;
|
|
143
|
+
width?: string;
|
|
144
144
|
padding?: string;
|
|
145
145
|
}
|
|
146
146
|
export interface ElementalGroupNode extends IsElementalNode {
|