@plitzi/sdk-elements 0.33.2 → 0.34.1
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 +56 -0
- package/dist/Component/ComponentProvider.mjs +20 -20
- package/dist/Component/index.mjs +3 -3
- package/dist/Element/ElementContext.d.ts +16 -4
- package/dist/Element/JsxManager.mjs +6 -7
- package/dist/Element/PluginRemote.d.ts +1 -2
- package/dist/Element/PluginRemote.mjs +14 -12
- package/dist/Element/RootElement.d.ts +1 -1
- package/dist/Element/RootElement.mjs +8 -6
- package/dist/Element/ServerStaticShell.d.ts +10 -10
- package/dist/Element/ServerStaticShell.mjs +8 -8
- package/dist/Element/helpers/elementConstants.mjs +35 -0
- package/dist/Element/helpers/elementUtils.d.ts +8 -1
- package/dist/Element/helpers/elementUtils.mjs +7 -34
- package/dist/Element/helpers/getInteractions.d.ts +1 -1
- package/dist/Element/helpers/getInteractions.mjs +61 -64
- package/dist/Element/helpers/loadComponent.d.ts +1 -1
- package/dist/Element/helpers/loadComponent.mjs +19 -19
- package/dist/Element/helpers/pluginSelector.d.ts +0 -1
- package/dist/Element/helpers/pluginSelector.mjs +2 -6
- package/dist/Element/helpers/renderStaticTag.d.ts +6 -2
- package/dist/Element/helpers/renderStaticTag.mjs +5 -4
- package/dist/Element/hocs/withElement.mjs +80 -77
- package/dist/Element/hooks/useElementInteractions.mjs +29 -18
- package/dist/Element/hooks/useElementInternal.d.ts +3 -1
- package/dist/Element/hooks/useElementInternal.mjs +82 -58
- package/dist/Element/hooks/useElementState.mjs +3 -2
- package/dist/Element/hooks/useInternalItems.d.ts +3 -1
- package/dist/Element/hooks/useInternalItems.mjs +47 -44
- package/dist/Element/hooks/useRootElementInteractions.mjs +30 -30
- package/dist/Element/hooks/useRscData.d.ts +10 -0
- package/dist/Element/hooks/useRscData.mjs +9 -5
- package/dist/components/ElementAdvancedEditor.mjs +19 -19
- package/dist/dataSource/GlobalSources.mjs +60 -51
- package/dist/elements/advanced/BlockHtml/BlockHtml.mjs +9 -9
- package/dist/elements/advanced/BlockHtml/declaration.d.ts +55 -0
- package/dist/elements/advanced/BlockHtml/declaration.mjs +42 -0
- package/dist/elements/advanced/BlockHtml/index.d.ts +39 -36
- package/dist/elements/advanced/BlockHtml/index.mjs +3 -38
- package/dist/elements/advanced/BlockJsx/BlockJsx.mjs +8 -8
- package/dist/elements/advanced/BlockJsx/Settings.mjs +8 -8
- package/dist/elements/advanced/BlockJsx/declaration.d.ts +59 -0
- package/dist/elements/advanced/BlockJsx/declaration.mjs +47 -0
- package/dist/elements/advanced/BlockJsx/index.d.ts +40 -39
- package/dist/elements/advanced/BlockJsx/index.mjs +3 -43
- package/dist/elements/advanced/Custom/Custom.d.ts +1 -2
- package/dist/elements/advanced/Custom/Custom.mjs +32 -33
- package/dist/elements/advanced/Custom/Settings.d.ts +1 -2
- package/dist/elements/advanced/Custom/Settings.mjs +44 -53
- package/dist/elements/advanced/Custom/declaration.d.ts +63 -0
- package/dist/elements/advanced/Custom/declaration.mjs +48 -0
- package/dist/elements/advanced/Custom/index.d.ts +47 -45
- package/dist/elements/advanced/Custom/index.mjs +3 -49
- package/dist/elements/advanced/NodeHtml/NodeHtml.mjs +6 -6
- package/dist/elements/advanced/NodeHtml/declaration.d.ts +353 -0
- package/dist/elements/advanced/NodeHtml/declaration.mjs +48 -0
- package/dist/elements/advanced/NodeHtml/index.d.ts +325 -49
- package/dist/elements/advanced/NodeHtml/index.mjs +4 -49
- package/dist/elements/advanced/Reference/Reference.mjs +13 -13
- package/dist/elements/advanced/Reference/declaration.d.ts +60 -0
- package/dist/elements/advanced/Reference/declaration.mjs +47 -0
- package/dist/elements/advanced/Reference/index.d.ts +44 -43
- package/dist/elements/advanced/Reference/index.mjs +4 -48
- package/dist/elements/basic/Button/Button.mjs +8 -8
- package/dist/elements/basic/Button/declaration.d.ts +127 -0
- package/dist/elements/basic/Button/declaration.mjs +101 -0
- package/dist/elements/basic/Button/index.d.ts +98 -98
- package/dist/elements/basic/Button/index.mjs +3 -103
- package/dist/elements/basic/Dropdown/Dropdown.mjs +13 -13
- package/dist/elements/basic/Dropdown/DropdownPopup/DropdownPopup.mjs +7 -7
- package/dist/elements/basic/Dropdown/DropdownPopup/Settings.mjs +5 -0
- package/dist/elements/basic/Dropdown/DropdownPopup/declaration.d.ts +67 -0
- package/dist/elements/basic/Dropdown/DropdownPopup/declaration.mjs +60 -0
- package/dist/elements/basic/Dropdown/DropdownPopup/index.d.ts +52 -54
- package/dist/elements/basic/Dropdown/DropdownPopup/index.mjs +4 -60
- package/dist/elements/basic/Dropdown/declaration.d.ts +86 -0
- package/dist/elements/basic/Dropdown/declaration.mjs +70 -0
- package/dist/elements/basic/Dropdown/index.d.ts +131 -124
- package/dist/elements/basic/Dropdown/index.mjs +7 -70
- package/dist/elements/basic/Dropdown/useDropdown.mjs +1 -1
- package/dist/elements/basic/Heading/Heading.mjs +8 -8
- package/dist/elements/basic/Heading/declaration.d.ts +149 -0
- package/dist/elements/basic/Heading/declaration.mjs +113 -0
- package/dist/elements/basic/Heading/index.d.ts +108 -104
- package/dist/elements/basic/Heading/index.mjs +4 -110
- package/dist/elements/basic/Link/Link.d.ts +8 -1
- package/dist/elements/basic/Link/Link.mjs +33 -31
- package/dist/elements/basic/Link/declaration.d.ts +66 -0
- package/dist/elements/basic/Link/declaration.mjs +52 -0
- package/dist/elements/basic/Link/index.d.ts +49 -45
- package/dist/elements/basic/Link/index.mjs +4 -51
- package/dist/elements/basic/Markdown/Markdown.mjs +6 -6
- package/dist/elements/basic/Markdown/declaration.d.ts +58 -0
- package/dist/elements/basic/Markdown/declaration.mjs +45 -0
- package/dist/elements/basic/Markdown/index.d.ts +41 -38
- package/dist/elements/basic/Markdown/index.mjs +4 -42
- package/dist/elements/basic/Paragraph/Paragraph.mjs +8 -8
- package/dist/elements/basic/Paragraph/declaration.d.ts +58 -0
- package/dist/elements/basic/Paragraph/declaration.mjs +45 -0
- package/dist/elements/basic/Paragraph/index.d.ts +41 -38
- package/dist/elements/basic/Paragraph/index.mjs +4 -42
- package/dist/elements/basic/RichText/RichText.mjs +8 -8
- package/dist/elements/basic/RichText/declaration.d.ts +61 -0
- package/dist/elements/basic/RichText/declaration.mjs +48 -0
- package/dist/elements/basic/RichText/index.d.ts +45 -44
- package/dist/elements/basic/RichText/index.mjs +4 -49
- package/dist/elements/basic/Text/Text.mjs +8 -8
- package/dist/elements/basic/Text/declaration.d.ts +59 -0
- package/dist/elements/basic/Text/declaration.mjs +46 -0
- package/dist/elements/basic/Text/index.d.ts +42 -39
- package/dist/elements/basic/Text/index.mjs +4 -43
- package/dist/elements/basic/ThemeToggle/ThemeToggle.d.ts +31 -0
- package/dist/elements/basic/ThemeToggle/ThemeToggle.mjs +114 -0
- package/dist/elements/basic/ThemeToggle/declaration.d.ts +71 -0
- package/dist/elements/basic/ThemeToggle/declaration.mjs +58 -0
- package/dist/elements/basic/ThemeToggle/index.d.ts +70 -0
- package/dist/elements/basic/ThemeToggle/index.mjs +6 -0
- package/dist/elements/declarations/index.d.ts +3098 -0
- package/dist/elements/declarations/index.mjs +75 -0
- package/dist/elements/form/Form/Form.d.ts +4 -0
- package/dist/elements/form/Form/Form.mjs +131 -100
- package/dist/elements/form/Form/declaration.d.ts +64 -0
- package/dist/elements/form/Form/declaration.mjs +49 -0
- package/dist/elements/form/Form/index.d.ts +44 -39
- package/dist/elements/form/Form/index.mjs +11 -48
- package/dist/elements/form/FormControl/FormControl.d.ts +21 -3
- package/dist/elements/form/FormControl/FormControl.mjs +142 -116
- package/dist/elements/form/FormControl/Settings.d.ts +7 -1
- package/dist/elements/form/FormControl/Settings.mjs +78 -33
- package/dist/elements/form/FormControl/declaration.d.ts +497 -0
- package/dist/elements/form/FormControl/declaration.mjs +197 -0
- package/dist/elements/form/FormControl/helpers/validateField.d.ts +27 -0
- package/dist/elements/form/FormControl/helpers/validateField.mjs +16 -0
- package/dist/elements/form/FormControl/hocs/withFieldValue.d.ts +6 -0
- package/dist/elements/form/FormControl/hocs/withFieldValue.mjs +73 -50
- package/dist/elements/form/FormControl/index.d.ts +186 -180
- package/dist/elements/form/FormControl/index.mjs +10 -186
- package/dist/elements/form/FormControl/inputs/Input.d.ts +3 -1
- package/dist/elements/form/FormControl/inputs/Input.mjs +16 -15
- package/dist/elements/form/FormControl/inputs/Select.mjs +16 -9
- package/dist/elements/form/FormControl/inputs/Textarea.d.ts +3 -1
- package/dist/elements/form/FormControl/inputs/Textarea.mjs +10 -9
- package/dist/elements/index.d.ts +3 -1
- package/dist/elements/index.mjs +36 -34
- package/dist/elements/internal/LayoutContainer/LayoutContainer.mjs +18 -18
- package/dist/elements/internal/LayoutContainer/declaration.d.ts +57 -0
- package/dist/elements/internal/LayoutContainer/declaration.mjs +44 -0
- package/dist/elements/internal/LayoutContainer/index.d.ts +41 -39
- package/dist/elements/internal/LayoutContainer/index.mjs +4 -42
- package/dist/elements/internal/Loading/Loading.mjs +8 -8
- package/dist/elements/internal/Loading/declaration.d.ts +51 -0
- package/dist/elements/internal/Loading/declaration.mjs +42 -0
- package/dist/elements/internal/Loading/index.d.ts +36 -36
- package/dist/elements/internal/Loading/index.mjs +4 -40
- package/dist/elements/internal/NotFound/NotFound.mjs +8 -8
- package/dist/elements/internal/NotFound/declaration.d.ts +51 -0
- package/dist/elements/internal/NotFound/declaration.mjs +42 -0
- package/dist/elements/internal/NotFound/index.d.ts +36 -36
- package/dist/elements/internal/NotFound/index.mjs +3 -39
- package/dist/elements/internal/Page/Page.mjs +26 -22
- package/dist/elements/internal/Page/declaration.d.ts +80 -0
- package/dist/elements/internal/Page/declaration.mjs +65 -0
- package/dist/elements/internal/Page/index.d.ts +63 -57
- package/dist/elements/internal/Page/index.mjs +4 -63
- package/dist/elements/media/FontAwesome/FontAwesome.mjs +10 -18
- package/dist/elements/media/FontAwesome/declaration.d.ts +62 -0
- package/dist/elements/media/FontAwesome/declaration.mjs +49 -0
- package/dist/elements/media/FontAwesome/index.d.ts +45 -40
- package/dist/elements/media/FontAwesome/index.mjs +4 -46
- package/dist/elements/media/Image/Image.d.ts +1 -1
- package/dist/elements/media/Image/Image.mjs +21 -21
- package/dist/elements/media/Image/declaration.d.ts +65 -0
- package/dist/elements/media/Image/declaration.mjs +51 -0
- package/dist/elements/media/Image/index.d.ts +48 -43
- package/dist/elements/media/Image/index.mjs +4 -49
- package/dist/elements/media/Video/Video.mjs +8 -8
- package/dist/elements/media/Video/declaration.d.ts +67 -0
- package/dist/elements/media/Video/declaration.mjs +52 -0
- package/dist/elements/media/Video/index.d.ts +50 -44
- package/dist/elements/media/Video/index.mjs +4 -50
- package/dist/elements/provider/ApiContainer/ApiContainer.d.ts +10 -1
- package/dist/elements/provider/ApiContainer/ApiContainer.mjs +95 -114
- package/dist/elements/provider/ApiContainer/Settings.d.ts +3 -2
- package/dist/elements/provider/ApiContainer/Settings.mjs +156 -119
- package/dist/elements/provider/ApiContainer/declaration.d.ts +77 -0
- package/dist/elements/provider/ApiContainer/declaration.mjs +60 -0
- package/dist/elements/provider/ApiContainer/hooks/useApi.d.ts +10 -0
- package/dist/elements/provider/ApiContainer/hooks/useApi.mjs +35 -30
- package/dist/elements/provider/ApiContainer/hooks/useProviderWrite.mjs +22 -15
- package/dist/elements/provider/ApiContainer/index.d.ts +53 -55
- package/dist/elements/provider/ApiContainer/index.mjs +4 -60
- package/dist/elements/structure/Container/Container.mjs +5 -5
- package/dist/elements/structure/Container/declaration.d.ts +57 -0
- package/dist/elements/structure/Container/declaration.mjs +44 -0
- package/dist/elements/structure/Container/index.d.ts +41 -42
- package/dist/elements/structure/Container/index.mjs +3 -44
- package/dist/elements/structure/DialogContainer/DialogContainer.mjs +65 -66
- package/dist/elements/structure/DialogContainer/declaration.d.ts +155 -0
- package/dist/elements/structure/DialogContainer/declaration.mjs +130 -0
- package/dist/elements/structure/DialogContainer/index.d.ts +124 -116
- package/dist/elements/structure/DialogContainer/index.mjs +4 -126
- package/dist/elements/structure/List/List.mjs +9 -9
- package/dist/elements/structure/List/ListItem/ListItem.mjs +5 -5
- package/dist/elements/structure/List/ListItem/declaration.d.ts +52 -0
- package/dist/elements/structure/List/ListItem/declaration.mjs +43 -0
- package/dist/elements/structure/List/ListItem/index.d.ts +37 -40
- package/dist/elements/structure/List/ListItem/index.mjs +4 -44
- package/dist/elements/structure/List/declaration.d.ts +90 -0
- package/dist/elements/structure/List/declaration.mjs +73 -0
- package/dist/elements/structure/List/index.d.ts +116 -117
- package/dist/elements/structure/List/index.mjs +7 -75
- package/dist/elements/structure/List/modes/ListControlled/ListControlled.mjs +30 -29
- package/dist/elements/structure/List/modes/ListControlled/ListControlledItem.d.ts +3 -2
- package/dist/elements/structure/List/modes/ListControlled/ListControlledItem.mjs +2 -2
- package/dist/elements/structure/ModalContainer/ModalContainer.mjs +47 -46
- package/dist/elements/structure/ModalContainer/declaration.d.ts +151 -0
- package/dist/elements/structure/ModalContainer/declaration.mjs +128 -0
- package/dist/elements/structure/ModalContainer/index.d.ts +117 -112
- package/dist/elements/structure/ModalContainer/index.mjs +4 -124
- package/dist/elements/structure/Pagination/Pagination.mjs +9 -9
- package/dist/elements/structure/Pagination/declaration.d.ts +76 -0
- package/dist/elements/structure/Pagination/declaration.mjs +58 -0
- package/dist/elements/structure/Pagination/index.d.ts +59 -51
- package/dist/elements/structure/Pagination/index.mjs +4 -57
- package/dist/elements/structure/TabContainer/TabContainer.mjs +8 -8
- package/dist/elements/structure/TabContainer/TabContainerBody/TabContainerBody.mjs +8 -8
- package/dist/elements/structure/TabContainer/TabContainerBody/declaration.d.ts +54 -0
- package/dist/elements/structure/TabContainer/TabContainerBody/declaration.mjs +49 -0
- package/dist/elements/structure/TabContainer/TabContainerBody/index.d.ts +39 -42
- package/dist/elements/structure/TabContainer/TabContainerBody/index.mjs +4 -50
- package/dist/elements/structure/TabContainer/TabContainerHeader/TabContainerHeader.mjs +8 -8
- package/dist/elements/structure/TabContainer/TabContainerHeader/declaration.d.ts +54 -0
- package/dist/elements/structure/TabContainer/TabContainerHeader/declaration.mjs +49 -0
- package/dist/elements/structure/TabContainer/TabContainerHeader/index.d.ts +39 -42
- package/dist/elements/structure/TabContainer/TabContainerHeader/index.mjs +4 -50
- package/dist/elements/structure/TabContainer/TabContainerItem/TabContainerItem.mjs +7 -7
- package/dist/elements/structure/TabContainer/TabContainerItem/declaration.d.ts +53 -0
- package/dist/elements/structure/TabContainer/TabContainerItem/declaration.mjs +48 -0
- package/dist/elements/structure/TabContainer/TabContainerItem/index.d.ts +38 -41
- package/dist/elements/structure/TabContainer/TabContainerItem/index.mjs +4 -49
- package/dist/elements/structure/TabContainer/declaration.d.ts +54 -0
- package/dist/elements/structure/TabContainer/declaration.mjs +45 -0
- package/dist/elements/structure/TabContainer/index.d.ts +163 -174
- package/dist/elements/structure/TabContainer/index.mjs +11 -51
- package/dist/index.d.ts +2618 -2200
- package/dist/index.mjs +38 -36
- package/package.json +182 -14
|
@@ -2,54 +2,57 @@ declare const Text: {
|
|
|
2
2
|
(props: import('../../../Element/hocs/withElement').WithElementProps<import('./Text').TextProps>): import("react").JSX.Element;
|
|
3
3
|
displayName: string;
|
|
4
4
|
} & {
|
|
5
|
-
type:
|
|
6
|
-
content: {
|
|
7
|
-
attributes: {
|
|
8
|
-
content:
|
|
5
|
+
readonly type: "text";
|
|
6
|
+
readonly content: {
|
|
7
|
+
readonly attributes: {
|
|
8
|
+
readonly content: "Text";
|
|
9
9
|
};
|
|
10
|
-
definition: {
|
|
11
|
-
label:
|
|
12
|
-
type:
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
10
|
+
readonly definition: {
|
|
11
|
+
readonly label: "Text";
|
|
12
|
+
readonly type: "text";
|
|
13
|
+
readonly description: "Inline plain-text content. Use for short runs of copy; bind its content to data for dynamic text.";
|
|
14
|
+
readonly bindings: {};
|
|
15
|
+
readonly styleSelectors: {
|
|
16
|
+
readonly base: "";
|
|
16
17
|
};
|
|
17
|
-
initialState: {
|
|
18
|
-
visibility:
|
|
18
|
+
readonly initialState: {
|
|
19
|
+
readonly visibility: true;
|
|
19
20
|
};
|
|
20
21
|
};
|
|
21
|
-
builder: {
|
|
22
|
-
canDelete:
|
|
23
|
-
canSelect:
|
|
24
|
-
canDragDrop:
|
|
25
|
-
canMove:
|
|
26
|
-
canTemplate:
|
|
27
|
-
itemsAllowed:
|
|
28
|
-
itemsNotAllowed:
|
|
22
|
+
readonly builder: {
|
|
23
|
+
readonly canDelete: true;
|
|
24
|
+
readonly canSelect: true;
|
|
25
|
+
readonly canDragDrop: true;
|
|
26
|
+
readonly canMove: true;
|
|
27
|
+
readonly canTemplate: true;
|
|
28
|
+
readonly itemsAllowed: readonly [];
|
|
29
|
+
readonly itemsNotAllowed: readonly [];
|
|
29
30
|
};
|
|
30
|
-
market: {
|
|
31
|
-
category:
|
|
32
|
-
owner:
|
|
33
|
-
verified:
|
|
34
|
-
license:
|
|
35
|
-
website:
|
|
36
|
-
backgroundColor:
|
|
37
|
-
icon:
|
|
31
|
+
readonly market: {
|
|
32
|
+
readonly category: "basic";
|
|
33
|
+
readonly owner: "Plitzi";
|
|
34
|
+
readonly verified: true;
|
|
35
|
+
readonly license: "MIT";
|
|
36
|
+
readonly website: "https://plitzi.com";
|
|
37
|
+
readonly backgroundColor: "#4422ee";
|
|
38
|
+
readonly icon: "fa-solid fa-align-left";
|
|
38
39
|
};
|
|
39
|
-
defaultStyle: {
|
|
40
|
-
name:
|
|
41
|
-
displayMode:
|
|
42
|
-
style: {
|
|
43
|
-
base: {
|
|
44
|
-
default: {
|
|
45
|
-
'font-size':
|
|
46
|
-
'line-height':
|
|
47
|
-
display:
|
|
40
|
+
readonly defaultStyle: {
|
|
41
|
+
readonly name: "Text";
|
|
42
|
+
readonly displayMode: "desktop";
|
|
43
|
+
readonly style: {
|
|
44
|
+
readonly base: {
|
|
45
|
+
readonly default: {
|
|
46
|
+
readonly 'font-size': "14px";
|
|
47
|
+
readonly 'line-height': "24px";
|
|
48
|
+
readonly display: "inline";
|
|
48
49
|
};
|
|
49
50
|
};
|
|
50
51
|
};
|
|
51
52
|
};
|
|
52
|
-
settings: {};
|
|
53
|
+
readonly settings: {};
|
|
53
54
|
};
|
|
54
|
-
}
|
|
55
|
+
} & import('@plitzi/sdk-shared/authoring/declare').ElementAttributesBrand<Partial<{
|
|
56
|
+
content?: string | number | undefined;
|
|
57
|
+
}>>;
|
|
55
58
|
export default Text;
|
|
@@ -1,45 +1,6 @@
|
|
|
1
|
-
import e from "./
|
|
1
|
+
import e from "./declaration.mjs";
|
|
2
|
+
import t from "./Text.mjs";
|
|
2
3
|
//#region src/elements/basic/Text/index.ts
|
|
3
|
-
var
|
|
4
|
-
type: "text",
|
|
5
|
-
content: {
|
|
6
|
-
attributes: { content: "Text" },
|
|
7
|
-
definition: {
|
|
8
|
-
label: "Text",
|
|
9
|
-
type: "text",
|
|
10
|
-
bindings: {},
|
|
11
|
-
styleSelectors: { base: "" },
|
|
12
|
-
initialState: { visibility: !0 }
|
|
13
|
-
},
|
|
14
|
-
builder: {
|
|
15
|
-
canDelete: !0,
|
|
16
|
-
canSelect: !0,
|
|
17
|
-
canDragDrop: !0,
|
|
18
|
-
canMove: !0,
|
|
19
|
-
canTemplate: !0,
|
|
20
|
-
itemsAllowed: [],
|
|
21
|
-
itemsNotAllowed: []
|
|
22
|
-
},
|
|
23
|
-
market: {
|
|
24
|
-
category: "basic",
|
|
25
|
-
owner: "Plitzi",
|
|
26
|
-
verified: !0,
|
|
27
|
-
license: "MIT",
|
|
28
|
-
website: "https://plitzi.com",
|
|
29
|
-
backgroundColor: "#4422ee",
|
|
30
|
-
icon: "fa-solid fa-align-left"
|
|
31
|
-
},
|
|
32
|
-
defaultStyle: {
|
|
33
|
-
name: "Text",
|
|
34
|
-
displayMode: "desktop",
|
|
35
|
-
style: { base: { default: {
|
|
36
|
-
"font-size": "14px",
|
|
37
|
-
"line-height": "24px",
|
|
38
|
-
display: "inline"
|
|
39
|
-
} } }
|
|
40
|
-
},
|
|
41
|
-
settings: {}
|
|
42
|
-
}
|
|
43
|
-
});
|
|
4
|
+
var n = Object.assign(t, e);
|
|
44
5
|
//#endregion
|
|
45
|
-
export {
|
|
6
|
+
export { n as default };
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
|
+
export type ThemeToggleProps = {
|
|
3
|
+
ref?: RefObject<HTMLElement>;
|
|
4
|
+
className?: string;
|
|
5
|
+
/** `switch` is one control that flips; `segmented` offers the three answers, including giving the machine its
|
|
6
|
+
* say back. */
|
|
7
|
+
subType?: 'switch' | 'segmented';
|
|
8
|
+
lightLabel?: string;
|
|
9
|
+
darkLabel?: string;
|
|
10
|
+
systemLabel?: string;
|
|
11
|
+
/** Only meaningful for `segmented`: a two-way switch has nowhere to put a third answer. */
|
|
12
|
+
showSystem?: boolean;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Light and dark, as a control a page can carry.
|
|
16
|
+
*
|
|
17
|
+
* A space declares its colours per scheme and the machine decides between them — which is right until somebody
|
|
18
|
+
* wants the other one. This is where that decision is made: it writes the choice on the document root, where the
|
|
19
|
+
* space's own stylesheet is already looking for it, and remembers it for the next visit.
|
|
20
|
+
*
|
|
21
|
+
* **What it renders does not depend on the theme.** Both icons are always in the markup and CSS decides which one
|
|
22
|
+
* shows, so the server and the browser agree byte for byte: a control whose markup changed with the stored theme
|
|
23
|
+
* would either flash the wrong icon on every load or force the page to wait for storage before painting.
|
|
24
|
+
*/
|
|
25
|
+
declare const ThemeToggle: ({ ref, className, subType, lightLabel, darkLabel, systemLabel, showSystem }: ThemeToggleProps) => import("react").JSX.Element;
|
|
26
|
+
declare const _default: {
|
|
27
|
+
(props: import('../../../Element/hocs/withElement').WithElementProps<ThemeToggleProps>): import("react").JSX.Element;
|
|
28
|
+
displayName: string;
|
|
29
|
+
};
|
|
30
|
+
export default _default;
|
|
31
|
+
export { ThemeToggle };
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import e from "../../../Element/hocs/withElement.mjs";
|
|
2
|
+
import t from "../../../Element/hooks/useElement.mjs";
|
|
3
|
+
import { RootElement as n } from "../../../Element/RootElement.mjs";
|
|
4
|
+
import { use as r, useCallback as i, useEffect as a, useMemo as o, useRef as s, useSyncExternalStore as c } from "react";
|
|
5
|
+
import l from "@plitzi/sdk-shared/hooks/usePlitziServiceContext";
|
|
6
|
+
import { jsx as u, jsxs as d } from "react/jsx-runtime";
|
|
7
|
+
import f from "clsx";
|
|
8
|
+
import p from "@plitzi/sdk-shared/theme/useTheme";
|
|
9
|
+
//#region src/elements/basic/ThemeToggle/ThemeToggle.tsx
|
|
10
|
+
var m = () => () => {}, h = () => !0, g = () => !1, _ = () => /* @__PURE__ */ d("svg", {
|
|
11
|
+
viewBox: "0 0 24 24",
|
|
12
|
+
width: "1em",
|
|
13
|
+
height: "1em",
|
|
14
|
+
fill: "none",
|
|
15
|
+
stroke: "currentColor",
|
|
16
|
+
strokeWidth: "2",
|
|
17
|
+
"aria-hidden": !0,
|
|
18
|
+
children: [/* @__PURE__ */ u("circle", {
|
|
19
|
+
cx: "12",
|
|
20
|
+
cy: "12",
|
|
21
|
+
r: "4.2"
|
|
22
|
+
}), /* @__PURE__ */ u("path", {
|
|
23
|
+
strokeLinecap: "round",
|
|
24
|
+
d: "M12 2.6v2.2M12 19.2v2.2M4.2 12H2M22 12h-2.2M6.3 6.3 4.8 4.8M19.2 19.2l-1.5-1.5M17.7 6.3l1.5-1.5M4.8 19.2l1.5-1.5"
|
|
25
|
+
})]
|
|
26
|
+
}), v = () => /* @__PURE__ */ u("svg", {
|
|
27
|
+
viewBox: "0 0 24 24",
|
|
28
|
+
width: "1em",
|
|
29
|
+
height: "1em",
|
|
30
|
+
fill: "none",
|
|
31
|
+
stroke: "currentColor",
|
|
32
|
+
strokeWidth: "2",
|
|
33
|
+
"aria-hidden": !0,
|
|
34
|
+
children: /* @__PURE__ */ u("path", {
|
|
35
|
+
strokeLinejoin: "round",
|
|
36
|
+
d: "M20.5 14.3A8.6 8.6 0 0 1 9.7 3.5a8.6 8.6 0 1 0 10.8 10.8Z"
|
|
37
|
+
})
|
|
38
|
+
}), y = ({ ref: e, className: y = "", subType: b = "switch", lightLabel: x = "Light", darkLabel: S = "Dark", systemLabel: C = "System", showSystem: w = !1 }) => {
|
|
39
|
+
let { theme: T, setTheme: E, toggleTheme: D } = p(), { id: O, definition: { styleSelectors: k } } = t(), { settings: { previewMode: A }, contexts: { InteractionsContext: j } } = l(), { interactionsManager: M } = r(j), N = c(m, h, g), P = i((e) => (t) => {
|
|
40
|
+
t.preventDefault(), A && E(e);
|
|
41
|
+
}, [A, E]), F = i((e) => {
|
|
42
|
+
e.preventDefault(), A && D();
|
|
43
|
+
}, [A, D]), I = o(() => [
|
|
44
|
+
...w ? [{
|
|
45
|
+
value: "system",
|
|
46
|
+
label: C,
|
|
47
|
+
icon: null
|
|
48
|
+
}] : [],
|
|
49
|
+
{
|
|
50
|
+
value: "light",
|
|
51
|
+
label: x,
|
|
52
|
+
icon: /* @__PURE__ */ u(_, {})
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
value: "dark",
|
|
56
|
+
label: S,
|
|
57
|
+
icon: /* @__PURE__ */ u(v, {})
|
|
58
|
+
}
|
|
59
|
+
], [
|
|
60
|
+
w,
|
|
61
|
+
C,
|
|
62
|
+
x,
|
|
63
|
+
S
|
|
64
|
+
]), L = s(null);
|
|
65
|
+
a(() => {
|
|
66
|
+
let e = L.current;
|
|
67
|
+
L.current = T, e !== null && e !== T && M.interactionTrigger(O, "onThemeChange", { theme: T });
|
|
68
|
+
}, [
|
|
69
|
+
T,
|
|
70
|
+
M,
|
|
71
|
+
O
|
|
72
|
+
]);
|
|
73
|
+
let R = o(() => ({ onThemeChange: {
|
|
74
|
+
action: "onThemeChange",
|
|
75
|
+
title: "On Theme Change",
|
|
76
|
+
type: "trigger",
|
|
77
|
+
params: {},
|
|
78
|
+
preview: { theme: "dark" }
|
|
79
|
+
} }), []);
|
|
80
|
+
return b === "segmented" ? /* @__PURE__ */ u(n, {
|
|
81
|
+
ref: e,
|
|
82
|
+
tag: "div",
|
|
83
|
+
className: f("plitzi-component__theme-toggle plitzi-component__theme-toggle--segmented", y),
|
|
84
|
+
interactionTriggers: R,
|
|
85
|
+
children: I.map((e) => /* @__PURE__ */ d("button", {
|
|
86
|
+
type: "button",
|
|
87
|
+
className: f("plitzi-component__theme-toggle-option", k.option),
|
|
88
|
+
"data-active": N && T === e.value ? "true" : void 0,
|
|
89
|
+
"data-theme-option": e.value,
|
|
90
|
+
onClick: P(e.value),
|
|
91
|
+
children: [e.icon, /* @__PURE__ */ u("span", { children: e.label })]
|
|
92
|
+
}, e.value))
|
|
93
|
+
}) : /* @__PURE__ */ d(n, {
|
|
94
|
+
ref: e,
|
|
95
|
+
tag: "button",
|
|
96
|
+
className: f("plitzi-component__theme-toggle plitzi-component__theme-toggle--switch", y),
|
|
97
|
+
interactionTriggers: R,
|
|
98
|
+
type: "button",
|
|
99
|
+
onClick: F,
|
|
100
|
+
"aria-label": `${x} / ${S}`,
|
|
101
|
+
title: `${x} / ${S}`,
|
|
102
|
+
children: [/* @__PURE__ */ u("span", {
|
|
103
|
+
className: f("plitzi-component__theme-toggle-icon", k.icon),
|
|
104
|
+
"data-theme-icon": "light",
|
|
105
|
+
children: /* @__PURE__ */ u(_, {})
|
|
106
|
+
}), /* @__PURE__ */ u("span", {
|
|
107
|
+
className: f("plitzi-component__theme-toggle-icon", k.icon),
|
|
108
|
+
"data-theme-icon": "dark",
|
|
109
|
+
children: /* @__PURE__ */ u(v, {})
|
|
110
|
+
})]
|
|
111
|
+
});
|
|
112
|
+
}, b = e(y);
|
|
113
|
+
//#endregion
|
|
114
|
+
export { y as ThemeToggle, b as default };
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { ThemeToggleProps } from './ThemeToggle';
|
|
2
|
+
import { AuthorableAttributes } from '@plitzi/sdk-shared/authoring/declare';
|
|
3
|
+
/** What this element can be authored with — its component's own props, minus what the runtime supplies. */
|
|
4
|
+
export type ThemeToggleAttributes = AuthorableAttributes<ThemeToggleProps>;
|
|
5
|
+
declare const declaration: {
|
|
6
|
+
readonly type: "themeToggle";
|
|
7
|
+
readonly content: {
|
|
8
|
+
readonly attributes: {
|
|
9
|
+
readonly subType: "switch";
|
|
10
|
+
readonly lightLabel: "Light";
|
|
11
|
+
readonly darkLabel: "Dark";
|
|
12
|
+
readonly systemLabel: "System";
|
|
13
|
+
readonly showSystem: false;
|
|
14
|
+
};
|
|
15
|
+
readonly definition: {
|
|
16
|
+
readonly label: "Theme Toggle";
|
|
17
|
+
readonly type: "themeToggle";
|
|
18
|
+
readonly description: "Lets a visitor choose light or dark. It writes the choice on the document root, where a space stylesheet is already looking for it, and remembers it — so the machine decides until somebody says otherwise. It ships no colours of its own: style it with the space own classes, and use `data-theme-icon` to decide which icon each scheme shows.";
|
|
19
|
+
readonly items: readonly [];
|
|
20
|
+
readonly bindings: {};
|
|
21
|
+
readonly styleSelectors: {
|
|
22
|
+
readonly base: "";
|
|
23
|
+
readonly icon: "";
|
|
24
|
+
readonly option: "";
|
|
25
|
+
};
|
|
26
|
+
readonly initialState: {
|
|
27
|
+
readonly visibility: true;
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
readonly builder: {
|
|
31
|
+
readonly canDelete: true;
|
|
32
|
+
readonly canSelect: true;
|
|
33
|
+
readonly canDragDrop: true;
|
|
34
|
+
readonly canMove: true;
|
|
35
|
+
readonly canTemplate: true;
|
|
36
|
+
readonly itemsAllowed: readonly [];
|
|
37
|
+
readonly itemsNotAllowed: readonly [];
|
|
38
|
+
};
|
|
39
|
+
readonly market: {
|
|
40
|
+
readonly category: "basic";
|
|
41
|
+
readonly owner: "Plitzi";
|
|
42
|
+
readonly verified: true;
|
|
43
|
+
readonly license: "MIT";
|
|
44
|
+
readonly website: "https://plitzi.com";
|
|
45
|
+
readonly backgroundColor: "#4422ee";
|
|
46
|
+
readonly icon: "fa-solid fa-circle-half-stroke";
|
|
47
|
+
};
|
|
48
|
+
readonly defaultStyle: {
|
|
49
|
+
readonly name: "Theme Toggle";
|
|
50
|
+
readonly displayMode: "desktop";
|
|
51
|
+
readonly style: {
|
|
52
|
+
readonly base: {
|
|
53
|
+
readonly default: {
|
|
54
|
+
readonly display: "inline-flex";
|
|
55
|
+
readonly 'align-items': "center";
|
|
56
|
+
readonly cursor: "pointer";
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
readonly subTypes: {};
|
|
61
|
+
};
|
|
62
|
+
readonly settings: {};
|
|
63
|
+
};
|
|
64
|
+
} & import('@plitzi/sdk-shared/authoring/declare').ElementAttributesBrand<Partial<{
|
|
65
|
+
subType?: "switch" | "segmented" | undefined;
|
|
66
|
+
lightLabel?: string | undefined;
|
|
67
|
+
darkLabel?: string | undefined;
|
|
68
|
+
systemLabel?: string | undefined;
|
|
69
|
+
showSystem?: boolean | undefined;
|
|
70
|
+
}>>;
|
|
71
|
+
export default declaration;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { elementDeclaration as e } from "@plitzi/sdk-shared/authoring/declare";
|
|
2
|
+
//#region src/elements/basic/ThemeToggle/declaration.ts
|
|
3
|
+
var t = e()({
|
|
4
|
+
type: "themeToggle",
|
|
5
|
+
content: {
|
|
6
|
+
attributes: {
|
|
7
|
+
subType: "switch",
|
|
8
|
+
lightLabel: "Light",
|
|
9
|
+
darkLabel: "Dark",
|
|
10
|
+
systemLabel: "System",
|
|
11
|
+
showSystem: !1
|
|
12
|
+
},
|
|
13
|
+
definition: {
|
|
14
|
+
label: "Theme Toggle",
|
|
15
|
+
type: "themeToggle",
|
|
16
|
+
description: "Lets a visitor choose light or dark. It writes the choice on the document root, where a space stylesheet is already looking for it, and remembers it — so the machine decides until somebody says otherwise. It ships no colours of its own: style it with the space own classes, and use `data-theme-icon` to decide which icon each scheme shows.",
|
|
17
|
+
items: [],
|
|
18
|
+
bindings: {},
|
|
19
|
+
styleSelectors: {
|
|
20
|
+
base: "",
|
|
21
|
+
icon: "",
|
|
22
|
+
option: ""
|
|
23
|
+
},
|
|
24
|
+
initialState: { visibility: !0 }
|
|
25
|
+
},
|
|
26
|
+
builder: {
|
|
27
|
+
canDelete: !0,
|
|
28
|
+
canSelect: !0,
|
|
29
|
+
canDragDrop: !0,
|
|
30
|
+
canMove: !0,
|
|
31
|
+
canTemplate: !0,
|
|
32
|
+
itemsAllowed: [],
|
|
33
|
+
itemsNotAllowed: []
|
|
34
|
+
},
|
|
35
|
+
market: {
|
|
36
|
+
category: "basic",
|
|
37
|
+
owner: "Plitzi",
|
|
38
|
+
verified: !0,
|
|
39
|
+
license: "MIT",
|
|
40
|
+
website: "https://plitzi.com",
|
|
41
|
+
backgroundColor: "#4422ee",
|
|
42
|
+
icon: "fa-solid fa-circle-half-stroke"
|
|
43
|
+
},
|
|
44
|
+
defaultStyle: {
|
|
45
|
+
name: "Theme Toggle",
|
|
46
|
+
displayMode: "desktop",
|
|
47
|
+
style: { base: { default: {
|
|
48
|
+
display: "inline-flex",
|
|
49
|
+
"align-items": "center",
|
|
50
|
+
cursor: "pointer"
|
|
51
|
+
} } },
|
|
52
|
+
subTypes: {}
|
|
53
|
+
},
|
|
54
|
+
settings: {}
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
//#endregion
|
|
58
|
+
export { t as default };
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
declare const ThemeToggle: {
|
|
2
|
+
(props: import('../../../Element/hocs/withElement').WithElementProps<import('./ThemeToggle').ThemeToggleProps>): import("react").JSX.Element;
|
|
3
|
+
displayName: string;
|
|
4
|
+
} & {
|
|
5
|
+
readonly type: "themeToggle";
|
|
6
|
+
readonly content: {
|
|
7
|
+
readonly attributes: {
|
|
8
|
+
readonly subType: "switch";
|
|
9
|
+
readonly lightLabel: "Light";
|
|
10
|
+
readonly darkLabel: "Dark";
|
|
11
|
+
readonly systemLabel: "System";
|
|
12
|
+
readonly showSystem: false;
|
|
13
|
+
};
|
|
14
|
+
readonly definition: {
|
|
15
|
+
readonly label: "Theme Toggle";
|
|
16
|
+
readonly type: "themeToggle";
|
|
17
|
+
readonly description: "Lets a visitor choose light or dark. It writes the choice on the document root, where a space stylesheet is already looking for it, and remembers it — so the machine decides until somebody says otherwise. It ships no colours of its own: style it with the space own classes, and use `data-theme-icon` to decide which icon each scheme shows.";
|
|
18
|
+
readonly items: readonly [];
|
|
19
|
+
readonly bindings: {};
|
|
20
|
+
readonly styleSelectors: {
|
|
21
|
+
readonly base: "";
|
|
22
|
+
readonly icon: "";
|
|
23
|
+
readonly option: "";
|
|
24
|
+
};
|
|
25
|
+
readonly initialState: {
|
|
26
|
+
readonly visibility: true;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
readonly builder: {
|
|
30
|
+
readonly canDelete: true;
|
|
31
|
+
readonly canSelect: true;
|
|
32
|
+
readonly canDragDrop: true;
|
|
33
|
+
readonly canMove: true;
|
|
34
|
+
readonly canTemplate: true;
|
|
35
|
+
readonly itemsAllowed: readonly [];
|
|
36
|
+
readonly itemsNotAllowed: readonly [];
|
|
37
|
+
};
|
|
38
|
+
readonly market: {
|
|
39
|
+
readonly category: "basic";
|
|
40
|
+
readonly owner: "Plitzi";
|
|
41
|
+
readonly verified: true;
|
|
42
|
+
readonly license: "MIT";
|
|
43
|
+
readonly website: "https://plitzi.com";
|
|
44
|
+
readonly backgroundColor: "#4422ee";
|
|
45
|
+
readonly icon: "fa-solid fa-circle-half-stroke";
|
|
46
|
+
};
|
|
47
|
+
readonly defaultStyle: {
|
|
48
|
+
readonly name: "Theme Toggle";
|
|
49
|
+
readonly displayMode: "desktop";
|
|
50
|
+
readonly style: {
|
|
51
|
+
readonly base: {
|
|
52
|
+
readonly default: {
|
|
53
|
+
readonly display: "inline-flex";
|
|
54
|
+
readonly 'align-items': "center";
|
|
55
|
+
readonly cursor: "pointer";
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
readonly subTypes: {};
|
|
60
|
+
};
|
|
61
|
+
readonly settings: {};
|
|
62
|
+
};
|
|
63
|
+
} & import('@plitzi/sdk-shared/authoring/declare').ElementAttributesBrand<Partial<{
|
|
64
|
+
subType?: "switch" | "segmented" | undefined;
|
|
65
|
+
lightLabel?: string | undefined;
|
|
66
|
+
darkLabel?: string | undefined;
|
|
67
|
+
systemLabel?: string | undefined;
|
|
68
|
+
showSystem?: boolean | undefined;
|
|
69
|
+
}>>;
|
|
70
|
+
export default ThemeToggle;
|