@select-org/select-post-builder 1.1.33 → 1.1.34

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.
@@ -33689,10 +33689,20 @@ const PostBuilderEditorInstance = ({
33689
33689
  placement
33690
33690
  }) => {
33691
33691
  const [isDragging, setIsDragging] = React.useState(false);
33692
+ const [hasGroupSelected, setHasGroupSelected] = React.useState(true);
33692
33693
  const { trackPublish } = useAnalyticsTracking();
33693
33694
  const { clearContent } = usePersistence(placement);
33694
33695
  useHostAnalyticsBridge();
33695
33696
  useEditorTracking({ editor, editorType: editorTab });
33697
+ React.useEffect(() => {
33698
+ const checkGroupSelection = () => {
33699
+ const { groupId, selectedGroupId } = store.getState();
33700
+ setHasGroupSelected(!!(groupId || selectedGroupId));
33701
+ };
33702
+ checkGroupSelection();
33703
+ const unsubscribe = store.subscribe(checkGroupSelection);
33704
+ return () => unsubscribe();
33705
+ }, [store]);
33696
33706
  const handleDragOver = (e2) => {
33697
33707
  e2.preventDefault();
33698
33708
  setIsDragging(true);
@@ -33705,6 +33715,12 @@ const PostBuilderEditorInstance = ({
33705
33715
  e2.preventDefault();
33706
33716
  setIsDragging(false);
33707
33717
  };
33718
+ const handleOpenGroupSelector = () => {
33719
+ const selectorTrigger = document.querySelector('[aria-label="Select group"]');
33720
+ if (selectorTrigger) {
33721
+ selectorTrigger.click();
33722
+ }
33723
+ };
33708
33724
  const handleSubmit = (sendCrossMention) => {
33709
33725
  if (!editor) return;
33710
33726
  const html2 = editor?.getHTML();
@@ -33752,11 +33768,21 @@ const PostBuilderEditorInstance = ({
33752
33768
  "div",
33753
33769
  {
33754
33770
  className: cn(
33755
- "post-builder-editor bg-background border rounded-md overflow-hidden max-h-full grow flex flex-col overflow-y-auto transition-all duration-300 ease-in-out",
33771
+ "post-builder-editor bg-background border rounded-md overflow-hidden max-h-full grow flex flex-col overflow-y-auto transition-all duration-300 ease-in-out relative",
33756
33772
  placement === EditorPlacement.Comment ? "min-h-32" : "min-h-60",
33757
33773
  className
33758
33774
  ),
33759
33775
  children: [
33776
+ !hasGroupSelected && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "z-50 absolute inset-0 bg-foreground/30 backdrop-blur-xs flex items-center justify-center rounded-md pointer-events-none", children: /* @__PURE__ */ jsxRuntime.jsx(
33777
+ Button,
33778
+ {
33779
+ variant: "outline",
33780
+ size: "lg",
33781
+ onClick: handleOpenGroupSelector,
33782
+ className: "pointer-events-auto cursor-pointer hover:animate-none animate-pulse",
33783
+ children: "Please select a group first"
33784
+ }
33785
+ ) }),
33760
33786
  placement !== EditorPlacement.Comment && /* @__PURE__ */ jsxRuntime.jsx(EditorTypeTabs, { editorTab, onSwitchEditorTab: onSwitchEditor }),
33761
33787
  /* @__PURE__ */ jsxRuntime.jsx(
33762
33788
  Toolbar,
@@ -147,6 +147,7 @@
147
147
  --animate-spin: spin 1s linear infinite;
148
148
  --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;
149
149
  --animate-bounce: bounce 1s infinite;
150
+ --blur-xs: 4px;
150
151
  --blur-sm: 8px;
151
152
  --blur-2xl: 40px;
152
153
  --default-transition-duration: .15s;
@@ -454,6 +455,10 @@ body {
454
455
  container: field-group / inline-size;
455
456
  }
456
457
 
458
+ [data-theme="select-post-builder"] .pointer-events-auto {
459
+ pointer-events: auto;
460
+ }
461
+
457
462
  [data-theme="select-post-builder"] .pointer-events-none {
458
463
  pointer-events: none;
459
464
  }
@@ -2298,10 +2303,16 @@ body {
2298
2303
  background-color: var(--destructive);
2299
2304
  }
2300
2305
 
2301
- [data-theme="select-post-builder"] .bg-foreground {
2306
+ [data-theme="select-post-builder"] .bg-foreground, [data-theme="select-post-builder"] .bg-foreground\/30 {
2302
2307
  background-color: var(--foreground);
2303
2308
  }
2304
2309
 
2310
+ @supports (color: color-mix(in lab, red, red)) {
2311
+ [data-theme="select-post-builder"] .bg-foreground\/30 {
2312
+ background-color: color-mix(in oklab, var(--foreground) 30%, transparent);
2313
+ }
2314
+ }
2315
+
2305
2316
  [data-theme="select-post-builder"] .bg-gray-50 {
2306
2317
  background-color: var(--color-gray-50);
2307
2318
  }
@@ -2950,6 +2961,11 @@ body {
2950
2961
  backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
2951
2962
  }
2952
2963
 
2964
+ [data-theme="select-post-builder"] .backdrop-blur-xs {
2965
+ --tw-backdrop-blur: blur(var(--blur-xs));
2966
+ backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
2967
+ }
2968
+
2953
2969
  [data-theme="select-post-builder"] .transition {
2954
2970
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
2955
2971
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
@@ -3258,6 +3274,10 @@ body {
3258
3274
  scale: 1.02;
3259
3275
  }
3260
3276
 
3277
+ [data-theme="select-post-builder"] .hover\:animate-none:hover {
3278
+ animation: none;
3279
+ }
3280
+
3261
3281
  [data-theme="select-post-builder"] .hover\:border-accent:hover {
3262
3282
  border-color: var(--accent);
3263
3283
  }
@@ -33659,10 +33659,20 @@ const PostBuilderEditorInstance = ({
33659
33659
  placement
33660
33660
  }) => {
33661
33661
  const [isDragging, setIsDragging] = useState(false);
33662
+ const [hasGroupSelected, setHasGroupSelected] = useState(true);
33662
33663
  const { trackPublish } = useAnalyticsTracking();
33663
33664
  const { clearContent } = usePersistence(placement);
33664
33665
  useHostAnalyticsBridge();
33665
33666
  useEditorTracking({ editor, editorType: editorTab });
33667
+ useEffect(() => {
33668
+ const checkGroupSelection = () => {
33669
+ const { groupId, selectedGroupId } = store.getState();
33670
+ setHasGroupSelected(!!(groupId || selectedGroupId));
33671
+ };
33672
+ checkGroupSelection();
33673
+ const unsubscribe = store.subscribe(checkGroupSelection);
33674
+ return () => unsubscribe();
33675
+ }, [store]);
33666
33676
  const handleDragOver = (e2) => {
33667
33677
  e2.preventDefault();
33668
33678
  setIsDragging(true);
@@ -33675,6 +33685,12 @@ const PostBuilderEditorInstance = ({
33675
33685
  e2.preventDefault();
33676
33686
  setIsDragging(false);
33677
33687
  };
33688
+ const handleOpenGroupSelector = () => {
33689
+ const selectorTrigger = document.querySelector('[aria-label="Select group"]');
33690
+ if (selectorTrigger) {
33691
+ selectorTrigger.click();
33692
+ }
33693
+ };
33678
33694
  const handleSubmit = (sendCrossMention) => {
33679
33695
  if (!editor) return;
33680
33696
  const html2 = editor?.getHTML();
@@ -33722,11 +33738,21 @@ const PostBuilderEditorInstance = ({
33722
33738
  "div",
33723
33739
  {
33724
33740
  className: cn(
33725
- "post-builder-editor bg-background border rounded-md overflow-hidden max-h-full grow flex flex-col overflow-y-auto transition-all duration-300 ease-in-out",
33741
+ "post-builder-editor bg-background border rounded-md overflow-hidden max-h-full grow flex flex-col overflow-y-auto transition-all duration-300 ease-in-out relative",
33726
33742
  placement === EditorPlacement.Comment ? "min-h-32" : "min-h-60",
33727
33743
  className
33728
33744
  ),
33729
33745
  children: [
33746
+ !hasGroupSelected && /* @__PURE__ */ jsx("div", { className: "z-50 absolute inset-0 bg-foreground/30 backdrop-blur-xs flex items-center justify-center rounded-md pointer-events-none", children: /* @__PURE__ */ jsx(
33747
+ Button,
33748
+ {
33749
+ variant: "outline",
33750
+ size: "lg",
33751
+ onClick: handleOpenGroupSelector,
33752
+ className: "pointer-events-auto cursor-pointer hover:animate-none animate-pulse",
33753
+ children: "Please select a group first"
33754
+ }
33755
+ ) }),
33730
33756
  placement !== EditorPlacement.Comment && /* @__PURE__ */ jsx(EditorTypeTabs, { editorTab, onSwitchEditorTab: onSwitchEditor }),
33731
33757
  /* @__PURE__ */ jsx(
33732
33758
  Toolbar,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@select-org/select-post-builder",
3
- "version": "1.1.33",
3
+ "version": "1.1.34",
4
4
  "description": "A reusable, extensible Post Builder widget for the Select platform and beyond.",
5
5
  "main": "./dist/post-builder.cjs.js",
6
6
  "module": "./dist/post-builder.js",