@plitzi/sdk-elements 0.37.9 → 0.38.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.
Files changed (233) hide show
  1. package/CHANGELOG.md +630 -0
  2. package/dist/Element/ElementWords.d.ts +16 -0
  3. package/dist/Element/ElementWords.mjs +19 -0
  4. package/dist/Element/RootElement.mjs +15 -12
  5. package/dist/Element/helpers/elementConstants.mjs +27 -0
  6. package/dist/Element/helpers/renderStaticTag.d.ts +3 -1
  7. package/dist/Element/helpers/renderStaticTag.mjs +6 -5
  8. package/dist/Element/hooks/useElementDataSource.mjs +20 -19
  9. package/dist/Element/hooks/useInternalItems.mjs +33 -31
  10. package/dist/Element/hooks/useIntervalTriggers.d.ts +17 -0
  11. package/dist/Element/hooks/useIntervalTriggers.mjs +37 -0
  12. package/dist/Element/hooks/useRootElementInteractions.d.ts +6 -2
  13. package/dist/Element/hooks/useRootElementInteractions.mjs +84 -63
  14. package/dist/Element/hooks/useScrollInteractions.d.ts +20 -0
  15. package/dist/Element/hooks/useScrollInteractions.mjs +58 -0
  16. package/dist/components/IconField/IconField.d.ts +8 -0
  17. package/dist/components/IconField/IconField.mjs +41 -0
  18. package/dist/components/IconField/index.d.ts +2 -0
  19. package/dist/components/IconField/index.mjs +2 -0
  20. package/dist/components/IconPicker/IconPicker.d.ts +11 -0
  21. package/dist/components/IconPicker/IconPicker.mjs +82 -0
  22. package/dist/components/IconPicker/index.d.ts +2 -0
  23. package/dist/components/IconPicker/index.mjs +2 -0
  24. package/dist/dataSource/GlobalSources.mjs +102 -83
  25. package/dist/dataSource/useFlag.d.ts +9 -0
  26. package/dist/dataSource/useFlag.mjs +8 -0
  27. package/dist/elements/advanced/BlockHtml/declaration.d.ts +1 -1
  28. package/dist/elements/advanced/BlockHtml/declaration.mjs +1 -1
  29. package/dist/elements/advanced/BlockHtml/index.d.ts +1 -1
  30. package/dist/elements/advanced/BlockJsx/Settings.mjs +2 -1
  31. package/dist/elements/advanced/BlockJsx/declaration.d.ts +1 -1
  32. package/dist/elements/advanced/BlockJsx/declaration.mjs +1 -1
  33. package/dist/elements/advanced/BlockJsx/index.d.ts +1 -1
  34. package/dist/elements/advanced/Custom/declaration.d.ts +1 -1
  35. package/dist/elements/advanced/Custom/declaration.mjs +1 -1
  36. package/dist/elements/advanced/Custom/index.d.ts +1 -1
  37. package/dist/elements/advanced/NodeHtml/declaration.d.ts +3 -3
  38. package/dist/elements/advanced/NodeHtml/declaration.mjs +1 -1
  39. package/dist/elements/advanced/NodeHtml/index.d.ts +3 -3
  40. package/dist/elements/advanced/Reference/declaration.d.ts +1 -1
  41. package/dist/elements/advanced/Reference/declaration.mjs +1 -1
  42. package/dist/elements/advanced/Reference/index.d.ts +1 -1
  43. package/dist/elements/basic/Button/Button.d.ts +9 -1
  44. package/dist/elements/basic/Button/Button.mjs +31 -19
  45. package/dist/elements/basic/Button/Settings.d.ts +3 -1
  46. package/dist/elements/basic/Button/Settings.mjs +39 -33
  47. package/dist/elements/basic/Button/declaration.d.ts +7 -1
  48. package/dist/elements/basic/Button/declaration.mjs +10 -4
  49. package/dist/elements/basic/Button/index.d.ts +7 -1
  50. package/dist/elements/basic/Dropdown/DropdownPopup/declaration.d.ts +1 -1
  51. package/dist/elements/basic/Dropdown/DropdownPopup/declaration.mjs +1 -1
  52. package/dist/elements/basic/Dropdown/DropdownPopup/index.d.ts +1 -1
  53. package/dist/elements/basic/Dropdown/declaration.d.ts +1 -1
  54. package/dist/elements/basic/Dropdown/declaration.mjs +1 -1
  55. package/dist/elements/basic/Dropdown/index.d.ts +2 -2
  56. package/dist/elements/basic/Heading/declaration.d.ts +1 -1
  57. package/dist/elements/basic/Heading/declaration.mjs +1 -1
  58. package/dist/elements/basic/Heading/index.d.ts +1 -1
  59. package/dist/elements/basic/Link/Link.d.ts +20 -1
  60. package/dist/elements/basic/Link/Link.mjs +67 -47
  61. package/dist/elements/basic/Link/Settings.d.ts +6 -1
  62. package/dist/elements/basic/Link/Settings.mjs +91 -58
  63. package/dist/elements/basic/Link/declaration.d.ts +14 -1
  64. package/dist/elements/basic/Link/declaration.mjs +15 -5
  65. package/dist/elements/basic/Link/index.d.ts +14 -1
  66. package/dist/elements/basic/Link/isCurrentPage.d.ts +5 -0
  67. package/dist/elements/basic/Link/isCurrentPage.mjs +12 -0
  68. package/dist/elements/basic/Markdown/declaration.d.ts +1 -1
  69. package/dist/elements/basic/Markdown/declaration.mjs +1 -1
  70. package/dist/elements/basic/Markdown/index.d.ts +1 -1
  71. package/dist/elements/basic/Paragraph/declaration.d.ts +1 -1
  72. package/dist/elements/basic/Paragraph/declaration.mjs +1 -1
  73. package/dist/elements/basic/Paragraph/index.d.ts +1 -1
  74. package/dist/elements/basic/RichText/declaration.d.ts +1 -1
  75. package/dist/elements/basic/RichText/declaration.mjs +1 -1
  76. package/dist/elements/basic/RichText/index.d.ts +1 -1
  77. package/dist/elements/basic/Text/declaration.d.ts +1 -1
  78. package/dist/elements/basic/Text/declaration.mjs +1 -1
  79. package/dist/elements/basic/Text/index.d.ts +1 -1
  80. package/dist/elements/basic/ThemeToggle/declaration.d.ts +1 -1
  81. package/dist/elements/basic/ThemeToggle/declaration.mjs +1 -1
  82. package/dist/elements/basic/ThemeToggle/index.d.ts +1 -1
  83. package/dist/elements/declarations/index.d.ts +362 -40
  84. package/dist/elements/declarations/index.mjs +40 -32
  85. package/dist/elements/form/Form/declaration.d.ts +1 -1
  86. package/dist/elements/form/Form/declaration.mjs +1 -1
  87. package/dist/elements/form/Form/index.d.ts +1 -1
  88. package/dist/elements/form/FormControl/FormControl.mjs +1 -1
  89. package/dist/elements/form/FormControl/declaration.d.ts +1 -1
  90. package/dist/elements/form/FormControl/declaration.mjs +1 -1
  91. package/dist/elements/form/FormControl/index.d.ts +1 -1
  92. package/dist/elements/index.d.ts +7 -1
  93. package/dist/elements/index.mjs +30 -24
  94. package/dist/elements/internal/LayoutContainer/declaration.d.ts +1 -1
  95. package/dist/elements/internal/LayoutContainer/declaration.mjs +1 -1
  96. package/dist/elements/internal/LayoutContainer/index.d.ts +1 -1
  97. package/dist/elements/internal/Loading/declaration.d.ts +1 -1
  98. package/dist/elements/internal/Loading/declaration.mjs +1 -1
  99. package/dist/elements/internal/Loading/index.d.ts +1 -1
  100. package/dist/elements/internal/NotFound/declaration.d.ts +1 -1
  101. package/dist/elements/internal/NotFound/declaration.mjs +1 -1
  102. package/dist/elements/internal/NotFound/index.d.ts +1 -1
  103. package/dist/elements/internal/Page/declaration.d.ts +1 -1
  104. package/dist/elements/internal/Page/declaration.mjs +1 -1
  105. package/dist/elements/internal/Page/index.d.ts +1 -1
  106. package/dist/elements/media/Embed/Embed.d.ts +22 -0
  107. package/dist/elements/media/Embed/Embed.mjs +29 -0
  108. package/dist/elements/media/Embed/Settings.d.ts +10 -0
  109. package/dist/elements/media/Embed/Settings.mjs +51 -0
  110. package/dist/elements/media/Embed/declaration.d.ts +70 -0
  111. package/dist/elements/media/Embed/declaration.mjs +54 -0
  112. package/dist/elements/media/Embed/embeddableSrc.d.ts +5 -0
  113. package/dist/elements/media/Embed/embeddableSrc.mjs +4 -0
  114. package/dist/elements/media/Embed/index.d.ts +69 -0
  115. package/dist/elements/media/Embed/index.mjs +6 -0
  116. package/dist/elements/media/FontAwesome/Settings.mjs +32 -100
  117. package/dist/elements/media/FontAwesome/declaration.d.ts +1 -1
  118. package/dist/elements/media/FontAwesome/declaration.mjs +1 -1
  119. package/dist/elements/media/FontAwesome/index.d.ts +1 -1
  120. package/dist/elements/media/Image/Image.d.ts +11 -1
  121. package/dist/elements/media/Image/Image.mjs +33 -23
  122. package/dist/elements/media/Image/Settings.d.ts +4 -1
  123. package/dist/elements/media/Image/Settings.mjs +32 -9
  124. package/dist/elements/media/Image/declaration.d.ts +4 -1
  125. package/dist/elements/media/Image/declaration.mjs +1 -1
  126. package/dist/elements/media/Image/index.d.ts +4 -1
  127. package/dist/elements/media/Svg/Settings.d.ts +7 -0
  128. package/dist/elements/media/Svg/Settings.mjs +24 -0
  129. package/dist/elements/media/Svg/Svg.d.ts +16 -0
  130. package/dist/elements/media/Svg/Svg.mjs +31 -0
  131. package/dist/elements/media/Svg/declaration.d.ts +61 -0
  132. package/dist/elements/media/Svg/declaration.mjs +49 -0
  133. package/dist/elements/media/Svg/index.d.ts +60 -0
  134. package/dist/elements/media/Svg/index.mjs +6 -0
  135. package/dist/elements/media/Svg/sanitizeSvg.d.ts +13 -0
  136. package/dist/elements/media/Svg/sanitizeSvg.mjs +5 -0
  137. package/dist/elements/media/Video/declaration.d.ts +1 -1
  138. package/dist/elements/media/Video/declaration.mjs +1 -1
  139. package/dist/elements/media/Video/index.d.ts +1 -1
  140. package/dist/elements/provider/ApiContainer/ApiContainer.d.ts +6 -1
  141. package/dist/elements/provider/ApiContainer/ApiContainer.mjs +118 -112
  142. package/dist/elements/provider/ApiContainer/Settings.d.ts +2 -1
  143. package/dist/elements/provider/ApiContainer/Settings.mjs +45 -37
  144. package/dist/elements/provider/ApiContainer/declaration.d.ts +1 -1
  145. package/dist/elements/provider/ApiContainer/declaration.mjs +1 -1
  146. package/dist/elements/provider/ApiContainer/helpers/loadingSlot.d.ts +6 -0
  147. package/dist/elements/provider/ApiContainer/helpers/loadingSlot.mjs +8 -0
  148. package/dist/elements/provider/ApiContainer/index.d.ts +1 -1
  149. package/dist/elements/provider/Channel/declaration.d.ts +1 -1
  150. package/dist/elements/provider/Channel/declaration.mjs +1 -1
  151. package/dist/elements/provider/Channel/index.d.ts +1 -1
  152. package/dist/elements/settings.mjs +40 -32
  153. package/dist/elements/structure/Carousel/Carousel.d.ts +32 -0
  154. package/dist/elements/structure/Carousel/Carousel.mjs +183 -0
  155. package/dist/elements/structure/Carousel/CarouselContext.d.ts +29 -0
  156. package/dist/elements/structure/Carousel/CarouselContext.mjs +6 -0
  157. package/dist/elements/structure/Carousel/CarouselTrack/CarouselTrack.d.ts +15 -0
  158. package/dist/elements/structure/Carousel/CarouselTrack/CarouselTrack.mjs +51 -0
  159. package/dist/elements/structure/Carousel/CarouselTrack/Settings.d.ts +2 -0
  160. package/dist/elements/structure/Carousel/CarouselTrack/Settings.mjs +8 -0
  161. package/dist/elements/structure/Carousel/CarouselTrack/components/CarouselSlide/CarouselSlide.d.ts +15 -0
  162. package/dist/elements/structure/Carousel/CarouselTrack/components/CarouselSlide/CarouselSlide.mjs +28 -0
  163. package/dist/elements/structure/Carousel/CarouselTrack/components/CarouselSlide/index.d.ts +2 -0
  164. package/dist/elements/structure/Carousel/CarouselTrack/components/CarouselSlide/index.mjs +2 -0
  165. package/dist/elements/structure/Carousel/CarouselTrack/components/MarqueeTrack/MarqueeTrack.d.ts +18 -0
  166. package/dist/elements/structure/Carousel/CarouselTrack/components/MarqueeTrack/MarqueeTrack.mjs +41 -0
  167. package/dist/elements/structure/Carousel/CarouselTrack/components/MarqueeTrack/index.d.ts +2 -0
  168. package/dist/elements/structure/Carousel/CarouselTrack/components/MarqueeTrack/index.mjs +2 -0
  169. package/dist/elements/structure/Carousel/CarouselTrack/components/ScrollTrack/ScrollTrack.d.ts +12 -0
  170. package/dist/elements/structure/Carousel/CarouselTrack/components/ScrollTrack/ScrollTrack.mjs +27 -0
  171. package/dist/elements/structure/Carousel/CarouselTrack/components/ScrollTrack/index.d.ts +2 -0
  172. package/dist/elements/structure/Carousel/CarouselTrack/components/ScrollTrack/index.mjs +2 -0
  173. package/dist/elements/structure/Carousel/CarouselTrack/declaration.d.ts +53 -0
  174. package/dist/elements/structure/Carousel/CarouselTrack/declaration.mjs +44 -0
  175. package/dist/elements/structure/Carousel/CarouselTrack/index.d.ts +52 -0
  176. package/dist/elements/structure/Carousel/CarouselTrack/index.mjs +6 -0
  177. package/dist/elements/structure/Carousel/Settings.d.ts +14 -0
  178. package/dist/elements/structure/Carousel/Settings.mjs +97 -0
  179. package/dist/elements/structure/Carousel/carouselIndex.d.ts +13 -0
  180. package/dist/elements/structure/Carousel/carouselIndex.mjs +16 -0
  181. package/dist/elements/structure/Carousel/declaration.d.ts +131 -0
  182. package/dist/elements/structure/Carousel/declaration.mjs +106 -0
  183. package/dist/elements/structure/Carousel/index.d.ts +184 -0
  184. package/dist/elements/structure/Carousel/index.mjs +10 -0
  185. package/dist/elements/structure/Carousel/useAutoplay.d.ts +18 -0
  186. package/dist/elements/structure/Carousel/useAutoplay.mjs +34 -0
  187. package/dist/elements/structure/Container/Container.d.ts +1 -1
  188. package/dist/elements/structure/Container/Settings.d.ts +1 -1
  189. package/dist/elements/structure/Container/Settings.mjs +4 -0
  190. package/dist/elements/structure/Container/declaration.d.ts +2 -2
  191. package/dist/elements/structure/Container/declaration.mjs +3 -2
  192. package/dist/elements/structure/Container/index.d.ts +2 -2
  193. package/dist/elements/structure/DialogContainer/declaration.d.ts +1 -1
  194. package/dist/elements/structure/DialogContainer/declaration.mjs +1 -1
  195. package/dist/elements/structure/DialogContainer/index.d.ts +1 -1
  196. package/dist/elements/structure/List/List.d.ts +6 -1
  197. package/dist/elements/structure/List/List.mjs +2 -1
  198. package/dist/elements/structure/List/ListItem/declaration.d.ts +1 -1
  199. package/dist/elements/structure/List/ListItem/declaration.mjs +1 -1
  200. package/dist/elements/structure/List/ListItem/index.d.ts +1 -1
  201. package/dist/elements/structure/List/Settings.d.ts +2 -1
  202. package/dist/elements/structure/List/Settings.mjs +41 -29
  203. package/dist/elements/structure/List/declaration.d.ts +2 -1
  204. package/dist/elements/structure/List/declaration.mjs +1 -1
  205. package/dist/elements/structure/List/index.d.ts +3 -2
  206. package/dist/elements/structure/List/modes/ListControlled/ListControlled.d.ts +2 -1
  207. package/dist/elements/structure/List/modes/ListControlled/ListControlled.mjs +33 -35
  208. package/dist/elements/structure/List/modes/ListControlled/ListControlledItem.mjs +1 -1
  209. package/dist/elements/structure/List/modes/ListControlled/rowKeys.d.ts +10 -0
  210. package/dist/elements/structure/List/modes/ListControlled/rowKeys.mjs +11 -0
  211. package/dist/elements/structure/ModalContainer/declaration.d.ts +1 -1
  212. package/dist/elements/structure/ModalContainer/declaration.mjs +1 -1
  213. package/dist/elements/structure/ModalContainer/index.d.ts +1 -1
  214. package/dist/elements/structure/ModalContainer/metadataFromText.d.ts +6 -0
  215. package/dist/elements/structure/ModalContainer/metadataFromText.mjs +2 -1
  216. package/dist/elements/structure/Pagination/declaration.d.ts +1 -1
  217. package/dist/elements/structure/Pagination/declaration.mjs +1 -1
  218. package/dist/elements/structure/Pagination/index.d.ts +1 -1
  219. package/dist/elements/structure/TabContainer/TabContainerBody/declaration.d.ts +1 -1
  220. package/dist/elements/structure/TabContainer/TabContainerBody/declaration.mjs +1 -1
  221. package/dist/elements/structure/TabContainer/TabContainerBody/index.d.ts +1 -1
  222. package/dist/elements/structure/TabContainer/TabContainerHeader/declaration.d.ts +1 -1
  223. package/dist/elements/structure/TabContainer/TabContainerHeader/declaration.mjs +1 -1
  224. package/dist/elements/structure/TabContainer/TabContainerHeader/index.d.ts +1 -1
  225. package/dist/elements/structure/TabContainer/TabContainerItem/declaration.d.ts +1 -1
  226. package/dist/elements/structure/TabContainer/TabContainerItem/declaration.mjs +1 -1
  227. package/dist/elements/structure/TabContainer/TabContainerItem/index.d.ts +1 -1
  228. package/dist/elements/structure/TabContainer/declaration.d.ts +1 -1
  229. package/dist/elements/structure/TabContainer/declaration.mjs +1 -1
  230. package/dist/elements/structure/TabContainer/index.d.ts +4 -4
  231. package/dist/index.d.ts +373 -39
  232. package/dist/index.mjs +34 -27
  233. package/package.json +200 -12
@@ -0,0 +1,54 @@
1
+ import { elementDeclaration as e } from "@plitzi/sdk-shared/authoring/declare";
2
+ //#region src/elements/media/Embed/declaration.ts
3
+ var t = e()({
4
+ type: "embed",
5
+ content: {
6
+ attributes: {
7
+ src: "",
8
+ title: "",
9
+ loading: "lazy"
10
+ },
11
+ definition: {
12
+ label: "Embed",
13
+ type: "embed",
14
+ description: "Another page inside this one — a map, a video player, a form — in a frame.",
15
+ bindings: {},
16
+ styleSelectors: { base: "" },
17
+ initialState: { visibility: !0 }
18
+ },
19
+ builder: {
20
+ canDelete: !0,
21
+ canSelect: !0,
22
+ canDragDrop: !0,
23
+ canMove: !0,
24
+ canSnippet: !0,
25
+ itemsAllowed: [],
26
+ itemsNotAllowed: []
27
+ },
28
+ market: {
29
+ category: "media",
30
+ owner: "Plitzi",
31
+ verified: !0,
32
+ license: "MIT",
33
+ website: "https://plitzi.com",
34
+ backgroundColor: "#4422ee",
35
+ icon: "fa-solid fa-window-maximize"
36
+ },
37
+ defaultStyle: {
38
+ name: "Embed",
39
+ displayMode: "desktop",
40
+ style: { base: { default: {
41
+ display: "block",
42
+ width: "100%",
43
+ "aspect-ratio": "16 / 9",
44
+ "border-top-width": "0px",
45
+ "border-right-width": "0px",
46
+ "border-bottom-width": "0px",
47
+ "border-left-width": "0px"
48
+ } } }
49
+ },
50
+ settings: {}
51
+ }
52
+ });
53
+ //#endregion
54
+ export { t as default };
@@ -0,0 +1,5 @@
1
+ /**
2
+ * A frame loads what its `src` names in this page's origin when that is a `javascript:` URL, so only a web address
3
+ * or a path of the site is loaded.
4
+ */
5
+ export declare const embeddableSrc: (src: string) => string | undefined;
@@ -0,0 +1,4 @@
1
+ //#region src/elements/media/Embed/embeddableSrc.ts
2
+ var e = (e) => /^(https?:)?\/\//i.test(e) || e.startsWith("/") && !e.startsWith("//") ? e : void 0;
3
+ //#endregion
4
+ export { e as embeddableSrc };
@@ -0,0 +1,69 @@
1
+ declare const Embed: {
2
+ (props: import('../../../Element/hocs/withElement').WithElementProps<import('./Embed').EmbedProps>): import('react').JSX.Element;
3
+ displayName: string;
4
+ } & {
5
+ readonly type: "embed";
6
+ readonly content: {
7
+ readonly attributes: {
8
+ readonly src: "";
9
+ readonly title: "";
10
+ readonly loading: "lazy";
11
+ };
12
+ readonly definition: {
13
+ readonly label: "Embed";
14
+ readonly type: "embed";
15
+ readonly description: "Another page inside this one — a map, a video player, a form — in a frame.";
16
+ readonly bindings: {};
17
+ readonly styleSelectors: {
18
+ readonly base: "";
19
+ };
20
+ readonly initialState: {
21
+ readonly visibility: true;
22
+ };
23
+ };
24
+ readonly builder: {
25
+ readonly canDelete: true;
26
+ readonly canSelect: true;
27
+ readonly canDragDrop: true;
28
+ readonly canMove: true;
29
+ readonly canSnippet: true;
30
+ readonly itemsAllowed: readonly [];
31
+ readonly itemsNotAllowed: readonly [];
32
+ };
33
+ readonly market: {
34
+ readonly category: "media";
35
+ readonly owner: "Plitzi";
36
+ readonly verified: true;
37
+ readonly license: "MIT";
38
+ readonly website: "https://plitzi.com";
39
+ readonly backgroundColor: "#4422ee";
40
+ readonly icon: "fa-solid fa-window-maximize";
41
+ };
42
+ readonly defaultStyle: {
43
+ readonly name: "Embed";
44
+ readonly displayMode: "desktop";
45
+ readonly style: {
46
+ readonly base: {
47
+ readonly default: {
48
+ readonly display: "block";
49
+ readonly width: "100%";
50
+ readonly 'aspect-ratio': "16 / 9";
51
+ readonly 'border-top-width': "0px";
52
+ readonly 'border-right-width': "0px";
53
+ readonly 'border-bottom-width': "0px";
54
+ readonly 'border-left-width': "0px";
55
+ };
56
+ };
57
+ };
58
+ };
59
+ readonly settings: {};
60
+ };
61
+ } & import('@plitzi/sdk-shared/authoring/declare').ElementAttributesBrand<Partial<{
62
+ title?: string | undefined;
63
+ referrerPolicy?: "no-referrer" | "origin" | "strict-origin-when-cross-origin" | "no-referrer-when-downgrade" | undefined;
64
+ src?: string | undefined;
65
+ allow?: string | undefined;
66
+ loading?: "lazy" | "eager" | undefined;
67
+ sandbox?: string | undefined;
68
+ }>>;
69
+ export default Embed;
@@ -0,0 +1,6 @@
1
+ import e from "./declaration.mjs";
2
+ import t from "./Embed.mjs";
3
+ //#region src/elements/media/Embed/index.ts
4
+ var n = Object.assign(t, e);
5
+ //#endregion
6
+ export { n as default };
@@ -1,156 +1,88 @@
1
- import { useCallback as e, useEffect as t, useMemo as n, useState as r } from "react";
2
- import { jsx as i, jsxs as a } from "react/jsx-runtime";
3
- import o from "clsx";
4
- import s from "@plitzi/plitzi-ui/Input";
5
- import c from "@plitzi/plitzi-ui/Select";
1
+ import e from "../../../components/IconPicker/IconPicker.mjs";
2
+ import { useCallback as t } from "react";
3
+ import { jsx as n, jsxs as r } from "react/jsx-runtime";
4
+ import i from "@plitzi/plitzi-ui/Input";
5
+ import a from "@plitzi/plitzi-ui/Select";
6
6
  //#region src/elements/media/FontAwesome/Settings.tsx
7
- var l = ({ icon: l = "", size: u = "fa-1x", iconAnimation: d = "", label: f = "", onUpdate: p }) => {
8
- let [m, h] = r({}), [g, _] = r(""), [v, y] = r(!1), [b, x] = r(""), S = e((e) => () => p?.("icon", e), [p]), C = n(() => Object.keys(m).map((e) => {
9
- let { styles: t, label: n } = m[e];
10
- if (!n.toLowerCase().includes(b.toLowerCase())) return [];
11
- let r = [];
12
- return t.forEach((t) => {
13
- if (g !== "" && t !== g) return;
14
- let a = "fa";
15
- switch (t) {
16
- case "brands":
17
- a = "fab";
18
- break;
19
- case "regular":
20
- a = "far";
21
- break;
22
- case "solid": a = "fas";
23
- }
24
- let s = `${a} fa-${e}`;
25
- r.push(/* @__PURE__ */ i("div", {
26
- className: o("flex h-6 w-6 cursor-pointer items-center justify-center rounded-md p-1 hover:bg-blue-200 hover:text-white", { "bg-[#339af0] text-white": s === l }),
27
- onClick: S(s),
28
- title: `${n} - [${e}]`,
29
- children: /* @__PURE__ */ i("i", { className: s }, `${e}_${a}`)
30
- }, s));
31
- }), r;
32
- }), [
33
- l,
34
- m,
35
- b,
36
- g,
37
- S
38
- ]), w = async () => {
39
- y(!0);
40
- let e = await fetch("https://raw.githubusercontent.com/FortAwesome/Font-Awesome/6.x/metadata/icons.json");
41
- h(await e.json()), y(!1);
42
- };
43
- t(() => {
44
- w();
45
- }, []);
46
- let T = e((e) => x(e), []), E = e((e) => (t) => p?.(e, t), [p]), D = e((e) => _(e), []);
47
- return /* @__PURE__ */ a("div", {
7
+ var o = ({ icon: o = "", size: s = "fa-1x", iconAnimation: c = "", label: l = "", onUpdate: u }) => {
8
+ let d = t((e) => (t) => u?.(e, t), [u]);
9
+ return /* @__PURE__ */ r("div", {
48
10
  className: "flex grow basis-0 flex-col gap-4 py-2",
49
11
  children: [
50
- /* @__PURE__ */ i(s, {
51
- value: f,
12
+ /* @__PURE__ */ n(i, {
13
+ value: l,
52
14
  label: "Meaning",
53
15
  placeholder: "Only for an icon that says something alone",
54
- onChange: E("label"),
16
+ onChange: d("label"),
55
17
  size: "xs"
56
18
  }),
57
- /* @__PURE__ */ a(c, {
58
- value: g,
59
- placeholder: "All",
60
- label: "Icon Type",
61
- onChange: D,
62
- size: "xs",
63
- children: [
64
- /* @__PURE__ */ i("option", {
65
- value: "regular",
66
- children: "Regular"
67
- }),
68
- /* @__PURE__ */ i("option", {
69
- value: "solid",
70
- children: "Solid"
71
- }),
72
- /* @__PURE__ */ i("option", {
73
- value: "brands",
74
- children: "Brands"
75
- })
76
- ]
77
- }),
78
- /* @__PURE__ */ a(c, {
19
+ /* @__PURE__ */ r(a, {
79
20
  label: "Icon Animation",
80
- value: d,
21
+ value: c,
81
22
  placeholder: "None",
82
- onChange: E("iconAnimation"),
23
+ onChange: d("iconAnimation"),
83
24
  size: "xs",
84
25
  children: [
85
- /* @__PURE__ */ i("option", {
26
+ /* @__PURE__ */ n("option", {
86
27
  value: "fa-beat",
87
28
  children: "Beat"
88
29
  }),
89
- /* @__PURE__ */ i("option", {
30
+ /* @__PURE__ */ n("option", {
90
31
  value: "fa-fade",
91
32
  children: "Fade"
92
33
  }),
93
- /* @__PURE__ */ i("option", {
34
+ /* @__PURE__ */ n("option", {
94
35
  value: "fa-beat-fade",
95
36
  children: "Beat-Fade"
96
37
  }),
97
- /* @__PURE__ */ i("option", {
38
+ /* @__PURE__ */ n("option", {
98
39
  value: "fa-bounce",
99
40
  children: "Bounce"
100
41
  }),
101
- /* @__PURE__ */ i("option", {
42
+ /* @__PURE__ */ n("option", {
102
43
  value: "fa-flip",
103
44
  children: "Flip"
104
45
  }),
105
- /* @__PURE__ */ i("option", {
46
+ /* @__PURE__ */ n("option", {
106
47
  value: "fa-shake",
107
48
  children: "Shake"
108
49
  }),
109
- /* @__PURE__ */ i("option", {
50
+ /* @__PURE__ */ n("option", {
110
51
  value: "fa-spin",
111
52
  children: "Spin"
112
53
  })
113
54
  ]
114
55
  }),
115
- /* @__PURE__ */ a(c, {
116
- value: u,
56
+ /* @__PURE__ */ r(a, {
57
+ value: s,
117
58
  label: "Icon Size",
118
- onChange: E("size"),
59
+ onChange: d("size"),
119
60
  size: "xs",
120
61
  children: [
121
- /* @__PURE__ */ i("option", {
62
+ /* @__PURE__ */ n("option", {
122
63
  value: "fa-1x",
123
64
  children: "1X"
124
65
  }),
125
- /* @__PURE__ */ i("option", {
66
+ /* @__PURE__ */ n("option", {
126
67
  value: "fa-2x",
127
68
  children: "2X"
128
69
  }),
129
- /* @__PURE__ */ i("option", {
70
+ /* @__PURE__ */ n("option", {
130
71
  value: "fa-3x",
131
72
  children: "3X"
132
73
  }),
133
- /* @__PURE__ */ i("option", {
74
+ /* @__PURE__ */ n("option", {
134
75
  value: "fa-4x",
135
76
  children: "4X"
136
77
  })
137
78
  ]
138
79
  }),
139
- /* @__PURE__ */ i(s, {
140
- value: b,
141
- placeholder: "Search Icon...",
142
- onChange: T,
143
- size: "xs"
144
- }),
145
- /* @__PURE__ */ i("div", {
146
- className: "flex grow basis-0 flex-col overflow-auto py-2",
147
- children: /* @__PURE__ */ a("div", {
148
- className: "flex flex-wrap items-center justify-center gap-1",
149
- children: [v && /* @__PURE__ */ i("i", { className: "fa-solid fa-sync fa-spin fa-3x" }), !v && C]
150
- })
80
+ /* @__PURE__ */ n(e, {
81
+ value: o,
82
+ onChange: d("icon")
151
83
  })
152
84
  ]
153
85
  });
154
86
  };
155
87
  //#endregion
156
- export { l as default };
88
+ export { o as default };
@@ -27,7 +27,7 @@ declare const declaration: {
27
27
  readonly canSelect: true;
28
28
  readonly canDragDrop: true;
29
29
  readonly canMove: true;
30
- readonly canTemplate: true;
30
+ readonly canSnippet: true;
31
31
  readonly itemsAllowed: readonly [];
32
32
  readonly itemsNotAllowed: readonly [];
33
33
  };
@@ -21,7 +21,7 @@ var t = e()({
21
21
  canSelect: !0,
22
22
  canDragDrop: !0,
23
23
  canMove: !0,
24
- canTemplate: !0,
24
+ canSnippet: !0,
25
25
  itemsAllowed: [],
26
26
  itemsNotAllowed: []
27
27
  },
@@ -26,7 +26,7 @@ declare const FontAwesome: {
26
26
  readonly canSelect: true;
27
27
  readonly canDragDrop: true;
28
28
  readonly canMove: true;
29
- readonly canTemplate: true;
29
+ readonly canSnippet: true;
30
30
  readonly itemsAllowed: readonly [];
31
31
  readonly itemsNotAllowed: readonly [];
32
32
  };
@@ -17,8 +17,18 @@ export type ImageProps = {
17
17
  fetchPriority?: 'high' | 'low' | 'auto';
18
18
  /** `auto` leaves the choice to the browser — what the builder offers first. */
19
19
  loadMode?: 'auto' | 'eager' | 'lazy';
20
+ /**
21
+ * How wide the picture is drawn, for the browser to pick a size by before the layout exists: `'100vw'`, or
22
+ * `'(max-width: 48rem) 100vw, 360px'` for a card. Read when the page server resizes pictures (`images` in its
23
+ * configuration) and the `src` is another site's.
24
+ */
25
+ sizes?: string;
26
+ /** The picture's own width and height, in pixels (0 for not given): the browser keeps its space before it arrives,
27
+ * so nothing jumps. */
28
+ width?: number;
29
+ height?: number;
20
30
  };
21
- declare const Image: ({ ref, className, src: srcProp, alt: altProp, decorative, fetchPriority, loadMode }: ImageProps) => import('react').JSX.Element;
31
+ declare const Image: ({ ref, className, src: srcProp, alt: altProp, decorative, fetchPriority, loadMode, sizes, width, height }: ImageProps) => import('react').JSX.Element;
22
32
  declare const _default: {
23
33
  (props: import('../../../Element/hocs/withElement').WithElementProps<ImageProps>): import('react').JSX.Element;
24
34
  displayName: string;
@@ -3,35 +3,45 @@ import { RootElement as t } from "../../../Element/RootElement.mjs";
3
3
  import { getFallbackSVGBase64 as n } from "./ImageHelper.mjs";
4
4
  import { useCallback as r, useState as i } from "react";
5
5
  import a from "@plitzi/sdk-shared/hooks/usePlitziServiceContext";
6
- import { jsx as o } from "react/jsx-runtime";
7
- import s from "clsx";
6
+ import { useCommonStore as o } from "@plitzi/sdk-shared/store";
7
+ import { jsx as s } from "react/jsx-runtime";
8
+ import c from "clsx";
9
+ import { imageSrcSet as l, imageUrl as u, isRemoteImage as d } from "@plitzi/sdk-shared/helpers/images";
8
10
  //#region src/elements/media/Image/Image.tsx
9
- var c = n(), l = "https://cdn.plitzi.com/resources/img/placeholder-img.svg", u = ({ ref: e, className: n = "", src: u, alt: d = "", decorative: f = !1, fetchPriority: p = "auto", loadMode: m }) => {
10
- let { settings: { previewMode: h } } = a(), g = u || l, _ = f ? "" : d, [v, y] = i(void 0), b = v === g, x = r(() => y(g), [g]), S = b ? c : g, C = b ? { "data-plitzi-failed": g } : {}, w = m === "auto" ? void 0 : m;
11
- return h ? /* @__PURE__ */ o(t, {
11
+ var f = 1280, p = n(), m = "https://cdn.plitzi.com/resources/img/placeholder-img.svg", h = ({ ref: e, className: n = "", src: h, alt: g = "", decorative: _ = !1, fetchPriority: v = "auto", loadMode: y, sizes: b = "100vw", width: x, height: S }) => {
12
+ let { settings: { previewMode: C } } = a(), w = h || m, T = _ ? "" : g, [E, D] = i(void 0), O = E === w, k = r(() => D(w), [w]), A = O ? p : w, j = O ? { "data-plitzi-failed": w } : {}, M = y === "auto" ? void 0 : y, [N] = o("images.endpoint"), P = C && N && !O && d(w) ? {
13
+ src: u(N, w, f),
14
+ srcSet: l(N, w),
15
+ sizes: b
16
+ } : { src: A }, F = {
17
+ ...x ? { width: x } : {},
18
+ ...S ? { height: S } : {}
19
+ };
20
+ return C ? /* @__PURE__ */ s(t, {
12
21
  tag: "img",
13
22
  draggable: !1,
14
23
  ref: e,
15
- className: s("plitzi-component__image", n),
16
- src: S,
17
- alt: _,
18
- loading: w,
19
- fetchPriority: p,
20
- onError: b ? void 0 : x,
21
- ...C
22
- }) : /* @__PURE__ */ o(t, {
24
+ className: c("plitzi-component__image", n),
25
+ ...P,
26
+ ...F,
27
+ alt: T,
28
+ loading: M,
29
+ fetchPriority: v,
30
+ onError: O ? void 0 : k,
31
+ ...j
32
+ }) : /* @__PURE__ */ s(t, {
23
33
  ref: e,
24
- className: s("plitzi-component__image image--edit-mode", n),
25
- children: /* @__PURE__ */ o("img", {
34
+ className: c("plitzi-component__image image--edit-mode", n),
35
+ children: /* @__PURE__ */ s("img", {
26
36
  draggable: !1,
27
- src: S,
28
- alt: _,
29
- loading: w,
30
- fetchPriority: p,
31
- onError: b ? void 0 : x,
32
- ...C
37
+ src: A,
38
+ alt: T,
39
+ loading: M,
40
+ fetchPriority: v,
41
+ onError: O ? void 0 : k,
42
+ ...j
33
43
  })
34
44
  });
35
- }, d = e(u);
45
+ }, g = e(h);
36
46
  //#endregion
37
- export { u as Image, d as default };
47
+ export { h as Image, g as default };
@@ -4,8 +4,11 @@ type SettingsProps = {
4
4
  decorative?: boolean;
5
5
  fetchPriority?: 'high' | 'low' | 'auto';
6
6
  loadMode?: 'auto' | 'lazy' | 'eager';
7
+ sizes?: string;
8
+ width?: number;
9
+ height?: number;
7
10
  variables?: Record<string, string>;
8
11
  onUpdate?: (key: string, value: string | boolean | number) => void;
9
12
  };
10
- declare const Settings: ({ src, alt, decorative, variables, fetchPriority, loadMode, onUpdate }: SettingsProps) => import('react').JSX.Element;
13
+ declare const Settings: ({ src, alt, decorative, variables, fetchPriority, loadMode, sizes, width, height, onUpdate }: SettingsProps) => import('react').JSX.Element;
11
14
  export default Settings;
@@ -5,8 +5,8 @@ import a from "@plitzi/plitzi-ui/Checkbox";
5
5
  import o from "@plitzi/plitzi-ui/Input";
6
6
  import s from "@plitzi/plitzi-ui/Select";
7
7
  //#region src/elements/media/Image/Settings.tsx
8
- var c = ({ src: c = "", alt: l = "", decorative: u = !1, variables: d, fetchPriority: f = "auto", loadMode: p = "auto", onUpdate: m }) => {
9
- let h = t(() => n(c, d, !0), [d, c]), g = e((e) => (t) => m?.(e, t), [m]), _ = e((e) => m?.("decorative", e.target.checked), [m]);
8
+ var c = ({ src: c = "", alt: l = "", decorative: u = !1, variables: d, fetchPriority: f = "auto", loadMode: p = "auto", sizes: m = "100vw", width: h, height: g, onUpdate: _ }) => {
9
+ let v = t(() => n(c, d, !0), [d, c]), y = e((e) => (t) => _?.(e, t), [_]), b = e((e) => (t) => _?.(e, Math.max(0, Math.round(Number(t) || 0))), [_]), x = e((e) => _?.("decorative", e.target.checked), [_]);
10
10
  return /* @__PURE__ */ i("div", {
11
11
  className: "flex h-full flex-col gap-4 py-2",
12
12
  children: [
@@ -15,15 +15,15 @@ var c = ({ src: c = "", alt: l = "", decorative: u = !1, variables: d, fetchPrio
15
15
  children: [/* @__PURE__ */ r(o, {
16
16
  value: c,
17
17
  label: "Url",
18
- onChange: g("src"),
18
+ onChange: y("src"),
19
19
  size: "xs"
20
- }), h && /* @__PURE__ */ i("div", {
20
+ }), v && /* @__PURE__ */ i("div", {
21
21
  className: "relative mt-2 flex items-center justify-center rounded-sm border border-gray-300 p-2",
22
22
  children: [/* @__PURE__ */ r("div", {
23
23
  className: "absolute top-2 left-2 rounded-tl rounded-br border border-gray-300 bg-white p-1 text-xs",
24
24
  children: "Preview"
25
25
  }), /* @__PURE__ */ r("img", {
26
- src: h,
26
+ src: v,
27
27
  alt: "",
28
28
  className: "h-full w-full rounded-sm"
29
29
  })]
@@ -33,19 +33,19 @@ var c = ({ src: c = "", alt: l = "", decorative: u = !1, variables: d, fetchPrio
33
33
  value: l,
34
34
  label: "Alt Text",
35
35
  placeholder: "What the picture shows, for who cannot see it",
36
- onChange: g("alt"),
36
+ onChange: y("alt"),
37
37
  size: "xs"
38
38
  }),
39
39
  /* @__PURE__ */ r(a, {
40
40
  checked: u,
41
41
  label: "Decorative (nothing to describe)",
42
- onChange: _,
42
+ onChange: x,
43
43
  size: "xs"
44
44
  }),
45
45
  /* @__PURE__ */ i(s, {
46
46
  value: f,
47
47
  label: "Fetch Priority",
48
- onChange: g("fetchPriority"),
48
+ onChange: y("fetchPriority"),
49
49
  size: "xs",
50
50
  children: [
51
51
  /* @__PURE__ */ r("option", {
@@ -65,7 +65,7 @@ var c = ({ src: c = "", alt: l = "", decorative: u = !1, variables: d, fetchPrio
65
65
  /* @__PURE__ */ i(s, {
66
66
  value: p,
67
67
  label: "Load Mode",
68
- onChange: g("loadMode"),
68
+ onChange: y("loadMode"),
69
69
  size: "xs",
70
70
  children: [
71
71
  /* @__PURE__ */ r("option", {
@@ -81,6 +81,29 @@ var c = ({ src: c = "", alt: l = "", decorative: u = !1, variables: d, fetchPrio
81
81
  children: "Eager"
82
82
  })
83
83
  ]
84
+ }),
85
+ /* @__PURE__ */ r(o, {
86
+ value: m,
87
+ label: "Sizes",
88
+ placeholder: "(max-width: 48rem) 100vw, 360px",
89
+ onChange: y("sizes"),
90
+ size: "xs"
91
+ }),
92
+ /* @__PURE__ */ i("div", {
93
+ className: "flex gap-2",
94
+ children: [/* @__PURE__ */ r(o, {
95
+ type: "number",
96
+ value: h ? String(h) : "",
97
+ label: "Width (px)",
98
+ onChange: b("width"),
99
+ size: "xs"
100
+ }), /* @__PURE__ */ r(o, {
101
+ type: "number",
102
+ value: g ? String(g) : "",
103
+ label: "Height (px)",
104
+ onChange: b("height"),
105
+ size: "xs"
106
+ })]
84
107
  })
85
108
  ]
86
109
  });
@@ -33,7 +33,7 @@ declare const declaration: {
33
33
  readonly canSelect: true;
34
34
  readonly canDragDrop: true;
35
35
  readonly canMove: true;
36
- readonly canTemplate: true;
36
+ readonly canSnippet: true;
37
37
  readonly itemsAllowed: readonly [];
38
38
  readonly itemsNotAllowed: readonly [];
39
39
  };
@@ -62,7 +62,10 @@ declare const declaration: {
62
62
  readonly settings: {};
63
63
  };
64
64
  } & import('@plitzi/sdk-shared/authoring/declare').ElementAttributesBrand<Partial<{
65
+ height?: number | undefined;
66
+ width?: number | undefined;
65
67
  fetchPriority?: "high" | "low" | "auto" | undefined;
68
+ sizes?: string | undefined;
66
69
  src?: string | undefined;
67
70
  alt?: string | undefined;
68
71
  decorative?: boolean | undefined;
@@ -35,7 +35,7 @@ var n = e()({
35
35
  canSelect: !0,
36
36
  canDragDrop: !0,
37
37
  canMove: !0,
38
- canTemplate: !0,
38
+ canSnippet: !0,
39
39
  itemsAllowed: [],
40
40
  itemsNotAllowed: []
41
41
  },
@@ -32,7 +32,7 @@ declare const Image: {
32
32
  readonly canSelect: true;
33
33
  readonly canDragDrop: true;
34
34
  readonly canMove: true;
35
- readonly canTemplate: true;
35
+ readonly canSnippet: true;
36
36
  readonly itemsAllowed: readonly [];
37
37
  readonly itemsNotAllowed: readonly [];
38
38
  };
@@ -61,7 +61,10 @@ declare const Image: {
61
61
  readonly settings: {};
62
62
  };
63
63
  } & import('@plitzi/sdk-shared/authoring/declare').ElementAttributesBrand<Partial<{
64
+ height?: number | undefined;
65
+ width?: number | undefined;
64
66
  fetchPriority?: "high" | "low" | "auto" | undefined;
67
+ sizes?: string | undefined;
65
68
  src?: string | undefined;
66
69
  alt?: string | undefined;
67
70
  decorative?: boolean | undefined;
@@ -0,0 +1,7 @@
1
+ type SettingsProps = {
2
+ content?: string;
3
+ label?: string;
4
+ onUpdate?: (key: string, value: string | boolean | number) => void;
5
+ };
6
+ declare const Settings: ({ content, label, onUpdate }: SettingsProps) => import('react').JSX.Element;
7
+ export default Settings;
@@ -0,0 +1,24 @@
1
+ import e from "../../../components/ElementAdvancedEditor.mjs";
2
+ import { useCallback as t } from "react";
3
+ import { jsx as n, jsxs as r } from "react/jsx-runtime";
4
+ import i from "@plitzi/plitzi-ui/Input";
5
+ //#region src/elements/media/Svg/Settings.tsx
6
+ var a = ({ content: a = "", label: o = "", onUpdate: s }) => {
7
+ let c = t((e) => (t) => s?.(e, t), [s]);
8
+ return /* @__PURE__ */ r("div", {
9
+ className: "flex h-full flex-col gap-4 py-2",
10
+ children: [/* @__PURE__ */ n(i, {
11
+ value: o,
12
+ label: "Label",
13
+ placeholder: "What it means — empty for decoration",
14
+ onChange: c("label")
15
+ }), /* @__PURE__ */ n(e, {
16
+ className: "grow",
17
+ value: a,
18
+ mode: "html",
19
+ onChange: c("content")
20
+ })]
21
+ });
22
+ };
23
+ //#endregion
24
+ export { a as default };