@plitzi/sdk-elements 0.37.9 → 0.38.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (233) hide show
  1. package/CHANGELOG.md +630 -0
  2. package/dist/Element/ElementWords.d.ts +16 -0
  3. package/dist/Element/ElementWords.mjs +19 -0
  4. package/dist/Element/RootElement.mjs +15 -12
  5. package/dist/Element/helpers/elementConstants.mjs +27 -0
  6. package/dist/Element/helpers/renderStaticTag.d.ts +3 -1
  7. package/dist/Element/helpers/renderStaticTag.mjs +6 -5
  8. package/dist/Element/hooks/useElementDataSource.mjs +20 -19
  9. package/dist/Element/hooks/useInternalItems.mjs +33 -31
  10. package/dist/Element/hooks/useIntervalTriggers.d.ts +17 -0
  11. package/dist/Element/hooks/useIntervalTriggers.mjs +37 -0
  12. package/dist/Element/hooks/useRootElementInteractions.d.ts +6 -2
  13. package/dist/Element/hooks/useRootElementInteractions.mjs +84 -63
  14. package/dist/Element/hooks/useScrollInteractions.d.ts +20 -0
  15. package/dist/Element/hooks/useScrollInteractions.mjs +58 -0
  16. package/dist/components/IconField/IconField.d.ts +8 -0
  17. package/dist/components/IconField/IconField.mjs +41 -0
  18. package/dist/components/IconField/index.d.ts +2 -0
  19. package/dist/components/IconField/index.mjs +2 -0
  20. package/dist/components/IconPicker/IconPicker.d.ts +11 -0
  21. package/dist/components/IconPicker/IconPicker.mjs +82 -0
  22. package/dist/components/IconPicker/index.d.ts +2 -0
  23. package/dist/components/IconPicker/index.mjs +2 -0
  24. package/dist/dataSource/GlobalSources.mjs +102 -83
  25. package/dist/dataSource/useFlag.d.ts +9 -0
  26. package/dist/dataSource/useFlag.mjs +8 -0
  27. package/dist/elements/advanced/BlockHtml/declaration.d.ts +1 -1
  28. package/dist/elements/advanced/BlockHtml/declaration.mjs +1 -1
  29. package/dist/elements/advanced/BlockHtml/index.d.ts +1 -1
  30. package/dist/elements/advanced/BlockJsx/Settings.mjs +2 -1
  31. package/dist/elements/advanced/BlockJsx/declaration.d.ts +1 -1
  32. package/dist/elements/advanced/BlockJsx/declaration.mjs +1 -1
  33. package/dist/elements/advanced/BlockJsx/index.d.ts +1 -1
  34. package/dist/elements/advanced/Custom/declaration.d.ts +1 -1
  35. package/dist/elements/advanced/Custom/declaration.mjs +1 -1
  36. package/dist/elements/advanced/Custom/index.d.ts +1 -1
  37. package/dist/elements/advanced/NodeHtml/declaration.d.ts +3 -3
  38. package/dist/elements/advanced/NodeHtml/declaration.mjs +1 -1
  39. package/dist/elements/advanced/NodeHtml/index.d.ts +3 -3
  40. package/dist/elements/advanced/Reference/declaration.d.ts +1 -1
  41. package/dist/elements/advanced/Reference/declaration.mjs +1 -1
  42. package/dist/elements/advanced/Reference/index.d.ts +1 -1
  43. package/dist/elements/basic/Button/Button.d.ts +9 -1
  44. package/dist/elements/basic/Button/Button.mjs +31 -19
  45. package/dist/elements/basic/Button/Settings.d.ts +3 -1
  46. package/dist/elements/basic/Button/Settings.mjs +39 -33
  47. package/dist/elements/basic/Button/declaration.d.ts +7 -1
  48. package/dist/elements/basic/Button/declaration.mjs +10 -4
  49. package/dist/elements/basic/Button/index.d.ts +7 -1
  50. package/dist/elements/basic/Dropdown/DropdownPopup/declaration.d.ts +1 -1
  51. package/dist/elements/basic/Dropdown/DropdownPopup/declaration.mjs +1 -1
  52. package/dist/elements/basic/Dropdown/DropdownPopup/index.d.ts +1 -1
  53. package/dist/elements/basic/Dropdown/declaration.d.ts +1 -1
  54. package/dist/elements/basic/Dropdown/declaration.mjs +1 -1
  55. package/dist/elements/basic/Dropdown/index.d.ts +2 -2
  56. package/dist/elements/basic/Heading/declaration.d.ts +1 -1
  57. package/dist/elements/basic/Heading/declaration.mjs +1 -1
  58. package/dist/elements/basic/Heading/index.d.ts +1 -1
  59. package/dist/elements/basic/Link/Link.d.ts +20 -1
  60. package/dist/elements/basic/Link/Link.mjs +67 -47
  61. package/dist/elements/basic/Link/Settings.d.ts +6 -1
  62. package/dist/elements/basic/Link/Settings.mjs +91 -58
  63. package/dist/elements/basic/Link/declaration.d.ts +14 -1
  64. package/dist/elements/basic/Link/declaration.mjs +15 -5
  65. package/dist/elements/basic/Link/index.d.ts +14 -1
  66. package/dist/elements/basic/Link/isCurrentPage.d.ts +5 -0
  67. package/dist/elements/basic/Link/isCurrentPage.mjs +12 -0
  68. package/dist/elements/basic/Markdown/declaration.d.ts +1 -1
  69. package/dist/elements/basic/Markdown/declaration.mjs +1 -1
  70. package/dist/elements/basic/Markdown/index.d.ts +1 -1
  71. package/dist/elements/basic/Paragraph/declaration.d.ts +1 -1
  72. package/dist/elements/basic/Paragraph/declaration.mjs +1 -1
  73. package/dist/elements/basic/Paragraph/index.d.ts +1 -1
  74. package/dist/elements/basic/RichText/declaration.d.ts +1 -1
  75. package/dist/elements/basic/RichText/declaration.mjs +1 -1
  76. package/dist/elements/basic/RichText/index.d.ts +1 -1
  77. package/dist/elements/basic/Text/declaration.d.ts +1 -1
  78. package/dist/elements/basic/Text/declaration.mjs +1 -1
  79. package/dist/elements/basic/Text/index.d.ts +1 -1
  80. package/dist/elements/basic/ThemeToggle/declaration.d.ts +1 -1
  81. package/dist/elements/basic/ThemeToggle/declaration.mjs +1 -1
  82. package/dist/elements/basic/ThemeToggle/index.d.ts +1 -1
  83. package/dist/elements/declarations/index.d.ts +362 -40
  84. package/dist/elements/declarations/index.mjs +40 -32
  85. package/dist/elements/form/Form/declaration.d.ts +1 -1
  86. package/dist/elements/form/Form/declaration.mjs +1 -1
  87. package/dist/elements/form/Form/index.d.ts +1 -1
  88. package/dist/elements/form/FormControl/FormControl.mjs +1 -1
  89. package/dist/elements/form/FormControl/declaration.d.ts +1 -1
  90. package/dist/elements/form/FormControl/declaration.mjs +1 -1
  91. package/dist/elements/form/FormControl/index.d.ts +1 -1
  92. package/dist/elements/index.d.ts +7 -1
  93. package/dist/elements/index.mjs +30 -24
  94. package/dist/elements/internal/LayoutContainer/declaration.d.ts +1 -1
  95. package/dist/elements/internal/LayoutContainer/declaration.mjs +1 -1
  96. package/dist/elements/internal/LayoutContainer/index.d.ts +1 -1
  97. package/dist/elements/internal/Loading/declaration.d.ts +1 -1
  98. package/dist/elements/internal/Loading/declaration.mjs +1 -1
  99. package/dist/elements/internal/Loading/index.d.ts +1 -1
  100. package/dist/elements/internal/NotFound/declaration.d.ts +1 -1
  101. package/dist/elements/internal/NotFound/declaration.mjs +1 -1
  102. package/dist/elements/internal/NotFound/index.d.ts +1 -1
  103. package/dist/elements/internal/Page/declaration.d.ts +1 -1
  104. package/dist/elements/internal/Page/declaration.mjs +1 -1
  105. package/dist/elements/internal/Page/index.d.ts +1 -1
  106. package/dist/elements/media/Embed/Embed.d.ts +22 -0
  107. package/dist/elements/media/Embed/Embed.mjs +29 -0
  108. package/dist/elements/media/Embed/Settings.d.ts +10 -0
  109. package/dist/elements/media/Embed/Settings.mjs +51 -0
  110. package/dist/elements/media/Embed/declaration.d.ts +70 -0
  111. package/dist/elements/media/Embed/declaration.mjs +54 -0
  112. package/dist/elements/media/Embed/embeddableSrc.d.ts +5 -0
  113. package/dist/elements/media/Embed/embeddableSrc.mjs +4 -0
  114. package/dist/elements/media/Embed/index.d.ts +69 -0
  115. package/dist/elements/media/Embed/index.mjs +6 -0
  116. package/dist/elements/media/FontAwesome/Settings.mjs +32 -100
  117. package/dist/elements/media/FontAwesome/declaration.d.ts +1 -1
  118. package/dist/elements/media/FontAwesome/declaration.mjs +1 -1
  119. package/dist/elements/media/FontAwesome/index.d.ts +1 -1
  120. package/dist/elements/media/Image/Image.d.ts +11 -1
  121. package/dist/elements/media/Image/Image.mjs +33 -23
  122. package/dist/elements/media/Image/Settings.d.ts +4 -1
  123. package/dist/elements/media/Image/Settings.mjs +32 -9
  124. package/dist/elements/media/Image/declaration.d.ts +4 -1
  125. package/dist/elements/media/Image/declaration.mjs +1 -1
  126. package/dist/elements/media/Image/index.d.ts +4 -1
  127. package/dist/elements/media/Svg/Settings.d.ts +7 -0
  128. package/dist/elements/media/Svg/Settings.mjs +24 -0
  129. package/dist/elements/media/Svg/Svg.d.ts +16 -0
  130. package/dist/elements/media/Svg/Svg.mjs +31 -0
  131. package/dist/elements/media/Svg/declaration.d.ts +61 -0
  132. package/dist/elements/media/Svg/declaration.mjs +49 -0
  133. package/dist/elements/media/Svg/index.d.ts +60 -0
  134. package/dist/elements/media/Svg/index.mjs +6 -0
  135. package/dist/elements/media/Svg/sanitizeSvg.d.ts +13 -0
  136. package/dist/elements/media/Svg/sanitizeSvg.mjs +5 -0
  137. package/dist/elements/media/Video/declaration.d.ts +1 -1
  138. package/dist/elements/media/Video/declaration.mjs +1 -1
  139. package/dist/elements/media/Video/index.d.ts +1 -1
  140. package/dist/elements/provider/ApiContainer/ApiContainer.d.ts +6 -1
  141. package/dist/elements/provider/ApiContainer/ApiContainer.mjs +118 -112
  142. package/dist/elements/provider/ApiContainer/Settings.d.ts +2 -1
  143. package/dist/elements/provider/ApiContainer/Settings.mjs +45 -37
  144. package/dist/elements/provider/ApiContainer/declaration.d.ts +1 -1
  145. package/dist/elements/provider/ApiContainer/declaration.mjs +1 -1
  146. package/dist/elements/provider/ApiContainer/helpers/loadingSlot.d.ts +6 -0
  147. package/dist/elements/provider/ApiContainer/helpers/loadingSlot.mjs +8 -0
  148. package/dist/elements/provider/ApiContainer/index.d.ts +1 -1
  149. package/dist/elements/provider/Channel/declaration.d.ts +1 -1
  150. package/dist/elements/provider/Channel/declaration.mjs +1 -1
  151. package/dist/elements/provider/Channel/index.d.ts +1 -1
  152. package/dist/elements/settings.mjs +40 -32
  153. package/dist/elements/structure/Carousel/Carousel.d.ts +32 -0
  154. package/dist/elements/structure/Carousel/Carousel.mjs +183 -0
  155. package/dist/elements/structure/Carousel/CarouselContext.d.ts +29 -0
  156. package/dist/elements/structure/Carousel/CarouselContext.mjs +6 -0
  157. package/dist/elements/structure/Carousel/CarouselTrack/CarouselTrack.d.ts +15 -0
  158. package/dist/elements/structure/Carousel/CarouselTrack/CarouselTrack.mjs +51 -0
  159. package/dist/elements/structure/Carousel/CarouselTrack/Settings.d.ts +2 -0
  160. package/dist/elements/structure/Carousel/CarouselTrack/Settings.mjs +8 -0
  161. package/dist/elements/structure/Carousel/CarouselTrack/components/CarouselSlide/CarouselSlide.d.ts +15 -0
  162. package/dist/elements/structure/Carousel/CarouselTrack/components/CarouselSlide/CarouselSlide.mjs +28 -0
  163. package/dist/elements/structure/Carousel/CarouselTrack/components/CarouselSlide/index.d.ts +2 -0
  164. package/dist/elements/structure/Carousel/CarouselTrack/components/CarouselSlide/index.mjs +2 -0
  165. package/dist/elements/structure/Carousel/CarouselTrack/components/MarqueeTrack/MarqueeTrack.d.ts +18 -0
  166. package/dist/elements/structure/Carousel/CarouselTrack/components/MarqueeTrack/MarqueeTrack.mjs +41 -0
  167. package/dist/elements/structure/Carousel/CarouselTrack/components/MarqueeTrack/index.d.ts +2 -0
  168. package/dist/elements/structure/Carousel/CarouselTrack/components/MarqueeTrack/index.mjs +2 -0
  169. package/dist/elements/structure/Carousel/CarouselTrack/components/ScrollTrack/ScrollTrack.d.ts +12 -0
  170. package/dist/elements/structure/Carousel/CarouselTrack/components/ScrollTrack/ScrollTrack.mjs +27 -0
  171. package/dist/elements/structure/Carousel/CarouselTrack/components/ScrollTrack/index.d.ts +2 -0
  172. package/dist/elements/structure/Carousel/CarouselTrack/components/ScrollTrack/index.mjs +2 -0
  173. package/dist/elements/structure/Carousel/CarouselTrack/declaration.d.ts +53 -0
  174. package/dist/elements/structure/Carousel/CarouselTrack/declaration.mjs +44 -0
  175. package/dist/elements/structure/Carousel/CarouselTrack/index.d.ts +52 -0
  176. package/dist/elements/structure/Carousel/CarouselTrack/index.mjs +6 -0
  177. package/dist/elements/structure/Carousel/Settings.d.ts +14 -0
  178. package/dist/elements/structure/Carousel/Settings.mjs +97 -0
  179. package/dist/elements/structure/Carousel/carouselIndex.d.ts +13 -0
  180. package/dist/elements/structure/Carousel/carouselIndex.mjs +16 -0
  181. package/dist/elements/structure/Carousel/declaration.d.ts +131 -0
  182. package/dist/elements/structure/Carousel/declaration.mjs +106 -0
  183. package/dist/elements/structure/Carousel/index.d.ts +184 -0
  184. package/dist/elements/structure/Carousel/index.mjs +10 -0
  185. package/dist/elements/structure/Carousel/useAutoplay.d.ts +18 -0
  186. package/dist/elements/structure/Carousel/useAutoplay.mjs +34 -0
  187. package/dist/elements/structure/Container/Container.d.ts +1 -1
  188. package/dist/elements/structure/Container/Settings.d.ts +1 -1
  189. package/dist/elements/structure/Container/Settings.mjs +4 -0
  190. package/dist/elements/structure/Container/declaration.d.ts +2 -2
  191. package/dist/elements/structure/Container/declaration.mjs +3 -2
  192. package/dist/elements/structure/Container/index.d.ts +2 -2
  193. package/dist/elements/structure/DialogContainer/declaration.d.ts +1 -1
  194. package/dist/elements/structure/DialogContainer/declaration.mjs +1 -1
  195. package/dist/elements/structure/DialogContainer/index.d.ts +1 -1
  196. package/dist/elements/structure/List/List.d.ts +6 -1
  197. package/dist/elements/structure/List/List.mjs +2 -1
  198. package/dist/elements/structure/List/ListItem/declaration.d.ts +1 -1
  199. package/dist/elements/structure/List/ListItem/declaration.mjs +1 -1
  200. package/dist/elements/structure/List/ListItem/index.d.ts +1 -1
  201. package/dist/elements/structure/List/Settings.d.ts +2 -1
  202. package/dist/elements/structure/List/Settings.mjs +41 -29
  203. package/dist/elements/structure/List/declaration.d.ts +2 -1
  204. package/dist/elements/structure/List/declaration.mjs +1 -1
  205. package/dist/elements/structure/List/index.d.ts +3 -2
  206. package/dist/elements/structure/List/modes/ListControlled/ListControlled.d.ts +2 -1
  207. package/dist/elements/structure/List/modes/ListControlled/ListControlled.mjs +33 -35
  208. package/dist/elements/structure/List/modes/ListControlled/ListControlledItem.mjs +1 -1
  209. package/dist/elements/structure/List/modes/ListControlled/rowKeys.d.ts +10 -0
  210. package/dist/elements/structure/List/modes/ListControlled/rowKeys.mjs +11 -0
  211. package/dist/elements/structure/ModalContainer/declaration.d.ts +1 -1
  212. package/dist/elements/structure/ModalContainer/declaration.mjs +1 -1
  213. package/dist/elements/structure/ModalContainer/index.d.ts +1 -1
  214. package/dist/elements/structure/ModalContainer/metadataFromText.d.ts +6 -0
  215. package/dist/elements/structure/ModalContainer/metadataFromText.mjs +2 -1
  216. package/dist/elements/structure/Pagination/declaration.d.ts +1 -1
  217. package/dist/elements/structure/Pagination/declaration.mjs +1 -1
  218. package/dist/elements/structure/Pagination/index.d.ts +1 -1
  219. package/dist/elements/structure/TabContainer/TabContainerBody/declaration.d.ts +1 -1
  220. package/dist/elements/structure/TabContainer/TabContainerBody/declaration.mjs +1 -1
  221. package/dist/elements/structure/TabContainer/TabContainerBody/index.d.ts +1 -1
  222. package/dist/elements/structure/TabContainer/TabContainerHeader/declaration.d.ts +1 -1
  223. package/dist/elements/structure/TabContainer/TabContainerHeader/declaration.mjs +1 -1
  224. package/dist/elements/structure/TabContainer/TabContainerHeader/index.d.ts +1 -1
  225. package/dist/elements/structure/TabContainer/TabContainerItem/declaration.d.ts +1 -1
  226. package/dist/elements/structure/TabContainer/TabContainerItem/declaration.mjs +1 -1
  227. package/dist/elements/structure/TabContainer/TabContainerItem/index.d.ts +1 -1
  228. package/dist/elements/structure/TabContainer/declaration.d.ts +1 -1
  229. package/dist/elements/structure/TabContainer/declaration.mjs +1 -1
  230. package/dist/elements/structure/TabContainer/index.d.ts +4 -4
  231. package/dist/index.d.ts +373 -39
  232. package/dist/index.mjs +34 -27
  233. package/package.json +200 -12
@@ -1,7 +1,8 @@
1
1
  type SettingsProps = {
2
2
  subType?: 'ul' | 'ol';
3
3
  source?: 'none' | 'controlled';
4
+ itemKey?: string;
4
5
  onUpdate?: (key: string, value: string | boolean | number) => void;
5
6
  };
6
- declare const Settings: ({ subType, source, onUpdate }: SettingsProps) => import('react').JSX.Element;
7
+ declare const Settings: ({ subType, source, itemKey, onUpdate }: SettingsProps) => import('react').JSX.Element;
7
8
  export default Settings;
@@ -1,37 +1,49 @@
1
1
  import { useCallback as e } from "react";
2
2
  import { jsx as t, jsxs as n } from "react/jsx-runtime";
3
- import r from "@plitzi/plitzi-ui/Select";
3
+ import r from "@plitzi/plitzi-ui/Input";
4
+ import i from "@plitzi/plitzi-ui/Select";
4
5
  //#region src/elements/structure/List/Settings.tsx
5
- var i = ({ subType: i = "ul", source: a = "none", onUpdate: o }) => {
6
- let s = e((e) => (t) => o?.(e, t), [o]);
6
+ var a = ({ subType: a = "ul", source: o = "none", itemKey: s = "", onUpdate: c }) => {
7
+ let l = e((e) => (t) => c?.(e, t), [c]);
7
8
  return /* @__PURE__ */ n("div", {
8
9
  className: "flex flex-col gap-4 py-2",
9
- children: [/* @__PURE__ */ n(r, {
10
- label: "Source",
11
- value: a,
12
- onChange: s("source"),
13
- size: "xs",
14
- children: [/* @__PURE__ */ t("option", {
15
- value: "none",
16
- children: "None"
17
- }), /* @__PURE__ */ t("option", {
18
- value: "controlled",
19
- children: "Controlled"
20
- })]
21
- }), a === "none" && /* @__PURE__ */ n(r, {
22
- label: "List Type",
23
- value: i,
24
- onChange: s("subType"),
25
- size: "xs",
26
- children: [/* @__PURE__ */ t("option", {
27
- value: "ul",
28
- children: "Unordered"
29
- }), /* @__PURE__ */ t("option", {
30
- value: "ol",
31
- children: "Ordered"
32
- })]
33
- })]
10
+ children: [
11
+ /* @__PURE__ */ n(i, {
12
+ label: "Source",
13
+ value: o,
14
+ onChange: l("source"),
15
+ size: "xs",
16
+ children: [/* @__PURE__ */ t("option", {
17
+ value: "none",
18
+ children: "None"
19
+ }), /* @__PURE__ */ t("option", {
20
+ value: "controlled",
21
+ children: "Controlled"
22
+ })]
23
+ }),
24
+ o === "controlled" && /* @__PURE__ */ t(r, {
25
+ label: "Row key",
26
+ size: "xs",
27
+ placeholder: "id",
28
+ value: s,
29
+ title: "The field of each item that names it, so a row stays with its item when the list is filtered.",
30
+ onChange: l("itemKey")
31
+ }),
32
+ o === "none" && /* @__PURE__ */ n(i, {
33
+ label: "List Type",
34
+ value: a,
35
+ onChange: l("subType"),
36
+ size: "xs",
37
+ children: [/* @__PURE__ */ t("option", {
38
+ value: "ul",
39
+ children: "Unordered"
40
+ }), /* @__PURE__ */ t("option", {
41
+ value: "ol",
42
+ children: "Ordered"
43
+ })]
44
+ })
45
+ ]
34
46
  });
35
47
  };
36
48
  //#endregion
37
- export { i as default };
49
+ export { a as default };
@@ -33,7 +33,7 @@ declare const declaration: {
33
33
  readonly canSelect: true;
34
34
  readonly canDragDrop: true;
35
35
  readonly canMove: true;
36
- readonly canTemplate: true;
36
+ readonly canSnippet: true;
37
37
  readonly itemsAllowed: readonly [];
38
38
  readonly itemsNotAllowed: readonly [];
39
39
  };
@@ -90,5 +90,6 @@ declare const declaration: {
90
90
  source?: "none" | "controlled" | undefined;
91
91
  items?: unknown[] | undefined;
92
92
  subType?: "ul" | "ol" | undefined;
93
+ itemKey?: string | undefined;
93
94
  }>>;
94
95
  export default declaration;
@@ -27,7 +27,7 @@ var n = e()({
27
27
  canSelect: !0,
28
28
  canDragDrop: !0,
29
29
  canMove: !0,
30
- canTemplate: !0,
30
+ canSnippet: !0,
31
31
  itemsAllowed: [],
32
32
  itemsNotAllowed: []
33
33
  },
@@ -28,7 +28,7 @@ declare const List: {
28
28
  readonly canSelect: true;
29
29
  readonly canDragDrop: true;
30
30
  readonly canMove: true;
31
- readonly canTemplate: true;
31
+ readonly canSnippet: true;
32
32
  readonly itemsAllowed: readonly [];
33
33
  readonly itemsNotAllowed: readonly ["listItem"];
34
34
  };
@@ -84,7 +84,7 @@ declare const List: {
84
84
  readonly canSelect: true;
85
85
  readonly canDragDrop: true;
86
86
  readonly canMove: true;
87
- readonly canTemplate: true;
87
+ readonly canSnippet: true;
88
88
  readonly itemsAllowed: readonly [];
89
89
  readonly itemsNotAllowed: readonly [];
90
90
  };
@@ -141,6 +141,7 @@ declare const List: {
141
141
  source?: "none" | "controlled" | undefined;
142
142
  items?: unknown[] | undefined;
143
143
  subType?: "ul" | "ol" | undefined;
144
+ itemKey?: string | undefined;
144
145
  }>;
145
146
  };
146
147
  export default List;
@@ -4,6 +4,7 @@ export type ListControlledProps<T = unknown> = {
4
4
  className: string;
5
5
  children: ReactNode;
6
6
  items: T[];
7
+ itemKey?: string;
7
8
  };
8
- declare const ListControlled: ({ ref, className, children, items }: ListControlledProps) => import('react').JSX.Element;
9
+ declare const ListControlled: ({ ref, className, children, items, itemKey }: ListControlledProps) => import('react').JSX.Element;
9
10
  export default ListControlled;
@@ -1,54 +1,52 @@
1
1
  import e from "../../../../../Element/hooks/useElement.mjs";
2
2
  import { RootElement as t } from "../../../../../Element/RootElement.mjs";
3
- import n from "../../declaration.mjs";
3
+ import { rowKeys as n } from "./rowKeys.mjs";
4
4
  import r from "./ListControlledItem.mjs";
5
- import { useCallback as i, useMemo as a } from "react";
6
- import o from "@plitzi/sdk-shared/hooks/usePlitziServiceContext";
7
- import { get as s } from "@plitzi/plitzi-ui/helpers";
8
- import { StoreProvider as c } from "@plitzi/nexus/react";
9
- import { emptyObject as l, getPathsFromObeject as u } from "@plitzi/sdk-shared/helpers/utils";
10
- import { jsx as d, jsxs as f } from "react/jsx-runtime";
11
- import p from "clsx";
12
- import m from "@plitzi/sdk-shared/dataSource/helpers/getSourceName";
13
- import h from "@plitzi/sdk-shared/dataSource/hooks/useRegisterSource";
5
+ import i from "../../declaration.mjs";
6
+ import { useCallback as a, useMemo as o } from "react";
7
+ import s from "@plitzi/sdk-shared/hooks/usePlitziServiceContext";
8
+ import { get as c } from "@plitzi/plitzi-ui/helpers";
9
+ import { StoreProvider as l } from "@plitzi/nexus/react";
10
+ import { emptyObject as u, getPathsFromObeject as d } from "@plitzi/sdk-shared/helpers/utils";
11
+ import { jsx as f, jsxs as p } from "react/jsx-runtime";
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";
14
15
  //#region src/elements/structure/List/modes/ListControlled/ListControlled.tsx
15
- var g = (e) => {
16
- let t = e.map((e) => typeof e == "object" && e && "id" in e && (typeof e.id == "string" || typeof e.id == "number") ? e.id : void 0);
17
- return t.every((e) => e !== void 0) && new Set(t).size === t.length ? t.map((e) => `id:${String(e)}`) : e.map((e, t) => t);
18
- }, _ = ({ ref: _, className: v = "", children: y, items: b = [] }) => {
19
- let { id: x, definition: { label: S } } = e(), C = m(n.sourceType, x), { settings: { previewMode: w } } = o(), T = a(() => Array.isArray(b) ? b : [], [b]), E = a(() => g(T), [T]), D = i(() => u({
20
- item: s(T, "0", {}),
21
- index: "0"
16
+ var _ = ({ ref: _, className: v = "", children: y, items: b = [], itemKey: x }) => {
17
+ let { id: S, definition: { label: C } } = e(), w = h(i.sourceType, S), { settings: { previewMode: T } } = s(), E = o(() => Array.isArray(b) ? b : [], [b]), D = o(() => n(E, x), [E, x]), O = a(() => d({
18
+ item: c(E, "0", {}),
19
+ index: 0
22
20
  }).reduce((e, t) => [...e, {
23
21
  path: t,
24
22
  name: t
25
- }], []), [T]), O = a(() => C ? { runtime: { sources: { [C]: { items: T } } } } : l, [C, T]);
26
- return h({
27
- id: x,
28
- source: C,
29
- name: S || `List - ${x}`,
30
- fields: D
31
- }), /* @__PURE__ */ f(t, {
23
+ }], []), [E]), k = o(() => w ? { runtime: { sources: { [w]: { items: E } } } } : u, [w, E]);
24
+ return g({
25
+ id: S,
26
+ source: w,
27
+ name: C || `List - ${S}`,
28
+ fields: O
29
+ }), /* @__PURE__ */ p(t, {
32
30
  ref: _,
33
- className: p("plitzi-component__controlled-list", v, { "controlled-list--build-mode": !w }),
34
- children: [/* @__PURE__ */ d(c, {
31
+ className: m("plitzi-component__controlled-list", v, { "controlled-list--build-mode": !T }),
32
+ children: [/* @__PURE__ */ f(l, {
35
33
  inherit: "live",
36
- name: `List:${x}`,
37
- value: O,
38
- children: T.map((e, t) => !y || Array.isArray(y) && y.length === 0 ? /* @__PURE__ */ d("div", {
34
+ name: `List:${S}`,
35
+ value: k,
36
+ children: E.map((e, t) => !y || Array.isArray(y) && y.length === 0 ? /* @__PURE__ */ f("div", {
39
37
  className: "plitzi-component__controlled-list-item controlled-list--empty",
40
- children: /* @__PURE__ */ d("div", {
38
+ children: /* @__PURE__ */ f("div", {
41
39
  className: "controlled-list-item__counter",
42
40
  children: `List Item - ${t + 1}`
43
41
  })
44
- }, t) : /* @__PURE__ */ d(r, {
42
+ }, t) : /* @__PURE__ */ f(r, {
45
43
  index: t,
46
- isTemplate: t !== 0 && !w,
44
+ isTemplate: t !== 0 && !T,
47
45
  record: e,
48
- source: C,
46
+ source: w,
49
47
  children: y
50
- }, E[t]))
51
- }), !w && T.length === 0 && /* @__PURE__ */ d("div", {
48
+ }, D[t]))
49
+ }), !T && E.length === 0 && /* @__PURE__ */ f("div", {
52
50
  className: "controlled-list controlled-list--empty",
53
51
  children: "This list does not contain any items"
54
52
  })]
@@ -8,7 +8,7 @@ import s from "clsx";
8
8
  var c = ({ children: c, className: l = "", isTemplate: u = !1, index: d = 0, record: f, source: p = "" }) => {
9
9
  let m = t(), h = n(() => p ? { runtime: { sources: { [p]: {
10
10
  item: f,
11
- index: `${d}`
11
+ index: d
12
12
  } } } } : i, [
13
13
  p,
14
14
  f,
@@ -0,0 +1,10 @@
1
+ /**
2
+ * What tells one row from another across renders: the record's `itemKey` field when the list names one, else its
3
+ * `id` — when every record has one and no two share it — else its position.
4
+ *
5
+ * A row holds state of its own — a panel it opened, a field it filled, an animation it played on arrival — and React
6
+ * gives that state to whichever row comes back under the same key. Keyed by position, filtering a list handed a row's
7
+ * state to the record that moved into its place, and a one-row list showing "the current slide" never mounted again,
8
+ * so its entrance never replayed.
9
+ */
10
+ export declare const rowKeys: (items: unknown[], itemKey?: string) => (string | number)[];
@@ -0,0 +1,11 @@
1
+ import { get as e } from "@plitzi/plitzi-ui/helpers";
2
+ //#region src/elements/structure/List/modes/ListControlled/rowKeys.ts
3
+ var t = (t, n) => {
4
+ let r = t.map((t) => {
5
+ let r = e(t, n);
6
+ return typeof r == "string" || typeof r == "number" ? `${n}:${String(r)}` : void 0;
7
+ });
8
+ if (r.every((e) => e !== void 0) && new Set(r).size === r.length) return r;
9
+ }, n = (e, n) => (n ? t(e, n) : void 0) ?? t(e, "id") ?? e.map((e, t) => t);
10
+ //#endregion
11
+ export { n as rowKeys };
@@ -86,7 +86,7 @@ declare const declaration: {
86
86
  readonly canSelect: true;
87
87
  readonly canDragDrop: true;
88
88
  readonly canMove: true;
89
- readonly canTemplate: true;
89
+ readonly canSnippet: true;
90
90
  readonly itemsAllowed: readonly [];
91
91
  readonly itemsNotAllowed: readonly [];
92
92
  };
@@ -69,7 +69,7 @@ var t = e()({
69
69
  canSelect: !0,
70
70
  canDragDrop: !0,
71
71
  canMove: !0,
72
- canTemplate: !0,
72
+ canSnippet: !0,
73
73
  itemsAllowed: [],
74
74
  itemsNotAllowed: []
75
75
  },
@@ -80,7 +80,7 @@ declare const ModalContainer: {
80
80
  readonly canSelect: true;
81
81
  readonly canDragDrop: true;
82
82
  readonly canMove: true;
83
- readonly canTemplate: true;
83
+ readonly canSnippet: true;
84
84
  readonly itemsAllowed: readonly [];
85
85
  readonly itemsNotAllowed: readonly [];
86
86
  };
@@ -1 +1,7 @@
1
+ /**
2
+ * What `openModal('modal', '{{ row.id }}')` hands the modal: a JSON object is its fields, anything else is `content`.
3
+ *
4
+ * Numeric ids are the common case, and `'42'` parses as JSON too — as the number. Set as the modal's data whole, it
5
+ * had no `content` and every binding inside read nothing.
6
+ */
1
7
  export declare const metadataFromText: (metadata: string) => Record<string, unknown>;
@@ -1,5 +1,6 @@
1
+ import { isRecord as e } from "@plitzi/sdk-shared/helpers/isRecord";
1
2
  //#region src/elements/structure/ModalContainer/metadataFromText.ts
2
- var e = (e) => typeof e == "object" && !!e && !Array.isArray(e), t = (t) => {
3
+ var t = (t) => {
3
4
  try {
4
5
  let n = JSON.parse(t);
5
6
  if (e(n)) return n;
@@ -48,7 +48,7 @@ declare const declaration: {
48
48
  readonly canSelect: true;
49
49
  readonly canDragDrop: true;
50
50
  readonly canMove: true;
51
- readonly canTemplate: true;
51
+ readonly canSnippet: true;
52
52
  readonly itemsAllowed: readonly [];
53
53
  readonly itemsNotAllowed: readonly [];
54
54
  };
@@ -38,7 +38,7 @@ var n = e()({
38
38
  canSelect: !0,
39
39
  canDragDrop: !0,
40
40
  canMove: !0,
41
- canTemplate: !0,
41
+ canSnippet: !0,
42
42
  itemsAllowed: [],
43
43
  itemsNotAllowed: []
44
44
  },
@@ -47,7 +47,7 @@ declare const Pagination: {
47
47
  readonly canSelect: true;
48
48
  readonly canDragDrop: true;
49
49
  readonly canMove: true;
50
- readonly canTemplate: true;
50
+ readonly canSnippet: true;
51
51
  readonly itemsAllowed: readonly [];
52
52
  readonly itemsNotAllowed: readonly [];
53
53
  };
@@ -25,7 +25,7 @@ declare const declaration: {
25
25
  readonly canSelect: true;
26
26
  readonly canDragDrop: false;
27
27
  readonly canMove: false;
28
- readonly canTemplate: false;
28
+ readonly canSnippet: false;
29
29
  readonly itemsAllowed: readonly ["tabContainerItem"];
30
30
  readonly itemsNotAllowed: readonly [];
31
31
  };
@@ -19,7 +19,7 @@ var t = e()({
19
19
  canSelect: !0,
20
20
  canDragDrop: !1,
21
21
  canMove: !1,
22
- canTemplate: !1,
22
+ canSnippet: !1,
23
23
  itemsAllowed: ["tabContainerItem"],
24
24
  itemsNotAllowed: []
25
25
  },
@@ -24,7 +24,7 @@ declare const TabContainerBody: {
24
24
  readonly canSelect: true;
25
25
  readonly canDragDrop: false;
26
26
  readonly canMove: false;
27
- readonly canTemplate: false;
27
+ readonly canSnippet: false;
28
28
  readonly itemsAllowed: readonly ["tabContainerItem"];
29
29
  readonly itemsNotAllowed: readonly [];
30
30
  };
@@ -25,7 +25,7 @@ declare const declaration: {
25
25
  readonly canSelect: true;
26
26
  readonly canDragDrop: false;
27
27
  readonly canMove: false;
28
- readonly canTemplate: false;
28
+ readonly canSnippet: false;
29
29
  readonly itemsAllowed: readonly ["tabContainerItem"];
30
30
  readonly itemsNotAllowed: readonly [];
31
31
  };
@@ -19,7 +19,7 @@ var t = e()({
19
19
  canSelect: !0,
20
20
  canDragDrop: !1,
21
21
  canMove: !1,
22
- canTemplate: !1,
22
+ canSnippet: !1,
23
23
  itemsAllowed: ["tabContainerItem"],
24
24
  itemsNotAllowed: []
25
25
  },
@@ -24,7 +24,7 @@ declare const TabContainerHeader: {
24
24
  readonly canSelect: true;
25
25
  readonly canDragDrop: false;
26
26
  readonly canMove: false;
27
- readonly canTemplate: false;
27
+ readonly canSnippet: false;
28
28
  readonly itemsAllowed: readonly ["tabContainerItem"];
29
29
  readonly itemsNotAllowed: readonly [];
30
30
  };
@@ -24,7 +24,7 @@ declare const declaration: {
24
24
  readonly canSelect: true;
25
25
  readonly canDragDrop: true;
26
26
  readonly canMove: true;
27
- readonly canTemplate: true;
27
+ readonly canSnippet: true;
28
28
  readonly itemsAllowed: readonly [];
29
29
  readonly itemsNotAllowed: readonly ["tabContainerItem", "tabContainerHeader", "tabContainerBody"];
30
30
  };
@@ -18,7 +18,7 @@ var t = e()({
18
18
  canSelect: !0,
19
19
  canDragDrop: !0,
20
20
  canMove: !0,
21
- canTemplate: !0,
21
+ canSnippet: !0,
22
22
  itemsAllowed: [],
23
23
  itemsNotAllowed: [
24
24
  "tabContainerItem",
@@ -23,7 +23,7 @@ declare const TabContainerItem: {
23
23
  readonly canSelect: true;
24
24
  readonly canDragDrop: true;
25
25
  readonly canMove: true;
26
- readonly canTemplate: true;
26
+ readonly canSnippet: true;
27
27
  readonly itemsAllowed: readonly [];
28
28
  readonly itemsNotAllowed: readonly ["tabContainerItem", "tabContainerHeader", "tabContainerBody"];
29
29
  };
@@ -24,7 +24,7 @@ declare const declaration: {
24
24
  readonly canSelect: true;
25
25
  readonly canDragDrop: true;
26
26
  readonly canMove: true;
27
- readonly canTemplate: true;
27
+ readonly canSnippet: true;
28
28
  readonly itemsAllowed: readonly ["tabContainerHeader", "tabContainerBody"];
29
29
  readonly itemsNotAllowed: readonly [];
30
30
  };
@@ -18,7 +18,7 @@ var t = e()({
18
18
  canSelect: !0,
19
19
  canDragDrop: !0,
20
20
  canMove: !0,
21
- canTemplate: !0,
21
+ canSnippet: !0,
22
22
  itemsAllowed: ["tabContainerHeader", "tabContainerBody"],
23
23
  itemsNotAllowed: []
24
24
  },
@@ -29,7 +29,7 @@ declare const TabContainer: {
29
29
  readonly canSelect: true;
30
30
  readonly canDragDrop: false;
31
31
  readonly canMove: false;
32
- readonly canTemplate: false;
32
+ readonly canSnippet: false;
33
33
  readonly itemsAllowed: readonly ["tabContainerItem"];
34
34
  readonly itemsNotAllowed: readonly [];
35
35
  };
@@ -82,7 +82,7 @@ declare const TabContainer: {
82
82
  readonly canSelect: true;
83
83
  readonly canDragDrop: false;
84
84
  readonly canMove: false;
85
- readonly canTemplate: false;
85
+ readonly canSnippet: false;
86
86
  readonly itemsAllowed: readonly ["tabContainerItem"];
87
87
  readonly itemsNotAllowed: readonly [];
88
88
  };
@@ -134,7 +134,7 @@ declare const TabContainer: {
134
134
  readonly canSelect: true;
135
135
  readonly canDragDrop: true;
136
136
  readonly canMove: true;
137
- readonly canTemplate: true;
137
+ readonly canSnippet: true;
138
138
  readonly itemsAllowed: readonly [];
139
139
  readonly itemsNotAllowed: readonly ["tabContainerItem", "tabContainerHeader", "tabContainerBody"];
140
140
  };
@@ -182,7 +182,7 @@ declare const TabContainer: {
182
182
  readonly canSelect: true;
183
183
  readonly canDragDrop: true;
184
184
  readonly canMove: true;
185
- readonly canTemplate: true;
185
+ readonly canSnippet: true;
186
186
  readonly itemsAllowed: readonly ["tabContainerHeader", "tabContainerBody"];
187
187
  readonly itemsNotAllowed: readonly [];
188
188
  };