@delmaredigital/payload-puck 0.6.6 → 0.6.7

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.
@@ -1 +1 @@
1
- {"version":3,"file":"ColorPickerControl.d.ts","sourceRoot":"","sources":["../../../../src/fields/richtext/controls/ColorPickerControl.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAE3C,UAAU,uBAAuB;IAC/B,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,MAAM,GAAG,SAAS,CAAA;CACjC;AAED,wBAAgB,kBAAkB,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,uBAAuB,2CA6DnF;AAMD,UAAU,qBAAqB;IAC7B,YAAY,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;IAC7C,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,IAAI,EAAE,MAAM,GAAG,WAAW,CAAA;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,YAAY,EACZ,aAAa,EACb,OAAO,EACP,IAAI,EACJ,WAAkB,GACnB,EAAE,qBAAqB,2CAqLvB"}
1
+ {"version":3,"file":"ColorPickerControl.d.ts","sourceRoot":"","sources":["../../../../src/fields/richtext/controls/ColorPickerControl.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAE3C,UAAU,uBAAuB;IAC/B,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,MAAM,GAAG,SAAS,CAAA;CACjC;AAED,wBAAgB,kBAAkB,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,uBAAuB,2CA2DnF;AAMD,UAAU,qBAAqB;IAC7B,YAAY,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;IAC7C,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,IAAI,EAAE,MAAM,GAAG,WAAW,CAAA;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,YAAY,EACZ,aAAa,EACb,OAAO,EACP,IAAI,EACJ,WAAkB,GACnB,EAAE,qBAAqB,2CAqLvB"}
@@ -10,14 +10,13 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
10
  * - Theme color presets
11
11
  * - "Theme Color (Auto)" option for dark/light mode adaptation
12
12
  */
13
- import { useState, useRef, useCallback } from 'react';
13
+ import { useState, useCallback } from 'react';
14
14
  import { Palette, ChevronDown } from 'lucide-react';
15
15
  import { useTheme } from '../../../theme';
16
- import { parseColor, normalizeHex, hexToRgba, controlStyles, forcePuckUpdate } from './shared';
17
- import { DropdownPortal } from './DropdownPortal';
16
+ import { parseColor, normalizeHex, hexToRgba, controlStyles } from './shared';
17
+ import { Dropdown } from './DropdownPortal';
18
18
  export function ColorPickerControl({ editor, currentColor }) {
19
19
  const [isOpen, setIsOpen] = useState(false);
20
- const triggerRef = useRef(null);
21
20
  const handleColorChange = useCallback((color) => {
22
21
  if (color) {
23
22
  editor.chain().focus().setColor(color).run();
@@ -25,23 +24,23 @@ export function ColorPickerControl({ editor, currentColor }) {
25
24
  else {
26
25
  editor.chain().focus().unsetColor().run();
27
26
  }
28
- forcePuckUpdate(editor);
29
27
  }, [editor]);
30
28
  const close = useCallback(() => setIsOpen(false), []);
31
29
  const hasColor = Boolean(currentColor);
32
- return (_jsxs("div", { style: { position: 'relative' }, children: [_jsxs("button", { ref: triggerRef, type: "button", onClick: () => setIsOpen(!isOpen), title: "Text Color", style: {
33
- ...controlStyles.dropdownTrigger,
34
- ...(hasColor ? controlStyles.dropdownTriggerActive : {}),
35
- }, children: [_jsx(Palette, { style: controlStyles.icon }), _jsx(ChevronDown, { style: { width: '12px', height: '12px' } }), currentColor && (_jsx("span", { style: {
36
- position: 'absolute',
37
- bottom: '2px',
38
- left: '50%',
39
- transform: 'translateX(-50%)',
40
- width: '12px',
41
- height: '3px',
42
- borderRadius: '1px',
43
- backgroundColor: currentColor,
44
- } }))] }), _jsx(DropdownPortal, { isOpen: isOpen, onClose: close, triggerRef: triggerRef, minWidth: 260, children: _jsx(ColorPickerPanel, { currentColor: currentColor, onColorChange: handleColorChange, onClose: close, mode: "text" }) })] }));
30
+ const trigger = (_jsxs("button", { type: "button", title: "Text Color", style: {
31
+ ...controlStyles.dropdownTrigger,
32
+ ...(hasColor ? controlStyles.dropdownTriggerActive : {}),
33
+ }, children: [_jsx(Palette, { style: controlStyles.icon }), _jsx(ChevronDown, { style: { width: '12px', height: '12px' } }), currentColor && (_jsx("span", { style: {
34
+ position: 'absolute',
35
+ bottom: '2px',
36
+ left: '50%',
37
+ transform: 'translateX(-50%)',
38
+ width: '12px',
39
+ height: '3px',
40
+ borderRadius: '1px',
41
+ backgroundColor: currentColor,
42
+ } }))] }));
43
+ return (_jsx("div", { style: { position: 'relative' }, children: _jsx(Dropdown, { isOpen: isOpen, onOpenChange: setIsOpen, trigger: trigger, minWidth: 260, children: _jsx(ColorPickerPanel, { currentColor: currentColor, onColorChange: handleColorChange, onClose: close, mode: "text" }) }) }));
45
44
  }
46
45
  export function ColorPickerPanel({ currentColor, onColorChange, onClose, mode, showOpacity = true, }) {
47
46
  const theme = useTheme();
@@ -1 +1 @@
1
- {"version":3,"file":"ColorPickerControl.js","sourceRoot":"","sources":["../../../../src/fields/richtext/controls/ColorPickerControl.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ColorPickerControl.js","sourceRoot":"","sources":["../../../../src/fields/richtext/controls/ColorPickerControl.tsx"],"names":[],"mappings":"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"}
@@ -1,17 +1,24 @@
1
1
  /**
2
- * DropdownPortal - Renders dropdown content in a portal to escape overflow clipping
2
+ * Dropdown - Renders dropdown content using Radix Popover for proper focus management
3
3
  *
4
- * Uses React Portal to render outside the DOM hierarchy, similar to how
5
- * Puck's native dropdowns use @radix-ui/react-popover with PopoverPortal.
4
+ * Uses @radix-ui/react-popover which provides:
5
+ * - Proper focus management that integrates with Puck's dirty state tracking
6
+ * - Automatic close on escape and click outside
7
+ * - Focus restoration to trigger element on close
8
+ *
9
+ * IMPORTANT: Uses data-puck-rte-menu attribute so Puck's blur handler recognizes
10
+ * this dropdown as part of the rich text menu. Without this, clicking the dropdown
11
+ * causes the editor to blur, clearing currentRichText state and breaking all menu
12
+ * controls (including native Puck ones like HeadingSelect).
6
13
  */
7
- import React, { type ReactNode } from 'react';
8
- interface DropdownPortalProps {
14
+ import { type ReactNode } from 'react';
15
+ interface DropdownProps {
9
16
  isOpen: boolean;
10
- onClose: () => void;
11
- triggerRef: React.RefObject<HTMLElement | null>;
17
+ onOpenChange: (open: boolean) => void;
18
+ trigger: ReactNode;
12
19
  children: ReactNode;
13
20
  minWidth?: number;
14
21
  }
15
- export declare function DropdownPortal({ isOpen, onClose, triggerRef, children, minWidth }: DropdownPortalProps): React.ReactPortal | null;
16
- export {};
22
+ export declare function Dropdown({ isOpen, onOpenChange, trigger, children, minWidth }: DropdownProps): import("react/jsx-runtime").JSX.Element;
23
+ export { Dropdown as DropdownPortal };
17
24
  //# sourceMappingURL=DropdownPortal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownPortal.d.ts","sourceRoot":"","sources":["../../../../src/fields/richtext/controls/DropdownPortal.tsx"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,EAA+B,KAAK,SAAS,EAAsB,MAAM,OAAO,CAAA;AAI9F,UAAU,mBAAmB;IAC3B,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;IAC/C,QAAQ,EAAE,SAAS,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,wBAAgB,cAAc,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAc,EAAE,EAAE,mBAAmB,4BAmG5G"}
1
+ {"version":3,"file":"DropdownPortal.d.ts","sourceRoot":"","sources":["../../../../src/fields/richtext/controls/DropdownPortal.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AAEH,OAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAQ7C,UAAU,aAAa;IACrB,MAAM,EAAE,OAAO,CAAA;IACf,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,OAAO,EAAE,SAAS,CAAA;IAClB,QAAQ,EAAE,SAAS,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,wBAAgB,QAAQ,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAc,EAAE,EAAE,aAAa,2CAuBlG;AAGD,OAAO,EAAE,QAAQ,IAAI,cAAc,EAAE,CAAA"}
@@ -1,90 +1,16 @@
1
1
  'use client';
2
- import { jsx as _jsx } from "react/jsx-runtime";
3
- /**
4
- * DropdownPortal - Renders dropdown content in a portal to escape overflow clipping
5
- *
6
- * Uses React Portal to render outside the DOM hierarchy, similar to how
7
- * Puck's native dropdowns use @radix-ui/react-popover with PopoverPortal.
8
- */
9
- import { useRef, useEffect, useState } from 'react';
10
- import ReactDOM from 'react-dom';
11
- export function DropdownPortal({ isOpen, onClose, triggerRef, children, minWidth = 160 }) {
12
- const dropdownRef = useRef(null);
13
- const [position, setPosition] = useState(null);
14
- // Calculate position based on trigger element
15
- useEffect(() => {
16
- if (isOpen && triggerRef.current) {
17
- const rect = triggerRef.current.getBoundingClientRect();
18
- const dropdownWidth = minWidth;
19
- const viewportWidth = window.innerWidth;
20
- // Position below the trigger
21
- let left = rect.left;
22
- const top = rect.bottom + 4;
23
- // Check if it would overflow the right edge
24
- if (left + dropdownWidth > viewportWidth - 16) {
25
- // Align to right edge of trigger instead
26
- left = rect.right - dropdownWidth;
27
- }
28
- // Ensure it doesn't go off the left edge
29
- if (left < 16) {
30
- left = 16;
31
- }
32
- setPosition({ top, left });
33
- }
34
- }, [isOpen, triggerRef, minWidth]);
35
- // Close on click outside
36
- useEffect(() => {
37
- if (!isOpen)
38
- return;
39
- function handleClickOutside(event) {
40
- const target = event.target;
41
- // Don't close if clicking color input (native picker)
42
- const activeElement = document.activeElement;
43
- if (activeElement?.tagName === 'INPUT' && activeElement.type === 'color') {
44
- return;
45
- }
46
- // Check if click is outside both dropdown and trigger
47
- if (dropdownRef.current &&
48
- !dropdownRef.current.contains(target) &&
49
- triggerRef.current &&
50
- !triggerRef.current.contains(target)) {
51
- onClose();
52
- }
53
- }
54
- // Use setTimeout to avoid closing immediately on the click that opened it
55
- const timeoutId = setTimeout(() => {
56
- document.addEventListener('mousedown', handleClickOutside);
57
- }, 0);
58
- return () => {
59
- clearTimeout(timeoutId);
60
- document.removeEventListener('mousedown', handleClickOutside);
61
- };
62
- }, [isOpen, onClose, triggerRef]);
63
- // Close on escape key
64
- useEffect(() => {
65
- if (!isOpen)
66
- return;
67
- function handleEscape(event) {
68
- if (event.key === 'Escape') {
69
- onClose();
70
- }
71
- }
72
- document.addEventListener('keydown', handleEscape);
73
- return () => document.removeEventListener('keydown', handleEscape);
74
- }, [isOpen, onClose]);
75
- if (!isOpen || !position)
76
- return null;
77
- const style = {
78
- position: 'fixed',
79
- top: position.top,
80
- left: position.left,
81
- backgroundColor: 'var(--puck-color-white)',
82
- border: '1px solid var(--puck-color-grey-09)',
83
- borderRadius: '8px',
84
- boxShadow: '0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)',
85
- zIndex: 99999,
86
- minWidth,
87
- };
88
- return ReactDOM.createPortal(_jsx("div", { ref: dropdownRef, style: style, "data-puck-dropdown-portal": true, children: children }), document.body);
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { Root as PopoverRoot, Trigger as PopoverTrigger, Portal as PopoverPortal, Content as PopoverContent, } from '@radix-ui/react-popover';
4
+ export function Dropdown({ isOpen, onOpenChange, trigger, children, minWidth = 160 }) {
5
+ return (_jsxs(PopoverRoot, { open: isOpen, onOpenChange: onOpenChange, children: [_jsx(PopoverTrigger, { asChild: true, children: trigger }), _jsx(PopoverPortal, { children: _jsx(PopoverContent, { align: "start", sideOffset: 4, style: {
6
+ backgroundColor: 'var(--puck-color-white)',
7
+ border: '1px solid var(--puck-color-grey-09)',
8
+ borderRadius: '8px',
9
+ boxShadow: '0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)',
10
+ zIndex: 99999,
11
+ minWidth,
12
+ }, "data-puck-rte-menu": true, children: children }) })] }));
89
13
  }
14
+ // Keep the old export name for backwards compatibility during migration
15
+ export { Dropdown as DropdownPortal };
90
16
  //# sourceMappingURL=DropdownPortal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownPortal.js","sourceRoot":"","sources":["../../../../src/fields/richtext/controls/DropdownPortal.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DropdownPortal.js","sourceRoot":"","sources":["../../../../src/fields/richtext/controls/DropdownPortal.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAiBZ,OAAO,EACL,IAAI,IAAI,WAAW,EACnB,OAAO,IAAI,cAAc,EACzB,MAAM,IAAI,aAAa,EACvB,OAAO,IAAI,cAAc,GAC1B,MAAM,yBAAyB,CAAA;AAUhC,MAAM,UAAU,QAAQ,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,GAAG,GAAG,EAAiB;IACjG,OAAO,CACL,MAAC,WAAW,IAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,aACnD,KAAC,cAAc,IAAC,OAAO,kBAAE,OAAO,GAAkB,EAClD,KAAC,aAAa,cACZ,KAAC,cAAc,IACb,KAAK,EAAC,OAAO,EACb,UAAU,EAAE,CAAC,EACb,KAAK,EAAE;wBACL,eAAe,EAAE,yBAAyB;wBAC1C,MAAM,EAAE,qCAAqC;wBAC7C,YAAY,EAAE,KAAK;wBACnB,SAAS,EAAE,yEAAyE;wBACpF,MAAM,EAAE,KAAK;wBACb,QAAQ;qBACT,wCAGA,QAAQ,GACM,GACH,IACJ,CACf,CAAA;AACH,CAAC;AAED,wEAAwE;AACxE,OAAO,EAAE,QAAQ,IAAI,cAAc,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"FontSizeControl.d.ts","sourceRoot":"","sources":["../../../../src/fields/richtext/controls/FontSizeControl.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAE3C,UAAU,oBAAoB;IAC5B,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;CAChC;AAED,wBAAgB,eAAe,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,oBAAoB,2CAkI5E"}
1
+ {"version":3,"file":"FontSizeControl.d.ts","sourceRoot":"","sources":["../../../../src/fields/richtext/controls/FontSizeControl.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAE3C,UAAU,oBAAoB;IAC5B,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;CAChC;AAED,wBAAgB,eAAe,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,oBAAoB,2CA6H5E"}
@@ -7,15 +7,14 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
7
  * - 9 preset sizes (XS to 4XL)
8
8
  * - Custom size input with px/rem/em unit selection
9
9
  */
10
- import { useState, useRef, useCallback } from 'react';
10
+ import { useState, useCallback } from 'react';
11
11
  import { ALargeSmall, ChevronDown } from 'lucide-react';
12
- import { FONT_SIZES, FONT_SIZE_UNITS, controlStyles, forcePuckUpdate } from './shared';
13
- import { DropdownPortal } from './DropdownPortal';
12
+ import { FONT_SIZES, FONT_SIZE_UNITS, controlStyles } from './shared';
13
+ import { Dropdown } from './DropdownPortal';
14
14
  export function FontSizeControl({ editor, currentSize }) {
15
15
  const [isOpen, setIsOpen] = useState(false);
16
16
  const [customValue, setCustomValue] = useState('');
17
17
  const [customUnit, setCustomUnit] = useState('px');
18
- const triggerRef = useRef(null);
19
18
  const handlePresetClick = useCallback((value) => {
20
19
  if (value) {
21
20
  editor.chain().focus().setFontSize(value).run();
@@ -24,7 +23,6 @@ export function FontSizeControl({ editor, currentSize }) {
24
23
  editor.chain().focus().unsetFontSize().run();
25
24
  }
26
25
  setIsOpen(false);
27
- forcePuckUpdate(editor);
28
26
  }, [editor]);
29
27
  const handleCustomApply = useCallback(() => {
30
28
  if (customValue) {
@@ -32,7 +30,6 @@ export function FontSizeControl({ editor, currentSize }) {
32
30
  editor.chain().focus().setFontSize(size).run();
33
31
  setIsOpen(false);
34
32
  setCustomValue('');
35
- forcePuckUpdate(editor);
36
33
  }
37
34
  }, [editor, customValue, customUnit]);
38
35
  const handleCustomKeyDown = useCallback((e) => {
@@ -41,24 +38,24 @@ export function FontSizeControl({ editor, currentSize }) {
41
38
  handleCustomApply();
42
39
  }
43
40
  }, [handleCustomApply]);
44
- const close = useCallback(() => setIsOpen(false), []);
45
41
  // Find current preset label if any
46
42
  const currentPreset = FONT_SIZES.find((s) => s.value === currentSize);
47
43
  const hasCustomSize = currentSize && !currentPreset;
48
- return (_jsxs("div", { style: { position: 'relative' }, children: [_jsxs("button", { ref: triggerRef, type: "button", onClick: () => setIsOpen(!isOpen), title: "Font Size", style: {
49
- ...controlStyles.dropdownTrigger,
50
- ...(currentSize ? controlStyles.dropdownTriggerActive : {}),
51
- }, children: [_jsx(ALargeSmall, { style: controlStyles.icon }), _jsx(ChevronDown, { style: { width: '12px', height: '12px' } })] }), _jsxs(DropdownPortal, { isOpen: isOpen, onClose: close, triggerRef: triggerRef, minWidth: 200, children: [_jsx("div", { style: controlStyles.dropdownLabel, children: "Presets" }), _jsx("div", { style: controlStyles.fontSizeGrid, children: FONT_SIZES.map((size) => {
52
- const isActive = size.value === currentSize || (!size.value && !currentSize);
53
- return (_jsx("button", { type: "button", onClick: () => handlePresetClick(size.value), title: size.px, style: {
54
- ...controlStyles.fontSizeButton,
55
- ...(isActive ? controlStyles.fontSizeButtonActive : {}),
56
- }, children: size.label }, size.label));
57
- }) }), _jsxs("div", { style: controlStyles.customSizeRow, children: [_jsx("input", { type: "number", placeholder: "16", min: "8", max: "200", value: customValue, onChange: (e) => setCustomValue(e.target.value), onKeyDown: handleCustomKeyDown, style: controlStyles.customSizeInput }), _jsx("select", { value: customUnit, onChange: (e) => setCustomUnit(e.target.value), style: controlStyles.customSizeSelect, children: FONT_SIZE_UNITS.map((unit) => (_jsx("option", { value: unit, children: unit }, unit))) }), _jsx("button", { type: "button", onClick: handleCustomApply, style: controlStyles.customSizeApply, children: "Apply" })] }), hasCustomSize && (_jsxs("div", { style: {
58
- padding: '8px 12px',
59
- fontSize: '12px',
60
- color: 'var(--puck-color-grey-05)',
61
- borderTop: '1px solid var(--puck-color-grey-03)',
62
- }, children: ["Current: ", currentSize] }))] })] }));
44
+ const trigger = (_jsxs("button", { type: "button", title: "Font Size", style: {
45
+ ...controlStyles.dropdownTrigger,
46
+ ...(currentSize ? controlStyles.dropdownTriggerActive : {}),
47
+ }, children: [_jsx(ALargeSmall, { style: controlStyles.icon }), _jsx(ChevronDown, { style: { width: '12px', height: '12px' } })] }));
48
+ return (_jsx("div", { style: { position: 'relative' }, children: _jsxs(Dropdown, { isOpen: isOpen, onOpenChange: setIsOpen, trigger: trigger, minWidth: 200, children: [_jsx("div", { style: controlStyles.dropdownLabel, children: "Presets" }), _jsx("div", { style: controlStyles.fontSizeGrid, children: FONT_SIZES.map((size) => {
49
+ const isActive = size.value === currentSize || (!size.value && !currentSize);
50
+ return (_jsx("button", { type: "button", onClick: () => handlePresetClick(size.value), title: size.px, style: {
51
+ ...controlStyles.fontSizeButton,
52
+ ...(isActive ? controlStyles.fontSizeButtonActive : {}),
53
+ }, children: size.label }, size.label));
54
+ }) }), _jsxs("div", { style: controlStyles.customSizeRow, children: [_jsx("input", { type: "number", placeholder: "16", min: "8", max: "200", value: customValue, onChange: (e) => setCustomValue(e.target.value), onKeyDown: handleCustomKeyDown, style: controlStyles.customSizeInput }), _jsx("select", { value: customUnit, onChange: (e) => setCustomUnit(e.target.value), style: controlStyles.customSizeSelect, children: FONT_SIZE_UNITS.map((unit) => (_jsx("option", { value: unit, children: unit }, unit))) }), _jsx("button", { type: "button", onClick: handleCustomApply, style: controlStyles.customSizeApply, children: "Apply" })] }), hasCustomSize && (_jsxs("div", { style: {
55
+ padding: '8px 12px',
56
+ fontSize: '12px',
57
+ color: 'var(--puck-color-grey-05)',
58
+ borderTop: '1px solid var(--puck-color-grey-03)',
59
+ }, children: ["Current: ", currentSize] }))] }) }));
63
60
  }
64
61
  //# sourceMappingURL=FontSizeControl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FontSizeControl.js","sourceRoot":"","sources":["../../../../src/fields/richtext/controls/FontSizeControl.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FontSizeControl.js","sourceRoot":"","sources":["../../../../src/fields/richtext/controls/FontSizeControl.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"HighlightControl.d.ts","sourceRoot":"","sources":["../../../../src/fields/richtext/controls/HighlightControl.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAE3C,UAAU,qBAAqB;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,wBAAgB,gBAAgB,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,qBAAqB,2CA2DzF"}
1
+ {"version":3,"file":"HighlightControl.d.ts","sourceRoot":"","sources":["../../../../src/fields/richtext/controls/HighlightControl.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAE3C,UAAU,qBAAqB;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,wBAAgB,gBAAgB,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,qBAAqB,2CAyDzF"}
@@ -10,14 +10,13 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
10
  * - Theme color presets
11
11
  * - Remove highlight option
12
12
  */
13
- import { useState, useRef, useCallback } from 'react';
13
+ import { useState, useCallback } from 'react';
14
14
  import { Highlighter, ChevronDown } from 'lucide-react';
15
- import { controlStyles, forcePuckUpdate } from './shared';
15
+ import { controlStyles } from './shared';
16
16
  import { ColorPickerPanel } from './ColorPickerControl';
17
- import { DropdownPortal } from './DropdownPortal';
17
+ import { Dropdown } from './DropdownPortal';
18
18
  export function HighlightControl({ editor, currentColor, isActive }) {
19
19
  const [isOpen, setIsOpen] = useState(false);
20
- const triggerRef = useRef(null);
21
20
  const handleColorChange = useCallback((color) => {
22
21
  if (color) {
23
22
  editor.chain().focus().setHighlight({ color }).run();
@@ -25,21 +24,21 @@ export function HighlightControl({ editor, currentColor, isActive }) {
25
24
  else {
26
25
  editor.chain().focus().unsetHighlight().run();
27
26
  }
28
- forcePuckUpdate(editor);
29
27
  }, [editor]);
30
28
  const close = useCallback(() => setIsOpen(false), []);
31
- return (_jsxs("div", { style: { position: 'relative' }, children: [_jsxs("button", { ref: triggerRef, type: "button", onClick: () => setIsOpen(!isOpen), title: "Highlight", style: {
32
- ...controlStyles.dropdownTrigger,
33
- ...(isActive ? controlStyles.dropdownTriggerActive : {}),
34
- }, children: [_jsx(Highlighter, { style: controlStyles.icon }), _jsx(ChevronDown, { style: { width: '12px', height: '12px' } }), currentColor && (_jsx("span", { style: {
35
- position: 'absolute',
36
- bottom: '2px',
37
- left: '50%',
38
- transform: 'translateX(-50%)',
39
- width: '12px',
40
- height: '3px',
41
- borderRadius: '1px',
42
- backgroundColor: currentColor,
43
- } }))] }), _jsx(DropdownPortal, { isOpen: isOpen, onClose: close, triggerRef: triggerRef, minWidth: 260, children: _jsx(ColorPickerPanel, { currentColor: currentColor, onColorChange: handleColorChange, onClose: close, mode: "highlight" }) })] }));
29
+ const trigger = (_jsxs("button", { type: "button", title: "Highlight", style: {
30
+ ...controlStyles.dropdownTrigger,
31
+ ...(isActive ? controlStyles.dropdownTriggerActive : {}),
32
+ }, children: [_jsx(Highlighter, { style: controlStyles.icon }), _jsx(ChevronDown, { style: { width: '12px', height: '12px' } }), currentColor && (_jsx("span", { style: {
33
+ position: 'absolute',
34
+ bottom: '2px',
35
+ left: '50%',
36
+ transform: 'translateX(-50%)',
37
+ width: '12px',
38
+ height: '3px',
39
+ borderRadius: '1px',
40
+ backgroundColor: currentColor,
41
+ } }))] }));
42
+ return (_jsx("div", { style: { position: 'relative' }, children: _jsx(Dropdown, { isOpen: isOpen, onOpenChange: setIsOpen, trigger: trigger, minWidth: 260, children: _jsx(ColorPickerPanel, { currentColor: currentColor, onColorChange: handleColorChange, onClose: close, mode: "highlight" }) }) }));
44
43
  }
45
44
  //# sourceMappingURL=HighlightControl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HighlightControl.js","sourceRoot":"","sources":["../../../../src/fields/richtext/controls/HighlightControl.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;;GASG;AAEH,OAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAC5D,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AACvD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AASjD,MAAM,UAAU,gBAAgB,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAyB;IACxF,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC3C,MAAM,UAAU,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAA;IAElD,MAAM,iBAAiB,GAAG,WAAW,CACnC,CAAC,KAAoB,EAAE,EAAE;QACvB,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,CAAA;QACtD,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,cAAc,EAAE,CAAC,GAAG,EAAE,CAAA;QAC/C,CAAC;QACD,eAAe,CAAC,MAAM,CAAC,CAAA;IACzB,CAAC,EACD,CAAC,MAAM,CAAC,CACT,CAAA;IAED,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAA;IAErD,OAAO,CACL,eAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,aAClC,kBACE,GAAG,EAAE,UAAU,EACf,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,EACjC,KAAK,EAAC,WAAW,EACjB,KAAK,EAAE;oBACL,GAAG,aAAa,CAAC,eAAe;oBAChC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC;iBACzD,aAED,KAAC,WAAW,IAAC,KAAK,EAAE,aAAa,CAAC,IAAI,GAAI,EAC1C,KAAC,WAAW,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAI,EAExD,YAAY,IAAI,CACf,eACE,KAAK,EAAE;4BACL,QAAQ,EAAE,UAAU;4BACpB,MAAM,EAAE,KAAK;4BACb,IAAI,EAAE,KAAK;4BACX,SAAS,EAAE,kBAAkB;4BAC7B,KAAK,EAAE,MAAM;4BACb,MAAM,EAAE,KAAK;4BACb,YAAY,EAAE,KAAK;4BACnB,eAAe,EAAE,YAAY;yBAC9B,GACD,CACH,IACM,EAET,KAAC,cAAc,IAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,YACnF,KAAC,gBAAgB,IACf,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,iBAAiB,EAChC,OAAO,EAAE,KAAK,EACd,IAAI,EAAC,WAAW,GAChB,GACa,IACb,CACP,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"HighlightControl.js","sourceRoot":"","sources":["../../../../src/fields/richtext/controls/HighlightControl.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;;GASG;AAEH,OAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAS3C,MAAM,UAAU,gBAAgB,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAyB;IACxF,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAE3C,MAAM,iBAAiB,GAAG,WAAW,CACnC,CAAC,KAAoB,EAAE,EAAE;QACvB,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,CAAA;QACtD,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,cAAc,EAAE,CAAC,GAAG,EAAE,CAAA;QAC/C,CAAC;IACH,CAAC,EACD,CAAC,MAAM,CAAC,CACT,CAAA;IAED,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAA;IAErD,MAAM,OAAO,GAAG,CACd,kBACE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAC,WAAW,EACjB,KAAK,EAAE;YACL,GAAG,aAAa,CAAC,eAAe;YAChC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC;SACzD,aAED,KAAC,WAAW,IAAC,KAAK,EAAE,aAAa,CAAC,IAAI,GAAI,EAC1C,KAAC,WAAW,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAI,EAExD,YAAY,IAAI,CACf,eACE,KAAK,EAAE;oBACL,QAAQ,EAAE,UAAU;oBACpB,MAAM,EAAE,KAAK;oBACb,IAAI,EAAE,KAAK;oBACX,SAAS,EAAE,kBAAkB;oBAC7B,KAAK,EAAE,MAAM;oBACb,MAAM,EAAE,KAAK;oBACb,YAAY,EAAE,KAAK;oBACnB,eAAe,EAAE,YAAY;iBAC9B,GACD,CACH,IACM,CACV,CAAA;IAED,OAAO,CACL,cAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,YAClC,KAAC,QAAQ,IAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,YAChF,KAAC,gBAAgB,IACf,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,iBAAiB,EAChC,OAAO,EAAE,KAAK,EACd,IAAI,EAAC,WAAW,GAChB,GACO,GACP,CACP,CAAA;AACH,CAAC"}
@@ -4,37 +4,6 @@
4
4
  * Color manipulation, font size presets, and common types.
5
5
  */
6
6
  import type { CSSProperties } from 'react';
7
- import type { Editor } from '@tiptap/react';
8
- /**
9
- * Forces Puck to recognize editor changes after applying text styles.
10
- *
11
- * ## Why this is needed
12
- *
13
- * Puck's `useSyncedEditor` hook has a guard condition in its `onUpdate` callback:
14
- *
15
- * ```js
16
- * onUpdate: ({ editor }) => {
17
- * if (syncingRef.current || !isFocused) {
18
- * return; // Changes are dropped!
19
- * }
20
- * // ... save changes
21
- * }
22
- * ```
23
- *
24
- * When using dropdown controls (font size, color picker), focus moves from the
25
- * editor to the dropdown. Even though we call `editor.chain().focus()...run()`,
26
- * Puck's React `isFocused` state may not have updated yet, causing the change
27
- * to be silently dropped.
28
- *
29
- * This workaround inserts and immediately removes a zero-width space character
30
- * after a delay, which:
31
- * 1. Waits for React state to settle (focus state update)
32
- * 2. Forces a real document change that triggers Puck's onUpdate
33
- * 3. The insert+delete is atomic, so it doesn't affect undo history badly
34
- *
35
- * @see https://github.com/measuredco/puck - Core Puck library
36
- */
37
- export declare function forcePuckUpdate(editor: Editor): void;
38
7
  export declare const FONT_SIZES: readonly [{
39
8
  readonly label: "XS";
40
9
  readonly value: "0.75rem";
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/fields/richtext/controls/shared.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAM3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAoBpD;AAMD,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUb,CAAA;AAEV,eAAO,MAAM,eAAe,8BAA+B,CAAA;AAE3D,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAA;AAM3D;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAYhD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAM9D;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAqBtF;AAMD,eAAO,MAAM,aAAa;UAInB,aAAa;qBAcb,aAAa;2BAIb,aAAa;cAab,aAAa;kBAab,aAAa;mBASb,aAAa;uBAMb,aAAa;0BASb,aAAa;oBAMb,aAAa;sBAUb,aAAa;yBAab,aAAa;wBAUb,aAAa;6BAUb,aAAa;wBAKb,aAAa;+BAMb,aAAa;8BAMb,aAAa;6BAKb,aAAa;6BAMb,aAAa;8BAQb,aAAa;kCAUb,aAAa;6BAYb,aAAa;6BAMb,aAAa;4BAMb,aAAa;6BAWb,aAAa;qCAWb,aAAa;4BAeb,aAAa;4BASb,aAAa;kBAQb,aAAa;oBAYb,aAAa;0BAOb,aAAa;mBAQb,aAAa;qBAWb,aAAa;sBAUb,aAAa;qBAWb,aAAa;CACnB,CAAA"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/fields/richtext/controls/shared.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAM1C,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUb,CAAA;AAEV,eAAO,MAAM,eAAe,8BAA+B,CAAA;AAE3D,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAA;AAM3D;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAYhD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAM9D;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAqBtF;AAMD,eAAO,MAAM,aAAa;UAInB,aAAa;qBAcb,aAAa;2BAIb,aAAa;cAab,aAAa;kBAab,aAAa;mBASb,aAAa;uBAMb,aAAa;0BASb,aAAa;oBAMb,aAAa;sBAUb,aAAa;yBAab,aAAa;wBAUb,aAAa;6BAUb,aAAa;wBAKb,aAAa;+BAMb,aAAa;8BAMb,aAAa;6BAKb,aAAa;6BAMb,aAAa;8BAQb,aAAa;kCAUb,aAAa;6BAYb,aAAa;6BAMb,aAAa;4BAMb,aAAa;6BAWb,aAAa;qCAWb,aAAa;4BAeb,aAAa;4BASb,aAAa;kBAQb,aAAa;oBAYb,aAAa;0BAOb,aAAa;mBAQb,aAAa;qBAWb,aAAa;sBAUb,aAAa;qBAWb,aAAa;CACnB,CAAA"}
@@ -4,58 +4,6 @@
4
4
  * Color manipulation, font size presets, and common types.
5
5
  */
6
6
  // =============================================================================
7
- // Puck Focus Workaround
8
- // =============================================================================
9
- /**
10
- * Forces Puck to recognize editor changes after applying text styles.
11
- *
12
- * ## Why this is needed
13
- *
14
- * Puck's `useSyncedEditor` hook has a guard condition in its `onUpdate` callback:
15
- *
16
- * ```js
17
- * onUpdate: ({ editor }) => {
18
- * if (syncingRef.current || !isFocused) {
19
- * return; // Changes are dropped!
20
- * }
21
- * // ... save changes
22
- * }
23
- * ```
24
- *
25
- * When using dropdown controls (font size, color picker), focus moves from the
26
- * editor to the dropdown. Even though we call `editor.chain().focus()...run()`,
27
- * Puck's React `isFocused` state may not have updated yet, causing the change
28
- * to be silently dropped.
29
- *
30
- * This workaround inserts and immediately removes a zero-width space character
31
- * after a delay, which:
32
- * 1. Waits for React state to settle (focus state update)
33
- * 2. Forces a real document change that triggers Puck's onUpdate
34
- * 3. The insert+delete is atomic, so it doesn't affect undo history badly
35
- *
36
- * @see https://github.com/measuredco/puck - Core Puck library
37
- */
38
- export function forcePuckUpdate(editor) {
39
- // Use setTimeout to ensure React state has settled after focus change
40
- setTimeout(() => {
41
- if (editor.isDestroyed)
42
- return;
43
- // Save current selection
44
- const { from, to } = editor.state.selection;
45
- // Insert and immediately delete a zero-width space to force a document change
46
- // This triggers Puck's onUpdate with the focus state now correctly set
47
- // We insert at the end of the document to avoid disrupting the user's cursor
48
- const docEnd = editor.state.doc.content.size;
49
- editor
50
- .chain()
51
- .focus()
52
- .insertContentAt(docEnd, '\u200B') // Zero-width space at end
53
- .deleteRange({ from: docEnd, to: docEnd + 1 })
54
- .setTextSelection({ from, to }) // Restore original selection
55
- .run();
56
- }, 50);
57
- }
58
- // =============================================================================
59
7
  // Font Size Presets
60
8
  // =============================================================================
61
9
  export const FONT_SIZES = [
@@ -356,7 +304,7 @@ export const controlStyles = {
356
304
  },
357
305
  fontSizeButtonActive: {
358
306
  backgroundColor: 'var(--puck-color-azure-11)',
359
- borderColor: 'var(--puck-color-azure-11)',
307
+ border: '1px solid var(--puck-color-azure-11)',
360
308
  color: 'var(--puck-color-azure-04)',
361
309
  fontWeight: 500,
362
310
  },
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../src/fields/richtext/controls/shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../src/fields/richtext/controls/shared.ts"],"names":[],"mappings":"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"}
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.6.6";
1
+ export declare const VERSION = "0.6.7";
2
2
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -1,3 +1,3 @@
1
1
  // Auto-generated by scripts/generate-version.js - do not edit manually
2
- export const VERSION = '0.6.6';
2
+ export const VERSION = '0.6.7';
3
3
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@delmaredigital/payload-puck",
3
- "version": "0.6.6",
3
+ "version": "0.6.7",
4
4
  "description": "Puck visual page builder plugin for Payload CMS",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -127,6 +127,7 @@
127
127
  "@puckeditor/cloud-client": "^0.5.0",
128
128
  "@puckeditor/plugin-ai": "^0.5.0",
129
129
  "@puckeditor/plugin-heading-analyzer": "^0.21.0",
130
+ "@radix-ui/react-popover": "^1.1.15",
130
131
  "@tiptap/core": "^3.14.0",
131
132
  "@tiptap/extension-color": "^3.14.0",
132
133
  "@tiptap/extension-highlight": "^3.14.0",