@trycourier/react-designer 0.0.0-canary-20251205102447 → 0.0.0-canary-20251205172857

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.
@@ -1228,6 +1228,9 @@ body {
1228
1228
  .courier-h-\[1px\] {
1229
1229
  height: 1px;
1230
1230
  }
1231
+ .courier-h-\[25px\] {
1232
+ height: 25px;
1233
+ }
1231
1234
  .courier-h-\[300px\] {
1232
1235
  height: 300px;
1233
1236
  }
@@ -1270,6 +1273,9 @@ body {
1270
1273
  .courier-min-h-\[120px\] {
1271
1274
  min-height: 120px;
1272
1275
  }
1276
+ .courier-min-h-\[20px\] {
1277
+ min-height: 20px;
1278
+ }
1273
1279
  .courier-min-h-\[44px\] {
1274
1280
  min-height: 44px;
1275
1281
  }
@@ -1676,9 +1682,6 @@ body {
1676
1682
  .courier-border-dotted {
1677
1683
  border-style: dotted;
1678
1684
  }
1679
- .\!courier-border-none {
1680
- border-style: none !important;
1681
- }
1682
1685
  .courier-border-none {
1683
1686
  border-style: none;
1684
1687
  }
@@ -2051,6 +2054,9 @@ body {
2051
2054
  .courier-pb-0 {
2052
2055
  padding-bottom: 0px;
2053
2056
  }
2057
+ .courier-pb-1 {
2058
+ padding-bottom: 0.25rem;
2059
+ }
2054
2060
  .courier-pb-2 {
2055
2061
  padding-bottom: 0.5rem;
2056
2062
  }
@@ -2063,6 +2069,9 @@ body {
2063
2069
  .courier-pb-6 {
2064
2070
  padding-bottom: 1.5rem;
2065
2071
  }
2072
+ .courier-pb-px {
2073
+ padding-bottom: 1px;
2074
+ }
2066
2075
  .courier-pl-0 {
2067
2076
  padding-left: 0px;
2068
2077
  }
@@ -2184,6 +2193,9 @@ body {
2184
2193
  .courier-leading-none {
2185
2194
  line-height: 1;
2186
2195
  }
2196
+ .courier-leading-normal {
2197
+ line-height: 1.5;
2198
+ }
2187
2199
  .courier-leading-relaxed {
2188
2200
  line-height: 1.625;
2189
2201
  }
@@ -4332,6 +4344,24 @@ body {
4332
4344
  font-size: 0.8rem;
4333
4345
  padding: 0;
4334
4346
  }
4347
+ /* Variable Textarea placeholder styles */
4348
+ .variable-textarea-placeholder .ProseMirror p.is-editor-empty:first-child::before,
4349
+ .variable-textarea-placeholder .ProseMirror p.is-empty:first-child::before {
4350
+ content: attr(data-placeholder);
4351
+ float: left;
4352
+ color: var(--muted-foreground);
4353
+ pointer-events: none;
4354
+ height: 0;
4355
+ }
4356
+ /* Variable Input placeholder styles */
4357
+ .variable-input-placeholder .ProseMirror p.is-editor-empty:first-child::before,
4358
+ .variable-input-placeholder .ProseMirror p.is-empty:first-child::before {
4359
+ content: attr(data-placeholder);
4360
+ float: left;
4361
+ color: var(--muted-foreground);
4362
+ pointer-events: none;
4363
+ height: 0;
4364
+ }
4335
4365
  .file\:courier-border-0::file-selector-button {
4336
4366
  border-width: 0px;
4337
4367
  }
@@ -4366,12 +4396,6 @@ body {
4366
4396
  .last\:courier-mt-0:last-child {
4367
4397
  margin-top: 0px;
4368
4398
  }
4369
- .read-only\:courier-cursor-default:read-only {
4370
- cursor: default;
4371
- }
4372
- .read-only\:courier-border-transparent:read-only {
4373
- border-color: transparent;
4374
- }
4375
4399
  .hover\:courier-border-accent-foreground:hover {
4376
4400
  border-color: var(--accent-foreground);
4377
4401
  }
@@ -4811,6 +4835,38 @@ body {
4811
4835
  .\[\&\>svg\]\:courier-shrink-0>svg {
4812
4836
  flex-shrink: 0;
4813
4837
  }
4838
+ .\[\&_\.ProseMirror\]\:courier-flex .ProseMirror {
4839
+ display: flex;
4840
+ }
4841
+ .\[\&_\.ProseMirror\]\:courier-h-\[25px\] .ProseMirror {
4842
+ height: 25px;
4843
+ }
4844
+ .\[\&_\.ProseMirror\]\:courier-min-h-\[20px\] .ProseMirror {
4845
+ min-height: 20px;
4846
+ }
4847
+ .\[\&_\.ProseMirror\]\:courier-flex-1 .ProseMirror {
4848
+ flex: 1 1 0%;
4849
+ }
4850
+ .\[\&_\.ProseMirror\]\:courier-items-end .ProseMirror {
4851
+ align-items: flex-end;
4852
+ }
4853
+ .\[\&_\.ProseMirror\]\:courier-border-none .ProseMirror {
4854
+ border-style: none;
4855
+ }
4856
+ .\[\&_\.ProseMirror\]\:courier-p-0 .ProseMirror {
4857
+ padding: 0px;
4858
+ }
4859
+ .\[\&_\.ProseMirror\]\:courier-outline-none .ProseMirror {
4860
+ outline: 2px solid transparent;
4861
+ outline-offset: 2px;
4862
+ }
4863
+ .\[\&_\.tiptap\]\:courier-border-none .tiptap {
4864
+ border-style: none;
4865
+ }
4866
+ .\[\&_\.tiptap\]\:courier-outline-none .tiptap {
4867
+ outline: 2px solid transparent;
4868
+ outline-offset: 2px;
4869
+ }
4814
4870
  .\[\&_svg\]\:courier-pointer-events-none svg {
4815
4871
  pointer-events: none;
4816
4872
  }
@@ -0,0 +1,28 @@
1
+ import * as React from "react";
2
+ export interface VariableInputProps {
3
+ /** The current value with {{variable}} syntax */
4
+ value?: string;
5
+ /** Called when the value changes */
6
+ onChange?: (value: string) => void;
7
+ /** List of available variable names for autocomplete */
8
+ variables?: string[];
9
+ /** Placeholder text */
10
+ placeholder?: string;
11
+ /** Additional CSS classes */
12
+ className?: string;
13
+ /** Whether the input is disabled */
14
+ disabled?: boolean;
15
+ /** Whether the input is read-only */
16
+ readOnly?: boolean;
17
+ /** Whether to disable variable autocomplete suggestions */
18
+ disableVariableAutocomplete?: boolean;
19
+ /** Called when the input gains focus */
20
+ onFocus?: () => void;
21
+ /** Called when the input loses focus */
22
+ onBlur?: () => void;
23
+ }
24
+ /**
25
+ * A single-line input that renders {{variable}} patterns as styled chips.
26
+ * Uses a minimal TipTap editor under the hood for rich content rendering.
27
+ */
28
+ export declare const VariableInput: React.ForwardRefExoticComponent<VariableInputProps & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,2 @@
1
+ export { VariableInput } from "./VariableInput";
2
+ export type { VariableInputProps } from "./VariableInput";
@@ -0,0 +1,26 @@
1
+ import * as React from "react";
2
+ export interface VariableTextareaProps {
3
+ /** The current value with {{variable}} syntax */
4
+ value?: string;
5
+ /** Called when the value changes */
6
+ onChange?: (value: string) => void;
7
+ /** List of available variable names for autocomplete */
8
+ variables?: string[];
9
+ /** Placeholder text */
10
+ placeholder?: string;
11
+ /** Additional CSS classes */
12
+ className?: string;
13
+ /** Whether the input is disabled */
14
+ disabled?: boolean;
15
+ /** Whether to disable variable autocomplete suggestions */
16
+ disableVariableAutocomplete?: boolean;
17
+ /** Called when the input gains focus */
18
+ onFocus?: () => void;
19
+ /** Called when the input loses focus */
20
+ onBlur?: () => void;
21
+ }
22
+ /**
23
+ * A textarea-like input that renders {{variable}} patterns as styled chips.
24
+ * Uses a minimal TipTap editor under the hood for rich content rendering.
25
+ */
26
+ export declare const VariableTextarea: React.ForwardRefExoticComponent<VariableTextareaProps & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,2 @@
1
+ export { VariableTextarea } from "./VariableTextarea";
2
+ export type { VariableTextareaProps } from "./VariableTextarea";