@plitzi/sdk-elements 0.38.10 → 0.38.12

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 (228) hide show
  1. package/CHANGELOG.md +295 -0
  2. package/dist/Element/ElementWords.d.ts +6 -2
  3. package/dist/Element/ElementWords.mjs +18 -11
  4. package/dist/Element/JsxManager.mjs +8 -8
  5. package/dist/Element/PluginManager.mjs +4 -4
  6. package/dist/Element/ReplicaProvider.mjs +9 -9
  7. package/dist/Element/RootElement.mjs +60 -60
  8. package/dist/Element/helpers/declaredAttributes.d.ts +10 -0
  9. package/dist/Element/helpers/declaredAttributes.mjs +22 -0
  10. package/dist/Element/hocs/withElement.mjs +101 -100
  11. package/dist/Element/hooks/useEditableContent.d.ts +12 -0
  12. package/dist/Element/hooks/useEditableContent.mjs +21 -0
  13. package/dist/Element/hooks/useElementDataSource.mjs +9 -9
  14. package/dist/Element/hooks/useElementVisible.mjs +1 -1
  15. package/dist/Element/hooks/useInternalItems.mjs +22 -23
  16. package/dist/Element/hooks/useIntervalTriggers.d.ts +2 -3
  17. package/dist/Element/hooks/useKeyTriggers.d.ts +2 -3
  18. package/dist/Element/hooks/usePluginTrigger.d.ts +21 -0
  19. package/dist/Element/hooks/usePluginTrigger.mjs +18 -0
  20. package/dist/Element/hooks/useRootElementInteractions.d.ts +2 -4
  21. package/dist/Element/hooks/useRootElementInteractions.mjs +79 -76
  22. package/dist/Element/hooks/useScrollInteractions.d.ts +2 -3
  23. package/dist/canvas/useAnimationFrame.mjs +1 -1
  24. package/dist/dataSource/GlobalSources.mjs +1 -1
  25. package/dist/dataSource/pathFields.mjs +1 -1
  26. package/dist/dataSource/sourceStore.d.ts +7 -0
  27. package/dist/dataSource/sourceStore.mjs +5 -0
  28. package/dist/elements/advanced/BlockHtml/BlockHtml.mjs +1 -1
  29. package/dist/elements/advanced/BlockHtml/declaration.d.ts +2 -27
  30. package/dist/elements/advanced/BlockHtml/declaration.mjs +2 -25
  31. package/dist/elements/advanced/BlockHtml/index.d.ts +2 -25
  32. package/dist/elements/advanced/BlockJsx/Settings.mjs +37 -37
  33. package/dist/elements/advanced/BlockJsx/declaration.d.ts +2 -27
  34. package/dist/elements/advanced/BlockJsx/declaration.mjs +2 -25
  35. package/dist/elements/advanced/BlockJsx/index.d.ts +2 -25
  36. package/dist/elements/advanced/Custom/Custom.mjs +52 -42
  37. package/dist/elements/advanced/Custom/Settings.mjs +41 -40
  38. package/dist/elements/advanced/Custom/declaration.d.ts +2 -26
  39. package/dist/elements/advanced/Custom/declaration.mjs +2 -22
  40. package/dist/elements/advanced/Custom/index.d.ts +2 -24
  41. package/dist/elements/advanced/NodeHtml/Settings.mjs +3 -3
  42. package/dist/elements/advanced/NodeHtml/declaration.d.ts +19 -44
  43. package/dist/elements/advanced/NodeHtml/declaration.mjs +2 -23
  44. package/dist/elements/advanced/NodeHtml/index.d.ts +19 -42
  45. package/dist/elements/advanced/PlitziSdk/Settings.mjs +4 -4
  46. package/dist/elements/advanced/Reference/Reference.mjs +1 -1
  47. package/dist/elements/advanced/Reference/declaration.d.ts +3 -27
  48. package/dist/elements/advanced/Reference/declaration.mjs +2 -22
  49. package/dist/elements/advanced/Reference/index.d.ts +3 -25
  50. package/dist/elements/basic/Button/Button.mjs +24 -31
  51. package/dist/elements/basic/Button/declaration.d.ts +4 -27
  52. package/dist/elements/basic/Button/declaration.mjs +2 -25
  53. package/dist/elements/basic/Button/index.d.ts +4 -25
  54. package/dist/elements/basic/Dropdown/Dropdown.mjs +1 -1
  55. package/dist/elements/basic/Dropdown/DropdownPopup/declaration.d.ts +3 -19
  56. package/dist/elements/basic/Dropdown/DropdownPopup/declaration.mjs +2 -16
  57. package/dist/elements/basic/Dropdown/DropdownPopup/index.d.ts +3 -17
  58. package/dist/elements/basic/Dropdown/declaration.d.ts +3 -26
  59. package/dist/elements/basic/Dropdown/declaration.mjs +16 -41
  60. package/dist/elements/basic/Dropdown/index.d.ts +5 -42
  61. package/dist/elements/basic/Dropdown/useDropdown.mjs +23 -29
  62. package/dist/elements/basic/Heading/Heading.mjs +15 -17
  63. package/dist/elements/basic/Heading/Settings.mjs +4 -4
  64. package/dist/elements/basic/Heading/declaration.d.ts +2 -27
  65. package/dist/elements/basic/Heading/declaration.mjs +2 -23
  66. package/dist/elements/basic/Heading/index.d.ts +2 -25
  67. package/dist/elements/basic/Link/Link.mjs +52 -59
  68. package/dist/elements/basic/Link/Settings.mjs +52 -51
  69. package/dist/elements/basic/Link/declaration.d.ts +6 -26
  70. package/dist/elements/basic/Link/declaration.mjs +8 -32
  71. package/dist/elements/basic/Link/index.d.ts +6 -24
  72. package/dist/elements/basic/Markdown/Markdown.mjs +1 -1
  73. package/dist/elements/basic/Markdown/declaration.d.ts +2 -25
  74. package/dist/elements/basic/Markdown/declaration.mjs +2 -25
  75. package/dist/elements/basic/Markdown/index.d.ts +2 -23
  76. package/dist/elements/basic/Paragraph/Paragraph.mjs +15 -17
  77. package/dist/elements/basic/Paragraph/declaration.d.ts +2 -27
  78. package/dist/elements/basic/Paragraph/declaration.mjs +5 -28
  79. package/dist/elements/basic/Paragraph/index.d.ts +2 -25
  80. package/dist/elements/basic/RichText/RichText.mjs +1 -1
  81. package/dist/elements/basic/RichText/Settings.mjs +4 -4
  82. package/dist/elements/basic/RichText/declaration.d.ts +4 -27
  83. package/dist/elements/basic/RichText/declaration.mjs +2 -23
  84. package/dist/elements/basic/RichText/index.d.ts +4 -25
  85. package/dist/elements/basic/Text/Text.mjs +16 -18
  86. package/dist/elements/basic/Text/declaration.d.ts +3 -28
  87. package/dist/elements/basic/Text/declaration.mjs +2 -25
  88. package/dist/elements/basic/Text/index.d.ts +3 -26
  89. package/dist/elements/basic/ThemeToggle/Settings.d.ts +6 -0
  90. package/dist/elements/basic/ThemeToggle/Settings.mjs +49 -0
  91. package/dist/elements/basic/ThemeToggle/ThemeToggle.mjs +40 -39
  92. package/dist/elements/basic/ThemeToggle/declaration.d.ts +3 -26
  93. package/dist/elements/basic/ThemeToggle/declaration.mjs +2 -23
  94. package/dist/elements/basic/ThemeToggle/index.d.ts +3 -24
  95. package/dist/elements/declarations/index.d.ts +145 -1061
  96. package/dist/elements/form/Form/Form.mjs +65 -64
  97. package/dist/elements/form/Form/declaration.d.ts +3 -28
  98. package/dist/elements/form/Form/declaration.mjs +2 -25
  99. package/dist/elements/form/Form/index.d.ts +17 -25
  100. package/dist/elements/form/FormControl/FormControl.mjs +106 -105
  101. package/dist/elements/form/FormControl/declaration.d.ts +2 -22
  102. package/dist/elements/form/FormControl/declaration.mjs +4 -23
  103. package/dist/elements/form/FormControl/hocs/withFieldValue.mjs +1 -1
  104. package/dist/elements/form/FormControl/index.d.ts +16 -20
  105. package/dist/elements/internal/LayoutContainer/LayoutContainer.mjs +1 -1
  106. package/dist/elements/internal/LayoutContainer/declaration.d.ts +3 -25
  107. package/dist/elements/internal/LayoutContainer/declaration.mjs +3 -23
  108. package/dist/elements/internal/LayoutContainer/index.d.ts +3 -23
  109. package/dist/elements/internal/Loading/Settings.d.ts +2 -0
  110. package/dist/elements/internal/Loading/Settings.mjs +5 -0
  111. package/dist/elements/internal/Loading/declaration.d.ts +2 -24
  112. package/dist/elements/internal/Loading/declaration.mjs +3 -25
  113. package/dist/elements/internal/Loading/index.d.ts +2 -22
  114. package/dist/elements/internal/NotFound/NotFound.mjs +1 -1
  115. package/dist/elements/internal/NotFound/Settings.d.ts +2 -0
  116. package/dist/elements/internal/NotFound/Settings.mjs +5 -0
  117. package/dist/elements/internal/NotFound/declaration.d.ts +2 -24
  118. package/dist/elements/internal/NotFound/declaration.mjs +7 -29
  119. package/dist/elements/internal/NotFound/index.d.ts +2 -22
  120. package/dist/elements/internal/Page/Page.mjs +17 -16
  121. package/dist/elements/internal/Page/Settings.mjs +102 -101
  122. package/dist/elements/internal/Page/declaration.d.ts +3 -23
  123. package/dist/elements/internal/Page/declaration.mjs +14 -32
  124. package/dist/elements/internal/Page/index.d.ts +3 -21
  125. package/dist/elements/media/Embed/Embed.mjs +1 -1
  126. package/dist/elements/media/Embed/Settings.mjs +7 -7
  127. package/dist/elements/media/Embed/declaration.d.ts +2 -27
  128. package/dist/elements/media/Embed/declaration.mjs +10 -33
  129. package/dist/elements/media/Embed/index.d.ts +2 -25
  130. package/dist/elements/media/FontAwesome/Settings.mjs +8 -8
  131. package/dist/elements/media/FontAwesome/declaration.d.ts +2 -27
  132. package/dist/elements/media/FontAwesome/declaration.mjs +5 -28
  133. package/dist/elements/media/FontAwesome/index.d.ts +2 -25
  134. package/dist/elements/media/Image/Image.mjs +1 -1
  135. package/dist/elements/media/Image/Settings.mjs +47 -46
  136. package/dist/elements/media/Image/declaration.d.ts +2 -27
  137. package/dist/elements/media/Image/declaration.mjs +7 -30
  138. package/dist/elements/media/Image/index.d.ts +2 -25
  139. package/dist/elements/media/Svg/Settings.mjs +4 -4
  140. package/dist/elements/media/Svg/Svg.mjs +1 -1
  141. package/dist/elements/media/Svg/declaration.d.ts +3 -27
  142. package/dist/elements/media/Svg/declaration.mjs +2 -22
  143. package/dist/elements/media/Svg/index.d.ts +3 -25
  144. package/dist/elements/media/Video/Settings.mjs +7 -7
  145. package/dist/elements/media/Video/Video.mjs +1 -1
  146. package/dist/elements/media/Video/declaration.d.ts +2 -27
  147. package/dist/elements/media/Video/declaration.mjs +6 -29
  148. package/dist/elements/media/Video/index.d.ts +2 -25
  149. package/dist/elements/provider/ApiContainer/ApiContainer.mjs +151 -150
  150. package/dist/elements/provider/ApiContainer/Settings.mjs +135 -134
  151. package/dist/elements/provider/ApiContainer/declaration.d.ts +3 -28
  152. package/dist/elements/provider/ApiContainer/declaration.mjs +2 -23
  153. package/dist/elements/provider/ApiContainer/index.d.ts +3 -26
  154. package/dist/elements/provider/Channel/Channel.mjs +57 -55
  155. package/dist/elements/provider/Channel/declaration.d.ts +9 -28
  156. package/dist/elements/provider/Channel/declaration.mjs +10 -25
  157. package/dist/elements/provider/Channel/index.d.ts +9 -26
  158. package/dist/elements/settings.mjs +70 -62
  159. package/dist/elements/structure/Carousel/Carousel.mjs +36 -35
  160. package/dist/elements/structure/Carousel/CarouselTrack/declaration.d.ts +3 -25
  161. package/dist/elements/structure/Carousel/CarouselTrack/declaration.mjs +6 -28
  162. package/dist/elements/structure/Carousel/CarouselTrack/index.d.ts +3 -23
  163. package/dist/elements/structure/Carousel/Settings.mjs +40 -39
  164. package/dist/elements/structure/Carousel/declaration.d.ts +4 -29
  165. package/dist/elements/structure/Carousel/declaration.mjs +2 -25
  166. package/dist/elements/structure/Carousel/index.d.ts +6 -51
  167. package/dist/elements/structure/Container/Settings.mjs +40 -39
  168. package/dist/elements/structure/Container/declaration.d.ts +3 -28
  169. package/dist/elements/structure/Container/declaration.mjs +2 -23
  170. package/dist/elements/structure/Container/index.d.ts +3 -26
  171. package/dist/elements/structure/DialogContainer/DialogContainer.d.ts +8 -8
  172. package/dist/elements/structure/DialogContainer/DialogContainer.mjs +54 -173
  173. package/dist/elements/structure/DialogContainer/Settings.mjs +24 -23
  174. package/dist/elements/structure/DialogContainer/declaration.d.ts +8 -31
  175. package/dist/elements/structure/DialogContainer/declaration.mjs +2 -23
  176. package/dist/elements/structure/DialogContainer/index.d.ts +8 -29
  177. package/dist/elements/structure/List/ListItem/declaration.d.ts +4 -26
  178. package/dist/elements/structure/List/ListItem/declaration.mjs +3 -25
  179. package/dist/elements/structure/List/ListItem/index.d.ts +4 -24
  180. package/dist/elements/structure/List/Settings.mjs +6 -6
  181. package/dist/elements/structure/List/declaration.d.ts +3 -28
  182. package/dist/elements/structure/List/declaration.mjs +2 -23
  183. package/dist/elements/structure/List/index.d.ts +6 -51
  184. package/dist/elements/structure/List/modes/ListControlled/ListControlled.mjs +13 -12
  185. package/dist/elements/structure/List/modes/ListControlled/ListControlledItem.mjs +6 -6
  186. package/dist/elements/structure/ModalContainer/ModalContainer.mjs +27 -121
  187. package/dist/elements/structure/ModalContainer/Settings.mjs +15 -14
  188. package/dist/elements/structure/ModalContainer/declaration.d.ts +3 -26
  189. package/dist/elements/structure/ModalContainer/declaration.mjs +2 -23
  190. package/dist/elements/structure/ModalContainer/index.d.ts +3 -24
  191. package/dist/elements/structure/Overlay/OverlayShell.d.ts +24 -0
  192. package/dist/elements/structure/Overlay/OverlayShell.mjs +64 -0
  193. package/dist/elements/structure/Overlay/metadataOf.d.ts +8 -0
  194. package/dist/elements/structure/{ModalContainer/metadataFromText.mjs → Overlay/metadataOf.mjs} +5 -2
  195. package/dist/elements/structure/{ModalContainer → Overlay}/useModalDialog.mjs +1 -1
  196. package/dist/elements/structure/Overlay/useOverlay.d.ts +40 -0
  197. package/dist/elements/structure/Overlay/useOverlay.mjs +83 -0
  198. package/dist/elements/structure/Pagination/Pagination.mjs +28 -27
  199. package/dist/elements/structure/Pagination/Settings.mjs +10 -10
  200. package/dist/elements/structure/Pagination/declaration.d.ts +3 -26
  201. package/dist/elements/structure/Pagination/declaration.mjs +2 -23
  202. package/dist/elements/structure/Pagination/index.d.ts +3 -24
  203. package/dist/elements/structure/TabContainer/TabContainerBody/TabContainerBody.d.ts +3 -3
  204. package/dist/elements/structure/TabContainer/TabContainerBody/TabContainerBody.mjs +10 -32
  205. package/dist/elements/structure/TabContainer/TabContainerBody/declaration.d.ts +4 -22
  206. package/dist/elements/structure/TabContainer/TabContainerBody/declaration.mjs +3 -17
  207. package/dist/elements/structure/TabContainer/TabContainerBody/index.d.ts +4 -20
  208. package/dist/elements/structure/TabContainer/TabContainerHeader/TabContainerHeader.d.ts +3 -3
  209. package/dist/elements/structure/TabContainer/TabContainerHeader/TabContainerHeader.mjs +10 -34
  210. package/dist/elements/structure/TabContainer/TabContainerHeader/declaration.d.ts +4 -22
  211. package/dist/elements/structure/TabContainer/TabContainerHeader/declaration.mjs +3 -17
  212. package/dist/elements/structure/TabContainer/TabContainerHeader/index.d.ts +4 -20
  213. package/dist/elements/structure/TabContainer/TabContainerItem/declaration.d.ts +4 -26
  214. package/dist/elements/structure/TabContainer/TabContainerItem/declaration.mjs +7 -27
  215. package/dist/elements/structure/TabContainer/TabContainerItem/index.d.ts +4 -24
  216. package/dist/elements/structure/TabContainer/declaration.d.ts +4 -26
  217. package/dist/elements/structure/TabContainer/declaration.mjs +3 -23
  218. package/dist/elements/structure/TabContainer/index.d.ts +15 -89
  219. package/dist/elements/structure/TabContainer/useTabItems.d.ts +7 -0
  220. package/dist/elements/structure/TabContainer/useTabItems.mjs +35 -0
  221. package/dist/elements/useSettingsUpdate.d.ts +12 -0
  222. package/dist/elements/useSettingsUpdate.mjs +8 -0
  223. package/dist/index.d.ts +169 -984
  224. package/dist/realtime/useChannel.d.ts +4 -3
  225. package/dist/realtime/useChannel.mjs +36 -36
  226. package/package.json +58 -14
  227. package/dist/elements/structure/ModalContainer/metadataFromText.d.ts +0 -7
  228. /package/dist/elements/structure/{ModalContainer → Overlay}/useModalDialog.d.ts +0 -0
@@ -122,38 +122,14 @@ declare const ApiContainer: {
122
122
  };
123
123
  readonly definition: {
124
124
  readonly label: "Api Container";
125
- readonly type: "apiContainer";
126
125
  readonly description: string;
127
- readonly items: readonly [];
128
- readonly bindings: {};
129
- readonly styleSelectors: {
130
- readonly base: "";
131
- };
132
- readonly initialState: {
133
- readonly visibility: true;
134
- };
135
- };
136
- readonly builder: {
137
- readonly canDelete: true;
138
- readonly canSelect: true;
139
- readonly canDragDrop: true;
140
- readonly canMove: true;
141
- readonly canSnippet: true;
142
- readonly itemsAllowed: readonly [];
143
- readonly itemsNotAllowed: readonly [];
126
+ readonly items: [];
144
127
  };
145
128
  readonly market: {
146
129
  readonly category: "provider";
147
- readonly owner: "Plitzi";
148
- readonly verified: true;
149
- readonly license: "MIT";
150
- readonly website: "https://plitzi.com";
151
- readonly backgroundColor: "#4422ee";
152
130
  readonly icon: "fa-solid fa-server";
153
131
  };
154
132
  readonly defaultStyle: {
155
- readonly name: "Api Container";
156
- readonly displayMode: "desktop";
157
133
  readonly style: {
158
134
  readonly base: {
159
135
  readonly default: {};
@@ -161,8 +137,9 @@ declare const ApiContainer: {
161
137
  };
162
138
  readonly subTypes: {};
163
139
  };
164
- readonly settings: {};
165
140
  };
141
+ } & {
142
+ content: import('@plitzi/sdk-shared/authoring/declare').ElementContentDefaults;
166
143
  } & import('@plitzi/sdk-shared/authoring/declare').ElementAttributesBrand<Partial<{
167
144
  when?: import('@plitzi/sdk-shared').RuleGroup | undefined;
168
145
  action?: string | undefined;
@@ -3,90 +3,92 @@ import t from "../../../Element/hocs/withElement.mjs";
3
3
  import n from "../../../Element/hooks/useElement.mjs";
4
4
  import { RootElement as r } from "../../../Element/RootElement.mjs";
5
5
  import i from "../../../dataSource/pathFields.mjs";
6
- import a from "../../../realtime/useChannel.mjs";
7
- import { use as o, useCallback as s, useMemo as c, useState as l } from "react";
8
- import u from "@plitzi/sdk-shared/hooks/usePlitziServiceContext";
9
- import { StoreProvider as d } from "@plitzi/nexus/react";
10
- import { emptyObject as f } from "@plitzi/sdk-shared/helpers/utils";
6
+ import a from "../../../dataSource/sourceStore.mjs";
7
+ import o from "../../../realtime/useChannel.mjs";
8
+ import { use as s, useCallback as c, useMemo as l, useState as u } from "react";
9
+ import d from "@plitzi/sdk-shared/hooks/usePlitzi";
10
+ import { StoreProvider as f } from "@plitzi/nexus/react";
11
11
  import { jsx as p } from "react/jsx-runtime";
12
12
  import m from "clsx";
13
- import h from "@plitzi/sdk-shared/dataSource/helpers/getSourceName";
14
- import g from "@plitzi/sdk-shared/dataSource/hooks/useRegisterSource";
15
- import { JOIN_TYPE as _, LEAVE_TYPE as v, PRESENCE_TYPE as y } from "@plitzi/sdk-shared/realtime";
13
+ import h from "@plitzi/sdk-interactions/InteractionsContext";
14
+ import g from "@plitzi/sdk-shared/dataSource/helpers/getSourceName";
15
+ import _ from "@plitzi/sdk-shared/dataSource/hooks/useRegisterSource";
16
+ import { isTrue as v } from "@plitzi/sdk-shared/dataSource/utility/truthiness";
17
+ import { JOIN_TYPE as y, LEAVE_TYPE as b, PRESENCE_TYPE as x } from "@plitzi/sdk-shared/realtime";
16
18
  //#region src/elements/provider/Channel/Channel.tsx
17
- var b = (e) => {
19
+ var S = (e) => {
18
20
  if (typeof e != "string") return e;
19
21
  try {
20
22
  return JSON.parse(e);
21
23
  } catch {
22
24
  return e;
23
25
  }
24
- }, x = /* @__PURE__ */ new Set([
26
+ }, C = /* @__PURE__ */ new Set([
27
+ x,
25
28
  y,
26
- _,
27
- v
28
- ]), S = ({ ref: t, className: _, children: v, topic: y = "", grant: S = "", presence: C, keep: w = 20, subType: T = "" }) => {
29
- let { id: E, definition: { label: D = "Channel" } } = n(), { settings: { previewMode: O }, contexts: { InteractionsContext: k } } = u(), { interactionsManager: A } = o(k), j = Math.max(0, Number(w) || 0), [M, N] = l([]), P = s((e) => {
30
- x.has(e.type) || (j > 0 && N((t) => [...t, e].slice(-j)), A.interactionTrigger(E, "onMessage", { ...e }));
29
+ b
30
+ ]), w = ({ ref: t, className: y, children: b, topic: x = "", grant: w = "", presence: T, keep: E = 20, subType: D = "" }) => {
31
+ let { id: O, definition: { label: k = "Channel" } } = n(), { settings: { previewMode: A } } = d(), { interactionsManager: j } = s(h), M = Math.max(0, Number(E) || 0), [N, P] = u([]), F = c((e) => {
32
+ C.has(e.type) || (M > 0 && P((t) => [...t, e].slice(-M)), j.interactionTrigger(O, "onMessage", { ...e }));
31
33
  }, [
32
- E,
33
- A,
34
- j
35
- ]), F = s(({ from: e, user: t, state: n }) => void A.interactionTrigger(E, "onJoin", {
34
+ O,
35
+ j,
36
+ M
37
+ ]), I = c(({ from: e, user: t, state: n }) => void j.interactionTrigger(O, "onJoin", {
36
38
  from: e,
37
39
  user: t ?? "",
38
40
  state: n
39
- }), [E, A]), I = s(({ from: e, user: t, state: n }) => void A.interactionTrigger(E, "onLeave", {
41
+ }), [O, j]), L = c(({ from: e, user: t, state: n }) => void j.interactionTrigger(O, "onLeave", {
40
42
  from: e,
41
43
  user: t ?? "",
42
44
  state: n
43
- }), [E, A]), L = a(O && y ? y : void 0, {
44
- grant: S || void 0,
45
- presence: C === void 0 || C === "" ? void 0 : b(C),
46
- onMessage: P,
47
- onJoin: F,
48
- onLeave: I
49
- }), R = c(() => ({
45
+ }), [O, j]), R = o(A && x ? x : void 0, {
46
+ grant: w || void 0,
47
+ presence: T === void 0 || T === "" ? void 0 : S(T),
48
+ onMessage: F,
49
+ onJoin: I,
50
+ onLeave: L
51
+ }), z = l(() => ({
50
52
  publish: {
51
53
  ...e.callbacks.publish,
52
- callback: ({ type: e, data: t }) => typeof e == "string" && e ? L.publish(e, b(t)) : Promise.resolve(!1)
54
+ callback: ({ type: e, data: t, echo: n }) => typeof e == "string" && e ? R.publish(e, S(t), { echo: v(n) }) : Promise.resolve(!1)
53
55
  },
54
56
  setPresence: {
55
57
  ...e.callbacks.setPresence,
56
- callback: ({ data: e }) => L.setPresence(b(e))
58
+ callback: ({ data: e }) => R.setPresence(S(e))
57
59
  }
58
- }), [L]), z = h(e.sourceType, E), B = c(() => ({
59
- connected: L.connected,
60
- me: L.me ?? "",
61
- members: L.members,
62
- messages: M,
63
- last: M.at(-1) ?? null
60
+ }), [R]), B = g(e.sourceType, O), V = l(() => ({
61
+ connected: R.connected,
62
+ me: R.me ?? "",
63
+ members: R.members,
64
+ messages: N,
65
+ last: N.at(-1) ?? null
64
66
  }), [
65
- L.connected,
66
- L.me,
67
- L.members,
68
- M
69
- ]), V = s(() => i(B), [B]);
70
- g({
71
- id: E,
72
- source: z,
73
- name: D || `Channel - ${E}`,
74
- fields: V
67
+ R.connected,
68
+ R.me,
69
+ R.members,
70
+ N
71
+ ]), H = c(() => i(V), [V]);
72
+ _({
73
+ id: O,
74
+ source: B,
75
+ name: k || `Channel - ${O}`,
76
+ fields: H
75
77
  });
76
- let H = c(() => z ? { runtime: { sources: { [z]: B } } } : f, [B, z]);
78
+ let U = l(() => a(B, V), [V, B]);
77
79
  return /* @__PURE__ */ p(r, {
78
80
  ref: t,
79
- tag: T,
80
- className: m("plitzi-component__channel", _),
81
+ tag: D,
82
+ className: m("plitzi-component__channel", y),
81
83
  interactionTriggers: e.triggers,
82
- interactionCallbacks: R,
83
- children: /* @__PURE__ */ p(d, {
84
+ interactionCallbacks: z,
85
+ children: /* @__PURE__ */ p(f, {
84
86
  inherit: "live",
85
- name: `Channel:${E}`,
86
- value: H,
87
- children: v
87
+ name: `Channel:${O}`,
88
+ value: U,
89
+ children: b
88
90
  })
89
91
  });
90
- }, C = t(S);
92
+ }, T = t(w);
91
93
  //#endregion
92
- export { S as Channel, C as default };
94
+ export { w as Channel, T as default };
@@ -2,7 +2,7 @@ import { ChannelProps } from './Channel';
2
2
  import { AuthorableAttributes } from '@plitzi/sdk-shared/authoring/declare';
3
3
  /** What this element can be authored with — its component's own props, minus what the runtime supplies. */
4
4
  export type ChannelAttributes = AuthorableAttributes<ChannelProps>;
5
- declare const declaration: {
5
+ declare const declaration: import('@plitzi/sdk-shared/authoring/declare').DeclaredElement<{
6
6
  readonly type: "channel";
7
7
  readonly attributeValues: {
8
8
  readonly subType: readonly string[];
@@ -20,6 +20,7 @@ declare const declaration: {
20
20
  readonly from: "";
21
21
  readonly user: "";
22
22
  readonly at: "";
23
+ readonly echo: false;
23
24
  };
24
25
  };
25
26
  readonly onJoin: {
@@ -62,6 +63,11 @@ declare const declaration: {
62
63
  readonly defaultValue: "";
63
64
  readonly type: "text";
64
65
  };
66
+ readonly echo: {
67
+ readonly label: "Heard on this page too";
68
+ readonly defaultValue: false;
69
+ readonly type: "boolean";
70
+ };
65
71
  };
66
72
  };
67
73
  readonly setPresence: {
@@ -87,38 +93,14 @@ declare const declaration: {
87
93
  };
88
94
  readonly definition: {
89
95
  readonly label: "Channel";
90
- readonly type: "channel";
91
96
  readonly description: string;
92
- readonly items: readonly [];
93
- readonly bindings: {};
94
- readonly styleSelectors: {
95
- readonly base: "";
96
- };
97
- readonly initialState: {
98
- readonly visibility: true;
99
- };
100
- };
101
- readonly builder: {
102
- readonly canDelete: true;
103
- readonly canSelect: true;
104
- readonly canDragDrop: true;
105
- readonly canMove: true;
106
- readonly canSnippet: true;
107
- readonly itemsAllowed: readonly [];
108
- readonly itemsNotAllowed: readonly [];
97
+ readonly items: [];
109
98
  };
110
99
  readonly market: {
111
100
  readonly category: "provider";
112
- readonly owner: "Plitzi";
113
- readonly verified: true;
114
- readonly license: "MIT";
115
- readonly website: "https://plitzi.com";
116
- readonly backgroundColor: "#4422ee";
117
101
  readonly icon: "fa-solid fa-tower-broadcast";
118
102
  };
119
103
  readonly defaultStyle: {
120
- readonly name: "Channel";
121
- readonly displayMode: "desktop";
122
104
  readonly style: {
123
105
  readonly base: {
124
106
  readonly default: {};
@@ -126,9 +108,8 @@ declare const declaration: {
126
108
  };
127
109
  readonly subTypes: {};
128
110
  };
129
- readonly settings: {};
130
111
  };
131
- } & import('@plitzi/sdk-shared/authoring/declare').ElementAttributesBrand<Partial<{
112
+ }, Partial<{
132
113
  subType?: "" | "div" | "section" | "aside" | "main" | undefined;
133
114
  grant?: string | undefined;
134
115
  presence?: unknown;
@@ -21,7 +21,8 @@ var n = e()({
21
21
  data: "",
22
22
  from: "",
23
23
  user: "",
24
- at: ""
24
+ at: "",
25
+ echo: !1
25
26
  }
26
27
  },
27
28
  onJoin: {
@@ -63,6 +64,11 @@ var n = e()({
63
64
  label: "Data (JSON or a template)",
64
65
  defaultValue: "",
65
66
  type: "text"
67
+ },
68
+ echo: {
69
+ label: "Heard on this page too",
70
+ defaultValue: !1,
71
+ type: "boolean"
66
72
  }
67
73
  }
68
74
  },
@@ -87,38 +93,17 @@ var n = e()({
87
93
  },
88
94
  definition: {
89
95
  label: "Channel",
90
- type: "channel",
91
- description: "A realtime channel: every page on the same `topic` hears what any of them publishes, within milliseconds. The topic must match a channel the space declares in its settings (`channels`), e.g. `board:{{ id }}` under `board:{id}`. A topic of a private channel (`grant: true`) opens only with `grant`, bound to the grant the action that let this visitor in returned (its `realtime.grant` step). ITS DESCENDANTS bind to its source `channel_<id>`: `connected`, `members` (with the state each announced), `messages` (the last `keep`) and `last`. It fires `onMessage`; `onJoin` when somebody who came after this page has announced who they are, and `onLeave` when somebody goes — each with `from`, `user` and the `state` they announced; and answers `publish({ type, data })` and `setPresence({ data })`; `presence` is the state this page announces (a name, a colour). Closed in the builder and anywhere without a server.",
92
- items: [],
93
- bindings: {},
94
- styleSelectors: { base: "" },
95
- initialState: { visibility: !0 }
96
- },
97
- builder: {
98
- canDelete: !0,
99
- canSelect: !0,
100
- canDragDrop: !0,
101
- canMove: !0,
102
- canSnippet: !0,
103
- itemsAllowed: [],
104
- itemsNotAllowed: []
96
+ description: "A realtime channel: every OTHER page on the same `topic` hears what one publishes, within milliseconds — the page that sent it too with `echo` (its `from` is then the `me` of the channel). The topic must match a channel the space declares in its settings (`channels`), e.g. `board:{{ id }}` under `board:{id}`. A topic of a private channel (`grant: true`) opens only with `grant`, bound to the grant the action that let this visitor in returned (its `realtime.grant` step). ITS DESCENDANTS bind to its source `channel_<id>`: `connected`, `members` (with the state each announced), `messages` (the last `keep`) and `last`. It fires `onMessage`; `onJoin` when somebody who came after this page has announced who they are, and `onLeave` when somebody goes — each with `from`, `user` and the `state` they announced; and answers `publish({ type, data, echo })` and `setPresence({ data })`; `presence` is the state this page announces (a name, a colour). Closed in the builder and anywhere without a server.",
97
+ items: []
105
98
  },
106
99
  market: {
107
100
  category: "provider",
108
- owner: "Plitzi",
109
- verified: !0,
110
- license: "MIT",
111
- website: "https://plitzi.com",
112
- backgroundColor: "#4422ee",
113
101
  icon: "fa-solid fa-tower-broadcast"
114
102
  },
115
103
  defaultStyle: {
116
- name: "Channel",
117
- displayMode: "desktop",
118
104
  style: { base: { default: {} } },
119
105
  subTypes: {}
120
- },
121
- settings: {}
106
+ }
122
107
  }
123
108
  });
124
109
  //#endregion
@@ -19,6 +19,7 @@ declare const Channel: {
19
19
  readonly from: "";
20
20
  readonly user: "";
21
21
  readonly at: "";
22
+ readonly echo: false;
22
23
  };
23
24
  };
24
25
  readonly onJoin: {
@@ -61,6 +62,11 @@ declare const Channel: {
61
62
  readonly defaultValue: "";
62
63
  readonly type: "text";
63
64
  };
65
+ readonly echo: {
66
+ readonly label: "Heard on this page too";
67
+ readonly defaultValue: false;
68
+ readonly type: "boolean";
69
+ };
64
70
  };
65
71
  };
66
72
  readonly setPresence: {
@@ -86,38 +92,14 @@ declare const Channel: {
86
92
  };
87
93
  readonly definition: {
88
94
  readonly label: "Channel";
89
- readonly type: "channel";
90
95
  readonly description: string;
91
- readonly items: readonly [];
92
- readonly bindings: {};
93
- readonly styleSelectors: {
94
- readonly base: "";
95
- };
96
- readonly initialState: {
97
- readonly visibility: true;
98
- };
99
- };
100
- readonly builder: {
101
- readonly canDelete: true;
102
- readonly canSelect: true;
103
- readonly canDragDrop: true;
104
- readonly canMove: true;
105
- readonly canSnippet: true;
106
- readonly itemsAllowed: readonly [];
107
- readonly itemsNotAllowed: readonly [];
96
+ readonly items: [];
108
97
  };
109
98
  readonly market: {
110
99
  readonly category: "provider";
111
- readonly owner: "Plitzi";
112
- readonly verified: true;
113
- readonly license: "MIT";
114
- readonly website: "https://plitzi.com";
115
- readonly backgroundColor: "#4422ee";
116
100
  readonly icon: "fa-solid fa-tower-broadcast";
117
101
  };
118
102
  readonly defaultStyle: {
119
- readonly name: "Channel";
120
- readonly displayMode: "desktop";
121
103
  readonly style: {
122
104
  readonly base: {
123
105
  readonly default: {};
@@ -125,8 +107,9 @@ declare const Channel: {
125
107
  };
126
108
  readonly subTypes: {};
127
109
  };
128
- readonly settings: {};
129
110
  };
111
+ } & {
112
+ content: import('@plitzi/sdk-shared/authoring/declare').ElementContentDefaults;
130
113
  } & import('@plitzi/sdk-shared/authoring/declare').ElementAttributesBrand<Partial<{
131
114
  subType?: "" | "div" | "section" | "aside" | "main" | undefined;
132
115
  grant?: string | undefined;
@@ -6,75 +6,83 @@ import i from "./advanced/NodeHtml/Settings.mjs";
6
6
  import a from "./advanced/PlitziSdk/Settings.mjs";
7
7
  import o from "./advanced/Reference/Settings.mjs";
8
8
  import s from "./basic/Button/Settings.mjs";
9
- import c from "./basic/Dropdown/Settings.mjs";
10
- import l from "./basic/Heading/Settings.mjs";
11
- import u from "./basic/Link/Settings.mjs";
12
- import d from "./basic/Markdown/Settings.mjs";
13
- import f from "./basic/Paragraph/Settings.mjs";
14
- import p from "./basic/RichText/Settings.mjs";
15
- import m from "./basic/Text/Settings.mjs";
16
- import h from "./form/Form/Settings.mjs";
17
- import g from "./form/FormControl/Settings.mjs";
18
- import _ from "./internal/LayoutContainer/Settings.mjs";
19
- import v from "./internal/Page/Settings.mjs";
20
- import y from "./media/Embed/Settings.mjs";
21
- import b from "./media/FontAwesome/Settings.mjs";
22
- import x from "./media/Image/Settings.mjs";
23
- import S from "./media/Svg/Settings.mjs";
24
- import C from "./media/Video/Settings.mjs";
25
- import w from "./provider/ApiContainer/Settings.mjs";
26
- import T from "./provider/Channel/Settings.mjs";
27
- import E from "./structure/Carousel/CarouselTrack/Settings.mjs";
28
- import D from "./structure/Carousel/Settings.mjs";
29
- import O from "./structure/Container/Settings.mjs";
30
- import k from "./structure/DialogContainer/Settings.mjs";
31
- import A from "./structure/List/ListItem/Settings.mjs";
32
- import j from "./structure/List/Settings.mjs";
33
- import M from "./structure/ModalContainer/Settings.mjs";
34
- import N from "./structure/Pagination/Settings.mjs";
35
- import P from "./structure/TabContainer/Settings.mjs";
36
- import F from "./structure/TabContainer/TabContainerBody/Settings.mjs";
37
- import I from "./structure/TabContainer/TabContainerHeader/Settings.mjs";
38
- import L from "./structure/TabContainer/TabContainerItem/Settings.mjs";
9
+ import c from "./basic/Dropdown/DropdownPopup/Settings.mjs";
10
+ import l from "./basic/Dropdown/Settings.mjs";
11
+ import u from "./basic/Heading/Settings.mjs";
12
+ import d from "./basic/Link/Settings.mjs";
13
+ import f from "./basic/Markdown/Settings.mjs";
14
+ import p from "./basic/Paragraph/Settings.mjs";
15
+ import m from "./basic/RichText/Settings.mjs";
16
+ import h from "./basic/Text/Settings.mjs";
17
+ import g from "./basic/ThemeToggle/Settings.mjs";
18
+ import _ from "./form/Form/Settings.mjs";
19
+ import v from "./form/FormControl/Settings.mjs";
20
+ import y from "./internal/LayoutContainer/Settings.mjs";
21
+ import b from "./internal/Loading/Settings.mjs";
22
+ import x from "./internal/NotFound/Settings.mjs";
23
+ import S from "./internal/Page/Settings.mjs";
24
+ import C from "./media/Embed/Settings.mjs";
25
+ import w from "./media/FontAwesome/Settings.mjs";
26
+ import T from "./media/Image/Settings.mjs";
27
+ import E from "./media/Svg/Settings.mjs";
28
+ import D from "./media/Video/Settings.mjs";
29
+ import O from "./provider/ApiContainer/Settings.mjs";
30
+ import k from "./provider/Channel/Settings.mjs";
31
+ import A from "./structure/Carousel/CarouselTrack/Settings.mjs";
32
+ import j from "./structure/Carousel/Settings.mjs";
33
+ import M from "./structure/Container/Settings.mjs";
34
+ import N from "./structure/DialogContainer/Settings.mjs";
35
+ import P from "./structure/List/ListItem/Settings.mjs";
36
+ import F from "./structure/List/Settings.mjs";
37
+ import I from "./structure/ModalContainer/Settings.mjs";
38
+ import L from "./structure/Pagination/Settings.mjs";
39
+ import R from "./structure/TabContainer/Settings.mjs";
40
+ import z from "./structure/TabContainer/TabContainerBody/Settings.mjs";
41
+ import B from "./structure/TabContainer/TabContainerHeader/Settings.mjs";
42
+ import V from "./structure/TabContainer/TabContainerItem/Settings.mjs";
39
43
  //#region src/elements/settings.ts
40
- var R = /* @__PURE__ */ e({ defaultElementsSettings: () => z }), z = {
41
- dropdown: c,
44
+ var H = /* @__PURE__ */ e({ defaultElementsSettings: () => U }), U = {
45
+ dropdown: l,
46
+ dropdownPopup: c,
42
47
  plitziSdk: a,
43
48
  custom: r,
44
49
  reference: o,
45
50
  blockHtml: t,
46
51
  blockJsx: n,
47
- page: v,
48
- container: O,
49
- layoutContainer: _,
50
- dialogContainer: k,
51
- modalContainer: M,
52
- carousel: D,
53
- carouselTrack: E,
54
- tabContainer: P,
55
- tabContainerBody: F,
56
- tabContainerheader: I,
57
- tabContainerItem: L,
58
- heading: l,
59
- image: x,
60
- video: C,
61
- embed: y,
62
- svg: S,
63
- fontAwesome: b,
52
+ page: S,
53
+ loading: b,
54
+ notFound: x,
55
+ container: M,
56
+ layoutContainer: y,
57
+ dialogContainer: N,
58
+ modalContainer: I,
59
+ carousel: j,
60
+ carouselTrack: A,
61
+ tabContainer: R,
62
+ tabContainerBody: z,
63
+ tabContainerHeader: B,
64
+ tabContainerItem: V,
65
+ heading: u,
66
+ image: T,
67
+ video: D,
68
+ embed: C,
69
+ svg: E,
70
+ fontAwesome: w,
64
71
  button: s,
65
- paragraph: f,
66
- text: m,
67
- markdown: d,
68
- richText: p,
69
- pagination: N,
72
+ paragraph: p,
73
+ text: h,
74
+ themeToggle: g,
75
+ markdown: f,
76
+ richText: m,
77
+ pagination: L,
70
78
  nodeHtml: i,
71
- list: j,
72
- listItem: A,
73
- link: u,
74
- form: h,
75
- formControl: g,
76
- apiContainer: w,
77
- channel: T
79
+ list: F,
80
+ listItem: P,
81
+ link: d,
82
+ form: _,
83
+ formControl: v,
84
+ apiContainer: O,
85
+ channel: k
78
86
  };
79
87
  //#endregion
80
- export { z as defaultElementsSettings, R as settings_exports };
88
+ export { U as defaultElementsSettings, H as settings_exports };