@plitzi/sdk-elements 0.37.8 → 0.37.10

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 (247) hide show
  1. package/CHANGELOG.md +835 -0
  2. package/dist/Element/ElementContext.mjs +2 -3
  3. package/dist/Element/ElementParentContext.mjs +2 -3
  4. package/dist/Element/ElementWords.d.ts +16 -0
  5. package/dist/Element/ElementWords.mjs +19 -0
  6. package/dist/Element/LayoutBody.d.ts +12 -9
  7. package/dist/Element/LayoutBody.mjs +13 -14
  8. package/dist/Element/RootElement.mjs +15 -12
  9. package/dist/Element/helpers/elementConstants.mjs +27 -0
  10. package/dist/Element/helpers/renderStaticTag.d.ts +3 -1
  11. package/dist/Element/helpers/renderStaticTag.mjs +6 -5
  12. package/dist/Element/hooks/useElementDataSource.mjs +20 -19
  13. package/dist/Element/hooks/useElementInternal.mjs +21 -20
  14. package/dist/Element/hooks/useInternalClassName.mjs +1 -1
  15. package/dist/Element/hooks/useInternalItems.mjs +33 -31
  16. package/dist/Element/hooks/useIntervalTriggers.d.ts +17 -0
  17. package/dist/Element/hooks/useIntervalTriggers.mjs +37 -0
  18. package/dist/Element/hooks/useRootElementInteractions.d.ts +6 -2
  19. package/dist/Element/hooks/useRootElementInteractions.mjs +84 -63
  20. package/dist/Element/hooks/useScrollInteractions.d.ts +20 -0
  21. package/dist/Element/hooks/useScrollInteractions.mjs +58 -0
  22. package/dist/components/IconField/IconField.d.ts +8 -0
  23. package/dist/components/IconField/IconField.mjs +41 -0
  24. package/dist/components/IconField/index.d.ts +2 -0
  25. package/dist/components/IconField/index.mjs +2 -0
  26. package/dist/components/IconPicker/IconPicker.d.ts +11 -0
  27. package/dist/components/IconPicker/IconPicker.mjs +82 -0
  28. package/dist/components/IconPicker/index.d.ts +2 -0
  29. package/dist/components/IconPicker/index.mjs +2 -0
  30. package/dist/dataSource/GlobalSources.mjs +102 -83
  31. package/dist/dataSource/useFlag.d.ts +9 -0
  32. package/dist/dataSource/useFlag.mjs +8 -0
  33. package/dist/elements/advanced/BlockHtml/declaration.d.ts +1 -1
  34. package/dist/elements/advanced/BlockHtml/declaration.mjs +1 -1
  35. package/dist/elements/advanced/BlockHtml/index.d.ts +1 -1
  36. package/dist/elements/advanced/BlockJsx/Settings.mjs +2 -1
  37. package/dist/elements/advanced/BlockJsx/declaration.d.ts +1 -1
  38. package/dist/elements/advanced/BlockJsx/declaration.mjs +1 -1
  39. package/dist/elements/advanced/BlockJsx/index.d.ts +1 -1
  40. package/dist/elements/advanced/Custom/declaration.d.ts +1 -1
  41. package/dist/elements/advanced/Custom/declaration.mjs +1 -1
  42. package/dist/elements/advanced/Custom/index.d.ts +1 -1
  43. package/dist/elements/advanced/NodeHtml/declaration.d.ts +3 -3
  44. package/dist/elements/advanced/NodeHtml/declaration.mjs +1 -1
  45. package/dist/elements/advanced/NodeHtml/index.d.ts +3 -3
  46. package/dist/elements/advanced/Reference/PropField.d.ts +13 -0
  47. package/dist/elements/advanced/Reference/PropField.mjs +65 -0
  48. package/dist/elements/advanced/Reference/Reference.d.ts +5 -6
  49. package/dist/elements/advanced/Reference/Reference.mjs +128 -138
  50. package/dist/elements/advanced/Reference/Settings.d.ts +5 -4
  51. package/dist/elements/advanced/Reference/Settings.mjs +48 -87
  52. package/dist/elements/advanced/Reference/declaration.d.ts +3 -5
  53. package/dist/elements/advanced/Reference/declaration.mjs +3 -4
  54. package/dist/elements/advanced/Reference/index.d.ts +3 -5
  55. package/dist/elements/basic/Button/Button.d.ts +9 -1
  56. package/dist/elements/basic/Button/Button.mjs +31 -19
  57. package/dist/elements/basic/Button/Settings.d.ts +3 -1
  58. package/dist/elements/basic/Button/Settings.mjs +39 -33
  59. package/dist/elements/basic/Button/declaration.d.ts +7 -1
  60. package/dist/elements/basic/Button/declaration.mjs +10 -4
  61. package/dist/elements/basic/Button/index.d.ts +7 -1
  62. package/dist/elements/basic/Dropdown/DropdownPopup/declaration.d.ts +1 -1
  63. package/dist/elements/basic/Dropdown/DropdownPopup/declaration.mjs +1 -1
  64. package/dist/elements/basic/Dropdown/DropdownPopup/index.d.ts +1 -1
  65. package/dist/elements/basic/Dropdown/declaration.d.ts +1 -1
  66. package/dist/elements/basic/Dropdown/declaration.mjs +1 -1
  67. package/dist/elements/basic/Dropdown/index.d.ts +2 -2
  68. package/dist/elements/basic/Heading/declaration.d.ts +1 -1
  69. package/dist/elements/basic/Heading/declaration.mjs +1 -1
  70. package/dist/elements/basic/Heading/index.d.ts +1 -1
  71. package/dist/elements/basic/Link/Link.d.ts +20 -1
  72. package/dist/elements/basic/Link/Link.mjs +67 -47
  73. package/dist/elements/basic/Link/Settings.d.ts +6 -1
  74. package/dist/elements/basic/Link/Settings.mjs +91 -58
  75. package/dist/elements/basic/Link/declaration.d.ts +14 -1
  76. package/dist/elements/basic/Link/declaration.mjs +15 -5
  77. package/dist/elements/basic/Link/index.d.ts +14 -1
  78. package/dist/elements/basic/Link/isCurrentPage.d.ts +5 -0
  79. package/dist/elements/basic/Link/isCurrentPage.mjs +12 -0
  80. package/dist/elements/basic/Markdown/declaration.d.ts +1 -1
  81. package/dist/elements/basic/Markdown/declaration.mjs +1 -1
  82. package/dist/elements/basic/Markdown/index.d.ts +1 -1
  83. package/dist/elements/basic/Paragraph/declaration.d.ts +1 -1
  84. package/dist/elements/basic/Paragraph/declaration.mjs +1 -1
  85. package/dist/elements/basic/Paragraph/index.d.ts +1 -1
  86. package/dist/elements/basic/RichText/declaration.d.ts +1 -1
  87. package/dist/elements/basic/RichText/declaration.mjs +1 -1
  88. package/dist/elements/basic/RichText/index.d.ts +1 -1
  89. package/dist/elements/basic/Text/declaration.d.ts +1 -1
  90. package/dist/elements/basic/Text/declaration.mjs +1 -1
  91. package/dist/elements/basic/Text/index.d.ts +1 -1
  92. package/dist/elements/basic/ThemeToggle/declaration.d.ts +1 -1
  93. package/dist/elements/basic/ThemeToggle/declaration.mjs +1 -1
  94. package/dist/elements/basic/ThemeToggle/index.d.ts +1 -1
  95. package/dist/elements/declarations/index.d.ts +364 -44
  96. package/dist/elements/declarations/index.mjs +40 -32
  97. package/dist/elements/form/Form/declaration.d.ts +1 -1
  98. package/dist/elements/form/Form/declaration.mjs +1 -1
  99. package/dist/elements/form/Form/index.d.ts +1 -1
  100. package/dist/elements/form/FormControl/FormControl.mjs +1 -1
  101. package/dist/elements/form/FormControl/declaration.d.ts +1 -1
  102. package/dist/elements/form/FormControl/declaration.mjs +1 -1
  103. package/dist/elements/form/FormControl/index.d.ts +1 -1
  104. package/dist/elements/index.d.ts +7 -1
  105. package/dist/elements/index.mjs +30 -24
  106. package/dist/elements/internal/LayoutContainer/declaration.d.ts +1 -1
  107. package/dist/elements/internal/LayoutContainer/declaration.mjs +1 -1
  108. package/dist/elements/internal/LayoutContainer/index.d.ts +1 -1
  109. package/dist/elements/internal/Loading/declaration.d.ts +1 -1
  110. package/dist/elements/internal/Loading/declaration.mjs +1 -1
  111. package/dist/elements/internal/Loading/index.d.ts +1 -1
  112. package/dist/elements/internal/NotFound/declaration.d.ts +1 -1
  113. package/dist/elements/internal/NotFound/declaration.mjs +1 -1
  114. package/dist/elements/internal/NotFound/index.d.ts +1 -1
  115. package/dist/elements/internal/Page/Page.mjs +29 -29
  116. package/dist/elements/internal/Page/declaration.d.ts +1 -1
  117. package/dist/elements/internal/Page/declaration.mjs +1 -1
  118. package/dist/elements/internal/Page/index.d.ts +1 -1
  119. package/dist/elements/media/Embed/Embed.d.ts +22 -0
  120. package/dist/elements/media/Embed/Embed.mjs +29 -0
  121. package/dist/elements/media/Embed/Settings.d.ts +10 -0
  122. package/dist/elements/media/Embed/Settings.mjs +51 -0
  123. package/dist/elements/media/Embed/declaration.d.ts +70 -0
  124. package/dist/elements/media/Embed/declaration.mjs +54 -0
  125. package/dist/elements/media/Embed/embeddableSrc.d.ts +5 -0
  126. package/dist/elements/media/Embed/embeddableSrc.mjs +4 -0
  127. package/dist/elements/media/Embed/index.d.ts +69 -0
  128. package/dist/elements/media/Embed/index.mjs +6 -0
  129. package/dist/elements/media/FontAwesome/Settings.mjs +32 -100
  130. package/dist/elements/media/FontAwesome/declaration.d.ts +1 -1
  131. package/dist/elements/media/FontAwesome/declaration.mjs +1 -1
  132. package/dist/elements/media/FontAwesome/index.d.ts +1 -1
  133. package/dist/elements/media/Image/Image.d.ts +11 -1
  134. package/dist/elements/media/Image/Image.mjs +33 -23
  135. package/dist/elements/media/Image/Settings.d.ts +4 -1
  136. package/dist/elements/media/Image/Settings.mjs +32 -9
  137. package/dist/elements/media/Image/declaration.d.ts +4 -1
  138. package/dist/elements/media/Image/declaration.mjs +1 -1
  139. package/dist/elements/media/Image/index.d.ts +4 -1
  140. package/dist/elements/media/Svg/Settings.d.ts +7 -0
  141. package/dist/elements/media/Svg/Settings.mjs +24 -0
  142. package/dist/elements/media/Svg/Svg.d.ts +16 -0
  143. package/dist/elements/media/Svg/Svg.mjs +31 -0
  144. package/dist/elements/media/Svg/declaration.d.ts +61 -0
  145. package/dist/elements/media/Svg/declaration.mjs +49 -0
  146. package/dist/elements/media/Svg/index.d.ts +60 -0
  147. package/dist/elements/media/Svg/index.mjs +6 -0
  148. package/dist/elements/media/Svg/sanitizeSvg.d.ts +13 -0
  149. package/dist/elements/media/Svg/sanitizeSvg.mjs +5 -0
  150. package/dist/elements/media/Video/declaration.d.ts +1 -1
  151. package/dist/elements/media/Video/declaration.mjs +1 -1
  152. package/dist/elements/media/Video/index.d.ts +1 -1
  153. package/dist/elements/provider/ApiContainer/ApiContainer.d.ts +6 -1
  154. package/dist/elements/provider/ApiContainer/ApiContainer.mjs +118 -112
  155. package/dist/elements/provider/ApiContainer/Settings.d.ts +2 -1
  156. package/dist/elements/provider/ApiContainer/Settings.mjs +45 -37
  157. package/dist/elements/provider/ApiContainer/declaration.d.ts +1 -1
  158. package/dist/elements/provider/ApiContainer/declaration.mjs +1 -1
  159. package/dist/elements/provider/ApiContainer/helpers/loadingSlot.d.ts +6 -0
  160. package/dist/elements/provider/ApiContainer/helpers/loadingSlot.mjs +8 -0
  161. package/dist/elements/provider/ApiContainer/hooks/useApi.mjs +12 -12
  162. package/dist/elements/provider/ApiContainer/index.d.ts +1 -1
  163. package/dist/elements/provider/Channel/declaration.d.ts +1 -1
  164. package/dist/elements/provider/Channel/declaration.mjs +1 -1
  165. package/dist/elements/provider/Channel/index.d.ts +1 -1
  166. package/dist/elements/settings.mjs +40 -32
  167. package/dist/elements/structure/Carousel/Carousel.d.ts +32 -0
  168. package/dist/elements/structure/Carousel/Carousel.mjs +183 -0
  169. package/dist/elements/structure/Carousel/CarouselContext.d.ts +29 -0
  170. package/dist/elements/structure/Carousel/CarouselContext.mjs +6 -0
  171. package/dist/elements/structure/Carousel/CarouselTrack/CarouselTrack.d.ts +15 -0
  172. package/dist/elements/structure/Carousel/CarouselTrack/CarouselTrack.mjs +51 -0
  173. package/dist/elements/structure/Carousel/CarouselTrack/Settings.d.ts +2 -0
  174. package/dist/elements/structure/Carousel/CarouselTrack/Settings.mjs +8 -0
  175. package/dist/elements/structure/Carousel/CarouselTrack/components/CarouselSlide/CarouselSlide.d.ts +15 -0
  176. package/dist/elements/structure/Carousel/CarouselTrack/components/CarouselSlide/CarouselSlide.mjs +28 -0
  177. package/dist/elements/structure/Carousel/CarouselTrack/components/CarouselSlide/index.d.ts +2 -0
  178. package/dist/elements/structure/Carousel/CarouselTrack/components/CarouselSlide/index.mjs +2 -0
  179. package/dist/elements/structure/Carousel/CarouselTrack/components/MarqueeTrack/MarqueeTrack.d.ts +18 -0
  180. package/dist/elements/structure/Carousel/CarouselTrack/components/MarqueeTrack/MarqueeTrack.mjs +41 -0
  181. package/dist/elements/structure/Carousel/CarouselTrack/components/MarqueeTrack/index.d.ts +2 -0
  182. package/dist/elements/structure/Carousel/CarouselTrack/components/MarqueeTrack/index.mjs +2 -0
  183. package/dist/elements/structure/Carousel/CarouselTrack/components/ScrollTrack/ScrollTrack.d.ts +12 -0
  184. package/dist/elements/structure/Carousel/CarouselTrack/components/ScrollTrack/ScrollTrack.mjs +27 -0
  185. package/dist/elements/structure/Carousel/CarouselTrack/components/ScrollTrack/index.d.ts +2 -0
  186. package/dist/elements/structure/Carousel/CarouselTrack/components/ScrollTrack/index.mjs +2 -0
  187. package/dist/elements/structure/Carousel/CarouselTrack/declaration.d.ts +53 -0
  188. package/dist/elements/structure/Carousel/CarouselTrack/declaration.mjs +44 -0
  189. package/dist/elements/structure/Carousel/CarouselTrack/index.d.ts +52 -0
  190. package/dist/elements/structure/Carousel/CarouselTrack/index.mjs +6 -0
  191. package/dist/elements/structure/Carousel/Settings.d.ts +14 -0
  192. package/dist/elements/structure/Carousel/Settings.mjs +97 -0
  193. package/dist/elements/structure/Carousel/carouselIndex.d.ts +13 -0
  194. package/dist/elements/structure/Carousel/carouselIndex.mjs +16 -0
  195. package/dist/elements/structure/Carousel/declaration.d.ts +131 -0
  196. package/dist/elements/structure/Carousel/declaration.mjs +106 -0
  197. package/dist/elements/structure/Carousel/index.d.ts +184 -0
  198. package/dist/elements/structure/Carousel/index.mjs +10 -0
  199. package/dist/elements/structure/Carousel/useAutoplay.d.ts +18 -0
  200. package/dist/elements/structure/Carousel/useAutoplay.mjs +34 -0
  201. package/dist/elements/structure/Container/Container.d.ts +1 -1
  202. package/dist/elements/structure/Container/Settings.d.ts +1 -1
  203. package/dist/elements/structure/Container/Settings.mjs +4 -0
  204. package/dist/elements/structure/Container/declaration.d.ts +2 -2
  205. package/dist/elements/structure/Container/declaration.mjs +3 -2
  206. package/dist/elements/structure/Container/index.d.ts +2 -2
  207. package/dist/elements/structure/DialogContainer/declaration.d.ts +1 -1
  208. package/dist/elements/structure/DialogContainer/declaration.mjs +1 -1
  209. package/dist/elements/structure/DialogContainer/index.d.ts +1 -1
  210. package/dist/elements/structure/List/List.d.ts +6 -1
  211. package/dist/elements/structure/List/List.mjs +2 -1
  212. package/dist/elements/structure/List/ListItem/declaration.d.ts +1 -1
  213. package/dist/elements/structure/List/ListItem/declaration.mjs +1 -1
  214. package/dist/elements/structure/List/ListItem/index.d.ts +1 -1
  215. package/dist/elements/structure/List/Settings.d.ts +2 -1
  216. package/dist/elements/structure/List/Settings.mjs +41 -29
  217. package/dist/elements/structure/List/declaration.d.ts +2 -1
  218. package/dist/elements/structure/List/declaration.mjs +1 -1
  219. package/dist/elements/structure/List/index.d.ts +3 -2
  220. package/dist/elements/structure/List/modes/ListControlled/ListControlled.d.ts +2 -1
  221. package/dist/elements/structure/List/modes/ListControlled/ListControlled.mjs +36 -35
  222. package/dist/elements/structure/List/modes/ListControlled/ListControlledItem.mjs +1 -1
  223. package/dist/elements/structure/List/modes/ListControlled/rowKeys.d.ts +10 -0
  224. package/dist/elements/structure/List/modes/ListControlled/rowKeys.mjs +11 -0
  225. package/dist/elements/structure/ModalContainer/declaration.d.ts +1 -1
  226. package/dist/elements/structure/ModalContainer/declaration.mjs +1 -1
  227. package/dist/elements/structure/ModalContainer/index.d.ts +1 -1
  228. package/dist/elements/structure/ModalContainer/metadataFromText.d.ts +6 -0
  229. package/dist/elements/structure/ModalContainer/metadataFromText.mjs +2 -1
  230. package/dist/elements/structure/Pagination/declaration.d.ts +1 -1
  231. package/dist/elements/structure/Pagination/declaration.mjs +1 -1
  232. package/dist/elements/structure/Pagination/index.d.ts +1 -1
  233. package/dist/elements/structure/TabContainer/TabContainerBody/declaration.d.ts +1 -1
  234. package/dist/elements/structure/TabContainer/TabContainerBody/declaration.mjs +1 -1
  235. package/dist/elements/structure/TabContainer/TabContainerBody/index.d.ts +1 -1
  236. package/dist/elements/structure/TabContainer/TabContainerHeader/declaration.d.ts +1 -1
  237. package/dist/elements/structure/TabContainer/TabContainerHeader/declaration.mjs +1 -1
  238. package/dist/elements/structure/TabContainer/TabContainerHeader/index.d.ts +1 -1
  239. package/dist/elements/structure/TabContainer/TabContainerItem/declaration.d.ts +1 -1
  240. package/dist/elements/structure/TabContainer/TabContainerItem/declaration.mjs +1 -1
  241. package/dist/elements/structure/TabContainer/TabContainerItem/index.d.ts +1 -1
  242. package/dist/elements/structure/TabContainer/declaration.d.ts +1 -1
  243. package/dist/elements/structure/TabContainer/declaration.mjs +1 -1
  244. package/dist/elements/structure/TabContainer/index.d.ts +4 -4
  245. package/dist/index.d.ts +375 -43
  246. package/dist/index.mjs +34 -27
  247. package/package.json +202 -10
@@ -1,147 +1,137 @@
1
- import e from "../../../Element/LayoutBody.mjs";
2
- import t from "../../../Element/hocs/withElement.mjs";
3
- import n from "../../../Element/hooks/useElement.mjs";
4
- import { RootElement as r } from "../../../Element/RootElement.mjs";
5
- import i from "../../../Element/PluginManager.mjs";
6
- import { use as a, useCallback as o, useEffect as s, useMemo as c, useRef as l, useState as u } from "react";
7
- import d from "@plitzi/sdk-shared/hooks/usePlitziServiceContext";
8
- import { useCommonStore as f } from "@plitzi/sdk-shared/store";
9
- import { get as p } from "@plitzi/plitzi-ui/helpers";
10
- import { StoreProvider as m } from "@plitzi/nexus/react";
11
- import { jsx as h, jsxs as g } from "react/jsx-runtime";
12
- import _ from "clsx";
1
+ import { isVisible as e } from "../../../Element/helpers/isVisible.mjs";
2
+ import t from "../../../Element/LayoutBody.mjs";
3
+ import n from "../../../Element/hooks/useInternalItems.mjs";
4
+ import r from "../../../Element/hocs/withElement.mjs";
5
+ import i from "../../../Element/hooks/useElement.mjs";
6
+ import { RootElement as a } from "../../../Element/RootElement.mjs";
7
+ import o from "../../../Element/PluginManager.mjs";
8
+ import s from "../../../Element/ReplicaProvider.mjs";
9
+ import { useId as c, useMemo as l } from "react";
10
+ import u from "@plitzi/sdk-shared/hooks/usePlitziServiceContext";
11
+ import { useCommonStore as d } from "@plitzi/sdk-shared/store";
12
+ import { COMPONENT_PROPS_SOURCE as f } from "@plitzi/sdk-shared/schema/schemaConstants";
13
+ import { StoreProvider as p } from "@plitzi/nexus/react";
14
+ import { jsx as m, jsxs as h } from "react/jsx-runtime";
15
+ import g from "clsx";
16
+ import { HIDDEN_CLASS as _ } from "@plitzi/sdk-shared/style/styleStates";
13
17
  //#region src/elements/advanced/Reference/Reference.tsx
14
- var v = ({ ref: t, children: v, className: y = "", referenceType: b = "element", referenceId: x = "", referenceContainer: S = "" }) => {
15
- let { id: C, definition: { rootId: w, styleSelectors: T } } = n(), { settings: { previewMode: E, environment: D }, contexts: { SegmentsContext: O } } = d(), [[k, A]] = f(["schema", "segments"]), { segmentGet: j } = a(O), M = l(k);
16
- M.current = k;
17
- let N = l(A);
18
- N.current = A;
19
- let P = o((e, t) => {
20
- let n, r;
21
- switch (t) {
22
- case "segment": {
23
- let t = p(N.current, e);
24
- if (!t) return;
25
- let i = p(t, "definition.baseElementId");
26
- r = p(t, "schema"), n = p(t, `schema.flat.${i}`);
27
- break;
28
- }
29
- default: n = p(M.current, `flat.${e}`), r = M.current;
30
- }
31
- if (n) return {
32
- element: n,
33
- elementType: p(n, "definition.type"),
34
- referenceContextData: {
35
- schema: r,
36
- prevSchema: M.current
37
- }
38
- };
39
- }, []), [F, I] = u(P(x, b)), L = o(async (e, t) => {
40
- let n = P(e, t);
41
- if (n) {
42
- I(n);
43
- return;
44
- }
45
- let r, i;
46
- switch (t) {
47
- case "segment": {
48
- let t;
49
- if (e && (t = await j(e)), !t) return;
50
- let n = p(t, "definition.baseElementId");
51
- i = p(t, "schema"), r = p(t, `schema.flat.${n}`);
52
- break;
53
- }
54
- default: r = p(M.current, `flat.${e}`), i = M.current;
55
- }
56
- if (!r) {
57
- I(void 0);
58
- return;
18
+ var v = (e, t) => Object.fromEntries(Object.entries(e.props ?? {}).map(([e, n]) => [e, t[e] ?? n.default ?? null])), y = (t, n) => g(t, { [_]: !e(n.visibility) }), b = ({ instance: e, instanceId: t, items: r, plitziElementLayout: i, previewMode: a }) => {
19
+ let o = l(() => ({
20
+ ...e,
21
+ items: r
22
+ }), [e, r]);
23
+ return n({
24
+ id: t,
25
+ definition: o,
26
+ plitziElementLayout: i,
27
+ children: void 0,
28
+ previewMode: a
29
+ });
30
+ }, x = ({ ref: e, className: n, componentId: r, previewMode: u }) => {
31
+ let { id: _, attributes: x, definition: S, plitziElementLayout: C, elementState: w, definition: { styleSelectors: T } } = i(), [E] = d("schema.components"), D = l(() => S.items ?? [], [S.items]), O = l(() => D.map((e) => `schema.flat.${e}.attributes.slot`), [D]), [k] = d(O), A = c(), j = Object.hasOwn(E, r) ? E[r] : void 0, M = l(() => j ? {
32
+ schema: { flat: j.flat },
33
+ runtime: { sources: { [f]: v(j, x) } }
34
+ } : {}, [j, x]), N = l(() => ({
35
+ slots: j?.slots ?? [],
36
+ rootId: _,
37
+ type: "component"
38
+ }), [j?.slots, _]), P = l(() => {
39
+ let e = j?.slots ?? [], t = {};
40
+ for (let n of e) {
41
+ let r = D.filter((t, r) => {
42
+ let i = k[r];
43
+ return (typeof i == "string" ? i : e[0]) === n;
44
+ });
45
+ t[n] = /* @__PURE__ */ m(b, {
46
+ instance: S,
47
+ instanceId: _,
48
+ items: r,
49
+ plitziElementLayout: C,
50
+ previewMode: u
51
+ });
59
52
  }
60
- I({
61
- element: r,
62
- elementType: p(r, "definition.type"),
63
- referenceContextData: {
64
- schema: i,
65
- prevSchema: M.current
66
- }
67
- });
68
- }, [P, j]);
69
- s(() => {
70
- L(x, b);
53
+ return t;
71
54
  }, [
72
- L,
73
- x,
74
- b
75
- ]);
76
- let R = c(() => ({
77
- containerId: S,
78
- type: b,
79
- rootId: C
80
- }), [
55
+ j?.slots,
56
+ D,
57
+ k,
81
58
  S,
82
- b,
83
- C
84
- ]), z = c(() => ({
85
- id: F?.element?.id ?? "",
86
- rootId: w,
87
- className: T.base
59
+ _,
60
+ C,
61
+ u
62
+ ]), F = y(T.base, w), I = l(() => ({
63
+ id: j?.rootId ?? "",
64
+ rootId: _,
65
+ className: F
88
66
  }), [
89
- F?.element?.id,
90
- w,
91
- T.base
92
- ]);
93
- if (!F) return /* @__PURE__ */ h(r, {
94
- ref: t,
95
- className: _("plitzi-component__reference", y, { "reference--build-mode": !E }),
96
- children: !E && /* @__PURE__ */ g("div", {
97
- className: "reference__label",
98
- children: ["Element Reference ", /* @__PURE__ */ h("b", {
99
- className: "capitalize",
100
- children: b
101
- })]
67
+ j?.rootId,
68
+ _,
69
+ F
70
+ ]), L = j ? j.flat[j.rootId] : void 0, R = L && /* @__PURE__ */ m(s, { children: /* @__PURE__ */ m(p, {
71
+ inherit: "live",
72
+ name: `Component:${r}:${_}`,
73
+ segment: A,
74
+ value: M,
75
+ children: /* @__PURE__ */ m(t, {
76
+ bodies: P,
77
+ children: /* @__PURE__ */ m(o, {
78
+ type: L.definition.type,
79
+ internalProps: I,
80
+ plitziElementLayout: N
81
+ }, `${_}_${r}`)
102
82
  })
83
+ }) });
84
+ return u && R ? R : /* @__PURE__ */ h(a, {
85
+ ref: e,
86
+ className: g("plitzi-component__reference", n, { "reference--build-mode": !u }),
87
+ children: [R, !u && !L && /* @__PURE__ */ h("div", {
88
+ className: "reference__label",
89
+ children: [
90
+ "Component ",
91
+ r,
92
+ " not found"
93
+ ]
94
+ })]
103
95
  });
104
- let { element: B, elementType: V, referenceContextData: H } = F;
105
- return E && B && b === "element" ? /* @__PURE__ */ h(m, {
106
- name: `Reference:${C}`,
107
- value: H,
108
- children: /* @__PURE__ */ h(e, {
109
- body: v,
110
- children: /* @__PURE__ */ h(i, {
111
- type: V,
112
- internalProps: z,
113
- plitziElementLayout: R
114
- }, `${C}_${x}`)
115
- })
116
- }) : /* @__PURE__ */ g(r, {
117
- ref: t,
118
- className: _("plitzi-component__reference", y, { "reference--build-mode": !E }),
119
- children: [
120
- /* @__PURE__ */ h(m, {
121
- name: `Reference:${C}`,
122
- value: H,
123
- children: B && /* @__PURE__ */ h(e, {
124
- body: v,
125
- children: /* @__PURE__ */ h(i, {
126
- type: V,
127
- internalProps: z,
128
- plitziElementLayout: R
129
- }, `${C}_${x}`)
130
- })
131
- }),
132
- !E && !B && /* @__PURE__ */ g("div", {
133
- className: "reference__label",
134
- children: ["Element Reference ", b]
135
- }),
136
- E && !B && b === "segment" && /* @__PURE__ */ g("div", { children: [
137
- "Segment ",
138
- /* @__PURE__ */ h("b", { children: x }),
139
- " not found, publish to ",
140
- /* @__PURE__ */ h("b", { children: D }),
141
- " environment"
142
- ] })
143
- ]
96
+ }, S = ({ ref: e, className: t, referenceId: n, previewMode: r }) => {
97
+ let { id: u, elementState: f, definition: { rootId: _, styleSelectors: v } } = i(), [b] = d(`schema.flat.${n}`), x = b, S = c(), C = y(v.base, f), w = l(() => ({
98
+ id: x?.id ?? "",
99
+ rootId: _,
100
+ className: C
101
+ }), [
102
+ x?.id,
103
+ _,
104
+ C
105
+ ]), T = x && /* @__PURE__ */ m(s, { children: /* @__PURE__ */ m(p, {
106
+ inherit: "live",
107
+ name: `Reference:${u}`,
108
+ segment: S,
109
+ children: /* @__PURE__ */ m(o, {
110
+ type: x.definition.type,
111
+ internalProps: w
112
+ }, `${u}_${n}`)
113
+ }) });
114
+ return r && T ? T : /* @__PURE__ */ h(a, {
115
+ ref: e,
116
+ className: g("plitzi-component__reference", t, { "reference--build-mode": !r }),
117
+ children: [T, !r && !x && /* @__PURE__ */ m("div", {
118
+ className: "reference__label",
119
+ children: "Element Reference"
120
+ })]
121
+ });
122
+ }, C = ({ ref: e, className: t = "", referenceType: n = "element", referenceId: r = "" }) => {
123
+ let { settings: { previewMode: i = !0 } } = u();
124
+ return n === "component" ? /* @__PURE__ */ m(x, {
125
+ ref: e,
126
+ className: t,
127
+ componentId: r,
128
+ previewMode: i
129
+ }) : /* @__PURE__ */ m(S, {
130
+ ref: e,
131
+ className: t,
132
+ referenceId: r,
133
+ previewMode: i
144
134
  });
145
- }, y = t(v);
135
+ }, w = r(C);
146
136
  //#endregion
147
- export { v as Reference, y as default };
137
+ export { C as Reference, w as default };
@@ -1,8 +1,9 @@
1
1
  type SettingsProps = {
2
- referenceType?: 'element' | 'segment' | '';
2
+ referenceType?: 'element' | 'component';
3
3
  referenceId?: string;
4
- referenceContainer?: string;
5
- onUpdate?: (key: string, value: string | number | boolean) => void;
4
+ onUpdate?: (key: string, value: string | number | boolean | object) => void;
5
+ /** An instance's props arrive here as the attributes they are. */
6
+ [prop: string]: unknown;
6
7
  };
7
- declare const Settings: ({ referenceType, referenceId, referenceContainer, onUpdate }: SettingsProps) => import('react').JSX.Element;
8
+ declare const Settings: ({ referenceType, referenceId, onUpdate, ...values }: SettingsProps) => import('react').JSX.Element;
8
9
  export default Settings;
@@ -1,96 +1,57 @@
1
- import { use as e, useCallback as t, useMemo as n } from "react";
2
- import r from "@plitzi/sdk-shared/hooks/usePlitziServiceContext";
3
- import { useCommonStore as i } from "@plitzi/sdk-shared/store";
4
- import { get as a } from "@plitzi/plitzi-ui/helpers";
5
- import { jsx as o, jsxs as s } from "react/jsx-runtime";
6
- import c from "@plitzi/plitzi-ui/Select2";
1
+ import e from "./PropField.mjs";
2
+ import { useCallback as t, useMemo as n } from "react";
3
+ import { useCommonStore as r } from "@plitzi/sdk-shared/store";
4
+ import { jsx as i, jsxs as a } from "react/jsx-runtime";
5
+ import o from "@plitzi/plitzi-ui/Select2";
7
6
  //#region src/elements/advanced/Reference/Settings.tsx
8
- var l = ({ referenceType: l = "element", referenceId: u = "", referenceContainer: d = "", onUpdate: f }) => {
9
- let { contexts: { SegmentsContext: p } } = r(), [[m, h]] = i(["schema", "segments"]), { segmentGet: g, segmentsFetch: _ } = e(p), v = t((e) => {
10
- f?.("referenceType", e?.value ?? ""), f?.("referenceId", ""), f?.("referenceContainer", "");
11
- }, [f]), y = t((e) => {
12
- f?.("referenceId", e?.value ?? ""), f?.("referenceContainer", ""), e?.value && l === "segment" && g(e.value);
13
- }, [
14
- f,
15
- l,
16
- g
17
- ]), b = t((e) => f?.("referenceContainer", e?.value ?? ""), [f]), x = n(() => [{
18
- value: "element",
19
- label: "Element"
20
- }, {
21
- value: "segment",
22
- label: "Segment"
23
- }], []), S = n(() => {
24
- switch (l) {
25
- case "segment": return a(h, `${u}.schema`, void 0);
26
- default: return m;
27
- }
28
- }, [
29
- l,
30
- h,
31
- u,
32
- m
33
- ]), C = n(() => {
34
- switch (l) {
35
- case "element": return Object.values(S.flat).reduce((e, t) => [...e, {
36
- value: t.id,
37
- label: a(t, "definition.label")
38
- }], []);
39
- case "segment": return new Promise((e) => {
40
- _().then((t) => {
41
- e(a(t, "edges", []).map((e) => ({
42
- value: e.identifier,
43
- label: a(e, "definition.name", e.id)
44
- })));
45
- });
46
- });
47
- default: return [];
48
- }
49
- }, [
50
- S,
51
- l,
52
- _
53
- ]), w = n(() => {
54
- if (!u) return [];
55
- switch (l) {
56
- case "segment": {
57
- let e = a(h, u), t = a(e, "definition.baseElementId");
58
- return S?.flat ? Object.values(S.flat).filter((e) => a(e, "definition.type", "") === "container" && a(e, "definition.rootId", "") === t && Array.isArray(a(e, "definition.items")) && a(e, "definition.items", []).length === 0).map((e) => ({
59
- value: e.id,
60
- label: a(e, "definition.label")
61
- })) : [];
62
- }
63
- default: return [];
64
- }
65
- }, [
66
- u,
67
- l,
68
- h,
69
- S?.flat
70
- ]);
71
- return /* @__PURE__ */ s("div", {
72
- className: "flex h-full flex-col py-2",
7
+ var s = [{
8
+ value: "element",
9
+ label: "Element"
10
+ }, {
11
+ value: "component",
12
+ label: "Component"
13
+ }], c = ({ component: t, values: n, onUpdate: r }) => /* @__PURE__ */ i("div", {
14
+ className: "flex flex-col gap-2",
15
+ children: Object.entries(t.props ?? {}).map(([t, a]) => /* @__PURE__ */ i(e, {
16
+ name: t,
17
+ prop: a,
18
+ value: n[t],
19
+ onUpdate: r
20
+ }, t))
21
+ }), l = ({ referenceType: e = "element", referenceId: l = "", onUpdate: u, ...d }) => {
22
+ let [[f, p]] = r(["schema.flat", "schema.components"]), m = t((e) => {
23
+ u?.("referenceType", e?.value ?? "element"), u?.("referenceId", "");
24
+ }, [u]), h = t((e) => u?.("referenceId", e?.value ?? ""), [u]), g = n(() => e === "component" ? Object.values(p).map((e) => ({
25
+ value: e.id,
26
+ label: e.label ?? e.id
27
+ })) : Object.values(f).map((e) => ({
28
+ value: e.id,
29
+ label: e.definition.label
30
+ })), [
31
+ e,
32
+ p,
33
+ f
34
+ ]), _ = e === "component" && Object.hasOwn(p, l) ? p[l] : void 0;
35
+ return /* @__PURE__ */ a("div", {
36
+ className: "flex h-full flex-col gap-2 py-2",
73
37
  children: [
74
- /* @__PURE__ */ o(c, {
75
- value: l,
76
- onChange: v,
77
- placeholder: "Search...",
38
+ /* @__PURE__ */ i(o, {
39
+ value: e,
78
40
  label: "Reference Type",
79
- options: x
41
+ onChange: m,
42
+ options: s
80
43
  }),
81
- /* @__PURE__ */ o(c, {
82
- value: u,
83
- label: "Reference ID",
84
- onChange: y,
44
+ /* @__PURE__ */ i(o, {
45
+ value: l,
46
+ label: e === "component" ? "Component" : "Element",
47
+ onChange: h,
85
48
  placeholder: "Search...",
86
- options: C
49
+ options: g
87
50
  }),
88
- l === "segment" && /* @__PURE__ */ o(c, {
89
- value: d,
90
- label: "Reference Container",
91
- placeholder: "None",
92
- onChange: b,
93
- options: w
51
+ _ && /* @__PURE__ */ i(c, {
52
+ component: _,
53
+ values: d,
54
+ onUpdate: u
94
55
  })
95
56
  ]
96
57
  });
@@ -8,12 +8,11 @@ declare const declaration: {
8
8
  readonly attributes: {
9
9
  readonly referenceType: "element";
10
10
  readonly referenceId: "";
11
- readonly referenceContainer: "";
12
11
  };
13
12
  readonly definition: {
14
13
  readonly label: "Reference";
15
14
  readonly type: "reference";
16
- readonly description: "Reuses another element or template by id, rendering it in place.";
15
+ readonly description: "Places one of the components of the space, or renders another of its elements by id, in place.";
17
16
  readonly items: readonly [];
18
17
  readonly bindings: {};
19
18
  readonly styleSelectors: {
@@ -28,7 +27,7 @@ declare const declaration: {
28
27
  readonly canSelect: true;
29
28
  readonly canDragDrop: true;
30
29
  readonly canMove: true;
31
- readonly canTemplate: true;
30
+ readonly canSnippet: true;
32
31
  readonly itemsAllowed: readonly [];
33
32
  readonly itemsNotAllowed: readonly [];
34
33
  };
@@ -53,8 +52,7 @@ declare const declaration: {
53
52
  readonly settings: {};
54
53
  };
55
54
  } & import('@plitzi/sdk-shared/authoring/declare').ElementAttributesBrand<Partial<{
56
- referenceType: import('@plitzi/sdk-shared').ElementLayoutType;
57
55
  referenceId: string;
58
- referenceContainer: string;
56
+ referenceType: "element" | "component";
59
57
  }>>;
60
58
  export default declaration;
@@ -5,13 +5,12 @@ var t = e()({
5
5
  content: {
6
6
  attributes: {
7
7
  referenceType: "element",
8
- referenceId: "",
9
- referenceContainer: ""
8
+ referenceId: ""
10
9
  },
11
10
  definition: {
12
11
  label: "Reference",
13
12
  type: "reference",
14
- description: "Reuses another element or template by id, rendering it in place.",
13
+ description: "Places one of the components of the space, or renders another of its elements by id, in place.",
15
14
  items: [],
16
15
  bindings: {},
17
16
  styleSelectors: { base: "" },
@@ -22,7 +21,7 @@ var t = e()({
22
21
  canSelect: !0,
23
22
  canDragDrop: !0,
24
23
  canMove: !0,
25
- canTemplate: !0,
24
+ canSnippet: !0,
26
25
  itemsAllowed: [],
27
26
  itemsNotAllowed: []
28
27
  },
@@ -7,12 +7,11 @@ declare const Reference: {
7
7
  readonly attributes: {
8
8
  readonly referenceType: "element";
9
9
  readonly referenceId: "";
10
- readonly referenceContainer: "";
11
10
  };
12
11
  readonly definition: {
13
12
  readonly label: "Reference";
14
13
  readonly type: "reference";
15
- readonly description: "Reuses another element or template by id, rendering it in place.";
14
+ readonly description: "Places one of the components of the space, or renders another of its elements by id, in place.";
16
15
  readonly items: readonly [];
17
16
  readonly bindings: {};
18
17
  readonly styleSelectors: {
@@ -27,7 +26,7 @@ declare const Reference: {
27
26
  readonly canSelect: true;
28
27
  readonly canDragDrop: true;
29
28
  readonly canMove: true;
30
- readonly canTemplate: true;
29
+ readonly canSnippet: true;
31
30
  readonly itemsAllowed: readonly [];
32
31
  readonly itemsNotAllowed: readonly [];
33
32
  };
@@ -52,8 +51,7 @@ declare const Reference: {
52
51
  readonly settings: {};
53
52
  };
54
53
  } & import('@plitzi/sdk-shared/authoring/declare').ElementAttributesBrand<Partial<{
55
- referenceType: import('@plitzi/sdk-shared').ElementLayoutType;
56
54
  referenceId: string;
57
- referenceContainer: string;
55
+ referenceType: "element" | "component";
58
56
  }>>;
59
57
  export default Reference;
@@ -1,3 +1,4 @@
1
+ import { IconPlacement } from '../../../Element/ElementWords';
1
2
  import { ReactNode, RefObject } from 'react';
2
3
  export type ButtonProps = {
3
4
  ref?: RefObject<HTMLElement>;
@@ -5,6 +6,13 @@ export type ButtonProps = {
5
6
  children?: ReactNode;
6
7
  contentPlacement?: 'before' | 'after';
7
8
  content?: string;
9
+ /**
10
+ * An icon beside the words, as Font Awesome classes — `'fa-solid fa-arrow-right'` — instead of a `fontAwesome`
11
+ * element inside. Decoration: the words (or `title`/`label`) name it. Its `icon` slot styles it.
12
+ */
13
+ icon?: string;
14
+ /** Which side of the words the icon sits on. */
15
+ iconPlacement?: IconPlacement;
8
16
  subType?: 'button' | 'submit' | 'reset';
9
17
  disabled?: boolean;
10
18
  /**
@@ -32,7 +40,7 @@ export type ButtonProps = {
32
40
  */
33
41
  label?: string;
34
42
  };
35
- declare const Button: ({ ref, className, children, contentPlacement, content, subType, disabled, ariaExpanded, ariaPressed, title, label }: ButtonProps) => import('react').JSX.Element;
43
+ declare const Button: ({ ref, className, children, contentPlacement, content, icon, iconPlacement, subType, disabled, ariaExpanded, ariaPressed, title, label }: ButtonProps) => import('react').JSX.Element;
36
44
  declare const _default: {
37
45
  (props: import('../../../Element/hocs/withElement').WithElementProps<ButtonProps>): import('react').JSX.Element;
38
46
  displayName: string;
@@ -1,27 +1,39 @@
1
1
  import e from "../../../Element/hocs/withElement.mjs";
2
- import { RootElement as t } from "../../../Element/RootElement.mjs";
3
- import n from "@plitzi/sdk-shared/hooks/usePlitziServiceContext";
4
- import { jsxs as r } from "react/jsx-runtime";
5
- import i from "clsx";
2
+ import t from "../../../Element/hooks/useElement.mjs";
3
+ import { RootElement as n } from "../../../Element/RootElement.mjs";
4
+ import r from "../../../Element/ElementWords.mjs";
5
+ import i from "@plitzi/sdk-shared/hooks/usePlitziServiceContext";
6
+ import { jsx as a, jsxs as o } from "react/jsx-runtime";
7
+ import s from "clsx";
6
8
  //#region src/elements/basic/Button/Button.tsx
7
- var a = ({ ref: e, className: a = "", children: o, contentPlacement: s = "after", content: c = "Button", subType: l = "button", disabled: u = !1, ariaExpanded: d, ariaPressed: f, title: p, label: m }) => {
8
- let { settings: { previewMode: h } } = n();
9
- return /* @__PURE__ */ r(t, {
9
+ var c = ({ ref: e, className: c = "", children: l, contentPlacement: u = "after", content: d = "Button", icon: f = "", iconPlacement: p = "before", subType: m = "button", disabled: h = !1, ariaExpanded: g, ariaPressed: _, title: v, label: y }) => {
10
+ let { settings: { previewMode: b } } = i(), { definition: { styleSelectors: x } } = t();
11
+ return /* @__PURE__ */ o(n, {
10
12
  ref: e,
11
13
  tag: "button",
12
- type: h ? l : "button",
13
- className: i("plitzi-component__button", a, { "container--empty--skip": !h && !o && c }),
14
- disabled: u,
15
- title: p || void 0,
16
- "aria-label": m || void 0,
17
- "aria-expanded": d,
18
- "aria-pressed": f,
14
+ type: b ? m : "button",
15
+ className: s("plitzi-component__button", c, { "container--empty--skip": !b && !l && (d || f) }),
16
+ disabled: h,
17
+ title: v || void 0,
18
+ "aria-label": y || void 0,
19
+ "aria-expanded": g,
20
+ "aria-pressed": _,
19
21
  children: [
20
- s === "before" && c,
21
- o,
22
- s === "after" && c
22
+ u === "before" && /* @__PURE__ */ a(r, {
23
+ content: d,
24
+ icon: f,
25
+ iconPlacement: p,
26
+ iconClassName: x.icon
27
+ }),
28
+ l,
29
+ u === "after" && /* @__PURE__ */ a(r, {
30
+ content: d,
31
+ icon: f,
32
+ iconPlacement: p,
33
+ iconClassName: x.icon
34
+ })
23
35
  ]
24
36
  });
25
- }, o = e(a);
37
+ }, l = e(c);
26
38
  //#endregion
27
- export { a as Button, o as default };
39
+ export { c as Button, l as default };
@@ -1,11 +1,13 @@
1
1
  type SettingsProps = {
2
2
  content?: string;
3
3
  contentPlacement?: 'before' | 'after' | 'elements';
4
+ icon?: string;
5
+ iconPlacement?: 'before' | 'after';
4
6
  subType?: 'button' | 'reset' | 'submit';
5
7
  disabled?: boolean;
6
8
  title?: string;
7
9
  label?: string;
8
10
  onUpdate?: (key: string, value: string | number | boolean) => void;
9
11
  };
10
- declare const Settings: ({ content, contentPlacement, subType, disabled, title, label, onUpdate }: SettingsProps) => import('react').JSX.Element;
12
+ declare const Settings: ({ content, contentPlacement, icon, iconPlacement, subType, disabled, title, label, onUpdate }: SettingsProps) => import('react').JSX.Element;
11
13
  export default Settings;