@plitzi/sdk-elements 0.37.1 → 0.37.3
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/CHANGELOG.md +1306 -0
- package/dist/Component/ComponentProvider.d.ts +1 -1
- package/dist/Component/ComponentProvider.mjs +10 -5
- package/dist/Element/JsxManager.d.ts +1 -1
- package/dist/Element/JsxManager.mjs +1 -0
- package/dist/Element/LayoutBody.d.ts +1 -1
- package/dist/Element/PluginManager.d.ts +1 -1
- package/dist/Element/PluginRemote.d.ts +3 -1
- package/dist/Element/PluginRemote.mjs +9 -9
- package/dist/Element/ReplicaProvider.d.ts +1 -1
- package/dist/Element/helpers/elementConstants.mjs +28 -0
- package/dist/Element/helpers/elementUtils.mjs +1 -1
- package/dist/Element/helpers/loadComponent.d.ts +6 -1
- package/dist/Element/helpers/loadComponent.mjs +7 -7
- package/dist/Element/helpers/pluginSelector.d.ts +1 -1
- package/dist/Element/helpers/pluginSelector.mjs +1 -0
- package/dist/Element/hocs/withElement.d.ts +1 -1
- package/dist/Element/hooks/useElementDataSource.mjs +23 -16
- package/dist/Element/hooks/useElementInternal.mjs +60 -52
- package/dist/Element/hooks/useInternalClassName.mjs +19 -18
- package/dist/Element/hooks/useKeyTriggers.d.ts +18 -0
- package/dist/Element/hooks/useKeyTriggers.mjs +36 -0
- package/dist/Element/hooks/useRootElementInteractions.mjs +70 -55
- package/dist/Element/hooks/useRscData.mjs +20 -15
- package/dist/components/ElementAdvancedEditor.d.ts +1 -1
- package/dist/dataSource/GlobalSources.mjs +115 -79
- package/dist/dataSource/getSourcesByElementId.mjs +2 -2
- package/dist/elements/advanced/BlockHtml/BlockHtml.d.ts +2 -2
- package/dist/elements/advanced/BlockHtml/Settings.d.ts +1 -1
- package/dist/elements/advanced/BlockHtml/index.d.ts +1 -1
- package/dist/elements/advanced/BlockJsx/BlockJsx.d.ts +2 -2
- package/dist/elements/advanced/BlockJsx/BlockJsx.mjs +1 -1
- package/dist/elements/advanced/BlockJsx/Settings.d.ts +1 -1
- package/dist/elements/advanced/BlockJsx/index.d.ts +1 -1
- package/dist/elements/advanced/Custom/Custom.d.ts +2 -2
- package/dist/elements/advanced/Custom/Settings.d.ts +1 -1
- package/dist/elements/advanced/Custom/index.d.ts +1 -1
- package/dist/elements/advanced/NodeHtml/declaration.d.ts +1 -1
- package/dist/elements/advanced/NodeHtml/index.d.ts +2 -2
- package/dist/elements/advanced/PlitziSdk/Settings.d.ts +1 -1
- package/dist/elements/advanced/Reference/Reference.d.ts +2 -2
- package/dist/elements/advanced/Reference/Settings.d.ts +1 -1
- package/dist/elements/advanced/Reference/index.d.ts +1 -1
- package/dist/elements/basic/Button/Button.d.ts +11 -4
- package/dist/elements/basic/Button/Button.mjs +5 -5
- package/dist/elements/basic/Button/Settings.d.ts +2 -1
- package/dist/elements/basic/Button/Settings.mjs +14 -7
- package/dist/elements/basic/Button/declaration.d.ts +8 -3
- package/dist/elements/basic/Button/declaration.mjs +14 -6
- package/dist/elements/basic/Button/index.d.ts +9 -4
- package/dist/elements/basic/Dropdown/Dropdown.d.ts +2 -2
- package/dist/elements/basic/Dropdown/Dropdown.mjs +48 -39
- package/dist/elements/basic/Dropdown/DropdownPopup/DropdownPopup.d.ts +2 -2
- package/dist/elements/basic/Dropdown/DropdownPopup/Settings.d.ts +1 -1
- package/dist/elements/basic/Dropdown/DropdownPopup/declaration.d.ts +2 -1
- package/dist/elements/basic/Dropdown/DropdownPopup/declaration.mjs +2 -1
- package/dist/elements/basic/Dropdown/DropdownPopup/index.d.ts +3 -2
- package/dist/elements/basic/Dropdown/Settings.d.ts +1 -1
- package/dist/elements/basic/Dropdown/declaration.d.ts +3 -0
- package/dist/elements/basic/Dropdown/declaration.mjs +9 -3
- package/dist/elements/basic/Dropdown/index.d.ts +7 -3
- package/dist/elements/basic/Dropdown/useDropdown.d.ts +6 -1
- package/dist/elements/basic/Dropdown/useDropdown.mjs +58 -41
- package/dist/elements/basic/Dropdown/useDropdownTrigger.d.ts +26 -0
- package/dist/elements/basic/Dropdown/useDropdownTrigger.mjs +30 -0
- package/dist/elements/basic/Heading/Heading.d.ts +2 -2
- package/dist/elements/basic/Heading/Settings.d.ts +1 -1
- package/dist/elements/basic/Heading/declaration.d.ts +9 -6
- package/dist/elements/basic/Heading/declaration.mjs +17 -9
- package/dist/elements/basic/Heading/index.d.ts +10 -7
- package/dist/elements/basic/Link/Link.d.ts +2 -2
- package/dist/elements/basic/Link/Link.mjs +5 -2
- package/dist/elements/basic/Link/Settings.d.ts +2 -1
- package/dist/elements/basic/Link/Settings.mjs +31 -24
- package/dist/elements/basic/Link/declaration.d.ts +5 -1
- package/dist/elements/basic/Link/declaration.mjs +16 -3
- package/dist/elements/basic/Link/index.d.ts +6 -2
- package/dist/elements/basic/Markdown/Markdown.d.ts +2 -2
- package/dist/elements/basic/Markdown/Settings.d.ts +1 -1
- package/dist/elements/basic/Markdown/declaration.d.ts +1 -1
- package/dist/elements/basic/Markdown/declaration.mjs +1 -1
- package/dist/elements/basic/Markdown/index.d.ts +2 -2
- package/dist/elements/basic/Paragraph/Paragraph.d.ts +2 -2
- package/dist/elements/basic/Paragraph/Settings.d.ts +1 -1
- package/dist/elements/basic/Paragraph/index.d.ts +1 -1
- package/dist/elements/basic/RichText/RichText.d.ts +2 -2
- package/dist/elements/basic/RichText/Settings.d.ts +1 -1
- package/dist/elements/basic/RichText/declaration.d.ts +3 -0
- package/dist/elements/basic/RichText/declaration.mjs +8 -3
- package/dist/elements/basic/RichText/index.d.ts +4 -1
- package/dist/elements/basic/Text/Settings.d.ts +1 -1
- package/dist/elements/basic/Text/Text.d.ts +2 -2
- package/dist/elements/basic/Text/declaration.d.ts +1 -1
- package/dist/elements/basic/Text/declaration.mjs +1 -1
- package/dist/elements/basic/Text/index.d.ts +2 -2
- package/dist/elements/basic/ThemeToggle/ThemeToggle.d.ts +2 -2
- package/dist/elements/basic/ThemeToggle/ThemeToggle.mjs +58 -62
- package/dist/elements/basic/ThemeToggle/declaration.d.ts +15 -1
- package/dist/elements/basic/ThemeToggle/declaration.mjs +12 -4
- package/dist/elements/basic/ThemeToggle/index.d.ts +16 -2
- package/dist/elements/declarations/index.d.ts +530 -21
- package/dist/elements/declarations/index.mjs +24 -22
- package/dist/elements/form/Form/Form.d.ts +2 -2
- package/dist/elements/form/Form/Form.mjs +37 -57
- package/dist/elements/form/Form/Settings.d.ts +1 -1
- package/dist/elements/form/Form/declaration.d.ts +60 -0
- package/dist/elements/form/Form/declaration.mjs +59 -3
- package/dist/elements/form/Form/index.d.ts +62 -2
- package/dist/elements/form/FormControl/FormControl.d.ts +19 -7
- package/dist/elements/form/FormControl/FormControl.mjs +138 -138
- package/dist/elements/form/FormControl/Settings.d.ts +3 -1
- package/dist/elements/form/FormControl/Settings.mjs +73 -57
- package/dist/elements/form/FormControl/components/Label.d.ts +3 -1
- package/dist/elements/form/FormControl/components/Label.mjs +20 -18
- package/dist/elements/form/FormControl/components/visuallyHidden.d.ts +6 -0
- package/dist/elements/form/FormControl/components/visuallyHidden.mjs +14 -0
- package/dist/elements/form/FormControl/declaration.d.ts +17 -0
- package/dist/elements/form/FormControl/declaration.mjs +56 -30
- package/dist/elements/form/FormControl/hocs/withFieldValue.d.ts +1 -1
- package/dist/elements/form/FormControl/hocs/withFieldValue.mjs +68 -61
- package/dist/elements/form/FormControl/index.d.ts +19 -2
- package/dist/elements/form/FormControl/inputs/Checkbox.d.ts +6 -1
- package/dist/elements/form/FormControl/inputs/Checkbox.mjs +5 -3
- package/dist/elements/form/FormControl/inputs/Hidden.d.ts +1 -1
- package/dist/elements/form/FormControl/inputs/Input.d.ts +8 -1
- package/dist/elements/form/FormControl/inputs/Input.mjs +44 -38
- package/dist/elements/form/FormControl/inputs/Select.d.ts +6 -1
- package/dist/elements/form/FormControl/inputs/Select.mjs +12 -10
- package/dist/elements/form/FormControl/inputs/Textarea.d.ts +8 -1
- package/dist/elements/form/FormControl/inputs/Textarea.mjs +26 -21
- package/dist/elements/form/FormControl/inputs/useFocusWhenShown.d.ts +7 -0
- package/dist/elements/form/FormControl/inputs/useFocusWhenShown.mjs +9 -0
- package/dist/elements/index.d.ts +3 -1
- package/dist/elements/index.mjs +16 -14
- package/dist/elements/internal/LayoutContainer/LayoutContainer.d.ts +2 -2
- package/dist/elements/internal/LayoutContainer/Settings.d.ts +1 -1
- package/dist/elements/internal/LayoutContainer/declaration.d.ts +3 -0
- package/dist/elements/internal/LayoutContainer/declaration.mjs +15 -3
- package/dist/elements/internal/LayoutContainer/index.d.ts +4 -1
- package/dist/elements/internal/LayoutPicker/LayoutPicker.d.ts +1 -1
- package/dist/elements/internal/Loading/Loading.d.ts +2 -2
- package/dist/elements/internal/Loading/index.d.ts +1 -1
- package/dist/elements/internal/NotFound/NotFound.d.ts +2 -2
- package/dist/elements/internal/NotFound/index.d.ts +1 -1
- package/dist/elements/internal/Page/Page.d.ts +2 -2
- package/dist/elements/internal/Page/Page.mjs +34 -43
- package/dist/elements/internal/Page/Settings.d.ts +1 -1
- package/dist/elements/internal/Page/declaration.d.ts +13 -0
- package/dist/elements/internal/Page/declaration.mjs +11 -0
- package/dist/elements/internal/Page/index.d.ts +14 -1
- package/dist/elements/media/FontAwesome/FontAwesome.d.ts +9 -2
- package/dist/elements/media/FontAwesome/FontAwesome.mjs +12 -5
- package/dist/elements/media/FontAwesome/Settings.d.ts +2 -1
- package/dist/elements/media/FontAwesome/Settings.mjs +29 -22
- package/dist/elements/media/FontAwesome/declaration.d.ts +1 -0
- package/dist/elements/media/FontAwesome/index.d.ts +2 -1
- package/dist/elements/media/Image/Image.d.ts +14 -3
- package/dist/elements/media/Image/Image.mjs +25 -25
- package/dist/elements/media/Image/Settings.d.ts +3 -1
- package/dist/elements/media/Image/Settings.mjs +29 -15
- package/dist/elements/media/Image/declaration.d.ts +7 -1
- package/dist/elements/media/Image/declaration.mjs +16 -3
- package/dist/elements/media/Image/index.d.ts +8 -2
- package/dist/elements/media/Video/Settings.d.ts +1 -1
- package/dist/elements/media/Video/Video.d.ts +2 -2
- package/dist/elements/media/Video/index.d.ts +1 -1
- package/dist/elements/provider/ApiContainer/ApiContainer.d.ts +11 -2
- package/dist/elements/provider/ApiContainer/ApiContainer.mjs +164 -198
- package/dist/elements/provider/ApiContainer/Settings.d.ts +2 -1
- package/dist/elements/provider/ApiContainer/Settings.mjs +129 -122
- package/dist/elements/provider/ApiContainer/components/FiltersInput/FiltersInput.d.ts +1 -1
- package/dist/elements/provider/ApiContainer/declaration.d.ts +88 -0
- package/dist/elements/provider/ApiContainer/declaration.mjs +112 -4
- package/dist/elements/provider/ApiContainer/helpers/isEmptyAnswer.d.ts +16 -0
- package/dist/elements/provider/ApiContainer/helpers/isEmptyAnswer.mjs +4 -0
- package/dist/elements/provider/ApiContainer/helpers/providerOutcome.d.ts +25 -0
- package/dist/elements/provider/ApiContainer/helpers/providerOutcome.mjs +7 -0
- package/dist/elements/provider/ApiContainer/helpers/queryInput.d.ts +5 -0
- package/dist/elements/provider/ApiContainer/helpers/queryInput.mjs +12 -0
- package/dist/elements/provider/ApiContainer/hooks/useAutoRefresh.d.ts +21 -0
- package/dist/elements/provider/ApiContainer/hooks/useAutoRefresh.mjs +18 -0
- package/dist/elements/provider/ApiContainer/index.d.ts +89 -1
- package/dist/elements/provider/Channel/Channel.d.ts +26 -0
- package/dist/elements/provider/Channel/Channel.mjs +92 -0
- package/dist/elements/provider/Channel/Settings.d.ts +9 -0
- package/dist/elements/provider/Channel/Settings.mjs +38 -0
- package/dist/elements/provider/Channel/declaration.d.ts +138 -0
- package/dist/elements/provider/Channel/declaration.mjs +125 -0
- package/dist/elements/provider/Channel/index.d.ts +137 -0
- package/dist/elements/provider/Channel/index.mjs +6 -0
- package/dist/elements/settings.mjs +25 -23
- package/dist/elements/structure/Container/Container.d.ts +17 -3
- package/dist/elements/structure/Container/Container.mjs +18 -9
- package/dist/elements/structure/Container/Settings.d.ts +4 -2
- package/dist/elements/structure/Container/Settings.mjs +110 -69
- package/dist/elements/structure/Container/declaration.d.ts +12 -1
- package/dist/elements/structure/Container/declaration.mjs +35 -3
- package/dist/elements/structure/Container/index.d.ts +7 -2
- package/dist/elements/structure/Container/index.mjs +3 -3
- package/dist/elements/structure/DialogContainer/DialogContainer.d.ts +2 -2
- package/dist/elements/structure/DialogContainer/DialogContainer.mjs +126 -153
- package/dist/elements/structure/DialogContainer/Settings.d.ts +1 -1
- package/dist/elements/structure/DialogContainer/declaration.d.ts +82 -1
- package/dist/elements/structure/DialogContainer/declaration.mjs +62 -1
- package/dist/elements/structure/DialogContainer/index.d.ts +83 -2
- package/dist/elements/structure/List/List.d.ts +2 -2
- package/dist/elements/structure/List/ListItem/ListItem.d.ts +2 -2
- package/dist/elements/structure/List/ListItem/Settings.d.ts +1 -1
- package/dist/elements/structure/List/ListItem/index.d.ts +1 -1
- package/dist/elements/structure/List/Settings.d.ts +1 -1
- package/dist/elements/structure/List/declaration.d.ts +4 -0
- package/dist/elements/structure/List/declaration.mjs +7 -3
- package/dist/elements/structure/List/index.d.ts +6 -2
- package/dist/elements/structure/List/modes/ListBasic.d.ts +1 -1
- package/dist/elements/structure/List/modes/ListControlled/ListControlled.d.ts +1 -1
- package/dist/elements/structure/List/modes/ListControlled/ListControlledItem.d.ts +1 -1
- package/dist/elements/structure/ModalContainer/ModalContainer.d.ts +2 -2
- package/dist/elements/structure/ModalContainer/ModalContainer.mjs +92 -107
- package/dist/elements/structure/ModalContainer/Settings.d.ts +1 -1
- package/dist/elements/structure/ModalContainer/declaration.d.ts +48 -2
- package/dist/elements/structure/ModalContainer/declaration.mjs +40 -2
- package/dist/elements/structure/ModalContainer/index.d.ts +49 -3
- package/dist/elements/structure/ModalContainer/metadataFromText.d.ts +1 -0
- package/dist/elements/structure/ModalContainer/metadataFromText.mjs +10 -0
- package/dist/elements/structure/ModalContainer/useModalDialog.d.ts +20 -0
- package/dist/elements/structure/ModalContainer/useModalDialog.mjs +31 -0
- package/dist/elements/structure/Pagination/Pagination.d.ts +7 -2
- package/dist/elements/structure/Pagination/Pagination.mjs +49 -52
- package/dist/elements/structure/Pagination/Settings.d.ts +2 -1
- package/dist/elements/structure/Pagination/Settings.mjs +16 -9
- package/dist/elements/structure/Pagination/declaration.d.ts +16 -0
- package/dist/elements/structure/Pagination/declaration.mjs +14 -3
- package/dist/elements/structure/Pagination/index.d.ts +17 -1
- package/dist/elements/structure/TabContainer/Settings.d.ts +1 -1
- package/dist/elements/structure/TabContainer/TabContainer.d.ts +2 -2
- package/dist/elements/structure/TabContainer/TabContainer.mjs +19 -17
- package/dist/elements/structure/TabContainer/TabContainerBody/Settings.d.ts +1 -1
- package/dist/elements/structure/TabContainer/TabContainerBody/TabContainerBody.d.ts +2 -2
- package/dist/elements/structure/TabContainer/TabContainerBody/TabContainerBody.mjs +8 -6
- package/dist/elements/structure/TabContainer/TabContainerBody/declaration.d.ts +1 -0
- package/dist/elements/structure/TabContainer/TabContainerBody/declaration.mjs +1 -0
- package/dist/elements/structure/TabContainer/TabContainerBody/index.d.ts +2 -1
- package/dist/elements/structure/TabContainer/TabContainerContext.d.ts +2 -0
- package/dist/elements/structure/TabContainer/TabContainerHeader/Settings.d.ts +1 -1
- package/dist/elements/structure/TabContainer/TabContainerHeader/TabContainerHeader.d.ts +2 -2
- package/dist/elements/structure/TabContainer/TabContainerHeader/TabContainerHeader.mjs +18 -14
- package/dist/elements/structure/TabContainer/TabContainerHeader/declaration.d.ts +1 -0
- package/dist/elements/structure/TabContainer/TabContainerHeader/declaration.mjs +1 -0
- package/dist/elements/structure/TabContainer/TabContainerHeader/index.d.ts +2 -1
- package/dist/elements/structure/TabContainer/TabContainerItem/Settings.d.ts +1 -1
- package/dist/elements/structure/TabContainer/TabContainerItem/TabContainerItem.d.ts +6 -2
- package/dist/elements/structure/TabContainer/TabContainerItem/TabContainerItem.mjs +48 -13
- package/dist/elements/structure/TabContainer/TabContainerItem/declaration.d.ts +1 -1
- package/dist/elements/structure/TabContainer/TabContainerItem/index.d.ts +1 -1
- package/dist/elements/structure/TabContainer/index.d.ts +6 -4
- package/dist/index.d.ts +570 -57
- package/dist/index.mjs +20 -17
- package/dist/realtime/useChannel.d.ts +35 -0
- package/dist/realtime/useChannel.mjs +57 -0
- package/package.json +75 -11
- package/dist/elements/media/FontAwesome/FontAwesome.stories-paused.d.ts +0 -1
|
@@ -1,107 +1,124 @@
|
|
|
1
1
|
import { useCallback as e, useEffect as t, useMemo as n, useState as r } from "react";
|
|
2
2
|
import i from "@plitzi/plitzi-ui/hooks/useDidUpdateEffect";
|
|
3
3
|
//#region src/elements/basic/Dropdown/useDropdown.ts
|
|
4
|
-
var a = ({ ref: a, popupRef: o, open: s, placement: c = "bottom", disabled: l = !1, loading: u = !1, closeOnClickPopup: d = !0,
|
|
5
|
-
let [
|
|
6
|
-
if (!(l || u)) {
|
|
4
|
+
var a = ({ ref: a, popupRef: o, open: s, placement: c = "bottom", disabled: l = !1, loading: u = !1, closeOnClickPopup: d = !0, closeOnClickOutside: f = !1, offsetX: p = 0, offsetY: m = 0, myWindow: h, onChange: g }) => {
|
|
5
|
+
let [_, v] = r(s ?? !1), [y, b] = r(() => a?.current?.getBoundingClientRect()), x = n(() => h || (typeof window < "u" ? window : null), [h]), S = e((e) => {
|
|
6
|
+
if (!(l || u || e.target instanceof Node && o?.current?.contains(e.target))) {
|
|
7
7
|
if (e.stopPropagation(), e.preventDefault(), s !== void 0) {
|
|
8
|
-
|
|
8
|
+
g?.(!_, !1);
|
|
9
9
|
return;
|
|
10
10
|
}
|
|
11
|
-
|
|
11
|
+
g?.(!_, !0), v((e) => !e);
|
|
12
12
|
}
|
|
13
13
|
}, [
|
|
14
14
|
l,
|
|
15
15
|
u,
|
|
16
|
-
h,
|
|
17
16
|
g,
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
_,
|
|
18
|
+
s,
|
|
19
|
+
o
|
|
20
|
+
]), C = e((e) => {
|
|
20
21
|
if (!(l || u || !d)) {
|
|
21
22
|
if (e.stopPropagation(), e.preventDefault(), s !== void 0) {
|
|
22
|
-
|
|
23
|
+
g?.(!_, !1);
|
|
23
24
|
return;
|
|
24
25
|
}
|
|
25
|
-
|
|
26
|
+
g?.(!_, !0), v((e) => !e);
|
|
26
27
|
}
|
|
27
28
|
}, [
|
|
28
29
|
d,
|
|
29
30
|
l,
|
|
30
31
|
u,
|
|
31
|
-
h,
|
|
32
32
|
g,
|
|
33
|
+
_,
|
|
33
34
|
s
|
|
34
35
|
]);
|
|
35
36
|
t(() => {
|
|
36
37
|
let e = a?.current;
|
|
37
|
-
if (!e || typeof window > "u" || !
|
|
38
|
-
let t = () =>
|
|
38
|
+
if (!e || typeof window > "u" || !_) return;
|
|
39
|
+
let t = () => b(a.current?.getBoundingClientRect()), n;
|
|
39
40
|
return typeof ResizeObserver < "u" && (n = new ResizeObserver(t), n.observe(e)), window.addEventListener("scroll", t, !0), window.addEventListener("resize", t), () => {
|
|
40
41
|
n?.disconnect(), window.removeEventListener("scroll", t, !0), window.removeEventListener("resize", t);
|
|
41
42
|
};
|
|
42
|
-
}, [
|
|
43
|
-
let
|
|
44
|
-
e.key === "Escape" && (
|
|
43
|
+
}, [_, a]);
|
|
44
|
+
let w = e((e) => {
|
|
45
|
+
e.key === "Escape" && (g?.(!_, s !== void 0), v((e) => !e));
|
|
45
46
|
}, [
|
|
46
|
-
h,
|
|
47
47
|
g,
|
|
48
|
+
_,
|
|
48
49
|
s
|
|
49
50
|
]);
|
|
50
51
|
t(() => {
|
|
51
|
-
if (
|
|
52
|
-
|
|
52
|
+
if (!_ || l || !f || !x) return;
|
|
53
|
+
let e = (e) => {
|
|
54
|
+
let t = e.target instanceof Node ? e.target : null;
|
|
55
|
+
!t || a?.current?.contains(t) || o?.current?.contains(t) || (g?.(!1, s === void 0), s === void 0 && v(!1));
|
|
53
56
|
};
|
|
57
|
+
return x.addEventListener("pointerdown", e, !0), () => x.removeEventListener("pointerdown", e, !0);
|
|
54
58
|
}, [
|
|
59
|
+
_,
|
|
60
|
+
l,
|
|
61
|
+
f,
|
|
62
|
+
x,
|
|
63
|
+
a,
|
|
64
|
+
o,
|
|
55
65
|
g,
|
|
56
|
-
|
|
66
|
+
s
|
|
67
|
+
]), t(() => {
|
|
68
|
+
if (_ && !l) return window.addEventListener("keydown", w), () => {
|
|
69
|
+
window.removeEventListener("keydown", w);
|
|
70
|
+
};
|
|
71
|
+
}, [
|
|
72
|
+
_,
|
|
73
|
+
w,
|
|
57
74
|
l
|
|
58
75
|
]);
|
|
59
|
-
let
|
|
60
|
-
if (!
|
|
61
|
-
let t =
|
|
76
|
+
let T = e((e) => {
|
|
77
|
+
if (!y || !x) return;
|
|
78
|
+
let t = x.innerWidth, n = x.innerHeight, r = 0, i = 0;
|
|
62
79
|
switch (c) {
|
|
63
80
|
case "top":
|
|
64
|
-
r =
|
|
81
|
+
r = y.top - e.height, i = y.left;
|
|
65
82
|
break;
|
|
66
83
|
case "bottom":
|
|
67
|
-
r =
|
|
84
|
+
r = y.bottom, i = y.left;
|
|
68
85
|
break;
|
|
69
86
|
case "left":
|
|
70
|
-
r =
|
|
87
|
+
r = y.top, i = y.left - e.width;
|
|
71
88
|
break;
|
|
72
89
|
case "right":
|
|
73
|
-
r =
|
|
90
|
+
r = y.top, i = y.right;
|
|
74
91
|
break;
|
|
75
|
-
default: r =
|
|
92
|
+
default: r = y.bottom, i = y.left;
|
|
76
93
|
}
|
|
77
|
-
return c === "bottom" ? (r +=
|
|
94
|
+
return c === "bottom" ? (r += m, i += p) : c === "top" ? (r -= m, i += p) : c === "left" ? (r += m, i -= p) : c === "right" && (r += m, i += p), c === "bottom" || c === "top" ? (i + e.width > t ? i = y.right - e.width : i < 0 && (i = y.left), r = Math.max(0, Math.min(n - e.height, r))) : c === "left" || c === "right" ? (r + e.height > n ? r = y.bottom - e.height : r < 0 && (r = y.top), i = Math.max(0, Math.min(t - e.width, i))) : (r = Math.max(0, Math.min(n - e.height, r)), i = Math.max(0, Math.min(t - e.width, i))), {
|
|
78
95
|
top: r,
|
|
79
96
|
left: i
|
|
80
97
|
};
|
|
81
98
|
}, [
|
|
82
|
-
|
|
83
|
-
|
|
99
|
+
y,
|
|
100
|
+
x,
|
|
84
101
|
c,
|
|
85
|
-
|
|
86
|
-
|
|
102
|
+
m,
|
|
103
|
+
p
|
|
87
104
|
]);
|
|
88
105
|
return i(() => {
|
|
89
|
-
|
|
106
|
+
v(s ?? !1);
|
|
90
107
|
}, [s]), [
|
|
91
|
-
g,
|
|
92
108
|
_,
|
|
93
|
-
x,
|
|
94
|
-
S,
|
|
95
109
|
v,
|
|
110
|
+
S,
|
|
111
|
+
C,
|
|
112
|
+
y,
|
|
96
113
|
n(() => {
|
|
97
|
-
if (!
|
|
114
|
+
if (!_ || !a?.current || !o?.current) return;
|
|
98
115
|
let e = o.current.getBoundingClientRect();
|
|
99
|
-
return
|
|
116
|
+
return T(e);
|
|
100
117
|
}, [
|
|
101
|
-
|
|
118
|
+
_,
|
|
102
119
|
a,
|
|
103
120
|
o,
|
|
104
|
-
|
|
121
|
+
T
|
|
105
122
|
])
|
|
106
123
|
];
|
|
107
124
|
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { MouseEvent, RefObject } from 'react';
|
|
2
|
+
export type UseDropdownTriggerProps = {
|
|
3
|
+
popupRef: RefObject<HTMLElement | null>;
|
|
4
|
+
open: boolean;
|
|
5
|
+
/** Where the popup is drawn; until it is known the popup is hidden, and nothing in it can take the focus. */
|
|
6
|
+
positioned: boolean;
|
|
7
|
+
/** Off in the builder, where a dropdown is something being edited. */
|
|
8
|
+
enabled: boolean;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* What a dropdown tells assistive technology about the control that opens it, and where the keyboard goes.
|
|
12
|
+
*
|
|
13
|
+
* - **The trigger says it opens something** (`aria-haspopup`) **and whether it is open** (`aria-expanded`). The trigger
|
|
14
|
+
* is the author's own button, so the attributes are written on it rather than rendered.
|
|
15
|
+
* - **Opened from the keyboard, the focus moves to the popup's first control** — the popup can come before the trigger
|
|
16
|
+
* in the page, where Tab would never reach it. Opened with a pointer, the focus stays: nobody asked for it to move.
|
|
17
|
+
* - **Closed while the focus is inside, the focus goes back to the trigger**, so Escape leaves a person where they were
|
|
18
|
+
* instead of on a control that has just been hidden.
|
|
19
|
+
*
|
|
20
|
+
* A dropdown with no control outside its popup has none of this: nothing a keyboard can reach opens it
|
|
21
|
+
* (`dropdown-without-control`, in the linter).
|
|
22
|
+
*
|
|
23
|
+
* @returns what the dropdown's own click handler calls first, to learn whether a keyboard pressed the trigger.
|
|
24
|
+
*/
|
|
25
|
+
declare const useDropdownTrigger: ({ popupRef, open, positioned, enabled }: UseDropdownTriggerProps) => ((event: MouseEvent) => void);
|
|
26
|
+
export default useDropdownTrigger;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { useCallback as e, useEffect as t, useRef as n } from "react";
|
|
2
|
+
//#region src/elements/basic/Dropdown/useDropdownTrigger.ts
|
|
3
|
+
var r = "button, a[href], input, select, textarea, [role=\"button\"]", i = (e) => {
|
|
4
|
+
let t = e?.closest(".plitzi-component__dropdown");
|
|
5
|
+
return t ? [...t.querySelectorAll(r)].find((t) => !e?.contains(t)) : void 0;
|
|
6
|
+
}, a = ({ popupRef: a, open: o, positioned: s, enabled: c }) => {
|
|
7
|
+
let l = n(!1), u = n(o), d = e((e) => {
|
|
8
|
+
l.current = e.detail === 0;
|
|
9
|
+
}, []);
|
|
10
|
+
return t(() => {
|
|
11
|
+
let e = c ? i(a.current) : void 0;
|
|
12
|
+
e && (e.setAttribute("aria-haspopup", "true"), e.setAttribute("aria-expanded", String(o)));
|
|
13
|
+
}), t(() => {
|
|
14
|
+
let e = a.current, t = u.current && !o;
|
|
15
|
+
if (u.current = o, c && e) {
|
|
16
|
+
if (t && e.contains(e.ownerDocument.activeElement)) {
|
|
17
|
+
i(e)?.focus({ preventScroll: !0 });
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
o && s && l.current && !e.contains(e.ownerDocument.activeElement) && (l.current = !1, e.querySelector(r)?.focus({ preventScroll: !0 }));
|
|
21
|
+
}
|
|
22
|
+
}, [
|
|
23
|
+
c,
|
|
24
|
+
o,
|
|
25
|
+
s,
|
|
26
|
+
a
|
|
27
|
+
]), d;
|
|
28
|
+
};
|
|
29
|
+
//#endregion
|
|
30
|
+
export { a as default };
|
|
@@ -5,9 +5,9 @@ export type HeadingProps = {
|
|
|
5
5
|
content?: string;
|
|
6
6
|
subType?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
|
|
7
7
|
};
|
|
8
|
-
declare const Heading: ({ ref, className, content, subType }: HeadingProps) => import(
|
|
8
|
+
declare const Heading: ({ ref, className, content, subType }: HeadingProps) => import('react').JSX.Element;
|
|
9
9
|
declare const _default: {
|
|
10
|
-
(props: import('../../../Element/hocs/withElement').WithElementProps<HeadingProps>): import(
|
|
10
|
+
(props: import('../../../Element/hocs/withElement').WithElementProps<HeadingProps>): import('react').JSX.Element;
|
|
11
11
|
displayName: string;
|
|
12
12
|
};
|
|
13
13
|
export default _default;
|
|
@@ -3,5 +3,5 @@ type SettingsProps = {
|
|
|
3
3
|
content?: string;
|
|
4
4
|
onUpdate?: (key: string, value: string | boolean | number) => void;
|
|
5
5
|
};
|
|
6
|
-
declare const Settings: ({ subType, content, onUpdate }: SettingsProps) => import(
|
|
6
|
+
declare const Settings: ({ subType, content, onUpdate }: SettingsProps) => import('react').JSX.Element;
|
|
7
7
|
export default Settings;
|
|
@@ -4,6 +4,9 @@ import { AuthorableAttributes } from '@plitzi/sdk-shared/authoring/declare';
|
|
|
4
4
|
export type HeadingAttributes = AuthorableAttributes<HeadingProps>;
|
|
5
5
|
declare const declaration: {
|
|
6
6
|
readonly type: "heading";
|
|
7
|
+
readonly attributeValues: {
|
|
8
|
+
readonly subType: readonly string[];
|
|
9
|
+
};
|
|
7
10
|
readonly content: {
|
|
8
11
|
readonly attributes: {
|
|
9
12
|
readonly content: "Heading";
|
|
@@ -58,7 +61,7 @@ declare const declaration: {
|
|
|
58
61
|
readonly 'margin-bottom': "25px";
|
|
59
62
|
readonly 'font-size': "38px";
|
|
60
63
|
readonly 'font-weight': 700;
|
|
61
|
-
readonly 'line-height': "
|
|
64
|
+
readonly 'line-height': "1.158";
|
|
62
65
|
};
|
|
63
66
|
};
|
|
64
67
|
};
|
|
@@ -73,7 +76,7 @@ declare const declaration: {
|
|
|
73
76
|
readonly 'margin-bottom': "25px";
|
|
74
77
|
readonly 'font-size': "32px";
|
|
75
78
|
readonly 'font-weight': 700;
|
|
76
|
-
readonly 'line-height': "
|
|
79
|
+
readonly 'line-height': "1.125";
|
|
77
80
|
};
|
|
78
81
|
};
|
|
79
82
|
};
|
|
@@ -88,7 +91,7 @@ declare const declaration: {
|
|
|
88
91
|
readonly 'margin-bottom': "25px";
|
|
89
92
|
readonly 'font-size': "24px";
|
|
90
93
|
readonly 'font-weight': 700;
|
|
91
|
-
readonly 'line-height': "
|
|
94
|
+
readonly 'line-height': "1.25";
|
|
92
95
|
};
|
|
93
96
|
};
|
|
94
97
|
};
|
|
@@ -103,7 +106,7 @@ declare const declaration: {
|
|
|
103
106
|
readonly 'margin-bottom': "25px";
|
|
104
107
|
readonly 'font-size': "18px";
|
|
105
108
|
readonly 'font-weight': 700;
|
|
106
|
-
readonly 'line-height': "
|
|
109
|
+
readonly 'line-height': "1.333";
|
|
107
110
|
};
|
|
108
111
|
};
|
|
109
112
|
};
|
|
@@ -118,7 +121,7 @@ declare const declaration: {
|
|
|
118
121
|
readonly 'margin-bottom': "25px";
|
|
119
122
|
readonly 'font-size': "14px";
|
|
120
123
|
readonly 'font-weight': 700;
|
|
121
|
-
readonly 'line-height': "
|
|
124
|
+
readonly 'line-height': "1.429";
|
|
122
125
|
};
|
|
123
126
|
};
|
|
124
127
|
};
|
|
@@ -133,7 +136,7 @@ declare const declaration: {
|
|
|
133
136
|
readonly 'margin-bottom': "25px";
|
|
134
137
|
readonly 'font-size': "12px";
|
|
135
138
|
readonly 'font-weight': 700;
|
|
136
|
-
readonly 'line-height': "
|
|
139
|
+
readonly 'line-height': "1.5";
|
|
137
140
|
};
|
|
138
141
|
};
|
|
139
142
|
};
|
|
@@ -1,7 +1,15 @@
|
|
|
1
|
-
import { elementDeclaration as e } from "@plitzi/sdk-shared/authoring/declare";
|
|
1
|
+
import { elementDeclaration as e, valuesOf as t } from "@plitzi/sdk-shared/authoring/declare";
|
|
2
2
|
//#region src/elements/basic/Heading/declaration.ts
|
|
3
|
-
var
|
|
3
|
+
var n = e()({
|
|
4
4
|
type: "heading",
|
|
5
|
+
attributeValues: { subType: t()([
|
|
6
|
+
"h1",
|
|
7
|
+
"h2",
|
|
8
|
+
"h3",
|
|
9
|
+
"h4",
|
|
10
|
+
"h5",
|
|
11
|
+
"h6"
|
|
12
|
+
]) },
|
|
5
13
|
content: {
|
|
6
14
|
attributes: {
|
|
7
15
|
content: "Heading",
|
|
@@ -46,7 +54,7 @@ var t = e()({
|
|
|
46
54
|
"margin-bottom": "25px",
|
|
47
55
|
"font-size": "38px",
|
|
48
56
|
"font-weight": 700,
|
|
49
|
-
"line-height": "
|
|
57
|
+
"line-height": "1.158"
|
|
50
58
|
} } }
|
|
51
59
|
},
|
|
52
60
|
h2: {
|
|
@@ -57,7 +65,7 @@ var t = e()({
|
|
|
57
65
|
"margin-bottom": "25px",
|
|
58
66
|
"font-size": "32px",
|
|
59
67
|
"font-weight": 700,
|
|
60
|
-
"line-height": "
|
|
68
|
+
"line-height": "1.125"
|
|
61
69
|
} } }
|
|
62
70
|
},
|
|
63
71
|
h3: {
|
|
@@ -68,7 +76,7 @@ var t = e()({
|
|
|
68
76
|
"margin-bottom": "25px",
|
|
69
77
|
"font-size": "24px",
|
|
70
78
|
"font-weight": 700,
|
|
71
|
-
"line-height": "
|
|
79
|
+
"line-height": "1.25"
|
|
72
80
|
} } }
|
|
73
81
|
},
|
|
74
82
|
h4: {
|
|
@@ -79,7 +87,7 @@ var t = e()({
|
|
|
79
87
|
"margin-bottom": "25px",
|
|
80
88
|
"font-size": "18px",
|
|
81
89
|
"font-weight": 700,
|
|
82
|
-
"line-height": "
|
|
90
|
+
"line-height": "1.333"
|
|
83
91
|
} } }
|
|
84
92
|
},
|
|
85
93
|
h5: {
|
|
@@ -90,7 +98,7 @@ var t = e()({
|
|
|
90
98
|
"margin-bottom": "25px",
|
|
91
99
|
"font-size": "14px",
|
|
92
100
|
"font-weight": 700,
|
|
93
|
-
"line-height": "
|
|
101
|
+
"line-height": "1.429"
|
|
94
102
|
} } }
|
|
95
103
|
},
|
|
96
104
|
h6: {
|
|
@@ -101,7 +109,7 @@ var t = e()({
|
|
|
101
109
|
"margin-bottom": "25px",
|
|
102
110
|
"font-size": "12px",
|
|
103
111
|
"font-weight": 700,
|
|
104
|
-
"line-height": "
|
|
112
|
+
"line-height": "1.5"
|
|
105
113
|
} } }
|
|
106
114
|
}
|
|
107
115
|
}
|
|
@@ -110,4 +118,4 @@ var t = e()({
|
|
|
110
118
|
}
|
|
111
119
|
});
|
|
112
120
|
//#endregion
|
|
113
|
-
export {
|
|
121
|
+
export { n as default };
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
declare const Heading: {
|
|
2
|
-
(props: import('../../../Element/hocs/withElement').WithElementProps<import('./Heading').HeadingProps>): import(
|
|
2
|
+
(props: import('../../../Element/hocs/withElement').WithElementProps<import('./Heading').HeadingProps>): import('react').JSX.Element;
|
|
3
3
|
displayName: string;
|
|
4
4
|
} & {
|
|
5
5
|
readonly type: "heading";
|
|
6
|
+
readonly attributeValues: {
|
|
7
|
+
readonly subType: readonly string[];
|
|
8
|
+
};
|
|
6
9
|
readonly content: {
|
|
7
10
|
readonly attributes: {
|
|
8
11
|
readonly content: "Heading";
|
|
@@ -57,7 +60,7 @@ declare const Heading: {
|
|
|
57
60
|
readonly 'margin-bottom': "25px";
|
|
58
61
|
readonly 'font-size': "38px";
|
|
59
62
|
readonly 'font-weight': 700;
|
|
60
|
-
readonly 'line-height': "
|
|
63
|
+
readonly 'line-height': "1.158";
|
|
61
64
|
};
|
|
62
65
|
};
|
|
63
66
|
};
|
|
@@ -72,7 +75,7 @@ declare const Heading: {
|
|
|
72
75
|
readonly 'margin-bottom': "25px";
|
|
73
76
|
readonly 'font-size': "32px";
|
|
74
77
|
readonly 'font-weight': 700;
|
|
75
|
-
readonly 'line-height': "
|
|
78
|
+
readonly 'line-height': "1.125";
|
|
76
79
|
};
|
|
77
80
|
};
|
|
78
81
|
};
|
|
@@ -87,7 +90,7 @@ declare const Heading: {
|
|
|
87
90
|
readonly 'margin-bottom': "25px";
|
|
88
91
|
readonly 'font-size': "24px";
|
|
89
92
|
readonly 'font-weight': 700;
|
|
90
|
-
readonly 'line-height': "
|
|
93
|
+
readonly 'line-height': "1.25";
|
|
91
94
|
};
|
|
92
95
|
};
|
|
93
96
|
};
|
|
@@ -102,7 +105,7 @@ declare const Heading: {
|
|
|
102
105
|
readonly 'margin-bottom': "25px";
|
|
103
106
|
readonly 'font-size': "18px";
|
|
104
107
|
readonly 'font-weight': 700;
|
|
105
|
-
readonly 'line-height': "
|
|
108
|
+
readonly 'line-height': "1.333";
|
|
106
109
|
};
|
|
107
110
|
};
|
|
108
111
|
};
|
|
@@ -117,7 +120,7 @@ declare const Heading: {
|
|
|
117
120
|
readonly 'margin-bottom': "25px";
|
|
118
121
|
readonly 'font-size': "14px";
|
|
119
122
|
readonly 'font-weight': 700;
|
|
120
|
-
readonly 'line-height': "
|
|
123
|
+
readonly 'line-height': "1.429";
|
|
121
124
|
};
|
|
122
125
|
};
|
|
123
126
|
};
|
|
@@ -132,7 +135,7 @@ declare const Heading: {
|
|
|
132
135
|
readonly 'margin-bottom': "25px";
|
|
133
136
|
readonly 'font-size': "12px";
|
|
134
137
|
readonly 'font-weight': 700;
|
|
135
|
-
readonly 'line-height': "
|
|
138
|
+
readonly 'line-height': "1.5";
|
|
136
139
|
};
|
|
137
140
|
};
|
|
138
141
|
};
|
|
@@ -14,9 +14,9 @@ export type LinkProps = {
|
|
|
14
14
|
*/
|
|
15
15
|
label?: string;
|
|
16
16
|
};
|
|
17
|
-
declare const Link: ({ ref, children, className, href, target, mode, label }: LinkProps) => import(
|
|
17
|
+
declare const Link: ({ ref, children, className, href, target, mode, label }: LinkProps) => import('react').JSX.Element;
|
|
18
18
|
declare const _default: {
|
|
19
|
-
(props: import('../../../Element/hocs/withElement').WithElementProps<LinkProps>): import(
|
|
19
|
+
(props: import('../../../Element/hocs/withElement').WithElementProps<LinkProps>): import('react').JSX.Element;
|
|
20
20
|
displayName: string;
|
|
21
21
|
};
|
|
22
22
|
export default _default;
|
|
@@ -18,8 +18,8 @@ var u = ({ ref: e, children: u, className: d = "", href: f = "#", target: p = "s
|
|
|
18
18
|
"navigation.navigate"
|
|
19
19
|
]), C = r(() => {
|
|
20
20
|
if (m === "external") return f;
|
|
21
|
-
let e = `/${f}`.replaceAll(/[/]+/gim, "/");
|
|
22
21
|
if (m === "internal") {
|
|
22
|
+
let e = `/${f}`.replaceAll(/[/]+/gim, "/");
|
|
23
23
|
try {
|
|
24
24
|
let t = o(e, {
|
|
25
25
|
...x,
|
|
@@ -38,7 +38,10 @@ var u = ({ ref: e, children: u, className: d = "", href: f = "#", target: p = "s
|
|
|
38
38
|
x,
|
|
39
39
|
b
|
|
40
40
|
]), w = (e) => {
|
|
41
|
-
|
|
41
|
+
if (!_) return;
|
|
42
|
+
e.stopPropagation();
|
|
43
|
+
let t = p !== "self" || e.metaKey || e.ctrlKey || e.shiftKey || e.altKey || e.button !== 0;
|
|
44
|
+
(m === "page" || m === "internal") && !t && (e.preventDefault(), S(C));
|
|
42
45
|
}, T = r(() => {
|
|
43
46
|
let t = {
|
|
44
47
|
ref: e,
|
|
@@ -2,7 +2,8 @@ type SettingsProps = {
|
|
|
2
2
|
mode?: 'page' | 'internal' | 'external';
|
|
3
3
|
href?: string;
|
|
4
4
|
target?: 'blank' | 'self' | 'parent' | 'top';
|
|
5
|
+
label?: string;
|
|
5
6
|
onUpdate?: (key: string, value: string | boolean | number) => void;
|
|
6
7
|
};
|
|
7
|
-
declare const Settings: ({ mode, href, target, onUpdate }: SettingsProps) => import(
|
|
8
|
+
declare const Settings: ({ mode, href, target, label, onUpdate }: SettingsProps) => import('react').JSX.Element;
|
|
8
9
|
export default Settings;
|
|
@@ -7,13 +7,13 @@ import { getPageFullPath as u } from "@plitzi/sdk-navigation/NavigationHelper";
|
|
|
7
7
|
import d from "@plitzi/plitzi-ui/Input";
|
|
8
8
|
import f from "@plitzi/plitzi-ui/Select";
|
|
9
9
|
//#region src/elements/basic/Link/Settings.tsx
|
|
10
|
-
var p = ({ mode: p = "page", href: m = "#", target: h = "self",
|
|
11
|
-
let { contexts: { NetworkContext:
|
|
10
|
+
var p = ({ mode: p = "page", href: m = "#", target: h = "self", label: g = "", onUpdate: _ }) => {
|
|
11
|
+
let { contexts: { NetworkContext: v } } = i(), [[y, b, x]] = a([
|
|
12
12
|
"schema.flat",
|
|
13
13
|
"schema.pages",
|
|
14
14
|
"schema.pageFolders"
|
|
15
|
-
]), { server:
|
|
16
|
-
let e = s(
|
|
15
|
+
]), { server: S } = e(v), C = r(() => o(S, "domain", "https://subdomain.plitzi.app"), [S]), w = r(() => {
|
|
16
|
+
let e = s(y, b);
|
|
17
17
|
return Object.keys(e).reduce((t, n) => {
|
|
18
18
|
let r = e[n], i = o(r, "attributes.name", n), a = o(r, "attributes.default", !1);
|
|
19
19
|
return [...t, {
|
|
@@ -22,31 +22,31 @@ var p = ({ mode: p = "page", href: m = "#", target: h = "self", onUpdate: g }) =
|
|
|
22
22
|
defaultPage: a
|
|
23
23
|
}];
|
|
24
24
|
}, []);
|
|
25
|
-
}, [
|
|
26
|
-
if (
|
|
27
|
-
|
|
25
|
+
}, [y, b]), T = t((e) => (t) => _?.(e, t), [_]), E = t((e) => _?.("href", e), [_]), D = t((e) => {
|
|
26
|
+
if (_?.("mode", e), e !== "page") {
|
|
27
|
+
_?.("href", "#");
|
|
28
28
|
return;
|
|
29
29
|
}
|
|
30
|
-
let t =
|
|
31
|
-
t &&
|
|
32
|
-
}, [
|
|
30
|
+
let t = w.find((e) => e.defaultPage);
|
|
31
|
+
t && _?.("href", t.key);
|
|
32
|
+
}, [_, w]);
|
|
33
33
|
n(() => {
|
|
34
34
|
if (p === "page" && m === "#") {
|
|
35
|
-
let e =
|
|
36
|
-
e &&
|
|
35
|
+
let e = w.find((e) => e.defaultPage);
|
|
36
|
+
e && _?.("href", e.key);
|
|
37
37
|
}
|
|
38
38
|
}, [
|
|
39
39
|
p,
|
|
40
40
|
m,
|
|
41
|
-
|
|
42
|
-
|
|
41
|
+
w,
|
|
42
|
+
_
|
|
43
43
|
]);
|
|
44
|
-
let
|
|
44
|
+
let O = r(() => p === "page" ? `${C}${u(y, x, m, !0)}` : m.replaceAll(/[/]+/gim, "/"), [
|
|
45
45
|
p,
|
|
46
|
-
|
|
47
|
-
|
|
46
|
+
y,
|
|
47
|
+
x,
|
|
48
48
|
m,
|
|
49
|
-
|
|
49
|
+
C
|
|
50
50
|
]);
|
|
51
51
|
return /* @__PURE__ */ l("div", {
|
|
52
52
|
className: "flex h-full flex-col gap-4 py-2",
|
|
@@ -54,7 +54,7 @@ var p = ({ mode: p = "page", href: m = "#", target: h = "self", onUpdate: g }) =
|
|
|
54
54
|
/* @__PURE__ */ l(f, {
|
|
55
55
|
value: h,
|
|
56
56
|
label: "Target",
|
|
57
|
-
onChange:
|
|
57
|
+
onChange: T("target"),
|
|
58
58
|
size: "sm",
|
|
59
59
|
children: [
|
|
60
60
|
/* @__PURE__ */ c("option", {
|
|
@@ -78,7 +78,7 @@ var p = ({ mode: p = "page", href: m = "#", target: h = "self", onUpdate: g }) =
|
|
|
78
78
|
/* @__PURE__ */ l(f, {
|
|
79
79
|
value: p,
|
|
80
80
|
label: "Mode",
|
|
81
|
-
onChange:
|
|
81
|
+
onChange: D,
|
|
82
82
|
size: "sm",
|
|
83
83
|
children: [
|
|
84
84
|
/* @__PURE__ */ c("option", {
|
|
@@ -98,7 +98,7 @@ var p = ({ mode: p = "page", href: m = "#", target: h = "self", onUpdate: g }) =
|
|
|
98
98
|
p !== "page" && /* @__PURE__ */ c(d, {
|
|
99
99
|
value: m,
|
|
100
100
|
label: "Url",
|
|
101
|
-
onChange:
|
|
101
|
+
onChange: E,
|
|
102
102
|
size: "sm"
|
|
103
103
|
}),
|
|
104
104
|
p === "page" && /* @__PURE__ */ l("div", {
|
|
@@ -106,21 +106,28 @@ var p = ({ mode: p = "page", href: m = "#", target: h = "self", onUpdate: g }) =
|
|
|
106
106
|
children: [/* @__PURE__ */ l(f, {
|
|
107
107
|
value: m,
|
|
108
108
|
label: "Url",
|
|
109
|
-
onChange:
|
|
109
|
+
onChange: E,
|
|
110
110
|
className: { inputContainer: "rounded-t" },
|
|
111
111
|
size: "sm",
|
|
112
112
|
children: [/* @__PURE__ */ c("option", {
|
|
113
113
|
value: "",
|
|
114
114
|
disabled: !0,
|
|
115
115
|
children: "Select a page"
|
|
116
|
-
}),
|
|
116
|
+
}), w.map((e) => /* @__PURE__ */ c("option", {
|
|
117
117
|
value: e.key,
|
|
118
118
|
children: e.label
|
|
119
119
|
}, e.key))]
|
|
120
120
|
}), /* @__PURE__ */ c("div", {
|
|
121
121
|
className: "truncate rounded-b border-r border-b border-l border-gray-200 p-1 text-xs",
|
|
122
|
-
children:
|
|
122
|
+
children: O
|
|
123
123
|
})]
|
|
124
|
+
}),
|
|
125
|
+
/* @__PURE__ */ c(d, {
|
|
126
|
+
value: g,
|
|
127
|
+
label: "Accessible Name",
|
|
128
|
+
placeholder: "For a link that wraps a whole card",
|
|
129
|
+
onChange: T("label"),
|
|
130
|
+
size: "sm"
|
|
124
131
|
})
|
|
125
132
|
]
|
|
126
133
|
});
|
|
@@ -4,6 +4,10 @@ import { AuthorableAttributes } from '@plitzi/sdk-shared/authoring/declare';
|
|
|
4
4
|
export type LinkAttributes = AuthorableAttributes<LinkProps>;
|
|
5
5
|
declare const declaration: {
|
|
6
6
|
readonly type: "link";
|
|
7
|
+
readonly attributeValues: {
|
|
8
|
+
readonly mode: readonly string[];
|
|
9
|
+
readonly target: readonly string[];
|
|
10
|
+
};
|
|
7
11
|
readonly content: {
|
|
8
12
|
readonly attributes: {
|
|
9
13
|
readonly href: "#";
|
|
@@ -59,8 +63,8 @@ declare const declaration: {
|
|
|
59
63
|
};
|
|
60
64
|
} & import('@plitzi/sdk-shared/authoring/declare').ElementAttributesBrand<Partial<{
|
|
61
65
|
mode?: "page" | "internal" | "external" | undefined;
|
|
66
|
+
href?: string | undefined;
|
|
62
67
|
label?: string | undefined;
|
|
63
68
|
target?: "self" | "blank" | "parent" | "top" | undefined;
|
|
64
|
-
href?: string | undefined;
|
|
65
69
|
}>>;
|
|
66
70
|
export default declaration;
|