@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
  }
package/dist/store.d.ts CHANGED
@@ -1,11 +1,8 @@
1
- export type Channel = "email" | "sms" | "push" | "inbox";
2
- export declare const CHANNELS: {
3
- label: string;
4
- value: Channel;
5
- }[];
6
- export declare const channelAtom: import("jotai").PrimitiveAtom<Channel> & {
7
- init: Channel;
1
+ import type { ChannelType } from "./channels";
2
+ export declare const channelAtom: import("jotai").PrimitiveAtom<ChannelType> & {
3
+ init: ChannelType;
8
4
  };
9
5
  export declare const pageAtom: import("jotai").PrimitiveAtom<"template" | "brand"> & {
10
6
  init: "template" | "brand";
11
7
  };
8
+ export * from "./channels";
package/dist/styles.css CHANGED
@@ -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
  }
@@ -5,17 +5,17 @@ export declare const ElementalSchema: z.ZodObject<{
5
5
  version: z.ZodLiteral<"2022-01-01">;
6
6
  elements: z.ZodArray<z.ZodType<ElementalNode, z.ZodTypeDef, ElementalNode>, "many">;
7
7
  }, "strip", z.ZodTypeAny, {
8
- version: "2022-01-01";
9
8
  elements: ElementalNode[];
10
- }, {
11
9
  version: "2022-01-01";
10
+ }, {
12
11
  elements: ElementalNode[];
12
+ version: "2022-01-01";
13
13
  }>;
14
14
  export declare const validateElemental: (json: unknown) => {
15
15
  success: boolean;
16
16
  data: {
17
- version: "2022-01-01";
18
17
  elements: ElementalNode[];
18
+ version: "2022-01-01";
19
19
  };
20
20
  errors?: undefined;
21
21
  } | {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trycourier/react-designer",
3
- "version": "0.0.0-canary-20250604155619",
3
+ "version": "0.0.0-canary-20250611183605",
4
4
  "description": "React-based rich text designer component",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "module": "./dist/esm/index.js",
@@ -71,6 +71,7 @@
71
71
  "lucide-react": "^0.473.0",
72
72
  "next-themes": "^0.4.5",
73
73
  "react-hook-form": "^7.53.2",
74
+ "sms-segments-calculator": "^1.2.0",
74
75
  "sonner": "^2.0.1",
75
76
  "tailwind-merge": "^1.14.0",
76
77
  "uuid": "^11.0.3",
@@ -138,7 +139,7 @@
138
139
  "lint": "eslint \"src/**/*.ts*\"",
139
140
  "test": "vitest run",
140
141
  "test:watch": "vitest",
141
- "test:e2e": "playwright test",
142
+ "test:e2e": "playwright test --workers=1",
142
143
  "clean": "rm -rf .turbo && rm -rf node_modules && rm -rf dist",
143
144
  "analyze": "node build.js --analyze",
144
145
  "release": "node scripts/publish.js",