@trycourier/react-designer 0.0.0-canary-20250604155619 → 0.0.0-canary-20250611183605

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 (32) hide show
  1. package/dist/channels.d.ts +7 -0
  2. package/dist/cjs/index.css +1 -1
  3. package/dist/cjs/index.css.map +2 -2
  4. package/dist/cjs/index.js +34 -38
  5. package/dist/cjs/index.js.map +4 -4
  6. package/dist/cjs/styles.css +58 -23
  7. package/dist/components/TemplateEditor/Channels/Email/Email.d.ts +2 -0
  8. package/dist/components/TemplateEditor/Channels/Inbox/Inbox.d.ts +2 -0
  9. package/dist/components/TemplateEditor/Channels/Push/Push.d.ts +2 -0
  10. package/dist/components/TemplateEditor/Channels/SMS/SMS.d.ts +2 -0
  11. package/dist/components/TemplateEditor/TemplateEditor.d.ts +2 -1
  12. package/dist/components/extensions/Blockquote/Blockquote.types.d.ts +2 -2
  13. package/dist/components/extensions/Button/Button.types.d.ts +8 -8
  14. package/dist/components/extensions/ButtonRow/ButtonRow.d.ts +11 -0
  15. package/dist/components/extensions/ButtonRow/ButtonRow.types.d.ts +45 -0
  16. package/dist/components/extensions/ButtonRow/ButtonRowComponent.d.ts +5 -0
  17. package/dist/components/extensions/ButtonRow/index.d.ts +4 -0
  18. package/dist/components/extensions/TextBlock/TextBlock.types.d.ts +4 -4
  19. package/dist/components/extensions/index.d.ts +1 -0
  20. package/dist/components/ui-kit/Icon/InAppIcon.d.ts +3 -0
  21. package/dist/components/ui-kit/Icon/PushIcon.d.ts +3 -0
  22. package/dist/components/ui-kit/Icon/SMSIcon.d.ts +3 -0
  23. package/dist/components/ui-kit/Icon/index.d.ts +3 -0
  24. package/dist/esm/index.css +1 -1
  25. package/dist/esm/index.css.map +2 -2
  26. package/dist/esm/index.js +34 -38
  27. package/dist/esm/index.js.map +4 -4
  28. package/dist/esm/styles.css +58 -23
  29. package/dist/store.d.ts +4 -7
  30. package/dist/styles.css +58 -23
  31. package/dist/types/elemental.schema.d.ts +3 -3
  32. package/package.json +3 -2
@@ -896,11 +896,11 @@ body {
896
896
  .courier-inset-0 {
897
897
  inset: 0px;
898
898
  }
899
- .-courier-left-\[10px\] {
900
- left: -10px;
899
+ .-courier-left-\[2px\] {
900
+ left: -2px;
901
901
  }
902
- .-courier-right-\[10px\] {
903
- right: -10px;
902
+ .-courier-right-\[2px\] {
903
+ right: -2px;
904
904
  }
905
905
  .courier-bottom-0 {
906
906
  bottom: 0px;
@@ -1415,6 +1415,9 @@ body {
1415
1415
  .courier-items-center {
1416
1416
  align-items: center;
1417
1417
  }
1418
+ .courier-justify-start {
1419
+ justify-content: flex-start;
1420
+ }
1418
1421
  .courier-justify-end {
1419
1422
  justify-content: flex-end;
1420
1423
  }
@@ -1485,6 +1488,9 @@ body {
1485
1488
  .courier-rounded-3xl {
1486
1489
  border-radius: 1.5rem;
1487
1490
  }
1491
+ .courier-rounded-\[40px\] {
1492
+ border-radius: 40px;
1493
+ }
1488
1494
  .courier-rounded-full {
1489
1495
  border-radius: 9999px;
1490
1496
  }
@@ -1793,6 +1799,14 @@ body {
1793
1799
  .courier-p-\[3px\] {
1794
1800
  padding: 3px;
1795
1801
  }
1802
+ .\!courier-px-2 {
1803
+ padding-left: 0.5rem !important;
1804
+ padding-right: 0.5rem !important;
1805
+ }
1806
+ .\!courier-py-\[5px\] {
1807
+ padding-top: 5px !important;
1808
+ padding-bottom: 5px !important;
1809
+ }
1796
1810
  .courier-px-0 {
1797
1811
  padding-left: 0px;
1798
1812
  padding-right: 0px;
@@ -1869,12 +1883,6 @@ body {
1869
1883
  padding-top: 1px;
1870
1884
  padding-bottom: 1px;
1871
1885
  }
1872
- .\!courier-pl-2 {
1873
- padding-left: 0.5rem !important;
1874
- }
1875
- .\!courier-pr-2 {
1876
- padding-right: 0.5rem !important;
1877
- }
1878
1886
  .courier-pb-0 {
1879
1887
  padding-bottom: 0px;
1880
1888
  }
@@ -2086,6 +2094,11 @@ body {
2086
2094
  .courier-opacity-\[0\.999\] {
2087
2095
  opacity: 0.999;
2088
2096
  }
2097
+ .\!courier-shadow-md {
2098
+ --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1) !important;
2099
+ --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color) !important;
2100
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;
2101
+ }
2089
2102
  .courier-shadow {
2090
2103
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
2091
2104
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
@@ -2341,6 +2354,12 @@ body {
2341
2354
  .courier-theme-editor-main >div .ProseMirror {
2342
2355
  padding: 0px;
2343
2356
  }
2357
+ .courier-theme-editor-main >div .ProseMirror .react-renderer.node-paragraph .selected-element .node-element::before {
2358
+ display: none;
2359
+ }
2360
+ .courier-theme-editor-main >div .ProseMirror .react-renderer.node-paragraph .selected-element .courier-actions-panel {
2361
+ display: none;
2362
+ }
2344
2363
  .courier-theme-editor-main >div .ProseMirror .react-renderer.node-paragraph p {
2345
2364
  font-size: 0.875rem;
2346
2365
  line-height: 1.25rem;
@@ -2379,19 +2398,19 @@ body {
2379
2398
  .courier-editor-preview-mode.courier-editor-preview-mode-mobile .courier-editor-main:hover >button {
2380
2399
  display: none;
2381
2400
  }
2382
- .courier-editor-preview-mode .ProseMirror>.react-renderer.node-imageBlock *, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-button *, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-divider *, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-paragraph *, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-heading *, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-blockquote * {
2401
+ .courier-editor-preview-mode .ProseMirror>.react-renderer.node-imageBlock *, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-button *, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-divider *, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-paragraph *, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-heading *, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-blockquote *, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-buttonRow * {
2383
2402
  pointer-events: none;
2384
2403
  }
2385
- .courier-editor-preview-mode .ProseMirror>.react-renderer.node-imageBlock *, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-button *, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-divider *, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-paragraph *, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-heading *, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-blockquote * {
2404
+ .courier-editor-preview-mode .ProseMirror>.react-renderer.node-imageBlock *, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-button *, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-divider *, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-paragraph *, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-heading *, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-blockquote *, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-buttonRow * {
2386
2405
  cursor: default;
2387
2406
  }
2388
- .courier-editor-preview-mode .ProseMirror>.react-renderer.node-imageBlock [data-cypress="draggable-handle"], .courier-editor-preview-mode .ProseMirror>.react-renderer.node-button [data-cypress="draggable-handle"], .courier-editor-preview-mode .ProseMirror>.react-renderer.node-divider [data-cypress="draggable-handle"], .courier-editor-preview-mode .ProseMirror>.react-renderer.node-paragraph [data-cypress="draggable-handle"], .courier-editor-preview-mode .ProseMirror>.react-renderer.node-heading [data-cypress="draggable-handle"], .courier-editor-preview-mode .ProseMirror>.react-renderer.node-blockquote [data-cypress="draggable-handle"] {
2407
+ .courier-editor-preview-mode .ProseMirror>.react-renderer.node-imageBlock [data-cypress="draggable-handle"], .courier-editor-preview-mode .ProseMirror>.react-renderer.node-button [data-cypress="draggable-handle"], .courier-editor-preview-mode .ProseMirror>.react-renderer.node-divider [data-cypress="draggable-handle"], .courier-editor-preview-mode .ProseMirror>.react-renderer.node-paragraph [data-cypress="draggable-handle"], .courier-editor-preview-mode .ProseMirror>.react-renderer.node-heading [data-cypress="draggable-handle"], .courier-editor-preview-mode .ProseMirror>.react-renderer.node-blockquote [data-cypress="draggable-handle"], .courier-editor-preview-mode .ProseMirror>.react-renderer.node-buttonRow [data-cypress="draggable-handle"] {
2389
2408
  display: none;
2390
2409
  }
2391
- .courier-editor-preview-mode .ProseMirror>.react-renderer.node-imageBlock:hover [data-cypress="draggable-handle"], .courier-editor-preview-mode .ProseMirror>.react-renderer.node-imageBlock:active [data-cypress="draggable-handle"], .courier-editor-preview-mode .ProseMirror>.react-renderer.node-button:hover [data-cypress="draggable-handle"], .courier-editor-preview-mode .ProseMirror>.react-renderer.node-button:active [data-cypress="draggable-handle"], .courier-editor-preview-mode .ProseMirror>.react-renderer.node-divider:hover [data-cypress="draggable-handle"], .courier-editor-preview-mode .ProseMirror>.react-renderer.node-divider:active [data-cypress="draggable-handle"], .courier-editor-preview-mode .ProseMirror>.react-renderer.node-paragraph:hover [data-cypress="draggable-handle"], .courier-editor-preview-mode .ProseMirror>.react-renderer.node-paragraph:active [data-cypress="draggable-handle"], .courier-editor-preview-mode .ProseMirror>.react-renderer.node-heading:hover [data-cypress="draggable-handle"], .courier-editor-preview-mode .ProseMirror>.react-renderer.node-heading:active [data-cypress="draggable-handle"], .courier-editor-preview-mode .ProseMirror>.react-renderer.node-blockquote:hover [data-cypress="draggable-handle"], .courier-editor-preview-mode .ProseMirror>.react-renderer.node-blockquote:active [data-cypress="draggable-handle"] {
2410
+ .courier-editor-preview-mode .ProseMirror>.react-renderer.node-imageBlock:hover [data-cypress="draggable-handle"], .courier-editor-preview-mode .ProseMirror>.react-renderer.node-imageBlock:active [data-cypress="draggable-handle"], .courier-editor-preview-mode .ProseMirror>.react-renderer.node-button:hover [data-cypress="draggable-handle"], .courier-editor-preview-mode .ProseMirror>.react-renderer.node-button:active [data-cypress="draggable-handle"], .courier-editor-preview-mode .ProseMirror>.react-renderer.node-divider:hover [data-cypress="draggable-handle"], .courier-editor-preview-mode .ProseMirror>.react-renderer.node-divider:active [data-cypress="draggable-handle"], .courier-editor-preview-mode .ProseMirror>.react-renderer.node-paragraph:hover [data-cypress="draggable-handle"], .courier-editor-preview-mode .ProseMirror>.react-renderer.node-paragraph:active [data-cypress="draggable-handle"], .courier-editor-preview-mode .ProseMirror>.react-renderer.node-heading:hover [data-cypress="draggable-handle"], .courier-editor-preview-mode .ProseMirror>.react-renderer.node-heading:active [data-cypress="draggable-handle"], .courier-editor-preview-mode .ProseMirror>.react-renderer.node-blockquote:hover [data-cypress="draggable-handle"], .courier-editor-preview-mode .ProseMirror>.react-renderer.node-blockquote:active [data-cypress="draggable-handle"], .courier-editor-preview-mode .ProseMirror>.react-renderer.node-buttonRow:hover [data-cypress="draggable-handle"], .courier-editor-preview-mode .ProseMirror>.react-renderer.node-buttonRow:active [data-cypress="draggable-handle"] {
2392
2411
  display: none;
2393
2412
  }
2394
- .courier-editor-preview-mode .ProseMirror>.react-renderer.node-imageBlock:hover .node-element>div::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-imageBlock:hover .node-element>hr::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-imageBlock:hover .node-element.courier-empty-image::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-imageBlock:active .node-element>div::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-imageBlock:active .node-element>hr::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-imageBlock:active .node-element.courier-empty-image::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-button:hover .node-element>div::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-button:hover .node-element>hr::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-button:hover .node-element.courier-empty-image::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-button:active .node-element>div::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-button:active .node-element>hr::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-button:active .node-element.courier-empty-image::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-divider:hover .node-element>div::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-divider:hover .node-element>hr::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-divider:hover .node-element.courier-empty-image::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-divider:active .node-element>div::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-divider:active .node-element>hr::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-divider:active .node-element.courier-empty-image::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-paragraph:hover .node-element>div::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-paragraph:hover .node-element>hr::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-paragraph:hover .node-element.courier-empty-image::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-paragraph:active .node-element>div::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-paragraph:active .node-element>hr::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-paragraph:active .node-element.courier-empty-image::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-heading:hover .node-element>div::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-heading:hover .node-element>hr::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-heading:hover .node-element.courier-empty-image::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-heading:active .node-element>div::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-heading:active .node-element>hr::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-heading:active .node-element.courier-empty-image::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-blockquote:hover .node-element>div::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-blockquote:hover .node-element>hr::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-blockquote:hover .node-element.courier-empty-image::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-blockquote:active .node-element>div::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-blockquote:active .node-element>hr::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-blockquote:active .node-element.courier-empty-image::before {
2413
+ .courier-editor-preview-mode .ProseMirror>.react-renderer.node-imageBlock:hover .node-element>div::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-imageBlock:hover .node-element>hr::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-imageBlock:hover .node-element.courier-empty-image::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-imageBlock:active .node-element>div::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-imageBlock:active .node-element>hr::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-imageBlock:active .node-element.courier-empty-image::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-button:hover .node-element>div::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-button:hover .node-element>hr::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-button:hover .node-element.courier-empty-image::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-button:active .node-element>div::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-button:active .node-element>hr::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-button:active .node-element.courier-empty-image::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-divider:hover .node-element>div::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-divider:hover .node-element>hr::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-divider:hover .node-element.courier-empty-image::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-divider:active .node-element>div::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-divider:active .node-element>hr::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-divider:active .node-element.courier-empty-image::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-paragraph:hover .node-element>div::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-paragraph:hover .node-element>hr::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-paragraph:hover .node-element.courier-empty-image::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-paragraph:active .node-element>div::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-paragraph:active .node-element>hr::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-paragraph:active .node-element.courier-empty-image::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-heading:hover .node-element>div::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-heading:hover .node-element>hr::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-heading:hover .node-element.courier-empty-image::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-heading:active .node-element>div::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-heading:active .node-element>hr::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-heading:active .node-element.courier-empty-image::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-blockquote:hover .node-element>div::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-blockquote:hover .node-element>hr::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-blockquote:hover .node-element.courier-empty-image::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-blockquote:active .node-element>div::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-blockquote:active .node-element>hr::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-blockquote:active .node-element.courier-empty-image::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-buttonRow:hover .node-element>div::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-buttonRow:hover .node-element>hr::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-buttonRow:hover .node-element.courier-empty-image::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-buttonRow:active .node-element>div::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-buttonRow:active .node-element>hr::before, .courier-editor-preview-mode .ProseMirror>.react-renderer.node-buttonRow:active .node-element.courier-empty-image::before {
2395
2414
  display: none;
2396
2415
  }
2397
2416
  .courier-editor-preview-mode .ProseMirror>.react-renderer.node-imageBlock .courier-empty-image {
@@ -2576,13 +2595,23 @@ body {
2576
2595
  font-size: 0.875rem;
2577
2596
  line-height: 1.25rem;
2578
2597
  }
2598
+ .courier-inbox-editor .ProseMirror>.react-renderer.node-buttonRow {
2599
+ margin-top: 0.5rem;
2600
+ }
2601
+ /* Override the centering from SortableItemWrapper */
2602
+ .courier-inbox-editor .ProseMirror>.react-renderer.node-buttonRow .draggable-item {
2603
+ justify-content: flex-start !important;
2604
+ }
2605
+ .courier-inbox-editor .ProseMirror>.react-renderer.node-buttonRow [data-cypress="draggable-handle"] {
2606
+ display: none;
2607
+ }
2579
2608
  .courier-inbox-editor .ProseMirror>.react-renderer .draggable-item {
2580
2609
  padding: 0px;
2581
2610
  }
2582
- .courier-inbox-editor .ProseMirror>.react-renderer.node-paragraph .selected-element .node-element::before, .courier-inbox-editor .ProseMirror>.react-renderer.node-heading .selected-element .node-element::before {
2611
+ .courier-inbox-editor .ProseMirror>.react-renderer.node-paragraph .selected-element .node-element::before, .courier-inbox-editor .ProseMirror>.react-renderer.node-heading .selected-element .node-element::before, .courier-inbox-editor .ProseMirror>.react-renderer.node-buttonRow .selected-element .node-element::before {
2583
2612
  display: none;
2584
2613
  }
2585
- .courier-inbox-editor .ProseMirror>.react-renderer.node-paragraph .selected-element .courier-actions-panel, .courier-inbox-editor .ProseMirror>.react-renderer.node-heading .selected-element .courier-actions-panel {
2614
+ .courier-inbox-editor .ProseMirror>.react-renderer.node-paragraph .selected-element .courier-actions-panel, .courier-inbox-editor .ProseMirror>.react-renderer.node-heading .selected-element .courier-actions-panel, .courier-inbox-editor .ProseMirror>.react-renderer.node-buttonRow .selected-element .courier-actions-panel {
2586
2615
  display: none;
2587
2616
  }
2588
2617
  .courier-inbox-editor .ProseMirror>.react-renderer:hover [data-cypress="draggable-handle"] {
@@ -3071,15 +3100,20 @@ body {
3071
3100
  .read-only\:courier-border-transparent:read-only {
3072
3101
  border-color: transparent;
3073
3102
  }
3103
+ .hover\:courier-border-\[\#3B82F6\]:hover {
3104
+ --tw-border-opacity: 1;
3105
+ border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
3106
+ }
3074
3107
  .hover\:courier-border-accent-foreground:hover {
3075
3108
  border-color: var(--accent-foreground);
3076
3109
  }
3110
+ .hover\:courier-bg-\[\#3B82F6\]:hover {
3111
+ --tw-bg-opacity: 1;
3112
+ background-color: rgb(59 130 246 / var(--tw-bg-opacity, 1));
3113
+ }
3077
3114
  .hover\:courier-bg-accent:hover {
3078
3115
  background-color: var(--accent);
3079
3116
  }
3080
- .hover\:courier-bg-accent-foreground:hover {
3081
- background-color: var(--accent-foreground);
3082
- }
3083
3117
  .hover\:courier-bg-black\/5:hover {
3084
3118
  background-color: rgb(0 0 0 / 0.05);
3085
3119
  }
@@ -3115,6 +3149,10 @@ body {
3115
3149
  .hover\:courier-bg-opacity-20:hover {
3116
3150
  --tw-bg-opacity: 0.2;
3117
3151
  }
3152
+ .hover\:courier-text-\[\#ffffff\]:hover {
3153
+ --tw-text-opacity: 1;
3154
+ color: rgb(255 255 255 / var(--tw-text-opacity, 1));
3155
+ }
3118
3156
  .hover\:courier-text-accent-foreground:hover {
3119
3157
  color: var(--accent-foreground);
3120
3158
  }
@@ -3129,9 +3167,6 @@ body {
3129
3167
  --tw-text-opacity: 1;
3130
3168
  color: rgb(38 38 38 / var(--tw-text-opacity, 1));
3131
3169
  }
3132
- .hover\:courier-text-secondary-foreground:hover {
3133
- color: var(--secondary-foreground);
3134
- }
3135
3170
  .hover\:courier-outline-neutral-600:hover {
3136
3171
  outline-color: #525252;
3137
3172
  }
@@ -1,5 +1,7 @@
1
+ import type { ElementalNode } from "@/types/elemental.types";
1
2
  import type { TemplateEditorProps } from "../../TemplateEditor";
2
3
  export interface EmailProps extends Pick<TemplateEditorProps, "hidePublish" | "brandEditor" | "channels" | "variables" | "theme" | "routing"> {
3
4
  isLoading?: boolean;
4
5
  }
6
+ export declare const defaultEmailContent: ElementalNode[];
5
7
  export declare const Email: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<EmailProps & import("react").RefAttributes<HTMLDivElement>>>;
@@ -1,4 +1,6 @@
1
+ import type { ElementalNode } from "@/types/elemental.types";
1
2
  import type { TemplateEditorProps } from "../../TemplateEditor";
3
+ export declare const defaultInboxContent: ElementalNode[];
2
4
  export interface InboxProps extends Pick<TemplateEditorProps, "hidePublish" | "theme" | "variables" | "channels" | "routing"> {
3
5
  readOnly?: boolean;
4
6
  }
@@ -1,5 +1,7 @@
1
+ import type { ElementalNode } from "@/types/elemental.types";
1
2
  import type { TemplateEditorProps } from "../../TemplateEditor";
2
3
  export interface PushProps extends Pick<TemplateEditorProps, "hidePublish" | "theme" | "variables" | "channels" | "routing"> {
3
4
  readOnly?: boolean;
4
5
  }
6
+ export declare const defaultPushContent: ElementalNode[];
5
7
  export declare const Push: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<PushProps & import("react").RefAttributes<HTMLDivElement>>>;
@@ -1,4 +1,6 @@
1
+ import type { ElementalNode } from "@/types/elemental.types";
1
2
  import type { TemplateEditorProps } from "../../TemplateEditor";
3
+ export declare const defaultSMSContent: ElementalNode[];
2
4
  export interface SMSProps extends Pick<TemplateEditorProps, "hidePublish" | "theme" | "variables" | "channels" | "routing"> {
3
5
  readOnly?: boolean;
4
6
  }
@@ -1,4 +1,5 @@
1
1
  import type { ElementalContent } from "@/types/elemental.types";
2
+ import type { ChannelType } from "../../store";
2
3
  import type { BrandEditorProps } from "../BrandEditor";
3
4
  import { type MessageRouting } from "../Providers/store";
4
5
  import type { Theme } from "../ui-kit/ThemeProvider/ThemeProvider.types";
@@ -12,7 +13,7 @@ export interface TemplateEditorProps {
12
13
  autoSaveDebounce?: number;
13
14
  brandEditor?: boolean;
14
15
  brandProps?: BrandEditorProps;
15
- channels?: ("email" | "sms" | "push" | "inbox")[];
16
+ channels?: ChannelType[];
16
17
  routing: MessageRouting;
17
18
  }
18
19
  export declare const TemplateEditor: import("react").NamedExoticComponent<TemplateEditorProps>;
@@ -7,17 +7,17 @@ export declare const blockquoteSchema: z.ZodObject<{
7
7
  borderColor: z.ZodString;
8
8
  id: z.ZodOptional<z.ZodString>;
9
9
  }, "strip", z.ZodTypeAny, {
10
+ backgroundColor: string;
10
11
  paddingVertical: number;
11
12
  paddingHorizontal: number;
12
13
  borderColor: string;
13
- backgroundColor: string;
14
14
  borderLeftWidth: number;
15
15
  id?: string | undefined;
16
16
  }, {
17
+ backgroundColor: string;
17
18
  paddingVertical: number;
18
19
  paddingHorizontal: number;
19
20
  borderColor: string;
20
- backgroundColor: string;
21
21
  borderLeftWidth: number;
22
22
  id?: string | undefined;
23
23
  }>;
@@ -17,32 +17,32 @@ export declare const buttonSchema: z.ZodObject<{
17
17
  }, "strip", z.ZodTypeAny, {
18
18
  padding: number;
19
19
  borderWidth: number;
20
+ label: string;
21
+ backgroundColor: string;
22
+ textColor: string;
20
23
  borderColor: string;
21
24
  size: "full" | "default";
22
25
  borderRadius: number;
23
- textColor: string;
24
- backgroundColor: string;
25
- label: string;
26
26
  alignment: "left" | "center" | "right";
27
27
  fontStyle: "italic" | "normal";
28
28
  fontWeight: "bold" | "normal";
29
- isStrike: boolean;
30
29
  isUnderline: boolean;
30
+ isStrike: boolean;
31
31
  link?: string | undefined;
32
32
  }, {
33
33
  padding: number;
34
34
  borderWidth: number;
35
+ label: string;
36
+ backgroundColor: string;
37
+ textColor: string;
35
38
  borderColor: string;
36
39
  size: "full" | "default";
37
40
  borderRadius: number;
38
- textColor: string;
39
- backgroundColor: string;
40
- label: string;
41
41
  alignment: "left" | "center" | "right";
42
42
  fontStyle: "italic" | "normal";
43
43
  fontWeight: "bold" | "normal";
44
- isStrike: boolean;
45
44
  isUnderline: boolean;
45
+ isStrike: boolean;
46
46
  link?: string | undefined;
47
47
  }>;
48
48
  export interface ButtonProps {
@@ -0,0 +1,11 @@
1
+ import { Node } from "@tiptap/core";
2
+ import type { ButtonRowProps } from "./ButtonRow.types";
3
+ declare module "@tiptap/core" {
4
+ interface Commands<ReturnType> {
5
+ buttonRow: {
6
+ setButtonRow: (props: Partial<ButtonRowProps>) => ReturnType;
7
+ };
8
+ }
9
+ }
10
+ export declare const defaultButtonRowProps: ButtonRowProps;
11
+ export declare const ButtonRow: Node<any, any>;
@@ -0,0 +1,45 @@
1
+ import { z } from "zod";
2
+ export interface ButtonRowProps {
3
+ id?: string;
4
+ button1Label: string;
5
+ button1Link: string;
6
+ button1BackgroundColor: string;
7
+ button1TextColor: string;
8
+ button2Label: string;
9
+ button2Link: string;
10
+ button2BackgroundColor: string;
11
+ button2TextColor: string;
12
+ padding?: number;
13
+ }
14
+ export declare const buttonRowSchema: z.ZodObject<{
15
+ button1Label: z.ZodString;
16
+ button1Link: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodLiteral<"">]>>;
17
+ button1BackgroundColor: z.ZodOptional<z.ZodString>;
18
+ button1TextColor: z.ZodOptional<z.ZodString>;
19
+ button2Label: z.ZodString;
20
+ button2Link: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodLiteral<"">]>>;
21
+ button2BackgroundColor: z.ZodOptional<z.ZodString>;
22
+ button2TextColor: z.ZodOptional<z.ZodString>;
23
+ padding: z.ZodOptional<z.ZodNumber>;
24
+ }, "strip", z.ZodTypeAny, {
25
+ button1Label: string;
26
+ button2Label: string;
27
+ padding?: number | undefined;
28
+ button1Link?: string | undefined;
29
+ button1BackgroundColor?: string | undefined;
30
+ button1TextColor?: string | undefined;
31
+ button2Link?: string | undefined;
32
+ button2BackgroundColor?: string | undefined;
33
+ button2TextColor?: string | undefined;
34
+ }, {
35
+ button1Label: string;
36
+ button2Label: string;
37
+ padding?: number | undefined;
38
+ button1Link?: string | undefined;
39
+ button1BackgroundColor?: string | undefined;
40
+ button1TextColor?: string | undefined;
41
+ button2Link?: string | undefined;
42
+ button2BackgroundColor?: string | undefined;
43
+ button2TextColor?: string | undefined;
44
+ }>;
45
+ export type ButtonRowFormData = z.infer<typeof buttonRowSchema>;
@@ -0,0 +1,5 @@
1
+ import { type NodeViewProps } from "@tiptap/react";
2
+ import React from "react";
3
+ import type { ButtonRowProps } from "./ButtonRow.types";
4
+ export declare const ButtonRowComponent: React.FC<ButtonRowProps>;
5
+ export declare const ButtonRowComponentNode: (props: NodeViewProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,4 @@
1
+ export { ButtonRow, defaultButtonRowProps } from "./ButtonRow";
2
+ export { ButtonRowComponent, ButtonRowComponentNode } from "./ButtonRowComponent";
3
+ export type { ButtonRowProps, ButtonRowFormData } from "./ButtonRow.types";
4
+ export { buttonRowSchema } from "./ButtonRow.types";
@@ -12,23 +12,23 @@ export declare const textBlockSchema: z.ZodObject<{
12
12
  id: z.ZodOptional<z.ZodString>;
13
13
  }, "strip", z.ZodTypeAny, {
14
14
  borderWidth: number;
15
+ backgroundColor: string;
16
+ textColor: string;
15
17
  paddingVertical: number;
16
18
  paddingHorizontal: number;
17
19
  borderColor: string;
18
20
  borderRadius: number;
19
21
  textAlign: "left" | "center" | "right" | "justify";
20
- textColor: string;
21
- backgroundColor: string;
22
22
  selected: boolean;
23
23
  id?: string | undefined;
24
24
  }, {
25
25
  borderWidth: number;
26
+ backgroundColor: string;
27
+ textColor: string;
26
28
  paddingVertical: number;
27
29
  paddingHorizontal: number;
28
30
  borderColor: string;
29
31
  borderRadius: number;
30
- textColor: string;
31
- backgroundColor: string;
32
32
  id?: string | undefined;
33
33
  textAlign?: "left" | "center" | "right" | "justify" | undefined;
34
34
  selected?: boolean | undefined;
@@ -9,6 +9,7 @@ export { Underline } from "@tiptap/extension-underline";
9
9
  export { StarterKit } from "@tiptap/starter-kit";
10
10
  export { Blockquote } from "./Blockquote";
11
11
  export { Button } from "./Button";
12
+ export { ButtonRow } from "./ButtonRow";
12
13
  export { Divider } from "./Divider";
13
14
  export { Document } from "./Document";
14
15
  export * from "./DragPlaceholder";
@@ -0,0 +1,3 @@
1
+ import type { IconProps } from "./Icon";
2
+ export declare const InAppIcon: ({ color, width, height, ...props }: IconProps) => import("react/jsx-runtime").JSX.Element;
3
+ export default InAppIcon;
@@ -0,0 +1,3 @@
1
+ import type { IconProps } from "./Icon";
2
+ export declare const PushIcon: ({ color, width, height, ...props }: IconProps) => import("react/jsx-runtime").JSX.Element;
3
+ export default PushIcon;
@@ -0,0 +1,3 @@
1
+ import type { IconProps } from "./Icon";
2
+ export declare const SMSIcon: ({ color, width, height, ...props }: IconProps) => import("react/jsx-runtime").JSX.Element;
3
+ export default SMSIcon;
@@ -21,6 +21,7 @@ export { H2Icon } from "./H2Icon";
21
21
  export { H3Icon } from "./H3Icon";
22
22
  export { HamburgerMenuIcon } from "./HamburgerMenuIcon";
23
23
  export { Icon, Path, type IconProps } from "./Icon";
24
+ export { InAppIcon } from "./InAppIcon";
24
25
  export { InboxIcon } from "./InboxIcon";
25
26
  export { InstagramIcon } from "./InstagramIcon";
26
27
  export { ItalicIcon } from "./ItalicIcon";
@@ -36,11 +37,13 @@ export { NumberedListIcon } from "./NumberedListIcon";
36
37
  export { PaddingHorizontalIcon } from "./PaddingHorizontalIcon";
37
38
  export { PaddingVerticalIcon } from "./PaddingVerticalIcon";
38
39
  export { ParagraphIcon } from "./ParagraphIcon";
40
+ export { PushIcon } from "./PushIcon";
39
41
  export { QuoteIcon } from "./QuoteIcon";
40
42
  export { RemoveFormattingIcon } from "./RemoveFormattingIcon";
41
43
  export { RightAlignIcon } from "./RightAlignIcon";
42
44
  export { RightArrowIcon } from "./RightArrowIcon";
43
45
  export { SignalIcon } from "./SignalIcon";
46
+ export { SMSIcon } from "./SMSIcon";
44
47
  export { StrikethroughIcon } from "./StrikethroughIcon";
45
48
  export { UnderlineIcon } from "./UnderlineIcon";
46
49
  export { UpIcon } from "./UpIcon";
@@ -1,2 +1,2 @@
1
- .ProseMirror{h1{@apply courier-text-3xl;}h2{@apply courier-text-2xl;}h3{@apply courier-text-xl;}h4{@apply courier-text-lg;}h5{@apply courier-text-base;}h6{@apply courier-text-sm;}h1,h2,h3,h4,h5,h6{@apply courier-font-bold first:courier-mt-0 last:courier-mb-0;}h1,h2,h3{@apply courier-mt-12;}h4,h5,h6{@apply courier-mt-8;}a.link{@apply courier-text-blue-700 courier-underline;}mark{@apply courier-bg-red-500 courier-rounded-sm courier-decoration-clone courier-text-inherit courier-py-1 courier-px-0 dark:courier-bg-red-400;}& img{@apply courier-h-auto courier-w-full courier-max-w-full;}[data-type=divider]{@apply courier-py-4 courier-transition-all courier-duration-100 courier-ease-in-out courier-cursor-pointer;&.ProseMirror-selectednode{@apply courier-bg-black/5 dark:courier-bg-white/10;hr{@apply courier-border-t-black/30 dark:courier-border-t-white/30;}}hr{@apply courier-border-0 courier-border-t courier-border-black/20 courier-bg-black/80 courier-m-0 courier-h-px;@apply dark:courier-border-white/20 dark:courier-bg-white/80;}}[data-type=emoji]{display:inline-block;img{width:1em;height:1em;object-fit:cover;display:block}}}.lightTheme{--background: #ffffff;--foreground: #292929;--muted: #D9D9D9;--muted-foreground: #A3A3A3;--popover: #ffffff;--popover-foreground: #292929;--border: #DCDEE4;--input: #DCDEE4;--card: #FAF9F8;--card-foreground: #292929;--primary: #ffffff;--primary-foreground: #696F8C;--secondary: #F5F5F5;--secondary-foreground: #171717;--accent: #E5F3FF;--accent-foreground: #1D4ED8;--destructive: #292929;--destructive-foreground: #FF3363;--ring: #80849D;--radius: 6px}.ProseMirror{>*:first-child,[data-type=column]>*{@apply first:courier-mt-0 last:courier-mb-0;}>*+*{margin-top:.75em}.node-imageUpload{@apply courier-rounded courier-border-2 courier-border-dotted courier-border-black courier-border-opacity-10 courier-p-2 dark:courier-border-neutral-500;transition:border .16s cubic-bezier(.45,.05,.55,.95);&:hover{@apply courier-border-opacity-30;}&:has(.is-active),&.has-focus{@apply courier-border-opacity-40;}}[data-type=columns]{&.has-focus [data-type=column],&:hover [data-type=column]{@apply courier-border-neutral-300 dark:courier-border-neutral-700;}[data-type=column].has-focus{@apply courier-border-neutral-400 dark:courier-border-neutral-600;}}[data-type=column]{@apply courier-rounded courier-border-2 courier-border-dotted courier-border-transparent courier-p-1;transition:border .16s cubic-bezier(.45,.05,.55,.95);&:hover{@apply courier-border-neutral-100 dark:courier-border-neutral-900;}&:has(.is-active),&.has-focus{@apply courier-border-neutral-100 dark:courier-border-neutral-900;}}.node-imageBlock{& img{@apply courier-border-2 courier-border-transparent courier-rounded-xl courier-overflow-hidden;}&:hover img{@apply courier-border-2 courier-border-neutral-100 dark:courier-border-neutral-900;}&:has(.is-active) img,&.has-focus img{@apply courier-border-2 courier-border-neutral-800 dark:courier-border-neutral-200;}}.node-aiWriter,.node-aiImage,.node-tableOfContentsNode{&.has-focus [data-node-view-wrapper]>*{@apply courier-shadow-[0_0_0_2px] courier-shadow-black/30 dark:courier-shadow-white/30 courier-transition-all courier-rounded-lg;}}.ProseMirror-gapcursor+.node-imageBlock,.ProseMirror-gapcursor+.node-imageUpload,.ProseMirror-gapcursor+.node-blockquote{@apply courier-outline-neutral-700 hover:courier-outline-neutral-600 dark:courier-outline-neutral-300 dark:hover:courier-outline-neutral-400;}}@tailwind base;@tailwind components;@tailwind utilities;@keyframes pop{0%{transform:scale(1);box-shadow:var(--box-shadow)}to{transform:scale(var(--scale));box-shadow:var(--box-shadow-picked-up)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.lightTheme{height:100%}@layer base{*{@apply courier-border-border courier-outline-ring;}body{@apply courier-font-sans courier-antialiased courier-bg-background courier-text-foreground;}}.courier-main-layout{@apply courier-relative courier-flex-grow courier-rounded-sm courier-border courier-border-border courier-bg-card courier-flex courier-flex-col courier-text-foreground courier-min-w-[812px] courier-min-h-[600px] courier-overflow-hidden courier-z-10;&:before{@apply courier-absolute courier-inset-0 -courier-z-10;content:"";background:radial-gradient(#0A0A0A32 1px,transparent 1px);background-size:15px 15px}}.courier-editor-container{@apply courier-relative courier-flex-1 courier-flex courier-flex-col courier-p-6 courier-overflow-y-auto courier-transition-all courier-duration-300 courier-ease-in-out;}.courier-editor-sidebar{@apply courier-rounded-br-sm courier-border-border courier-bg-white courier-border-l courier-overflow-y-auto courier-transition-all courier-duration-300 courier-ease-in-out;}.courier-editor-loading{@apply courier-w-full courier-h-full courier-flex courier-items-center courier-justify-center courier-grow courier-z-50 courier-absolute courier-top-0 courier-left-0 courier-right-0 courier-bottom-0 courier-bg-card;}.courier-brand-editor-readonly{@apply courier-pointer-events-none;.ProseMirror{@apply courier-cursor-default courier-p-0;.react-renderer{@apply courier-cursor-default;&.node-paragraph{p{@apply courier-text-sm;}.is-empty{p{&:after{content:""}}}}.draggable-item{@apply courier-p-0;}}}}.courier-theme-editor-main{@apply courier-bg-white courier-rounded-lg courier-border courier-border-border courier-shadow-sm courier-max-w-2xl courier-select-none courier-self-center courier-w-full;>div{@apply courier-w-full;.ProseMirror{@apply courier-p-0;.react-renderer{&.node-paragraph{p{@apply courier-text-sm;}.is-empty{p{&:after{content:"Write footer text..."}}}&:hover{.draggable-item{>button{@apply courier-hidden;}}}.draggable-item{@apply courier-p-0;}}}}}}.courier-editor-main{@apply courier-relative courier-bg-white courier-rounded-lg courier-border courier-border-border courier-shadow-sm courier-max-w-2xl courier-select-none courier-self-center courier-w-full;>div{@apply courier-w-full;}}.courier-editor-preview-mode{&.courier-editor-preview-mode-mobile{.courier-editor-main{@apply courier-max-w-sm;&:hover{>button{@apply courier-hidden;}}}}.ProseMirror{>.react-renderer{&.node-imageBlock,&.node-button,&.node-divider,&.node-paragraph,&.node-heading,&.node-blockquote{*{@apply courier-cursor-default courier-pointer-events-none;}[data-cypress=draggable-handle]{@apply courier-hidden;}&:hover,&:active{[data-cypress=draggable-handle]{@apply courier-hidden;}.node-element{>div,>hr,&.courier-empty-image{&:before{@apply courier-hidden;}}}}}&.node-imageBlock{.courier-empty-image{@apply courier-hidden;}}&.node-paragraph,&.node-blockquote{.is-empty{p,blockquote{&:after{@apply courier-hidden;}}}}&.node-heading{.is-empty{h1,h2,h3{&:after{@apply courier-hidden;}}}}}}}.courier-sms-editor{@apply courier-flex courier-flex-col courier-py-2 courier-rounded-lg courier-bg-card courier-m-6 courier-mr-14 courier-mt-10;.ProseMirror{@apply courier-p-0;>.react-renderer{.draggable-item{@apply courier-px-4;}&.node-paragraph{.selected-element{.node-element{&:before{@apply courier-hidden;}}.courier-actions-panel{@apply courier-hidden;}}}&:hover{.draggable-item{@apply courier-px-4;}[data-cypress=draggable-handle]{@apply courier-hidden;}.node-element{>div{&:before{@apply courier-hidden;}}}}}}}.courier-push-editor{@apply courier-py-2 courier-pr-4 courier-rounded-lg courier-bg-card courier-m-6 courier-relative;&:before{content:"now";@apply courier-absolute courier-top-3 courier-right-3 courier-z-10 courier-text-xs courier-text-gray-500;}.ProseMirror{@apply courier-p-0 courier-gap-0.5 courier-flex courier-flex-col;>.react-renderer{.node-element{>div{@apply !courier-p-0;}h2,p{@apply courier-text-sm;}}.draggable-item{@apply courier-px-4;}&.node-paragraph,&.node-heading{.selected-element{.node-element{&:before{@apply courier-hidden;}}.courier-actions-panel{@apply courier-hidden;}}}&:hover{.draggable-item{@apply courier-px-4;}[data-cypress=draggable-handle]{@apply courier-hidden;}.node-element{>div{&:before{@apply courier-hidden;}}}}}}}.courier-inbox-editor{@apply courier-overflow-auto courier-flex-1 courier-border-y courier-border-border;max-height:calc(90% - 56px);.ProseMirror{@apply courier-p-4 courier-pr-10 courier-gap-0.5 courier-flex courier-flex-col;&:before{content:"now";@apply courier-absolute courier-top-4 courier-right-4 courier-z-10 courier-text-sm courier-text-gray-500;}>.react-renderer{.node-element{>div{@apply !courier-p-0;}h2,p{@apply courier-text-sm;}}&.node-button{@apply courier-mt-2;.node-element{>div{>div{@apply courier-py-1 courier-px-2 courier-text-sm;}}}}.draggable-item{@apply courier-p-0;}&.node-paragraph,&.node-heading{.selected-element{.node-element{&:before{@apply courier-hidden;}}.courier-actions-panel{@apply courier-hidden;}}}&:hover{[data-cypress=draggable-handle]{@apply courier-hidden;}.node-element{>div{&:before{@apply courier-hidden;}}}}}}}.ProseMirror{@apply courier-caret-black dark:courier-caret-white courier-outline-0 courier-pr-10 courier-pl-4 courier-py-10 courier-z-0 lg:courier-pl-2 lg:courier-pr-10 courier-max-w-2xl courier-h-full;.selection{@apply courier-inline;}.selection,*::selection{@apply courier-bg-black/10 dark:courier-bg-white/20 courier-inline;}>.react-renderer{@apply courier-my-12 first:courier-mt-0 last:courier-mb-0;&.node-divider{@apply courier-flex courier-flex-col courier-justify-center;}&.node-variable{@apply courier-inline-block courier-m-0;}&.node-dragPlaceholder{@apply courier-m-0;}&.node-paragraph{@apply courier-m-0;&:focus,&:focus-visible{outline:none}}&.node-paragraph,&.node-blockquote{p{>div{@apply courier-block courier-relative courier-cursor-text;&[contenteditable=true]{outline:none;caret-color:currentColor}}}.is-empty{p,blockquote{position:relative;&:after{content:"Write body text...";@apply courier-absolute courier-top-0 courier-left-0 courier-text-neutral-500 dark:courier-text-neutral-400 -courier-z-10;}}}}&.node-heading{h1,h2,h3{>div{@apply courier-block courier-relative courier-cursor-text;&[contenteditable=true]{outline:none;caret-color:currentColor}}}.is-empty{h1,h2,h3{position:relative;&:after{content:"Write heading...";@apply courier-absolute courier-top-0 courier-left-0 courier-text-neutral-500 dark:courier-text-neutral-400 -courier-z-10;}}}}&.node-imageBlock,&.node-button,&.node-divider,&.node-paragraph,&.node-heading,&.node-blockquote{@apply courier-m-0 courier-relative;[data-cypress=draggable-handle]{@apply courier-invisible;}&:hover,&:active{[data-cypress=draggable-handle]{@apply courier-visible;}.node-element{>div,>hr,&.courier-empty-image{&:before{@apply courier-left-[-12px] courier-right-[-12px] courier-top-0 courier-bottom-0 courier-rounded-md courier-border-2 courier-border-border courier-absolute courier-content-[""];}}}}.node-element{@apply courier-relative;&:focus,&:focus-visible{outline:none}}.selected-element{.node-element{@apply courier-relative courier-z-20;&:before{@apply courier-left-[-12px] courier-right-[-12px] courier-top-0 courier-bottom-0 courier-rounded-md courier-border courier-border-[#0085FF] courier-absolute courier-content-[""] -courier-z-10;}.node-element{&:before{@apply courier-hidden;}}}.courier-actions-panel{@apply courier-block;}}}&.node-blockquote{@apply courier-m-0;@apply courier-text-foreground;@apply dark:courier-text-white;&:hover,&:active{[data-cypress=draggable-handle]{@apply courier-visible;}.node-element{&:before{@apply courier-left-[-12px] courier-right-[-12px] courier-top-0 courier-bottom-0 courier-rounded-md !courier-border-2 !courier-border-border courier-absolute courier-content-[""] -courier-z-20;}>div{&:before{@apply courier-hidden;}}.node-element{&:before{@apply courier-hidden;}}}.selected-element{.node-element{.node-element{&:before{@apply courier-hidden -courier-z-20;}}}}}}}&.resize-cursor{@apply courier-cursor-col-resize;}.ProseMirror-gapcursor{@apply courier-relative courier-w-full courier-max-w-2xl courier-mx-auto;&:after{@apply courier-border-t-black/40 dark:courier-border-t-white/40 courier-w-full courier-top-[-1.5em] courier-max-w-2xl courier-mx-auto courier-left-0 courier-right-0;}}}[data-theme=slash-command]{@apply courier-w-full;}.tiptap{outline:none;:first-child{margin-top:0}ul,ol{padding:0 1rem;margin:1.25rem 1rem 1.25rem .4rem;li p{margin-top:.25em;margin-bottom:.25em}}h1,h2,h3,h4,h5,h6{line-height:1.1;margin-top:2.5rem;text-wrap:pretty}h1,h2{margin-top:3.5rem;margin-bottom:1.5rem}h1{font-size:1.4rem}h2{font-size:1.2rem}h3{font-size:1.1rem}h4,h5,h6{font-size:1rem}code{background-color:var(--purple-light);border-radius:.4rem;color:var(--black);font-size:.85rem;padding:.25em .3em}pre{background:var(--black);border-radius:.5rem;color:var(--white);font-family:JetBrainsMono,monospace;margin:1.5rem 0;padding:.75rem 1rem;code{background:none;color:inherit;font-size:.8rem;padding:0}}}@layer utilities{.animate-pop{animation:pop .2s cubic-bezier(.18,.67,.6,1.22)}.animate-fadeIn{animation:fadeIn .5s ease}.touch-transparent{-webkit-tap-highlight-color:transparent}.courier-editor-preview-mode{>div:first-child{flex-grow:1;width:100%}>div:last-child{width:0}}}
1
+ .ProseMirror{h1{@apply courier-text-3xl;}h2{@apply courier-text-2xl;}h3{@apply courier-text-xl;}h4{@apply courier-text-lg;}h5{@apply courier-text-base;}h6{@apply courier-text-sm;}h1,h2,h3,h4,h5,h6{@apply courier-font-bold first:courier-mt-0 last:courier-mb-0;}h1,h2,h3{@apply courier-mt-12;}h4,h5,h6{@apply courier-mt-8;}a.link{@apply courier-text-blue-700 courier-underline;}mark{@apply courier-bg-red-500 courier-rounded-sm courier-decoration-clone courier-text-inherit courier-py-1 courier-px-0 dark:courier-bg-red-400;}& img{@apply courier-h-auto courier-w-full courier-max-w-full;}[data-type=divider]{@apply courier-py-4 courier-transition-all courier-duration-100 courier-ease-in-out courier-cursor-pointer;&.ProseMirror-selectednode{@apply courier-bg-black/5 dark:courier-bg-white/10;hr{@apply courier-border-t-black/30 dark:courier-border-t-white/30;}}hr{@apply courier-border-0 courier-border-t courier-border-black/20 courier-bg-black/80 courier-m-0 courier-h-px;@apply dark:courier-border-white/20 dark:courier-bg-white/80;}}[data-type=emoji]{display:inline-block;img{width:1em;height:1em;object-fit:cover;display:block}}}.lightTheme{--background: #ffffff;--foreground: #292929;--muted: #D9D9D9;--muted-foreground: #A3A3A3;--popover: #ffffff;--popover-foreground: #292929;--border: #DCDEE4;--input: #DCDEE4;--card: #FAF9F8;--card-foreground: #292929;--primary: #ffffff;--primary-foreground: #696F8C;--secondary: #F5F5F5;--secondary-foreground: #171717;--accent: #E5F3FF;--accent-foreground: #1D4ED8;--destructive: #292929;--destructive-foreground: #FF3363;--ring: #80849D;--radius: 6px}.ProseMirror{>*:first-child,[data-type=column]>*{@apply first:courier-mt-0 last:courier-mb-0;}>*+*{margin-top:.75em}.node-imageUpload{@apply courier-rounded courier-border-2 courier-border-dotted courier-border-black courier-border-opacity-10 courier-p-2 dark:courier-border-neutral-500;transition:border .16s cubic-bezier(.45,.05,.55,.95);&:hover{@apply courier-border-opacity-30;}&:has(.is-active),&.has-focus{@apply courier-border-opacity-40;}}[data-type=columns]{&.has-focus [data-type=column],&:hover [data-type=column]{@apply courier-border-neutral-300 dark:courier-border-neutral-700;}[data-type=column].has-focus{@apply courier-border-neutral-400 dark:courier-border-neutral-600;}}[data-type=column]{@apply courier-rounded courier-border-2 courier-border-dotted courier-border-transparent courier-p-1;transition:border .16s cubic-bezier(.45,.05,.55,.95);&:hover{@apply courier-border-neutral-100 dark:courier-border-neutral-900;}&:has(.is-active),&.has-focus{@apply courier-border-neutral-100 dark:courier-border-neutral-900;}}.node-imageBlock{& img{@apply courier-border-2 courier-border-transparent courier-rounded-xl courier-overflow-hidden;}&:hover img{@apply courier-border-2 courier-border-neutral-100 dark:courier-border-neutral-900;}&:has(.is-active) img,&.has-focus img{@apply courier-border-2 courier-border-neutral-800 dark:courier-border-neutral-200;}}.node-aiWriter,.node-aiImage,.node-tableOfContentsNode{&.has-focus [data-node-view-wrapper]>*{@apply courier-shadow-[0_0_0_2px] courier-shadow-black/30 dark:courier-shadow-white/30 courier-transition-all courier-rounded-lg;}}.ProseMirror-gapcursor+.node-imageBlock,.ProseMirror-gapcursor+.node-imageUpload,.ProseMirror-gapcursor+.node-blockquote{@apply courier-outline-neutral-700 hover:courier-outline-neutral-600 dark:courier-outline-neutral-300 dark:hover:courier-outline-neutral-400;}}@tailwind base;@tailwind components;@tailwind utilities;@keyframes pop{0%{transform:scale(1);box-shadow:var(--box-shadow)}to{transform:scale(var(--scale));box-shadow:var(--box-shadow-picked-up)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.lightTheme{height:100%}@layer base{*{@apply courier-border-border courier-outline-ring;}body{@apply courier-font-sans courier-antialiased courier-bg-background courier-text-foreground;}}.courier-main-layout{@apply courier-relative courier-flex-grow courier-rounded-sm courier-border courier-border-border courier-bg-card courier-flex courier-flex-col courier-text-foreground courier-min-w-[812px] courier-min-h-[600px] courier-overflow-hidden courier-z-10;&:before{@apply courier-absolute courier-inset-0 -courier-z-10;content:"";background:radial-gradient(#0A0A0A32 1px,transparent 1px);background-size:15px 15px}}.courier-editor-container{@apply courier-relative courier-flex-1 courier-flex courier-flex-col courier-p-6 courier-overflow-y-auto courier-transition-all courier-duration-300 courier-ease-in-out;}.courier-editor-sidebar{@apply courier-rounded-br-sm courier-border-border courier-bg-white courier-border-l courier-overflow-y-auto courier-transition-all courier-duration-300 courier-ease-in-out;}.courier-editor-loading{@apply courier-w-full courier-h-full courier-flex courier-items-center courier-justify-center courier-grow courier-z-50 courier-absolute courier-top-0 courier-left-0 courier-right-0 courier-bottom-0 courier-bg-card;}.courier-brand-editor-readonly{@apply courier-pointer-events-none;.ProseMirror{@apply courier-cursor-default courier-p-0;.react-renderer{@apply courier-cursor-default;&.node-paragraph{p{@apply courier-text-sm;}.is-empty{p{&:after{content:""}}}}.draggable-item{@apply courier-p-0;}}}}.courier-theme-editor-main{@apply courier-bg-white courier-rounded-lg courier-border courier-border-border courier-shadow-sm courier-max-w-2xl courier-select-none courier-self-center courier-w-full;>div{@apply courier-w-full;.ProseMirror{@apply courier-p-0;.react-renderer{&.node-paragraph{.selected-element{.node-element{&:before{@apply courier-hidden;}}.courier-actions-panel{@apply courier-hidden;}}p{@apply courier-text-sm;}.is-empty{p{&:after{content:"Write footer text..."}}}&:hover{.draggable-item{>button{@apply courier-hidden;}}}.draggable-item{@apply courier-p-0;}}}}}}.courier-editor-main{@apply courier-relative courier-bg-white courier-rounded-lg courier-border courier-border-border courier-shadow-sm courier-max-w-2xl courier-select-none courier-self-center courier-w-full;>div{@apply courier-w-full;}}.courier-editor-preview-mode{&.courier-editor-preview-mode-mobile{.courier-editor-main{@apply courier-max-w-sm;&:hover{>button{@apply courier-hidden;}}}}.ProseMirror{>.react-renderer{&.node-imageBlock,&.node-button,&.node-divider,&.node-paragraph,&.node-heading,&.node-blockquote,&.node-buttonRow{*{@apply courier-cursor-default courier-pointer-events-none;}[data-cypress=draggable-handle]{@apply courier-hidden;}&:hover,&:active{[data-cypress=draggable-handle]{@apply courier-hidden;}.node-element{>div,>hr,&.courier-empty-image{&:before{@apply courier-hidden;}}}}}&.node-imageBlock{.courier-empty-image{@apply courier-hidden;}}&.node-paragraph,&.node-blockquote{.is-empty{p,blockquote{&:after{@apply courier-hidden;}}}}&.node-heading{.is-empty{h1,h2,h3{&:after{@apply courier-hidden;}}}}}}}.courier-sms-editor{@apply courier-flex courier-flex-col courier-py-2 courier-rounded-lg courier-bg-card courier-m-6 courier-mr-14 courier-mt-10;.ProseMirror{@apply courier-p-0;>.react-renderer{.draggable-item{@apply courier-px-4;}&.node-paragraph{.selected-element{.node-element{&:before{@apply courier-hidden;}}.courier-actions-panel{@apply courier-hidden;}}}&:hover{.draggable-item{@apply courier-px-4;}[data-cypress=draggable-handle]{@apply courier-hidden;}.node-element{>div{&:before{@apply courier-hidden;}}}}}}}.courier-push-editor{@apply courier-py-2 courier-pr-4 courier-rounded-lg courier-bg-card courier-m-6 courier-relative;&:before{content:"now";@apply courier-absolute courier-top-3 courier-right-3 courier-z-10 courier-text-xs courier-text-gray-500;}.ProseMirror{@apply courier-p-0 courier-gap-0.5 courier-flex courier-flex-col;>.react-renderer{.node-element{>div{@apply !courier-p-0;}h2,p{@apply courier-text-sm;}}.draggable-item{@apply courier-px-4;}&.node-paragraph,&.node-heading{.selected-element{.node-element{&:before{@apply courier-hidden;}}.courier-actions-panel{@apply courier-hidden;}}}&:hover{.draggable-item{@apply courier-px-4;}[data-cypress=draggable-handle]{@apply courier-hidden;}.node-element{>div{&:before{@apply courier-hidden;}}}}}}}.courier-inbox-editor{@apply courier-overflow-auto courier-flex-1 courier-border-y courier-border-border;max-height:calc(90% - 56px);.ProseMirror{@apply courier-p-4 courier-pr-10 courier-gap-0.5 courier-flex courier-flex-col;&:before{content:"now";@apply courier-absolute courier-top-4 courier-right-4 courier-z-10 courier-text-sm courier-text-gray-500;}>.react-renderer{.node-element{>div{@apply !courier-p-0;}h2,p{@apply courier-text-sm;}}&.node-button{@apply courier-mt-2;.node-element{>div{>div{@apply courier-py-1 courier-px-2 courier-text-sm;}}}}&.node-buttonRow{@apply courier-mt-2;.draggable-item{justify-content:flex-start!important}[data-cypress=draggable-handle]{@apply courier-hidden;}}.draggable-item{@apply courier-p-0;}&.node-paragraph,&.node-heading,&.node-buttonRow{.selected-element{.node-element{&:before{@apply courier-hidden;}}.courier-actions-panel{@apply courier-hidden;}}}&:hover{[data-cypress=draggable-handle]{@apply courier-hidden;}.node-element{>div{&:before{@apply courier-hidden;}}}}}}}.ProseMirror{@apply courier-caret-black dark:courier-caret-white courier-outline-0 courier-pr-10 courier-pl-4 courier-py-10 courier-z-0 lg:courier-pl-2 lg:courier-pr-10 courier-max-w-2xl courier-h-full;.selection{@apply courier-inline;}.selection,*::selection{@apply courier-bg-black/10 dark:courier-bg-white/20 courier-inline;}>.react-renderer{@apply courier-my-12 first:courier-mt-0 last:courier-mb-0;&.node-divider{@apply courier-flex courier-flex-col courier-justify-center;}&.node-variable{@apply courier-inline-block courier-m-0;}&.node-dragPlaceholder{@apply courier-m-0;}&.node-paragraph{@apply courier-m-0;&:focus,&:focus-visible{outline:none}}&.node-paragraph,&.node-blockquote{p{>div{@apply courier-block courier-relative courier-cursor-text;&[contenteditable=true]{outline:none;caret-color:currentColor}}}.is-empty{p,blockquote{position:relative;&:after{content:"Write body text...";@apply courier-absolute courier-top-0 courier-left-0 courier-text-neutral-500 dark:courier-text-neutral-400 -courier-z-10;}}}}&.node-heading{h1,h2,h3{>div{@apply courier-block courier-relative courier-cursor-text;&[contenteditable=true]{outline:none;caret-color:currentColor}}}.is-empty{h1,h2,h3{position:relative;&:after{content:"Write heading...";@apply courier-absolute courier-top-0 courier-left-0 courier-text-neutral-500 dark:courier-text-neutral-400 -courier-z-10;}}}}&.node-imageBlock,&.node-button,&.node-divider,&.node-paragraph,&.node-heading,&.node-blockquote{@apply courier-m-0 courier-relative;[data-cypress=draggable-handle]{@apply courier-invisible;}&:hover,&:active{[data-cypress=draggable-handle]{@apply courier-visible;}.node-element{>div,>hr,&.courier-empty-image{&:before{@apply courier-left-[-12px] courier-right-[-12px] courier-top-0 courier-bottom-0 courier-rounded-md courier-border-2 courier-border-border courier-absolute courier-content-[""];}}}}.node-element{@apply courier-relative;&:focus,&:focus-visible{outline:none}}.selected-element{.node-element{@apply courier-relative courier-z-20;&:before{@apply courier-left-[-12px] courier-right-[-12px] courier-top-0 courier-bottom-0 courier-rounded-md courier-border courier-border-[#0085FF] courier-absolute courier-content-[""] -courier-z-10;}.node-element{&:before{@apply courier-hidden;}}}.courier-actions-panel{@apply courier-block;}}}&.node-blockquote{@apply courier-m-0;@apply courier-text-foreground;@apply dark:courier-text-white;&:hover,&:active{[data-cypress=draggable-handle]{@apply courier-visible;}.node-element{&:before{@apply courier-left-[-12px] courier-right-[-12px] courier-top-0 courier-bottom-0 courier-rounded-md !courier-border-2 !courier-border-border courier-absolute courier-content-[""] -courier-z-20;}>div{&:before{@apply courier-hidden;}}.node-element{&:before{@apply courier-hidden;}}}.selected-element{.node-element{.node-element{&:before{@apply courier-hidden -courier-z-20;}}}}}}}&.resize-cursor{@apply courier-cursor-col-resize;}.ProseMirror-gapcursor{@apply courier-relative courier-w-full courier-max-w-2xl courier-mx-auto;&:after{@apply courier-border-t-black/40 dark:courier-border-t-white/40 courier-w-full courier-top-[-1.5em] courier-max-w-2xl courier-mx-auto courier-left-0 courier-right-0;}}}[data-theme=slash-command]{@apply courier-w-full;}.tiptap{outline:none;:first-child{margin-top:0}ul,ol{padding:0 1rem;margin:1.25rem 1rem 1.25rem .4rem;li p{margin-top:.25em;margin-bottom:.25em}}h1,h2,h3,h4,h5,h6{line-height:1.1;margin-top:2.5rem;text-wrap:pretty}h1,h2{margin-top:3.5rem;margin-bottom:1.5rem}h1{font-size:1.4rem}h2{font-size:1.2rem}h3{font-size:1.1rem}h4,h5,h6{font-size:1rem}code{background-color:var(--purple-light);border-radius:.4rem;color:var(--black);font-size:.85rem;padding:.25em .3em}pre{background:var(--black);border-radius:.5rem;color:var(--white);font-family:JetBrainsMono,monospace;margin:1.5rem 0;padding:.75rem 1rem;code{background:none;color:inherit;font-size:.8rem;padding:0}}}@layer utilities{.animate-pop{animation:pop .2s cubic-bezier(.18,.67,.6,1.22)}.animate-fadeIn{animation:fadeIn .5s ease}.touch-transparent{-webkit-tap-highlight-color:transparent}.courier-editor-preview-mode{>div:first-child{flex-grow:1;width:100%}>div:last-child{width:0}}}
2
2
  /*# sourceMappingURL=index.css.map */