@plitzi/sdk-elements 0.37.1 → 0.37.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (261) hide show
  1. package/CHANGELOG.md +1306 -0
  2. package/dist/Component/ComponentProvider.d.ts +1 -1
  3. package/dist/Component/ComponentProvider.mjs +10 -5
  4. package/dist/Element/JsxManager.d.ts +1 -1
  5. package/dist/Element/JsxManager.mjs +1 -0
  6. package/dist/Element/LayoutBody.d.ts +1 -1
  7. package/dist/Element/PluginManager.d.ts +1 -1
  8. package/dist/Element/PluginRemote.d.ts +3 -1
  9. package/dist/Element/PluginRemote.mjs +9 -9
  10. package/dist/Element/ReplicaProvider.d.ts +1 -1
  11. package/dist/Element/helpers/elementConstants.mjs +28 -0
  12. package/dist/Element/helpers/elementUtils.mjs +1 -1
  13. package/dist/Element/helpers/loadComponent.d.ts +6 -1
  14. package/dist/Element/helpers/loadComponent.mjs +7 -7
  15. package/dist/Element/helpers/pluginSelector.d.ts +1 -1
  16. package/dist/Element/helpers/pluginSelector.mjs +1 -0
  17. package/dist/Element/hocs/withElement.d.ts +1 -1
  18. package/dist/Element/hooks/useElementDataSource.mjs +23 -16
  19. package/dist/Element/hooks/useElementInternal.mjs +60 -52
  20. package/dist/Element/hooks/useInternalClassName.mjs +19 -18
  21. package/dist/Element/hooks/useKeyTriggers.d.ts +18 -0
  22. package/dist/Element/hooks/useKeyTriggers.mjs +36 -0
  23. package/dist/Element/hooks/useRootElementInteractions.mjs +70 -55
  24. package/dist/Element/hooks/useRscData.mjs +20 -15
  25. package/dist/components/ElementAdvancedEditor.d.ts +1 -1
  26. package/dist/dataSource/GlobalSources.mjs +115 -79
  27. package/dist/dataSource/getSourcesByElementId.mjs +2 -2
  28. package/dist/elements/advanced/BlockHtml/BlockHtml.d.ts +2 -2
  29. package/dist/elements/advanced/BlockHtml/Settings.d.ts +1 -1
  30. package/dist/elements/advanced/BlockHtml/index.d.ts +1 -1
  31. package/dist/elements/advanced/BlockJsx/BlockJsx.d.ts +2 -2
  32. package/dist/elements/advanced/BlockJsx/BlockJsx.mjs +1 -1
  33. package/dist/elements/advanced/BlockJsx/Settings.d.ts +1 -1
  34. package/dist/elements/advanced/BlockJsx/index.d.ts +1 -1
  35. package/dist/elements/advanced/Custom/Custom.d.ts +2 -2
  36. package/dist/elements/advanced/Custom/Settings.d.ts +1 -1
  37. package/dist/elements/advanced/Custom/index.d.ts +1 -1
  38. package/dist/elements/advanced/NodeHtml/declaration.d.ts +1 -1
  39. package/dist/elements/advanced/NodeHtml/index.d.ts +2 -2
  40. package/dist/elements/advanced/PlitziSdk/Settings.d.ts +1 -1
  41. package/dist/elements/advanced/Reference/Reference.d.ts +2 -2
  42. package/dist/elements/advanced/Reference/Settings.d.ts +1 -1
  43. package/dist/elements/advanced/Reference/index.d.ts +1 -1
  44. package/dist/elements/basic/Button/Button.d.ts +11 -4
  45. package/dist/elements/basic/Button/Button.mjs +5 -5
  46. package/dist/elements/basic/Button/Settings.d.ts +2 -1
  47. package/dist/elements/basic/Button/Settings.mjs +14 -7
  48. package/dist/elements/basic/Button/declaration.d.ts +8 -3
  49. package/dist/elements/basic/Button/declaration.mjs +14 -6
  50. package/dist/elements/basic/Button/index.d.ts +9 -4
  51. package/dist/elements/basic/Dropdown/Dropdown.d.ts +2 -2
  52. package/dist/elements/basic/Dropdown/Dropdown.mjs +48 -39
  53. package/dist/elements/basic/Dropdown/DropdownPopup/DropdownPopup.d.ts +2 -2
  54. package/dist/elements/basic/Dropdown/DropdownPopup/Settings.d.ts +1 -1
  55. package/dist/elements/basic/Dropdown/DropdownPopup/declaration.d.ts +2 -1
  56. package/dist/elements/basic/Dropdown/DropdownPopup/declaration.mjs +2 -1
  57. package/dist/elements/basic/Dropdown/DropdownPopup/index.d.ts +3 -2
  58. package/dist/elements/basic/Dropdown/Settings.d.ts +1 -1
  59. package/dist/elements/basic/Dropdown/declaration.d.ts +3 -0
  60. package/dist/elements/basic/Dropdown/declaration.mjs +9 -3
  61. package/dist/elements/basic/Dropdown/index.d.ts +7 -3
  62. package/dist/elements/basic/Dropdown/useDropdown.d.ts +6 -1
  63. package/dist/elements/basic/Dropdown/useDropdown.mjs +58 -41
  64. package/dist/elements/basic/Dropdown/useDropdownTrigger.d.ts +26 -0
  65. package/dist/elements/basic/Dropdown/useDropdownTrigger.mjs +30 -0
  66. package/dist/elements/basic/Heading/Heading.d.ts +2 -2
  67. package/dist/elements/basic/Heading/Settings.d.ts +1 -1
  68. package/dist/elements/basic/Heading/declaration.d.ts +9 -6
  69. package/dist/elements/basic/Heading/declaration.mjs +17 -9
  70. package/dist/elements/basic/Heading/index.d.ts +10 -7
  71. package/dist/elements/basic/Link/Link.d.ts +2 -2
  72. package/dist/elements/basic/Link/Link.mjs +5 -2
  73. package/dist/elements/basic/Link/Settings.d.ts +2 -1
  74. package/dist/elements/basic/Link/Settings.mjs +31 -24
  75. package/dist/elements/basic/Link/declaration.d.ts +5 -1
  76. package/dist/elements/basic/Link/declaration.mjs +16 -3
  77. package/dist/elements/basic/Link/index.d.ts +6 -2
  78. package/dist/elements/basic/Markdown/Markdown.d.ts +2 -2
  79. package/dist/elements/basic/Markdown/Settings.d.ts +1 -1
  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 +2 -2
  83. package/dist/elements/basic/Paragraph/Paragraph.d.ts +2 -2
  84. package/dist/elements/basic/Paragraph/Settings.d.ts +1 -1
  85. package/dist/elements/basic/Paragraph/index.d.ts +1 -1
  86. package/dist/elements/basic/RichText/RichText.d.ts +2 -2
  87. package/dist/elements/basic/RichText/Settings.d.ts +1 -1
  88. package/dist/elements/basic/RichText/declaration.d.ts +3 -0
  89. package/dist/elements/basic/RichText/declaration.mjs +8 -3
  90. package/dist/elements/basic/RichText/index.d.ts +4 -1
  91. package/dist/elements/basic/Text/Settings.d.ts +1 -1
  92. package/dist/elements/basic/Text/Text.d.ts +2 -2
  93. package/dist/elements/basic/Text/declaration.d.ts +1 -1
  94. package/dist/elements/basic/Text/declaration.mjs +1 -1
  95. package/dist/elements/basic/Text/index.d.ts +2 -2
  96. package/dist/elements/basic/ThemeToggle/ThemeToggle.d.ts +2 -2
  97. package/dist/elements/basic/ThemeToggle/ThemeToggle.mjs +58 -62
  98. package/dist/elements/basic/ThemeToggle/declaration.d.ts +15 -1
  99. package/dist/elements/basic/ThemeToggle/declaration.mjs +12 -4
  100. package/dist/elements/basic/ThemeToggle/index.d.ts +16 -2
  101. package/dist/elements/declarations/index.d.ts +530 -21
  102. package/dist/elements/declarations/index.mjs +24 -22
  103. package/dist/elements/form/Form/Form.d.ts +2 -2
  104. package/dist/elements/form/Form/Form.mjs +37 -57
  105. package/dist/elements/form/Form/Settings.d.ts +1 -1
  106. package/dist/elements/form/Form/declaration.d.ts +60 -0
  107. package/dist/elements/form/Form/declaration.mjs +59 -3
  108. package/dist/elements/form/Form/index.d.ts +62 -2
  109. package/dist/elements/form/FormControl/FormControl.d.ts +19 -7
  110. package/dist/elements/form/FormControl/FormControl.mjs +138 -138
  111. package/dist/elements/form/FormControl/Settings.d.ts +3 -1
  112. package/dist/elements/form/FormControl/Settings.mjs +73 -57
  113. package/dist/elements/form/FormControl/components/Label.d.ts +3 -1
  114. package/dist/elements/form/FormControl/components/Label.mjs +20 -18
  115. package/dist/elements/form/FormControl/components/visuallyHidden.d.ts +6 -0
  116. package/dist/elements/form/FormControl/components/visuallyHidden.mjs +14 -0
  117. package/dist/elements/form/FormControl/declaration.d.ts +17 -0
  118. package/dist/elements/form/FormControl/declaration.mjs +56 -30
  119. package/dist/elements/form/FormControl/hocs/withFieldValue.d.ts +1 -1
  120. package/dist/elements/form/FormControl/hocs/withFieldValue.mjs +68 -61
  121. package/dist/elements/form/FormControl/index.d.ts +19 -2
  122. package/dist/elements/form/FormControl/inputs/Checkbox.d.ts +6 -1
  123. package/dist/elements/form/FormControl/inputs/Checkbox.mjs +5 -3
  124. package/dist/elements/form/FormControl/inputs/Hidden.d.ts +1 -1
  125. package/dist/elements/form/FormControl/inputs/Input.d.ts +8 -1
  126. package/dist/elements/form/FormControl/inputs/Input.mjs +44 -38
  127. package/dist/elements/form/FormControl/inputs/Select.d.ts +6 -1
  128. package/dist/elements/form/FormControl/inputs/Select.mjs +12 -10
  129. package/dist/elements/form/FormControl/inputs/Textarea.d.ts +8 -1
  130. package/dist/elements/form/FormControl/inputs/Textarea.mjs +26 -21
  131. package/dist/elements/form/FormControl/inputs/useFocusWhenShown.d.ts +7 -0
  132. package/dist/elements/form/FormControl/inputs/useFocusWhenShown.mjs +9 -0
  133. package/dist/elements/index.d.ts +3 -1
  134. package/dist/elements/index.mjs +16 -14
  135. package/dist/elements/internal/LayoutContainer/LayoutContainer.d.ts +2 -2
  136. package/dist/elements/internal/LayoutContainer/Settings.d.ts +1 -1
  137. package/dist/elements/internal/LayoutContainer/declaration.d.ts +3 -0
  138. package/dist/elements/internal/LayoutContainer/declaration.mjs +15 -3
  139. package/dist/elements/internal/LayoutContainer/index.d.ts +4 -1
  140. package/dist/elements/internal/LayoutPicker/LayoutPicker.d.ts +1 -1
  141. package/dist/elements/internal/Loading/Loading.d.ts +2 -2
  142. package/dist/elements/internal/Loading/index.d.ts +1 -1
  143. package/dist/elements/internal/NotFound/NotFound.d.ts +2 -2
  144. package/dist/elements/internal/NotFound/index.d.ts +1 -1
  145. package/dist/elements/internal/Page/Page.d.ts +2 -2
  146. package/dist/elements/internal/Page/Page.mjs +34 -43
  147. package/dist/elements/internal/Page/Settings.d.ts +1 -1
  148. package/dist/elements/internal/Page/declaration.d.ts +13 -0
  149. package/dist/elements/internal/Page/declaration.mjs +11 -0
  150. package/dist/elements/internal/Page/index.d.ts +14 -1
  151. package/dist/elements/media/FontAwesome/FontAwesome.d.ts +9 -2
  152. package/dist/elements/media/FontAwesome/FontAwesome.mjs +12 -5
  153. package/dist/elements/media/FontAwesome/Settings.d.ts +2 -1
  154. package/dist/elements/media/FontAwesome/Settings.mjs +29 -22
  155. package/dist/elements/media/FontAwesome/declaration.d.ts +1 -0
  156. package/dist/elements/media/FontAwesome/index.d.ts +2 -1
  157. package/dist/elements/media/Image/Image.d.ts +14 -3
  158. package/dist/elements/media/Image/Image.mjs +25 -25
  159. package/dist/elements/media/Image/Settings.d.ts +3 -1
  160. package/dist/elements/media/Image/Settings.mjs +29 -15
  161. package/dist/elements/media/Image/declaration.d.ts +7 -1
  162. package/dist/elements/media/Image/declaration.mjs +16 -3
  163. package/dist/elements/media/Image/index.d.ts +8 -2
  164. package/dist/elements/media/Video/Settings.d.ts +1 -1
  165. package/dist/elements/media/Video/Video.d.ts +2 -2
  166. package/dist/elements/media/Video/index.d.ts +1 -1
  167. package/dist/elements/provider/ApiContainer/ApiContainer.d.ts +11 -2
  168. package/dist/elements/provider/ApiContainer/ApiContainer.mjs +164 -198
  169. package/dist/elements/provider/ApiContainer/Settings.d.ts +2 -1
  170. package/dist/elements/provider/ApiContainer/Settings.mjs +129 -122
  171. package/dist/elements/provider/ApiContainer/components/FiltersInput/FiltersInput.d.ts +1 -1
  172. package/dist/elements/provider/ApiContainer/declaration.d.ts +88 -0
  173. package/dist/elements/provider/ApiContainer/declaration.mjs +112 -4
  174. package/dist/elements/provider/ApiContainer/helpers/isEmptyAnswer.d.ts +16 -0
  175. package/dist/elements/provider/ApiContainer/helpers/isEmptyAnswer.mjs +4 -0
  176. package/dist/elements/provider/ApiContainer/helpers/providerOutcome.d.ts +25 -0
  177. package/dist/elements/provider/ApiContainer/helpers/providerOutcome.mjs +7 -0
  178. package/dist/elements/provider/ApiContainer/helpers/queryInput.d.ts +5 -0
  179. package/dist/elements/provider/ApiContainer/helpers/queryInput.mjs +12 -0
  180. package/dist/elements/provider/ApiContainer/hooks/useAutoRefresh.d.ts +21 -0
  181. package/dist/elements/provider/ApiContainer/hooks/useAutoRefresh.mjs +18 -0
  182. package/dist/elements/provider/ApiContainer/index.d.ts +89 -1
  183. package/dist/elements/provider/Channel/Channel.d.ts +26 -0
  184. package/dist/elements/provider/Channel/Channel.mjs +92 -0
  185. package/dist/elements/provider/Channel/Settings.d.ts +9 -0
  186. package/dist/elements/provider/Channel/Settings.mjs +38 -0
  187. package/dist/elements/provider/Channel/declaration.d.ts +138 -0
  188. package/dist/elements/provider/Channel/declaration.mjs +125 -0
  189. package/dist/elements/provider/Channel/index.d.ts +137 -0
  190. package/dist/elements/provider/Channel/index.mjs +6 -0
  191. package/dist/elements/settings.mjs +25 -23
  192. package/dist/elements/structure/Container/Container.d.ts +17 -3
  193. package/dist/elements/structure/Container/Container.mjs +18 -9
  194. package/dist/elements/structure/Container/Settings.d.ts +4 -2
  195. package/dist/elements/structure/Container/Settings.mjs +110 -69
  196. package/dist/elements/structure/Container/declaration.d.ts +12 -1
  197. package/dist/elements/structure/Container/declaration.mjs +35 -3
  198. package/dist/elements/structure/Container/index.d.ts +7 -2
  199. package/dist/elements/structure/Container/index.mjs +3 -3
  200. package/dist/elements/structure/DialogContainer/DialogContainer.d.ts +2 -2
  201. package/dist/elements/structure/DialogContainer/DialogContainer.mjs +126 -153
  202. package/dist/elements/structure/DialogContainer/Settings.d.ts +1 -1
  203. package/dist/elements/structure/DialogContainer/declaration.d.ts +82 -1
  204. package/dist/elements/structure/DialogContainer/declaration.mjs +62 -1
  205. package/dist/elements/structure/DialogContainer/index.d.ts +83 -2
  206. package/dist/elements/structure/List/List.d.ts +2 -2
  207. package/dist/elements/structure/List/ListItem/ListItem.d.ts +2 -2
  208. package/dist/elements/structure/List/ListItem/Settings.d.ts +1 -1
  209. package/dist/elements/structure/List/ListItem/index.d.ts +1 -1
  210. package/dist/elements/structure/List/Settings.d.ts +1 -1
  211. package/dist/elements/structure/List/declaration.d.ts +4 -0
  212. package/dist/elements/structure/List/declaration.mjs +7 -3
  213. package/dist/elements/structure/List/index.d.ts +6 -2
  214. package/dist/elements/structure/List/modes/ListBasic.d.ts +1 -1
  215. package/dist/elements/structure/List/modes/ListControlled/ListControlled.d.ts +1 -1
  216. package/dist/elements/structure/List/modes/ListControlled/ListControlledItem.d.ts +1 -1
  217. package/dist/elements/structure/ModalContainer/ModalContainer.d.ts +2 -2
  218. package/dist/elements/structure/ModalContainer/ModalContainer.mjs +92 -107
  219. package/dist/elements/structure/ModalContainer/Settings.d.ts +1 -1
  220. package/dist/elements/structure/ModalContainer/declaration.d.ts +48 -2
  221. package/dist/elements/structure/ModalContainer/declaration.mjs +40 -2
  222. package/dist/elements/structure/ModalContainer/index.d.ts +49 -3
  223. package/dist/elements/structure/ModalContainer/metadataFromText.d.ts +1 -0
  224. package/dist/elements/structure/ModalContainer/metadataFromText.mjs +10 -0
  225. package/dist/elements/structure/ModalContainer/useModalDialog.d.ts +20 -0
  226. package/dist/elements/structure/ModalContainer/useModalDialog.mjs +31 -0
  227. package/dist/elements/structure/Pagination/Pagination.d.ts +7 -2
  228. package/dist/elements/structure/Pagination/Pagination.mjs +49 -52
  229. package/dist/elements/structure/Pagination/Settings.d.ts +2 -1
  230. package/dist/elements/structure/Pagination/Settings.mjs +16 -9
  231. package/dist/elements/structure/Pagination/declaration.d.ts +16 -0
  232. package/dist/elements/structure/Pagination/declaration.mjs +14 -3
  233. package/dist/elements/structure/Pagination/index.d.ts +17 -1
  234. package/dist/elements/structure/TabContainer/Settings.d.ts +1 -1
  235. package/dist/elements/structure/TabContainer/TabContainer.d.ts +2 -2
  236. package/dist/elements/structure/TabContainer/TabContainer.mjs +19 -17
  237. package/dist/elements/structure/TabContainer/TabContainerBody/Settings.d.ts +1 -1
  238. package/dist/elements/structure/TabContainer/TabContainerBody/TabContainerBody.d.ts +2 -2
  239. package/dist/elements/structure/TabContainer/TabContainerBody/TabContainerBody.mjs +8 -6
  240. package/dist/elements/structure/TabContainer/TabContainerBody/declaration.d.ts +1 -0
  241. package/dist/elements/structure/TabContainer/TabContainerBody/declaration.mjs +1 -0
  242. package/dist/elements/structure/TabContainer/TabContainerBody/index.d.ts +2 -1
  243. package/dist/elements/structure/TabContainer/TabContainerContext.d.ts +2 -0
  244. package/dist/elements/structure/TabContainer/TabContainerHeader/Settings.d.ts +1 -1
  245. package/dist/elements/structure/TabContainer/TabContainerHeader/TabContainerHeader.d.ts +2 -2
  246. package/dist/elements/structure/TabContainer/TabContainerHeader/TabContainerHeader.mjs +18 -14
  247. package/dist/elements/structure/TabContainer/TabContainerHeader/declaration.d.ts +1 -0
  248. package/dist/elements/structure/TabContainer/TabContainerHeader/declaration.mjs +1 -0
  249. package/dist/elements/structure/TabContainer/TabContainerHeader/index.d.ts +2 -1
  250. package/dist/elements/structure/TabContainer/TabContainerItem/Settings.d.ts +1 -1
  251. package/dist/elements/structure/TabContainer/TabContainerItem/TabContainerItem.d.ts +6 -2
  252. package/dist/elements/structure/TabContainer/TabContainerItem/TabContainerItem.mjs +48 -13
  253. package/dist/elements/structure/TabContainer/TabContainerItem/declaration.d.ts +1 -1
  254. package/dist/elements/structure/TabContainer/TabContainerItem/index.d.ts +1 -1
  255. package/dist/elements/structure/TabContainer/index.d.ts +6 -4
  256. package/dist/index.d.ts +570 -57
  257. package/dist/index.mjs +20 -17
  258. package/dist/realtime/useChannel.d.ts +35 -0
  259. package/dist/realtime/useChannel.mjs +57 -0
  260. package/package.json +75 -11
  261. package/dist/elements/media/FontAwesome/FontAwesome.stories-paused.d.ts +0 -1
@@ -5,5 +5,5 @@ export type ComponentProviderProps = {
5
5
  localCustomComponents?: Record<string, ComponentPluginWithHOC>;
6
6
  children?: ReactNode;
7
7
  };
8
- declare const ComponentProvider: ({ localComponents, localCustomComponents, children }: ComponentProviderProps) => import("react").JSX.Element;
8
+ declare const ComponentProvider: ({ localComponents, localCustomComponents, children }: ComponentProviderProps) => import('react').JSX.Element;
9
9
  export default ComponentProvider;
@@ -10,10 +10,10 @@ var d = ({ localComponents: d, localCustomComponents: f, children: p }) => {
10
10
  ...n(r),
11
11
  ...n(d),
12
12
  ...t(f)
13
- }), [d, f]), h = o({}), g = o({
13
+ }), [d, f]), h = o({}), g = a(() => ({ current: {
14
14
  ...h.current,
15
15
  ...m
16
- }), _ = i((t = [], n = !1) => {
16
+ } }), [m]), _ = i((t = [], n = !1) => {
17
17
  if (typeof t == "string" && !n) return g.current[t];
18
18
  if (typeof t == "string" && n) {
19
19
  let n = g.current[t];
@@ -30,7 +30,7 @@ var d = ({ localComponents: d, localCustomComponents: f, children: p }) => {
30
30
  ...c(e(i), [t])
31
31
  } : r[t] = i);
32
32
  }), r;
33
- }, []), v = i((t = []) => {
33
+ }, [g]), v = i((t = []) => {
34
34
  let n = {};
35
35
  return Array.isArray(t) || (t = [t]), t.forEach((t) => {
36
36
  t.type && !g.current[t.type] && (n = {
@@ -46,7 +46,7 @@ var d = ({ localComponents: d, localCustomComponents: f, children: p }) => {
46
46
  ...h.current,
47
47
  ...n
48
48
  }, n);
49
- }, [m]), y = i((e) => {
49
+ }, [g, m]), y = i((e) => {
50
50
  if (!e) return [];
51
51
  Array.isArray(e) || (e = [e]);
52
52
  let t = e;
@@ -57,7 +57,11 @@ var d = ({ localComponents: d, localCustomComponents: f, children: p }) => {
57
57
  ...c(h.current, t),
58
58
  ...m
59
59
  }, h.current = c(h.current, t), t;
60
- }, [_, m]), b = o(Object.keys(g.current).reduce((e, t) => {
60
+ }, [
61
+ g,
62
+ _,
63
+ m
64
+ ]), b = o(Object.keys(g.current).reduce((e, t) => {
61
65
  let n = s(g.current, t, void 0);
62
66
  return !n || !n.content ? e : {
63
67
  ...e,
@@ -83,6 +87,7 @@ var d = ({ localComponents: d, localCustomComponents: f, children: p }) => {
83
87
  unregisterDefinition: S,
84
88
  registerDefinition: x
85
89
  }), [
90
+ g,
86
91
  v,
87
92
  y,
88
93
  x,
@@ -7,5 +7,5 @@ export type JsxManagerProps = {
7
7
  internalProps: InternalPropsSTG1;
8
8
  children: ReactNode;
9
9
  };
10
- declare const _default: import('react').MemoExoticComponent<({ plitziJsxSkipHOC, as: type, internalProps, children, ...plitziJsxProps }: JsxManagerProps) => import("react").JSX.Element | null>;
10
+ declare const _default: import('react').MemoExoticComponent<({ plitziJsxSkipHOC, as: type, internalProps, children, ...plitziJsxProps }: JsxManagerProps) => import('react').JSX.Element | null>;
11
11
  export default _default;
@@ -17,6 +17,7 @@ var l = r(({ plitziJsxSkipHOC: r = !0, as: l = "", internalProps: u, children: d
17
17
  return l ? !g && _ ? /* @__PURE__ */ c(e, {
18
18
  internalProps: u,
19
19
  url: _.url,
20
+ type: l,
20
21
  plitziJsxSkipHOC: r,
21
22
  plitziJsxProps: f
22
23
  }) : (g ||= n, /* @__PURE__ */ c(g, {
@@ -15,7 +15,7 @@ export type LayoutBodyProps = {
15
15
  * `current` is the body as of the first render, which is what the server renders and what hydration reads. Later
16
16
  * bodies are announced after the commit, and the slot renders them before the browser paints.
17
17
  */
18
- declare const LayoutBody: ({ body, children }: LayoutBodyProps) => import("react").JSX.Element;
18
+ declare const LayoutBody: ({ body, children }: LayoutBodyProps) => import('react').JSX.Element;
19
19
  /** The body of the nearest shell, for the element that is its slot; nothing, and no subscription, for any other. */
20
20
  export declare const useLayoutBody: (isSlot: boolean) => ReactNode;
21
21
  export default LayoutBody;
@@ -4,5 +4,5 @@ export type PluginManagerProps = {
4
4
  type: string;
5
5
  internalProps: InternalPropsSTG0;
6
6
  };
7
- declare const _default: import('react').MemoExoticComponent<({ plitziElementLayout, type, internalProps }: PluginManagerProps) => import("react").JSX.Element | undefined>;
7
+ declare const _default: import('react').MemoExoticComponent<({ plitziElementLayout, type, internalProps }: PluginManagerProps) => import('react').JSX.Element | undefined>;
8
8
  export default _default;
@@ -1,10 +1,12 @@
1
1
  import { InternalPropsSTG1 } from '@plitzi/sdk-shared';
2
2
  export type PluginRemoteProps = {
3
3
  url: string;
4
+ /** The element's type, when it is not the plugin's main one: a plugin's other elements load from the same URL. */
5
+ type?: string;
4
6
  internalProps: InternalPropsSTG1;
5
7
  autoRegister?: boolean;
6
8
  plitziJsxSkipHOC?: boolean;
7
9
  plitziJsxProps?: Record<string, unknown>;
8
10
  };
9
- declare const PluginRemote: ({ url, internalProps, autoRegister, plitziJsxSkipHOC, plitziJsxProps }: PluginRemoteProps) => import("react").JSX.Element | null;
11
+ declare const PluginRemote: ({ url, type, internalProps, autoRegister, plitziJsxSkipHOC, plitziJsxProps }: PluginRemoteProps) => import('react').JSX.Element | null;
10
12
  export default PluginRemote;
@@ -4,15 +4,15 @@ import s from "@plitzi/sdk-shared/elements/ComponentContext";
4
4
  import { emptyObject as c } from "@plitzi/sdk-shared/helpers/utils";
5
5
  import { jsx as l } from "react/jsx-runtime";
6
6
  //#region src/Element/PluginRemote.tsx
7
- var u = ({ url: u = "", internalProps: d, autoRegister: f = !0, plitziJsxSkipHOC: p = !1, plitziJsxProps: m = c }) => {
8
- let { register: h } = r(s), [g, _] = o(!1);
9
- i(() => _(!0), []);
10
- let v = a(() => n(e(u, h, f, p)), [u]);
11
- return g ? p ? /* @__PURE__ */ l(t, { children: /* @__PURE__ */ l(v, {
12
- internalProps: d,
13
- plitziJsxSkipHOC: p,
14
- ...m
15
- }) }) : /* @__PURE__ */ l(t, { children: /* @__PURE__ */ l(v, { internalProps: d }) }) : null;
7
+ var u = ({ url: u = "", type: d, internalProps: f, autoRegister: p = !0, plitziJsxSkipHOC: m = !1, plitziJsxProps: h = c }) => {
8
+ let { register: g } = r(s), [_, v] = o(!1);
9
+ i(() => v(!0), []);
10
+ let y = a(() => n(e(u, g, p, m, d)), [u, d]);
11
+ return _ ? m ? /* @__PURE__ */ l(t, { children: /* @__PURE__ */ l(y, {
12
+ internalProps: f,
13
+ plitziJsxSkipHOC: m,
14
+ ...h
15
+ }) }) : /* @__PURE__ */ l(t, { children: /* @__PURE__ */ l(y, { internalProps: f }) }) : null;
16
16
  };
17
17
  //#endregion
18
18
  export { u as default };
@@ -2,5 +2,5 @@ import { ReactNode } from 'react';
2
2
  export type ReplicaProviderProps = {
3
3
  children?: ReactNode;
4
4
  };
5
- declare const ReplicaProvider: ({ children }: ReplicaProviderProps) => import("react").JSX.Element;
5
+ declare const ReplicaProvider: ({ children }: ReplicaProviderProps) => import('react').JSX.Element;
6
6
  export default ReplicaProvider;
@@ -19,6 +19,18 @@ var e = {
19
19
  label: "Propagate Event"
20
20
  } }
21
21
  },
22
+ onPointerDown: {
23
+ action: "onPointerDown",
24
+ title: "On Pointer Down",
25
+ type: "trigger",
26
+ preview: { propagateEvent: "" },
27
+ params: { propagateEvent: {
28
+ canBind: !1,
29
+ defaultValue: !1,
30
+ type: "boolean",
31
+ label: "Propagate Event"
32
+ } }
33
+ },
22
34
  onMouseEnter: {
23
35
  action: "onMouseEnter",
24
36
  title: "On Mouse Enter",
@@ -79,6 +91,21 @@ var e = {
79
91
  label: "Propagate Event"
80
92
  } }
81
93
  },
94
+ onKey: {
95
+ action: "onKey",
96
+ title: "On Key",
97
+ type: "trigger",
98
+ preview: {
99
+ key: "",
100
+ shortcuts: ""
101
+ },
102
+ params: { keys: {
103
+ canBind: !1,
104
+ defaultValue: "",
105
+ type: "text",
106
+ label: "Keys (e.g. f, shift+f, mod+k, escape)"
107
+ } }
108
+ },
82
109
  onFlowEnd: {
83
110
  action: "onFlowEnd",
84
111
  title: "On Server Action End",
@@ -116,6 +143,7 @@ var e = {
116
143
  }
117
144
  }, t = [
118
145
  "onClick",
146
+ "onPointerDown",
119
147
  "onHover",
120
148
  "onFocus",
121
149
  "onBlur",
@@ -8,7 +8,7 @@ var e = async (e) => {
8
8
  URL.createObjectURL(n)
9
9
  );
10
10
  } catch (e) {
11
- console.log(e);
11
+ console.error(e);
12
12
  return;
13
13
  }
14
14
  };
@@ -1,5 +1,10 @@
1
1
  import { ComponentContextValue, ComponentPluginWithHOC } from '@plitzi/sdk-shared';
2
- declare const loadComponent: (url: string, registerCallback: ComponentContextValue["register"], autoRegister?: boolean, plitziJsxSkipHOC?: boolean) => () => Promise<{
2
+ /**
3
+ * A remote plugin's component, loaded from its module — the one of `type` when the element is not the plugin's main
4
+ * one. A plugin packs several elements into one module (the main as `default`, the others under `plugins`), and every
5
+ * element of it is loaded from the same URL: handing each the main component rendered the main element in all of them.
6
+ */
7
+ declare const loadComponent: (url: string, registerCallback: ComponentContextValue["register"], autoRegister?: boolean, plitziJsxSkipHOC?: boolean, type?: string) => () => Promise<{
3
8
  default: ComponentPluginWithHOC;
4
9
  }>;
5
10
  export default loadComponent;
@@ -1,7 +1,7 @@
1
1
  import { generatePluginModule as e } from "./elementUtils.mjs";
2
2
  import { get as t } from "@plitzi/plitzi-ui/helpers";
3
3
  //#region src/Element/helpers/loadComponent.ts
4
- var n = /* @__PURE__ */ new Map(), r = (r, i, a = !0, o = !1) => async () => {
4
+ var n = /* @__PURE__ */ new Map(), r = (r, i, a = !0, o = !1, s) => async () => {
5
5
  if (!n.get(r)) {
6
6
  let t = e(r).finally(() => {
7
7
  n.delete(r);
@@ -11,16 +11,16 @@ var n = /* @__PURE__ */ new Map(), r = (r, i, a = !0, o = !1) => async () => {
11
11
  timestamp: Date.now()
12
12
  });
13
13
  }
14
- let s = await n.get(r)?.promise, [{ default: c }, { default: l }, { nestedInject: u }] = await Promise.all([
14
+ let c = await n.get(r)?.promise, [{ default: l }, { default: u }, { nestedInject: d }] = await Promise.all([
15
15
  import("../hocs/withElement.mjs"),
16
16
  import("../../elements/internal/NotFound/NotFound.mjs"),
17
17
  import("../../Component/ComponentHelper.mjs")
18
18
  ]);
19
- if (!s) return { default: l };
20
- let { type: d, pluginSettings: f } = t(s, "default", {}), { version: p, initialItems: m, plugins: h } = s;
21
- if (!d) return { default: l };
22
- let g = s.default;
23
- return o || (g = c(s.default)), g.version = p, g.origin = "remote", g.type = d, g.initialItems = m, g.pluginSettings = f, g.plugins = u(h, "remote"), a && i(g), { default: g };
19
+ if (!c) return { default: u };
20
+ let { type: f, pluginSettings: p } = t(c, "default", {}), { version: m, initialItems: h, plugins: g } = c;
21
+ if (!f) return { default: u };
22
+ let _ = c.default;
23
+ return o || (_ = l(c.default)), _.version = m, _.origin = "remote", _.type = f, _.initialItems = h, _.pluginSettings = p, _.plugins = d(g, "remote"), a && i(_), !s || s === f ? { default: _ } : { default: (o ? g?.[s] : _.plugins[s]) ?? u };
24
24
  };
25
25
  //#endregion
26
26
  export { r as default };
@@ -14,5 +14,5 @@ export declare const getRemoteSettings: ({ type, plugins }: {
14
14
  }) => {
15
15
  url: string;
16
16
  } | undefined;
17
- declare const pluginSelector: ({ key, plitziElementLayout, type, internalProps: internalPropsProp, components, plugins }: pluginSelectorProps) => import("react").JSX.Element | undefined;
17
+ declare const pluginSelector: ({ key, plitziElementLayout, type, internalProps: internalPropsProp, components, plugins }: pluginSelectorProps) => import('react').JSX.Element | undefined;
18
18
  export default pluginSelector;
@@ -24,6 +24,7 @@ var r = (e, t) => Object.values(e).find((e) => e.subPlugins.find((e) => e === t)
24
24
  });
25
25
  return f ? /* @__PURE__ */ n(e, {
26
26
  url: f.url,
27
+ type: a,
27
28
  internalProps: l
28
29
  }, t) : u;
29
30
  };
@@ -8,7 +8,7 @@ export type WithElementProps<T> = {
8
8
  extraProps?: Record<string, unknown>;
9
9
  } & T;
10
10
  declare const withElement: <T extends object>(WrappedComponent: FC<T>) => {
11
- (props: WithElementProps<T>): import("react").JSX.Element;
11
+ (props: WithElementProps<T>): import('react').JSX.Element;
12
12
  displayName: string;
13
13
  };
14
14
  export default withElement;
@@ -1,27 +1,34 @@
1
1
  import { useMemo as e } from "react";
2
2
  import { useCommonStore as t } from "@plitzi/sdk-shared/store";
3
- import { templateRootNames as n } from "@plitzi/sdk-shared/helpers/twigWrapper";
3
+ import { templatePaths as n } from "@plitzi/sdk-shared/helpers/twigWrapper";
4
4
  //#region src/Element/hooks/useElementDataSource.ts
5
- var r = ({ source: e, transformers: t }) => {
6
- let r = [];
7
- if (e) {
8
- let t = e.indexOf(".");
9
- r.push(t > -1 ? e.substring(0, t) : e);
5
+ var r = ({ source: e, transformers: t, when: r }) => {
6
+ let a = e ? [e] : [];
7
+ for (let { action: e, params: r } of t ?? []) e === "twigTemplate" && typeof r.template == "string" && r.template && a.push(...n(r.template).filter((e) => e !== "source" && !e.startsWith("source.")));
8
+ return r && a.push(...i(r)), a;
9
+ }, i = (e) => e.rules.flatMap((e) => "rules" in e ? i(e) : [e.field, ...e.isBinding && typeof e.value == "string" ? [e.value] : []]), a = (e) => {
10
+ let t = [];
11
+ for (let n of [...new Set(e)].filter(Boolean).sort((e, t) => e.length - t.length)) t.some((e) => n.startsWith(`${e}.`)) || t.push(n);
12
+ return t;
13
+ }, o = (e) => typeof e == "object" && !!e && !Array.isArray(e), s = (e, t, n) => {
14
+ let r = t.split("."), i = e;
15
+ for (let e of r.slice(0, -1)) {
16
+ let t = i[e], n = o(t) ? t : {};
17
+ i[e] = n, i = n;
10
18
  }
11
- for (let { action: e, params: i } of t ?? []) e === "twigTemplate" && typeof i.template == "string" && i.template && r.push(...n(i.template));
12
- return r;
13
- }, i = ({ bindings: n, sources: i }) => {
14
- let a = e(() => {
19
+ i[r[r.length - 1]] = n;
20
+ }, c = ({ bindings: n, sources: i }) => {
21
+ let o = e(() => {
15
22
  let e = new Set(i ?? []);
16
23
  for (let t of Object.values(n ?? {})) if (Array.isArray(t)) for (let n of t) for (let t of r(n)) e.add(t);
17
- return e.size > 0 && !e.has("variables") && e.add("variables"), [...e];
18
- }, [n, i]), o = e(() => a.map((e) => `runtime.sources.${e}`), [a]), [s] = t(o);
24
+ return e.size > 0 && e.add("variables"), a(e);
25
+ }, [n, i]), c = e(() => o.map((e) => `runtime.sources.${e}`), [o]), [l] = t(c);
19
26
  return e(() => {
20
27
  let e = {};
21
- return a.forEach((t, n) => {
22
- s[n] !== void 0 && (e[t] = s[n]);
28
+ return o.forEach((t, n) => {
29
+ l[n] !== void 0 && s(e, t, l[n]);
23
30
  }), e;
24
- }, [a, s]);
31
+ }, [o, l]);
25
32
  };
26
33
  //#endregion
27
- export { i as default };
34
+ export { c as default };
@@ -8,51 +8,56 @@ import { useMemo as o } from "react";
8
8
  import { useCommonStore as s } from "@plitzi/sdk-shared/store";
9
9
  import { get as c } from "@plitzi/plitzi-ui/helpers";
10
10
  import l from "@plitzi/sdk-shared/dataSource/getBindingsDetails";
11
- import { hasValidToken as u, processTwig as d } from "@plitzi/sdk-shared/helpers/twigWrapper";
11
+ import { hasValidToken as u, processTwig as d, templatePaths as f } from "@plitzi/sdk-shared/helpers/twigWrapper";
12
12
  //#region src/Element/hooks/useElementInternal.ts
13
- var f = (e, n, r = {}, i = {}) => {
14
- let o, { attributes: s, definition: f } = e, { rootId: p, plitziElementLayout: m } = n;
15
- if (n.attributes && (s = {
16
- ...s,
17
- ...n.attributes
18
- }), Object.keys(r).length > 0) {
19
- let t = l(r, {
20
- ...e,
21
- attributes: s
22
- }, o);
23
- ({attributes: s, definition: f, style: o} = t);
24
- }
25
- let { queryParams: h = {}, routeParams: g = {}, variables: _ = {}, origin: v = "" } = r, y = {
26
- ..._,
27
- ...g,
28
- ...h,
13
+ var p = (e, t, n) => {
14
+ let { queryParams: r = {}, routeParams: i = {}, variables: a = {}, origin: o = "", navigation: s, ...c } = n, l = {
15
+ ...a,
16
+ ...i,
17
+ ...r,
18
+ ...c,
29
19
  navigation: {
30
- routeParams: g,
31
- queryParams: h,
32
- origin: v
33
- }
34
- };
35
- if (Object.keys(y).length > 0) {
36
- let e = {};
37
- for (let t of Object.keys(s)) {
38
- let n = s[t];
39
- e[t] = typeof n == "string" && u(n) ? d(n, y, !0) : n;
20
+ ...s,
21
+ routeParams: i,
22
+ queryParams: r,
23
+ origin: o
40
24
  }
41
- s = e;
25
+ }, u = { ...e };
26
+ for (let n of t) u[n] = d(e[n], l, !0);
27
+ return u;
28
+ }, m = (e) => !!e && Object.values(e).some((e) => Array.isArray(e) && e.length > 0), h = (e, n, r = {}, i = {}) => {
29
+ let o, { attributes: s, definition: d } = e, { rootId: f, plitziElementLayout: h } = n;
30
+ n.attributes && (s = {
31
+ ...s,
32
+ ...n.attributes
33
+ });
34
+ let g = s;
35
+ if (Object.keys(r).length > 0) {
36
+ if (m(d.bindings)) {
37
+ let t = l(r, {
38
+ ...e,
39
+ attributes: s
40
+ }, o);
41
+ ({attributes: s, definition: d, style: o} = t);
42
+ } else o = {};
42
43
  }
43
- return s = {
44
+ let _ = Object.keys(s).filter((e) => {
45
+ let t = s[e];
46
+ return typeof t == "string" && t === g[e] && u(t);
47
+ });
48
+ return _.length > 0 && (s = p(s, _, r)), s = {
44
49
  ...s,
45
50
  ...t(i, ["visibility", "styleSelectors"])
46
- }, f = {
47
- ...f,
51
+ }, d = {
52
+ ...d,
48
53
  styleSelectors: {
49
- ...f.styleSelectors,
50
- ...f.initialState?.styleSelectors,
54
+ ...d.styleSelectors,
55
+ ...d.initialState?.styleSelectors,
51
56
  ...i.styleSelectors ?? {}
52
57
  }
53
- }, f.styleSelectors = a(f), {
58
+ }, d.styleSelectors = a(d), {
54
59
  ...n,
55
- rootId: c(m, "rootId", p),
60
+ rootId: c(h, "rootId", f),
56
61
  attributes: {
57
62
  ...s,
58
63
  ...t(n, [
@@ -63,33 +68,36 @@ var f = (e, n, r = {}, i = {}) => {
63
68
  "plitziElementLayout"
64
69
  ])
65
70
  },
66
- definition: f,
71
+ definition: d,
67
72
  elementState: {
68
- ...f.initialState,
73
+ ...d.initialState,
69
74
  ...i
70
75
  },
71
76
  style: o
72
77
  };
73
- }, p = ["variables"], m = (e) => Object.values(e ?? {}).some((e) => typeof e == "string" && u(e)), h = ({ element: a, children: c, internalProps: l, previewMode: u = !1, parentVisible: d = !0 }) => {
74
- let { id: h } = l, { state: g, setElementState: _ } = r({
75
- id: h,
78
+ }, g = (e) => Object.values(e ?? {}).filter((e) => typeof e == "string" && u(e)), _ = (e) => ["variables", ...new Set(e.flatMap((e) => f(e)))], v = ({ element: a, children: c, internalProps: l, previewMode: u = !1, parentVisible: d = !0 }) => {
79
+ let { id: f } = l, { state: p, setElementState: m } = r({
80
+ id: f,
76
81
  bindings: a.definition.bindings,
77
82
  previewMode: u
78
- }), v = o(() => m(a.attributes) || m(l.attributes), [a.attributes, l.attributes]), [[y, b, x]] = s([
83
+ }), v = o(() => {
84
+ let e = [...g(a.attributes), ...g(l.attributes)];
85
+ return e.length > 0 ? _(e) : void 0;
86
+ }, [a.attributes, l.attributes]), [[y, b, x]] = s([
79
87
  "navigation.routeParams",
80
88
  "navigation.queryParams",
81
89
  "navigation.origin"
82
- ], { enabled: v }), S = n({
90
+ ], { enabled: v !== void 0 }), S = n({
83
91
  bindings: a.definition.bindings,
84
- sources: v ? p : void 0
92
+ sources: v
85
93
  }), C = o(() => ({
86
- ...f(a, l, {
94
+ ...h(a, l, {
87
95
  ...S,
88
96
  routeParams: y,
89
97
  queryParams: b,
90
98
  origin: x
91
- }, g),
92
- setElementState: _
99
+ }, p),
100
+ setElementState: m
93
101
  }), [
94
102
  a,
95
103
  l,
@@ -97,12 +105,12 @@ var f = (e, n, r = {}, i = {}) => {
97
105
  y,
98
106
  b,
99
107
  x,
100
- g,
101
- _
108
+ p,
109
+ m
102
110
  ]);
103
111
  return {
104
112
  internalProps: C,
105
- customProps: t(C, [
113
+ customProps: o(() => t(C, [
106
114
  "id",
107
115
  "rootId",
108
116
  "plitziElementLayout",
@@ -111,9 +119,9 @@ var f = (e, n, r = {}, i = {}) => {
111
119
  "style",
112
120
  "elementState",
113
121
  "setElementState"
114
- ]),
122
+ ]), [C]),
115
123
  children: i({
116
- id: h,
124
+ id: f,
117
125
  definition: C.definition,
118
126
  plitziElementLayout: C.plitziElementLayout,
119
127
  children: c,
@@ -123,4 +131,4 @@ var f = (e, n, r = {}, i = {}) => {
123
131
  };
124
132
  };
125
133
  //#endregion
126
- export { h as default, f as getProps };
134
+ export { v as default, h as getProps };
@@ -1,27 +1,28 @@
1
1
  import { isVisible as e } from "../helpers/isVisible.mjs";
2
2
  import { useMemo as t } from "react";
3
3
  import n from "clsx";
4
+ import { HIDDEN_CLASS as r } from "@plitzi/sdk-shared/style/styleStates";
4
5
  //#region src/Element/hooks/useInternalClassName.ts
5
- var r = ({ id: r, className: i, previewMode: a, baseElementId: o, plitziElementLayout: s, definition: c, elementState: l }) => {
6
- let { items: u } = c, d = e(l.visibility);
7
- return t(() => n(i, {
8
- "plitzi-component--hidden": !d,
9
- "plitzi-component": !a && !s,
10
- "plitzi-component--layout": !a && !!s,
11
- with__container: !a && !!u,
12
- "container--empty": !a && !!u && u.length === 0 && !s,
13
- "container--base-element": !a && !!u && o === r,
14
- "plitzi-component--layout-body": s && r === s.containerId
15
- }, c.styleSelectors.base), [
16
- i,
17
- d,
6
+ var i = ({ id: i, className: a, previewMode: o, baseElementId: s, plitziElementLayout: c, definition: l, elementState: u }) => {
7
+ let { items: d } = l, f = e(u.visibility);
8
+ return t(() => n(a, {
9
+ [r]: !f,
10
+ "plitzi-component": !o && !c,
11
+ "plitzi-component--layout": !o && !!c,
12
+ with__container: !o && !!d,
13
+ "container--empty": !o && !!d && d.length === 0 && !c,
14
+ "container--base-element": !o && !!d && s === i,
15
+ "plitzi-component--layout-body": c && i === c.containerId
16
+ }, l.styleSelectors.base), [
18
17
  a,
19
- s,
20
- u,
18
+ f,
21
19
  o,
22
- r,
23
- c.styleSelectors.base
20
+ c,
21
+ d,
22
+ s,
23
+ i,
24
+ l.styleSelectors.base
24
25
  ]);
25
26
  };
26
27
  //#endregion
27
- export { r as default };
28
+ export { i as default };
@@ -0,0 +1,18 @@
1
+ import { InteractionsManager } from '@plitzi/sdk-interactions';
2
+ import { ElementInteraction } from '@plitzi/sdk-shared';
3
+ export type UseKeyTriggersProps = {
4
+ id: string;
5
+ interactions?: Record<string, ElementInteraction>;
6
+ previewMode: boolean;
7
+ interactionsManager: InteractionsManager;
8
+ };
9
+ /**
10
+ * The element's keyboard shortcuts: its `onKey` flows, heard on the window for as long as it is mounted.
11
+ *
12
+ * On the window rather than the element, because a shortcut is for the page — nobody focuses a map before pressing
13
+ * `+`. A press while typing in a field is the field's, unless it holds Ctrl, ⌘ or Alt or is Escape — and even then
14
+ * the field keeps its own editing (⌘A, ⌘Z, ⌘C/⌘V, moving by word: `isFieldEditing`). A press that
15
+ * matches is the shortcut's alone: the browser's own use of the key (an arrow scrolling the page) does not happen.
16
+ */
17
+ declare const useKeyTriggers: ({ id, interactions, previewMode, interactionsManager }: UseKeyTriggersProps) => void;
18
+ export default useKeyTriggers;
@@ -0,0 +1,36 @@
1
+ import { useEffect as e, useMemo as t } from "react";
2
+ import { KEY_TRIGGER as n, isFieldEditing as r, keyPressCombo as i, parseKeys as a } from "@plitzi/sdk-shared/helpers/keys";
3
+ //#region src/Element/hooks/useKeyTriggers.ts
4
+ var o = "input, textarea, select, [contenteditable=\"\"], [contenteditable=\"true\"]", s = (e) => e instanceof Element && e.closest(o) !== null, c = () => /Mac|iPhone|iPad|iPod/.test(navigator.userAgent), l = ({ id: o, interactions: l, previewMode: u, interactionsManager: d }) => {
5
+ let f = t(() => [...new Set(Object.values(l ?? {}).flatMap((e) => {
6
+ let { keys: t } = e.params;
7
+ return e.type === "trigger" && e.action === n && e.enabled && typeof t == "string" ? [t] : [];
8
+ }))], [l]);
9
+ e(() => {
10
+ if (!u || !f.length) return;
11
+ let e = c(), t = f.map((t) => ({
12
+ spec: t,
13
+ combos: a(t, e).combos
14
+ })), l = (e) => {
15
+ if (e.isComposing) return;
16
+ let a = i(e), c = e.ctrlKey || e.metaKey || e.altKey;
17
+ if (s(e.target) && (!c && a !== "escape" || r(a))) return;
18
+ let l = t.filter((e) => e.combos.includes(a)).map((e) => e.spec);
19
+ if (!l.length) return;
20
+ e.preventDefault();
21
+ let u = {
22
+ key: a,
23
+ shortcuts: l
24
+ };
25
+ d.interactionTrigger(o, n, u);
26
+ };
27
+ return window.addEventListener("keydown", l), () => window.removeEventListener("keydown", l);
28
+ }, [
29
+ o,
30
+ d,
31
+ u,
32
+ f
33
+ ]);
34
+ };
35
+ //#endregion
36
+ export { l as default };