@blockbite/ui 2.0.7 → 2.0.9
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.
- package/dist/AutocompleteDropdown.d.ts +1 -1
- package/dist/AutocompleteDropdown.js +23 -94
- package/dist/AutocompleteDropdown.js.map +1 -0
- package/dist/Badge.js +5 -15
- package/dist/Badge.js.map +1 -0
- package/dist/BitePreview.js +50 -60
- package/dist/BitePreview.js.map +1 -0
- package/dist/Button.d.ts +1 -1
- package/dist/Button.js +8 -51
- package/dist/Button.js.map +1 -0
- package/dist/ButtonToggle.js +44 -111
- package/dist/ButtonToggle.js.map +1 -0
- package/dist/Chapter.d.ts +1 -1
- package/dist/Chapter.js +6 -18
- package/dist/Chapter.js.map +1 -0
- package/dist/ChapterDivider.js +5 -16
- package/dist/ChapterDivider.js.map +1 -0
- package/dist/Checkbox.d.ts +1 -1
- package/dist/Checkbox.js +11 -20
- package/dist/Checkbox.js.map +1 -0
- package/dist/DisappearingMessage.js +27 -21
- package/dist/DisappearingMessage.js.map +1 -0
- package/dist/DropdownPicker.d.ts +1 -1
- package/dist/DropdownPicker.js +35 -52
- package/dist/DropdownPicker.js.map +1 -0
- package/dist/EmptyState.js +16 -17
- package/dist/EmptyState.js.map +1 -0
- package/dist/FloatingPanel.js +30 -41
- package/dist/FloatingPanel.js.map +1 -0
- package/dist/FocalPointControl.js +30 -40
- package/dist/FocalPointControl.js.map +1 -0
- package/dist/Icon.d.ts +1 -1
- package/dist/Icon.js +7 -8
- package/dist/Icon.js.map +1 -0
- package/dist/LinkPicker.d.ts +1 -1
- package/dist/LinkPicker.js +48 -65
- package/dist/LinkPicker.js.map +1 -0
- package/dist/MediaPicker.js +93 -90
- package/dist/MediaPicker.js.map +1 -0
- package/dist/MetricsControl.js +92 -117
- package/dist/MetricsControl.js.map +1 -0
- package/dist/Modal.js +74 -80
- package/dist/Modal.js.map +1 -0
- package/dist/NewWindowPortal.js +52 -40
- package/dist/NewWindowPortal.js.map +1 -0
- package/dist/Notice.d.ts +1 -1
- package/dist/Notice.js +9 -23
- package/dist/Notice.js.map +1 -0
- package/dist/PasswordInput.js +20 -36
- package/dist/PasswordInput.js.map +1 -0
- package/dist/Popover.js +22 -47
- package/dist/Popover.js.map +1 -0
- package/dist/RangeSlider.js +36 -47
- package/dist/RangeSlider.js.map +1 -0
- package/dist/ResponsiveImage.js +13 -36
- package/dist/ResponsiveImage.js.map +1 -0
- package/dist/ResponsiveVideo.js +7 -19
- package/dist/ResponsiveVideo.js.map +1 -0
- package/dist/ScrollList.js +9 -21
- package/dist/ScrollList.js.map +1 -0
- package/dist/SectionList.d.ts +1 -1
- package/dist/SectionList.js +57 -118
- package/dist/SectionList.js.map +1 -0
- package/dist/SelectControlWrapper.js +17 -32
- package/dist/SelectControlWrapper.js.map +1 -0
- package/dist/SingleBlockTypeAppender.js +17 -18
- package/dist/SingleBlockTypeAppender.js.map +1 -0
- package/dist/SlideIn.d.ts +1 -1
- package/dist/SlideIn.js +16 -27
- package/dist/SlideIn.js.map +1 -0
- package/dist/Spinner.js +16 -14
- package/dist/Spinner.js.map +1 -0
- package/dist/Tabs.d.ts +6 -6
- package/dist/Tabs.js +52 -50
- package/dist/Tabs.js.map +1 -0
- package/dist/Tag.js +5 -10
- package/dist/Tag.js.map +1 -0
- package/dist/TextControl.js +17 -51
- package/dist/TextControl.js.map +1 -0
- package/dist/TextControlLabel.d.ts +1 -1
- package/dist/TextControlLabel.js +7 -18
- package/dist/TextControlLabel.js.map +1 -0
- package/dist/ToggleGroup.js +15 -51
- package/dist/ToggleGroup.js.map +1 -0
- package/dist/ToggleSwitch.d.ts +1 -1
- package/dist/ToggleSwitch.js +16 -28
- package/dist/ToggleSwitch.js.map +1 -0
- package/dist/Wrap.js +7 -9
- package/dist/Wrap.js.map +1 -0
- package/dist/index.js +49 -88
- package/dist/index.js.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +24 -30
- package/dist/_virtual/jsx-runtime.js +0 -4
- package/dist/_virtual/react-jsx-runtime.development.js +0 -4
- package/dist/_virtual/react-jsx-runtime.production.min.js +0 -4
- package/dist/vite.svg +0 -1
package/dist/Checkbox.js
CHANGED
|
@@ -1,21 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { CheckboxControl
|
|
3
|
-
import {
|
|
4
|
-
import { Wrap
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
{
|
|
12
|
-
label: t,
|
|
13
|
-
help: s,
|
|
14
|
-
checked: c,
|
|
15
|
-
onChange: o
|
|
16
|
-
}
|
|
17
|
-
) });
|
|
18
|
-
};
|
|
19
|
-
export {
|
|
20
|
-
f as Checkbox
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { CheckboxControl } from '@wordpress/components';
|
|
3
|
+
import { useEffect, useState } from '@wordpress/element';
|
|
4
|
+
import { Wrap } from './Wrap.js';
|
|
5
|
+
export const Checkbox = ({ label, help, defaultChecked }) => {
|
|
6
|
+
const [isChecked, setChecked] = useState(defaultChecked);
|
|
7
|
+
useEffect(() => {
|
|
8
|
+
setChecked(defaultChecked);
|
|
9
|
+
}, [defaultChecked]);
|
|
10
|
+
return (_jsx(Wrap, { className: "blockbite-ui__checkbox mx-1 flex items-center gap-2", children: _jsx(CheckboxControl, { label: label, help: help, checked: isChecked, onChange: setChecked }) }));
|
|
21
11
|
};
|
|
12
|
+
//# sourceMappingURL=Checkbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../src/Checkbox.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAUjC,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,EAAiB,EAAE,EAAE;IACzE,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;IAEzD,SAAS,CAAC,GAAG,EAAE;QACb,UAAU,CAAC,cAAc,CAAC,CAAC;IAC7B,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,OAAO,CACL,KAAC,IAAI,IAAC,SAAS,EAAC,qDAAqD,YACnE,KAAC,eAAe,IACd,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,SAAS,EAClB,QAAQ,EAAE,UAAU,GACpB,GACG,CACR,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,22 +1,28 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
const
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useRef, useState } from '@wordpress/element';
|
|
3
|
+
export const DisappearingMessage = ({ duration, children, trigger, }) => {
|
|
4
|
+
const [alert, setAlert] = useState(false);
|
|
5
|
+
const isMountingRef = useRef(false);
|
|
6
|
+
useEffect(() => {
|
|
7
|
+
isMountingRef.current = true;
|
|
8
|
+
}, []);
|
|
9
|
+
useEffect(() => {
|
|
10
|
+
let timeoutId = null;
|
|
11
|
+
// Only run on subsequent renders
|
|
12
|
+
if (trigger && !isMountingRef.current) {
|
|
13
|
+
setAlert(true);
|
|
14
|
+
timeoutId = setTimeout(() => {
|
|
15
|
+
setAlert(false);
|
|
16
|
+
}, duration);
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
isMountingRef.current = false;
|
|
20
|
+
}
|
|
21
|
+
// Cleanup timeout on unmount or when `trigger` changes
|
|
22
|
+
return () => {
|
|
23
|
+
clearTimeout(timeoutId);
|
|
24
|
+
};
|
|
25
|
+
}, [trigger, duration]);
|
|
26
|
+
return alert && _jsx(_Fragment, { children: children });
|
|
22
27
|
};
|
|
28
|
+
//# sourceMappingURL=DisappearingMessage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DisappearingMessage.js","sourceRoot":"","sources":["../src/DisappearingMessage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAQjE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,EAClC,QAAQ,EACR,QAAQ,EACR,OAAO,GACkB,EAAE,EAAE;IAC7B,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAEpC,SAAS,CAAC,GAAG,EAAE;QACb,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC;IAC/B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,GAAG,IAAI,CAAC;QAErB,iCAAiC;QACjC,IAAI,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;YACtC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACf,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC1B,QAAQ,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC,EAAE,QAAQ,CAAC,CAAC;QACf,CAAC;aAAM,CAAC;YACN,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC;QAChC,CAAC;QAED,uDAAuD;QACvD,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,SAAS,CAAC,CAAC;QAC1B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IAExB,OAAO,KAAK,IAAI,4BAAG,QAAQ,GAAI,CAAC;AAClC,CAAC,CAAC"}
|
package/dist/DropdownPicker.d.ts
CHANGED
|
@@ -11,5 +11,5 @@ type DropdownPickerProps = {
|
|
|
11
11
|
}[];
|
|
12
12
|
onPressedChange: (value: string | null) => void;
|
|
13
13
|
};
|
|
14
|
-
export declare const DropdownPicker: ({ label, className, defaultValue, defaultIcon, onPressedChange, options, }: DropdownPickerProps) => import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export declare const DropdownPicker: ({ label, className, defaultValue, defaultIcon, onPressedChange, options, }: DropdownPickerProps) => import("react/jsx-runtime.js").JSX.Element;
|
|
15
15
|
export {};
|
package/dist/DropdownPicker.js
CHANGED
|
@@ -1,53 +1,36 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ChevronDown as
|
|
3
|
-
import { DropdownMenu
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
import { Icon
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
];
|
|
38
|
-
return /* @__PURE__ */ o.jsx(
|
|
39
|
-
b,
|
|
40
|
-
{
|
|
41
|
-
controls: u,
|
|
42
|
-
className: x(
|
|
43
|
-
"blockbite-ui__dropdown-picker border-primary border",
|
|
44
|
-
m
|
|
45
|
-
),
|
|
46
|
-
icon: i.find((e) => e.value === a)?.icon || /* @__PURE__ */ o.jsx(n, { icon: l }),
|
|
47
|
-
label: s || "Select"
|
|
48
|
-
}
|
|
49
|
-
);
|
|
50
|
-
};
|
|
51
|
-
export {
|
|
52
|
-
O as DropdownPicker
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { ChevronDown as ChevronDownIcon } from '@blockbite/icons';
|
|
3
|
+
import { DropdownMenu } from '@wordpress/components';
|
|
4
|
+
import { useEffect, useState } from '@wordpress/element';
|
|
5
|
+
import classNames from 'classnames';
|
|
6
|
+
import { Icon } from './Icon.js';
|
|
7
|
+
export const DropdownPicker = ({ label, className, defaultValue, defaultIcon = ChevronDownIcon, onPressedChange, options, }) => {
|
|
8
|
+
var _a;
|
|
9
|
+
const [currentOption, setCurrentOption] = useState(null);
|
|
10
|
+
useEffect(() => {
|
|
11
|
+
setCurrentOption(defaultValue);
|
|
12
|
+
}, [defaultValue]);
|
|
13
|
+
const allOptions = [
|
|
14
|
+
...options.map((option) => ({
|
|
15
|
+
icon: option.icon,
|
|
16
|
+
label: option.label,
|
|
17
|
+
title: option.label,
|
|
18
|
+
value: option.value,
|
|
19
|
+
onClick: () => {
|
|
20
|
+
setCurrentOption(option.value);
|
|
21
|
+
onPressedChange(option.value);
|
|
22
|
+
},
|
|
23
|
+
})),
|
|
24
|
+
{
|
|
25
|
+
icon: _jsx(Icon, { icon: defaultIcon }),
|
|
26
|
+
title: 'Reset',
|
|
27
|
+
value: 'reset',
|
|
28
|
+
onClick: () => {
|
|
29
|
+
setCurrentOption('reset');
|
|
30
|
+
onPressedChange('reset');
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
];
|
|
34
|
+
return (_jsx(DropdownMenu, { controls: allOptions, className: classNames('blockbite-ui__dropdown-picker border-primary border', className), icon: ((_a = options.find((option) => option.value === currentOption)) === null || _a === void 0 ? void 0 : _a.icon) || (_jsx(Icon, { icon: defaultIcon })), label: label || 'Select' }));
|
|
53
35
|
};
|
|
36
|
+
//# sourceMappingURL=DropdownPicker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DropdownPicker.js","sourceRoot":"","sources":["../src/DropdownPicker.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAgBjC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAC7B,KAAK,EACL,SAAS,EACT,YAAY,EACZ,WAAW,GAAG,eAAe,EAC7B,eAAe,EACf,OAAO,GACa,EAAE,EAAE;;IACxB,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAExE,SAAS,CAAC,GAAG,EAAE;QACb,gBAAgB,CAAC,YAAY,CAAC,CAAC;IACjC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,MAAM,UAAU,GAAG;QACjB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC1B,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,OAAO,EAAE,GAAG,EAAE;gBACZ,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC/B,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAChC,CAAC;SACF,CAAC,CAAC;QACH;YACE,IAAI,EAAE,KAAC,IAAI,IAAC,IAAI,EAAE,WAAW,GAAI;YACjC,KAAK,EAAE,OAAO;YACd,KAAK,EAAE,OAAO;YACd,OAAO,EAAE,GAAG,EAAE;gBACZ,gBAAgB,CAAC,OAAO,CAAC,CAAC;gBAC1B,eAAe,CAAC,OAAO,CAAC,CAAC;YAC3B,CAAC;SACF;KACF,CAAC;IAEF,OAAO,CACL,KAAC,YAAY,IACX,QAAQ,EAAE,UAAU,EACpB,SAAS,EAAE,UAAU,CACnB,qDAAqD,EACrD,SAAS,CACV,EACD,IAAI,EACF,CAAA,MAAA,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,aAAa,CAAC,0CAAE,IAAI,KAAI,CAChE,KAAC,IAAI,IAAC,IAAI,EAAE,WAAW,GAAI,CAC5B,EAEH,KAAK,EAAE,KAAK,IAAI,QAAQ,GACxB,CACH,CAAC;AACJ,CAAC,CAAC"}
|
package/dist/EmptyState.js
CHANGED
|
@@ -1,18 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
/* @__PURE__ */ s.jsx("h3", { className: "text-gray-medium mt-2 !font-sans text-sm font-medium", children: m }),
|
|
12
|
-
/* @__PURE__ */ s.jsx("p", { className: "mt-1 !font-sans text-sm !text-gray-500", children: a }),
|
|
13
|
-
e && /* @__PURE__ */ s.jsx("div", { className: "mt-4", children: e })
|
|
14
|
-
] }) }) });
|
|
15
|
-
}
|
|
16
|
-
export {
|
|
17
|
-
n as EmptyState
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
2
|
+
var t = {};
|
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
4
|
+
t[p] = s[p];
|
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
8
|
+
t[p[i]] = s[p[i]];
|
|
9
|
+
}
|
|
10
|
+
return t;
|
|
18
11
|
};
|
|
12
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
+
export function EmptyState(_a) {
|
|
14
|
+
var { icon, title, description, children = null } = _a, rest = __rest(_a, ["icon", "title", "description", "children"]);
|
|
15
|
+
return (_jsx("div", Object.assign({}, rest, { children: _jsx("div", { className: "flex h-full w-full flex-col items-center justify-center text-center !font-sans", children: _jsxs("div", { className: "max-w-sm", children: [icon && _jsx("div", { className: "mx-auto !text-gray-400", children: icon }), _jsx("h3", { className: "text-gray-medium mt-2 !font-sans text-sm font-medium", children: title }), _jsx("p", { className: "mt-1 !font-sans text-sm !text-gray-500", children: description }), children && _jsx("div", { className: "mt-4", children: children })] }) }) })));
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=EmptyState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmptyState.js","sourceRoot":"","sources":["../src/EmptyState.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAQA,MAAM,UAAU,UAAU,CAAC,EAMnB;QANmB,EACzB,IAAI,EACJ,KAAK,EACL,WAAW,EACX,QAAQ,GAAG,IAAI,OAET,EADH,IAAI,cALkB,4CAM1B,CADQ;IAEP,OAAO,CACL,8BAAS,IAAI,cACX,cAAK,SAAS,EAAC,gFAAgF,YAC7F,eAAK,SAAS,EAAC,UAAU,aACtB,IAAI,IAAI,cAAK,SAAS,EAAC,wBAAwB,YAAE,IAAI,GAAO,EAC7D,aAAI,SAAS,EAAC,sDAAsD,YACjE,KAAK,GACH,EACL,YAAG,SAAS,EAAC,wCAAwC,YAClD,WAAW,GACV,EACH,QAAQ,IAAI,cAAK,SAAS,EAAC,MAAM,YAAE,QAAQ,GAAO,IAC/C,GACF,IACF,CACP,CAAC;AACJ,CAAC"}
|
package/dist/FloatingPanel.js
CHANGED
|
@@ -1,43 +1,32 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { useRef
|
|
3
|
-
function
|
|
4
|
-
|
|
5
|
-
})
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useRef, useState } from '@wordpress/element';
|
|
3
|
+
export function FloatingPanel({ children, }) {
|
|
4
|
+
const panelRef = useRef(null);
|
|
5
|
+
const [position, setPosition] = useState({ x: 100, y: 100 });
|
|
6
|
+
const [dragging, setDragging] = useState(false);
|
|
7
|
+
const [offset, setOffset] = useState({ x: 0, y: 0 });
|
|
8
|
+
useEffect(() => {
|
|
9
|
+
const handleMouseMove = (e) => {
|
|
10
|
+
if (dragging) {
|
|
11
|
+
setPosition({
|
|
12
|
+
x: e.clientX - offset.x,
|
|
13
|
+
y: e.clientY - offset.y,
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
const handleMouseUp = () => setDragging(false);
|
|
18
|
+
window.addEventListener('mousemove', handleMouseMove);
|
|
19
|
+
window.addEventListener('mouseup', handleMouseUp);
|
|
20
|
+
return () => {
|
|
21
|
+
window.removeEventListener('mousemove', handleMouseMove);
|
|
22
|
+
window.removeEventListener('mouseup', handleMouseUp);
|
|
23
|
+
};
|
|
24
|
+
}, [dragging, offset]);
|
|
25
|
+
const startDragging = (e) => {
|
|
26
|
+
const rect = panelRef.current.getBoundingClientRect();
|
|
27
|
+
setOffset({ x: e.clientX - rect.left, y: e.clientY - rect.top });
|
|
28
|
+
setDragging(true);
|
|
16
29
|
};
|
|
17
|
-
|
|
18
|
-
const m = (e) => {
|
|
19
|
-
const t = i.current.getBoundingClientRect();
|
|
20
|
-
f({ x: e.clientX - t.left, y: e.clientY - t.top }), a(!0);
|
|
21
|
-
};
|
|
22
|
-
return /* @__PURE__ */ o.jsx("div", { className: "bb_", children: /* @__PURE__ */ o.jsxs(
|
|
23
|
-
"div",
|
|
24
|
-
{
|
|
25
|
-
ref: i,
|
|
26
|
-
className: "fixed bg-white shadow-xl rounded-2xl p-4 w-[400px] h-[550px] z-[9999]",
|
|
27
|
-
style: { left: r.x, top: r.y },
|
|
28
|
-
children: [
|
|
29
|
-
c,
|
|
30
|
-
/* @__PURE__ */ o.jsx(
|
|
31
|
-
"div",
|
|
32
|
-
{
|
|
33
|
-
className: "absolute top-1 right-1 cursor-move w-5 h-5 bg-gray-300 rounded",
|
|
34
|
-
onMouseDown: m
|
|
35
|
-
}
|
|
36
|
-
)
|
|
37
|
-
]
|
|
38
|
-
}
|
|
39
|
-
) });
|
|
30
|
+
return (_jsx("div", { className: "bb_", children: _jsxs("div", { ref: panelRef, className: "fixed bg-white shadow-xl rounded-2xl p-4 w-[400px] h-[550px] z-[9999]", style: { left: position.x, top: position.y }, children: [children, _jsx("div", { className: "absolute top-1 right-1 cursor-move w-5 h-5 bg-gray-300 rounded", onMouseDown: startDragging })] }) }));
|
|
40
31
|
}
|
|
41
|
-
|
|
42
|
-
w as FloatingPanel
|
|
43
|
-
};
|
|
32
|
+
//# sourceMappingURL=FloatingPanel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FloatingPanel.js","sourceRoot":"","sources":["../src/FloatingPanel.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAMjE,MAAM,UAAU,aAAa,CAAC,EAC5B,QAAQ,GAGT;IACC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7D,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAErD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,eAAe,GAAG,CAAC,CAAC,EAAE,EAAE;YAC5B,IAAI,QAAQ,EAAE,CAAC;gBACb,WAAW,CAAC;oBACV,CAAC,EAAE,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC;oBACvB,CAAC,EAAE,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC;iBACxB,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAE/C,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QACtD,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAElD,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;YACzD,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACvD,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;IAEvB,MAAM,aAAa,GAAG,CAAC,CAAC,EAAE,EAAE;QAC1B,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;QACtD,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACjE,WAAW,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,OAAO,CACL,cAAK,SAAS,EAAC,KAAK,YAClB,eACE,GAAG,EAAE,QAAQ,EACb,SAAS,EAAC,uEAAuE,EACjF,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,EAAE,aAE3C,QAAQ,EACT,cACE,SAAS,EAAC,gEAAgE,EAC1E,WAAW,EAAE,aAAa,GACrB,IACH,GACF,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1,41 +1,31 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { FocalPointPicker
|
|
3
|
-
import {
|
|
4
|
-
import { Wrap
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
})
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
p,
|
|
30
|
-
{
|
|
31
|
-
url: c,
|
|
32
|
-
value: t,
|
|
33
|
-
onDrag: (o) => r(o),
|
|
34
|
-
onChange: (o) => r(o)
|
|
35
|
-
}
|
|
36
|
-
) });
|
|
37
|
-
};
|
|
38
|
-
export {
|
|
39
|
-
d as FocalPointControl,
|
|
40
|
-
d as default
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { FocalPointPicker } from '@wordpress/components';
|
|
3
|
+
import { useEffect, useState } from '@wordpress/element';
|
|
4
|
+
import { Wrap } from './Wrap.js';
|
|
5
|
+
export const FocalPointControl = ({ defaultValue, onValueChange, url, }) => {
|
|
6
|
+
const [focalPoint, setFocalPoint] = useState({
|
|
7
|
+
x: 0.5,
|
|
8
|
+
y: 0.5,
|
|
9
|
+
});
|
|
10
|
+
useEffect(() => {
|
|
11
|
+
onValueChange(`[${(focalPoint.x * 100).toFixed(2)}%_${(focalPoint.y * 100).toFixed(2)}%]`);
|
|
12
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
13
|
+
}, [focalPoint]);
|
|
14
|
+
useEffect(() => {
|
|
15
|
+
// default value is in the format of [x%_y%] parse to get the x and y values
|
|
16
|
+
if (defaultValue.includes('%')) {
|
|
17
|
+
const [x, y] = defaultValue
|
|
18
|
+
.replace('[', '')
|
|
19
|
+
.replace('%]', '')
|
|
20
|
+
.split('_')
|
|
21
|
+
.map((value) => parseFloat(value) / 100);
|
|
22
|
+
setFocalPoint({
|
|
23
|
+
x,
|
|
24
|
+
y,
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
}, [defaultValue]);
|
|
28
|
+
return (_jsx(Wrap, { className: "relative flex flex-col", children: _jsx(FocalPointPicker, { url: url, value: focalPoint, onDrag: (value) => setFocalPoint(value), onChange: (value) => setFocalPoint(value) }) }));
|
|
41
29
|
};
|
|
30
|
+
export default FocalPointControl;
|
|
31
|
+
//# sourceMappingURL=FocalPointControl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FocalPointControl.js","sourceRoot":"","sources":["../src/FocalPointControl.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAQjC,MAAM,CAAC,MAAM,iBAAiB,GAAqC,CAAC,EAClE,YAAY,EACZ,aAAa,EACb,GAAG,GACJ,EAAE,EAAE;IACH,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC;QAC3C,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,GAAG;KACP,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,aAAa,CACX,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAClE,CAAC,CACF,IAAI,CACN,CAAC;QACF,uDAAuD;IACzD,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,SAAS,CAAC,GAAG,EAAE;QACb,4EAA4E;QAC5E,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,YAAY;iBACxB,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;iBAChB,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;iBACjB,KAAK,CAAC,GAAG,CAAC;iBACV,GAAG,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;YAEnD,aAAa,CAAC;gBACZ,CAAC;gBACD,CAAC;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,OAAO,CACL,KAAC,IAAI,IAAC,SAAS,EAAC,wBAAwB,YACtC,KAAC,gBAAgB,IACf,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EACvC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,GACzC,GACG,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|
package/dist/Icon.d.ts
CHANGED
|
@@ -2,5 +2,5 @@ type IconProps = {
|
|
|
2
2
|
icon: React.FC<React.SVGProps<SVGSVGElement>> | null;
|
|
3
3
|
className?: string;
|
|
4
4
|
};
|
|
5
|
-
export declare const Icon: ({ icon: IconComponent, className }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
export declare const Icon: ({ icon: IconComponent, className }: IconProps) => import("react/jsx-runtime.js").JSX.Element;
|
|
6
6
|
export {};
|
package/dist/Icon.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Wrap
|
|
3
|
-
const
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
export {
|
|
8
|
-
e as Icon
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Wrap } from './Wrap.js';
|
|
3
|
+
export const Icon = ({ icon: IconComponent, className = '' }) => {
|
|
4
|
+
if (!IconComponent)
|
|
5
|
+
return null;
|
|
6
|
+
return (_jsxs(Wrap, { className: `blockbite--icon`, children: [_jsx(IconComponent, { className: className }), ' '] }));
|
|
9
7
|
};
|
|
8
|
+
//# sourceMappingURL=Icon.js.map
|
package/dist/Icon.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Icon.js","sourceRoot":"","sources":["../src/Icon.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAOjC,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,GAAG,EAAE,EAAa,EAAE,EAAE;IACzE,IAAI,CAAC,aAAa;QAAE,OAAO,IAAI,CAAC;IAEhC,OAAO,CACL,MAAC,IAAI,IAAC,SAAS,EAAE,iBAAiB,aAChC,KAAC,aAAa,IAAC,SAAS,EAAE,SAAS,GAAI,EAAC,GAAG,IAEtC,CACR,CAAC;AACJ,CAAC,CAAC"}
|
package/dist/LinkPicker.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function LinkPicker(props: any): import("react/jsx-runtime").JSX.Element;
|
|
1
|
+
export declare function LinkPicker(props: any): import("react/jsx-runtime.js").JSX.Element;
|
package/dist/LinkPicker.js
CHANGED
|
@@ -1,67 +1,50 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import { TextControl
|
|
4
|
-
import {
|
|
5
|
-
import { __
|
|
6
|
-
import { Wrap
|
|
7
|
-
function
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
),
|
|
33
|
-
t ? /* @__PURE__ */ e.jsx("div", { className: "blockbite--editor-linklist", children: /* @__PURE__ */ e.jsx(
|
|
34
|
-
m,
|
|
35
|
-
{
|
|
36
|
-
links: i,
|
|
37
|
-
onActiveLink: (l) => [
|
|
38
|
-
b({ ...l }),
|
|
39
|
-
s("")
|
|
40
|
-
]
|
|
41
|
-
}
|
|
42
|
-
) }) : null
|
|
43
|
-
] });
|
|
44
|
-
}
|
|
45
|
-
function m({ links: r, onActiveLink: t }) {
|
|
46
|
-
const s = [];
|
|
47
|
-
return r === null ? /* @__PURE__ */ e.jsx("p", { children: "Loading..." }) : r.length === 0 ? /* @__PURE__ */ e.jsx("p", { children: "No Results" }) : (r.forEach((i) => {
|
|
48
|
-
s.push(
|
|
49
|
-
// add key
|
|
50
|
-
/* @__PURE__ */ e.jsx(k, { children: /* @__PURE__ */ e.jsxs(
|
|
51
|
-
"span",
|
|
52
|
-
{
|
|
53
|
-
className: "blockbite--editor-link",
|
|
54
|
-
onClick: () => t(i),
|
|
55
|
-
children: [
|
|
56
|
-
/* @__PURE__ */ e.jsx("span", { children: i.title }),
|
|
57
|
-
/* @__PURE__ */ e.jsx("span", { className: "blockbite--preview-link", children: i.url }),
|
|
58
|
-
/* @__PURE__ */ e.jsx("span", { className: "blockbite--preview-link", children: i.post_type })
|
|
59
|
-
]
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import apiFetch from '@wordpress/api-fetch';
|
|
3
|
+
import { TextControl } from '@wordpress/components';
|
|
4
|
+
import { useEffect, useState } from '@wordpress/element';
|
|
5
|
+
import { __ } from '@wordpress/i18n';
|
|
6
|
+
import { Wrap } from './Wrap.js';
|
|
7
|
+
export function LinkPicker(props) {
|
|
8
|
+
const [activeKeyword, setActiveKeyword] = useState('');
|
|
9
|
+
const [links, setLinks] = useState([]);
|
|
10
|
+
const [activeLink, setActiveLink] = useState({
|
|
11
|
+
url: '',
|
|
12
|
+
title: '',
|
|
13
|
+
});
|
|
14
|
+
useEffect(() => {
|
|
15
|
+
if (activeKeyword === '')
|
|
16
|
+
return;
|
|
17
|
+
setLinks(null);
|
|
18
|
+
apiFetch({
|
|
19
|
+
path: `/blockbite/v1/block-helpers/get-links/${activeKeyword}`,
|
|
20
|
+
}).then((fetchedLinks) => {
|
|
21
|
+
if (fetchedLinks === null || fetchedLinks === void 0 ? void 0 : fetchedLinks.length) {
|
|
22
|
+
setLinks([...fetchedLinks]);
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
setLinks([]);
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
}, [activeKeyword]);
|
|
29
|
+
useEffect(() => {
|
|
30
|
+
if (activeLink.url !== '') {
|
|
31
|
+
props.parentCallback(activeLink);
|
|
60
32
|
}
|
|
61
|
-
|
|
62
|
-
);
|
|
63
|
-
|
|
33
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
34
|
+
}, [activeLink]);
|
|
35
|
+
return (_jsxs(Wrap, { className: "blockbite--editor-linkwrap", children: [_jsx(TextControl, { label: __('Search link', 'blockbitelinks'), value: activeKeyword, placeholder: "Example: About", onChange: (value) => setActiveKeyword(value), help: __('Type a post, page, title', 'blockbitelinks') }), activeKeyword ? (_jsx("div", { className: "blockbite--editor-linklist", children: _jsx(LinkList, { links: links, onActiveLink: (link) => [
|
|
36
|
+
setActiveLink(Object.assign({}, link)),
|
|
37
|
+
setActiveKeyword(''),
|
|
38
|
+
] }) })) : null] }));
|
|
39
|
+
}
|
|
40
|
+
function LinkList({ links, onActiveLink }) {
|
|
41
|
+
if (links === null) {
|
|
42
|
+
return _jsx("p", { children: "Loading..." });
|
|
43
|
+
}
|
|
44
|
+
else if (links.length === 0) {
|
|
45
|
+
return _jsx("p", { children: "No Results" });
|
|
46
|
+
}
|
|
47
|
+
const list = links.map((link) => (_jsx(Wrap, { children: _jsxs("span", { className: "blockbite--editor-link", onClick: () => onActiveLink(link), children: [_jsx("span", { children: link.title }), _jsx("span", { className: "blockbite--preview-link", children: link.url }), _jsx("span", { className: "blockbite--preview-link", children: link.post_type })] }) }, link.id)));
|
|
48
|
+
return _jsx(_Fragment, { children: list }); // ✅ Wrapped
|
|
64
49
|
}
|
|
65
|
-
|
|
66
|
-
g as LinkPicker
|
|
67
|
-
};
|
|
50
|
+
//# sourceMappingURL=LinkPicker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LinkPicker.js","sourceRoot":"","sources":["../src/LinkPicker.tsx"],"names":[],"mappings":"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"}
|